compilation fix

This commit is contained in:
FeralChild64 committed 2019-10-30 19:12:32 +01:00
1 parent ec3e78de88
commit 49b7c728c5
3 files changed
+14 -1

No files matched your search

+13
View File
@@ -0,0 +1,13 @@
//
// Official Kernal routine, described in:
//
// - [RG64] C64 Programmer's Reference Guide - page 283
// - [CM64] Compute's Mapping the Commodore 64 - page 227/228
//
// CPU registers that has to be preserved (see [RG64]): for RS-232: .X, .Y
//
GETIN:
jmp getin_real
+8
View File
@@ -0,0 +1,8 @@
All the Kernal routines, for which there are vectors in $0314-$0333, have to be available at their original addresses.
Reason: some autostart software (https://codebase64.org/doku.php?id=base:autostarting_disk_files) override these vectors, so that some point
to new locations (custom IRQ routine, custom STOP routine, etc.), while others points the original Kernal routines. Different techniques modify
different vectors (while resetting others to original C64 locations), some don't change the vectors at all, but might still put the original
C64 Kernal addresses there (for example, if the file overrides keyboard input buffer and screeen memory).
For various cartridges (like IDE64) this just means disabling their extensions; for us that would mean improperly functionning Kernal.
+28
View File
@@ -0,0 +1,28 @@
//
// Official Kernal routine, described in:
//
// - [RG64] C64 Programmer's Reference Guide - page 283
// - [CM64] Compute's Mapping the Commodore 64 - page 227/228
//
// CPU registers that has to be preserved (see [RG64]): for RS-232: .X, .Y
//
getin_real:
// Determine the device number
lda DFLTN
// Try $00 - keyboard
beq_far getin_keyboard
#if HAS_RS232
// Try $02 - RS-232
cmp #$02
beq_far getin_rs232
#endif // HAS_RS232
jmp chrin_getin