ZXTape! 0Created with Ramsoft MakeTZXBresC.asm ¼î}{Fa¾ÿ ORG #F230  ENT $  LD D,128  LD C,30  LD E,80 ;BresCircle (;Input:DE-centers,C-radius 2bresc LD IX,VARS < LD A,C F ADD A,A G LD C,A H LD B,0 I LD HL,3 J AND A K SBC HL,BC L LD (DM),HL ‚ LD (IX+1),0 ƒ LD (TMP),DE Œ LD (IX+2),C;Y –LOOP LD A,(IX+1)   CP (IX+2) ¡ RET NC ´ LD C,E ¾ LD A,D È ADD A,(IX+1) Ò LD D,A Ü LD A,E æ ADD A,(IX+2) ð LD E,A ú CALL PLOT  LD A,C  SUB (IX+2)  LD E,A " CALL PLOT , LD DE,(TMP) 6 LD A,D @ SUB (IX+1) J LD D,A T LD A,(IX+2) ^ ADD A,E h LD E,A r CALL PLOT | LD A,C † SUB (IX+2)  LD E,A š CALL PLOT ¤ LD DE,(TMP) ® LD A,D ¸ ADD A,(IX+2)  LD D,A Ì LD A,E Ö ADD A,(IX+1) à LD E,A ê CALL PLOT ô LD A,C þ SUB (IX+1)  LD E,A  CALL PLOT  LD DE,(TMP) & LD A,D 0 SUB (IX+2) : LD D,A D LD A,E N ADD A,(IX+1) X LD E,A b CALL PLOT l LD A,C v SUB (IX+1) € LD E,A Š CALL PLOT ” LD A,(DM+1) – BIT 7,A ˜ JR Z,PLUS › LD H,0 œ LD L,(IX+1)  ADD HL,HL Ÿ ADD HL,HL ¡ LD BC,(DM) £ ADD HL,BC ¤ LD BC,6 ¦ ADD HL,BC ¨ LD (DM),HL ª JR WEND ¬PLUS LD L,(IX+1) ® LD H,0 ° LD B,H ² LD C,(IX+2) ´ AND A ¶ SBC HL,BC ¸ ADD HL,HL º ADD HL,HL ¼ LD BC,(DM) ¾ ADD HL,BC À LD BC,10  ADD HL,BC Ä LD (DM),HL Å DEC (IX+2) WEND INC (IX+1) ) LD DE,(TMP) * JP LOOP „PLOT LD A,D … AND 7 † LD (IXZ+2),A ‡ LD A,E ˆ CP 190 ‰ RET NC Š LD A,#BF Ž SUB E £ PUSH DE ¬ LD B,A ¶ AND #38 À RLCA Ê RLCA Ô SRL D Þ SRL D è SRL D ò ADD A,D ü LD L,A  LD A,B  RRCA  RRCA $ RRCA . AND #18 8 XOR B B AND #F8 L XOR B V ADD A,#40 ` LD H,A j PUSH IX t LD IX,BITS ~IXZ LD A,(IX) ˆ OR (HL) ‰ LD (HL),A ’ POP IX œ POP DE ¦ RET °BITS DEFB #80,#40,#20,#10,#08,#04,#02,#01 ÐVARS DEFS 6 ÑTMP DEFW 0 ÕDM DEFW 0 0bresL^.asmî}{¹Ò1ÿ ORG #F230  ENT $ TEST LD A,1  OUT (#FE),A  LD DE,#2004 ( LD HL,#7F05 ) LD BC,#0 2 CALL bresl < RET „PLOT LD A,D … AND 7 † LD (IXZ+2),A ‡ LD A,E ˆ CP 190 ‰ RET NC Š LD A,E £ PUSH DE ¬ LD B,A ¶ AND #38 À RLCA Ê RLCA Ô SRL D Þ SRL D è SRL D ò ADD A,D ü LD L,A  LD A,B  RRCA  RRCA $ RRCA . AND #18 8 XOR B B AND #F8 L XOR B V ADD A,#40 ` LD H,A j PUSH IX t LD IX,BITS ~IXZ LD A,(IX) ˆ OR (HL) ‰ LD (HL),A ’ POP IX œ POP DE ¦ RET °BITS DEFB #80,#40,#20,#10,#08,#04,#02,#01 ÐNUMP DEFB 0 ÑYINC1 DEFB 0 ÒYINC2 DEFB 0 ÓXINC1 DEFB 0 ÔXINC2 DEFB 0 ÕDINC1 DEFW 0 ÖDINC2 DEFW 0 ×VARD DEFW 0 ØSIGNS DEFW 0 ¸ bresl LD A,H ¹ LD (SIGNS),BC  CP L Ì JR C,CASE1 Ö INC A à LD (NUMP),A ê PUSH HL ô LD C,H þ LD H,0  ADD HL,HL  LD (DINC1),HL  LD B,0 & AND A 0 SBC HL,BC : LD (VARD),HL D POP HL N PUSH HL X LD H,0 b AND A l SBC HL,BC v ADD HL,HL € LD (DINC2),HL Š LD A,1 ” LD (XINC1),A ž LD (XINC2),A ¨ LD (YINC2),A ² XOR A ¼ LD (YINC1),A Æ POP HL Ð JR CASE2 Ú CASE1 LD A,L ä INC A î LD (NUMP),A ø PUSH HL  LD C,L LD L,H  LD H,0 ADD HL,HL * LD (DINC2),HL 4 LD B,0 > AND A H SBC HL,BC R LD (VARD),HL \ POP HL f PUSH HL p LD L,H z LD H,0 „ AND A Ž SBC HL,BC ˜ ADD HL,HL ¢ LD (DINC2),HL ¬ LD A,1 ¶ LD (XINC2),A À LD (YINC1),A Ê LD (YINC2),A Ô XOR A Þ LD (XINC1),A è POP HL ò CASE2 LD A,D ü ADD A,H  LD B,A  LD A,D  CP B $ JR C,CASE3 . LD A,(XINC1) 8 NEG B LD (XINC1),A L LD A,(XINC2) V NEG ` LD (XINC2),A jCASE3 LD A,E t ADD A,L ~ LD B,A ˆ LD A,E ’ CP B œ JR C,CASE4 ¦ LD A,(YINC1) ° NEG º LD (YINC1),A Ä LD A,(YINC2) Î NEG Ø LD (YINC2),A âCASE4 LD A,(NUMP) ì LD B,A öLOOP PUSH BC  CALL PLOT  LD HL,(VARD)  BIT 7,H  JR Z,LCASE ( LD BC,(DINC1) ZSUBS1 ADD HL,BC d LD (VARD),HL n LD A,(XINC1) x ADD A,D ‚ LD D,A Œ LD A,(YINC1) – ADD A,E   LD E,A ª JR ENDW ´LCASE LD HL,(VARD) ¾ LD BC,(DINC2) È ADD HL,BC Ò LD (VARD),HL Ü LD A,(XINC2) æ ADD A,D ð LD D,A ú LD A,(YINC2)  ADD A,E  LD E,A ENDW POP BC " DJNZ LOOP , RET †