added hooks for ST, TI and TI$ variables
This commit is contained in:
1 parent
59af3b7e57
commit
e99bb9356a
5 files changed
+61
-2
No files matched your search
@@ -68,9 +68,9 @@ fetch_variable_type_float:
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if HAS_OPCODES_65C02
|
#if HAS_OPCODES_65C02
|
||||||
bra fetch_variable_find_addr
|
bra fetch_variable_special
|
||||||
#else
|
#else
|
||||||
jmp fetch_variable_find_addr
|
jmp fetch_variable_special
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
fetch_variable_type_integer:
|
fetch_variable_type_integer:
|
||||||
@@ -89,6 +89,32 @@ fetch_variable_type_string:
|
|||||||
|
|
||||||
// FALLTROUGH
|
// FALLTROUGH
|
||||||
|
|
||||||
|
fetch_variable_special:
|
||||||
|
|
||||||
|
lda VARNAM+0
|
||||||
|
cmp #$54 // 'T'
|
||||||
|
beq !+
|
||||||
|
cmp #$53 // 'S'
|
||||||
|
bne fetch_variable_find_addr
|
||||||
|
|
||||||
|
// First character is 'S', check the second one
|
||||||
|
|
||||||
|
lda VARNAM+1
|
||||||
|
cmp #$54 // 'T'
|
||||||
|
bne fetch_variable_find_addr
|
||||||
|
|
||||||
|
jmp fetch_variable_ST
|
||||||
|
!:
|
||||||
|
// First character is 'T', check the second one
|
||||||
|
|
||||||
|
lda VARNAM+1
|
||||||
|
cmp #$49
|
||||||
|
beq_16 fetch_variable_TI
|
||||||
|
cmp #$C9
|
||||||
|
beq_16 fetch_variable_TI_string
|
||||||
|
|
||||||
|
// FALLTROUGH
|
||||||
|
|
||||||
fetch_variable_find_addr:
|
fetch_variable_find_addr:
|
||||||
|
|
||||||
// Now try to find variable address between VARTAB and ARYTAB, see
|
// Now try to find variable address between VARTAB and ARYTAB, see
|
||||||
|
|||||||
@@ -0,0 +1,10 @@
|
|||||||
|
// #LAYOUT# STD * #TAKE
|
||||||
|
// #LAYOUT# * BASIC_0 #TAKE
|
||||||
|
// #LAYOUT# * * #IGNORE
|
||||||
|
|
||||||
|
|
||||||
|
fetch_variable_ST:
|
||||||
|
|
||||||
|
// XXX implement this
|
||||||
|
|
||||||
|
jmp do_NOT_IMPLEMENTED_error
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
// #LAYOUT# STD * #TAKE
|
||||||
|
// #LAYOUT# * BASIC_0 #TAKE
|
||||||
|
// #LAYOUT# * * #IGNORE
|
||||||
|
|
||||||
|
|
||||||
|
fetch_variable_TI:
|
||||||
|
|
||||||
|
// XXX implement this
|
||||||
|
|
||||||
|
jmp do_NOT_IMPLEMENTED_error
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
// #LAYOUT# STD * #TAKE
|
||||||
|
// #LAYOUT# * BASIC_0 #TAKE
|
||||||
|
// #LAYOUT# * * #IGNORE
|
||||||
|
|
||||||
|
|
||||||
|
fetch_variable_TI_string:
|
||||||
|
|
||||||
|
// XXX implement this
|
||||||
|
|
||||||
|
jmp do_NOT_IMPLEMENTED_error
|
||||||
@@ -20,6 +20,9 @@
|
|||||||
// - fills-in pointer in the string descriptor
|
// - fills-in pointer in the string descriptor
|
||||||
//
|
//
|
||||||
|
|
||||||
|
// NOTE: if FAC1 or FAC2 contains a value (not a string descriptor - these are going to be updated
|
||||||
|
// if garbage collector starts), then preserve __FAC1+1/+2 and __FAC2+1/+2 somewhere, as there
|
||||||
|
// is a small chance they'll get damaged!
|
||||||
|
|
||||||
varstr_alloc:
|
varstr_alloc:
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user