initial support for Mega65 extra ROM

This commit is contained in:
FeralChild64 committed 2020-01-10 22:03:10 +01:00
1 parent 7539c6b072
commit 4d56864327
333 files changed
+1747 -289

No files matched your search

+6 -2
View File
@@ -1,9 +1,10 @@
#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0)
//
// Official Kernal routine, described in:
//
// - [RG64] C64 Programmer's Reference Guide - page 293 (RESTOR), 304 (VECTOR)
// - [CM64] Compute's Mapping the Commodore 64 - page 237
// - [RG64] C64 Programmers Reference Guide - page 293 (RESTOR), 304 (VECTOR)
// - [CM64] Computes Mapping the Commodore 64 - page 237
//
// CPU registers that has to be preserved (see [RG64]): none
//
@@ -22,3 +23,6 @@ VECTOR:
// placing it here would cause a collision with VECTOR defaults
jmp vector_real
#endif // ROM layout
+6 -2
View File
@@ -1,9 +1,10 @@
#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0)
//
// Official Kernal routine, described in:
//
// - [RG64] C64 Programmer's Reference Guide - page 288
// - [CM64] Compute's Mapping the Commodore 64 - page 240
// - [RG64] C64 Programmers Reference Guide - page 288
// - [CM64] Computes Mapping the Commodore 64 - page 240
//
// CPU registers that has to be preserved (see [RG64]): .A
//
@@ -23,3 +24,6 @@ memtop_set: // for compatibility reasons this has to start at $FE2D
stx MEMSIZK+0
rts
#endif // ROM layout
+6 -2
View File
@@ -1,9 +1,10 @@
#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0)
//
// Official Kernal routine, described in:
//
// - [RG64] C64 Programmer's Reference Guide - page 287/288
// - [CM64] Compute's Mapping the Commodore 64 - page 240
// - [RG64] C64 Programmers Reference Guide - page 287/288
// - [CM64] Computes Mapping the Commodore 64 - page 240
//
// CPU registers that has to be preserved (see [RG64]): .A
//
@@ -23,3 +24,6 @@ membot_set:
stx MEMSTR+0
rts
#endif // ROM layout
+5
View File
@@ -1,3 +1,5 @@
#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0)
// IMPORTANT:
// These routines lengths cannot be changed without changing
// the aliases for peek_under_roms, poke_under_roms etc
@@ -66,3 +68,6 @@ memmap_allram_routine:
__ram_routines_end:
#endif // CONFIG_MEMORY_MODEL_60K
#endif // ROM layout
+5 -1
View File
@@ -1,3 +1,4 @@
#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0)
vector_real:
@@ -6,7 +7,7 @@ vector_real:
// address originally used; after calling VECTOR and checking zero page
// area afterwards, the address could be found there
// According to 'Compute's Mapping the Commodore 64' page 237,
// According to 'Computes Mapping the Commodore 64' page 237,
// the CBM implementation does not disable IRQs - yet, the
// 'C64 Programmers Reference Guide' does not contain such
// warning and does not mention any preparations needed.
@@ -40,3 +41,6 @@ vector_end_loop:
bpl vector_restore
rts
#endif // ROM layout