diff --git a/src/basic/engine/varstr_free.s b/src/basic/engine/varstr_free.s index c86cf3f7..96878cc2 100644 --- a/src/basic/engine/varstr_free.s +++ b/src/basic/engine/varstr_free.s @@ -10,8 +10,6 @@ // - DSCPNT+1, DSCPNT+2 - pointer to string // -// XXX test this routine - varstr_free: diff --git a/src/basic/engine/varstr_cmp_fretop.s b/src/basic/engine/varstr_free_cmp_fretop.s similarity index 100% rename from src/basic/engine/varstr_cmp_fretop.s rename to src/basic/engine/varstr_free_cmp_fretop.s diff --git a/src/basic/engine/varstr_free_fretop.s b/src/basic/engine/varstr_free_fretop.s index f1abde57..7cf7d941 100644 --- a/src/basic/engine/varstr_free_fretop.s +++ b/src/basic/engine/varstr_free_fretop.s @@ -6,7 +6,6 @@ // Helper routines for 'varstr_free' // -// XXX change DSCPNT to use standard descriptor format varstr_FRETOP_up: // DSCPNT+0 - bytes to increment FRETO diff --git a/src/basic/engine/varstr_garbage_collect.s b/src/basic/engine/varstr_garbage_collect.s index 45b6a093..35a739b0 100644 --- a/src/basic/engine/varstr_garbage_collect.s +++ b/src/basic/engine/varstr_garbage_collect.s @@ -2,8 +2,6 @@ // #LAYOUT# * BASIC_0 #TAKE // #LAYOUT# * * #IGNORE -// XXX test this routine - varstr_garbage_collect: @@ -327,37 +325,3 @@ varstr_garbage_collect_unused: // Next iteration jmp varstr_garbage_collect_loop - - - - - - - // XXX move these routines to separate files - -varstr_TXTPTR_down_A: // .A - bytes to decrease TXTPTR, uses DSCPNT+0 - - sta DSCPNT+0 - - sec - lda TXTPTR+0 - sbc DSCPNT+0 - sta TXTPTR+0 - bcs !+ - dec TXTPTR+1 -!: - rts - - -varstr_INDEX_up_A: // .A - bytes to increase TXTPTR, uses DSCPNT+0 - - sta DSCPNT+0 - - clc - lda INDEX+0 - adc DSCPNT+0 - sta INDEX+0 - bcc !+ - dec INDEX+1 -!: - rts diff --git a/src/basic/engine/varstr_garbage_index_up_a.s b/src/basic/engine/varstr_garbage_index_up_a.s new file mode 100644 index 00000000..84dfed13 --- /dev/null +++ b/src/basic/engine/varstr_garbage_index_up_a.s @@ -0,0 +1,21 @@ +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE + +// +// Helper routine, used by garbage collector +// + + +varstr_INDEX_up_A: // .A - bytes to increase TXTPTR, uses DSCPNT+0 + + sta DSCPNT+0 + + clc + lda INDEX+0 + adc DSCPNT+0 + sta INDEX+0 + bcc !+ + dec INDEX+1 +!: + rts diff --git a/src/basic/engine/varstr_garbage_txtptr_down_s.s b/src/basic/engine/varstr_garbage_txtptr_down_s.s new file mode 100644 index 00000000..c9bfefa5 --- /dev/null +++ b/src/basic/engine/varstr_garbage_txtptr_down_s.s @@ -0,0 +1,21 @@ +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE + +// +// Helper routine, used by garbage collector +// + + +varstr_TXTPTR_down_A: // .A - bytes to decrease TXTPTR, uses DSCPNT+0 + + sta DSCPNT+0 + + sec + lda TXTPTR+0 + sbc DSCPNT+0 + sta TXTPTR+0 + bcs !+ + dec TXTPTR+1 +!: + rts