added hooks for ST, TI and TI$ variables

This commit is contained in:
FeralChild64 committed 2020-07-18 20:53:52 +02:00
1 parent 59af3b7e57
commit e99bb9356a
5 files changed
+61 -2

No files matched your search

+28 -2
View File
@@ -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
+10
View File
@@ -0,0 +1,10 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# * BASIC_0 #TAKE
// #LAYOUT# * * #IGNORE
fetch_variable_ST:
// XXX implement this
jmp do_NOT_IMPLEMENTED_error
+10
View File
@@ -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
+3
View File
@@ -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: