call get.decdigit\r
jr c,error4\r
inc de\r
+get_y_val:\r
add a,a\r
ld hl,reg_Y\r
call add_hl_a\r
\r
cmd_B:\r
call skipbl\r
- jr z,l07b7h\r
+ jr z,bp_print\r
inc de\r
cp 'X'\r
- jr z,l077dh\r
+ jr z,bp_clr0\r
dec de\r
ld a,001h\r
jp bp_enter\r
-l077dh:\r
+bp_clr0:\r
call skipbl\r
jr z,bp_clr_all\r
-l0782h:\r
+bp_clr_next:\r
call expr\r
jp c,assert_eol\r
push de\r
call bp_clr\r
pop de\r
call next_arg\r
- jr l0782h\r
+ jr bp_clr_next\r
\r
bp_clr_all:\r
scf\r
djnz l0799h\r
ret\r
\r
-l07b7h:\r
+bp_print:\r
ld b,BP_CNT\r
ld ix,bp_tab\r
-l07bdh:\r
+bp_pr_l:\r
bit 0,(ix+000h)\r
- jr z,l0808h\r
+ jr z,bp_pr_cont\r
ld a,'R'\r
bit 4,(ix+000h)\r
jr nz,l07cdh\r
ld l,(ix+002h)\r
ld h,(ix+003h)\r
call out.hl.@\r
- call outbl2\r
- ld a,':'\r
- call outchar\r
+ ld a,82h\r
+ call p_sym_space\r
+ call pstr_inl\r
+ dc ':'\r
ld l,(ix+004h)\r
ld h,(ix+005h)\r
call out_hl\r
call pstr\r
l0805h:\r
call crlf\r
-l0808h:\r
+bp_pr_cont:\r
ld de,BP_SIZE\r
add ix,de\r
- djnz l07bdh\r
+ djnz bp_pr_l\r
ret\r
\r
; Add break points to list\r
call skipbl\r
ret z\r
cp 'R'\r
- jr nz,l081ch\r
+ jr nz,bp_e_1\r
inc de\r
set 4,b\r
-l081ch:\r
+bp_e_1:\r
push bc\r
call expr\r
jp c,ERROR\r
bp_get_freeslot:\r
ld b,BP_CNT\r
ld ix,bp_tab\r
-l085ah:\r
+bp_gf_l:\r
ld a,(ix+000h)\r
and 00fh\r
ret z\r
ld bc,BP_SIZE\r
add ix,bc\r
pop bc\r
- djnz l085ah\r
+ djnz bp_gf_l\r
jp ERROR\r
\r
bp_get_count:\r
l0bc7h:\r
push af\r
call sub_0bdch\r
- call outbl4\r
+ pop af\r
+ push af\r
+ call get_y_val\r
+ ld a,82h\r
+ call p_sym_space\r
pop af\r
inc a\r
bit 0,a\r
call outbl\r
ld a,l\r
call out.ascii\r
- call outbl\r
- call p_symbol\r
+ ld a,80h\r
+ call p_sym_space\r
jp crlf\r
\r
p_symbols:\r
inc de\r
call assert_eol\r
ld hl,ddtz_base+2\r
-psym_l:\r
+\r
+ ld a,(symlen_max)\r
+ add a,8\r
+ ld b,a\r
+ ld a,80 ;screen width\r
+ ld c,-1\r
+psym_1:\r
+ inc c\r
+ sub a,b\r
+ jr nc,psym_1\r
+\r
+psym_nxtline:\r
+ ld b,c\r
+psym_nxtcol:\r
ld d,(hl)\r
dec hl\r
ld e,(hl)\r
dec hl\r
- ld b,(hl)\r
- dec hl\r
- ld a,b\r
+ ld a,(hl)\r
+ call sub_hl_a1\r
cp 0c3h\r
- ret z\r
+ jr z,psym_e\r
\r
ex de,hl\r
call out_hl\r
- ex de,hl\r
call outbl\r
-psymch_l:\r
- ld a,(hl)\r
- dec hl\r
- call outchar\r
- djnz psymch_l\r
+ ld a,3\r
+ call p_sym_space\r
+ ex de,hl\r
+ djnz psym_nxtcol\r
call crlf\r
- jr psym_l\r
+ jr psym_nxtline\r
+psym_e:\r
+ ld a,b\r
+ cp c\r
+ ret z\r
+ jp crlf\r
\r
\r
-p_symbol:\r
+p_sym_space:\r
if 0\r
ld a,(dash_flag)\r
or a\r
ret nz\r
endif\r
+\r
+ push hl\r
+ push bc\r
+ ld c,a\r
+ ld a,(con_col)\r
+ ld b,a\r
call sym_getname\r
- ret z\r
+ jr z,psb_align\r
+ bit 7,c\r
+ jr z,psb_nd\r
+ ld a,' '\r
+ call outchar\r
ld a,'.'\r
call outchar\r
+psb_nd:\r
+ call p_symstr\r
+\r
+psb_align:\r
+ ld a,(con_col)\r
+ sub b\r
+ ld b,a\r
+ ld a,(symlen_max)\r
+ bit 7,c\r
+ jr z,$+4\r
+ add a,2\r
+ res 7,c\r
+ add c\r
+ sub b\r
+ ld b,a\r
+ jr z,psb_e\r
+psb_a_l:\r
+ call outbl\r
+ djnz psb_a_l\r
+psb_e:\r
+ pop bc\r
+ pop hl\r
+ ret\r
+\r
+\r
+p_symbol:\r
+ if 0\r
+ ld a,(dash_flag)\r
+ or a\r
+ ret nz\r
+ endif\r
+ call sym_getname\r
+ ret z\r
+ call pstr_inl\r
+ dc ' .'\r
+\r
p_symstr:\r
+ push bc\r
ld b,(hl)\r
pss_l:\r
dec hl\r
ld a,(hl)\r
call outchar\r
djnz pss_l\r
+ pop bc\r
ret\r
\r
p_label:\r
pop hl\r
ret\r
\r
+\r
sym_getname:\r
push de\r
push hl\r
\r
dec de\r
call file_open\r
-;------------------------------------------------------------------------\r
rs_1:\r
call read_byte\r
rs_2:\r
cp 1ah\r
- jr z,p_max_high\r
+ jp z,p_max_high\r
cp '!'\r
jr c,rs_1\r
call read_hexbyte0\r
ex de,hl ;\r
pop de ;\r
ld (hl),e ; symlen\r
+ ld a,e\r
inc hl ;\r
pop de ; symval\r
ld (hl),e ;\r
inc hl ;\r
ld (hl),d ;\r
+ ld hl,symlen_max\r
+ cp (hl)\r
+ jr c,$+3\r
+ ld (hl),a\r
jp rs_1 ;\r
-;------------------------------------------------------------------------\r
+\r
\r
p_max_high0:\r
call assert_eol\r
ld de,(var.@)\r
ld a,d\r
or e\r
- ld b,011h\r
+ ld b,17\r
jr z,l122dh\r
- ld b,019h\r
+ ld b,25\r
l122dh:\r
call outbl\r
ld a,(con_col)\r
call p_disas_instr\r
and a\r
ret z\r
-\r
l193fh:\r
call outbl\r
ld a,(con_col)\r
l1ffdh:\r
db 0\r
\r
+symlen_max: ;max length of symbols read so far\r
+ db 0\r
cur_fcb:\r
dw 0\r
fcbsym:\r