CHRIN fix, M65 part
This commit is contained in:
1 parent
d692887261
commit
559d087c39
1 file changed
+15
-12
@@ -6,7 +6,7 @@
|
|||||||
;
|
;
|
||||||
|
|
||||||
|
|
||||||
m65_chrin_keyboard: ; XXX connnect this function to Kernal
|
m65_chrin_keyboard:
|
||||||
|
|
||||||
; Preserve .X, .Y and .Z register
|
; Preserve .X, .Y and .Z register
|
||||||
|
|
||||||
@@ -14,6 +14,11 @@ m65_chrin_keyboard: ; XXX connnect this function to Kernal
|
|||||||
phy
|
phy
|
||||||
phz
|
phz
|
||||||
|
|
||||||
|
; Preserve old PNTR
|
||||||
|
|
||||||
|
lda PNTR
|
||||||
|
pha
|
||||||
|
|
||||||
; FALLTROUGH
|
; FALLTROUGH
|
||||||
|
|
||||||
m65_chrin_keyboard_repeat:
|
m65_chrin_keyboard_repeat:
|
||||||
@@ -48,6 +53,8 @@ m65_chrin_keyboard_empty_line:
|
|||||||
|
|
||||||
m65_chrin_keyboard_end:
|
m65_chrin_keyboard_end:
|
||||||
|
|
||||||
|
plz ; drop stored PNTR
|
||||||
|
|
||||||
plz
|
plz
|
||||||
ply
|
ply
|
||||||
plx
|
plx
|
||||||
@@ -61,10 +68,6 @@ m65_chrin_keyboard_not_end_of_input:
|
|||||||
inc CRSW
|
inc CRSW
|
||||||
tay
|
tay
|
||||||
|
|
||||||
; FALLTROUGH
|
|
||||||
|
|
||||||
m65_chrin_keyboard_return_byte:
|
|
||||||
|
|
||||||
jsr m65_helper_scrlpnt_chrin
|
jsr m65_helper_scrlpnt_chrin
|
||||||
|
|
||||||
tya
|
tya
|
||||||
@@ -141,17 +144,17 @@ m65_chrin_enter_loop:
|
|||||||
|
|
||||||
; XXX add windowed mode support here - correct INDX and M65__SCRINPUT
|
; XXX add windowed mode support here - correct INDX and M65__SCRINPUT
|
||||||
|
|
||||||
; Set mark informing that we are returning a line
|
|
||||||
ldy #$01
|
|
||||||
sty CRSW ; XXX has to get previous PNTR+1, not 1
|
|
||||||
|
|
||||||
; Clear quote mode mark
|
; Clear quote mode mark
|
||||||
dey
|
ldy #$00
|
||||||
sty QTSW
|
sty QTSW
|
||||||
|
|
||||||
; Return first char of line
|
; Set current character to return
|
||||||
bra m65_chrin_keyboard_return_byte ; branch always
|
pla
|
||||||
|
pha
|
||||||
|
sta CRSW
|
||||||
|
|
||||||
|
; Return first char
|
||||||
|
bra m65_chrin_keyboard_not_end_of_input
|
||||||
|
|
||||||
m65_chrin_keyboard_not_enter:
|
m65_chrin_keyboard_not_enter:
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user