deduplicated some print character routines
This commit is contained in:
1 parent
c173540fac
commit
2608e1b153
18 files changed
+68
-45
No files matched your search
@@ -9,3 +9,5 @@
|
||||
#endif
|
||||
|
||||
.label print_hex_byte = KERNAL.print_hex_byte
|
||||
.label print_return = KERNAL.print_return
|
||||
.label print_space = KERNAL.print_space
|
||||
@@ -49,10 +49,8 @@ basic_cold_start:
|
||||
sbc TXTTAB+1
|
||||
|
||||
jsr print_integer
|
||||
jsr print_space
|
||||
|
||||
lda #$20
|
||||
jsr JCHROUT
|
||||
|
||||
// Print the rest of the start up message
|
||||
ldx #34
|
||||
jsr print_packed_message
|
||||
|
||||
@@ -6,8 +6,7 @@ basic_do_error:
|
||||
pha
|
||||
|
||||
// Print ? at start
|
||||
lda #$0D
|
||||
jsr JCHROUT
|
||||
jsr print_return
|
||||
lda #$3F
|
||||
jsr JCHROUT
|
||||
|
||||
@@ -17,8 +16,7 @@ basic_do_error:
|
||||
jsr print_packed_message
|
||||
|
||||
// Print ERROR at end
|
||||
lda #$20
|
||||
jsr JCHROUT
|
||||
jsr print_space
|
||||
ldx #33
|
||||
jsr print_packed_message
|
||||
|
||||
@@ -26,10 +24,8 @@ basic_do_error:
|
||||
|
||||
// XXX print line number if not in direct mode
|
||||
|
||||
lda #$0D
|
||||
jsr JCHROUT
|
||||
lda #$0D // XXX do we need this?
|
||||
jsr JCHROUT
|
||||
jsr print_return
|
||||
jsr print_return
|
||||
|
||||
// Reset stack, and go back to main loop
|
||||
ldx #$FE
|
||||
|
||||
@@ -34,7 +34,7 @@ got_line_of_input:
|
||||
stx __tokenise_work1
|
||||
|
||||
// Strip leading spaces from the line
|
||||
remove_leading_spaces:
|
||||
remove_leading_spaces:
|
||||
lda $0200
|
||||
cmp #$20
|
||||
bne !+
|
||||
@@ -51,15 +51,14 @@ rsl_l1: lda $0200,x
|
||||
bne remove_leading_spaces
|
||||
!:
|
||||
// Do printing of the new line
|
||||
lda #$0d
|
||||
jsr JCHROUT
|
||||
jsr print_return
|
||||
|
||||
// Ignore empty lines
|
||||
lda __tokenise_work1
|
||||
beq basic_read_next_line
|
||||
|
||||
// Else, tokenise the line
|
||||
jsr tokenise_line
|
||||
jsr tokenise_line
|
||||
|
||||
// Has the user entered a line of BASIC beginning with a number?
|
||||
lda $0200
|
||||
|
||||
@@ -19,8 +19,7 @@ basic_warm_start:
|
||||
jsr print_hex_byte
|
||||
lda CMP0+0
|
||||
jsr print_hex_byte
|
||||
lda #$0D
|
||||
jsr JCHROUT
|
||||
jsr print_return
|
||||
|
||||
!:
|
||||
jmp basic_main_loop
|
||||
@@ -16,7 +16,7 @@ cmd_stop:
|
||||
jsr print_integer
|
||||
|
||||
!:
|
||||
lda #$0D
|
||||
jsr JCHROUT
|
||||
jsr print_return
|
||||
|
||||
cmd_end:
|
||||
jmp basic_main_loop
|
||||
@@ -60,8 +60,7 @@ list_single_line: // entry point needed by DOS wedge
|
||||
tax
|
||||
pla
|
||||
jsr print_integer
|
||||
lda #$20
|
||||
jsr JCHROUT
|
||||
jsr print_space
|
||||
|
||||
// Iterate through printing out the line
|
||||
// contents
|
||||
@@ -69,7 +68,7 @@ list_single_line: // entry point needed by DOS wedge
|
||||
sta QTSW
|
||||
|
||||
ldy #4
|
||||
list_print_loop:
|
||||
list_print_loop:
|
||||
|
||||
#if CONFIG_MEMORY_MODEL_60K
|
||||
ldx #<OLDTXT
|
||||
@@ -145,7 +144,6 @@ list_end_of_line:
|
||||
lda #$92
|
||||
jsr JCHROUT
|
||||
// Print end of line
|
||||
lda #$0d
|
||||
jsr JCHROUT
|
||||
rts
|
||||
jmp print_return
|
||||
|
||||
|
||||
@@ -125,12 +125,11 @@ do_TO_MANY_FILES_error:
|
||||
|
||||
// Error # in X
|
||||
|
||||
do_basic_error:
|
||||
do_basic_error:
|
||||
// "?"
|
||||
txa
|
||||
pha
|
||||
lda #$0d
|
||||
jsr JCHROUT
|
||||
jsr print_return
|
||||
lda #$3f
|
||||
jsr JCHROUT
|
||||
pla
|
||||
@@ -140,8 +139,7 @@ do_basic_error:
|
||||
jsr print_packed_message
|
||||
|
||||
// A space between error name and word error
|
||||
lda #$20
|
||||
jsr $ffd2
|
||||
jsr print_space
|
||||
|
||||
// "ERROR"
|
||||
ldx #33
|
||||
@@ -160,12 +158,10 @@ do_basic_error:
|
||||
jsr print_integer
|
||||
!:
|
||||
// New lines
|
||||
lda #$0d
|
||||
jsr $ffd2
|
||||
jsr print_return
|
||||
lda #$00
|
||||
jsr $ffd2
|
||||
jsr JCHROUT
|
||||
|
||||
// XXX - Restore stack depth first?
|
||||
|
||||
jmp basic_main_loop
|
||||
|
||||
@@ -1,5 +1,28 @@
|
||||
|
||||
// XXX provide documentation and implementation
|
||||
// XXX provide documentation and finish the implementation
|
||||
|
||||
INITMSG:
|
||||
STUB_IMPLEMENTATION()
|
||||
|
||||
// Print PAL/NTSC
|
||||
ldx #30 // NTSC
|
||||
lda TVSFLG
|
||||
beq !+
|
||||
ldx #31 // PAL
|
||||
!:
|
||||
jsr print_packed_message
|
||||
|
||||
// Work out free bytes, display them
|
||||
jsr basic_do_new
|
||||
lda MEMSIZ+0
|
||||
sec
|
||||
sbc TXTTAB+0
|
||||
tax
|
||||
lda MEMSIZ+1
|
||||
sbc TXTTAB+1
|
||||
|
||||
jsr print_integer
|
||||
jsr print_space
|
||||
|
||||
// Print the rest of the start up message
|
||||
ldx #34
|
||||
jmp print_packed_message
|
||||
@@ -38,8 +38,7 @@ found_message_in_token_stream:
|
||||
cmp #$ff
|
||||
beq !+
|
||||
jsr print_packed_word
|
||||
lda #$20
|
||||
jsr JCHROUT
|
||||
jsr print_space
|
||||
pla
|
||||
tay
|
||||
iny
|
||||
|
||||
@@ -209,8 +209,7 @@ wedge_dos_directory_display:
|
||||
wedge_dos_clean_exit:
|
||||
jsr JCLALL
|
||||
// Print new line
|
||||
lda #$0D
|
||||
jsr JCHROUT
|
||||
jsr print_return
|
||||
jmp basic_end_of_line
|
||||
|
||||
wedge_dos_basic_error:
|
||||
|
||||
Reference in new issue
Block a user