improved MEM command

This commit is contained in:
FeralChild64 committed 2020-07-18 10:56:43 +02:00
1 parent db1c658a13
commit 704bdfccbf
5 files changed
+79 -18

No files matched your search

+60 -8
View File
@@ -29,16 +29,60 @@ cmd_mem_cont:
#endif
// Print header
lda #$12
jsr JCHROUT
ldx #IDX__STR_MEM_HDR
jsr print_packed_misc_str
// Print all the information, in a loop, in reverse order
ldy #$04
!:
// FALLTROUGH
cmd_mem_loop:
// First print the information string
ldx helper_mem_tab_str, y
phy_trash_a
jsr print_packed_misc_str
// Print start address
ldx #IDX__STR_MEM_1
jsr print_packed_misc_str
#if HAS_OPCODES_65C02
ply
phy
#else
pla
pha
tay
#endif
ldx helper_mem_tab_y, y
lda $01, x
jsr print_hex_byte
#if HAS_OPCODES_65C02
ply
phy
#else
pla
pha
tay
#endif
ldx helper_mem_tab_y, y
lda $00, x
jsr print_hex_byte
ldx #IDX__STR_MEM_2
jsr print_packed_misc_str
// Fetch addresses of zeropage variables
#if HAS_OPCODES_65C02
@@ -76,23 +120,31 @@ cmd_mem_cont:
// Before printing, make sure the result is not negative
bcc cmd_mem_error
bcs !+
lda #$3F
jsr JCHROUT
#if HAS_OPCODES_65C02
bra cmd_mem_next
#else
jmp cmd_mem_next
#endif
!:
jsr print_integer
// FALLTROUGH
cmd_mem_next:
// Check if more iterations needed
ply_trash_a
dey
bpl !-
bpl cmd_mem_loop
// Finish
jmp print_return
cmd_mem_error:
jsr print_return
jmp do_MEMORY_CORRUPT_error
#endif // ROM layout
+1
View File
@@ -26,6 +26,7 @@
.label plot_set = KERNAL_0.plot_set
.label init_oldtxt = BASIC_0.init_oldtxt
.label rom_revision_basic_string = BASIC_0.rom_revision_basic_string
.label print_hex_byte = BASIC_0.proxy_B1_print_hex_byte
.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
+5
View File
@@ -59,6 +59,11 @@ proxy_B1_JCHROUT:
jsr JCHROUT
jmp map_BASIC_1
proxy_B1_print_hex_byte:
jsr map_NORMAL
jsr print_hex_byte
jmp map_BASIC_1
proxy_B1_print_integer: