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
|
||||
|
||||
#if HAS_OPCODES_65C02
|
||||
bra fetch_variable_find_addr
|
||||
bra fetch_variable_special
|
||||
#else
|
||||
jmp fetch_variable_find_addr
|
||||
jmp fetch_variable_special
|
||||
#endif
|
||||
|
||||
fetch_variable_type_integer:
|
||||
@@ -89,6 +89,32 @@ fetch_variable_type_string:
|
||||
|
||||
// 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:
|
||||
|
||||
// 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
|
||||
//
|
||||
|
||||
// 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:
|
||||
|
||||
|
||||
Reference in new issue
Block a user