1:MAX EQU 31 2:U EQU 64 3:KEZDŐ EQU 0B001H 4:FÁZIS DB 00 5:SPTÁR DW 0000 6:HONNAN DW 0000 7:HOVÁ DW 0000 8:;******************** 9:START LD IY,0000 10: DI 11: LD A,50H 12: OUT (2),A 13: LD (3),A 14: EI 15: LD B,00 16:CCC PUSH BC 17: LD B,MAX 18:FŐCIKL PUSH BC 19: CALL HELY 20: LD HL,HELY+2 21: INC (HL) ;KÖVETKEZŐT RAKJA KI 22: POP BC 23: DJNZ FŐCIKL 24: XOR A 25: LD (HELY+2),A ;IY+0-TÓL 26: LD HL,(K+1) 27: DEC HL 28: LD (K+1),HL ;1 BYTE-TAL BALRA LÉPÜNK 29: LD B,MAX 30:FŐCIKL2 PUSH BC 31: CALL HELY 32: LD HL,HELY+2 33: INC (HL) ;KÖVETKEZŐ KARAKTERT RAKJA 34: POP BC 35: DJNZ FŐCIKL2 36: XOR A 37: LD (HELY+2),A ;IY+00-TÓL 38: INC IY ;SZÖVEGBN IS LÉPÜNK 39: LD HL,(K+1) 40: INC HL 41: LD (K+1),HL 42: LD HL,KAR1+2 43: LD DE,KAR1 44: LD BC,MAX*2-2 ;KAR1 SZÁM-1)*2 45: LDIR 46:; DEC HL 47:; DEC HL 48:; LD DE,0B22DH 49:; LD (HL),E 50:; INC HL 51:; LD (HL),D 52: LD IX,0B00FH 53: CALL TÖRÖL 54:VÉGE POP BC 55: DJNZ CCC 56: RET 57:KIRAK LD A,20 58: LD HL,(HONNAN) 59: LD DE,(HOVÁ) 60:CIKLUS2 LD BC,64 61: LDI 62: LDI 63: EX DE,HL 64: ADD HL,BC 65: EX DE,HL 66: DEC A 67: JR NZ,CIKLUS2 68: RET 69:TÖRÖL DI 70: LD BC,0002 71: ADD IX,BC 72: LD (SPTÁR),SP 73: LD SP,IX 74: LD HL,0000 75: ADD HL,SP 76: LD DE,0000H 77: LD B,20 78:CIKLUS PUSH DE ;2 BYTE 79: LD A,64 80: ADD A,L 81: JR NC,NINCS 82: INC H 83:NINCS LD L,A 84: LD SP,HL 85: DJNZ CIKLUS 86: LD SP,(SPTÁR) 87: EI 88: RET 89:SINUS PUSH HL ;EZ NEM VÁLTOZHAT 90: LD HL,SINTÁB 91: LD A,(HELY+2) 92: ADD A,A 93: ADD A,L 94: JR NC,NINCS3 95: INC H 96:NINCS3 LD L,A 97: LD E,(HL) 98: INC HL 99: LD D,(HL) 100: POP HL 101: RET 102:;************************************** 103:;EZ A RUTIN MGJELENÍTI AZ (IY+0) KARAKTERT A K+1 SZERINTI 104:;HELYEN 105:;************************************** 106:HELY LD A,(IY+0) 107: SUB 32 108: LD L,A 109: LD H,0 ;HL=A 110: ADD HL,HL 111: ADD HL,HL 112: ADD HL,HL ;HL=HL*8 113: LD B,H 114: LD C,L 115: ADD HL,HL 116: ADD HL,HL 117: ADD HL,BC ;HL=40*A 118: LD DE,TÁR 119: ADD HL,DE 120: LD (HONNAN),HL 121: LD A,(HELY+2) 122:; ADD A,8 ;..OSZLOPTÓL KEZDJÜK 123: ADD A,A ;2 BYTE-ONKÉNT LÉPÜNK 124:K LD HL,KEZDŐ 125: ADD A,L 126: JR NC,NINCS1 127: INC H 128:NINCS1 LD L,A 129: CALL SINUS ;KI:DE-KITÉRÉS,HL-MARAD 130: ADD HL,DE 131: LD (HOVÁ),HL 132: LD A,(HELY+2) 133: ADD A,A 134: LD HL,KAR1 135: ADD A,L 136: JR NC,NINCS2 137: INC H 138:NINCS2 LD L,A ;HL-KARAKTERTÁBLÁRA MUTAT 139: PUSH HL 140: LD E,(HL) 141: INC HL 142: LD D,(HL) 143: PUSH DE 144: POP IX 145: CALL TÖRÖL 146: POP HL 147: LD DE,(HOVÁ) 148: LD (HL),E 149: INC HL 150: LD (HL),D 151: CALL KIRAK 152: RET 153:SINTÁB DW 0,4*U,8*U,11*U,14*U,16*U,18*U,19*U,20*U 154:S2 DW 20*U,19*U,18*U,16*U,14*U,11*U,8*U,4*U,0 155:S3 DW -4*U,-8*U,-11*U,-14*U,-16*U,-18*U,-19*U 156:S4 DW -20*U,-20*U,-19*U,-18*U,-16*U,-14*U,-11*U 157:S5 DW -8*U,-4*U,0 158:ST LD IX,TÁR 159: LD A,32-1 160: LD (FÁZIS),A 161:LOOP LD BC,0101H 162: RST 30H,03 163: LD A,(FÁZIS) 164: CP 159 165: JR Z,VÉG 166: INC A 167: LD (FÁZIS),A 168: LD C,A 169: RST 30H,01 170: CALL NAGYÍT 171: JR LOOP 172:VÉG XOR A 173: LD (FÁZIS),A 174: RET 175:NAGYÍT DI 176: LD A,50H 177: OUT (2),A 178: LD (3),A 179: EI 180: LD HL,8000H 181: LD B,10 182:CIKL1 LD A,(HL) 183: PUSH BC 184: LD B,8 185:CIKL RLCA 186: JR C,ONE 187: SLA E 188: RL D 189: SLA E 190: RL D ;BC<›00 191: DJNZ CIKL 192: JR VEG 193:ONE RL E 194: RL D 195: SCF 196: RL E 197: RL D 198: DJNZ CIKL 199:VEG LD (IX+0),D 200: LD (IX+1),E 201: LD (IX+2),D 202: LD (IX+3),E 203: LD BC,04 204: ADD IX,BC 205: LD BC,64 206: ADD HL,BC 207: POP BC 208: DJNZ CIKL1 209: RET 210:KAR1 DW 45056,45056,45056,45056,45056,45056,45056 211:KK1 DW 45056,45056,45056,45056,45056,45056,45056 212:KK2 DW 45056,45056,45056,45056,45056,45056,45056 213:KK3 DW 45056,45056,45056,45056,45056,45056,45056 214:KK4 DW 45056,45056,45056,45056,45056,45056,45056 215:TÁR DS 10