summaryrefslogtreecommitdiff
path: root/ddt180.z80
diff options
context:
space:
mode:
Diffstat (limited to 'ddt180.z80')
-rw-r--r--ddt180.z80125
1 files changed, 62 insertions, 63 deletions
diff --git a/ddt180.z80 b/ddt180.z80
index 3d4e6e7..ed3d7f2 100644
--- a/ddt180.z80
+++ b/ddt180.z80
@@ -402,10 +402,6 @@ outbl:
ld a,' '
jr outchar
-p_char_lparen:
- ld a,'('
- jr outchar
-
outquote:
ld a,''''
outchar:
@@ -1458,24 +1454,25 @@ p_f2:
jp outbl
p_flags:
- ld b,a
- ld a,'S'
- call sub_06aah
- ld a,'Z'
- call sub_06aah
- rl b
- ld a,'H'
- call sub_06aah
- rl b
- ld a,'V'
- call sub_06aah
- ld a,'N'
- call sub_06aah
- ld a,'C'
-sub_06aah:
- rl b
- jp c,outchar
- jp outbl
+ push hl
+ ld hl,t_flag_names+7
+ ld c,a
+ ld b,8
+fl_loop:
+ ld a,' '
+ cp (hl)
+ ld a,c
+ rlca
+ ld c,a
+ jr z,fl_skip
+ ld a,(hl)
+ call c,outchar
+ call nc,outbl
+fl_skip:
+ dec hl
+ djnz fl_loop
+ pop hl
+ ret
p_regs:
push de
@@ -5277,8 +5274,7 @@ l1ce5h:
sub_1ce8h:
call p_char_lparen
call p_arg_ww
-out_rparen:
- jp p_char_rparen
+ jr out_rparen
l1cf5h:
call p_A_comma
@@ -5318,7 +5314,11 @@ l1d29h:
sub_1d2ch:
call p_char_lparen
ld a,(iy+001h)
- jp l1e6bh
+p_arg_nn_rp:
+ call out_hex
+out_rparen:
+ jr p_char_rparen
+
l1d37h:
call sub_1d2ch
jr p_char_comma_A
@@ -5355,27 +5355,30 @@ p_arg_addr_a:
call p_arg_addr
p_char_comma_A:
call p_char_comma
+ jr p_char_A
+
+p_A_comma:
+ call p_char_A
+p_char_comma:
+ ld a,','
+ db 021h
p_char_A:
ld a,'A'
- jr outchar1
-p_arg_a_addr:
- call p_A_comma
- jp p_arg_addr
+ db 021h
l1d85h:
ld a,'0'
- jr outchar1
+ db 021h
l1d89h:
ld a,'1'
- jr outchar1
+ db 021h
l1d8dh:
ld a,'2'
- jr outchar1
-
-p_A_comma:
- call p_char_A
-p_char_comma:
- ld a,','
-outchar1:
+ db 021h
+p_char_rparen:
+ ld a,')'
+ db 021h
+p_char_lparen:
+ ld a,'('
jp outchar
l1d92h:
@@ -5426,7 +5429,16 @@ p_arg_addr_ww:
p_arg_ww_addr:
call p_arg_ww
call p_char_comma
- jr p_arg_addr
+
+p_arg_a_addr:
+ call p_A_comma
+p_arg_addr:
+ call p_char_lparen
+ ld l,(iy+001h)
+ ld h,(iy+002h)
+ ld a,001h
+ call sub_1d50h
+ jr p_char_rparen
p_arg_bitop:
ld a,(isprefix_ixiy)
@@ -5459,17 +5471,6 @@ l1e0eh:
l1e11h:
jr p_arg_r0
-p_arg_addr:
- call p_char_lparen
- ld l,(iy+001h)
- ld h,(iy+002h)
- ld a,001h
- call sub_1d50h
-
-p_char_rparen:
- ld a,')'
- jp outchar
-
p_arg_r:
ld a,(iy+000h)
rra
@@ -5494,20 +5495,18 @@ p_arg_r0:
l1e4dh:
call pstr
ld a,(iy+001h)
- and a
- jp m,l1e61h
- call pstr_inl
- dc '+'
- ld a,(iy+001h)
- jr l1e6bh
-l1e61h:
- call pstr_inl
- dc '-'
- ld a,(iy+001h)
+ push af
+ rlca
+ ld a,'+'
+ jr nc,l1e61h
+ pop af
neg
-l1e6bh:
- call out_hex
- jr p_char_rparen
+ push af
+ ld a,'-'
+l1e61h:
+ call outchar
+ pop af
+ jp p_arg_nn_rp
p_arg_r1:
ld hl,t_BCDEHL_HL_A