mirror of
https://github.com/romychs/OK240.2-Firmware.git
synced 2026-04-21 10:53:18 +03:00
refactoring
This commit is contained in:
parent
5dee7d555c
commit
e54099e44a
@ -15,7 +15,6 @@
|
||||
|
||||
OUTPUT mon_E000.bin
|
||||
|
||||
|
||||
MODULE MONITOR
|
||||
|
||||
ORG 0xe000
|
||||
@ -188,8 +187,8 @@ msg_hw_mon:
|
||||
|
||||
; ---------------------------------------------------
|
||||
reset_m_stack:
|
||||
LD HL,M_VARS.stor_e
|
||||
LD SP,HL
|
||||
LD HL, M_VARS.stor_e
|
||||
LD SP, HL
|
||||
CALL get_cmd_letter
|
||||
INC HL
|
||||
|
||||
@ -197,41 +196,41 @@ reset_m_stack:
|
||||
; Monitor entry point
|
||||
; ---------------------------------------------------
|
||||
m_cold_start:
|
||||
LD HL,M_VARS.stor_e
|
||||
LD SP,HL
|
||||
LD HL, M_VARS.stor_e
|
||||
LD SP, HL
|
||||
DI
|
||||
CALL get_a_ref_sp
|
||||
CALL get_cmd_letter
|
||||
LD L,205
|
||||
LD L, 205
|
||||
DB 0xdd
|
||||
PUSH AF
|
||||
CP ASCII_CR
|
||||
JP Z,m_cold_start
|
||||
LD HL,cmd_handlers
|
||||
LD C,11
|
||||
JP Z, m_cold_start
|
||||
LD HL, cmd_handlers
|
||||
LD C, 11
|
||||
|
||||
seek_cmd:
|
||||
CP (HL)
|
||||
JP Z,cmd_found
|
||||
JP Z, cmd_found
|
||||
INC HL
|
||||
INC HL
|
||||
INC HL
|
||||
DEC C
|
||||
JP NZ,seek_cmd
|
||||
JP NZ, seek_cmd
|
||||
JP reset_m_stack
|
||||
|
||||
cmd_found:
|
||||
INC HL
|
||||
; get cmd handler address
|
||||
LD A,(HL)
|
||||
LD A, (HL)
|
||||
INC HL
|
||||
LD H,(HL)
|
||||
LD L,A
|
||||
LD H, (HL)
|
||||
LD L, A
|
||||
; RET to cold_start
|
||||
LD DE,m_cold_start
|
||||
LD DE, m_cold_start
|
||||
PUSH DE
|
||||
; Jump to cmd handler
|
||||
LD C,2
|
||||
LD C, 2
|
||||
JP (HL)
|
||||
|
||||
; ---------------------------------------------------
|
||||
@ -279,7 +278,7 @@ cmd_A:
|
||||
DEC C
|
||||
CALL get_address
|
||||
POP DE
|
||||
LD HL,256
|
||||
LD HL, 256
|
||||
CALL m_ramdisk_write
|
||||
RET
|
||||
|
||||
@ -290,23 +289,23 @@ cmd_D:
|
||||
DEC C
|
||||
CALL get_address
|
||||
POP HL
|
||||
LD DE,127
|
||||
EX DE,HL
|
||||
ADD HL,DE
|
||||
EX DE,HL
|
||||
LD DE, 127
|
||||
EX DE, HL
|
||||
ADD HL, DE
|
||||
EX DE, HL
|
||||
d_next_line:
|
||||
CALL get_a_ref_sp
|
||||
CALL out_sp_key
|
||||
CALL out_hex_word
|
||||
d_next_byte:
|
||||
CALL out_sp_key
|
||||
LD A,(HL)
|
||||
LD A, (HL)
|
||||
CALL out_hex_byte
|
||||
CALL next_hl_de
|
||||
RET C
|
||||
LD A,L
|
||||
LD A, L
|
||||
AND 0x7
|
||||
JP NZ,d_next_byte
|
||||
JP NZ, d_next_byte
|
||||
JP d_next_line
|
||||
|
||||
; ---------------------------------------------------
|
||||
@ -319,9 +318,9 @@ cmd_F:
|
||||
POP DE
|
||||
POP HL
|
||||
f_next_b:
|
||||
LD (HL),C
|
||||
LD (HL), C
|
||||
CALL next_hl_de
|
||||
JP NC,f_next_b
|
||||
JP NC, f_next_b
|
||||
RET
|
||||
|
||||
; ---------------------------------------------------
|
||||
@ -334,11 +333,11 @@ cmd_M:
|
||||
POP DE
|
||||
POP HL
|
||||
m_next_b:
|
||||
LD A,(HL)
|
||||
LD (BC),A
|
||||
LD A, (HL)
|
||||
LD (BC), A
|
||||
INC BC
|
||||
CALL next_hl_de
|
||||
JP NC,m_next_b
|
||||
JP NC, m_next_b
|
||||
RET
|
||||
|
||||
; ---------------------------------------------------
|
||||
@ -346,42 +345,44 @@ m_next_b:
|
||||
; ---------------------------------------------------
|
||||
cmd_L:
|
||||
CALL get_key_with_check
|
||||
JP NC,reset_m_stack
|
||||
JP NC, reset_m_stack
|
||||
CALL get_a_ref_sp
|
||||
|
||||
; wait for hex line start
|
||||
l_wait_colon:
|
||||
CALL m_serial_in
|
||||
CP ':'
|
||||
JP NZ,l_wait_colon
|
||||
JP NZ, l_wait_colon
|
||||
XOR A
|
||||
LD D,A
|
||||
CALL read_hex_serial
|
||||
JP Z,l_exit
|
||||
JP Z, l_exit
|
||||
; read line len and addr
|
||||
LD E,A
|
||||
LD E, A
|
||||
CALL read_hex_serial
|
||||
LD H,A
|
||||
LD H, A
|
||||
CALL read_hex_serial
|
||||
LD L,A
|
||||
LD L, A
|
||||
CALL read_hex_serial
|
||||
LD C,E
|
||||
LD C, E
|
||||
|
||||
l_next_byte:
|
||||
CALL read_hex_serial
|
||||
LD (HL),A
|
||||
LD (HL), A
|
||||
INC HL
|
||||
DEC E
|
||||
JP NZ,l_next_byte
|
||||
JP NZ, l_next_byte
|
||||
CALL read_hex_serial
|
||||
JP NZ,reset_m_stack
|
||||
JP NZ, reset_m_stack
|
||||
JP l_wait_colon
|
||||
; read and ignore final 4 hex bytes in las
|
||||
|
||||
l_exit:
|
||||
CALL read_hex_serial
|
||||
CALL read_hex_serial
|
||||
CALL read_hex_serial
|
||||
CALL read_hex_serial
|
||||
JP NZ,reset_m_stack
|
||||
JP NZ, reset_m_stack
|
||||
RET
|
||||
|
||||
; ---------------------------------------------------
|
||||
@ -391,18 +392,18 @@ cmd_S:
|
||||
CALL s_get_hex_addr
|
||||
RET C
|
||||
s_next_byte:
|
||||
LD A,(HL)
|
||||
LD A, (HL)
|
||||
CALL out_hex_byte
|
||||
CALL get_cmd_letter
|
||||
DEC L
|
||||
; get new value
|
||||
CALL get_key_with_check
|
||||
RET C
|
||||
JP Z,s_next_in
|
||||
EX DE,HL
|
||||
JP Z, s_next_in
|
||||
EX DE, HL
|
||||
CALL hex_keys_to_addr
|
||||
EX DE,HL
|
||||
LD (HL),E
|
||||
EX DE, HL
|
||||
LD (HL), E
|
||||
RET C
|
||||
s_next_in:
|
||||
INC HL
|
||||
@ -412,18 +413,18 @@ s_next_in:
|
||||
; X[r] - Out and modify register value
|
||||
; ---------------------------------------------------
|
||||
cmd_X:
|
||||
LD HL,registers_tab
|
||||
LD HL, registers_tab
|
||||
CALL get_key_with_check
|
||||
JP C,x_ret
|
||||
LD C,9
|
||||
JP C, x_ret
|
||||
LD C, 9
|
||||
x_seek_reg:
|
||||
CP (HL)
|
||||
JP Z,x_reg_found
|
||||
JP Z, x_reg_found
|
||||
INC HL
|
||||
INC HL
|
||||
INC HL
|
||||
DEC C
|
||||
JP NZ,x_seek_reg
|
||||
JP NZ, x_seek_reg
|
||||
JP reset_m_stack
|
||||
x_reg_found:
|
||||
CALL out_sp_key
|
||||
@ -432,21 +433,22 @@ x_reg_found:
|
||||
DEC L
|
||||
CALL get_key_with_check
|
||||
RET C
|
||||
JP Z,reset_m_stack
|
||||
JP Z, reset_m_stack
|
||||
PUSH BC
|
||||
; get new reg value and store
|
||||
CALL hex_keys_to_addr
|
||||
LD A,L
|
||||
LD (DE),A
|
||||
LD A, L
|
||||
LD (DE), A
|
||||
POP AF
|
||||
OR A
|
||||
JP M,x_wreg
|
||||
JP M, x_wreg
|
||||
INC DE
|
||||
LD A,H
|
||||
LD (DE),A
|
||||
LD (DE), A
|
||||
x_wreg:
|
||||
CALL get_a_ref_sp
|
||||
RET
|
||||
|
||||
x_ret:
|
||||
CALL get_a_ref_sp
|
||||
x_next_reg:
|
||||
@ -454,9 +456,9 @@ x_next_reg:
|
||||
OR (HL)
|
||||
RET M
|
||||
CP 'M'
|
||||
CALL Z,get_a_ref_sp
|
||||
CALL Z, get_a_ref_sp
|
||||
CALL out_sp_key
|
||||
LD C,(HL)
|
||||
LD C, (HL)
|
||||
CALL get_key_out
|
||||
CALL get_cmd_letter
|
||||
DEC A
|
||||
@ -551,17 +553,17 @@ get_a_ref_sp:
|
||||
CALL get_cmd_letter
|
||||
DEC C
|
||||
CALL get_cmd_letter
|
||||
LD A,(BC)
|
||||
LD A, (BC)
|
||||
RET
|
||||
|
||||
; ------------------------------------------------------
|
||||
;
|
||||
; ------------------------------------------------------
|
||||
get_cmd_letter:
|
||||
EX (SP),HL
|
||||
LD C,(HL)
|
||||
EX (SP), HL
|
||||
LD C, (HL)
|
||||
INC HL
|
||||
EX (SP),HL
|
||||
EX (SP), HL
|
||||
JP get_key_out
|
||||
|
||||
; ------------------------------------------------------
|
||||
@ -1497,15 +1499,15 @@ m2_lf:
|
||||
XOR A
|
||||
|
||||
.cas_l8:
|
||||
LD (DE),A
|
||||
LD (DE), A
|
||||
INC D
|
||||
DEC B
|
||||
JP NZ,.cas_l8
|
||||
JP NZ, .cas_l8
|
||||
INC E
|
||||
DEC C
|
||||
JP NZ,.cas_l7
|
||||
LD A,0x0
|
||||
OUT (SYS_DD17PB),A
|
||||
JP NZ, .cas_l7
|
||||
LD A, 0
|
||||
OUT (SYS_DD17PB), A
|
||||
RET
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user