ex de,hl\r
jr l0b58h\r
\r
+; divide x/y\r
+; hl: x\r
+; de: y\r
+; return:\r
+; hl: q (x/y)\r
+; de: r (x%y)\r
+\r
DIV_HL_DE:\r
- push bc\r
- ex de,hl\r
- ld b,h\r
- ld c,l\r
- ld hl,0\r
- ld a,16\r
+ push bc\r
+ ex de,hl ;de = x, hl = y\r
+ ld b,h ;bc = y\r
+ ld c,l\r
+ ld hl,0 ;r = 0\r
+ ld a,16 ;count\r
+\r
+; de: x (x shifted out, q shifted in)\r
+; bc: y\r
+; hl: r (initially 0)\r
+\r
l0b89h:\r
- push af\r
- add hl,hl\r
- ex de,hl\r
- xor a\r
- add hl,hl\r
- ex de,hl\r
- adc a,l\r
- sub c\r
- ld l,a\r
- ld a,h\r
- sbc a,b\r
- ld h,a\r
- inc de\r
- jr nc,l0b9ah\r
- add hl,bc\r
- dec de\r
-l0b9ah:\r
- pop af\r
- dec a\r
- jr nz,l0b89h\r
- ex de,hl\r
- pop bc\r
+ ex de,hl ;x\r
+ add hl,hl ;x <<= 1\r
+ ex de,hl ;r\r
+ adc hl,hl ;r <<= 1\r
+\r
+ or a\r
+ sbc hl,bc\r
+ inc de\r
+ jr nc,div_no_restore\r
+ add hl,bc\r
+ dec de\r
+div_no_restore:\r
+ dec a\r
+ jr nz,l0b89h\r
+ ex de,hl ;hl: q de: r\r
+ pop bc\r
ret\r
\r
do_op_and:\r
- ld a,h\r
- and d\r
- ld h,a\r
- ld a,l\r
- and e\r
- ld l,a\r
- jr l0b58h\r
+ ld a,h\r
+ and d\r
+ ld h,a\r
+ ld a,l\r
+ and e\r
+ ld l,a\r
+ jr l0b58h\r
\r
do_op_or:\r
- ld a,h\r
- or d\r
- ld h,a\r
- ld a,l\r
- or e\r
- ld l,a\r
- jr l0b58h\r
+ ld a,h\r
+ or d\r
+ ld h,a\r
+ ld a,l\r
+ or e\r
+ ld l,a\r
+ jr l0b58h\r
\r
do_op_xor:\r
- ld a,h\r
- xor d\r
- ld h,a\r
- ld a,l\r
- xor e\r
- ld l,a\r
- jr l0b58h\r
+ ld a,h\r
+ xor d\r
+ ld h,a\r
+ ld a,l\r
+ xor e\r
+ ld l,a\r
+ jr l0b58h\r
\r
do_binary_op:\r
- push hl\r
- ld hl,tab_op_a\r
- call lookupch\r
- ld a,b\r
- ld hl,tab_func_opa\r
- add a,a\r
- call ADD_HL_A\r
- ld c,(hl)\r
- inc hl\r
- ld b,(hl)\r
- pop hl\r
+ push hl\r
+ ld hl,tab_op_a\r
+ call lookupch\r
+ ld a,b\r
+ ld hl,tab_func_opa\r
+ add a,a\r
+ call ADD_HL_A\r
+ ld c,(hl)\r
+ inc hl\r
+ ld b,(hl)\r
+ pop hl\r
ret\r
\r
tab_op_a:\r
DB '+-*/%&!#',0\r
tab_func_opa:\r
- defw do_op_add\r
- defw do_op_sub\r
- defw do_op_mlt\r
- defw do_op_div\r
- defw do_op_mod\r
- defw do_op_and\r
- defw do_op_or\r
- defw do_op_xor\r
- defw 0\r
+ defw do_op_add\r
+ defw do_op_sub\r
+ defw do_op_mlt\r
+ defw do_op_div\r
+ defw do_op_mod\r
+ defw do_op_and\r
+ defw do_op_or\r
+ defw do_op_xor\r
+ defw 0\r
\r
fact_factor:\r
- call do_factor\r
- ret nc\r
- jp ERROR\r
+ call do_factor\r
+ ret nc\r
+ jp ERROR\r
\r
do_factor:\r
- call chk.sp\r
- call get.number\r
- ret nc\r
- inc de\r
- ld hl,TOPRAM\r
- cp 'T'\r
- ret z\r
- ld hl,(HILOD)\r
- cp 'H'\r
- ret z\r
- ld hl,(MAXLOD)\r
- cp 'M'\r
- ret z\r
- ld hl,TPA\r
- cp 'L'\r
- ret z\r
- ld hl,(offs.@)\r
- cp '@'\r
- ret z\r
- ld hl,(OFFS.pc)\r
- cp '$'\r
- ret z\r
- cp '-'\r
- jr z,fact_factneg\r
- cp '~'\r
- jr z,fact_factinv\r
- cp '+'\r
- jr z,fact_factor\r
- cp '^'\r
- jr z,fact_reg.CPU\r
- cp 'Y'\r
- jr z,fact_reg.Y\r
- cp '('\r
- jr z,fact_mem\r
- cp '['\r
- jp z,EXPR_BRCKT ;0c35 [ expression ]\r
- cp ''''\r
- jr z,fact_factstring\r
- dec de\r
+ call chk.sp\r
+ call get.number\r
+ ret nc\r
+ inc de\r
+ ld hl,TOPRAM\r
+ cp 'T'\r
+ ret z\r
+ ld hl,(HILOD)\r
+ cp 'H'\r
+ ret z\r
+ ld hl,(MAXLOD)\r
+ cp 'M'\r
+ ret z\r
+ ld hl,TPA\r
+ cp 'L'\r
+ ret z\r
+ ld hl,(offs.@)\r
+ cp '@'\r
+ ret z\r
+ ld hl,(OFFS.pc)\r
+ cp '$'\r
+ ret z\r
+ cp '-'\r
+ jr z,fact_factneg\r
+ cp '~'\r
+ jr z,fact_factinv\r
+ cp '+'\r
+ jr z,fact_factor\r
+ cp '^'\r
+ jr z,fact_reg.CPU\r
+ cp 'Y'\r
+ jr z,fact_reg.Y\r
+ cp '('\r
+ jr z,fact_mem\r
+ cp '['\r
+ jp z,EXPR_BRCKT ;0c35 [ expression ]\r
+ cp ''''\r
+ jr z,fact_factstring\r
+ dec de\r
scf\r
ret\r
\r
fact_reg.Y:\r
- call get.decdigit\r
- jp c,ERROR\r
- inc de\r
- add a,a\r
- ld hl,reg.Y\r
- call ADD_HL_A\r
- ld a,(hl)\r
- inc hl\r
- ld h,(hl)\r
- ld l,a\r
- and a\r
+ call get.decdigit\r
+ jp c,ERROR\r
+ inc de\r
+ add a,a\r
+ ld hl,reg.Y\r
+ call ADD_HL_A\r
+ ld a,(hl)\r
+ inc hl\r
+ ld h,(hl)\r
+ ld l,a\r
+ and a\r
ret\r
fact_factstring:\r
- ld hl,0\r
+ ld hl,0\r
l0c56h:\r
- ld a,(de)\r
- cp ''''\r
- jr z,l0c62h\r
- and a\r
- ret z\r
+ ld a,(de)\r
+ cp ''''\r
+ jr z,l0c62h\r
+ and a\r
+ ret z\r
l0c5dh:\r
- ld h,l\r
- ld l,a\r
- inc de\r
- jr l0c56h\r
+ ld h,l\r
+ ld l,a\r
+ inc de\r
+ jr l0c56h\r
\r
l0c62h:\r
- inc de\r
- ld a,(de)\r
- cp ''''\r
- jr z,l0c5dh\r
- sub '.'\r
- or a\r
- ret nz\r
- inc de\r
- set 7,l\r
+ inc de\r
+ ld a,(de)\r
+ cp ''''\r
+ jr z,l0c5dh\r
+ sub '.'\r
+ or a\r
+ ret nz\r
+ inc de\r
+ set 7,l\r
ret\r
\r
fact_reg.CPU:\r
- call sub_1315h\r
- jr nc,l0cbbh\r
- ld a,(hl)\r
- inc hl\r
- ld h,(hl)\r
- ld l,a\r
- and a\r
- bit 0,c\r
- ret nz\r
- ld h,000h\r
+ call sub_1315h\r
+ jr nc,l0cbbh\r
+ ld a,(hl)\r
+ inc hl\r
+ ld h,(hl)\r
+ ld l,a\r
+ and a\r
+ bit 0,c\r
+ ret nz\r
+ ld h,000h\r
ret\r
\r
fact_factneg:\r
- call fact_factor\r
- dec hl\r
+ call fact_factor\r
+ dec hl\r
cpl.hl:\r
- ld a,h\r
+ ld a,h\r
cpl\r
- ld h,a\r
- ld a,l\r
+ ld h,a\r
+ ld a,l\r
cpl\r
- ld l,a\r
+ ld l,a\r
ret\r
fact_factinv:\r
- call fact_factor\r
- jr cpl.hl\r
+ call fact_factor\r
+ jr cpl.hl\r
\r
fact_mem:\r
- call EXPR1\r
- jr c,l0cbbh\r
- ld a,(de)\r
- cp ')'\r
- jr nz,l0cbbh\r
- inc de\r
+ call EXPR1\r
+ jr c,l0cbbh\r
+ ld a,(de)\r
+ cp ')'\r
+ jr nz,l0cbbh\r
+ inc de\r
comst\r
- ld a,(hl)\r
- inc hl ;\r
- ld h,(hl) ;\r
+ ld a,(hl)\r
+ inc hl ;\r
+ ld h,(hl) ;\r
comend\r
- ld l,a\r
- ld a,(de)\r
- inc de\r
- cp '.'\r
- ret z\r
- dec de\r
- xor a\r
- ld h,a\r
+ ld l,a\r
+ ld a,(de)\r
+ inc de\r
+ cp '.'\r
+ ret z\r
+ dec de\r
+ xor a\r
+ ld h,a\r
ret\r
\r
EXPR_BRCKT:\r
- call EXPR1\r
- jr c,l0cbbh\r
- ld a,(de)\r
- cp ']'\r
- inc de\r
- ret z\r
+ call EXPR1\r
+ jr c,l0cbbh\r
+ ld a,(de)\r
+ cp ']'\r
+ inc de\r
+ ret z\r
l0cbbh:\r
- jp ERROR\r
+ jp ERROR\r
\r
get.number:\r
- call get.hexdigit\r
- ret c\r
- push de\r
+ call get.hexdigit\r
+ ret c\r
+ push de\r
l0cc3h:\r
- inc de\r
- call get.hexdigit\r
- jr nc,l0cc3h\r
- pop de\r
- cp '.'\r
- jr z,l0d04h\r
- cp '"'\r
- jr z,l0ce9h\r
- ld hl,0\r
+ inc de\r
+ call get.hexdigit\r
+ jr nc,l0cc3h\r
+ pop de\r
+ cp '.'\r
+ jr z,l0d04h\r
+ cp '"'\r
+ jr z,l0ce9h\r
+ ld hl,0\r
l0cd5h:\r
- call get.hexdigit\r
- jr c,l0ce4h\r
- add hl,hl\r
- add hl,hl\r
- add hl,hl\r
- add hl,hl\r
- call ADD_HL_A\r
- inc de\r
- jr l0cd5h\r
+ call get.hexdigit\r
+ jr c,l0ce4h\r
+ add hl,hl\r
+ add hl,hl\r
+ add hl,hl\r
+ add hl,hl\r
+ call ADD_HL_A\r
+ inc de\r
+ jr l0cd5h\r
l0ce4h:\r
- xor 'H'\r
- ret nz\r
- inc de\r
+ xor 'H'\r
+ ret nz\r
+ inc de\r
ret\r
\r
l0ce9h:\r
- ld hl,0\r
+ ld hl,0\r
l0cech:\r
- call get.decdigit\r
+ call get.bindigit\r
l0cefh:\r
- inc de\r
- jr c,l0cf8h\r
- add hl,hl\r
- call ADD_HL_A\r
- jr l0cech\r
+ inc de\r
+ jr c,l0cf8h\r
+ add hl,hl\r
+ call ADD_HL_A\r
+ jr l0cech\r
l0cf8h:\r
- cp '"'\r
- jp nz,ERROR\r
- call get.decdigit\r
- jr nc,l0cefh\r
- or a\r
+ cp '"'\r
+ jp nz,ERROR\r
+ call get.bindigit\r
+ jr nc,l0cefh\r
+ or a\r
ret\r
l0d04h:\r
- ld hl,0\r
+ ld hl,0\r
l0d07h:\r
- call get.decdigit\r
- inc de\r
- jr c,l0d1ah\r
- push bc\r
- add hl,hl ;0d0e hl *= 10\r
- ld b,h\r
- ld c,l\r
- add hl,hl\r
- add hl,hl\r
- add hl,bc\r
- pop bc\r
- call ADD_HL_A\r
- jr l0d07h\r
+ call get.decdigit\r
+ inc de\r
+ jr c,l0d1ah\r
+ push bc\r
+ add hl,hl ;0d0e hl *= 10\r
+ ld b,h\r
+ ld c,l\r
+ add hl,hl\r
+ add hl,hl\r
+ add hl,bc\r
+ pop bc\r
+ call ADD_HL_A\r
+ jr l0d07h\r
l0d1ah:\r
- cp '.'\r
- ret z\r
- jp ERROR\r
+ cp '.'\r
+ ret z\r
+ jp ERROR\r
\r
sub_0d20h:\r
- ld a,(de)\r
- cp 05bh\r
- jr l0d28h\r
+ ld a,(de)\r
+ cp 05bh\r
+ jr l0d28h\r
\r
get.hexdigit:\r
- ld a,(de)\r
+ ld a,(de)\r
sub_0d26h:\r
- cp 'F'+1\r
+ cp 'F'+1\r
l0d28h:\r
ccf\r
- ret c\r
- cp 'A'\r
- jr c,l0d32h\r
- sub 'A'-10\r
+ ret c\r
+ cp 'A'\r
+ jr c,l0d32h\r
+ sub 'A'-10\r
ret\r
\r
get.decdigit:\r
- ld a,(de)\r
+ ld a,(de)\r
l0d32h:\r
- cp '9'+1\r
- jr l0d39h\r
+ cp '9'+1\r
+ jr l0d39h\r
get.bindigit:\r
- ld a,(de)\r
- cp '1'+1\r
+ ld a,(de)\r
+ cp '1'+1\r
l0d39h:\r
ccf\r
- ret c\r
- cp '0'\r
- ret c\r
- sub '0'\r
+ ret c\r
+ cp '0'\r
+ ret c\r
+ sub '0'\r
ret\r
\r
l0d41h:\r
- call assert_eol\r
+ call assert_eol\r
\r
prnt_cpustat:\r
- call prnt_f\r
- call outbl2\r
- ld hl,b_0x0DFD_start\r
- ld de,b_0x0E1D_start\r
- ld b,006h\r
+ call prnt_f\r
+ call outbl2\r
+ ld hl,b_0x0DFD_start\r
+ ld de,b_0x0E1D_start\r
+ ld b,006h\r
l0d52h:\r
- call prnt_regs\r
- djnz l0d52h\r
- push hl\r
- push de\r
- ld iy,(REG.PC)\r
- call sub_1f77h\r
+ call prnt_regs\r
+ djnz l0d52h\r
+ push hl\r
+ push de\r
+ ld iy,(REG.PC)\r
+ call sub_1f77h\r
exx\r
- ex af,af'\r
- call CRLF\r
- call prnt_f2\r
- call outbl2\r
- pop de\r
- pop hl\r
- ld b,007h\r
+ ex af,af'\r
+ call CRLF\r
+ call prnt_f2\r
+ call outbl2\r
+ pop de\r
+ pop hl\r
+ ld b,007h\r
l0d6fh:\r
- call prnt_regs\r
- djnz l0d6fh\r
+ call prnt_regs\r
+ djnz l0d6fh\r
exx\r
- ex af,af'\r
- and a\r
- jr z,l0d7fh\r
- call outbl6\r
- call sub_1f5bh\r
+ ex af,af'\r
+ and a\r
+ jr z,l0d7fh\r
+ call outbl6\r
+ call sub_1f5bh\r
l0d7fh:\r
- jp crlf\r
+ jp crlf\r
\r
prnt_f:\r
- ld a,(reg.f)\r
- call prnt_flags\r
- ld a,(reg.iff)\r
- cp 0f3h\r
- jp z,outbl\r
- ld a,'E'\r
- jp outchar\r
+ ld a,(reg.f)\r
+ call prnt_flags\r
+ ld a,(reg.iff)\r
+ cp 0f3h\r
+ jp z,outbl\r
+ ld a,'E'\r
+ jp outchar\r
\r
prnt_f2:\r
- ld a,(reg.f2)\r
- call prnt_flags\r
- jp outbl\r
+ ld a,(reg.f2)\r
+ call prnt_flags\r
+ jp outbl\r
\r
prnt_flags:\r
- ld b,a\r
- ld a,'S'\r
- call sub_0dbeh\r
- ld a,'Z'\r
- call sub_0dbeh\r
- rl b\r
- ld a,'H'\r
- call sub_0dbeh\r
- rl b\r
- ld a,'V'\r
- call sub_0dbeh\r
- ld a,'N'\r
- call sub_0dbeh\r
- ld a,'C'\r
+ ld b,a\r
+ ld a,'S'\r
+ call sub_0dbeh\r
+ ld a,'Z'\r
+ call sub_0dbeh\r
+ rl b\r
+ ld a,'H'\r
+ call sub_0dbeh\r
+ rl b\r
+ ld a,'V'\r
+ call sub_0dbeh\r
+ ld a,'N'\r
+ call sub_0dbeh\r
+ ld a,'C'\r
sub_0dbeh:\r
- rl b\r
- jp c,OUTCHAR\r
- jp OUTBL\r
+ rl b\r
+ jp c,OUTCHAR\r
+ jp OUTBL\r
\r
prnt_regs:\r
- push bc\r
- push de\r
- call PSTR\r
- ld a,'='\r
- call OUTCHAR\r
- ex (sp),hl\r
- ld e,(hl)\r
- inc hl\r
- ld d,(hl)\r
- inc hl\r
- ld a,(hl)\r
- inc hl\r
- push hl\r
- and a\r
- jr z,l0df2h\r
- push af\r
- ld a,(de)\r
- ld l,a\r
- inc de\r
- ld a,(de)\r
- ld h,a\r
- pop af\r
- dec a\r
- jr z,l0dedh\r
- call out.hl.@\r
- call z,outbl6\r
- jr l0df6h\r
+ push bc\r
+ push de\r
+ call PSTR\r
+ ld a,'='\r
+ call OUTCHAR\r
+ ex (sp),hl\r
+ ld e,(hl)\r
+ inc hl\r
+ ld d,(hl)\r
+ inc hl\r
+ ld a,(hl)\r
+ inc hl\r
+ push hl\r
+ and a\r
+ jr z,l0df2h\r
+ push af\r
+ ld a,(de)\r
+ ld l,a\r
+ inc de\r
+ ld a,(de)\r
+ ld h,a\r
+ pop af\r
+ dec a\r
+ jr z,l0dedh\r
+ call out.hl.@\r
+ call z,outbl6\r
+ jr l0df6h\r
l0dedh:\r
- call out.hl\r
- jr l0df6h\r
+ call out.hl\r
+ jr l0df6h\r
l0df2h:\r
- ld a,(de)\r
- call out.hex\r
+ ld a,(de)\r
+ call out.hex\r
l0df6h:\r
- call OUTBL\r
- pop de\r
- pop hl\r
- pop bc\r
+ call OUTBL\r
+ pop de\r
+ pop hl\r
+ pop bc\r
ret\r
\r
b_0x0DFD_start:\r
DB 0\r
\r
b_0x0E1D_start:\r
- defw reg.a\r
- defb 000h\r
- defw reg.c\r
- defb 001h\r
- defw reg.e\r
- defb 001h\r
- defw reg.l\r
- defb 001h\r
- defw reg.sp\r
- defb 001h\r
- defw reg.pc\r
- defb 002h\r
- defw reg.a2\r
- defb 000h\r
- defw reg.c2\r
- defb 001h\r
- defw reg.e2\r
- defb 001h\r
- defw reg.l2\r
- defb 001h\r
- defw reg.ix\r
- defb 001h\r
- defw reg.iy\r
- defb 001h\r
- defw reg.i\r
+ defw reg.a\r
+ defb 000h\r
+ defw reg.c\r
+ defb 001h\r
+ defw reg.e\r
+ defb 001h\r
+ defw reg.l\r
+ defb 001h\r
+ defw reg.sp\r
+ defb 001h\r
+ defw reg.pc\r
+ defb 002h\r
+ defw reg.a2\r
+ defb 000h\r
+ defw reg.c2\r
+ defb 001h\r
+ defw reg.e2\r
+ defb 001h\r
+ defw reg.l2\r
+ defb 001h\r
+ defw reg.ix\r
+ defb 001h\r
+ defw reg.iy\r
+ defb 001h\r
+ defw reg.i\r
dw 0\r
\r
CMD.G:\r
- sub a\r
- ld (TCFLG),a\r
- ld (XA747),a\r
- call EXPR\r
- jr c,l0e54h\r
- ld (REG.PC),hl\r
+ sub a\r
+ ld (TCFLG),a\r
+ ld (XA747),a\r
+ call EXPR\r
+ jr c,l0e54h\r
+ ld (REG.PC),hl\r
l0e54h:\r
- call SKIPBL\r
- jp z,l1183h\r
- cp ';'\r
- jp nz,ERROR\r
- inc de\r
- ld a,002h\r
- call sub_0f24h\r
- jp l1183h\r
+ call SKIPBL\r
+ jp z,l1183h\r
+ cp ';'\r
+ jp nz,ERROR\r
+ inc de\r
+ ld a,002h\r
+ call sub_0f24h\r
+ jp l1183h\r
\r
sub_0e68h:\r
- ld b,BP_CNT\r
- ld ix,bp_tab\r
+ ld b,BP_CNT\r
+ ld ix,bp_tab\r
l0e6eh:\r
- ld a,(ix+000h)\r
- and 0f1h\r
- ld (ix+000h),a\r
- call sub_11c5h\r
- ld de,BP_SIZE\r
- add ix,de\r
- djnz l0e6eh\r
+ ld a,(ix+000h)\r
+ and 0f1h\r
+ ld (ix+000h),a\r
+ call sub_11c5h\r
+ ld de,BP_SIZE\r
+ add ix,de\r
+ djnz l0e6eh\r
ret\r
\r
CMD.B:\r
- call SKIPBL\r
- jr z,l0ecbh\r
- inc de\r
- cp 'X'\r
- jr z,l0e91h\r
- dec de\r
- ld a,001h\r
- jp sub_0f24h\r
+ call SKIPBL\r
+ jr z,l0ecbh\r
+ inc de\r
+ cp 'X'\r
+ jr z,l0e91h\r
+ dec de\r
+ ld a,001h\r
+ jp sub_0f24h\r
l0e91h:\r
- call SKIPBL\r
- jr z,l0ea6h\r
+ call SKIPBL\r
+ jr z,l0ea6h\r
l0e96h:\r
- call EXPR\r
- jp c,assert_eol\r
- push de\r
- call sub_0ea7h\r
- pop de\r
- call skip_to_nextarg\r
- jr l0e96h\r
+ call EXPR\r
+ jp c,assert_eol\r
+ push de\r
+ call sub_0ea7h\r
+ pop de\r
+ call skip_to_nextarg\r
+ jr l0e96h\r
l0ea6h:\r
scf\r
sub_0ea7h:\r
- ld b,BP_CNT\r
- ld ix,bp_tab\r
+ ld b,BP_CNT\r
+ ld ix,bp_tab\r
l0eadh:\r
- push af\r
- jr c,l0ebbh\r
- ld e,(ix+002h)\r
- ld d,(ix+003h)\r
- call CP.HL.DE\r
- jr nz,l0ec2h\r
+ push af\r
+ jr c,l0ebbh\r
+ ld e,(ix+002h)\r
+ ld d,(ix+003h)\r
+ call CP.HL.DE\r
+ jr nz,l0ec2h\r
l0ebbh:\r
- ld (ix+000h),000h\r
- call sub_11c5h\r
+ ld (ix+000h),000h\r
+ call sub_11c5h\r
l0ec2h:\r
- ld de,BP_SIZE\r
- add ix,de\r
- pop af\r
- djnz l0eadh\r
+ ld de,BP_SIZE\r
+ add ix,de\r
+ pop af\r
+ djnz l0eadh\r
ret\r
l0ecbh:\r
- ld b,BP_CNT\r
- ld ix,bp_tab\r
+ ld b,BP_CNT\r
+ ld ix,bp_tab\r
l0ed1h:\r
- bit 0,(ix+000h)\r
- jr z,l0f1ch\r
- ld a,'R'\r
- bit 4,(ix+000h)\r
- jr nz,l0ee1h\r
- ld a,' '\r
+ bit 0,(ix+000h)\r
+ jr z,l0f1ch\r
+ ld a,'R'\r
+ bit 4,(ix+000h)\r
+ jr nz,l0ee1h\r
+ ld a,' '\r
l0ee1h:\r
- call OUTCHAR\r
- call OUTBL\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 l,(ix+004h)\r
- ld h,(ix+005h)\r
- call out.hl\r
- ld l,(ix+006h)\r
- ld h,(ix+007h)\r
- ld a,h\r
- or l\r
- jr z,l0f19h\r
- call outbl4\r
- ld a,'I'\r
- call OUTCHAR\r
- call outbl2\r
- call PSTR\r
+ call OUTCHAR\r
+ call OUTBL\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 l,(ix+004h)\r
+ ld h,(ix+005h)\r
+ call out.hl\r
+ ld l,(ix+006h)\r
+ ld h,(ix+007h)\r
+ ld a,h\r
+ or l\r
+ jr z,l0f19h\r
+ call outbl4\r
+ ld a,'I'\r
+ call OUTCHAR\r
+ call outbl2\r
+ call PSTR\r
l0f19h:\r
- call CRLF\r
+ call CRLF\r
l0f1ch:\r
- ld de,BP_SIZE\r
- add ix,de\r
- djnz l0ed1h\r
+ ld de,BP_SIZE\r
+ add ix,de\r
+ djnz l0ed1h\r
ret\r
\r
sub_0f24h:\r
- ld b,a\r
- call SKIPBL\r
- ret z\r
- cp 'R'\r
- jr nz,l0f30h\r
- inc de\r
- set 4,b\r
+ ld b,a\r
+ call SKIPBL\r
+ ret z\r
+ cp 'R'\r
+ jr nz,l0f30h\r
+ inc de\r
+ set 4,b\r
l0f30h:\r
- push bc\r
- call EXPR\r
- jp c,ERROR\r
- pop bc\r
- bit 0,b\r
- push bc\r
- push de\r
- push hl\r
- call nz,sub_0ea7h\r
- pop hl\r
- call sub_0f68h\r
- pop de\r
- ld (ix+002h),l\r
- ld (ix+003h),h\r
- call sub_0f80h\r
- ld (ix+004h),l\r
- ld (ix+005h),h\r
- call sub_0f91h\r
- ld (ix+006h),l\r
- ld (ix+007h),h\r
- call skip_to_nextarg\r
- pop af\r
- ld (ix+000h),a\r
- and 00fh\r
- jr sub_0f24h\r
+ push bc\r
+ call EXPR\r
+ jp c,ERROR\r
+ pop bc\r
+ bit 0,b\r
+ push bc\r
+ push de\r
+ push hl\r
+ call nz,sub_0ea7h\r
+ pop hl\r
+ call sub_0f68h\r
+ pop de\r
+ ld (ix+002h),l\r
+ ld (ix+003h),h\r
+ call sub_0f80h\r
+ ld (ix+004h),l\r
+ ld (ix+005h),h\r
+ call sub_0f91h\r
+ ld (ix+006h),l\r
+ ld (ix+007h),h\r
+ call skip_to_nextarg\r
+ pop af\r
+ ld (ix+000h),a\r
+ and 00fh\r
+ jr sub_0f24h\r
sub_0f68h:\r
- ld b,BP_CNT\r
- ld ix,bp_tab\r
+ ld b,BP_CNT\r
+ ld ix,bp_tab\r
l0f6eh:\r
- ld a,(ix+000h)\r
- and 00fh\r
- ret z\r
- push bc\r
- ld bc,BP_SIZE\r
- add ix,bc\r
- pop bc\r
- djnz l0f6eh\r
- jp ERROR\r
+ ld a,(ix+000h)\r
+ and 00fh\r
+ ret z\r
+ push bc\r
+ ld bc,BP_SIZE\r
+ add ix,bc\r
+ pop bc\r
+ djnz l0f6eh\r
+ jp ERROR\r
\r
sub_0f80h:\r
- call SKIPBL\r
- ld hl,1\r
- cp 03ah\r
- ret nz\r
- inc de\r
- call EXPR\r
- jp c,ERROR\r
+ call SKIPBL\r
+ ld hl,1\r
+ cp 03ah\r
+ ret nz\r
+ inc de\r
+ call EXPR\r
+ jp c,ERROR\r
ret\r
sub_0f91h:\r
- call SKIPBL\r
- cp 049h\r
- ld hl,0\r
- ret nz\r
- inc de\r
- call SKIPBL\r
- push de\r
- call EXPR\r
- jp c,ERROR\r
- ex de,hl\r
- pop de\r
- push de\r
- sbc hl,de\r
- ld b,h\r
- ld c,l\r
- ld hl,(sexp1)\r
- push hl\r
- add hl,bc\r
- ld de,sexpbufe\r
- call CP.HL.DE\r
- jp nc,ERROR\r
- pop hl\r
- ld (sexp2),hl\r
- pop de\r
- ex de,hl\r
+ call SKIPBL\r
+ cp 049h\r
+ ld hl,0\r
+ ret nz\r
+ inc de\r
+ call SKIPBL\r
+ push de\r
+ call EXPR\r
+ jp c,ERROR\r
+ ex de,hl\r
+ pop de\r
+ push de\r
+ sbc hl,de\r
+ ld b,h\r
+ ld c,l\r
+ ld hl,(sexp1)\r
+ push hl\r
+ add hl,bc\r
+ ld de,sexpbufe\r
+ call CP.HL.DE\r
+ jp nc,ERROR\r
+ pop hl\r
+ ld (sexp2),hl\r
+ pop de\r
+ ex de,hl\r
ldir\r
- xor a\r
- ld (de),a\r
- inc de\r
- ex de,hl\r
- ld (sexp1),hl\r
- ld hl,(sexp2)\r
+ xor a\r
+ ld (de),a\r
+ inc de\r
+ ex de,hl\r
+ ld (sexp1),hl\r
+ ld hl,(sexp2)\r
ret\r
\r
bpddtz:\r
DC 'F'\r
DB 0\r
b_0x136C_start:\r
- if ROMSYS\r
- defb 000h\r
- defw uromen\r
+ if ROMSYS\r
+ defb 000h\r
+ defw uromen\r
endif\r
if CPU_Z180\r
- defb 000h\r
- defw ucbar\r
- defb 000h\r
- defw ubbr\r
+ defb 000h\r
+ defw ucbar\r
+ defb 000h\r
+ defw ubbr\r
else\r
- defb 000h\r
- defw ubnk\r
+ defb 000h\r
+ defw ubnk\r
endif\r
- defb 003h\r
- defw reg.c2\r
- defb 003h\r
- defw reg.e2\r
- defb 003h\r
- defw reg.l2\r
- defb 003h\r
- defw reg.c\r
- defb 003h\r
- defw reg.e\r
- defb 003h\r
- defw reg.l\r
- defb 000h\r
- defw reg.a2\r
- defb 000h\r
- defw reg.b2\r
- defb 000h\r
- defw reg.c2\r
- defb 000h\r
- defw reg.d2\r
- defb 000h\r
- defw reg.e2\r
- defb 000h\r
- defw reg.h2\r
- defb 000h\r
- defw reg.l2\r
- defb 000h\r
- defw reg.a\r
- defb 000h\r
- defw reg.b\r
- defb 000h\r
- defw reg.c\r
- defb 000h\r
- defw reg.d\r
- defb 000h\r
- defw reg.e\r
- defb 000h\r
- defw reg.h\r
- defb 000h\r
- defw reg.l\r
- defb 003h\r
- defw reg.ix\r
- defb 003h\r
- defw reg.iy\r
- defb 003h\r
- defw reg.sp\r
- defb 003h\r
- defw reg.pc\r
- defb 003h\r
- defw reg.ix\r
- defb 003h\r
- defw reg.iy\r
- defb 003h\r
- defw reg.sp\r
- defb 003h\r
- defw reg.pc\r
- defb 000h\r
- defw reg.i\r
- defb 000h\r
- defw reg.f2\r
- defb 000h\r
- defw reg.f\r
+ defb 003h\r
+ defw reg.c2\r
+ defb 003h\r
+ defw reg.e2\r
+ defb 003h\r
+ defw reg.l2\r
+ defb 003h\r
+ defw reg.c\r
+ defb 003h\r
+ defw reg.e\r
+ defb 003h\r
+ defw reg.l\r
+ defb 000h\r
+ defw reg.a2\r
+ defb 000h\r
+ defw reg.b2\r
+ defb 000h\r
+ defw reg.c2\r
+ defb 000h\r
+ defw reg.d2\r
+ defb 000h\r
+ defw reg.e2\r
+ defb 000h\r
+ defw reg.h2\r
+ defb 000h\r
+ defw reg.l2\r
+ defb 000h\r
+ defw reg.a\r
+ defb 000h\r
+ defw reg.b\r
+ defb 000h\r
+ defw reg.c\r
+ defb 000h\r
+ defw reg.d\r
+ defb 000h\r
+ defw reg.e\r
+ defb 000h\r
+ defw reg.h\r
+ defb 000h\r
+ defw reg.l\r
+ defb 003h\r
+ defw reg.ix\r
+ defb 003h\r
+ defw reg.iy\r
+ defb 003h\r
+ defw reg.sp\r
+ defb 003h\r
+ defw reg.pc\r
+ defb 003h\r
+ defw reg.ix\r
+ defb 003h\r
+ defw reg.iy\r
+ defb 003h\r
+ defw reg.sp\r
+ defb 003h\r
+ defw reg.pc\r
+ defb 000h\r
+ defw reg.i\r
+ defb 000h\r
+ defw reg.f2\r
+ defb 000h\r
+ defw reg.f\r
CMD.S:\r
- ld hl,(lst.S)\r
- call get_lastarg_def\r
+ ld hl,(lst.S)\r
+ call get_lastarg_def\r
l13d8h:\r
- ld (lst.S),hl\r
- call out.hl.@\r
- call OUTBL\r
+ ld (lst.S),hl\r
+ call out.hl.@\r
+ call OUTBL\r
comst\r
- ld a,(hl)\r
+ ld a,(hl)\r
comend\r
- call out.hex\r
- call outbl2\r
- call INLINE\r
- call SKIPBL\r
- inc hl\r
- jr z,l13d8h\r
- dec hl\r
- inc de\r
- cp '.'\r
- jp z,assert_eol\r
- cp '-'\r
- jr nz,l1406h\r
- ld a,(de)\r
- or a\r
- dec hl\r
- jr z,l13d8h\r
- inc hl\r
+ call out.hex\r
+ call outbl2\r
+ call INLINE\r
+ call SKIPBL\r
+ inc hl\r
+ jr z,l13d8h\r
+ dec hl\r
+ inc de\r
+ cp '.'\r
+ jp z,assert_eol\r
+ cp '-'\r
+ jr nz,l1406h\r
+ ld a,(de)\r
+ or a\r
+ dec hl\r
+ jr z,l13d8h\r
+ inc hl\r
l1406h:\r
- dec de\r
- call get_bytes_m\r
- jr l13d8h\r
+ dec de\r
+ call get_bytes_m\r
+ jr l13d8h\r
\r
CMD.@:\r
- call assert_eol\r
- ld hl,MSG_at\r
- ld de,offs.@\r
- ld c,001h\r
- jp l1279h\r
+ call assert_eol\r
+ ld hl,MSG_at\r
+ ld de,offs.@\r
+ ld c,001h\r
+ jp l1279h\r
MSG_at:\r
dc '@'\r
\r
CMD.I:\r
- ld hl,CMD.I\r
- ld (CMD_RPT),hl\r
- ld hl,(lst.IP)\r
- call get_lastarg_def\r
- ld (lst.IP),hl\r
- ld b,h\r
- ld c,l\r
+ ld hl,CMD.I\r
+ ld (CMD_RPT),hl\r
+ ld hl,(lst.IP)\r
+ call get_lastarg_def\r
+ ld (lst.IP),hl\r
+ ld b,h\r
+ ld c,l\r
if CPU_Z180\r
- ld a,b\r
- or a\r
- jr nz,l1442h\r
- ld a,c\r
- ld hl,ucbar\r
- cp cbar\r
- jr z,l143fh\r
- ld hl,ubbr\r
- cp bbr\r
- jr nz,l1442h\r
+ ld a,b\r
+ or a\r
+ jr nz,l1442h\r
+ ld a,c\r
+ ld hl,ucbar\r
+ cp cbar\r
+ jr z,l143fh\r
+ ld hl,ubbr\r
+ cp bbr\r
+ jr nz,l1442h\r
l143fh:\r
- ld a,(hl)\r
- jr l1444h\r
+ ld a,(hl)\r
+ jr l1444h\r
l1442h:\r
endif\r
- in a,(c)\r
+ in a,(c)\r
l1444h:\r
- push af\r
- call out.hex\r
- call outbl4\r
- pop af\r
- call out.bin.b\r
- jp CRLF\r
+ push af\r
+ call out.hex\r
+ call outbl4\r
+ pop af\r
+ call out.bin.b\r
+ jp CRLF\r
CMD.O:\r
- ld hl,CMD.O\r
- ld (CMD_RPT),hl\r
- ld hl,(lst.OD)\r
- call get_arg_def\r
- ld a,l\r
- ld (lst.OD),a\r
- push af\r
- call skip_to_nextarg\r
- ld hl,(lst.OP)\r
- call get_lastarg_def\r
- ld (lst.OP),hl\r
- ld b,h\r
- ld c,l\r
+ ld hl,CMD.O\r
+ ld (CMD_RPT),hl\r
+ ld hl,(lst.OD)\r
+ call get_arg_def\r
+ ld a,l\r
+ ld (lst.OD),a\r
+ push af\r
+ call skip_to_nextarg\r
+ ld hl,(lst.OP)\r
+ call get_lastarg_def\r
+ ld (lst.OP),hl\r
+ ld b,h\r
+ ld c,l\r
if CPU_Z180\r
- ld a,b\r
- or a\r
- jr nz,l1489h\r
- ld a,c\r
- ld hl,ucbar\r
- cp cbar\r
- jr z,l148dh\r
- ld hl,ubbr\r
- cp bbr\r
- jr z,l148dh\r
- cp cbr\r
- jp z,ERROR\r
+ ld a,b\r
+ or a\r
+ jr nz,l1489h\r
+ ld a,c\r
+ ld hl,ucbar\r
+ cp cbar\r
+ jr z,l148dh\r
+ ld hl,ubbr\r
+ cp bbr\r
+ jr z,l148dh\r
+ cp cbr\r
+ jp z,ERROR\r
l1489h:\r
endif\r
- pop af\r
- out (c),a\r
+ pop af\r
+ out (c),a\r
ret\r
if CPU_Z180\r
l148dh:\r
- pop af\r
- ld (hl),a\r
- ret\r
+ pop af\r
+ ld (hl),a\r
+ ret\r
endif\r
\r
CMD.V:\r
- call get_arg3 ;1490 get from, size, to\r
+ call get_arg3 ;1490 get from, size, to\r
cmp_mem:\r
- push bc\r
+ push bc\r
comst\r
- ld a,(de)\r
- ld b,(hl)\r
+ ld a,(de)\r
+ ld b,(hl)\r
comend\r
- cp b\r
- jr z,l14bah\r
- ld c,a\r
- call out.hl.@\r
- call OUTBL\r
- ld a,b\r
- call out.hex\r
- call outbl2\r
- ld a,c\r
- call out.hex\r
- call OUTBL\r
- ex de,hl\r
- call out.hl.@\r
- ex de,hl\r
- call CRLF\r
+ cp b\r
+ jr z,l14bah\r
+ ld c,a\r
+ call out.hl.@\r
+ call OUTBL\r
+ ld a,b\r
+ call out.hex\r
+ call outbl2\r
+ ld a,c\r
+ call out.hex\r
+ call OUTBL\r
+ ex de,hl\r
+ call out.hl.@\r
+ ex de,hl\r
+ call CRLF\r
l14bah:\r
- pop bc\r
- inc hl\r
- inc de\r
- dec bc\r
- ld a,b\r
- or c\r
- jr nz,cmp_mem\r
+ pop bc\r
+ inc hl\r
+ inc de\r
+ dec bc\r
+ ld a,b\r
+ or c\r
+ jr nz,cmp_mem\r
ret\r
\r
CMD.M:\r
- ld a,(de)\r
- cp 'V'\r
- jr nz,bm_nv\r
- inc de\r
+ ld a,(de)\r
+ cp 'V'\r
+ jr nz,bm_nv\r
+ inc de\r
bm_nv:\r
- push af ;14c9 save 'V' flag\r
- call get_arg3\r
- push hl\r
- push de\r
- push bc\r
- call CP.HL.DE\r
- jr nc,bm_mvdown\r
- add hl,bc\r
- ex de,hl\r
- add hl,bc\r
- ex de,hl\r
- dec hl\r
- dec de\r
+ push af ;14c9 save 'V' flag\r
+ call get_arg3\r
+ push hl\r
+ push de\r
+ push bc\r
+ call CP.HL.DE\r
+ jr nc,bm_mvdown\r
+ add hl,bc\r
+ ex de,hl\r
+ add hl,bc\r
+ ex de,hl\r
+ dec hl\r
+ dec de\r
comst\r
- lddr\r
+ lddr\r
comend\r
- jr bm_done\r
+ jr bm_done\r
bm_mvdown:\r
comst\r
ldir\r
comend\r
bm_done:\r
- pop bc\r
- pop de\r
- pop hl\r
- pop af\r
- jr z,cmp_mem ;14ed validate?\r
+ pop bc\r
+ pop de\r
+ pop hl\r
+ pop af\r
+ jr z,cmp_mem ;14ed validate?\r
ret\r
CMD.H:\r
- call EXPR\r
- jp c,l173ch\r
- call skip_to_nextarg\r
- push hl\r
- call EXPR\r
- push af\r
- call assert_eol\r
- pop af\r
- ex de,hl\r
- pop hl\r
- jr c,l1511h\r
- push hl\r
- push de\r
- add hl,de\r
- call l1511h\r
- pop de\r
- pop hl\r
- and a\r
- sbc hl,de\r
+ call EXPR\r
+ jp c,l173ch ;no parameters, print High and Max\r
+ call skip_to_nextarg\r
+ push hl\r
+ call EXPR\r
+ push af\r
+ call assert_eol\r
+ pop af\r
+ ex de,hl\r
+ pop hl\r
+ jr c,l1511h\r
+ push hl\r
+ push de\r
+ add hl,de\r
+ call l1511h\r
+ pop de\r
+ pop hl\r
+ and a\r
+ sbc hl,de\r
l1511h:\r
- call out.hl ;1511 val\r
- call outbl2\r
- call sub_0928h ;1517 -val\r
- call outbl4\r
- call out.hl.dec ;151d dec\r
- call outbl2\r
- call out.hl.decm ;1523 -dec\r
- call outbl4\r
- call out.bin.w ;1529 bin\r
- call outbl2\r
- ld a,l\r
- call out.ascii\r
- jp CRLF\r
+ call out.hl ;1511 val\r
+ call outbl2\r
+ call sub_0928h ;1517 -val\r
+ call outbl4\r
+ call out.hl.dec ;151d dec\r
+ call outbl2\r
+ call out.hl.decm ;1523 -dec\r
+ call outbl4\r
+ call out.bin.w ;1529 bin\r
+ call outbl2\r
+ ld a,l\r
+ call out.ascii\r
+ jp CRLF\r
\r
CMD.Q:\r
ld a,(de)\r
\r
b_0x17EE_start:\r
defw l1b54h\r
-\r
-b_0x17F0_start:\r
defb 088h\r
-\r
-b_0x17F1_start:\r
defw l1b74h\r
-\r
-b_0x17F3_start:\r
defb 080h\r
-\r
-b_0x17F4_start:\r
defw l1babh\r
-\r
-b_0x17F6_start:\r
defb 0a0h\r
-\r
-b_0x17F7_start:\r
defw l1c14h\r
-\r
-b_0x17F9_start:\r
defb 040h\r
-\r
-b_0x17FA_start:\r
defw l1c38h\r
-\r
-b_0x17FC_start:\r
defb 0c4h\r
-\r
-b_0x17FD_start:\r
defw l1b36h\r
-\r
-b_0x17FF_start:\r
defb 03fh\r
-\r
-b_0x1800_start:\r
defw l1babh\r
-\r
-b_0x1802_start:\r
defb 0b8h\r
-\r
-b_0x1803_start:\r
defw gen.opc.ED2\r
-\r
-b_0x1805_start:\r
defb 0a9h\r
-\r
-b_0x1806_start:\r
defw gen.opc.ED2\r
-\r
-b_0x1808_start:\r
defb 0b9h\r
-\r
-b_0x1809_start:\r
defw gen.opc.ED2\r
-\r
-b_0x180B_start:\r
defb 0a1h\r
-\r
-b_0x180C_start:\r
defw gen.opc.ED2\r
-\r
-b_0x180E_start:\r
defb 0b1h\r
-\r
-b_0x180F_start:\r
defw l1b36h\r
-\r
-b_0x1811_start:\r
defb 02fh\r
-\r
-b_0x1812_start:\r
defw l1b36h\r
-\r
-b_0x1814_start:\r
defb 027h\r
-\r
-b_0x1815_start:\r
defw l1dabh\r
-\r
-b_0x1817_start:\r
defb 005h\r
-\r
-b_0x1818_start:\r
defw l1b36h\r
-\r
-b_0x181A_start:\r
defb 0f3h\r
-\r
-b_0x181B_start:\r
defw l1ca4h\r
-\r
-b_0x181D_start:\r
defb 010h\r
-\r
-b_0x181E_start:\r
defw l1b36h\r
-\r
-b_0x1820_start:\r
defb 0fbh\r
-\r
-b_0x1821_start:\r
defw l1d54h\r
-\r
-b_0x1823_start:\r
defb 0e3h\r
-\r
-b_0x1824_start:\r
defw l1b36h\r
-\r
-b_0x1826_start:\r
defb 0d9h\r
-\r
-b_0x1827_start:\r
defw l1b36h\r
-\r
-b_0x1829_start:\r
defb 076h\r
-\r
-b_0x182A_start:\r
defw l1cbfh\r
-\r
-b_0x182C_start:\r
defb 046h\r
-\r
-b_0x182D_start:\r
defw l1cf8h\r
-\r
-b_0x182F_start:\r
defb 040h\r
-\r
-b_0x1830_start:\r
defw l1dabh\r
-\r
-b_0x1832_start:\r
defb 004h\r
-\r
-b_0x1833_start:\r
defw gen.opc.ED2\r
-\r
-b_0x1835_start:\r
defb 0aah\r
-\r
-b_0x1836_start:\r
defw gen.opc.ED2\r
-\r
-b_0x1838_start:\r
defb 0bah\r
-\r
-b_0x1839_start:\r
defw gen.opc.ED2\r
-\r
-b_0x183B_start:\r
defb 0a2h\r
-\r
-b_0x183C_start:\r
defw gen.opc.ED2\r
-\r
-b_0x183E_start:\r
defb 0b2h\r
-\r
-b_0x183F_start:\r
defw l1c5eh\r
-\r
-b_0x1841_start:\r
defb 0c2h\r
-\r
-b_0x1842_start:\r
defw l1cabh\r
-\r
-b_0x1844_start:\r
defb 020h\r
-\r
-b_0x1845_start:\r
defw l1934h\r
-\r
-b_0x1847_start:\r
defb 040h\r
-\r
-b_0x1848_start:\r
defw gen.opc.ED2\r
-\r
-b_0x184A_start:\r
defb 0a8h\r
-\r
-b_0x184B_start:\r
defw gen.opc.ED2\r
-\r
-b_0x184D_start:\r
defb 0b8h\r
-\r
-b_0x184E_start:\r
defw gen.opc.ED2\r
-\r
-b_0x1850_start:\r
defb 0a0h\r
-\r
-b_0x1851_start:\r
defw gen.opc.ED2\r
-\r
-b_0x1853_start:\r
defb 0b0h\r
-\r
-b_0x1854_start:\r
defw gen.opc.ED2\r
-\r
-b_0x1856_start:\r
defb 044h\r
-\r
-b_0x1857_start:\r
defw l1b36h\r
-\r
-b_0x1859_start:\r
defb 000h\r
-\r
-b_0x185A_start:\r
defw l1babh\r
-\r
-b_0x185C_start:\r
defb 0b0h\r
-\r
-b_0x185D_start:\r
defw gen.opc.ED2\r
-\r
-b_0x185F_start:\r
defb 0bbh\r
-\r
-b_0x1860_start:\r
defw gen.opc.ED2\r
-\r
-b_0x1862_start:\r
defb 0b3h\r
-\r
-b_0x1863_start:\r
defw l1d2ch\r
-\r
-b_0x1865_start:\r
defb 041h\r
-\r
-b_0x1866_start:\r
defw gen.opc.ED2\r
-\r
-b_0x1868_start:\r
defb 0abh\r
-\r
-b_0x1869_start:\r
defw gen.opc.ED2\r
-\r
-b_0x186B_start:\r
defb 0a3h\r
-\r
-b_0x186C_start:\r
defw l1ce4h\r
-\r
-b_0x186E_start:\r
defb 0c1h\r
-\r
-b_0x186F_start:\r
defw l1ce4h\r
-\r
-b_0x1871_start:\r
defb 0c5h\r
-\r
-b_0x1872_start:\r
defw l1c14h\r
-\r
-b_0x1874_start:\r
defb 080h\r
-\r
-b_0x1875_start:\r
defw l1c50h\r
-\r
-b_0x1877_start:\r
defb 0c0h\r
-\r
-b_0x1878_start:\r
defw gen.opc.ED2\r
-\r
-b_0x187A_start:\r
defb 04dh\r
-\r
-b_0x187B_start:\r
defw gen.opc.ED2\r
-\r
-b_0x187D_start:\r
defb 045h\r
-\r
-b_0x187E_start:\r
defw l1bd8h\r
-\r
-b_0x1880_start:\r
defb 010h\r
-\r
-b_0x1881_start:\r
defw l1b36h\r
-\r
-b_0x1883_start:\r
defb 017h\r
-\r
-b_0x1884_start:\r
defw l1bd8h\r
-\r
-b_0x1886_start:\r
defb 000h\r
-\r
-b_0x1887_start:\r
defw l1b36h\r
-\r
-b_0x1889_start:\r
defb 007h\r
-\r
-b_0x188A_start:\r
defw gen.opc.ED2\r
-\r
-b_0x188C_start:\r
defb 06fh\r
-\r
-b_0x188D_start:\r
defw l1bd8h\r
-\r
-b_0x188F_start:\r
defb 018h\r
-\r
-b_0x1890_start:\r
defw l1b36h\r
-\r
-b_0x1892_start:\r
defb 01fh\r
-\r
-b_0x1893_start:\r
defw l1bd8h\r
-\r
-b_0x1895_start:\r
defb 008h\r
-\r
-b_0x1896_start:\r
defw l1b36h\r
-\r
-b_0x1898_start:\r
defb 00fh\r
-\r
-b_0x1899_start:\r
defw gen.opc.ED2\r
-\r
-b_0x189B_start:\r
defb 067h\r
-\r
-b_0x189C_start:\r
defw l1cd5h\r
-\r
-b_0x189E_start:\r
defb 0c7h\r
-\r
-b_0x189F_start:\r
defw l1b54h\r
-\r
-b_0x18A1_start:\r
defb 098h\r
-\r
-b_0x18A2_start:\r
defw l1b36h\r
-\r
-b_0x18A4_start:\r
defb 037h\r
-\r
-b_0x18A5_start:\r
defw l1c14h\r
-\r
-b_0x18A7_start:\r
defb 0c0h\r
-\r
-b_0x18A8_start:\r
defw l1bd8h\r
-\r
-b_0x18AA_start:\r
defb 020h\r
-\r
-b_0x18AB_start:\r
defw l1bd8h\r
-\r
-b_0x18AD_start:\r
defb 028h\r
-\r
-b_0x18AE_start:\r
defw l1bd8h\r
-\r
-b_0x18B0_start:\r
defb 038h\r
-\r
-b_0x18B1_start:\r
defw l1babh\r
-\r
-b_0x18B3_start:\r
defb 090h\r
-\r
-b_0x18B4_start:\r
defw l1babh\r
-\r
-b_0x18B6_start:\r
defb 0a8h\r
-\r
-b_0x18B7_start:\r
defw A.IN0\r
-\r
-b_0x18B9_start:\r
defb 000h\r
-\r
-b_0x18BA_start:\r
defw A.MLT\r
-\r
b_0x18BC_start:\r
defb 04ch\r
ld b,e\r
\r
b_0x18BF_start:\r
defb 08bh\r
-\r
-b_0x18C0_start:\r
defw gen.opc.ED2\r
-\r
-b_0x18C2_start:\r
defb 09bh\r
-\r
-b_0x18C3_start:\r
defw gen.opc.ED2\r
-\r
-b_0x18C5_start:\r
defb 083h\r
-\r
-b_0x18C6_start:\r
defw gen.opc.ED2\r
-\r
-b_0x18C8_start:\r
defb 093h\r
-\r
-b_0x18C9_start:\r
defw l18fdh\r
-\r
-b_0x18CB_start:\r
defb 001h\r
-\r
-b_0x18CC_start:\r
defw gen.opc.ED2\r
-\r
-b_0x18CE_start:\r
defb 076h\r
-\r
-b_0x18CF_start:\r
defw l191dh\r
-\r
-b_0x18D1_start:\r
defb 004h\r
-\r
-b_0x18D2_start:\r
defw l192ch\r
-\r
-b_0x18D4_start:\r
defb 074h\r
A.IN0:\r
call sub_1e41h\r
defb 029h\r
defw l254bh\r
\r
+\r
defb 0c7h ;216c inc r\r
defb 004h\r
defb 041h\r
defb 0e7h\r
defb 000h\r
defb 0cfh\r
-\r
-b_0x228E_start:\r
defw l230ch\r
\r
-b_0x2290_start:\r
defb 0f7h\r
defb 020h\r
defb 0cfh\r
-\r
-b_0x2293_start:\r
defw l230ch\r
\r
-b_0x2295_start:\r
defb 0ffh\r
defb 038h\r
defb 0cfh\r
-\r
-b_0x2298_start:\r
defw l230ch\r
\r
-b_0x229A_start:\r
defb 0e7h\r
defb 001h\r
defb 0e7h\r
-\r
-b_0x229D_start:\r
defw l2315h\r
\r
-b_0x229F_start:\r
defb 0f7h\r
defb 021h\r
defb 0e7h\r
-\r
-b_0x22A2_start:\r
defw l2315h\r
\r
-b_0x22A4_start:\r
defb 0ffh\r
defb 039h\r
defb 0e7h\r
-\r
-b_0x22A7_start:\r
defw l2315h\r
\r
-b_0x22A9_start:\r
defb 0ffh\r
defb 064h\r
defb 0eeh\r
-\r
-b_0x22AC_start:\r
defw l2397h\r
\r
-b_0x22AE_start:\r
defb 0ffh\r
defb 074h\r
defb 0f1h\r
-\r
-b_0x22B1_start:\r
defw l2397h\r
-\r
-b_0x22B3_start:\r
defb 000h\r
+\r
l22b4h:\r
defb 0efh\r
defb 043h\r
\r
;------------------------------------------\r
\r
- .phase sysram_start+stacksize\r
+ .phase sysram_start+bs$stack$size\r
$stack:\r
-$stcka equ $ - stacksize\r
+$stcka equ $ - bs$stack$size\r
\r
curphse defl $\r
.dephase\r