fix decoding of shifted and vendor shifted input. BASIC keyword short cuts now work.
This commit is contained in:
1 parent
0652c536cd
commit
2cade1508f
1 file changed
+27
@@ -37,6 +37,7 @@ not_end_of_input:
|
|||||||
pla
|
pla
|
||||||
tax
|
tax
|
||||||
lda (start_of_keyboard_input),y
|
lda (start_of_keyboard_input),y
|
||||||
|
jsr screen_code_to_petscii
|
||||||
inc keyboard_input_ready
|
inc keyboard_input_ready
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
@@ -85,6 +86,7 @@ read_from_keyboard:
|
|||||||
pla
|
pla
|
||||||
tax
|
tax
|
||||||
lda (start_of_keyboard_input),y
|
lda (start_of_keyboard_input),y
|
||||||
|
jsr screen_code_to_petscii
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
@@ -126,3 +128,28 @@ pop_keyboard_buffer:
|
|||||||
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
screen_code_to_petscii:
|
||||||
|
cmp #$1a
|
||||||
|
bcs not_alpha
|
||||||
|
|
||||||
|
clc
|
||||||
|
adc #$40
|
||||||
|
rts
|
||||||
|
|
||||||
|
not_alpha:
|
||||||
|
cmp #$40
|
||||||
|
bcs not_punctuation
|
||||||
|
|
||||||
|
rts
|
||||||
|
|
||||||
|
not_punctuation:
|
||||||
|
cmp #$5a
|
||||||
|
bcs not_shifted
|
||||||
|
|
||||||
|
clc
|
||||||
|
adc #$80
|
||||||
|
|
||||||
|
not_shifted:
|
||||||
|
|
||||||
|
|
||||||
|
rts
|
||||||
Reference in new issue
Block a user