implemented some missing parts for 46K/50K/60K memory models
This commit is contained in:
1 parent
b047c456b1
commit
0d903a8c16
3 files changed
+48
-6
No files matched your search
@@ -115,7 +115,14 @@ assign_variable_common_1:
|
||||
// Get array address
|
||||
|
||||
jsr find_array
|
||||
bcc !+
|
||||
|
||||
// Array does not exist - we will have to create one with default parameters
|
||||
|
||||
// XXX implement this
|
||||
|
||||
jmp do_NOT_IMPLEMENTED_error
|
||||
!:
|
||||
// Fetch the number of dimensions
|
||||
|
||||
pla
|
||||
|
||||
@@ -101,15 +101,18 @@ fetch_variable_arr_calc_pos_loop:
|
||||
|
||||
#if CONFIG_MEMORY_MODEL_60K
|
||||
|
||||
// XXX
|
||||
// XXX
|
||||
// XXX
|
||||
ldx #<VARPNT
|
||||
|
||||
jsr peek_under_roms
|
||||
sta __FAC1+3
|
||||
iny
|
||||
jsr peek_under_roms
|
||||
sta __FAC1+4
|
||||
iny
|
||||
|
||||
#elif CONFIG_MEMORY_MODEL_46K || CONFIG_MEMORY_MODEL_50K
|
||||
|
||||
// XXX
|
||||
// XXX
|
||||
// XXX
|
||||
jsr helper_array_fetch_dimension
|
||||
|
||||
#else // CONFIG_MEMORY_MODEL_38
|
||||
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
// #LAYOUT# STD * #TAKE-HIGH
|
||||
// #LAYOUT# * BASIC_0 #TAKE-HIGH
|
||||
// #LAYOUT# * * #IGNORE
|
||||
|
||||
// This has to go $E000 or above - routine below banks out the main BASIC ROM!
|
||||
|
||||
#if CONFIG_MEMORY_MODEL_46K || CONFIG_MEMORY_MODEL_50K
|
||||
|
||||
helper_array_fetch_dimension:
|
||||
|
||||
// Unmap BASIC lower ROM
|
||||
|
||||
lda #$26
|
||||
sta CPU_R6510
|
||||
|
||||
// Fetch the dimension
|
||||
|
||||
lda (VARPNT), y
|
||||
sta __FAC1+3
|
||||
iny
|
||||
lda (VARPNT), y
|
||||
sta __FAC1+4
|
||||
iny
|
||||
|
||||
// Restore default memory mapping
|
||||
|
||||
lda #$27
|
||||
sta CPU_R6510
|
||||
|
||||
rts
|
||||
|
||||
#endif
|
||||
Reference in new issue
Block a user