some more bits for exotic hardware support
This commit is contained in:
1 parent
6a1070c8ac
commit
48b56968ed
10 files changed
+126
-4
No files matched your search
@@ -1,4 +1,5 @@
|
||||
// #LAYOUT# STD * #TAKE
|
||||
// #LAYOUT# X16 * #IGNORE
|
||||
// #LAYOUT# * KERNAL_0 #TAKE
|
||||
// #LAYOUT# * * #IGNORE
|
||||
|
||||
|
||||
@@ -19,6 +19,8 @@ hw_entry_reset:
|
||||
ldx #$FF
|
||||
txs
|
||||
|
||||
#if CONFIG_PLATFORM_COMMODORE_64
|
||||
|
||||
// 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
|
||||
@@ -30,10 +32,10 @@ hw_entry_reset:
|
||||
jmp (ICART_COLD_START)
|
||||
!:
|
||||
|
||||
#if CONFIG_PLATFORM_COMMODORE_64
|
||||
// Disable the screen (and set 40 columns) to prevent visual glitches later
|
||||
ldx #$28
|
||||
stx VIC_SCROLX
|
||||
|
||||
#endif
|
||||
|
||||
// Initialising IO is obviously required. Also indicated by c64 prg p269.
|
||||
|
||||
@@ -49,6 +49,8 @@ RAMTAS:
|
||||
ldx #>$033C
|
||||
stx TAPE1+1
|
||||
|
||||
#if CONFIG_PLATFORM_COMMODORE_64
|
||||
|
||||
// Set screen address pointer ("Compute's Mapping the 64" p238)
|
||||
// This is obvious boiler plate containing no creative input, but to avoid
|
||||
// unnecessarily similarity to the C64 KERNAL, we use X instead of A to do this,
|
||||
@@ -95,4 +97,19 @@ ramtas_32k:
|
||||
ldy #$80
|
||||
bne !- // branch always
|
||||
|
||||
#elif CONFIG_PLATFORM_COMMANDER_X16
|
||||
|
||||
ldx #>$0800
|
||||
stx MEMSTR+1
|
||||
|
||||
ldy #$9F
|
||||
sty MEMSIZK+1
|
||||
|
||||
#else
|
||||
|
||||
.error "Please fill-in RAMTAS"
|
||||
|
||||
#endif // platform
|
||||
|
||||
|
||||
#endif // ROM layout
|
||||
Reference in new issue
Block a user