X-Git-Url: http://cloudbase.mooo.com/gitweb/z180-stamp.git/blobdiff_plain/ad9bc17c8ecab1f0bbd26f2270d4d396f4bc5e52..eb49471efdeb6b317afeffa9bc05b25cb7d7a72c:/z180/ddtz.180 diff --git a/z180/ddtz.180 b/z180/ddtz.180 index 4411549..d18330c 100644 --- a/z180/ddtz.180 +++ b/z180/ddtz.180 @@ -1229,7 +1229,7 @@ l0ce4h: l0ce9h: ld hl,0 l0cech: - call get.decdigit + call get.bindigit l0cefh: inc de jr c,l0cf8h @@ -1239,7 +1239,7 @@ l0cefh: l0cf8h: cp '"' jp nz,ERROR - call get.decdigit + call get.bindigit jr nc,l0cefh or a ret @@ -2197,294 +2197,294 @@ b_0x132A_start: DC 'F' DB 0 b_0x136C_start: - if ROMSYS - defb 000h - defw uromen + if ROMSYS + defb 000h + defw uromen endif if CPU_Z180 - defb 000h - defw ucbar - defb 000h - defw ubbr + defb 000h + defw ucbar + defb 000h + defw ubbr else - defb 000h - defw ubnk + defb 000h + defw ubnk endif - defb 003h - defw reg.c2 - defb 003h - defw reg.e2 - defb 003h - defw reg.l2 - defb 003h - defw reg.c - defb 003h - defw reg.e - defb 003h - defw reg.l - defb 000h - defw reg.a2 - defb 000h - defw reg.b2 - defb 000h - defw reg.c2 - defb 000h - defw reg.d2 - defb 000h - defw reg.e2 - defb 000h - defw reg.h2 - defb 000h - defw reg.l2 - defb 000h - defw reg.a - defb 000h - defw reg.b - defb 000h - defw reg.c - defb 000h - defw reg.d - defb 000h - defw reg.e - defb 000h - defw reg.h - defb 000h - defw reg.l - defb 003h - defw reg.ix - defb 003h - defw reg.iy - defb 003h - defw reg.sp - defb 003h - defw reg.pc - defb 003h - defw reg.ix - defb 003h - defw reg.iy - defb 003h - defw reg.sp - defb 003h - defw reg.pc - defb 000h - defw reg.i - defb 000h - defw reg.f2 - defb 000h - defw reg.f + defb 003h + defw reg.c2 + defb 003h + defw reg.e2 + defb 003h + defw reg.l2 + defb 003h + defw reg.c + defb 003h + defw reg.e + defb 003h + defw reg.l + defb 000h + defw reg.a2 + defb 000h + defw reg.b2 + defb 000h + defw reg.c2 + defb 000h + defw reg.d2 + defb 000h + defw reg.e2 + defb 000h + defw reg.h2 + defb 000h + defw reg.l2 + defb 000h + defw reg.a + defb 000h + defw reg.b + defb 000h + defw reg.c + defb 000h + defw reg.d + defb 000h + defw reg.e + defb 000h + defw reg.h + defb 000h + defw reg.l + defb 003h + defw reg.ix + defb 003h + defw reg.iy + defb 003h + defw reg.sp + defb 003h + defw reg.pc + defb 003h + defw reg.ix + defb 003h + defw reg.iy + defb 003h + defw reg.sp + defb 003h + defw reg.pc + defb 000h + defw reg.i + defb 000h + defw reg.f2 + defb 000h + defw reg.f CMD.S: - ld hl,(lst.S) - call get_lastarg_def + ld hl,(lst.S) + call get_lastarg_def l13d8h: - ld (lst.S),hl - call out.hl.@ - call OUTBL + ld (lst.S),hl + call out.hl.@ + call OUTBL comst - ld a,(hl) + ld a,(hl) comend - call out.hex - call outbl2 - call INLINE - call SKIPBL - inc hl - jr z,l13d8h - dec hl - inc de - cp '.' - jp z,assert_eol - cp '-' - jr nz,l1406h - ld a,(de) - or a - dec hl - jr z,l13d8h - inc hl + call out.hex + call outbl2 + call INLINE + call SKIPBL + inc hl + jr z,l13d8h + dec hl + inc de + cp '.' + jp z,assert_eol + cp '-' + jr nz,l1406h + ld a,(de) + or a + dec hl + jr z,l13d8h + inc hl l1406h: - dec de - call get_bytes_m - jr l13d8h + dec de + call get_bytes_m + jr l13d8h CMD.@: - call assert_eol - ld hl,MSG_at - ld de,offs.@ - ld c,001h - jp l1279h + call assert_eol + ld hl,MSG_at + ld de,offs.@ + ld c,001h + jp l1279h MSG_at: dc '@' CMD.I: - ld hl,CMD.I - ld (CMD_RPT),hl - ld hl,(lst.IP) - call get_lastarg_def - ld (lst.IP),hl - ld b,h - ld c,l + ld hl,CMD.I + ld (CMD_RPT),hl + ld hl,(lst.IP) + call get_lastarg_def + ld (lst.IP),hl + ld b,h + ld c,l if CPU_Z180 - ld a,b - or a - jr nz,l1442h - ld a,c - ld hl,ucbar - cp cbar - jr z,l143fh - ld hl,ubbr - cp bbr - jr nz,l1442h + ld a,b + or a + jr nz,l1442h + ld a,c + ld hl,ucbar + cp cbar + jr z,l143fh + ld hl,ubbr + cp bbr + jr nz,l1442h l143fh: - ld a,(hl) - jr l1444h + ld a,(hl) + jr l1444h l1442h: endif - in a,(c) + in a,(c) l1444h: - push af - call out.hex - call outbl4 - pop af - call out.bin.b - jp CRLF + push af + call out.hex + call outbl4 + pop af + call out.bin.b + jp CRLF CMD.O: - ld hl,CMD.O - ld (CMD_RPT),hl - ld hl,(lst.OD) - call get_arg_def - ld a,l - ld (lst.OD),a - push af - call skip_to_nextarg - ld hl,(lst.OP) - call get_lastarg_def - ld (lst.OP),hl - ld b,h - ld c,l + ld hl,CMD.O + ld (CMD_RPT),hl + ld hl,(lst.OD) + call get_arg_def + ld a,l + ld (lst.OD),a + push af + call skip_to_nextarg + ld hl,(lst.OP) + call get_lastarg_def + ld (lst.OP),hl + ld b,h + ld c,l if CPU_Z180 - ld a,b - or a - jr nz,l1489h - ld a,c - ld hl,ucbar - cp cbar - jr z,l148dh - ld hl,ubbr - cp bbr - jr z,l148dh - cp cbr - jp z,ERROR + ld a,b + or a + jr nz,l1489h + ld a,c + ld hl,ucbar + cp cbar + jr z,l148dh + ld hl,ubbr + cp bbr + jr z,l148dh + cp cbr + jp z,ERROR l1489h: endif - pop af - out (c),a + pop af + out (c),a ret if CPU_Z180 l148dh: - pop af - ld (hl),a - ret + pop af + ld (hl),a + ret endif CMD.V: - call get_arg3 ;1490 get from, size, to + call get_arg3 ;1490 get from, size, to cmp_mem: - push bc + push bc comst - ld a,(de) - ld b,(hl) + ld a,(de) + ld b,(hl) comend - cp b - jr z,l14bah - ld c,a - call out.hl.@ - call OUTBL - ld a,b - call out.hex - call outbl2 - ld a,c - call out.hex - call OUTBL - ex de,hl - call out.hl.@ - ex de,hl - call CRLF + cp b + jr z,l14bah + ld c,a + call out.hl.@ + call OUTBL + ld a,b + call out.hex + call outbl2 + ld a,c + call out.hex + call OUTBL + ex de,hl + call out.hl.@ + ex de,hl + call CRLF l14bah: - pop bc - inc hl - inc de - dec bc - ld a,b - or c - jr nz,cmp_mem + pop bc + inc hl + inc de + dec bc + ld a,b + or c + jr nz,cmp_mem ret CMD.M: - ld a,(de) - cp 'V' - jr nz,bm_nv - inc de + ld a,(de) + cp 'V' + jr nz,bm_nv + inc de bm_nv: - push af ;14c9 save 'V' flag - call get_arg3 - push hl - push de - push bc - call CP.HL.DE - jr nc,bm_mvdown - add hl,bc - ex de,hl - add hl,bc - ex de,hl - dec hl - dec de + push af ;14c9 save 'V' flag + call get_arg3 + push hl + push de + push bc + call CP.HL.DE + jr nc,bm_mvdown + add hl,bc + ex de,hl + add hl,bc + ex de,hl + dec hl + dec de comst - lddr + lddr comend - jr bm_done + jr bm_done bm_mvdown: comst ldir comend bm_done: - pop bc - pop de - pop hl - pop af - jr z,cmp_mem ;14ed validate? + pop bc + pop de + pop hl + pop af + jr z,cmp_mem ;14ed validate? ret CMD.H: - call EXPR - jp c,l173ch - call skip_to_nextarg - push hl - call EXPR - push af - call assert_eol - pop af - ex de,hl - pop hl - jr c,l1511h - push hl - push de - add hl,de - call l1511h - pop de - pop hl - and a - sbc hl,de + call EXPR + jp c,l173ch ;no parameters, print High and Max + call skip_to_nextarg + push hl + call EXPR + push af + call assert_eol + pop af + ex de,hl + pop hl + jr c,l1511h + push hl + push de + add hl,de + call l1511h + pop de + pop hl + and a + sbc hl,de l1511h: - call out.hl ;1511 val - call outbl2 - call sub_0928h ;1517 -val - call outbl4 - call out.hl.dec ;151d dec - call outbl2 - call out.hl.decm ;1523 -dec - call outbl4 - call out.bin.w ;1529 bin - call outbl2 - ld a,l - call out.ascii - jp CRLF + call out.hl ;1511 val + call outbl2 + call sub_0928h ;1517 -val + call outbl4 + call out.hl.dec ;151d dec + call outbl2 + call out.hl.decm ;1523 -dec + call outbl4 + call out.bin.w ;1529 bin + call outbl2 + ld a,l + call out.ascii + jp CRLF CMD.Q: ld a,(de) @@ -2935,415 +2935,142 @@ sub_17cdh: b_0x17EE_start: defw l1b54h - -b_0x17F0_start: defb 088h - -b_0x17F1_start: defw l1b74h - -b_0x17F3_start: defb 080h - -b_0x17F4_start: defw l1babh - -b_0x17F6_start: defb 0a0h - -b_0x17F7_start: defw l1c14h - -b_0x17F9_start: defb 040h - -b_0x17FA_start: defw l1c38h - -b_0x17FC_start: defb 0c4h - -b_0x17FD_start: defw l1b36h - -b_0x17FF_start: defb 03fh - -b_0x1800_start: defw l1babh - -b_0x1802_start: defb 0b8h - -b_0x1803_start: defw gen.opc.ED2 - -b_0x1805_start: defb 0a9h - -b_0x1806_start: defw gen.opc.ED2 - -b_0x1808_start: defb 0b9h - -b_0x1809_start: defw gen.opc.ED2 - -b_0x180B_start: defb 0a1h - -b_0x180C_start: defw gen.opc.ED2 - -b_0x180E_start: defb 0b1h - -b_0x180F_start: defw l1b36h - -b_0x1811_start: defb 02fh - -b_0x1812_start: defw l1b36h - -b_0x1814_start: defb 027h - -b_0x1815_start: defw l1dabh - -b_0x1817_start: defb 005h - -b_0x1818_start: defw l1b36h - -b_0x181A_start: defb 0f3h - -b_0x181B_start: defw l1ca4h - -b_0x181D_start: defb 010h - -b_0x181E_start: defw l1b36h - -b_0x1820_start: defb 0fbh - -b_0x1821_start: defw l1d54h - -b_0x1823_start: defb 0e3h - -b_0x1824_start: defw l1b36h - -b_0x1826_start: defb 0d9h - -b_0x1827_start: defw l1b36h - -b_0x1829_start: defb 076h - -b_0x182A_start: defw l1cbfh - -b_0x182C_start: defb 046h - -b_0x182D_start: defw l1cf8h - -b_0x182F_start: defb 040h - -b_0x1830_start: defw l1dabh - -b_0x1832_start: defb 004h - -b_0x1833_start: defw gen.opc.ED2 - -b_0x1835_start: defb 0aah - -b_0x1836_start: defw gen.opc.ED2 - -b_0x1838_start: defb 0bah - -b_0x1839_start: defw gen.opc.ED2 - -b_0x183B_start: defb 0a2h - -b_0x183C_start: defw gen.opc.ED2 - -b_0x183E_start: defb 0b2h - -b_0x183F_start: defw l1c5eh - -b_0x1841_start: defb 0c2h - -b_0x1842_start: defw l1cabh - -b_0x1844_start: defb 020h - -b_0x1845_start: defw l1934h - -b_0x1847_start: defb 040h - -b_0x1848_start: defw gen.opc.ED2 - -b_0x184A_start: defb 0a8h - -b_0x184B_start: defw gen.opc.ED2 - -b_0x184D_start: defb 0b8h - -b_0x184E_start: defw gen.opc.ED2 - -b_0x1850_start: defb 0a0h - -b_0x1851_start: defw gen.opc.ED2 - -b_0x1853_start: defb 0b0h - -b_0x1854_start: defw gen.opc.ED2 - -b_0x1856_start: defb 044h - -b_0x1857_start: defw l1b36h - -b_0x1859_start: defb 000h - -b_0x185A_start: defw l1babh - -b_0x185C_start: defb 0b0h - -b_0x185D_start: defw gen.opc.ED2 - -b_0x185F_start: defb 0bbh - -b_0x1860_start: defw gen.opc.ED2 - -b_0x1862_start: defb 0b3h - -b_0x1863_start: defw l1d2ch - -b_0x1865_start: defb 041h - -b_0x1866_start: defw gen.opc.ED2 - -b_0x1868_start: defb 0abh - -b_0x1869_start: defw gen.opc.ED2 - -b_0x186B_start: defb 0a3h - -b_0x186C_start: defw l1ce4h - -b_0x186E_start: defb 0c1h - -b_0x186F_start: defw l1ce4h - -b_0x1871_start: defb 0c5h - -b_0x1872_start: defw l1c14h - -b_0x1874_start: defb 080h - -b_0x1875_start: defw l1c50h - -b_0x1877_start: defb 0c0h - -b_0x1878_start: defw gen.opc.ED2 - -b_0x187A_start: defb 04dh - -b_0x187B_start: defw gen.opc.ED2 - -b_0x187D_start: defb 045h - -b_0x187E_start: defw l1bd8h - -b_0x1880_start: defb 010h - -b_0x1881_start: defw l1b36h - -b_0x1883_start: defb 017h - -b_0x1884_start: defw l1bd8h - -b_0x1886_start: defb 000h - -b_0x1887_start: defw l1b36h - -b_0x1889_start: defb 007h - -b_0x188A_start: defw gen.opc.ED2 - -b_0x188C_start: defb 06fh - -b_0x188D_start: defw l1bd8h - -b_0x188F_start: defb 018h - -b_0x1890_start: defw l1b36h - -b_0x1892_start: defb 01fh - -b_0x1893_start: defw l1bd8h - -b_0x1895_start: defb 008h - -b_0x1896_start: defw l1b36h - -b_0x1898_start: defb 00fh - -b_0x1899_start: defw gen.opc.ED2 - -b_0x189B_start: defb 067h - -b_0x189C_start: defw l1cd5h - -b_0x189E_start: defb 0c7h - -b_0x189F_start: defw l1b54h - -b_0x18A1_start: defb 098h - -b_0x18A2_start: defw l1b36h - -b_0x18A4_start: defb 037h - -b_0x18A5_start: defw l1c14h - -b_0x18A7_start: defb 0c0h - -b_0x18A8_start: defw l1bd8h - -b_0x18AA_start: defb 020h - -b_0x18AB_start: defw l1bd8h - -b_0x18AD_start: defb 028h - -b_0x18AE_start: defw l1bd8h - -b_0x18B0_start: defb 038h - -b_0x18B1_start: defw l1babh - -b_0x18B3_start: defb 090h - -b_0x18B4_start: defw l1babh - -b_0x18B6_start: defb 0a8h - -b_0x18B7_start: defw A.IN0 - -b_0x18B9_start: defb 000h - -b_0x18BA_start: defw A.MLT - b_0x18BC_start: defb 04ch ld b,e @@ -3351,47 +3078,19 @@ b_0x18BC_start: b_0x18BF_start: defb 08bh - -b_0x18C0_start: defw gen.opc.ED2 - -b_0x18C2_start: defb 09bh - -b_0x18C3_start: defw gen.opc.ED2 - -b_0x18C5_start: defb 083h - -b_0x18C6_start: defw gen.opc.ED2 - -b_0x18C8_start: defb 093h - -b_0x18C9_start: defw l18fdh - -b_0x18CB_start: defb 001h - -b_0x18CC_start: defw gen.opc.ED2 - -b_0x18CE_start: defb 076h - -b_0x18CF_start: defw l191dh - -b_0x18D1_start: defb 004h - -b_0x18D2_start: defw l192ch - -b_0x18D4_start: defb 074h A.IN0: call sub_1e41h @@ -5059,68 +4758,44 @@ l228bh: defb 0e7h defb 000h defb 0cfh - -b_0x228E_start: defw l230ch -b_0x2290_start: defb 0f7h defb 020h defb 0cfh - -b_0x2293_start: defw l230ch -b_0x2295_start: defb 0ffh defb 038h defb 0cfh - -b_0x2298_start: defw l230ch -b_0x229A_start: defb 0e7h defb 001h defb 0e7h - -b_0x229D_start: defw l2315h -b_0x229F_start: defb 0f7h defb 021h defb 0e7h - -b_0x22A2_start: defw l2315h -b_0x22A4_start: defb 0ffh defb 039h defb 0e7h - -b_0x22A7_start: defw l2315h -b_0x22A9_start: defb 0ffh defb 064h defb 0eeh - -b_0x22AC_start: defw l2397h -b_0x22AE_start: defb 0ffh defb 074h defb 0f1h - -b_0x22B1_start: defw l2397h - -b_0x22B3_start: defb 000h + l22b4h: defb 0efh defb 043h