added MEGA65-specific JOYCRSR command

This commit is contained in:
FeralChild64 committed 2020-12-03 18:08:04 +01:00
1 parent 33e1e1ba4b
commit 755b7bb1a4
6 files changed
+44 -2

No files matched your search

+6
View File
@@ -69,6 +69,12 @@ Verify operation for the binary data starting from a given addres. NOTE: for now
Saves the binary data from the given memory area. NOTE: for now syntax differs from the BASIC V3.5+ - this will be changed once the necessary BASIC infrastructure is implemented.
## Additional BASIC commands - screen/keyboard
### `JOYCRSR joy_number` (MEGA65)
Sets the joystick (1 or 2) which moves the screen cursor. Native mode only.
## Additional BASIC commands - misc
### `COLD` (cart, MEGA65)
+2 -2
View File
@@ -71,8 +71,8 @@
;; #CONFIG# KEYCMD_F10 "REM F10"
;; #CONFIG# KEYCMD_F11 "REM F11"
;; #CONFIG# KEYCMD_F12 "REM F12"
;; #CONFIG# KEYCMD_F13 "REM F13"
;; #CONFIG# KEYCMD_F14 "REM F14"
;; #CONFIG# KEYCMD_F13 "JOYCRSR 2"
;; #CONFIG# KEYCMD_F14 "JOYCRSR 0"
; --- Screen editor
+24
View File
@@ -0,0 +1,24 @@
;; #LAYOUT# M65 BASIC_0 #TAKE
;; #LAYOUT# * * #IGNORE
cmd_joycrsr:
; Make sure we are in MEGA65 native mode
jsr helper_ensure_native_mode
; Fetch joystick ID
jsr fetch_coma_uint8
+bcs do_SYNTAX_error
; Check if joystick ID is valid
cmp #$03
+bcs do_ILLEGAL_QUANTITY_error
; Set the joystick responsible for moving cursor keys
sta M65_JOYCRSR ; XXX consider introducing Kernal call for this
rts
@@ -0,0 +1,10 @@
;; #LAYOUT# M65 BASIC_0 #TAKE
;; #LAYOUT# * * #IGNORE
helper_ensure_native_mode:
jsr M65_MODEGET
+bcs do_NATIVE_MODE_ONLY_error
rts
+2
View File
@@ -200,6 +200,8 @@ const StringEntryList GLOBAL_Keywords_04 = { ListType::KEYWORDS, "keywords_04",
{
// STD CRT M65 U64 X16
{ false, false, true, false, false, "K04_01", "SYSINFO", }, // Not present in CBM BASIC dialects, Open ROMs specific
{ false, false, true, false, false, "K04_02", "JOYCRSR", }, // Not present in CBM BASIC dialects, Open ROMs specific
} };