;z80 ;assembler ;zx-spectrum IN_SP PUSH HL XOR A LD HL,BUF_W LD DE,BUF_W1 LD BC,1023 LD (HL),A LDIR LD (WIW18+1),A LD (WIW20+1),A LD (WIW21+1),A LD (WIW26+1),A LD (WIW28+1),A LD (WIW29+1),A LD (WIW31+1),A LD (WIW33+1),A LD (WIW35+1),A LD (WIW37+1),A LD (WIW39+1),A LD (WIW41+1),A LD (WIW43+1),A LD (WIW45+1),A LD (WIW47+1),A LD (WIW49+1),A LD (WIW65+1),A LD (WIW67+1),A LD (WIW4+1),A LD HL,#54E0 LD (WIW3+1),HL POP HL LD A,(HL) LD (WIEW_UP+1),A INC HL LD B,16 IN_SP3 LD A,(HL) INC HL EXX ADD A,A LD L,A LD H,0 ADD HL,HL ADD HL,HL ADD HL,HL ADD HL,HL LD DE,FONT1-1024 ADD HL,DE IN_SP1 LD DE,BUF_W LD B,16 IN_SP2 LD A,(HL) LD (DE),A INC HL INC DE LD A,(HL) LD (DE),A INC HL INC DE DJNZ IN_SP2 LD (IN_SP1+1),DE EXX DJNZ IN_SP3 LD HL,BUF_W LD (IN_SP1+1),HL LD HL,BUF_W LD DE,BUF_W1 CALL IN_SP9 CALL IN_SP10 CALL IN_SP11 LD C,13 IN_SP8 LD B,4 IN_SP7 LD A,(HL) LD (DE),A INC HL INC DE LD A,(HL) LD (DE),A INC HL INC DE PUSH HL PUSH DE LD DE,22 ADD HL,DE POP DE LD A,(HL) LD (DE),A INC HL INC DE LD A,(HL) LD (DE),A INC HL INC DE PUSH DE LD DE,22 ADD HL,DE POP DE LD A,(HL) LD (DE),A INC HL INC DE LD A,(HL) LD (DE),A INC HL INC DE PUSH DE LD DE,22 ADD HL,DE POP DE LD A,(HL) LD (DE),A INC HL INC DE LD A,(HL) LD (DE),A INC DE POP HL DJNZ IN_SP7 PUSH DE LD DE,24 ADD HL,DE POP DE DEC C JR NZ,IN_SP8 CALL IN_SP11 PUSH DE LD DE,24 ADD HL,DE POP DE CALL IN_SP10 PUSH DE LD DE,24 ADD HL,DE POP DE CALL IN_SP9 JP WIEW_UP IN_SP9 LD B,8 IN_SP4 LD A,(HL) LD (DE),A INC HL INC DE DJNZ IN_SP4 RET IN_SP10 LD B,4 IN_SP5 LD A,(HL) LD (DE),A INC HL INC DE LD A,(HL) LD (DE),A INC HL INC DE PUSH HL PUSH DE LD DE,22 ADD HL,DE POP DE LD A,(HL) LD (DE),A INC HL INC DE LD A,(HL) LD (DE),A INC DE POP HL DJNZ IN_SP5 RET IN_SP11 LD B,4 IN_SP6 LD A,(HL) LD (DE),A INC HL INC DE LD A,(HL) LD (DE),A INC HL INC DE PUSH HL PUSH DE LD DE,22 ADD HL,DE POP DE LD A,(HL) LD (DE),A INC HL INC DE LD A,(HL) LD (DE),A INC HL INC DE PUSH DE LD DE,22 ADD HL,DE POP DE LD A,(HL) LD (DE),A INC HL INC DE LD A,(HL) LD (DE),A INC DE POP HL DJNZ IN_SP6 RET WIEW_UP LD B,0 WIW15 PUSH BC EI HALT WIW3 LD DE,#57E0 LD HL,BUF_W1 WIW4 LD A,0 OR A JR Z,WIW18 LD B,4 WIW2 CALL WIW_S DEC E DEC E CALL DPIX_DE DJNZ WIW2 CALL CL_W WIW18 LD A,0 OR A JR Z,WIW20 LD B,4 WIW7 CALL WIW_S1 DEC E DEC E DEC E DEC E CALL DPIX_DE DJNZ WIW7 CALL CL_W WIW20 LD A,0 OR A JR Z,WIW21 LD B,4 WIW17 PUSH DE WIW8 CALL WIW_S2 POP DE CALL DPIX_DE DJNZ WIW17 CALL CL_W WIW21 LD A,0 OR A JR Z,WIW26 LD B,4 WIW16 PUSH DE WIW9 CALL WIW_S3 POP DE CALL DPIX_DE DJNZ WIW16 CALL CL_W WIW26 LD A,0 OR A JR Z,WIW28 INC E INC E LD B,4 WIW27 PUSH DE CALL WIW_S3 POP DE CALL DPIX_DE DJNZ WIW27 CALL CL_W WIW28 LD A,0 OR A JR Z,WIW29 INC E INC E LD B,4 WIW30 PUSH DE CALL WIW_S3 POP DE CALL DPIX_DE DJNZ WIW30 CALL CL_W WIW29 LD A,0 OR A JR Z,WIW31 INC E INC E LD B,4 WIW32 PUSH DE CALL WIW_S3 POP DE CALL DPIX_DE DJNZ WIW32 CALL CL_W WIW31 LD A,0 OR A JR Z,WIW33 INC E INC E LD B,4 WIW34 PUSH DE CALL WIW_S3 POP DE CALL DPIX_DE DJNZ WIW34 CALL CL_W WIW33 LD A,0 OR A JR Z,WIW35 INC E INC E LD B,4 WIW36 PUSH DE CALL WIW_S3 POP DE CALL DPIX_DE DJNZ WIW36 CALL CL_W WIW35 LD A,0 OR A JR Z,WIW37 INC E INC E LD B,4 WIW38 PUSH DE CALL WIW_S3 POP DE CALL DPIX_DE DJNZ WIW38 CALL CL_W WIW37 LD A,0 OR A JR Z,WIW39 INC E INC E LD B,4 WIW40 PUSH DE CALL WIW_S3 POP DE CALL DPIX_DE DJNZ WIW40 CALL CL_W WIW39 LD A,0 OR A JR Z,WIW41 INC E INC E LD B,4 WIW42 PUSH DE CALL WIW_S3 POP DE CALL DPIX_DE DJNZ WIW42 CALL CL_W WIW41 LD A,0 OR A JR Z,WIW43 INC E INC E LD B,4 WIW44 PUSH DE CALL WIW_S3 POP DE CALL DPIX_DE DJNZ WIW44 CALL CL_W WIW43 LD A,0 OR A JR Z,WIW45 INC E INC E LD B,4 WIW46 PUSH DE CALL WIW_S3 POP DE CALL DPIX_DE DJNZ WIW46 CALL CL_W WIW45 LD A,0 OR A JR Z,WIW47 INC E INC E LD B,4 WIW48 PUSH DE CALL WIW_S3 POP DE CALL DPIX_DE DJNZ WIW48 CALL CL_W WIW47 LD A,0 OR A JR Z,WIW49 INC E INC E LD B,4 WIW50 PUSH DE CALL WIW_S3 POP DE CALL DPIX_DE DJNZ WIW50 CALL CL_W WIW49 LD A,0 OR A JR Z,WIW65 INC E INC E LD B,4 WIW52 PUSH DE CALL WIW_S2 POP DE CALL DPIX_DE DJNZ WIW52 CALL CL_W WIW65 LD A,0 OR A JR Z,WIW67 INC E INC E LD B,4 WIW68 PUSH DE CALL WIW_S1 POP DE CALL DPIX_DE DJNZ WIW68 CALL CL_W WIW67 LD A,0 OR A JR Z,WIW00 INC E INC E LD B,4 WIW69 CALL WIW_S DEC E DEC E CALL DPIX_DE DJNZ WIW69 CALL CL_W WIW00 LD HL,(WIW3+1) LD B,4 CALL UPIX_HL DJNZ $-3 LD (WIW3+1),HL LD B,1 LD A,(WIW4+1) OR A JR NZ,WIW22 LD A,B LD (WIW4+1),A JP WIW5 WIW22 LD A,(WIW18+1) OR A JR NZ,WIW23 LD A,B LD (WIW18+1),A JP WIW5 WIW23 LD A,(WIW20+1) OR A JR NZ,WIW24 LD A,B LD (WIW20+1),A JP WIW5 WIW24 LD A,(WIW21+1) OR A JR NZ,WIW25 LD A,B LD (WIW21+1),A JP WIW5 WIW25 LD A,(WIW26+1) OR A JR NZ,WIW53 LD A,B LD (WIW26+1),A JP WIW5 WIW53 LD A,(WIW28+1) OR A JR NZ,WIW54 LD A,B LD (WIW28+1),A JP WIW5 WIW54 LD A,(WIW29+1) OR A JR NZ,WIW55 LD A,B LD (WIW29+1),A JP WIW5 WIW55 LD A,(WIW31+1) OR A JR NZ,WIW56 LD A,B LD (WIW31+1),A JP WIW5 WIW56 LD A,(WIW33+1) OR A JR NZ,WIW57 LD A,B LD (WIW33+1),A JP WIW5 WIW57 LD A,(WIW35+1) OR A JR NZ,WIW58 LD A,B LD (WIW35+1),A JR WIW5 WIW58 LD A,(WIW37+1) OR A JR NZ,WIW59 LD A,B LD (WIW37+1),A JR WIW5 WIW59 LD A,(WIW39+1) OR A JR NZ,WIW60 LD A,B LD (WIW39+1),A JR WIW5 WIW60 LD A,(WIW41+1) OR A JR NZ,WIW61 LD A,B LD (WIW41+1),A JR WIW5 WIW61 LD A,(WIW43+1) OR A JR NZ,WIW62 LD A,B LD (WIW43+1),A JR WIW5 WIW62 LD A,(WIW45+1) OR A JR NZ,WIW63 LD A,B LD (WIW45+1),A JR WIW5 WIW63 LD A,(WIW47+1) OR A JR NZ,WIW64 LD A,B LD (WIW47+1),A JR WIW5 WIW64 LD A,(WIW49+1) OR A JR NZ,WIW70 LD A,B LD (WIW49+1),A JR WIW5 WIW70 LD A,(WIW65+1) OR A JR NZ,WIW71 LD A,B LD (WIW65+1),A JR WIW5 WIW71 LD A,(WIW67+1) OR A JR NZ,WIW5 LD A,B LD (WIW67+1),A WIW5 POP BC DEC B JP NZ,WIW15 JP WIWA WIW_S3 LD A,D CP #58 RET NC LD C,D DEFS 8,#ED,#A0 RET WIW_S2 LD A,D CP #58 RET NC LD C,D DEFS 6,#ED,#A0 RET WIW_S1 LD A,D CP #58 RET NC LD C,D DEFS 4,#ED,#A0 RET WIW_S LD A,D CP #58 RET NC LD C,D DEFS 2,#ED,#A0 RET CL_W PUSH DE PUSH HL LD A,D CP #58 JR NC,CLW XOR A LD (DE),A INC E LD (DE),A DEC E CALL DPIX_DE LD A,D CP #58 JR NC,CLW XOR A LD (DE),A INC E LD (DE),A DEC E CALL DPIX_DE LD A,D CP #58 JR NC,CLW XOR A LD (DE),A INC E LD (DE),A DEC E CALL DPIX_DE LD A,D CP #58 JR NC,CLW XOR A LD (DE),A INC E LD (DE),A CLW POP HL POP DE RET WIWA LD HL,BUF_W+32 LD (WIWA6+1),HL LD HL,(WIW3+1) INC H INC H INC H CALL DPIX_HL INC L INC L LD (WIWA7+1),HL LD A,15 LD (WIWA9+1),A LD B,15 WIWA10 PUSH BC WIWA6 LD HL,0 WIWA7 LD DE,0 WIWA9 LD B,15 WIWA3 PUSH DE LD IX,32 LD C,16 WIWA1 LD A,D CP #58 JR NC,WIWA8 DEC LX DEC LX LD A,(HL) LD (DE),A INC HL INC E LD A,(HL) LD (DE),A INC HL DEC E CALL DPIX_DE DEC C JR NZ,WIWA1 LD C,4 WIWAS LD A,D CP #58 JR NC,WIWA12 XOR A LD (DE),A INC E LD (DE),A DEC E CALL DPIX_DE DEC C JR NZ,WIWAS JR WIWA12 WIWA8 EX DE,HL ADD IX,DE LD E,LX LD D,HX EX DE,HL WIWA12 POP DE INC D INC D INC D CALL DPIX_DE INC E INC E DJNZ WIWA3 EI HALT LD HL,(WIWA6+1) LD DE,32 ADD HL,DE LD (WIWA6+1),HL LD HL,WIWA9+1 DEC (HL) LD HL,WIWA7+1 INC (HL) INC (HL) POP BC DJNZ WIWA10 RET