diff --git a/bin/basic_generic.rom b/bin/basic_generic.rom index ca209d63..6b576b12 100644 Binary files a/bin/basic_generic.rom and b/bin/basic_generic.rom differ diff --git a/bin/basic_mega65.rom b/bin/basic_mega65.rom index ee099b3c..cc080222 100644 Binary files a/bin/basic_mega65.rom and b/bin/basic_mega65.rom differ diff --git a/bin/basic_ultimate64.rom b/bin/basic_ultimate64.rom index 7694af19..d33d9139 100644 Binary files a/bin/basic_ultimate64.rom and b/bin/basic_ultimate64.rom differ diff --git a/bin/kernal_generic.rom b/bin/kernal_generic.rom index 66d32822..b4bcf260 100644 Binary files a/bin/kernal_generic.rom and b/bin/kernal_generic.rom differ diff --git a/bin/kernal_mega65.rom b/bin/kernal_mega65.rom index 92acf217..d2b54b74 100644 Binary files a/bin/kernal_mega65.rom and b/bin/kernal_mega65.rom differ diff --git a/bin/kernal_ultimate64.rom b/bin/kernal_ultimate64.rom index 3f9eeb89..c8bad736 100644 Binary files a/bin/kernal_ultimate64.rom and b/bin/kernal_ultimate64.rom differ diff --git a/c64/basic/cmd_sys.s b/c64/basic/cmd_sys.s index 0f46f630..9f1c637c 100644 --- a/c64/basic/cmd_sys.s +++ b/c64/basic/cmd_sys.s @@ -7,9 +7,38 @@ cmd_sys: jmp do_SYNTAX_error !: + // + // XXX Temporary ugly hack to support 'SYS PI*656' + // + + ldy #$00 + +cmd_sys_hack_loop: + lda (TXTPTR), y + cmp cmd_sys_hack_str, y + bne cmd_sys_hack_not_needed + lda (TXTPTR), y + beq cmd_sys_hack_apply + iny + bne cmd_sys_hack_loop // branch always + +cmd_sys_hack_apply: + + lda #<2060 + sta LINNUM+0 + lda #>2060 + sta LINNUM+1 + bne cmd_sys_setup_call // always jumps + +cmd_sys_hack_not_needed: + + // + // XXX End of hack + // + jsr basic_parse_line_number - // setup call +cmd_sys_setup_call: lda #$4C // JMP opcode sta USRPOK lda LINNUM+0 @@ -29,3 +58,11 @@ cmd_sys: jsr USRPOK jmp basic_execute_statement + + + // + // XXX Temporary ugly hack to support 'SYS PI*656' + // + +cmd_sys_hack_str: + .byte $FF, $AC, $36, $35, $36, $00