address mode optimizations, updated credits

This commit is contained in:
FeralChild64 committed 2020-09-21 19:40:33 +02:00
1 parent fcb74a9fae
commit 299e9cd524
3 files changed
+25 -15

No files matched your search

+1
View File
@@ -28,6 +28,7 @@
* Gábor Lénárt - for [his work](https://github.com/lgblgblgb/xemu) on XEMU MEGA65 emulator
* Hernán Di Pietro - for [his work](https://github.com/hernandp/xemu) on XEMU MEGA65 emulator
* Marco Baye - for [ACME](https://sourceforge.net/projects/acme-crossass) cross-assembler
* Mads Nielsen - for the [Kick Assembler](http://www.theweb.dk/KickAssembler/Main.html#frontpage)
* Simon Jameson - for his Kick Assembler [pseudocommands](https://github.com/smnjameson/M65_KickAsm_PseudoCommands) for MEGA65 CPU support
+23
View File
@@ -0,0 +1,23 @@
;
; Aliases for legacy keyboard scan routine
;
!ifdef CONFIG_LEGACY_SCNKEY {
; Low memory variables
; Reuse RS232 variables, since they should not be used by other things.
; Carefully avoid $A7 which is used by 64NET
!addr KeyQuantity = $A8 ; 1 byte
!addr BufferNew = $A9 ; 3 bytes
!addr TempZP = $B6 ; 1 byte
; These should be initialized in CINT to $FF
!addr BufferQuantity = $B4 ; 1 byte
!addr BufferOld = $293 ; 3 bytes
!addr Buffer = $297 ; 4 bytes
; $250-$258 is the 81st - 88th characters in BASIC input, a carry over from VIC-20
; and not used on C64, so safe for us to use, probably.
!addr ScanResult = $250 ; 8 bytes
}
+1 -15
View File
@@ -59,24 +59,10 @@
; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
; Low memory variables
; Reuse RS232 variables, since they should not be used by other things.
; Carefully avoid $A7 which is used by 64NET
!addr KeyQuantity = $A8 ; 1 byte
!addr BufferNew = $A9 ; 3 bytes
!addr TempZP = $B6 ; 1 byte
; These should be initialized in CINT to $FF
!addr BufferQuantity = $B4 ; 1 byte
!addr BufferOld = $293 ; 3 bytes
!addr Buffer = $297 ; 4 bytes
; $250-$258 is the 81st - 88th characters in BASIC input, a carry over from VIC-20
; and not used on C64, so safe for us to use, probably.
!addr ScanResult = $250 ; 8 bytes
; Operational Variables
!addr MaxKeyRollover = 3
!set MaxKeyRollover = 3
SCNKEY: