startup fixes
This commit is contained in:
1 parent
79c09d9793
commit
689e4b46d4
4 files changed
+51
-43
No files matched your search
+20
-10
@@ -11,26 +11,36 @@ reset_entry:
|
||||
txs
|
||||
sei
|
||||
|
||||
; The following routine is based on reading the public KERNAL jumptable routine
|
||||
; list, and making unimaginative assumptions about what should be done on reset.
|
||||
|
||||
; According to example here: https://codebase64.org/doku.php?id=base:assembling_your_own_cart_rom_image
|
||||
; the cartridge does not call RAMTAS - despite it's obviously required. So, call RAMTAS
|
||||
; before the cartridge check/takeover
|
||||
|
||||
; Setting up the screen and testing ram is obviously required
|
||||
; also affirmed by p269 of c64 prg
|
||||
jsr RAMTAS
|
||||
|
||||
; C64 PRG p269
|
||||
jsr cartridge_check
|
||||
bcc +
|
||||
jmp (ICART_COLD_START)
|
||||
*
|
||||
; The following routine is based on reading the public KERNAL jumptable routine
|
||||
; list, and making unimaginative assumptions about what should be done on reset.
|
||||
; Initialising IO is obviously required. also indicated by c64 prg p269.
|
||||
jsr ioinit
|
||||
; Setting up the screen and testing ram is obviously required
|
||||
; also affirmed by p269 of c64 prg
|
||||
jsr ramtas
|
||||
; Initialising IO is obviously required. Also indicated by c64 prg p269.
|
||||
; Has to be after ther RAMTAS, as it clears memory, including the PAL/NTSC flag,
|
||||
; which is set by IOINIT
|
||||
jsr IOINIT
|
||||
|
||||
; Resetting IO vectors is obviously required, if we want interrupts to run
|
||||
; also affirmed by c64 prg p269
|
||||
jsr restor
|
||||
jsr RESTOR
|
||||
|
||||
;; "Compute's Mapping the 64" p236
|
||||
jsr cint
|
||||
jsr CINT
|
||||
|
||||
; What do we do when finished? A C64 jumps into the BASIC ROM
|
||||
cli ; Allow interrupts to happen
|
||||
|
||||
; c64 prg p269
|
||||
jmp ($a000)
|
||||
jmp (IBASIC_COLD_START)
|
||||
Reference in new issue
Block a user