even more startup tweaks

This commit is contained in:
FeralChild64 committed 2019-10-20 09:03:23 +02:00
1 parent 455ca2ee56
commit dc63912edd
8 files changed
+30 -16

No files matched your search

@@ -1,43 +0,0 @@
// Resources describing the C64 reset sequence:
// https://www.c64-wiki.com/wiki/Reset_(Process)
hw_entry_reset:
// The GPL program at https://github.com/Klaus2m5/6502_65C02_functional_tests/blob/master/6502_functional_test.a65
// uses the following initial reset sequence, affirmed by c64 PRG p269
cld // for CPUs might clear D flag - but it is possible this is called manually
ldx #$FF
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.
// Also, https://codebase64.org/doku.php?id=base:assembling_your_own_cart_rom_image was used
// as it shows example startup sequence, to be followe by cartridge creators
// C64 PRG p269
jsr cartridge_check
bne !+
jmp (ICART_COLD_START)
!:
// Initialising IO is obviously required. Also indicated by c64 prg p269.
jsr JIOINIT
// Setting up the screen and testing ram is obviously required
// also affirmed by p269 of c64 prg
jsr JRAMTAS // called RANTAM on Codebase64 wiki
// Resetting IO vectors is obviously required, if we want interrupts to run
// also affirmed by c64 prg p269
jsr JRESTOR
// "Compute's Mapping the 64" p236
jsr JCINT
// What do we do when finished? A C64 jumps into the BASIC ROM
cli // allow interrupts to happen
// c64 prg p269
jmp (IBASIC_COLD_START)
-5
View File
@@ -1,5 +0,0 @@
System reset routine has to be placed under it's original location due to 'SYS 64738' being extremaly popular to reset the C64,
to the point it went into popular culture.
https://twitter.com/hashtag/SYS64738?src=hash
https://www.computerhope.com/jargon/s/sys64738.htm
@@ -5,6 +5,11 @@ default_brk_handler:
sei // disable IRQs, to be sure they won't interfere
ldx #$00
sta VIC_SCROLX // turn the display off - we want as little screen artifacts as possible
cld // make sure this dangerous flag is disabled
jsr JRESTOR
jsr JIOINIT
jsr cint_brk