various character handling fixes
This commit is contained in:
1 parent
15021939ce
commit
f4db0f31c6
15 files changed
+43
-34
No files matched your search
@@ -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 | |
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -20,7 +20,7 @@ print_string_loop:
|
||||
lda (temp_string_ptr),y
|
||||
beq print_string_end
|
||||
|
||||
jsr JCHROUT
|
||||
jsr via_IBSOUT
|
||||
|
||||
txa
|
||||
tay
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -17,7 +17,7 @@ basic_do_break:
|
||||
|
||||
*
|
||||
lda #$0d
|
||||
jsr JCHROUT
|
||||
jsr via_IBSOUT
|
||||
cmd_end:
|
||||
jmp basic_main_loop
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -115,7 +115,7 @@ found_start_of_number:
|
||||
;; Print digits
|
||||
* lda $0100,y
|
||||
ora #$30
|
||||
jsr JCHROUT
|
||||
jsr via_IBSOUT
|
||||
iny
|
||||
cpy #5
|
||||
bne -
|
||||
|
||||
@@ -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
@@ -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
|
||||
@@ -21,8 +21,8 @@ via_ICLRCH:
|
||||
via_IBASIN:
|
||||
jmp (IBASIN)
|
||||
|
||||
via_IBASOUT:
|
||||
jmp (IBASOUT)
|
||||
via_IBSOUT:
|
||||
jmp (IBSOUT)
|
||||
|
||||
via_ISTOP:
|
||||
jmp (ISTOP)
|
||||
|
||||
@@ -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
@@ -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
@@ -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
|
||||
|
||||
Reference in new issue
Block a user