mirror of
https://github.com/dschmenk/PLASMA.git
synced 2025-01-11 13:29:44 +00:00
Fix keyboard reading for IIe so Virtual ][ works in full-screen
This commit is contained in:
parent
909aaace77
commit
d09299ebd4
@ -415,7 +415,7 @@ asm save_vmstate
|
||||
LDA $03F3
|
||||
STA VMRESET+1
|
||||
LDA $03F4
|
||||
STA VMRESET+2
|
||||
STA VMRESET+2
|
||||
LDA #<RESETENTRY
|
||||
STA $03F2
|
||||
LDA #>RESETENTRY
|
||||
@ -434,7 +434,7 @@ RESETENTRY
|
||||
STA $03F2
|
||||
LDA VMRESET+1
|
||||
STA $03F3
|
||||
LDA VMRESET+2
|
||||
LDA VMRESET+2
|
||||
STA $03F4
|
||||
LDX #$00
|
||||
STX IFPL
|
||||
@ -1437,8 +1437,9 @@ def keyin2e
|
||||
byte key
|
||||
repeat
|
||||
cursflash
|
||||
until ^keyboard >= 128
|
||||
key = ^keystrobe
|
||||
key = ^keyboard
|
||||
until key >= 128
|
||||
^keystrobe
|
||||
if ^$C062 & 128 // Closed Apple pressed
|
||||
when key
|
||||
is keyarrowleft
|
||||
@ -1994,7 +1995,7 @@ def parse_err(err)
|
||||
end
|
||||
//
|
||||
// Code tags. Upper bit is IS_RESOLVED flag, lower 15 is offset into codebuff
|
||||
// Flags are:
|
||||
// Flags are:
|
||||
//
|
||||
def ctag_new
|
||||
if codetag >= ctag_max; return parse_err(@ctag_full); fin
|
||||
@ -2875,10 +2876,10 @@ end
|
||||
def calc_binaryop(op)
|
||||
word val1, val2
|
||||
byte size1, size2, type1, type2
|
||||
|
||||
|
||||
if not pop_val(@val2, @size2, @type2); return 0; fin
|
||||
pop_val(@val1, @size1, @type1)
|
||||
if type1 <> CONST_TYPE and type2 <> CONST_TYPE; return parse_err(@bad_cnst); fin
|
||||
if type1 <> CONST_TYPE and type2 <> CONST_TYPE; return parse_err(@bad_cnst); fin
|
||||
when op
|
||||
is MUL_TKN
|
||||
val1 = val1 * val2
|
||||
@ -2919,7 +2920,7 @@ def calc_binaryop(op)
|
||||
end
|
||||
def parse_constterm(valptr, sizeptr)
|
||||
word type
|
||||
|
||||
|
||||
when scan
|
||||
is OPEN_PAREN_TKN
|
||||
type = parse_constexpr(valptr, sizeptr)
|
||||
@ -3040,7 +3041,7 @@ def parse_constexpr(valptr, sizeptr)
|
||||
end
|
||||
def parse_const(valptr)
|
||||
word idptr
|
||||
|
||||
|
||||
when scan
|
||||
is CHR_TKN
|
||||
is INT_TKN
|
||||
@ -3541,7 +3542,7 @@ def parse_stmnt
|
||||
loop
|
||||
if token <> UNTIL_TKN; return parse_err(@no_until); fin
|
||||
ctag_resolve(cont_tag)
|
||||
cont_tag = tag_prevcnt
|
||||
cont_tag = tag_prevcnt
|
||||
if !parse_expr; return FALSE; fin
|
||||
emit_brfls(tag_repeat)
|
||||
ctag_resolve(break_tag)
|
||||
@ -3610,7 +3611,7 @@ def parse_stmnt
|
||||
loop
|
||||
if token <> NEXT_TKN; return parse_err(@bad_stmnt); fin
|
||||
emit_branch(tag_for)
|
||||
cont_tag = tag_prevcnt
|
||||
cont_tag = tag_prevcnt
|
||||
ctag_resolve(break_tag)
|
||||
emit_drop
|
||||
break_tag = tag_prevbrk
|
||||
@ -3850,7 +3851,7 @@ def parse_struc
|
||||
strucid[idlen] = ^(tknptr + idlen)
|
||||
next
|
||||
fin
|
||||
offset = 0
|
||||
offset = 0
|
||||
while nextln == BYTE_TKN or token == WORD_TKN
|
||||
size = 1
|
||||
if token == BYTE_TKN
|
||||
@ -3861,7 +3862,7 @@ def parse_struc
|
||||
if scan == OPEN_BRACKET_TKN
|
||||
size = 0
|
||||
parse_constexpr(@size, @constsize)
|
||||
if token <> CLOSE_BRACKET_TKN; return parse_err(@no_close_bracket); fin
|
||||
if token <> CLOSE_BRACKET_TKN; return parse_err(@no_close_bracket); fin
|
||||
scan
|
||||
fin
|
||||
repeat
|
||||
@ -3872,9 +3873,9 @@ def parse_struc
|
||||
if scan == OPEN_BRACKET_TKN
|
||||
size = 0
|
||||
parse_constexpr(@size, @constsize)
|
||||
if token <> CLOSE_BRACKET_TKN; return parse_err(@no_close_bracket); fin
|
||||
if token <> CLOSE_BRACKET_TKN; return parse_err(@no_close_bracket); fin
|
||||
scan
|
||||
fin
|
||||
fin
|
||||
fin
|
||||
if type & WORD_TYPE
|
||||
size = size * 2
|
||||
|
Loading…
x
Reference in New Issue
Block a user