fixed 2 typos in syymbol names, updated binaries
This commit is contained in:
1 parent
af1f5b079d
commit
5fd45f1ece
16 files changed
+32
-32
No files matched your search
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -145,7 +145,7 @@
|
||||
.label NDX = $C6 // number of chars in keyboard buffer
|
||||
.label RVS = $C7 // flag, whether to print reversed characters
|
||||
.label INDX = $C8 // end of logical line (column, 0-79)
|
||||
.label LXSP = $C9 // $C9-$CA start of input, X/Y position
|
||||
.label LSXP = $C9 // $C9-$CA start of input, X/Y position (typo in Mapping the C64, fixed in Mapping the C128)
|
||||
.label SFDX = $CB // -- NOT IMPLEMENTED --
|
||||
.label BLNSW = $CC // cursor blink disable flag
|
||||
.label BLNCT = $CD // cursor blink countdown
|
||||
@@ -159,7 +159,7 @@
|
||||
.label TBLX = $D6 // current screen Y position (row), 0-24
|
||||
.label SCHAR = $D7 // ASCII value of the last printed character
|
||||
.label INSRT = $D8 // insert mode flag/counter
|
||||
.label LDTBL = $D9 // $D9-$F2 screen line link table, [!] our usage is different XXX give more details
|
||||
.label LDTB1 = $D9 // $D9-$F2 screen line link table, [!] our usage is different XXX give more details
|
||||
.label USER = $F3 // $F3-$F4 pointer to current color RAM location
|
||||
.label KEYTAB = $F5 // $F5-$F6 pointer to keyboard lookup table
|
||||
.label RIBUF = $F7 // $F7-$F8 -- WIP -- RS-232 receive buffer pointer
|
||||
|
||||
@@ -25,7 +25,7 @@ chrin_repeat:
|
||||
lda CRSW
|
||||
beq read_from_keyboard
|
||||
|
||||
// Yes, we have input waiting at (LXSP)+CRSW
|
||||
// Yes, we have input waiting at (LSXP)+CRSW
|
||||
// When CRSW = INDX, then we return a carriage return
|
||||
// and clear the flag
|
||||
cmp INDX
|
||||
@@ -57,7 +57,7 @@ not_end_of_input:
|
||||
tay
|
||||
|
||||
chrin_keyboard_return_byte:
|
||||
lda (LXSP),y
|
||||
lda (LSXP),y
|
||||
jsr screen_check_toggle_quote
|
||||
tax
|
||||
ply_trash_a
|
||||
@@ -92,20 +92,20 @@ chrin_enter:
|
||||
|
||||
// Set pointer to line of input
|
||||
lda PNT+0
|
||||
sta LXSP+0
|
||||
sta LSXP+0
|
||||
lda PNT+1
|
||||
sta LXSP+1
|
||||
sta LSXP+1
|
||||
|
||||
// If the current line is a continuation of the previous one, decrease LXSP by 40
|
||||
// If the current line is a continuation of the previous one, decrease LSXP by 40
|
||||
ldy TBLX
|
||||
lda LDTBL, y
|
||||
lda LDTB1, y
|
||||
bmi chrin_enter_calc_length // branch if not continuation
|
||||
lda LXSP+0
|
||||
lda LSXP+0
|
||||
sec
|
||||
sbc #40
|
||||
sta LXSP+0
|
||||
sta LSXP+0
|
||||
bcs !+
|
||||
dec LXSP+1
|
||||
dec LSXP+1
|
||||
!:
|
||||
ldy #80
|
||||
bne chrin_enter_loop // branch always
|
||||
@@ -121,7 +121,7 @@ chrin_enter_loop:
|
||||
// Retrieve bytes
|
||||
dey
|
||||
bmi empty_line
|
||||
lda (LXSP),y
|
||||
lda (LSXP),y
|
||||
cmp #$20
|
||||
beq chrin_enter_loop
|
||||
iny
|
||||
|
||||
@@ -26,7 +26,7 @@ chrout_screen_ins_possible:
|
||||
|
||||
// Special handling for cursor in second line
|
||||
ldx TBLX
|
||||
lda LDTBL+0, x
|
||||
lda LDTB1+0, x
|
||||
bpl chrout_screen_ins_second_line
|
||||
|
||||
// Perform character copy
|
||||
|
||||
@@ -24,7 +24,7 @@ chrout_screen_RETURN:
|
||||
cpy #24
|
||||
beq !+ // last line on screen - no need for a double line skip
|
||||
|
||||
lda LDTBL+1, y
|
||||
lda LDTB1+1, y
|
||||
bmi !+ // current line is not continued
|
||||
|
||||
inc TBLX
|
||||
|
||||
@@ -17,9 +17,9 @@ clear_screen:
|
||||
// continuation of the previous one
|
||||
|
||||
lda #$80
|
||||
ldy #24
|
||||
ldy #24
|
||||
!:
|
||||
sta LDTBL,y
|
||||
sta LDTB1,y
|
||||
dey
|
||||
bpl !-
|
||||
|
||||
|
||||
@@ -47,18 +47,18 @@ screen_scroll_up:
|
||||
|
||||
screen_scroll_up_delay_done: // entry point for cursor move control codes
|
||||
|
||||
// Scroll the LDTBL (line link table)
|
||||
// Scroll the LDTB1 (line link table)
|
||||
|
||||
ldy #$00
|
||||
!:
|
||||
lda LDTBL+1, y
|
||||
sta LDTBL+0, y
|
||||
lda LDTB1+1, y
|
||||
sta LDTB1+0, y
|
||||
iny
|
||||
cpy #24
|
||||
bne !-
|
||||
|
||||
lda #$80
|
||||
sta LDTBL+24
|
||||
sta LDTB1+24
|
||||
|
||||
// Preserve SAL and EAL, prepare initial SAL/EAL/PNT/USER values
|
||||
|
||||
@@ -126,7 +126,7 @@ screen_scroll_up_loop_done:
|
||||
|
||||
// If the first line is linked, scroll once more
|
||||
|
||||
bit LDTBL+0
|
||||
bit LDTB1+0
|
||||
bpl screen_scroll_up
|
||||
|
||||
// Recalculate PNT and USER
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
screen_calculate_PNTR_LNMX:
|
||||
|
||||
ldy TBLX
|
||||
lda LDTBL, y
|
||||
lda LDTB1, y
|
||||
php
|
||||
jsr screen_get_clipped_PNTR
|
||||
plp
|
||||
@@ -38,14 +38,14 @@ screen_calculate_PNTR_0_39:
|
||||
screen_calculate_LNMX:
|
||||
|
||||
ldy TBLX
|
||||
lda LDTBL, y
|
||||
lda LDTB1, y
|
||||
bpl screen_calculate_lnmx_79 // this line is a continuation
|
||||
|
||||
cpy #24
|
||||
beq screen_calculate_lnmx_39 // this is the last line, which is not a continuation
|
||||
|
||||
iny
|
||||
lda LDTBL, y
|
||||
lda LDTB1, y
|
||||
bpl screen_calculate_lnmx_79 // line is continued
|
||||
|
||||
// FALLTROUGH
|
||||
|
||||
@@ -10,10 +10,10 @@ screen_get_logical_line_end_ptr:
|
||||
cpy #24
|
||||
bcs screen_get_logical_line_end_39 // last line of the screen
|
||||
|
||||
lda LDTBL+0, y
|
||||
lda LDTB1+0, y
|
||||
bpl screen_get_logical_line_end_39 // current line continues previous one
|
||||
|
||||
lda LDTBL+1, y
|
||||
lda LDTB1+1, y
|
||||
bmi screen_get_logical_line_end_39 // current line is not continued
|
||||
|
||||
// FALLTROUGH
|
||||
|
||||
@@ -26,7 +26,7 @@ screen_grow_logical_line:
|
||||
|
||||
// Do not grow line if previus one is grown
|
||||
ldy TBLX
|
||||
lda LDTBL+0, y
|
||||
lda LDTB1+0, y
|
||||
bpl screen_grow_logical_line_done_scroll
|
||||
|
||||
// If last line, scroll the screen up
|
||||
@@ -34,22 +34,22 @@ screen_grow_logical_line:
|
||||
beq screen_grow_logical_line_screen_up
|
||||
|
||||
// Do not grow line if already grown
|
||||
lda LDTBL+1, y
|
||||
lda LDTB1+1, y
|
||||
bpl screen_grow_logical_line_done
|
||||
|
||||
// Preserve SAL and EAL
|
||||
|
||||
jsr screen_preserve_sal_eal
|
||||
|
||||
// Scroll LDTBL down (start from the end)
|
||||
// Scroll LDTB1 down (start from the end)
|
||||
ldy #23
|
||||
!:
|
||||
cpy TBLX
|
||||
beq !+
|
||||
bcc !+
|
||||
|
||||
lda LDTBL+0, y
|
||||
sta LDTBL+1, y
|
||||
lda LDTB1+0, y
|
||||
sta LDTB1+1, y
|
||||
|
||||
dey
|
||||
bne !-
|
||||
@@ -57,7 +57,7 @@ screen_grow_logical_line:
|
||||
// Mark current line as grown
|
||||
ldy TBLX
|
||||
lda #$00
|
||||
sta LDTBL+1, y
|
||||
sta LDTB1+1, y
|
||||
|
||||
// Now we have to scroll lines downwards to make space. We start from the end,
|
||||
// and work backwards. We cannot be as simple and efficient here as we are
|
||||
|
||||
Reference in new issue
Block a user