more work on new memory models
This commit is contained in:
1 parent
6a4fe4d180
commit
21f2f52571
27 files changed
+279
-133
No files matched your search
@@ -34,7 +34,10 @@ linkprg_loop:
|
||||
ldx #<OLDTXT+0
|
||||
jsr peek_under_roms
|
||||
cmp #$00
|
||||
#else
|
||||
#elif CONFIG_MEMORY_MODEL_46K || CONFIG_MEMORY_MODEL_50K
|
||||
jsr peek_under_roms_via_OLDTXT
|
||||
cmp #$00
|
||||
#else // CONFIG_MEMORY_MODEL_38K
|
||||
lda (OLDTXT),y
|
||||
#endif
|
||||
|
||||
@@ -54,7 +57,9 @@ linkprg_end_of_line_search:
|
||||
#elif CONFIG_MEMORY_MODEL_60K
|
||||
ldx #<OLDTXT+0
|
||||
jsr peek_under_roms
|
||||
#else
|
||||
#elif CONFIG_MEMORY_MODEL_46K || CONFIG_MEMORY_MODEL_50K
|
||||
jsr peek_under_roms_via_OLDTXT
|
||||
#else // CONFIG_MEMORY_MODEL_38K
|
||||
lda (OLDTXT),y
|
||||
#endif
|
||||
|
||||
|
||||
@@ -19,6 +19,9 @@ list_loop:
|
||||
ldx #<OLDTXT+0
|
||||
jsr peek_under_roms
|
||||
cmp #$00
|
||||
#elif CONFIG_MEMORY_MODEL_46K || CONFIG_MEMORY_MODEL_50K
|
||||
jsr peek_under_roms_via_OLDTXT
|
||||
cmp #$00
|
||||
#else // CONFIG_MEMORY_MODEL_38K
|
||||
lda (OLDTXT),y
|
||||
#endif
|
||||
|
||||
@@ -47,6 +47,10 @@ cmd_print_string:
|
||||
ldx #<(__FAC1 + 1)
|
||||
jsr peek_under_roms
|
||||
|
||||
#elif CONFIG_MEMORY_MODEL_46K || CONFIG_MEMORY_MODEL_50K
|
||||
|
||||
jsr peek_under_roms_via_FAC1_PLUS_1
|
||||
|
||||
#else // CONFIG_MEMORY_MODEL_38K
|
||||
|
||||
lda (__FAC1 + 1), y
|
||||
|
||||
@@ -23,6 +23,8 @@ basic_delete_line:
|
||||
#if CONFIG_MEMORY_MODEL_60K
|
||||
ldx #<OLDTXT
|
||||
jsr peek_under_roms
|
||||
#elif CONFIG_MEMORY_MODEL_46K || CONFIG_MEMORY_MODEL_50K
|
||||
jsr peek_under_roms_via_OLDTXT
|
||||
#else // CONFIG_MEMORY_MODEL_38K
|
||||
lda (OLDTXT),y
|
||||
#endif
|
||||
@@ -32,6 +34,8 @@ basic_delete_line:
|
||||
|
||||
#if CONFIG_MEMORY_MODEL_60K
|
||||
jsr peek_under_roms
|
||||
#elif CONFIG_MEMORY_MODEL_46K || CONFIG_MEMORY_MODEL_50K
|
||||
jsr peek_under_roms_via_OLDTXT
|
||||
#else // CONFIG_MEMORY_MODEL_38K
|
||||
lda (OLDTXT),y
|
||||
#endif
|
||||
|
||||
@@ -53,22 +53,27 @@ basic_do_clr:
|
||||
beq !+
|
||||
#if CONFIG_MEMORY_MODEL_60K
|
||||
lda #>$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
|
||||
|
||||
@@ -22,6 +22,8 @@ basic_find_line_loop:
|
||||
#if CONFIG_MEMORY_MODEL_60K
|
||||
ldx #<OLDTXT+0
|
||||
jsr peek_under_roms
|
||||
#elif CONFIG_MEMORY_MODEL_46K || CONFIG_MEMORY_MODEL_50K
|
||||
jsr peek_under_roms_via_OLDTXT
|
||||
#else // CONFIG_MEMORY_MODEL_38K
|
||||
lda (OLDTXT),y
|
||||
#endif
|
||||
@@ -36,6 +38,8 @@ basic_find_line_loop:
|
||||
|
||||
#if CONFIG_MEMORY_MODEL_60K
|
||||
jsr peek_under_roms
|
||||
#elif CONFIG_MEMORY_MODEL_46K || CONFIG_MEMORY_MODEL_50K
|
||||
jsr peek_under_roms_via_OLDTXT
|
||||
#else // CONFIG_MEMORY_MODEL_38K
|
||||
lda (OLDTXT),y
|
||||
#endif
|
||||
@@ -66,6 +70,8 @@ more_lines_exist:
|
||||
#if CONFIG_MEMORY_MODEL_60K
|
||||
ldx #<OLDTXT+0
|
||||
jsr peek_under_roms
|
||||
#elif CONFIG_MEMORY_MODEL_46K || CONFIG_MEMORY_MODEL_50K
|
||||
jsr peek_under_roms_via_OLDTXT
|
||||
#else // CONFIG_MEMORY_MODEL_38K
|
||||
lda (OLDTXT),y
|
||||
#endif
|
||||
@@ -75,6 +81,8 @@ more_lines_exist:
|
||||
|
||||
#if CONFIG_MEMORY_MODEL_60K
|
||||
jsr peek_under_roms
|
||||
#elif CONFIG_MEMORY_MODEL_46K || CONFIG_MEMORY_MODEL_50K
|
||||
jsr peek_under_roms_via_OLDTXT
|
||||
#else // CONFIG_MEMORY_MODEL_38K
|
||||
lda (OLDTXT),y
|
||||
#endif
|
||||
|
||||
@@ -12,6 +12,8 @@ basic_find_next_line:
|
||||
#if CONFIG_MEMORY_MODEL_60K
|
||||
ldx #<OLDTXT+0
|
||||
jsr peek_under_roms
|
||||
#elif CONFIG_MEMORY_MODEL_46K || CONFIG_MEMORY_MODEL_50K
|
||||
jsr peek_under_roms_via_OLDTXT
|
||||
#else // CONFIG_MEMORY_MODEL_38K
|
||||
lda (OLDTXT),y
|
||||
#endif
|
||||
@@ -21,6 +23,8 @@ basic_find_next_line:
|
||||
|
||||
#if CONFIG_MEMORY_MODEL_60K
|
||||
jsr peek_under_roms
|
||||
#elif CONFIG_MEMORY_MODEL_46K || CONFIG_MEMORY_MODEL_50K
|
||||
jsr peek_under_roms_via_OLDTXT
|
||||
#else // CONFIG_MEMORY_MODEL_38K
|
||||
lda (OLDTXT),y
|
||||
#endif
|
||||
|
||||
@@ -8,6 +8,8 @@ basic_follow_link_to_next_line:
|
||||
#if CONFIG_MEMORY_MODEL_60K
|
||||
ldx #<OLDTXT+0
|
||||
jsr peek_under_roms
|
||||
#elif CONFIG_MEMORY_MODEL_46K || CONFIG_MEMORY_MODEL_50K
|
||||
jsr peek_under_roms_via_OLDTXT
|
||||
#else // CONFIG_MEMORY_MODEL_38K
|
||||
lda (OLDTXT),y
|
||||
#endif
|
||||
@@ -17,6 +19,8 @@ basic_follow_link_to_next_line:
|
||||
|
||||
#if CONFIG_MEMORY_MODEL_60K
|
||||
jsr peek_under_roms
|
||||
#elif CONFIG_MEMORY_MODEL_46K || CONFIG_MEMORY_MODEL_50K
|
||||
jsr peek_under_roms_via_OLDTXT
|
||||
#else // CONFIG_MEMORY_MODEL_38K
|
||||
lda (OLDTXT),y
|
||||
#endif
|
||||
|
||||
@@ -67,7 +67,7 @@ basic_insert_line:
|
||||
#if CONFIG_MEMORY_MODEL_60K
|
||||
ldx #<OLDTXT+0
|
||||
jsr poke_under_roms
|
||||
#else // CONFIG_MEMORY_MODEL_38K
|
||||
#else // CONFIG_MEMORY_MODEL_38K || CONFIG_MEMORY_MODEL_46K || CONFIG_MEMORY_MODEL_50K
|
||||
sta (OLDTXT),y
|
||||
#endif
|
||||
|
||||
@@ -76,7 +76,7 @@ basic_insert_line:
|
||||
|
||||
#if CONFIG_MEMORY_MODEL_60K
|
||||
jsr poke_under_roms
|
||||
#else // CONFIG_MEMORY_MODEL_38K
|
||||
#else // CONFIG_MEMORY_MODEL_38K || CONFIG_MEMORY_MODEL_46K || CONFIG_MEMORY_MODEL_50K
|
||||
sta (OLDTXT),y
|
||||
#endif
|
||||
|
||||
@@ -91,7 +91,7 @@ line_store_loop:
|
||||
#if CONFIG_MEMORY_MODEL_60K
|
||||
ldx #<OLDTXT+0
|
||||
jsr poke_under_roms
|
||||
#else // CONFIG_MEMORY_MODEL_38K
|
||||
#else // CONFIG_MEMORY_MODEL_38K || CONFIG_MEMORY_MODEL_46K || CONFIG_MEMORY_MODEL_50K
|
||||
sta (OLDTXT),y
|
||||
#endif
|
||||
|
||||
|
||||
@@ -3,6 +3,9 @@
|
||||
// #LAYOUT# * * #IGNORE
|
||||
|
||||
|
||||
// XXX review this code - for memory models below 60k this can probably be simplified
|
||||
|
||||
|
||||
basic_shift_mem_down_and_relink:
|
||||
// Shift memory down to basic_current_line_pointer
|
||||
// from X bytes further along.
|
||||
@@ -123,6 +126,8 @@ relink_down_next_line:
|
||||
#if CONFIG_MEMORY_MODEL_60K
|
||||
ldx #<OLDTXT+0
|
||||
jsr peek_under_roms
|
||||
#elif CONFIG_MEMORY_MODEL_46K || CONFIG_MEMORY_MODEL_50K
|
||||
jsr peek_under_roms_via_OLDTXT
|
||||
#else // CONFIG_MEMORY_MODEL_38K
|
||||
lda (OLDTXT),y
|
||||
#endif
|
||||
@@ -134,6 +139,8 @@ relink_down_next_line:
|
||||
|
||||
#if CONFIG_MEMORY_MODEL_60K
|
||||
jsr peek_under_roms
|
||||
#elif CONFIG_MEMORY_MODEL_46K || CONFIG_MEMORY_MODEL_50K
|
||||
jsr peek_under_roms_via_OLDTXT
|
||||
#else // CONFIG_MEMORY_MODEL_38K
|
||||
lda (OLDTXT),y
|
||||
#endif
|
||||
@@ -147,7 +154,7 @@ relink_down_next_line:
|
||||
#if CONFIG_MEMORY_MODEL_60K
|
||||
ldx #<OLDTXT+0
|
||||
jsr poke_under_roms
|
||||
#else // CONFIG_MEMORY_MODEL_38K
|
||||
#else // CONFIG_MEMORY_MODEL_38K || CONFIG_MEMORY_MODEL_46K || CONFIG_MEMORY_MODEL_50K
|
||||
sta (OLDTXT),y
|
||||
#endif
|
||||
|
||||
@@ -156,7 +163,7 @@ relink_down_next_line:
|
||||
|
||||
#if CONFIG_MEMORY_MODEL_60K
|
||||
jsr poke_under_roms
|
||||
#else // CONFIG_MEMORY_MODEL_38K
|
||||
#else // CONFIG_MEMORY_MODEL_38K || CONFIG_MEMORY_MODEL_46K || CONFIG_MEMORY_MODEL_50K
|
||||
sta (OLDTXT),y
|
||||
#endif
|
||||
|
||||
|
||||
@@ -3,6 +3,9 @@
|
||||
// #LAYOUT# * * #IGNORE
|
||||
|
||||
|
||||
// XXX review this code - for memory models below 60k this can probably be simplified
|
||||
|
||||
|
||||
basic_shift_mem_up_and_relink:
|
||||
// Shift memory up from OLDTXT
|
||||
// X bytes.
|
||||
@@ -114,7 +117,7 @@ basic_shift_mem_up_and_relink:
|
||||
#if CONFIG_MEMORY_MODEL_60K
|
||||
ldx #<OLDTXT+0
|
||||
jsr poke_under_roms
|
||||
#else // CONFIG_MEMORY_MODEL_38K
|
||||
#else // CONFIG_MEMORY_MODEL_38K || CONFIG_MEMORY_MODEL_46K || CONFIG_MEMORY_MODEL_50K
|
||||
sta (OLDTXT),y
|
||||
#endif
|
||||
|
||||
@@ -137,6 +140,8 @@ relink_up_next_line:
|
||||
#if CONFIG_MEMORY_MODEL_60K
|
||||
ldx #<OLDTXT+0
|
||||
jsr peek_under_roms
|
||||
#elif CONFIG_MEMORY_MODEL_46K || CONFIG_MEMORY_MODEL_50K
|
||||
jsr peek_under_roms_via_OLDTXT
|
||||
#else // CONFIG_MEMORY_MODEL_38K
|
||||
lda (OLDTXT),y
|
||||
#endif
|
||||
@@ -151,6 +156,8 @@ relink_up_next_line:
|
||||
#if CONFIG_MEMORY_MODEL_60K
|
||||
jsr peek_under_roms
|
||||
cmp #$00
|
||||
#elif CONFIG_MEMORY_MODEL_46K || CONFIG_MEMORY_MODEL_50K
|
||||
jsr peek_under_roms_via_OLDTXT
|
||||
#else // CONFIG_MEMORY_MODEL_38K
|
||||
lda (OLDTXT),y
|
||||
#endif
|
||||
|
||||
@@ -18,9 +18,6 @@
|
||||
.label print_integer = BASIC_0.proxy_B1_print_integer
|
||||
.label print_return = BASIC_0.proxy_B1_print_return
|
||||
.label print_space = BASIC_0.proxy_B1_print_space
|
||||
#if CONFIG_SHOW_PAL_NTSC
|
||||
.label print_pal_ntsc = BASIC_0.proxy_B1_print_pal_ntsc
|
||||
#endif
|
||||
#if CONFIG_SHOW_FEATURES
|
||||
.label print_features = BASIC_0.proxy_B1_print_features
|
||||
#endif
|
||||
|
||||
@@ -11,6 +11,9 @@ proxy_B1_peek_via_OLDTXT:
|
||||
jsr map_NORMAL
|
||||
#if CONFIG_MEMORY_MODEL_60K
|
||||
.error "not implemented"
|
||||
#elif CONFIG_MEMORY_MODEL_46K || CONFIG_MEMORY_MODEL_50K
|
||||
jsr peek_under_roms_via_OLDTXT
|
||||
cmp #$00
|
||||
#else // CONFIG_MEMORY_MODEL_38K
|
||||
lda (OLDTXT),y
|
||||
#endif
|
||||
@@ -21,7 +24,7 @@ proxy_B1_poke_via_OLDTXT:
|
||||
jsr map_NORMAL
|
||||
#if CONFIG_MEMORY_MODEL_60K
|
||||
.error "not implemented"
|
||||
#else // CONFIG_MEMORY_MODEL_38K
|
||||
#else // CONFIG_MEMORY_MODEL_38K || CONFIG_MEMORY_MODEL_46K || CONFIG_MEMORY_MODEL_50K
|
||||
sta (OLDTXT),y
|
||||
#endif
|
||||
jmp map_BASIC_1
|
||||
@@ -54,17 +57,6 @@ proxy_B1_print_space:
|
||||
jsr print_space
|
||||
jmp map_BASIC_1
|
||||
|
||||
|
||||
#if CONFIG_SHOW_PAL_NTSC
|
||||
|
||||
proxy_B1_print_pal_ntsc:
|
||||
|
||||
jsr map_NORMAL
|
||||
jsr print_pal_ntsc
|
||||
jmp map_BASIC_1
|
||||
|
||||
#endif
|
||||
|
||||
#if CONFIG_SHOW_FEATURES
|
||||
|
||||
proxy_B1_print_features:
|
||||
|
||||
@@ -0,0 +1,72 @@
|
||||
// #LAYOUT# STD * #TAKE
|
||||
// #LAYOUT# * BASIC_0 #TAKE
|
||||
// #LAYOUT# * * #IGNORE
|
||||
|
||||
// XXX extend build_segment tool to allow to specify placement range
|
||||
|
||||
|
||||
#if CONFIG_MEMORY_MODEL_46K || CONFIG_MEMORY_MODEL_50K
|
||||
|
||||
|
||||
peek_under_roms_via_TXTPTR:
|
||||
|
||||
// Unmap BASIC lower ROM
|
||||
|
||||
lda #$26
|
||||
sta CPU_R6510
|
||||
|
||||
// Retrieve value from under ROMs
|
||||
|
||||
lda (TXTPTR), y
|
||||
|
||||
// FALLTROUGH
|
||||
|
||||
peek_under_roms_finalize:
|
||||
|
||||
// Restore memory mapping
|
||||
|
||||
pha
|
||||
lda #$27
|
||||
sta CPU_R6510
|
||||
pla
|
||||
|
||||
// Quit
|
||||
|
||||
rts
|
||||
|
||||
peek_under_roms_via_OLDTXT:
|
||||
|
||||
// Unmap BASIC lower ROM
|
||||
|
||||
lda #$26
|
||||
sta CPU_R6510
|
||||
|
||||
// Retrieve value from under ROMs
|
||||
|
||||
lda (TXTPTR), y
|
||||
|
||||
#if HAS_OPCODES_65C02
|
||||
bra peek_under_roms_finalize
|
||||
#else
|
||||
jmp peek_under_roms_finalize
|
||||
#endif
|
||||
|
||||
peek_under_roms_via_FAC1_PLUS_1:
|
||||
|
||||
// Unmap BASIC lower ROM
|
||||
|
||||
lda #$26
|
||||
sta CPU_R6510
|
||||
|
||||
// Retrieve value from under ROMs
|
||||
|
||||
lda (__FAC1 + 1), y
|
||||
|
||||
#if HAS_OPCODES_65C02
|
||||
bra peek_under_roms_finalize
|
||||
#else
|
||||
jmp peek_under_roms_finalize
|
||||
#endif
|
||||
|
||||
|
||||
#endif
|
||||
@@ -16,6 +16,8 @@ end_of_statement_check:
|
||||
#if CONFIG_MEMORY_MODEL_60K
|
||||
ldx #<TXTPTR
|
||||
jsr peek_under_roms
|
||||
#elif CONFIG_MEMORY_MODEL_46K || CONFIG_MEMORY_MODEL_50K
|
||||
jsr peek_under_roms_via_TXTPTR
|
||||
#else // CONFIG_MEMORY_MODEL_38K
|
||||
lda (TXTPTR),y
|
||||
#endif
|
||||
|
||||
@@ -208,6 +208,8 @@ execute_line:
|
||||
#if CONFIG_MEMORY_MODEL_60K
|
||||
ldx #<OLDTXT
|
||||
jsr peek_under_roms
|
||||
#elif CONFIG_MEMORY_MODEL_46K || CONFIG_MEMORY_MODEL_50K
|
||||
jsr peek_under_roms_via_OLDTXT
|
||||
#else // CONFIG_MEMORY_MODEL_38K
|
||||
lda (OLDTXT),y
|
||||
#endif
|
||||
@@ -217,6 +219,8 @@ execute_line:
|
||||
|
||||
#if CONFIG_MEMORY_MODEL_60K
|
||||
jsr peek_under_roms
|
||||
#elif CONFIG_MEMORY_MODEL_46K || CONFIG_MEMORY_MODEL_50K
|
||||
jsr peek_under_roms_via_OLDTXT
|
||||
#else // CONFIG_MEMORY_MODEL_38K
|
||||
lda (OLDTXT),y
|
||||
#endif
|
||||
|
||||
@@ -16,6 +16,10 @@ fetch_character:
|
||||
ldx #<TXTPTR
|
||||
jsr peek_under_roms
|
||||
|
||||
#elif CONFIG_MEMORY_MODEL_46K || CONFIG_MEMORY_MODEL_50K
|
||||
|
||||
jsr peek_under_roms_via_TXTPTR
|
||||
|
||||
#else // CONFIG_MEMORY_MODEL_38K
|
||||
|
||||
lda (TXTPTR),y
|
||||
|
||||
@@ -13,6 +13,9 @@ peek_line_pointer_null_check:
|
||||
ldx #<OLDTXT+0
|
||||
jsr peek_under_roms
|
||||
cmp #$00
|
||||
#elif CONFIG_MEMORY_MODEL_46K || CONFIG_MEMORY_MODEL_50K
|
||||
jsr peek_under_roms_via_OLDTXT
|
||||
cmp #$00
|
||||
#else // CONFIG_MEMORY_MODEL_38K
|
||||
lda (OLDTXT),y
|
||||
#endif
|
||||
@@ -23,6 +26,9 @@ peek_line_pointer_null_check:
|
||||
#if CONFIG_MEMORY_MODEL_60K
|
||||
jsr peek_under_roms
|
||||
cmp #$00
|
||||
#elif CONFIG_MEMORY_MODEL_46K || CONFIG_MEMORY_MODEL_50K
|
||||
jsr peek_under_roms_via_OLDTXT
|
||||
cmp #$00
|
||||
#else // CONFIG_MEMORY_MODEL_38K
|
||||
lda (OLDTXT),y
|
||||
#endif
|
||||
|
||||
@@ -21,7 +21,9 @@ list_single_line:
|
||||
jsr peek_via_OLDTXT
|
||||
#elif CONFIG_MEMORY_MODEL_60K
|
||||
jsr peek_under_roms
|
||||
#else
|
||||
#elif CONFIG_MEMORY_MODEL_46K || CONFIG_MEMORY_MODEL_50K
|
||||
jsr peek_under_roms_via_OLDTXT
|
||||
#else // CONFIG_MEMORY_MODEL_38K
|
||||
lda (OLDTXT),y
|
||||
#endif
|
||||
|
||||
@@ -32,7 +34,9 @@ list_single_line:
|
||||
jsr peek_via_OLDTXT
|
||||
#elif CONFIG_MEMORY_MODEL_60K
|
||||
jsr peek_under_roms
|
||||
#else
|
||||
#elif CONFIG_MEMORY_MODEL_46K || CONFIG_MEMORY_MODEL_50K
|
||||
jsr peek_under_roms_via_OLDTXT
|
||||
#else // CONFIG_MEMORY_MODEL_38K
|
||||
lda (OLDTXT),y
|
||||
#endif
|
||||
|
||||
@@ -56,7 +60,10 @@ list_print_loop:
|
||||
ldx #<OLDTXT
|
||||
jsr peek_under_roms
|
||||
cmp #$00
|
||||
#else
|
||||
#elif CONFIG_MEMORY_MODEL_46K || CONFIG_MEMORY_MODEL_50K
|
||||
jsr peek_under_roms_via_OLDTXT
|
||||
cmp #$00
|
||||
#else // CONFIG_MEMORY_MODEL_38K
|
||||
lda (OLDTXT),y
|
||||
#endif
|
||||
|
||||
@@ -96,7 +103,10 @@ list_display_token_CC:
|
||||
ldx #<OLDTXT
|
||||
jsr peek_under_roms
|
||||
cmp #$00
|
||||
#else
|
||||
#elif CONFIG_MEMORY_MODEL_46K || CONFIG_MEMORY_MODEL_50K
|
||||
jsr peek_under_roms_via_OLDTXT
|
||||
cmp #$00
|
||||
#else // CONFIG_MEMORY_MODEL_38K
|
||||
lda (OLDTXT),y
|
||||
#endif
|
||||
|
||||
@@ -131,7 +141,10 @@ list_display_token_CD:
|
||||
ldx #<OLDTXT
|
||||
jsr peek_under_roms
|
||||
cmp #$00
|
||||
#else
|
||||
#elif CONFIG_MEMORY_MODEL_46K || CONFIG_MEMORY_MODEL_50K
|
||||
jsr peek_under_roms_via_OLDTXT
|
||||
cmp #$00
|
||||
#else // CONFIG_MEMORY_MODEL_38K
|
||||
lda (OLDTXT),y
|
||||
#endif
|
||||
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
// #LAYOUT# * BASIC_0 #TAKE
|
||||
// #LAYOUT# * * #IGNORE
|
||||
|
||||
// IMPORTANT:
|
||||
// These routines lengths cannot be changed without changing
|
||||
// the aliases for peek_under_roms, poke_under_roms etc
|
||||
// in ,aliases.s.
|
||||
// Thus those addresses are expressed using formulae.
|
||||
|
||||
#if CONFIG_MEMORY_MODEL_60K
|
||||
|
||||
// IMPORTANT:
|
||||
// These routines lengths cannot be changed without changing
|
||||
// the aliases for peek_under_roms, poke_under_roms, etc.
|
||||
// Thus those addresses are expressed using formulae.
|
||||
|
||||
install_ram_routines:
|
||||
// Copy routines into place
|
||||
ldx #__ram_routines_end-__ram_routines_start-1
|
||||
@@ -21,7 +21,7 @@ iec_send_file_name_loop:
|
||||
ldx #<FNADDR+0
|
||||
jsr peek_under_roms
|
||||
#elif CONFIG_MEMORY_MODEL_46K || CONFIG_MEMORY_MODEL_50K
|
||||
jsr peek_under_roms_FNADDR
|
||||
jsr peek_under_roms_via_FNADDR
|
||||
#else // CONFIG_MEMORY_MODEL_38K
|
||||
lda (FNADDR),y
|
||||
#endif
|
||||
|
||||
@@ -83,7 +83,7 @@ iec_save_loop:
|
||||
ldx #<MEMUSS+0
|
||||
jsr peek_under_roms
|
||||
#elif CONFIG_MEMORY_MODEL_46K || CONFIG_MEMORY_MODEL_50K
|
||||
jsr peek_under_roms_MEMUSS
|
||||
jsr peek_under_roms_via_MEMUSS
|
||||
#else // CONFIG_MEMORY_MODEL_38K
|
||||
lda (MEMUSS),y
|
||||
#endif
|
||||
|
||||
@@ -68,8 +68,14 @@ lvs_handle_byte_verify:
|
||||
|
||||
#elif CONFIG_MEMORY_MODEL_46K || CONFIG_MEMORY_MODEL_50K
|
||||
|
||||
// Store byte for comparing
|
||||
sta TBTCNT
|
||||
|
||||
ldy #0
|
||||
jsr peek_under_roms_EAL
|
||||
jsr peek_under_roms_via_EAL
|
||||
|
||||
// Compare with stored byte
|
||||
cmp TBTCNT
|
||||
|
||||
#else // CONFIG_MEMORY_MODEL_38K
|
||||
|
||||
@@ -140,7 +146,7 @@ lvs_display_searching_for:
|
||||
ldx #<FNADDR+0
|
||||
jsr peek_under_roms
|
||||
#elif CONFIG_MEMORY_MODEL_46K || CONFIG_MEMORY_MODEL_50K
|
||||
jsr peek_under_roms_FNADDR
|
||||
jsr peek_under_roms_via_FNADDR
|
||||
#else // CONFIG_MEMORY_MODEL_38K
|
||||
lda (FNADDR),y
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,85 @@
|
||||
// #LAYOUT# STD * #TAKE
|
||||
// #LAYOUT# * KERNAL_0 #TAKE
|
||||
// #LAYOUT# * * #IGNORE
|
||||
|
||||
|
||||
#if CONFIG_MEMORY_MODEL_46K ||CONFIG_MEMORY_MODEL_50K
|
||||
|
||||
|
||||
peek_under_roms_via_MEMUSS:
|
||||
|
||||
// Store current memory mapping, unmap BASIC ROM
|
||||
|
||||
lda CPU_R6510
|
||||
pha
|
||||
and #$FE
|
||||
sta CPU_R6510
|
||||
|
||||
// Retrieve value from under ROMs
|
||||
|
||||
lda (MEMUSS), y
|
||||
|
||||
// FALLTROUGH
|
||||
|
||||
peek_under_roms_finalize:
|
||||
|
||||
// Store value in a safe place
|
||||
|
||||
tax
|
||||
|
||||
// Restore memory mapping
|
||||
|
||||
pla
|
||||
sta CPU_R6510
|
||||
|
||||
// Retrieve value and quit
|
||||
|
||||
txa
|
||||
rts
|
||||
|
||||
|
||||
peek_under_roms_via_FNADDR:
|
||||
|
||||
// Store current memory mapping, unmap BASIC ROM
|
||||
|
||||
lda CPU_R6510
|
||||
pha
|
||||
and #$FE
|
||||
sta CPU_R6510
|
||||
|
||||
// Retrieve value from under ROMs
|
||||
|
||||
lda (FNADDR), y
|
||||
|
||||
// Continue using common code
|
||||
|
||||
#if HAS_OPCODES_65C02
|
||||
bra peek_under_roms_finalize
|
||||
#else
|
||||
jmp peek_under_roms_finalize
|
||||
#endif
|
||||
|
||||
|
||||
peek_under_roms_via_EAL:
|
||||
|
||||
// Store current memory mapping, unmap BASIC ROM
|
||||
|
||||
lda CPU_R6510
|
||||
pha
|
||||
and #$FE
|
||||
sta CPU_R6510
|
||||
|
||||
// Retrieve value from under ROMs
|
||||
|
||||
lda (EAL), y
|
||||
|
||||
// Continue using common code
|
||||
|
||||
#if HAS_OPCODES_65C02
|
||||
bra peek_under_roms_finalize
|
||||
#else
|
||||
jmp peek_under_roms_finalize
|
||||
#endif
|
||||
|
||||
|
||||
#endif
|
||||
+1
-80
@@ -3,86 +3,7 @@
|
||||
// #LAYOUT# * * #IGNORE
|
||||
|
||||
|
||||
#if CONFIG_MEMORY_MODEL_46K ||CONFIG_MEMORY_MODEL_50K
|
||||
|
||||
|
||||
peek_under_roms_MEMUSS:
|
||||
|
||||
// Store current memory mapping, unmap BASIC ROM
|
||||
|
||||
lda CPU_R6510
|
||||
pha
|
||||
and #$FE
|
||||
sta CPU_R6510
|
||||
|
||||
// Retrieve value from under ROMs
|
||||
|
||||
lda (MEMUSS), y
|
||||
|
||||
// FALLTROUGH
|
||||
|
||||
peek_under_roms_finalize:
|
||||
|
||||
// Store value in a safe place
|
||||
|
||||
tax
|
||||
|
||||
// Restore memory mapping
|
||||
|
||||
pla
|
||||
sta CPU_R6510
|
||||
|
||||
// Retrieve value and quit
|
||||
|
||||
txa
|
||||
rts
|
||||
|
||||
|
||||
peek_under_roms_FNADDR:
|
||||
|
||||
// Store current memory mapping, unmap BASIC ROM
|
||||
|
||||
lda CPU_R6510
|
||||
pha
|
||||
and #$FE
|
||||
sta CPU_R6510
|
||||
|
||||
// Retrieve value from under ROMs
|
||||
|
||||
lda (FNADDR), y
|
||||
|
||||
// Continue using common code
|
||||
|
||||
#if HAS_OPCODES_65C02
|
||||
bra peek_under_roms_finalize
|
||||
#else
|
||||
jmp peek_under_roms_finalize
|
||||
#endif
|
||||
|
||||
|
||||
peek_under_roms_EAL:
|
||||
|
||||
// Store current memory mapping, unmap BASIC ROM
|
||||
|
||||
lda CPU_R6510
|
||||
pha
|
||||
and #$FE
|
||||
sta CPU_R6510
|
||||
|
||||
// Retrieve value from under ROMs
|
||||
|
||||
lda (EAL), y
|
||||
|
||||
// Continue using common code
|
||||
|
||||
#if HAS_OPCODES_65C02
|
||||
bra peek_under_roms_finalize
|
||||
#else
|
||||
jmp peek_under_roms_finalize
|
||||
#endif
|
||||
|
||||
|
||||
#elif CONFIG_MEMORY_MODEL_60K
|
||||
#if CONFIG_MEMORY_MODEL_60K
|
||||
|
||||
|
||||
// IMPORTANT:
|
||||
@@ -14,10 +14,6 @@
|
||||
.error "CONFIG_MEMORY_MODEL_60K is not compatible with RS-232 memory allocation code"
|
||||
#endif
|
||||
|
||||
#if CONFIG_MEMORY_MODEL_46K ||CONFIG_MEMORY_MODEL_50K
|
||||
.error "TODO: add compatibility with these memory models"
|
||||
#endif
|
||||
|
||||
|
||||
close_rs232:
|
||||
|
||||
|
||||
@@ -14,9 +14,6 @@
|
||||
.error "CONFIG_MEMORY_MODEL_60K is not compatible with RS-232 memory allocation code"
|
||||
#endif
|
||||
|
||||
#if CONFIG_MEMORY_MODEL_46K ||CONFIG_MEMORY_MODEL_50K
|
||||
.error "TODO: add compatibility with these memory models"
|
||||
#endif
|
||||
|
||||
open_rs232:
|
||||
|
||||
|
||||
Reference in new issue
Block a user