added memory models 46K and 50K to KERNAL
This commit is contained in:
1 parent
0df838cfc9
commit
6a4fe4d180
8 files changed
+113
-6
No files matched your search
@@ -2,14 +2,94 @@
|
||||
// #LAYOUT# * KERNAL_0 #TAKE
|
||||
// #LAYOUT# * * #IGNORE
|
||||
|
||||
|
||||
#if CONFIG_MEMORY_MODEL_46K ||CONFIG_MEMORY_MODEL_50K
|
||||
|
||||
|
||||
peek_under_roms_MEMUSS:
|
||||
|
||||
// Store current memory mapping, unmap BASIC ROM
|
||||
|
||||
lda CPU_R6510
|
||||
pha
|
||||
and #$FE
|
||||
sta CPU_R6510
|
||||
|
||||
// Retrieve value from under ROMs
|
||||
|
||||
lda (MEMUSS), y
|
||||
|
||||
// FALLTROUGH
|
||||
|
||||
peek_under_roms_finalize:
|
||||
|
||||
// Store value in a safe place
|
||||
|
||||
tax
|
||||
|
||||
// Restore memory mapping
|
||||
|
||||
pla
|
||||
sta CPU_R6510
|
||||
|
||||
// Retrieve value and quit
|
||||
|
||||
txa
|
||||
rts
|
||||
|
||||
|
||||
peek_under_roms_FNADDR:
|
||||
|
||||
// Store current memory mapping, unmap BASIC ROM
|
||||
|
||||
lda CPU_R6510
|
||||
pha
|
||||
and #$FE
|
||||
sta CPU_R6510
|
||||
|
||||
// Retrieve value from under ROMs
|
||||
|
||||
lda (FNADDR), y
|
||||
|
||||
// Continue using common code
|
||||
|
||||
#if HAS_OPCODES_65C02
|
||||
bra peek_under_roms_finalize
|
||||
#else
|
||||
jmp peek_under_roms_finalize
|
||||
#endif
|
||||
|
||||
|
||||
peek_under_roms_EAL:
|
||||
|
||||
// Store current memory mapping, unmap BASIC ROM
|
||||
|
||||
lda CPU_R6510
|
||||
pha
|
||||
and #$FE
|
||||
sta CPU_R6510
|
||||
|
||||
// Retrieve value from under ROMs
|
||||
|
||||
lda (EAL), y
|
||||
|
||||
// Continue using common code
|
||||
|
||||
#if HAS_OPCODES_65C02
|
||||
bra peek_under_roms_finalize
|
||||
#else
|
||||
jmp peek_under_roms_finalize
|
||||
#endif
|
||||
|
||||
|
||||
#elif CONFIG_MEMORY_MODEL_60K
|
||||
|
||||
|
||||
// IMPORTANT:
|
||||
// These routines lengths cannot be changed without changing
|
||||
// the aliases for peek_under_roms, poke_under_roms etc
|
||||
// in ,aliases.s.
|
||||
// the aliases for peek_under_roms, poke_under_roms, etc.
|
||||
// Thus those addresses are expressed using formulae.
|
||||
|
||||
#if CONFIG_MEMORY_MODEL_60K
|
||||
|
||||
install_ram_routines:
|
||||
// Copy routines into place
|
||||
ldx #__ram_routines_end-__ram_routines_start-1
|
||||
@@ -69,4 +149,5 @@ memmap_allram_routine:
|
||||
|
||||
__ram_routines_end:
|
||||
|
||||
#endif // CONFIG_MEMORY_MODEL_60K
|
||||
|
||||
#endif
|
||||
Reference in new issue
Block a user