various character handling fixes

This commit is contained in:
FeralChild64 committed 2019-07-23 17:12:30 +02:00
1 parent 15021939ce
commit f4db0f31c6
15 files changed
+43 -34

No files matched your search

+3 -3
View File
@@ -79,7 +79,7 @@ NOTE: Even the 'DONE' routines won't support features described as missing in on
| $FF9C | MEMBOT | DONE | |
| $FF9F | SCNKEY | DONE | could be better integrated with ROM |
| $FFA2 | SETTMO | NOT DONE | |
| $FFA5 | ACPTR | NOT DONE | * work in progress |
| $FFA5 | ACPTR | PARTIAL | * work in progress |
| $FFA8 | CIOUT | DONE | |
| $FFAB | UNTLK | PARITAL | * work in progress |
| $FFAE | UNLSN | DONE | |
@@ -93,8 +93,8 @@ NOTE: Even the 'DONE' routines won't support features described as missing in on
| $FFC6 | CHKIN | PARTIAL | * work in progress |
| $FFC9 | CHKOUT | PARTIAL | * work in progress |
| $FFCC | CLRCHN | PARTIAL | * work in progress |
| $FFCF | CHRIN | NOT DONE | * work in progress |
| $FFD2 | CHROUT | NOT DONE | * work in progress |
| $FFCF | CHRIN | PARTIAL | |
| $FFD2 | CHROUT | PARTIAL | |
| $FFD5 | LOAD | PARTIAL | no VERIFY support yet |
| $FFD8 | SAVE | NOT DONE | * work in progress |
| $FFDB | SETTIM | NOT DONE | |
+1 -1
View File
@@ -81,7 +81,7 @@
.alias ICKOUT $320
.alias ICLRCH $322
.alias IBASIN $324
.alias IBASOUT $326
.alias IBSOUT $326
.alias ISTOP $328
.alias IGETIN $32A
.alias ICLALL $32C
+1 -1
View File
@@ -20,7 +20,7 @@ print_string_loop:
lda (temp_string_ptr),y
beq print_string_end
jsr JCHROUT
jsr via_IBSOUT
txa
tay
+1 -1
View File
@@ -29,7 +29,7 @@ startup_banner:
jsr print_integer
lda #$20
jsr JCHROUT
jsr via_IBSOUT
;; Print the rest of the start up message
ldx #34
+5 -5
View File
@@ -7,9 +7,9 @@ basic_do_error:
;; Print ? at start
lda #$0d
jsr JCHROUT
jsr via_IBSOUT
lda #$3f
jsr JCHROUT
jsr via_IBSOUT
;; Print main part of error message
pla
@@ -18,7 +18,7 @@ basic_do_error:
;; Print ERROR at end
lda #$20
jsr JCHROUT
jsr via_IBSOUT
ldx #33
jsr print_packed_message
@@ -27,9 +27,9 @@ basic_do_error:
;; XXX print line number if not in direct mode
lda #$0d
jsr JCHROUT
jsr via_IBSOUT
lda #$0d
jsr JCHROUT
jsr via_IBSOUT
;; Reset stack, and go back to main loop
ldx #$fe
+1 -1
View File
@@ -52,7 +52,7 @@ rsl_l1: lda $0200,x
*
;; Do printing of the new line
lda #$0d
jsr JCHROUT
jsr via_IBSOUT
;; Ignore empty lines
lda tokenise_work1
+1 -1
View File
@@ -17,7 +17,7 @@ basic_do_break:
*
lda #$0d
jsr JCHROUT
jsr via_IBSOUT
cmd_end:
jmp basic_main_loop
+4 -4
View File
@@ -36,7 +36,7 @@ list_more_lines:
pla
jsr print_integer
lda #$20
jsr JCHROUT
jsr via_IBSOUT
;; Iterate through printing out the line
;; contents
@@ -105,17 +105,17 @@ list_not_rem:
bne list_print_loop
list_is_literal:
jsr JCHROUT
jsr via_IBSOUT
iny
bne list_print_loop
list_end_of_line:
;; Clear reverse flag
lda #$92
jsr JCHROUT
jsr via_IBSOUT
;; Print end of line
lda #$0d
jsr JCHROUT
jsr via_IBSOUT
;; Now link to the next line
jsr basic_find_next_line
+1 -1
View File
@@ -115,7 +115,7 @@ found_start_of_number:
;; Print digits
* lda $0100,y
ora #$30
jsr JCHROUT
jsr via_IBSOUT
iny
cpy #5
bne -
+5 -5
View File
@@ -38,7 +38,7 @@ found_message_in_token_stream:
beq +
jsr print_packed_word
lda #$20
jsr JCHROUT
jsr via_IBSOUT
pla
tay
iny
@@ -47,7 +47,7 @@ found_message_in_token_stream:
pla
;; Rub out space at the end
lda #$14
jsr JCHROUT
jsr via_IBSOUT
rts
print_packed_word:
@@ -144,7 +144,7 @@ next_packed_word_char:
;; X=1-14 = first 14 chars, so subtract one
lda packed_message_chars-1,x
jsr JCHROUT
jsr via_IBSOUT
;; See if there is a char in the low nybl to print
pla
@@ -171,7 +171,7 @@ has_nybl:
;; X=1-14 = first 14 chars, so subtract one
lda packed_message_chars-1,x
jsr JCHROUT
jsr via_IBSOUT
*
pla
tay
@@ -207,7 +207,7 @@ unpack_literal_char:
tya
pha
lda (temp_string_ptr),y
jsr JCHROUT
jsr via_IBSOUT
pla
tay
rts
+3 -3
View File
@@ -112,7 +112,7 @@ not_hexword:
not_pointer:
;; Print character
jsr JCHROUT
jsr via_IBSOUT
printf_nextchar:
jsr printf_advance
@@ -148,11 +148,11 @@ printf_printhexbyte:
cmp #$3A
bcc +
adc #6
* jsr JCHROUT
* jsr via_IBSOUT
pla
and #$0f
ora #$30
cmp #$3A
bcc +
adc #6
* jmp JCHROUT
* jmp via_IBSOUT
+2 -2
View File
@@ -21,8 +21,8 @@ via_ICLRCH:
via_IBASIN:
jmp (IBASIN)
via_IBASOUT:
jmp (IBASOUT)
via_IBSOUT:
jmp (IBSOUT)
via_ISTOP:
jmp (ISTOP)
+8 -4
View File
@@ -55,9 +55,10 @@ wedge_dos_command:
jsr JREADST ; retrieve errors
;; XXX error in case of status != 0
*
;; XXX this loop does not seem to work, check it
jsr basic_fetch_and_consume_character
beq +
jsr JCHROUT
jsr via_IBSOUT
;; XXX check errors here
jmp -
*
@@ -100,13 +101,16 @@ wedge_dos_status:
*
jsr JREADST ; retrieve errors
;; XXX error in case of status != 0
*
;; Print out everything retrieved from the drive
bne +
jsr JCHRIN
jsr JCHROUT
jsr via_IBASIN
jsr via_IBSOUT
jmp -
*
;; Print new line
lda #$0D
jsr via_IBSOUT
;; Clean-up and exit
jmp wedge_dos_clean_exit
+6 -1
View File
@@ -8,5 +8,10 @@
;; CPU registers that has to be preserved (see [RG64]): .Y
;;
;; XXX preserve register Y!
acptr:
rts
;; XXX temporary implementation
jsr kernalstatus_reset
jmp iec_rx_byte
+1 -1
View File
@@ -79,7 +79,7 @@ vector_defaults:
.word ckout ;; ICKOUT
.word clrchn ;; ICLRCH
.word chrin ;; IBASIN
.word chrout ;; IBASOUT
.word chrout ;; IBSOUT
.word stop ;; ISTOP
.word getin ;; IGETIN
.word clall ;; ICLALL