some more code optimizations
This commit is contained in:
1 parent
8826394e80
commit
12abb60d22
6 files changed
+48
-24
No files matched your search
@@ -42,7 +42,12 @@ cmd_print_string:
|
||||
|
||||
// Print a string value
|
||||
|
||||
// XXX add optimized 46K/50K version
|
||||
#if CONFIG_MEMORY_MODEL_46K || CONFIG_MEMORY_MODEL_50K
|
||||
|
||||
jsr helper_print_string
|
||||
jmp_8 cmd_print_next_arg
|
||||
|
||||
#else // CONFIG_MEMORY_MODEL_38K || CONFIG_MEMORY_MODEL_60K
|
||||
|
||||
ldy #$00
|
||||
!:
|
||||
@@ -50,23 +55,17 @@ cmd_print_string:
|
||||
beq cmd_print_next_arg
|
||||
|
||||
#if CONFIG_MEMORY_MODEL_60K
|
||||
|
||||
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
|
||||
|
||||
#endif
|
||||
|
||||
jsr JCHROUT
|
||||
iny
|
||||
jmp !-
|
||||
bpl !-
|
||||
|
||||
#endif
|
||||
|
||||
cmd_print_float:
|
||||
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
// #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_print_string:
|
||||
|
||||
// Unmap BASIC lower ROM
|
||||
|
||||
lda #$26
|
||||
sta CPU_R6510
|
||||
|
||||
// Print the string
|
||||
|
||||
ldy #$00
|
||||
!:
|
||||
cpy __FAC1 + 0
|
||||
beq_16 remap_BASIC // branch if end of the string
|
||||
lda (__FAC1 + 1), y
|
||||
jsr JCHROUT
|
||||
iny
|
||||
bpl !-
|
||||
|
||||
#endif
|
||||
Reference in new issue
Block a user