From 21f2f525718e3557c3ed48f67c7d153255a49db6 Mon Sep 17 00:00:00 2001 From: FeralChild64 Date: Wed, 24 Jun 2020 21:48:39 +0200 Subject: [PATCH] more work on new memory models --- c64/basic/a533.linkprg.s | 9 +- c64/basic/basic_commands/cmd_list.s | 3 + c64/basic/basic_commands/cmd_print.s | 4 + c64/basic/basic_delete_line.s | 4 + c64/basic/basic_do_new.s | 23 +++-- c64/basic/basic_find_line.s | 8 ++ c64/basic/basic_find_next_line.s | 4 + c64/basic/basic_follow_link_to_next_line.s | 4 + c64/basic/basic_insert_line.s | 6 +- c64/basic/basic_shift_mem_down.s | 11 ++- c64/basic/basic_shift_mem_up.s | 9 +- c64/basic/board_m65/mega65_imports.s | 3 - c64/basic/board_m65/mega65_proxies.s | 16 +--- c64/basic/e000.under_rom_routines_46k_50k.s | 72 ++++++++++++++++ c64/basic/engine/end_of_statement_check.s | 2 + c64/basic/engine/execute_line_statements.s | 4 + c64/basic/engine/fetch_character.s | 4 + c64/basic/peek_line_pointer_null_check.s | 6 ++ c64/basic/print/list_single_line.s | 23 +++-- ...om_routines.s => under_rom_routines_60k.s} | 10 +-- c64/kernal/iec/iec_send_file_name.s | 2 +- c64/kernal/iec/save_iec.s | 2 +- c64/kernal/iostack/load_save_common.s | 10 ++- .../memory/under_rom_routines_46k_50k.s | 85 +++++++++++++++++++ ...om_routines.s => under_rom_routines_60k.s} | 81 +----------------- c64/kernal/rs232/close_rs232.s | 4 - c64/kernal/rs232/open_rs232.s | 3 - 27 files changed, 279 insertions(+), 133 deletions(-) create mode 100644 c64/basic/e000.under_rom_routines_46k_50k.s rename c64/basic/{under_rom_routines.s => under_rom_routines_60k.s} (97%) create mode 100644 c64/kernal/memory/under_rom_routines_46k_50k.s rename c64/kernal/memory/{under_rom_routines.s => under_rom_routines_60k.s} (52%) diff --git a/c64/basic/a533.linkprg.s b/c64/basic/a533.linkprg.s index 57d6bdda..859faa8a 100644 --- a/c64/basic/a533.linkprg.s +++ b/c64/basic/a533.linkprg.s @@ -34,7 +34,10 @@ linkprg_loop: ldx #$F7FF +#elif CONFIG_MEMORY_MODEL_50K + lda #>$D000 +#elif CONFIG_MEMORY_MODEL_46K + lda #>$C000 #else // CONFIG_MEMORY_MODEL_38K lda #>$A000 #endif - .byte $2C + skip_2_bytes_trash_nvz !: -#if CONFIG_MEMORY_MODEL_60K - lda #>$F7FF -#else // CONFIG_MEMORY_MODEL_38K - lda #>$A000 -#endif + lda #>$8000 sta MEMSIZ+1 sta FRETOP+1 #if CONFIG_MEMORY_MODEL_60K - lda #<$F7FF -#else // CONFIG_MEMORY_MODEL_38K - lda #<$A000 + cpx #$80 + beq !+ + lda #$FF + skip_2_bytes_trash_nvz +!: + lda #<$00 +#else // CONFIG_MEMORY_MODEL_38K || CONFIG_MEMORY_MODEL_46K || CONFIG_MEMORY_MODEL_50K + lda #<$00 #endif sta MEMSIZ+0 sta FRETOP+0 diff --git a/c64/basic/basic_find_line.s b/c64/basic/basic_find_line.s index 45102507..be9a962e 100644 --- a/c64/basic/basic_find_line.s +++ b/c64/basic/basic_find_line.s @@ -22,6 +22,8 @@ basic_find_line_loop: #if CONFIG_MEMORY_MODEL_60K ldx #