keyboard part of CHRIN now preserves .Y
This commit is contained in:
1 parent
671a3bc3bf
commit
8cd2eac996
12 files changed
+12
-7
No files matched your search
@@ -8,8 +8,6 @@
|
||||
// CPU registers that has to be preserved (see [RG64]): .Y
|
||||
//
|
||||
|
||||
// XXX keyboard part currently does not preserve register Y, to be fixed!
|
||||
|
||||
// Reads a byte of input, unless from keyboard.
|
||||
// If from keyboard, then it gets a whole line of input, and returns the first char.
|
||||
// Repeated calls after that read out the successive bytes of the line of input.
|
||||
|
||||
@@ -7,7 +7,10 @@
|
||||
chrin_keyboard:
|
||||
|
||||
// Save .X
|
||||
phx_trash_a
|
||||
stx XSAV
|
||||
|
||||
// Save .Y
|
||||
phy_trash_a
|
||||
|
||||
chrin_repeat:
|
||||
|
||||
@@ -35,7 +38,8 @@ empty_line:
|
||||
// (and don't forget to actually print the carriage return, so that
|
||||
// the cursor advances and screen scrolls as required)
|
||||
|
||||
plx_trash_a
|
||||
ply_trash_a
|
||||
ldx XSAV
|
||||
clc
|
||||
lda #$0d
|
||||
rts
|
||||
@@ -47,8 +51,11 @@ not_end_of_input:
|
||||
// Return next byte of waiting
|
||||
tay
|
||||
chrin_keyboard_return_byte:
|
||||
plx_trash_a
|
||||
lda (LXSP),y
|
||||
tax
|
||||
ply_trash_a
|
||||
txa
|
||||
ldx XSAV
|
||||
jsr screen_code_to_petscii
|
||||
clc
|
||||
rts
|
||||
|
||||
Reference in new issue
Block a user