all label naming conflicts resolved

This commit is contained in:
FeralChild64 committed 2019-10-02 22:45:36 +02:00
1 parent 9fd0297e51
commit c3cbfcebfb
27 files changed
+222 -251

No files matched your search

+1 -1
View File
@@ -73,7 +73,7 @@
.label ARISGN = $6F // -- NOT IMPLEMENTED -- .label ARISGN = $6F // -- NOT IMPLEMENTED --
.label FACOV = $70 // FAC1 low order mantissa .label FACOV = $70 // FAC1 low order mantissa
.label FBUFPT = $67 // $71-$72 -- NOT IMPLEMENTED -- .label FBUFPT = $71 // $71-$72 -- NOT IMPLEMENTED --
.label CHRGET = $73 // $73-$8A -- NOT IMPLEMENTED -- .label CHRGET = $73 // $73-$8A -- NOT IMPLEMENTED --
.label TXTPTR = $7A // $7A-$7B current BASIC statement pointer .label TXTPTR = $7A // $7A-$7B current BASIC statement pointer
.label RNDX = $8B // $8B-$8F -- NOT IMPLEMENTED -- .label RNDX = $8B // $8B-$8F -- NOT IMPLEMENTED --
-17
View File
@@ -16,20 +16,3 @@
.label __memmove_src = $69 .label __memmove_src = $69
.label __memmove_dst = $6B .label __memmove_dst = $6B
.label __memmove_size = $6D .label __memmove_size = $6D
// XXX cleanup lines below
// The various pointers that separate memory regions for BASIC storage
// We have multiple names for the ones that mark the boundary of regions.
.label basic_start_of_text_ptr = $2b
.label basic_end_of_text_ptr = $2d
.label basic_start_of_vars_ptr = $2d
.label basic_end_of_vars_ptr = $2f
.label basic_start_of_arrays_ptr = $2f
.label basic_end_of_arrays_ptr = $31
.label basic_start_of_free_space_ptr = $31
.label basic_start_of_strings_ptr = $33
.label basic_top_of_memory_ptr = $37
.label basic_current_line_number = $39
.label basic_previous_line_number = $3b
.label basic_current_line_ptr = $3d
+4 -4
View File
@@ -41,12 +41,12 @@ basic_cold_start:
// Work out free bytes, display them // Work out free bytes, display them
jsr basic_do_new jsr basic_do_new
lda basic_top_of_memory_ptr+0 lda MEMSIZ+0
sec sec
sbc basic_start_of_text_ptr+0 sbc TXTTAB+0
tax tax
lda basic_top_of_memory_ptr+1 lda MEMSIZ+1
sbc basic_start_of_text_ptr+1 sbc TXTTAB+1
jsr print_integer jsr print_integer
+11 -11
View File
@@ -9,18 +9,18 @@ basic_delete_line:
// jsr printf // jsr printf
// .text "DELETING LINE AT $" // .text "DELETING LINE AT $"
// .byte $f1,<basic_current_line_ptr,>basic_current_line_ptr // .byte $f1,<OLDTXT,>OLDTXT
// .byte $f0,<basic_current_line_ptr,>basic_current_line_ptr // .byte $f0,<OLDTXT,>OLDTXT
// .byte $0d,0 // .byte $0d,0
// Get address of next line // Get address of next line
ldy #0 ldy #0
#if CONFIG_MEMORY_MODEL_60K #if CONFIG_MEMORY_MODEL_60K
ldx #<basic_current_line_ptr ldx #<OLDTXT
jsr peek_under_roms jsr peek_under_roms
#else // CONFIG_MEMORY_MODEL_38K #else // CONFIG_MEMORY_MODEL_38K
lda (basic_current_line_ptr),y lda (OLDTXT),y
#endif #endif
sta __tokenise_work3 sta __tokenise_work3
@@ -29,7 +29,7 @@ basic_delete_line:
#if CONFIG_MEMORY_MODEL_60K #if CONFIG_MEMORY_MODEL_60K
jsr peek_under_roms jsr peek_under_roms
#else // CONFIG_MEMORY_MODEL_38K #else // CONFIG_MEMORY_MODEL_38K
lda (basic_current_line_ptr),y lda (OLDTXT),y
#endif #endif
sta __tokenise_work4 sta __tokenise_work4
@@ -37,10 +37,10 @@ basic_delete_line:
// Work out length of this line by looking at the pointer // Work out length of this line by looking at the pointer
lda __tokenise_work3 lda __tokenise_work3
sec sec
sbc basic_current_line_ptr+0 sbc OLDTXT+0
sta __tokenise_work3 sta __tokenise_work3
lda __tokenise_work4 lda __tokenise_work4
sbc basic_current_line_ptr+1 sbc OLDTXT+1
sta __tokenise_work4 sta __tokenise_work4
// jsr printf // jsr printf
@@ -70,13 +70,13 @@ basic_delete_line:
// Now decrease top of BASIC mem // Now decrease top of BASIC mem
pla pla
sta __tokenise_work3 sta __tokenise_work3
lda basic_end_of_text_ptr+0 lda VARTAB+0
sec sec
sbc __tokenise_work3 sbc __tokenise_work3
sta basic_end_of_text_ptr+0 sta VARTAB+0
lda basic_end_of_text_ptr+1 lda VARTAB+1
sbc #0 sbc #0
sta basic_end_of_text_ptr+1 sta VARTAB+1
clc clc
rts rts
+18 -18
View File
@@ -36,7 +36,7 @@ basic_execute_statement:
// Check for RUN/STOP // Check for RUN/STOP
lda STKEY lda STKEY
bmi !+ bmi !+
jmp basic_do_break jmp cmd_stop
!: !:
// Skip over any white space and : // Skip over any white space and :
ldy #0 ldy #0
@@ -53,8 +53,8 @@ basic_execute_statement:
// jsr printf // jsr printf
// .text "LINE PTR = $" // .text "LINE PTR = $"
// .byte $f1,<basic_current_line_ptr,>basic_current_line_ptr // .byte $f1,<OLDTXT,>OLDTXT
// .byte $f0,<basic_current_line_ptr,>basic_current_line_ptr // .byte $f0,<OLDTXT,>OLDTXT
// .text ", STATEMENT PTR = $" // .text ", STATEMENT PTR = $"
// .byte $f1,<TXTPTR,>TXTPTR // .byte $f1,<TXTPTR,>TXTPTR
// .byte $f0,<TXTPTR,>TXTPTR // .byte $f0,<TXTPTR,>TXTPTR
@@ -119,7 +119,7 @@ not_a_token:
// BASIC programmers should implement communication with drives // BASIC programmers should implement communication with drives
// the standard way, handling channels properly. Besides, // the standard way, handling channels properly. Besides,
// current implementation does not support characters under ROM // current implementation does not support characters under ROM
ldx basic_current_line_number+1 ldx CURLIN+1
cpx #$ff cpx #$ff
bne !+ bne !+
// We are in direct mode, allow wedge to handle '@' sign // We are in direct mode, allow wedge to handle '@' sign
@@ -175,7 +175,7 @@ basic_end_of_line:
// one. // one.
// Are we in direct mode // Are we in direct mode
lda basic_current_line_number+1 lda CURLIN+1
cmp #$ff cmp #$ff
bne basic_not_direct_mode bne basic_not_direct_mode
@@ -184,17 +184,17 @@ basic_end_of_line:
basic_not_direct_mode: basic_not_direct_mode:
// Copy line number to previous line number // Copy line number to previous line number
lda basic_current_line_number+0 lda CURLIN+0
sta basic_previous_line_number+0 sta OLDLIN+0
lda basic_current_line_number+1 lda CURLIN+1
sta basic_previous_line_number+1 sta OLDLIN+1
// Advance the basic line pointer to the next line // Advance the basic line pointer to the next line
jsr basic_follow_link_to_next_line jsr basic_follow_link_to_next_line
// Are we at the end of the program? // Are we at the end of the program?
lda basic_current_line_ptr+0 lda OLDTXT+0
ora basic_current_line_ptr+1 ora OLDTXT+1
bne basic_execute_from_current_line bne basic_execute_from_current_line
// End of program found // End of program found
@@ -210,33 +210,33 @@ basic_execute_from_current_line:
jmp basic_main_loop jmp basic_main_loop
!: !:
// Skip pointer and line number to get address of first statement // Skip pointer and line number to get address of first statement
lda basic_current_line_ptr+0 lda OLDTXT+0
clc clc
adc #4 adc #4
sta TXTPTR+0 sta TXTPTR+0
lda basic_current_line_ptr+1 lda OLDTXT+1
adc #0 adc #0
sta TXTPTR+1 sta TXTPTR+1
ldy #2 ldy #2
#if CONFIG_MEMORY_MODEL_60K #if CONFIG_MEMORY_MODEL_60K
ldx #<basic_current_line_ptr ldx #<OLDTXT
jsr peek_under_roms jsr peek_under_roms
#else // CONFIG_MEMORY_MODEL_38K #else // CONFIG_MEMORY_MODEL_38K
lda (basic_current_line_ptr),y lda (OLDTXT),y
#endif #endif
sta basic_current_line_number+0 sta CURLIN+0
iny iny
#if CONFIG_MEMORY_MODEL_60K #if CONFIG_MEMORY_MODEL_60K
jsr peek_under_roms jsr peek_under_roms
#else // CONFIG_MEMORY_MODEL_38K #else // CONFIG_MEMORY_MODEL_38K
lda (basic_current_line_ptr),y lda (OLDTXT),y
#endif #endif
sta basic_current_line_number+1 sta CURLIN+1
jmp basic_execute_statement jmp basic_execute_statement
+12 -12
View File
@@ -3,10 +3,10 @@
basic_find_line: basic_find_line:
// Get pointer to start of BASIC text // Get pointer to start of BASIC text
lda basic_start_of_text_ptr+0 lda TXTTAB+0
sta basic_current_line_ptr+0 sta OLDTXT+0
lda basic_start_of_text_ptr+1 lda TXTTAB+1
sta basic_current_line_ptr+1 sta OLDTXT+1
basic_find_line_loop: basic_find_line_loop:
// Then search for line number // Then search for line number
@@ -15,10 +15,10 @@ basic_find_line_loop:
ldy #3 ldy #3
#if CONFIG_MEMORY_MODEL_60K #if CONFIG_MEMORY_MODEL_60K
ldx #<basic_current_line_ptr+0 ldx #<OLDTXT+0
jsr peek_under_roms jsr peek_under_roms
#else // CONFIG_MEMORY_MODEL_38K #else // CONFIG_MEMORY_MODEL_38K
lda (basic_current_line_ptr),y lda (OLDTXT),y
#endif #endif
cmp LINNUM+1 cmp LINNUM+1
@@ -32,7 +32,7 @@ basic_find_line_loop:
#if CONFIG_MEMORY_MODEL_60K #if CONFIG_MEMORY_MODEL_60K
jsr peek_under_roms jsr peek_under_roms
#else // CONFIG_MEMORY_MODEL_38K #else // CONFIG_MEMORY_MODEL_38K
lda (basic_current_line_ptr),y lda (OLDTXT),y
#endif #endif
cmp LINNUM+0 cmp LINNUM+0
@@ -59,10 +59,10 @@ more_lines_exist:
ldy #0 ldy #0
#if CONFIG_MEMORY_MODEL_60K #if CONFIG_MEMORY_MODEL_60K
ldx #<basic_current_line_ptr+0 ldx #<OLDTXT+0
jsr peek_under_roms jsr peek_under_roms
#else // CONFIG_MEMORY_MODEL_38K #else // CONFIG_MEMORY_MODEL_38K
lda (basic_current_line_ptr),y lda (OLDTXT),y
#endif #endif
sta $0100 sta $0100
@@ -71,11 +71,11 @@ more_lines_exist:
#if CONFIG_MEMORY_MODEL_60K #if CONFIG_MEMORY_MODEL_60K
jsr peek_under_roms jsr peek_under_roms
#else // CONFIG_MEMORY_MODEL_38K #else // CONFIG_MEMORY_MODEL_38K
lda (basic_current_line_ptr),y lda (OLDTXT),y
#endif #endif
sta basic_current_line_ptr+1 sta OLDTXT+1
lda $0100 lda $0100
sta basic_current_line_ptr+0 sta OLDTXT+0
jmp basic_find_line_loop jmp basic_find_line_loop
+6 -6
View File
@@ -1,4 +1,4 @@
// Advance basic_current_line_ptr by following the // Advance OLDTXT by following the
// link to the next line // link to the next line
basic_find_next_line: basic_find_next_line:
@@ -6,10 +6,10 @@ basic_find_next_line:
ldy #0 ldy #0
#if CONFIG_MEMORY_MODEL_60K #if CONFIG_MEMORY_MODEL_60K
ldx #<basic_current_line_ptr+0 ldx #<OLDTXT+0
jsr peek_under_roms jsr peek_under_roms
#else // CONFIG_MEMORY_MODEL_38K #else // CONFIG_MEMORY_MODEL_38K
lda (basic_current_line_ptr),y lda (OLDTXT),y
#endif #endif
pha pha
@@ -18,10 +18,10 @@ basic_find_next_line:
#if CONFIG_MEMORY_MODEL_60K #if CONFIG_MEMORY_MODEL_60K
jsr peek_under_roms jsr peek_under_roms
#else // CONFIG_MEMORY_MODEL_38K #else // CONFIG_MEMORY_MODEL_38K
lda (basic_current_line_ptr),y lda (OLDTXT),y
#endif #endif
sta basic_current_line_ptr+1 sta OLDTXT+1
pla pla
sta basic_current_line_ptr+0 sta OLDTXT+0
rts rts
+5 -5
View File
@@ -2,10 +2,10 @@ basic_follow_link_to_next_line:
ldy #0 ldy #0
#if CONFIG_MEMORY_MODEL_60K #if CONFIG_MEMORY_MODEL_60K
ldx #<basic_current_line_ptr+0 ldx #<OLDTXT+0
jsr peek_under_roms jsr peek_under_roms
#else // CONFIG_MEMORY_MODEL_38K #else // CONFIG_MEMORY_MODEL_38K
lda (basic_current_line_ptr),y lda (OLDTXT),y
#endif #endif
pha pha
@@ -14,10 +14,10 @@ basic_follow_link_to_next_line:
#if CONFIG_MEMORY_MODEL_60K #if CONFIG_MEMORY_MODEL_60K
jsr peek_under_roms jsr peek_under_roms
#else // CONFIG_MEMORY_MODEL_38K #else // CONFIG_MEMORY_MODEL_38K
lda (basic_current_line_ptr),y lda (OLDTXT),y
#endif #endif
sta basic_current_line_ptr+1 sta OLDTXT+1
pla pla
sta basic_current_line_ptr+0 sta OLDTXT+0
rts rts
+15 -15
View File
@@ -18,13 +18,13 @@ basic_insert_line:
// jsr printf // jsr printf
// .text "INSERTING LINE AT $" // .text "INSERTING LINE AT $"
// .byte $f1,<basic_current_line_ptr,>basic_current_line_ptr // .byte $f1,<OLDTXT,>OLDTXT
// .byte $f0,<basic_current_line_ptr,>basic_current_line_ptr // .byte $f0,<OLDTXT,>OLDTXT
// .byte $0d,0 // .byte $0d,0
lda basic_current_line_ptr+0 lda OLDTXT+0
pha pha
lda basic_current_line_ptr+1 lda OLDTXT+1
pha pha
@@ -44,27 +44,27 @@ basic_insert_line:
// Now increase top of BASIC mem // Now increase top of BASIC mem
pla pla
clc clc
adc basic_end_of_text_ptr+0 adc VARTAB+0
sta basic_end_of_text_ptr+0 sta VARTAB+0
lda basic_end_of_text_ptr+1 lda VARTAB+1
adc #0 adc #0
sta basic_end_of_text_ptr+1 sta VARTAB+1
// Get pointer back // Get pointer back
pla pla
sta basic_current_line_ptr+1 sta OLDTXT+1
pla pla
sta basic_current_line_ptr+0 sta OLDTXT+0
// Write the line number // Write the line number
ldy #2 ldy #2
lda LINNUM+0 lda LINNUM+0
#if CONFIG_MEMORY_MODEL_60K #if CONFIG_MEMORY_MODEL_60K
ldx #<basic_current_line_ptr+0 ldx #<OLDTXT+0
jsr poke_under_roms jsr poke_under_roms
#else // CONFIG_MEMORY_MODEL_38K #else // CONFIG_MEMORY_MODEL_38K
sta (basic_current_line_ptr),y sta (OLDTXT),y
#endif #endif
iny iny
@@ -73,7 +73,7 @@ basic_insert_line:
#if CONFIG_MEMORY_MODEL_60K #if CONFIG_MEMORY_MODEL_60K
jsr poke_under_roms jsr poke_under_roms
#else // CONFIG_MEMORY_MODEL_38K #else // CONFIG_MEMORY_MODEL_38K
sta (basic_current_line_ptr),y sta (OLDTXT),y
#endif #endif
// Now store the line body itself // Now store the line body itself
@@ -85,10 +85,10 @@ line_store_loop:
iny iny
#if CONFIG_MEMORY_MODEL_60K #if CONFIG_MEMORY_MODEL_60K
ldx #<basic_current_line_ptr+0 ldx #<OLDTXT+0
jsr poke_under_roms jsr poke_under_roms
#else // CONFIG_MEMORY_MODEL_38K #else // CONFIG_MEMORY_MODEL_38K
sta (basic_current_line_ptr),y sta (OLDTXT),y
#endif #endif
lda __tokenise_work1 lda __tokenise_work1
+3 -3
View File
@@ -139,13 +139,13 @@ not_a_line:
// There is no stored line, so zero that pointer out // There is no stored line, so zero that pointer out
lda #$00 lda #$00
sta basic_current_line_ptr+0 sta OLDTXT+0
sta basic_current_line_ptr+1 sta OLDTXT+1
// Put invalid line number in current line number value, // Put invalid line number in current line number value,
// so that we know we are in direct mode // so that we know we are in direct mode
// (Compute's Mapping the 64 p19) // (Compute's Mapping the 64 p19)
lda #$ff lda #$ff
sta basic_current_line_number+1 sta CURLIN+1
jmp basic_execute_statement jmp basic_execute_statement
+17 -17
View File
@@ -2,35 +2,35 @@ basic_shift_mem_down_and_relink:
// Shift memory down to basic_current_line_pointer // Shift memory down to basic_current_line_pointer
// from X bytes further along. // from X bytes further along.
// Destination is basic_current_line_ptr // Destination is OLDTXT
lda basic_current_line_ptr+0 lda OLDTXT+0
sta __memmove_dst+0 sta __memmove_dst+0
lda basic_current_line_ptr+1 lda OLDTXT+1
sta __memmove_dst+1 sta __memmove_dst+1
// Source is that plus X // Source is that plus X
txa txa
pha // also keep for later pha // also keep for later
clc clc
adc basic_current_line_ptr+0 adc OLDTXT+0
sta __memmove_src+0 sta __memmove_src+0
lda basic_current_line_ptr+1 lda OLDTXT+1
adc #0 adc #0
sta __memmove_src+1 sta __memmove_src+1
// Size is distance from source to end of BASIC text. // Size is distance from source to end of BASIC text.
lda basic_end_of_text_ptr+0 lda VARTAB+0
sec sec
sbc __memmove_src+0 sbc __memmove_src+0
sta __memmove_size+0 sta __memmove_size+0
lda basic_end_of_text_ptr+1 lda VARTAB+1
sbc __memmove_src+1 sbc __memmove_src+1
sta __memmove_size+1 sta __memmove_size+1
// jsr printf // jsr printf
// .text "TOP OF BASIC = $" // .text "TOP OF BASIC = $"
// .byte $f1,<basic_end_of_text_ptr,>basic_end_of_text_ptr // .byte $f1,<VARTAB,>VARTAB
// .byte $f0,<basic_end_of_text_ptr,>basic_end_of_text_ptr // .byte $f0,<VARTAB,>VARTAB
// .byte $0d // .byte $0d
// .text "SHIFTING DOWN $" // .text "SHIFTING DOWN $"
// .byte $f1,<__memmove_size,>__memmove_size // .byte $f1,<__memmove_size,>__memmove_size
@@ -116,10 +116,10 @@ relink_down_next_line:
ldy #0 ldy #0
#if CONFIG_MEMORY_MODEL_60K #if CONFIG_MEMORY_MODEL_60K
ldx #<basic_current_line_ptr+0 ldx #<OLDTXT+0
jsr peek_under_roms jsr peek_under_roms
#else // CONFIG_MEMORY_MODEL_38K #else // CONFIG_MEMORY_MODEL_38K
lda (basic_current_line_ptr),y lda (OLDTXT),y
#endif #endif
sec sec
@@ -130,7 +130,7 @@ relink_down_next_line:
#if CONFIG_MEMORY_MODEL_60K #if CONFIG_MEMORY_MODEL_60K
jsr peek_under_roms jsr peek_under_roms
#else // CONFIG_MEMORY_MODEL_38K #else // CONFIG_MEMORY_MODEL_38K
lda (basic_current_line_ptr),y lda (OLDTXT),y
#endif #endif
sbc #0 sbc #0
@@ -140,10 +140,10 @@ relink_down_next_line:
lda __memmove_src+0 lda __memmove_src+0
#if CONFIG_MEMORY_MODEL_60K #if CONFIG_MEMORY_MODEL_60K
ldx #<basic_current_line_ptr+0 ldx #<OLDTXT+0
jsr poke_under_roms jsr poke_under_roms
#else // CONFIG_MEMORY_MODEL_38K #else // CONFIG_MEMORY_MODEL_38K
sta (basic_current_line_ptr),y sta (OLDTXT),y
#endif #endif
iny iny
@@ -152,15 +152,15 @@ relink_down_next_line:
#if CONFIG_MEMORY_MODEL_60K #if CONFIG_MEMORY_MODEL_60K
jsr poke_under_roms jsr poke_under_roms
#else // CONFIG_MEMORY_MODEL_38K #else // CONFIG_MEMORY_MODEL_38K
sta (basic_current_line_ptr),y sta (OLDTXT),y
#endif #endif
relink_down_loop: relink_down_loop:
// Now advance pointer to the next line, // Now advance pointer to the next line,
lda __memmove_src+0 lda __memmove_src+0
sta basic_current_line_ptr+0 sta OLDTXT+0
lda __memmove_src+1 lda __memmove_src+1
sta basic_current_line_ptr+1 sta OLDTXT+1
// Have we run out of lines to patch? // Have we run out of lines to patch?
jsr peek_line_pointer_null_check jsr peek_line_pointer_null_check
+26 -26
View File
@@ -1,7 +1,7 @@
basic_shift_mem_up_and_relink: basic_shift_mem_up_and_relink:
// Shift memory up from basic_current_line_ptr // Shift memory up from OLDTXT
// X bytes. // X bytes.
// NOTE: Pointers need to be reduced by one, due to the way // NOTE: Pointers need to be reduced by one, due to the way
@@ -9,9 +9,9 @@ basic_shift_mem_up_and_relink:
// Work out end point of destination // Work out end point of destination
txa txa
clc clc
adc basic_end_of_text_ptr+0 adc VARTAB+0
sta __memmove_dst+0 sta __memmove_dst+0
lda basic_end_of_text_ptr+1 lda VARTAB+1
adc #0 adc #0
sta __memmove_dst+1 sta __memmove_dst+1
lda __memmove_dst+0 lda __memmove_dst+0
@@ -23,27 +23,27 @@ basic_shift_mem_up_and_relink:
sta __memmove_dst+1 sta __memmove_dst+1
// End point of source is just current end of BASIC text // End point of source is just current end of BASIC text
lda basic_end_of_text_ptr+0 lda VARTAB+0
sec sec
sbc #1 sbc #1
sta __memmove_src+0 sta __memmove_src+0
lda basic_end_of_text_ptr+1 lda VARTAB+1
sbc #0 sbc #0
sta __memmove_src+1 sta __memmove_src+1
// Work out size of region to copy // Work out size of region to copy
lda basic_end_of_text_ptr+0 lda VARTAB+0
sec sec
sbc basic_current_line_ptr+0 sbc OLDTXT+0
sta __memmove_size+0 sta __memmove_size+0
lda basic_end_of_text_ptr+1 lda VARTAB+1
sbc basic_current_line_ptr+1 sbc OLDTXT+1
sta __memmove_size+1 sta __memmove_size+1
// jsr printf // jsr printf
// .text "TOP OF BASIC = $" // .text "TOP OF BASIC = $"
// .byte $f1,<basic_end_of_text_ptr,>basic_end_of_text_ptr // .byte $f1,<VARTAB,>VARTAB
// .byte $f0,<basic_end_of_text_ptr,>basic_end_of_text_ptr // .byte $f0,<VARTAB,>VARTAB
// .byte $0d // .byte $0d
// .text "SHIFTING UP $" // .text "SHIFTING UP $"
// .byte $f1,<__memmove_size,>__memmove_size // .byte $f1,<__memmove_size,>__memmove_size
@@ -106,22 +106,22 @@ basic_shift_mem_up_and_relink:
// to make it end up pointing to the next line // to make it end up pointing to the next line
ldy #0 ldy #0
lda basic_current_line_ptr+0 lda OLDTXT+0
#if CONFIG_MEMORY_MODEL_60K #if CONFIG_MEMORY_MODEL_60K
ldx #<basic_current_line_ptr+0 ldx #<OLDTXT+0
jsr poke_under_roms jsr poke_under_roms
#else // CONFIG_MEMORY_MODEL_38K #else // CONFIG_MEMORY_MODEL_38K
sta (basic_current_line_ptr),y sta (OLDTXT),y
#endif #endif
iny iny
lda basic_current_line_ptr+1 lda OLDTXT+1
#if CONFIG_MEMORY_MODEL_60K #if CONFIG_MEMORY_MODEL_60K
jsr poke_under_roms jsr poke_under_roms
#else // CONFIG_MEMORY_MODEL_38K #else // CONFIG_MEMORY_MODEL_38K
sta (basic_current_line_ptr),y sta (OLDTXT),y
#endif #endif
relink_up_next_line: relink_up_next_line:
@@ -132,10 +132,10 @@ relink_up_next_line:
ldy #0 ldy #0
#if CONFIG_MEMORY_MODEL_60K #if CONFIG_MEMORY_MODEL_60K
ldx #<basic_current_line_ptr+0 ldx #<OLDTXT+0
jsr peek_under_roms jsr peek_under_roms
#else // CONFIG_MEMORY_MODEL_38K #else // CONFIG_MEMORY_MODEL_38K
lda (basic_current_line_ptr),y lda (OLDTXT),y
#endif #endif
sta __memmove_dst+0 sta __memmove_dst+0
@@ -149,7 +149,7 @@ relink_up_next_line:
jsr peek_under_roms jsr peek_under_roms
cmp #$00 cmp #$00
#else // CONFIG_MEMORY_MODEL_38K #else // CONFIG_MEMORY_MODEL_38K
lda (basic_current_line_ptr),y lda (OLDTXT),y
#endif #endif
sta __memmove_dst+1 sta __memmove_dst+1
@@ -159,8 +159,8 @@ relink_up_next_line:
// jsr printf // jsr printf
// .text "LINE ADDR = $" // .text "LINE ADDR = $"
// .byte $f1,<basic_current_line_ptr,>basic_end_of_text_ptr // .byte $f1,<OLDTXT,>VARTAB
// .byte $f0,<basic_current_line_ptr,>basic_end_of_text_ptr // .byte $f0,<OLDTXT,>VARTAB
// .text $d," BEFORE = $" // .text $d," BEFORE = $"
// .byte $f1,<__memmove_dst,>__memmove_dst // .byte $f1,<__memmove_dst,>__memmove_dst
// .byte $f0,<__memmove_dst,>__memmove_dst // .byte $f0,<__memmove_dst,>__memmove_dst
@@ -175,10 +175,10 @@ relink_up_next_line:
lda __memmove_src+0 lda __memmove_src+0
#if CONFIG_MEMORY_MODEL_60K #if CONFIG_MEMORY_MODEL_60K
ldx #<basic_current_line_ptr+0 ldx #<OLDTXT+0
jsr poke_under_roms jsr poke_under_roms
#else // CONFIG_MEMORY_MODEL_38K #else // CONFIG_MEMORY_MODEL_38K
sta (basic_current_line_ptr),y sta (OLDTXT),y
#endif #endif
iny iny
@@ -187,15 +187,15 @@ relink_up_next_line:
#if CONFIG_MEMORY_MODEL_60K #if CONFIG_MEMORY_MODEL_60K
jsr poke_under_roms jsr poke_under_roms
#else // CONFIG_MEMORY_MODEL_38K #else // CONFIG_MEMORY_MODEL_38K
sta (basic_current_line_ptr),y sta (OLDTXT),y
#endif #endif
relink_up_loop: relink_up_loop:
// Now advance pointer to the next line, // Now advance pointer to the next line,
lda __memmove_src+0 lda __memmove_src+0
sta basic_current_line_ptr+0 sta OLDTXT+0
lda __memmove_src+1 lda __memmove_src+1
sta basic_current_line_ptr+1 sta OLDTXT+1
// Have we run out of lines to patch? // Have we run out of lines to patch?
jsr peek_line_pointer_null_check jsr peek_line_pointer_null_check
+5 -6
View File
@@ -1,22 +1,21 @@
cmd_stop: cmd_stop:
basic_do_break:
jsr printf // XXX don't use printf, use packed messages! jsr printf // XXX don't use printf, use packed messages!
.text "BREAK" .text "BREAK"
.byte 0 .byte 0
// Check for direct mode // Check for direct mode
// Are we in direct mode // Are we in direct mode
lda basic_current_line_number+1 lda CURLIN+1
cmp #$FF cmp #$FF
beq !+ beq !+
// Not direct mode // Not direct mode
jsr printf // XXX don't use printf, use packed messages! jsr printf // XXX don't use printf, use packed messages!
.text " IN " .text " IN "
.byte 0 .byte 0
lda basic_current_line_number+1 lda CURLIN+1
ldx basic_current_line_number+0 ldx CURLIN+0
jsr print_integer jsr print_integer
!: !:
lda #$0D lda #$0D
jsr JCHROUT jsr JCHROUT
+11 -11
View File
@@ -4,21 +4,21 @@
cmd_list: cmd_list:
// Set current line pointer to start of memory // Set current line pointer to start of memory
lda basic_start_of_text_ptr+0 lda TXTTAB+0
sta basic_current_line_ptr+0 sta OLDTXT+0
lda basic_start_of_text_ptr+1 lda TXTTAB+1
sta basic_current_line_ptr+1 sta OLDTXT+1
list_loop: list_loop:
ldy #1 ldy #1
#if CONFIG_MEMORY_MODEL_60K #if CONFIG_MEMORY_MODEL_60K
ldx #<basic_current_line_ptr+0 ldx #<OLDTXT+0
jsr peek_under_roms jsr peek_under_roms
cmp #$00 cmp #$00
#else // CONFIG_MEMORY_MODEL_38K #else // CONFIG_MEMORY_MODEL_38K
lda (basic_current_line_ptr),y lda (OLDTXT),y
#endif #endif
bne list_more_lines bne list_more_lines
@@ -31,7 +31,7 @@ list_loop:
list_more_lines: list_more_lines:
lda STKEY lda STKEY
bmi !+ bmi !+
jmp basic_do_break jmp cmd_stop
!: !:
jsr list_single_line jsr list_single_line
// Now link to the next line // Now link to the next line
@@ -45,7 +45,7 @@ list_single_line: // entry point needed by DOS wedge
#if CONFIG_MEMORY_MODEL_60K #if CONFIG_MEMORY_MODEL_60K
jsr peek_under_roms jsr peek_under_roms
#else // CONFIG_MEMORY_MODEL_38K #else // CONFIG_MEMORY_MODEL_38K
lda (basic_current_line_ptr),y lda (OLDTXT),y
#endif #endif
pha pha
@@ -54,7 +54,7 @@ list_single_line: // entry point needed by DOS wedge
#if CONFIG_MEMORY_MODEL_60K #if CONFIG_MEMORY_MODEL_60K
jsr peek_under_roms jsr peek_under_roms
#else // CONFIG_MEMORY_MODEL_38K #else // CONFIG_MEMORY_MODEL_38K
lda (basic_current_line_ptr),y lda (OLDTXT),y
#endif #endif
tax tax
@@ -72,11 +72,11 @@ list_single_line: // entry point needed by DOS wedge
list_print_loop: list_print_loop:
#if CONFIG_MEMORY_MODEL_60K #if CONFIG_MEMORY_MODEL_60K
ldx #<basic_current_line_ptr ldx #<OLDTXT
jsr peek_under_roms jsr peek_under_roms
cmp #$00 cmp #$00
#else // CONFIG_MEMORY_MODEL_38K #else // CONFIG_MEMORY_MODEL_38K
lda (basic_current_line_ptr),y lda (OLDTXT),y
#endif #endif
beq list_end_of_line beq list_end_of_line
+27 -27
View File
@@ -13,7 +13,7 @@ cmd_load:
// Setup Kernal to print control messages or not // Setup Kernal to print control messages or not
lda #$80 // display control messages and omit error messages lda #$80 // display control messages and omit error messages
ldx basic_current_line_number+1 ldx CURLIN+1
cpx #$FF cpx #$FF
beq !+ beq !+
lda #$00 // direct mode - don't display anything lda #$00 // direct mode - don't display anything
@@ -112,8 +112,8 @@ got_loadaddress:
!: !:
// $YYXX is the last loaded address, so store it // $YYXX is the last loaded address, so store it
stx basic_end_of_text_ptr+0 stx VARTAB+0
sty basic_end_of_text_ptr+1 sty VARTAB+1
// Now relink the loaded program, as we cannot trust the line // Now relink the loaded program, as we cannot trust the line
// links supplied. For example, the VICE virtual drive emulation // links supplied. For example, the VICE virtual drive emulation
@@ -124,33 +124,33 @@ got_loadaddress:
// or go back to the READY prompt if LOAD was called from direct mode. // or go back to the READY prompt if LOAD was called from direct mode.
// Reset to start of program // Reset to start of program
lda basic_start_of_text_ptr+0 lda TXTTAB+0
sta basic_current_line_ptr+0 sta OLDTXT+0
lda basic_start_of_text_ptr+1 lda TXTTAB+1
sta basic_current_line_ptr+1 sta OLDTXT+1
// XXX - should run program if LOAD was used in program mode // XXX - should run program if LOAD was used in program mode
jmp basic_main_loop jmp basic_main_loop
basic_relink_program: basic_relink_program:
// Start by getting pointer to the first line
lda basic_start_of_text_ptr+0
sta basic_current_line_ptr+0
lda basic_start_of_text_ptr+1
sta basic_current_line_ptr+1
basic_relink_loop: // Start by getting pointer to the first line
lda TXTTAB+0
sta OLDTXT+0
lda TXTTAB+1
sta OLDTXT+1
basic_relink_loop:
// Is the pointer to the end of the program // Is the pointer to the end of the program
ldy #1 ldy #1
#if CONFIG_MEMORY_MODEL_60K #if CONFIG_MEMORY_MODEL_60K
ldx #<basic_current_line_ptr+0 ldx #<OLDTXT+0
jsr peek_under_roms jsr peek_under_roms
cmp #$00 cmp #$00
#else // CONFIG_MEMORY_MODEL_38K #else // CONFIG_MEMORY_MODEL_38K
lda (basic_current_line_ptr),y lda (OLDTXT),y
#endif #endif
bne !+ bne !+
@@ -164,10 +164,10 @@ basic_relink_loop:
end_of_line_search: end_of_line_search:
#if CONFIG_MEMORY_MODEL_60K #if CONFIG_MEMORY_MODEL_60K
ldx #<basic_current_line_ptr+0 ldx #<OLDTXT+0
jsr peek_under_roms jsr peek_under_roms
#else // CONFIG_MEMORY_MODEL_38K #else // CONFIG_MEMORY_MODEL_38K
lda (basic_current_line_ptr),y lda (OLDTXT),y
#endif #endif
cmp #$00 cmp #$00
@@ -185,37 +185,37 @@ end_of_line_search:
// First, skip over the $00 char // First, skip over the $00 char
iny iny
// Now overwrite the pointer (carefully) // Now overwrite the pointer (carefully)
// //
tya tya
clc clc
adc basic_current_line_ptr+0 adc OLDTXT+0
pha pha
php php
ldy #0 ldy #0
#if CONFIG_MEMORY_MODEL_60K #if CONFIG_MEMORY_MODEL_60K
ldx #<basic_current_line_ptr+0 ldx #<OLDTXT+0
jsr poke_under_roms jsr poke_under_roms
#else // CONFIG_MEMORY_MODEL_38K #else // CONFIG_MEMORY_MODEL_38K
sta (basic_current_line_ptr),y sta (OLDTXT),y
#endif #endif
plp plp
lda basic_current_line_ptr+1 lda OLDTXT+1
adc #0 adc #0
ldy #1 ldy #1
#if CONFIG_MEMORY_MODEL_60K #if CONFIG_MEMORY_MODEL_60K
jsr poke_under_roms jsr poke_under_roms
#else // CONFIG_MEMORY_MODEL_38K #else // CONFIG_MEMORY_MODEL_38K
sta (basic_current_line_ptr),y sta (OLDTXT),y
#endif #endif
sta basic_current_line_ptr+1 sta OLDTXT+1
pla pla
sta basic_current_line_ptr+0 sta OLDTXT+0
jmp basic_relink_loop jmp basic_relink_loop
+20 -20
View File
@@ -15,20 +15,20 @@ cmd_clr:
basic_do_new: basic_do_new:
// Setup pointers to memory storage XXX should depend on text start vector // Setup pointers to memory storage XXX should depend on text start vector
lda #<$0801 lda #<$0801
sta basic_start_of_text_ptr+0 sta TXTTAB+0
lda #>$0801 lda #>$0801
sta basic_start_of_text_ptr+1 sta TXTTAB+1
sta basic_start_of_vars_ptr+1 sta VARTAB+1
lda #<$0803 lda #<$0803
sta basic_start_of_vars_ptr+0 sta VARTAB+0
// Zero line pointer // Zero line pointer
// XXX - We should also zero $0800, i.e., basic_start_of_text_ptr - 1 // XXX - We should also zero $0800, i.e., TXTTAB - 1
ldy #$00 ldy #$00
tya tya
sta (basic_start_of_text_ptr),y sta (TXTTAB),y
iny iny
sta (basic_start_of_text_ptr),y sta (TXTTAB),y
// Get top of memory. // Get top of memory.
@@ -39,7 +39,7 @@ basic_do_new:
// free for some optimisation structures, e.g., FOR/NEXT loop // free for some optimisation structures, e.g., FOR/NEXT loop
// records (without them going on the stack), GOSUB stack // records (without them going on the stack), GOSUB stack
// (same story), expression value cache? // (same story), expression value cache?
sec // Read, not write value sec // Read, not write value
jsr JMEMTOP jsr JMEMTOP
cpx #$80 cpx #$80
@@ -56,25 +56,25 @@ basic_do_new:
#else // CONFIG_MEMORY_MODEL_38K #else // CONFIG_MEMORY_MODEL_38K
lda #>$A000 lda #>$A000
#endif #endif
sta basic_top_of_memory_ptr+1 sta MEMSIZ+1
sta basic_start_of_strings_ptr+1 sta FRETOP+1
#if CONFIG_MEMORY_MODEL_60K #if CONFIG_MEMORY_MODEL_60K
lda #<$F7FF lda #<$F7FF
#else // CONFIG_MEMORY_MODEL_38K #else // CONFIG_MEMORY_MODEL_38K
lda #<$A000 lda #<$A000
#endif #endif
sta basic_top_of_memory_ptr+0 sta MEMSIZ+0
sta basic_start_of_strings_ptr+0 sta FRETOP+0
// FALL THROUGH // FALL THROUGH
basic_do_clr: basic_do_clr:
// Clear variables, arrays and strings // Clear variables, arrays and strings
lda basic_start_of_vars_ptr+0 lda VARTAB+0
sta basic_start_of_arrays_ptr+0 sta ARYTAB+0
sta basic_start_of_free_space_ptr+0 sta STREND+0
lda basic_start_of_vars_ptr+1 lda VARTAB+1
sta basic_start_of_arrays_ptr+1 sta ARYTAB+1
sta basic_start_of_free_space_ptr+1 sta STREND+1
rts rts
+6 -6
View File
@@ -1,13 +1,13 @@
cmd_run: cmd_run:
// RUN clears all variables // RUN clears all variables
jsr basic_do_clr jsr basic_do_clr
cmd_goto: cmd_goto:
// Reset line pointer to first line of program. // Reset line pointer to first line of program.
lda basic_start_of_text_ptr+0 lda TXTTAB+0
sta basic_current_line_ptr+0 sta OLDTXT+0
lda basic_start_of_text_ptr+1 lda TXTTAB+1
sta basic_current_line_ptr+1 sta OLDTXT+1
jsr basic_end_of_statement_check jsr basic_end_of_statement_check
bcs !+ bcs !+
+7 -7
View File
@@ -120,12 +120,12 @@ do_TO_MANY_FILES_error:
lda $EA lda $EA
and #$80 and #$80
sta $EA sta $EA
// FALL THROUGH // FALL THROUGH
// Error # in X // Error # in X
do_basic_error: do_basic_error:
// "?" // "?"
txa txa
pha pha
@@ -142,12 +142,12 @@ do_basic_error:
// A space between error name and word error // A space between error name and word error
lda #$20 lda #$20
jsr $ffd2 jsr $ffd2
// "ERROR" // "ERROR"
ldx #33 ldx #33
jsr print_packed_message jsr print_packed_message
lda basic_current_line_number+1 lda CURLIN+1
cmp #$ff cmp #$ff
beq !+ beq !+
@@ -156,8 +156,8 @@ do_basic_error:
.text " IN " .text " IN "
.byte 0 .byte 0
lda basic_current_line_number+1 lda CURLIN+1
ldx basic_current_line_number+0 ldx CURLIN+0
jsr print_integer jsr print_integer
!: !:
// New lines // New lines
+1 -4
View File
@@ -56,7 +56,7 @@ injest_number:
ldy #$00 ldy #$00
lda (TXTPTR),y lda (TXTPTR),y
cmp #$AB cmp #$AB
bne ij_not_minus bne ij_loop1 // not minus
// Set sign to negative // Set sign to negative
lda #$ff lda #$ff
@@ -64,9 +64,6 @@ injest_number:
// Skip over the minus sign // Skip over the minus sign
jsr basic_consume_character jsr basic_consume_character
ij_not_minus:
ij_loop1: ij_loop1:
ldy #$00 ldy #$00
+3 -3
View File
@@ -6,11 +6,11 @@ peek_line_pointer_null_check:
ldy #$00 ldy #$00
#if CONFIG_MEMORY_MODEL_60K #if CONFIG_MEMORY_MODEL_60K
ldx #<basic_current_line_ptr+0 ldx #<OLDTXT+0
jsr peek_under_roms jsr peek_under_roms
cmp #$00 cmp #$00
#else // CONFIG_MEMORY_MODEL_38K #else // CONFIG_MEMORY_MODEL_38K
lda (basic_current_line_ptr),y lda (OLDTXT),y
#endif #endif
bne ptr_not_null bne ptr_not_null
@@ -20,7 +20,7 @@ peek_line_pointer_null_check:
jsr peek_under_roms jsr peek_under_roms
cmp #$00 cmp #$00
#else // CONFIG_MEMORY_MODEL_38K #else // CONFIG_MEMORY_MODEL_38K
lda (basic_current_line_ptr),y lda (OLDTXT),y
#endif #endif
bne ptr_not_null bne ptr_not_null
+4 -4
View File
@@ -8,9 +8,9 @@
install_ram_routines: install_ram_routines:
// Copy routines into place // Copy routines into place
ldx #ram_routines_end-ram_routines_start-1 ldx #__ram_routines_end-__ram_routines_start-1
!: !:
lda ram_routines_start,x lda __ram_routines_start,x
sta tiny_nmi_handler,x sta tiny_nmi_handler,x
dex dex
bpl !- bpl !-
@@ -23,7 +23,7 @@ install_ram_routines:
rts rts
ram_routines_start: __ram_routines_start:
// XXX - Routine order must match that of the KERNAL version of the file. // XXX - Routine order must match that of the KERNAL version of the file.
// (since it has fewer routines) // (since it has fewer routines)
@@ -107,7 +107,7 @@ smd1:
plp plp
jmp memmap_normal jmp memmap_normal
ram_routines_end: __ram_routines_end:
#else // CONFIG_MEMORY_MODEL_60K #else // CONFIG_MEMORY_MODEL_60K
+3 -3
View File
@@ -195,10 +195,10 @@ wedge_dos_directory_display:
// Display line // Display line
ldx #<BUF ldx #<BUF
stx basic_current_line_ptr+0 stx OLDTXT+0
ldx #>BUF ldx #>BUF
stx basic_current_line_ptr+1 stx OLDTXT+1
ldx #basic_current_line_ptr ldx #OLDTXT
jsr list_single_line jsr list_single_line
// Read & display next line or quit // Read & display next line or quit
@@ -4,10 +4,8 @@
// and ultimate_dos_v1.0.pdf and command_interface_v1.0.pdf by Gideon Zweijtzer // and ultimate_dos_v1.0.pdf and command_interface_v1.0.pdf by Gideon Zweijtzer
// Command interface registers // Command interface registers
.label U64_CONTROL = $DF1C // write .label U64_CONTROL_STATUS = $DF1C // write = CONTROL, read = STATUS
.label U64_STATUS = $DF1C // read .label U64_COMMAND_DATA_IDENTIFY = $DF1D // write = COMMAND_DATA, read = IDENTIFICATION
.label U64_COMMAND_DATA = $DF1D // write
.label U64_IDENTIFICATION = $DF1D // read
.label U64_RESPONSE_DATA = $DF1E // read only .label U64_RESPONSE_DATA = $DF1E // read only
.label U64_STATUS_DATA = $DF1F // read only .label U64_STATUS_DATA = $DF1F // read only
+6 -11
View File
@@ -365,12 +365,12 @@ not_clearscreen:
bcc !+ bcc !+
and #$7f and #$7f
jmp not_high_char jmp output_literal_char // not high char
!: !:
// Range $20-$3F is unchanged // Range $20-$3F is unchanged
cmp #$40 cmp #$40
bcc not_high_char bcc output_literal_char // not high char
// Unshifted letters and symbols from $40-$5F // Unshifted letters and symbols from $40-$5F
// all end up being -$40 // all end up being -$40
@@ -385,16 +385,12 @@ not_clearscreen:
// Fix shifted chars by adding $20 again // Fix shifted chars by adding $20 again
cmp #$20 cmp #$20
bcc not_high_char bcc output_literal_char // not high char
cmp #$40 cmp #$40
bcs not_high_char bcs output_literal_char // not high char
clc clc
adc #$20 adc #$20
not_high_char:
chrout_l1:
output_literal_char: output_literal_char:
// Write normal character on the screen // Write normal character on the screen
@@ -449,7 +445,7 @@ screen_grow_logical_line:
// Don't grow line if it is already grown // Don't grow line if it is already grown
lda LDTBL,y lda LDTBL,y
bpl !+ bpl !+
jmp done_grow_line jmp not_last_line // doneb grow line
!: !:
lda #$80 lda #$80
sta LDTBL,y sta LDTBL,y
@@ -563,10 +559,9 @@ no_copy_down:
dey dey
cpy #40 cpy #40
bne !- bne !-
rts rts
done_grow_line:
not_last_line: not_last_line:
rts rts
+1 -1
View File
@@ -12,7 +12,7 @@
// As there is nothing between here and $FFFA, we can just hard code this in place. // As there is nothing between here and $FFFA, we can just hard code this in place.
iobase: // iobase: - commented out to prevent label naming conflict
ldy #$DC ldy #$DC
ldx #$00 ldx #$00
rts rts
+4 -5
View File
@@ -14,14 +14,13 @@ UDTIM:
// after this time we have to reset the clock. // after this time we have to reset the clock.
inc TIME+0 inc TIME+0
bne udtim_clock_done bne udtim_update_stkey // done with clock
inc TIME+1 inc TIME+1
bne udtim_clock_rollover bne udtim_clock_rollover
inc TIME+2 inc TIME+2
// FALLTROUGH // FALLTROUGH
udtim_clock_done:
udtim_update_stkey: // entry to be used when interrupts are disabled udtim_update_stkey: // entry to be used when interrupts are disabled
// Another action we have to perform is to copy the last row of keyboard to RAM, // Another action we have to perform is to copy the last row of keyboard to RAM,
@@ -44,11 +43,11 @@ udtim_clock_rollover:
// At this point TIME+0 contains 0 // At this point TIME+0 contains 0
lda TIME+1 lda TIME+1
cmp #$1A cmp #$1A
bne udtim_clock_done bne udtim_update_stkey // done with clock
lda TIME+2 lda TIME+2
cmp #$4F cmp #$4F
bne udtim_clock_done bne udtim_update_stkey // done with clock
lda #$00 lda #$00
sta TIME+2 sta TIME+2
sta TIME+1 sta TIME+1
beq udtim_clock_done // will always jump beq udtim_update_stkey // done with clock - will always jump
+4 -4
View File
@@ -8,9 +8,9 @@
install_ram_routines: install_ram_routines:
// Copy routines into place // Copy routines into place
ldx #ram_routines_end-ram_routines_start-1 ldx #__ram_routines_end-__ram_routines_start-1
!: !:
lda ram_routines_start,x lda __ram_routines_start,x
sta tiny_nmi_handler,x sta tiny_nmi_handler,x
dex dex
bpl !- bpl !-
@@ -23,7 +23,7 @@ install_ram_routines:
rts rts
ram_routines_start: __ram_routines_start:
tiny_nmi_handler_routine: tiny_nmi_handler_routine:
inc missed_nmi_flag inc missed_nmi_flag
@@ -63,6 +63,6 @@ memmap_allram_routine:
pla pla
rts rts
ram_routines_end: __ram_routines_end:
#endif // CONFIG_MEMORY_MODEL_60K #endif // CONFIG_MEMORY_MODEL_60K