startup fixes

This commit is contained in:
FeralChild64 committed 2019-08-09 20:12:08 +02:00
1 parent 79c09d9793
commit 689e4b46d4
4 files changed
+51 -43

No files matched your search

+20 -10
View File
@@ -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)