Autore Topic: Compilazione su cartuccia 8/16k  (Letto 4436 volte)

antoniomauro

  • Utente
  • **
  • Post: 91
  • Gioco Preferito: IK+
Compilazione su cartuccia 8/16k
« il: 16 Novembre 2017, 11:36:58 »
Salve ragazzi,
ero curioso di fare qualche esperimento di con le cartucce.
Ho reperito su codebase64 un po di esempi ed ho compilato ed eseguito con successo su vice:
Codice: [Seleziona]
cartconv -t normal -name "cartridge name" -i cart.prg -o cart.crt
Codice: [Seleziona]
* = $8000
 
     .word coldstart            ; coldstart vector
     .word warmstart            ; warmstart vector
     .byte $C3,$C2,$CD,$38,$30  ; "CBM8O". Autostart string
 
coldstart
     sei
     stx $d016
     jsr $fda3 ;Prepare IRQ
     jsr $fd50 ;Init memory. Rewrite this routine to speed up boot process.
     jsr $fd15 ;Init I/O
     jsr $ff5b ;Init video
     cli
 
warmstart
; Insert your code here
     inc $d020
     jmp *-3
 
* = $9fff                     ; fill up to -$9fff (or $bfff if 16K)
     .byte 0

Leggevo che la gestione dei banchi mappati su $8000/$9fff si può fare modificando opportunamente $DE00 ma non ho trovato delle specifiche vere e proprie od esempi di codice.

Vorrei aggiungere al codice postato il meccanismo del bank switching, cercando di documentare un attimo le tipologie di cartuccia disponibili.

Grazie a tutti!