From a92e0006b3e4019225566f6da80f1e8c92f5b85a Mon Sep 17 00:00:00 2001 From: FeralChild64 Date: Thu, 3 Sep 2020 18:18:08 +0200 Subject: [PATCH] extended BASIC simplification --- doc/Extended-BASIC.md | 4 ++-- src/basic/basic_commands/cmd_go_goto_run.s | 26 ++++------------------ 2 files changed, 6 insertions(+), 24 deletions(-) diff --git a/doc/Extended-BASIC.md b/doc/Extended-BASIC.md index 9f930095..b6b6f297 100644 --- a/doc/Extended-BASIC.md +++ b/doc/Extended-BASIC.md @@ -104,6 +104,6 @@ A 'native' `SYS` - same as `SYS`, but does not switch to C64 compatibility mode. Switches machine to C64 compatibility mode or to MEGA65 native mode. Performs `CLR` -### `GO 65 SYS` (MEGA65) +### `GO SYS` (MEGA65) -The same as `GO 65: NSYS`, but does not need tokens unknown to C64 BASIC V2. Intended for usage in 'fat binaries' only. +The same as `NSYS`, but does not need tokens unknown to C64 BASIC V2. Intended for usage in 'fat binaries' only. diff --git a/src/basic/basic_commands/cmd_go_goto_run.s b/src/basic/basic_commands/cmd_go_goto_run.s index 92f77164..ce3c6d65 100644 --- a/src/basic/basic_commands/cmd_go_goto_run.s +++ b/src/basic/basic_commands/cmd_go_goto_run.s @@ -19,6 +19,9 @@ cmd_go_syntax_error: #else + cmp #$9E // 'SYS' keyword, for 'GO SYS' + beq_16 cmd_nsys + dew TXTPTR // unconsume character // Fetch desired mode @@ -45,17 +48,12 @@ cmd_go_syntax_error: // If in C64 compatibility mode - switch to native mode jsr M65_MODEGET - bcs !+ - jsr cmd_go_sys_check - rts + bcc cmd_go_rts -!: jsr helper_ask_if_sure bcs_16 cmd_end jsr M65_MODESET // Carry clear = switch to M65 mode - jsr cmd_go_sys_check - // FALLTROUGH cmd_go_switchmode_clr_banner: @@ -69,22 +67,6 @@ cmd_go_switchmode_clr_banner: lda #147 jmp JCHROUT -cmd_go_sys_check: - - // Check for 'GO 65 SYS' construction - - jsr fetch_character_skip_spaces - cmp #$9E // 'SYS' keyword - bne !+ - - pla - pla - jmp cmd_nsys -!: - dew TXTPTR // unconsume character - - // FALLTROUGH - cmd_go_rts: rts