From 2c86c577bc73345c5190816d4f851c75d2790f9f Mon Sep 17 00:00:00 2001 From: FeralChild64 Date: Thu, 2 Jul 2020 22:51:48 +0200 Subject: [PATCH] work towards string deallocation --- src/basic/engine/varstr_alloc.s | 38 +++++++- src/basic/engine/varstr_dealloc.s | 9 -- src/basic/engine/varstr_free.s | 75 ++++++++++++++++ ...der_rom_routines_60k.s => under_rom_60k.s} | 0 .../memory/under_rom_peek_poke_46k_50k.s | 89 +++++++++++++++++++ ...es_46k_50k.s => under_rom_shift_46k_50k.s} | 62 ------------- ...routines_46k_50k.s => under_rom_46k_50k.s} | 0 ...der_rom_routines_60k.s => under_rom_60k.s} | 0 8 files changed, 200 insertions(+), 73 deletions(-) delete mode 100644 src/basic/engine/varstr_dealloc.s create mode 100644 src/basic/engine/varstr_free.s rename src/basic/memory/{under_rom_routines_60k.s => under_rom_60k.s} (100%) create mode 100644 src/basic/memory/under_rom_peek_poke_46k_50k.s rename src/basic/memory/{under_rom_routines_46k_50k.s => under_rom_shift_46k_50k.s} (67%) rename src/kernal/memory/{under_rom_routines_46k_50k.s => under_rom_46k_50k.s} (100%) rename src/kernal/memory/{under_rom_routines_60k.s => under_rom_60k.s} (100%) diff --git a/src/basic/engine/varstr_alloc.s b/src/basic/engine/varstr_alloc.s index 35880328..8a24fec7 100644 --- a/src/basic/engine/varstr_alloc.s +++ b/src/basic/engine/varstr_alloc.s @@ -19,6 +19,7 @@ // // XXX test this routine +// XXX make it compatible with under-ROM routines varstr_alloc: @@ -61,15 +62,36 @@ varstr_alloc_retry: ldy #$00 lda DSCPNT+0 + +#if CONFIG_MEMORY_MODEL_60K + ldx # $00 - lda (DSCPNT), y + +#if CONFIG_MEMORY_MODEL_60K + ldx # $01 lda FRETOP+0 - sta (DSCPNT), y + +#if CONFIG_MEMORY_MODEL_60K + ldx # memmove__src diff --git a/src/kernal/memory/under_rom_routines_46k_50k.s b/src/kernal/memory/under_rom_46k_50k.s similarity index 100% rename from src/kernal/memory/under_rom_routines_46k_50k.s rename to src/kernal/memory/under_rom_46k_50k.s diff --git a/src/kernal/memory/under_rom_routines_60k.s b/src/kernal/memory/under_rom_60k.s similarity index 100% rename from src/kernal/memory/under_rom_routines_60k.s rename to src/kernal/memory/under_rom_60k.s