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 -1
View File
@@ -1,4 +1,9 @@
#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0)
// Initialise screen editor
// C64 Programmer's Reference Guide Page 272
// C64 Programmers Reference Guide Page 272
jmp CINT
#endif // ROM layout
+6 -1
View File
@@ -1,4 +1,9 @@
#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0)
// Initialise input/output
// C64 Programmer's Reference Guide Page 272
// C64 Programmers Reference Guide Page 272
jmp IOINIT
#endif // ROM layout
+6 -1
View File
@@ -1,4 +1,9 @@
#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0)
// Initialise RAM, allocate tape buffer, set screen to $0400
// C64 Programmer's Reference Guide Page 273
// C64 Programmers Reference Guide Page 273
jmp RAMTAS
#endif // ROM layout
+6 -1
View File
@@ -1,4 +1,9 @@
#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0)
// Restore default IO vectors
// C64 Programmer's Reference Guide Page 273
// C64 Programmers Reference Guide Page 273
jmp RESTOR
#endif // ROM layout
+6 -1
View File
@@ -1,4 +1,9 @@
#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0)
// Read/set vectored I/O
// C64 Programmer's Reference Guide Page 273
// C64 Programmers Reference Guide Page 273
jmp VECTOR
#endif // ROM layout
+6 -1
View File
@@ -1,4 +1,9 @@
#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0)
// Control KERNAL messages
// C64 Programmer's Reference Guide Page 273
// C64 Programmers Reference Guide Page 273
jmp SETMSG
#endif // ROM layout
+6 -1
View File
@@ -1,4 +1,9 @@
#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0)
// Send secondary address after LISTEN
// C64 Programmer's Reference Guide Page 273
// C64 Programmers Reference Guide Page 273
jmp SECOND
#endif // ROM layout
+6 -1
View File
@@ -1,4 +1,9 @@
#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0)
// Send secondary address after talk
// C64 Programmer's Reference Guide Page 273
// C64 Programmers Reference Guide Page 273
jmp TKSA
#endif // ROM layout
+6 -1
View File
@@ -1,4 +1,9 @@
#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0)
// read/set the top of memory
// C64 Programmer's Reference Guide Page 272
// C64 Programmers Reference Guide Page 272
jmp MEMTOP
#endif // ROM layout
+6 -1
View File
@@ -1,4 +1,9 @@
#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0)
// read/set the bottom of memory
// C64 Programmer's Reference Guide Page 272
// C64 Programmers Reference Guide Page 272
jmp MEMBOT
#endif // ROM layout
+6 -1
View File
@@ -1,4 +1,9 @@
#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0)
// Scan keyboard
// C64 Programmer's Reference Guide Page 273
// C64 Programmers Reference Guide Page 273
jmp SCNKEY
#endif // ROM layout
+6 -1
View File
@@ -1,4 +1,9 @@
#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0)
// Set timeout on serial bus
// C64 Programmer's Reference Guide Page 273
// C64 Programmers Reference Guide Page 273
jmp SETTMO
#endif // ROM layout
+6 -1
View File
@@ -1,4 +1,9 @@
#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0)
// Input byte from serial port
// C64 Programmer's Reference Guide Page 272
// C64 Programmers Reference Guide Page 272
jmp ACPTR
#endif // ROM layout
+6 -1
View File
@@ -1,4 +1,9 @@
#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0)
// Output byte to serial port
// C64 Programmer's Reference Guide Page 272
// C64 Programmers Reference Guide Page 272
jmp CIOUT
#endif // ROM layout
+6 -1
View File
@@ -1,4 +1,9 @@
#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0)
// Command serial bus to UNTALK
// C64 Programmer's Reference Guide Page 273
// C64 Programmers Reference Guide Page 273
jmp UNTLK
#endif // ROM layout
+6 -1
View File
@@ -1,4 +1,9 @@
#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0)
// Command serial bus to UNLISTEN
// C64 Programmer's Reference Guide Page 273
// C64 Programmers Reference Guide Page 273
jmp UNLSN
#endif // ROM layout
+6 -1
View File
@@ -1,4 +1,9 @@
#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0)
// Command devices on the serial bus to listen
// C64 Programmer's Reference Guide Page 272
// C64 Programmers Reference Guide Page 272
jmp LISTEN
#endif // ROM layout
+6 -1
View File
@@ -1,4 +1,9 @@
#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0)
// Command serial bus device to talk
// C64 Programmer's Reference Guide Page 273
// C64 Programmers Reference Guide Page 273
jmp TALK
#endif // ROM layout
+6 -1
View File
@@ -1,4 +1,9 @@
#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0)
// Read I/O statusjmp
// C64 Programmer's Reference Guide Page 273
// C64 Programmers Reference Guide Page 273
jmp READST
#endif // ROM layout
+6 -1
View File
@@ -1,4 +1,9 @@
#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0)
// Set logical, first and second addresses
// C64 Programmer's Reference Guide Page 273
// C64 Programmers Reference Guide Page 273
jmp SETFLS
#endif // ROM layout
+6 -1
View File
@@ -1,4 +1,9 @@
#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0)
// Set file name
// C64 Programmer's Reference Guide Page 273
// C64 Programmers Reference Guide Page 273
jmp SETNAM
#endif // ROM layout
+7 -2
View File
@@ -1,5 +1,10 @@
#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0)
// open a logical file
// C64 Programmer's Reference Guide Page 272
// According to Compute's Mapping the Commodore 64 (pages 74/75), this jump is indirect
// C64 Programmers Reference Guide Page 272
// According to Computes Mapping the Commodore 64 (pages 74/75), this jump is indirect
jmp (IOPEN)
#endif // ROM layout
+7 -2
View File
@@ -1,5 +1,10 @@
#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0)
// close a specified logical file
// C64 Programmer's Reference Guide Page 272
// According to Compute's Mapping the Commodore 64 (pages 74/75), this jump is indirect
// C64 Programmers Reference Guide Page 272
// According to Computes Mapping the Commodore 64 (pages 74/75), this jump is indirect
jmp (ICLOSE)
#endif // ROM layout
+7 -2
View File
@@ -1,5 +1,10 @@
#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0)
// Open channel for input
// C64 Programmer's Reference Guide Page 272
// According to Compute's Mapping the Commodore 64 (pages 74/75), this jump is indirect
// C64 Programmers Reference Guide Page 272
// According to Computes Mapping the Commodore 64 (pages 74/75), this jump is indirect
jmp (ICHKIN)
#endif // ROM layout
+7 -2
View File
@@ -1,5 +1,10 @@
#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0)
// Open channel for output
// C64 Programmer's Reference Guide Page 272
// According to Compute's Mapping the Commodore 64 (pages 74/75), this jump is indirect
// C64 Programmers Reference Guide Page 272
// According to Computes Mapping the Commodore 64 (pages 74/75), this jump is indirect
jmp (ICKOUT)
#endif // ROM layout
+7 -2
View File
@@ -1,5 +1,10 @@
#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0)
// close input and output channels
// C64 Programmer's Reference Guide Page 272
// According to Compute's Mapping the Commodore 64 (pages 74/75), this jump is indirect
// C64 Programmers Reference Guide Page 272
// According to Computes Mapping the Commodore 64 (pages 74/75), this jump is indirect
jmp (ICLRCH)
#endif // ROM layout
+7 -2
View File
@@ -1,5 +1,10 @@
#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0)
// Input character from channel
// C64 Programmer's Reference Guide Page 272
// According to Compute's Mapping the Commodore 64 (pages 74/75), this jump is indirect
// C64 Programmers Reference Guide Page 272
// According to Computes Mapping the Commodore 64 (pages 74/75), this jump is indirect
jmp (IBASIN)
#endif // ROM layout
+7 -2
View File
@@ -1,5 +1,10 @@
#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0)
// Output character to channel
// C64 Programmer's Reference Guide Page 272
// According to Compute's Mapping the Commodore 64 (pages 74/75), this jump is indirect
// C64 Programmers Reference Guide Page 272
// According to Computes Mapping the Commodore 64 (pages 74/75), this jump is indirect
jmp (IBSOUT)
#endif // ROM layout
+6 -1
View File
@@ -1,4 +1,9 @@
#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0)
// load RAM from a device
// C64 Programmer's Reference Guide Page 272
// C64 Programmers Reference Guide Page 272
jmp LOAD_PREP
#endif // ROM layout
+6 -1
View File
@@ -1,4 +1,9 @@
#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0)
// SAVE RAM to device
// C64 Programmer's Reference Guide Page 273
// C64 Programmers Reference Guide Page 273
jmp SAVE_PREP
#endif // ROM layout
+6 -1
View File
@@ -1,4 +1,9 @@
#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0)
// Set realtime clock
// C64 Programmer's Reference Guide Page 273
// C64 Programmers Reference Guide Page 273
jmp SETTIM
#endif // ROM layout
+6 -1
View File
@@ -1,4 +1,9 @@
#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0)
// Read real time clock
// C64 Programmer's Reference Guide Page 273
// C64 Programmers Reference Guide Page 273
jmp RDTIM
#endif // ROM layout
+7 -2
View File
@@ -1,5 +1,10 @@
#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0)
// Scan stop key
// C64 Programmer's Reference Guide Page 273
// According to Compute's Mapping the Commodore 64 (pages 74/75), this jump is indirect
// C64 Programmers Reference Guide Page 273
// According to Computes Mapping the Commodore 64 (pages 74/75), this jump is indirect
jmp (ISTOP)
#endif // ROM layout
+7 -2
View File
@@ -1,5 +1,10 @@
#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0)
// Get character from keyboard queue (keyboard buffer)
// C64 Programmer's Reference Guide Page 272
// According to Compute's Mapping the Commodore 64 (pages 74/75), this jump is indirect
// C64 Programmers Reference Guide Page 272
// According to Computes Mapping the Commodore 64 (pages 74/75), this jump is indirect
jmp (IGETIN)
#endif // ROM layout
+6 -1
View File
@@ -1,5 +1,10 @@
#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0)
// $FFE7 - Close all files vector
// (http://codebase64.org/doku.php?id=base:kernalreference)
// According to Compute's Mapping the Commodore 64 (pages 74/75), this jump is indirect
// According to Computes Mapping the Commodore 64 (pages 74/75), this jump is indirect
jmp (ICLALL)
#endif // ROM layout
+5
View File
@@ -1,4 +1,9 @@
#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0)
// $FFEA - Update jiffy clock vector
// (http://codebase64.org/doku.php?id=base:kernalreference)
jmp UDTIM
#endif // ROM layout
+5
View File
@@ -1,4 +1,9 @@
#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0)
// $FFED - Return screen size (X=columns, Y=rows)
// (http://codebase64.org/doku.php?id=base:kernalreference)
jmp SCREEN
#endif // ROM layout
+5
View File
@@ -1,6 +1,11 @@
#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0)
// $FFF0 - Get/Set cursor location vector
// (http://codebase64.org/doku.php?id=base:kernalreference)
// To set: C=0, to get, C=1
// X=row, Y=column
jmp PLOT
#endif // ROM layout
+5 -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 284
// - [CM64] Compute's Mapping the Commodore 64 - page 214
// - [RG64] C64 Programmers Reference Guide - page 284
// - [CM64] Computes Mapping the Commodore 64 - page 214
// - http://codebase64.org/doku.php?id=base:kernalreference (original source)
//
// CPU registers that has to be preserved (see [RG64]): .A
@@ -17,3 +18,5 @@
ldx #$00
rts
#endif // ROM layout