diff --git a/c64/basic/cmd_break.s b/c64/basic/cmd_break.s new file mode 100644 index 00000000..38c7bd3d --- /dev/null +++ b/c64/basic/cmd_break.s @@ -0,0 +1,23 @@ +cmd_stop: +basic_do_break: + jsr printf + .byte "BREAK",0 + + ;; Check for direct mode + ;; Are we in direct mode + lda basic_current_line_number+1 + cmp #$ff + beq + + ;; Not direct mode + jsr printf + .byte " IN ",0 + lda basic_current_line_number+1 + ldx basic_current_line_number+0 + jsr print_integer + +* + lda #$0d + jsr $ffd2 +cmd_end: + jmp basic_main_loop + diff --git a/c64/basic/cmd_list.s b/c64/basic/cmd_list.s index 06110830..ba02f675 100644 --- a/c64/basic/cmd_list.s +++ b/c64/basic/cmd_list.s @@ -21,31 +21,11 @@ list_loop: ;; (Confirmed by testing on a C64) jmp basic_main_loop -basic_do_break: - jsr printf - .byte "BREAK",0 - - ;; Check for direct mode - ;; Are we in direct mode - lda basic_current_line_number+1 - cmp #$ff - beq + - ;; Not direct mode - jsr printf - .byte " IN ",0 - lda basic_current_line_number+1 - ldx basic_current_line_number+0 - jsr print_integer - -* - lda #$0d - jsr $ffd2 - jmp basic_main_loop - list_more_lines: lda BUCKYSTATUS - bpl basic_do_break - + bmi + + jmp basic_do_break +* ;; Print line number ldy #3 jsr peek_under_roms diff --git a/c64/basic/cmd_unimplemented.s b/c64/basic/cmd_unimplemented.s index e9bcbb03..018cc294 100644 --- a/c64/basic/cmd_unimplemented.s +++ b/c64/basic/cmd_unimplemented.s @@ -1,6 +1,5 @@ ;; Default handler for all not-yet-implemented commands -cmd_end: cmd_for: cmd_next: cmd_data: @@ -15,7 +14,6 @@ cmd_gosub: cmd_return: ;; $90-$9F -cmd_stop: cmd_on: cmd_wait: cmd_save: diff --git a/empty.d64 b/empty.d64 index 2e3a4a2b..cb9940fe 100644 Binary files a/empty.d64 and b/empty.d64 differ