1 ESCVDP:EQU 06000H 2 LEIVDP:EQU 06003H 3 REGVDP:EQU 06006H 4 ESCVRA:EQU 06009H 5 LEIVRA:EQU 0600CH 6 PREVRA:EQU 0600FH 7 RAPVRA:EQU 06012H 8 PRAPRA:EQU 06015H 9 PREVDP:EQU 06018H 10 IMPHL1:EQU 0601BH 11 IMPHL2:EQU 0601EH 12 IMPHL3:EQU 06021H 13 REGPSG:EQU 06024H 14 PREPSG:EQU 06027H 15 JOYST1:EQU 0602AH 16 JOYST2:EQU 0602DH 17 JOYST3:EQU 06030H 18 JOYSTT:EQU 06033H 19 TEMPO1:EQU 06036H 20 ESCPOS:EQU 06039H 21 TECLAD:EQU 0603CH 22 INPUTT:EQU 0603FH 23 INPUT1:EQU 06042H 24 INPUT2:EQU 06045H 25 INPUT3:EQU 06048H 26 INPUT4:EQU 0604BH 27 INPUT5:EQU 0604EH 28 INPUT6:EQU 06051H 29 PREEND:EQU 06054H 30 FRASE1:EQU 06057H 31 FRASE2:EQU 0605AH 32 INPUTN:EQU 0605DH 33 MEMOHL:EQU 06060H 34 PIXEL1:EQU 06063H 35 PSETLI:EQU 06066H 36 POINTC:EQU 06069H 37 IMPHL4:EQU 0606CH 50 PADCAR:EQU 05000H 51 PADSPR:EQU 05800H 52 ATRSPR:EQU 05900H 53 CORMEM:EQU 07000H 54 RECUPE:EQU 07400H 55 TRANSP:EQU 07600H 100 ORG 09000H 110 ; RECONHECE CALL 120 DEFB 41H,42H,0,0,10H,40H,0,0,0,0,0,0,0,0,0,0 130 PUSH HL 140 LD DE,NOMSPR-05000H 150 LD HL,0FD89H 160 CONTI2: 170 LD A,(DE) 180 CP '" 190 JR NZ,CONTI 200 ERRO: 210 POP HL 220 SCF 230 RET 240 CONTI: 250 CP (HL) 260 JR NZ,ERRO 270 INC DE 280 INC HL 290 LD A,(HL) 300 OR A 310 JR NZ,CONTI2 320 LD A,(DE) 330 CP '" 340 JR NZ,ERRO 350 ; VIDEO 360 DI 370 LD HL,SCR2-05000H 380 CALL PREVDP 390 LD BC,2048 400 LD DE,0 410 LD HL,PADCAR 420 CALL RAPVRA 430 LD BC,2048 440 LD DE,2048 450 LD HL,PADCAR 460 CALL RAPVRA 470 LD BC,2048 480 LD DE,4096 490 LD HL,PADCAR 500 CALL RAPVRA 510 LD A,32 520 LD BC,768 530 LD DE,6144 540 CALL PREVRA 550 LD A,31 560 LD DE,8192 570 LD BC,6144 580 CALL PREVRA 590 LD A,27 600 LD DE,8224 610 LD BC,32 620 CALL PREVRA 630 LD A,27 640 LD DE,10272 650 LD BC,32 660 CALL PREVRA 670 LD BC,64 680 LD DE,16320 690 LD HL,PADSPR 700 CALL RAPVRA 710 ; ATRIB. DOS SPRITES 720 LD BC,128 730 LD DE,6912 740 LD HL,ATRSPR 750 CALL RAPVRA 760 ; VARIAVEIS 770 LD HL,SPRDES 780 LD BC,32 790 LD D,0 800 CALL PREEND 810 LD HL,CORMEM 820 LD BC,1024 830 LD D,1 840 CALL PREEND 850 XOR A 860 LD (SPRITE),A 870 LD (SPRVIN),A 880 LD (SPRVFI),A 890 LD A,11 900 LD (FUNDCO),A 910 LD (VALCOR),A 920 LD L,A 930 LD H,0 940 LD D,13 950 LD E,17 960 CALL IMPHL2 970 LD HL,0A000H 980 LD (SPREND),HL 990 LD HL,0 1000 LD (ENDVIN),HL 1010 LD (ENDVFI),HL 1020 LD (LINHA),HL 1030 LD A,20 1040 LD (VELOC),A 1050 LD L,A 1060 LD H,0 1070 LD D,4 1080 LD E,20 1090 CALL IMPHL2 1100 ; IMPRESSAO DAS FRASES 1110 LD HL,ENDE-05000H 1120 LD DE,18 1130 CALL FRASE1 1140 LD HL,ENDE-05000H 1150 LD DE,19 1160 CALL FRASE1 1170 LD HL,FRAC-05000H 1180 LD DE,17 1190 CALL FRASE1 1200 LD D,16 1210 LD E,17 1220 LD HL,FRAF-05000H 1230 NOVFU:PUSH DE 1240 PUSH HL 1250 CALL FRASE1 1260 POP HL 1270 LD DE,17 1280 ADD HL,DE 1290 POP DE 1300 INC E 1310 LD A,E 1320 CP 23 1330 JR NZ,NOVFU 1340 LD HL,FRAV-05000H 1350 LD DE,20 1360 CALL FRASE1 1370 ; PASSA PADROES SPR 1380 PASSA:LD BC,512 1390 LD DE,14336 1400 LD HL,(SPREND) 1410 CALL RAPVRA 1420 LD BC,512 1430 LD DE,RECUPE 1440 LD HL,(SPREND) 1450 LDIR 1460 ; INICIA VARIAVEIS 1470 VAR1: 1480 LD A,(SPRITE) 1490 PUSH AF 1500 LD HL,-32 1510 LD BC,32 1520 INC A 1530 NOV1: 1540 ADD HL,BC 1550 DEC A 1560 JR NZ,NOV1 1570 PUSH HL 1580 LD DE,14336 1590 ADD HL,DE 1600 LD (SPRVRA),HL 1610 POP HL 1620 LD DE,(SPREND) 1630 ADD HL,DE 1640 LD (SPRAT),HL 1650 POP AF 1660 RLCA 1670 RLCA 1680 LD DE,ATRSPR 1690 LD E,A 1700 PUSH DE 1710 ADD A,3 1720 LD H,27 1730 LD L,A 1740 LD (CORAT),HL 1750 CALL LEIVRA 1760 RLCA 1770 RLCA 1780 RLCA 1790 RLCA 1800 LD B,A 1810 LD A,(FUNDCO) 1820 OR B 1830 LD (CORCAR),A 1840 LD DE,13312 1850 LD BC,256 1860 CALL PREVRA 1870 POP DE 1880 LD A,(DE) 1890 LD HL,7036 1900 CALL ESCVRA 1910 INC DE 1920 LD A,(DE) 1930 OUT (152),A 1940 ; PRINT END. ATUAL 1950 LD D,4 1960 LD E,18 1970 PUSH DE 1980 LD HL,(SPREND) 1990 PUSH HL 2000 CALL IMPHL3 2010 POP HL 2020 POP DE 2030 INC E 2040 CALL IMPHL4 2050 LD D,10 2060 LD E,18 2070 PUSH DE 2080 LD HL,(SPREND) 2090 LD BC,511 2100 ADD HL,BC 2110 PUSH HL 2120 CALL IMPHL3 2130 POP HL 2140 POP DE 2150 INC E 2160 CALL IMPHL4 2170 ; AMPLIA SPRITE 2180 AMPLIA: 2190 LD DE,0 2200 NOVPON: 2210 PUSH DE 2220 CALL AMPONT-05000H 2230 POP DE 2240 INC D 2250 BIT 4,D 2260 JR Z,NOVPON 2270 LD D,0 2280 INC E 2290 BIT 4,E 2300 JR Z,NOVPON 2310 ; IMPRIME COR DO SPRITE 2320 LD HL,(SPRAT) 2330 LD DE,32768 2340 OR A 2350 SBC HL,DE 2360 LD B,5 2370 NOVDIV: 2380 SRL H 2390 RR L 2400 DJNZ NOVDIV 2410 LD DE,CORMEM 2420 ADD HL,DE 2430 LD (ENDCOR),HL 2440 LD A,(HL) 2450 LD L,A 2460 LD H,0 2470 LD D,4 2480 LD E,17 2490 CALL IMPHL2 2500 ; PEGA TECLADO,JOY 2510 PEGA: 2520 CALL JOYSTT 2530 PUSH AF 2540 LD A,(LINHA) 2550 RLCA 2560 RLCA 2570 RLCA 2580 DEC A 2590 LD HL,7032 2600 CALL ESCVRA 2610 LD A,(COLUNA) 2620 RLCA 2630 RLCA 2640 RLCA 2650 OUT (152),A 2660 LD BC,32 2670 LD DE,5120 2680 LD HL,SPRDES 2690 CALL RAPVRA 2700 CALL TECLAD 2710 ; COMPARA SELECAO SPR 2720 CP 198 2730 JR NZ,TEC2 2740 POP AF 2750 LD HL,SPRITE 2760 BIT 3,A 2770 JR Z,MOV3 2780 INC (HL) 2790 MOV3: 2800 BIT 2,A 2810 JR Z,MOV1 2820 DEC (HL) 2830 MOV1: 2840 BIT 1,A 2850 JR Z,XOX1 2860 INC (HL) 2870 INC (HL) 2880 XOX1: 2890 BIT 0,A 2900 JR Z,XOX2 2910 DEC (HL) 2920 DEC (HL) 2930 XOX2: 2940 LD A,(HL) 2950 LD HL,(SPREND) 2960 LD BC,512 2970 ADD A,3 2980 CP 19 2990 JR C,MOV2 3000 ADD HL,BC 3010 SUB 19 3020 LD (SPRITE),A 3030 JR FIM1 3040 MOV2: 3050 CP 3 3060 JP NC,VAR1-05000H 3070 OR A 3080 SBC HL,BC 3090 ADD A,13 3100 LD (SPRITE),A 3110 FIM1: 3120 LD (SPREND),HL 3125 JP PASSA-05000H 3130 ; VOLTA BASIC 3140 TEC2: 3150 CP 11 3160 JR NZ,TEC3 3170 POP AF 3180 LD A,(0FCAFH) 3190 CALL 005FH 3200 EI 3210 POP HL 3220 XOR A 3230 RET 3240 ; LIGA PONTO 3250 TEC3: 3260 LD B,A 3270 POP AF 3280 PUSH AF 3290 BIT 4,A 3300 JR Z,TEC4 3310 LD DE,(LINHA) 3320 PUSH DE 3330 CALL ACHEND-05000H 3340 LD A,1 3350 NOVBI4: 3360 RRCA 3370 DJNZ NOVBI4 3380 OR (HL) 3390 JR FIM2 3400 ; DESLIGA PONTO 3410 TEC4: 3420 POP AF 3430 PUSH AF 3440 BIT 5,A 3450 JR Z,TEC5 3460 LD DE,(LINHA) 3470 PUSH DE 3480 CALL ACHEND-05000H 3490 LD A,254 3500 NOVBI5: 3510 RRCA 3520 DJNZ NOVBI5 3530 AND (HL) 3540 FIM2: 3550 LD (HL),A 3560 LD HL,14848 3570 ADD HL,DE 3580 CALL ESCVRA 3590 POP DE 3600 CALL AMPONT-05000H 3610 JP SEPONT-05000H 3620 ; APAGA AMPLIADO 3630 TEC5: 3640 LD A,B 3650 CP 13 3660 JR NZ,TEC6 3670 POP AF 3680 LD D,0 3690 LD BC,32 3700 LD HL,SPRDES 3710 CALL PREEND 3720 JP AMPLIA-05000H 3730 ; APAGA PARTE 3740 TEC6: 3750 CP 19 3760 JR NZ,TEC7 3770 POP AF 3780 LD DE,(LINHA) 3790 CALL ACHEND-05000H 3800 LD A,E 3810 AND 24 3820 SBC HL,DE 3830 LD E,A 3840 ADD HL,DE 3850 LD BC,8 3860 LD D,0 3870 CALL PREEND 3880 JP AMPLIA-05000H 3890 ; APAGA TUDO 3900 TEC7: 3910 CP 5 3920 JR NZ,TEC8 3930 POP AF 3940 CALL COMPME 3950 LD BC,512 3960 LD HL,(SPREND) 3970 LD DE,RECUPE 3980 LDIR 3990 LD BC,512 4000 LD HL,(SPREND) 4010 LD D,0 4020 CALL PREEND 4030 XOR A 4040 LD BC,512 4050 LD DE,14336 4060 CALL PREVRA 4070 JP VAR1-05000H 4080 ; GUARDA SPRITE 4090 TEC8: 4100 CP 205 4110 JR NZ,TEC9 4120 POP AF 4130 CALL COMPME 4140 LD BC,32 4150 LD HL,SPRDES 4160 LD DE,(SPRAT) 4170 LDIR 4180 LD BC,32 4190 LD DE,(SPRVRA) 4200 LD HL,(SPRAT) 4210 CALL RAPVRA 4220 JP AMPLIA-05000H 4230 ; RECUPERA SPRITE 4240 TEC9: 4250 CP 206 4260 JR NZ,TEC10 4270 POP AF 4280 LD BC,32 4290 LD DE,SPRDES 4300 LD HL,(SPRAT) 4310 LDIR 4320 JP AMPLIA-05000H 4330 ; AVANCA 16 SPR 4340 TEC10: 4350 CP 194 4360 JR NZ,TEC11 4370 POP AF 4380 LD HL,(SPREND) 4390 LD DE,512 4400 ADD HL,DE 4410 LD (SPREND),HL 4420 LD HL,200 4430 CALL TEMPO1 4440 JP PASSA-05000H 4450 ; VOLTA 16 SPR 4460 TEC11: 4470 CP 192 4480 JR NZ,TEC12 4490 POP AF 4500 LD HL,(SPREND) 4510 LD DE,512 4520 OR A 4530 SBC HL,DE 4540 LD (SPREND),HL 4550 LD HL,200 4560 CALL TEMPO1 4570 JP PASSA-05000H 4580 ; MARCA ENDERECO 4590 TEC12: 4600 CP 3 4610 JR NZ,TEC13 4620 POP AF 4630 LD A,5 4640 LD D,4 4650 LD E,18 4660 LD HL,VALOR1 4670 CALL INPUT6 4680 CALL MEMOHL 4690 LD (SPREND),HL 4700 XOR A 4710 LD (SPRITE),A 4720 JP PASSA-05000H 4730 ; TRANSF. ENDERECO 4740 TEC13: 4750 CP 4 4760 JR NZ,TEC14 4770 POP AF 4780 LD A,5 4790 LD D,4 4800 LD E,18 4810 LD HL,VALOR1 4820 CALL INPUT6 4830 CALL MEMOHL 4840 CALL COMPME+3 4850 LD (SPREND),HL 4860 PUSH HL 4870 LD A,5 4880 LD D,10 4890 LD E,18 4900 LD HL,VALOR1 4910 CALL INPUT6 4920 CALL MEMOHL 4930 OR A 4940 LD DE,2048 4950 SBC HL,DE 4960 ADD HL,DE 4970 JR C,NAOEXC 4980 EX DE,HL 4990 NAOEXC: 5000 LD B,H 5010 LD C,L 5020 PUSH BC 5030 LD HL,(SPREND) 5040 LD DE,TRANSP 5050 LDIR 5060 POP BC 5070 POP HL 5080 EX DE,HL 5090 LD HL,TRANSP 5100 LDIR 5110 JP PASSA-05000H 5120 ; INVERTE SPR 5130 TEC14: 5140 CP 199 5150 JR NZ,TEC15 5160 POP AF 5170 LD B,32 5180 LD HL,SPRDES 5190 INVERT: 5200 LD A,(HL) 5210 XOR 255 5220 LD (HL),A 5230 INC HL 5240 DJNZ INVERT 5250 LD HL,300 5260 CALL TEMPO1 5270 JP VAR1-05000H 5280 ; GIRA SPR 5290 TEC15: 5300 CP 2 5310 JR NZ,TEC16 5320 POP AF 5330 LD HL,SPRDES 5340 LD DE,AJUDA1 5350 LD BC,8 5360 LDIR 5370 LD HL,SPRDES+8 5380 LD DE,SPRDES 5390 CALL GIRA1-05000H 5400 LD HL,SPRDES+24 5410 LD DE,SPRDES+8 5420 CALL GIRA1-05000H 5430 LD HL,SPRDES+16 5440 LD DE,SPRDES+24 5450 CALL GIRA1-05000H 5460 LD HL,AJUDA1 5470 LD DE,SPRDES+16 5480 CALL GIRA1-05000H 5490 LD HL,300 5500 CALL TEMPO1 5510 JP VAR1-05000H 5520 GIRA1: 5530 EX DE,HL 5540 LD C,8 5550 NOVBY1: 5560 PUSH HL 5570 LD A,(DE) 5580 LD B,8 5590 NOVBI6: 5600 RLCA 5610 SET 0,(HL) 5620 JR C,CERTO1 5630 RES 0,(HL) 5640 CERTO1: 5650 RRC (HL) 5660 INC HL 5670 DJNZ NOVBI6 5680 INC DE 5690 POP HL 5700 DEC C 5710 JR NZ,NOVBY1 5720 RET 5730 ; PEGA VELOCIDADE 5740 TEC16: 5750 CP 1 5760 JP NZ,TEC17-05000H 5770 NOVVEL: 5780 POP AF 5790 LD HL,VELOC 5800 BIT 2,A 5810 JR Z,VNODI 5820 DEC (HL) 5830 LD A,(HL) 5840 CP 255 5850 JR NZ,MOST1 5860 INC (HL) 5870 JR MOST1 5880 VNODI: 5890 BIT 3,A 5900 JR Z,MOST1 5910 INC (HL) 5920 LD A,(HL) 5930 CP 21 5940 JR NZ,MOST1 5950 DEC (HL) 5960 MOST1: 5970 LD HL,(VELOC) 5980 LD H,0 5990 LD D,4 6000 LD E,20 6010 CALL IMPHL2 6020 LD A,(SPRVAT) 6030 ADD A,A 6040 ADD A,A 6050 PUSH AF 6060 LD H,27 6070 ADD A,3 6080 LD L,A 6090 CALL LEIVRA 6100 RLCA 6110 RLCA 6120 RLCA 6130 RLCA 6140 LD B,A 6150 LD A,(FUNDCO) 6160 OR B 6170 LD DE,13376 6180 LD BC,32 6190 CALL PREVRA 6200 POP AF 6210 ADD A,A 6220 ADD A,A 6230 LD E,A 6240 LD D,0 6250 SLA E 6260 RL D 6270 LD HL,(SPREND) 6280 ADD HL,DE 6290 LD DE,5184 6300 LD BC,32 6310 CALL RAPVRA 6320 LD A,(SPRVFI) 6330 LD HL,SPRVAT 6340 INC (HL) 6350 CP (HL) 6360 JR NC,FIVEL 6370 LD A,(SPRVIN) 6380 LD (HL),A 6390 FIVEL: 6400 LD HL,(VELOC) 6410 LD H,0 6420 SLA L 6430 SLA L 6440 SLA L 6450 SLA L 6460 RL H 6470 SLA L 6480 RL H 6490 SLA L 6500 RL H 6510 INC HL 6520 CALL TEMPO1 6530 CALL JOYSTT 6540 PUSH AF 6550 LD A,86 6560 OUT (170),A 6570 IN A,(169) 6580 BIT 5,A 6590 JP Z,NOVVEL-05000H 6600 ; PRIMEIRO SPRITE 6610 TEC17: 6620 CP 'P 6630 JR NZ,TEC18 6640 POP AF 6650 LD A,(SPRITE) 6660 LD (SPRVIN),A 6670 JR CURMOV 6680 ; ULTIMO SPRITE 6690 TEC18: 6700 CP 'U 6710 JR NZ,TEC19 6720 POP AF 6730 LD A,(SPRITE) 6740 LD (SPRVFI),A 6750 CURMOV: 6760 LD DE,(ENDVIN) 6770 CALL ESCPOS 6780 LD A,' ' 6790 OUT (152),A 6800 LD DE,(ENDVFI) 6810 CALL ESCPOS 6820 LD A,' ' 6830 OUT (152),A 6840 LD A,(SPRVFI) 6850 LD HL,SPRVIN 6860 CP (HL) 6870 JR NC,SPRLE1 6880 LD B,(HL) 6890 LD (HL),A 6900 LD A,B 6910 LD (SPRVFI),A 6920 SPRLE1: 6930 LD A,(SPRVIN) 6940 LD D,16 6950 SRL A 6960 JR NC,AJT1 6970 SET 3,D 6980 AJT1: 6990 ADD A,A 7000 BIT 1,A 7010 JR Z,AJT2 7020 SET 2,D 7030 AJT2:LD E,A 7040 LD (ENDVIN),DE 7050 CALL ESCPOS 7060 LD A,'> 7070 OUT (152),A 7080 LD A,(SPRVFI) 7090 LD D,19 7100 SRL A 7110 JR NC,AJT3 7120 SET 3,D 7130 AJT3: 7140 ADD A,A 7150 BIT 1,A 7160 JR Z,AJT4 7170 SET 2,D 7180 AJT4:LD E,A 7190 INC E 7200 LD (ENDVFI),DE 7210 CALL ESCPOS 7220 LD A,'< 7230 OUT (152),A 7240 JP PEGA-05000H 7250 ; FIGURA A 7260 TEC19: 7270 CP 'A 7280 JR NZ,TEC20 7290 CALL MUDSPR-05000H 7300 LD HL,6978 7310 CALL ESCVRA 7320 LD A,B 7330 OUT (152),A 7340 JP PEGA-05000H 7350 ; FIGURA B 7360 TEC20: 7370 CP 'B 7380 JR NZ,TEC21 7390 CALL MUDSPR-05000H 7400 LD HL,6982 7410 CALL ESCVRA 7420 LD A,B 7430 OUT (152),A 7440 JP PEGA-05000H 7450 ; FIGURA C 7460 TEC21: 7470 CP 'C 7480 JR NZ,TEC22 7490 CALL MUDSPR-05000H 7500 LD HL,6986 7510 CALL ESCVRA 7520 LD A,B 7530 OUT (152),A 7540 JP PEGA-05000H 7550 ; FIGURA D 7560 TEC22: 7570 CP 'D 7580 JR NZ,TEC23 7590 CALL MUDSPR-05000H 7600 LD HL,6990 7610 CALL ESCVRA 7620 LD A,B 7630 OUT (152),A 7640 JP PEGA-05000H 7650 ; ROTINA MUDSPR 7660 MUDSPR: 7670 POP HL 7680 POP AF 7690 PUSH HL 7700 LD HL,(CORAT) 7710 CALL LEIVRA 7720 LD B,A 7730 DEC HL 7740 CALL LEIVRA 7750 RET 7760 ; FIGURA 1 7770 TEC23: 7780 CP '1 7790 JR NZ,TEC24 7800 LD DE,5216 7810 JR PASFIG 7820 ; FIGURA 2 7830 TEC24: 7840 CP '2 7850 JR NZ,TEC25 7860 LD DE,5248 7870 JR PASFIG 7880 ; FIGURA 3 7890 TEC25: 7900 CP '3 7910 JR NZ,TEC26 7920 LD DE,5280 7930 JR PASFIG 7940 ; FIGURA 4 7950 TEC26: 7960 CP '4 7970 JR NZ,TEC27 7980 LD DE,5312 7990 JR PASFIG 8000 ; ROTINA PASFIG 8010 PASFIG: 8020 LD HL,(SPRAT) 8030 LD BC,32 8040 CALL RAPVRA 8050 LD A,(CORCAR) 8060 EX DE,HL 8070 LD DE,8192 8080 ADD HL,DE 8090 EX DE,HL 8100 LD BC,32 8110 CALL PREVRA 8120 ; CORES DE TUDO 8130 TEC27: 8140 CP 196 8150 JR Z,MOVCOR 8160 CALL COMPME 8170 CP 203 8180 JR Z,MOVCOR 8190 CP 17 8200 JP NZ,TEC28-05000H 8210 MOVCOR: 8220 LD D,A 8230 LD HL,200 8240 CALL TEMPO1 8250 POP AF 8260 PUSH DE 8270 LD HL,VALCOR 8280 BIT 2,A 8290 JR Z,NOFESQ 8300 LD A,(HL) 8310 OR A 8320 JR Z,NOFDIR 8330 DEC (HL) 8340 JR NOFDIR 8350 NOFESQ: 8360 BIT 3,A 8370 JR Z,NOFDIR 8380 LD A,(HL) 8390 CP 15 8400 JR Z,NOFDIR 8410 INC (HL) 8420 NOFDIR: 8430 POP AF 8440 CP 196 8450 JR Z,CORFUN 8460 PUSH AF 8470 LD HL,(VALCOR) 8480 LD H,0 8490 LD D,4 8500 LD E,17 8510 CALL IMPHL2 8520 POP AF 8530 CP 203 8540 JR Z,CORUNI 8550 JR CORTUD 8560 CORFUN: 8570 LD A,(VALCOR) 8580 LD (FUNDCO),A 8590 LD L,A 8600 LD H,0 8610 LD D,13 8620 LD E,17 8630 CALL IMPHL2 8640 LD HL,13312 8650 LD B,0 8660 NOVCFU: 8670 CALL LEIVRA 8680 AND 240 8690 LD D,A 8700 LD A,(FUNDCO) 8710 OR D 8720 CALL ESCVRA 8730 RES 6,H 8740 INC HL 8750 DJNZ NOVCFU 8760 JP PEGA-05000H 8770 CORUNI: 8780 LD HL,(CORAT) 8790 LD A,(VALCOR) 8800 CALL ESCVRA 8810 LD HL,(ENDCOR) 8820 LD (HL),A 8830 JP PEGA-05000H 8840 CORTUD: 8850 LD HL,6915 8860 LD DE,4 8870 LD A,(VALCOR) 8880 LD B,16 8890 NOVCOT: 8900 CALL ESCVRA 8910 ADD HL,DE 8920 DJNZ NOVCOT 8930 LD DE,(SPRITE) 8940 LD D,0 8950 LD HL,(ENDCOR) 8960 OR A 8970 SBC HL,DE 8980 LD B,16 8990 NOVECO: 9000 LD (HL),A 9010 INC HL 9020 DJNZ NOVECO 9030 JP PEGA-05000H 9040 ; RECUPERA MEMO 9050 TEC28: 9060 CP 15 9070 POP AF 9080 JR NZ,TEC29 9090 LD HL,RECUPE 9100 LD DE,(SPREND) 9110 LD BC,512 9120 LDIR 9130 JP PASSA-05000H 9140 TEC29: 9150 ; SELECAO PONTO 9160 SEPONT: 9170 LD HL,100 9180 CALL TEMPO1 9190 POP AF 9200 LD HL,LINHA 9210 RRA 9220 JR NC,DIR1 9230 DEC (HL) 9240 BIT 7,(HL) 9250 JR Z,DIR1 9260 INC (HL) 9270 DIR1:RRA 9280 JR NC,DIR2 9290 INC (HL) 9300 BIT 4,(HL) 9310 JR Z,DIR2 9320 DEC (HL) 9330 DIR2: 9340 LD HL,COLUNA 9350 RRA 9360 JR NC,DIR3 9370 DEC (HL) 9380 BIT 7,(HL) 9390 JR Z,DIR3 9400 INC (HL) 9410 DIR3: 9420 RRA 9430 JR NC,DIR4 9440 INC (HL) 9450 BIT 4,(HL) 9460 JR Z,DIR4 9470 DEC (HL) 9480 DIR4:JP PEGA-05000H 9490 ; ROTINA AMPONT 9500 AMPONT: 9510 PUSH DE 9520 CALL ACHEND-05000H 9530 LD C,(HL) 9540 PUSH BC 9550 XOR A 9560 NOVBI1: 9570 SLA C 9580 DJNZ NOVBI1 9590 JR NC,PREP1 9600 LD A,2 9610 PREP1: 9620 LD HL,(SPRAT) 9630 ADD HL,DE 9640 POP BC 9650 LD C,(HL) 9660 NOVBI2: 9670 SLA C 9680 DJNZ NOVBI2 9690 JR NC,PREP2 9700 INC A 9710 PREP2: 9720 PUSH AF 9730 LD A,E 9740 CP 8 9750 JR C,PREP3 9760 CP 24 9770 JR NC,PREP3 9780 POP AF 9790 ADD A,4 9800 PUSH AF 9810 PREP3: 9820 POP AF 9830 POP DE 9840 PUSH AF 9850 CALL ESCPOS 9860 POP AF 9870 OUT (152),A 9880 RET 9890 ; ROTINA ACHEND 9900 ACHEND: 9910 LD B,D 9920 LD D,0 9930 LD HL,SPRDES 9940 BIT 3,B 9950 JR Z,SOMA1 9960 SET 4,E 9970 RES 3,B 9980 SOMA1: 9990 ADD HL,DE 10000 INC B 10010 RET 10020 ; ROTINA COMPME 10030 COMPME: 10040 LD HL,(SPREND) 10050 LD DE,32768 10060 OR A 10070 SBC HL,DE 10080 ADD HL,DE 10090 RET NC 10100 JP PEGA-05000H 10110 ; CONSTANTES 10120 SCR2:DEFB 2,226,6,255,3,54,7,15 10130 ENDE:DEFM 'END: -" 10140 FRAC:DEFM 'COR: FUNDO:" 10150 FRAF:DEFB 156,156,156,156,156,156,156,156,156,156,156,156,156,156,156,156,34 10160 DEFB 156,140,142,148,150,156,156,128,156,129,156,130,156,131,156,156,34 10170 DEFB 156,141,143,149,151,156,156,156,156,156,156,156,156,156,156,156,34 10180 DEFB 156,144,146,152,154,156,156,128,130,156,156,156,156,136,138,156,34 10190 DEFB 156,145,147,153,155,156,156,129,131,156,156,156,156,137,139,156,34 10200 DEFB 156,156,156,156,156,156,156,156,156,156,156,156,156,156,156,156,34 10210 FRAV:DEFM 'VEL: PASSO:" 10220 NOMSPR:DEFM 'SPRITER" 10230 ORG 4F00H 10240 ; VARIAVEIS 10250 LINHA:DEFS 1 10260 COLUNA:DEFS 1 10270 SPREND:DEFS 2 10280 SPRAT:DEFS 2 10290 SPRVRA:DEFS 2 10300 CORAT:DEFS 2 10310 FUNDCO:DEFS 1 10320 CORCAR:DEFS 1 10330 SPRITE:DEFS 1 10340 SPRDES:DEFS 32 10350 VALOR1:DEFS 6 10360 AJUDA1:DEFS 8 10370 VELOC:DEFS 1 10380 SPRVAT:DEFS 1 10390 SPRVIN:DEFS 1 10400 SPRVFI:DEFS 1 10410 ENDVIN:DEFS 2 10420 ENDVFI:DEFS 2 10430 VALCOR:DEFS 1 10440 ENDCOR:DEFS 2 10450 ORG 09F00H 10460 DI 10470 XOR A 10480 OUT (212),A 10490 IN A,(168) 10500 LD B,A 10510 RRCA 10520 RRCA 10530 RRCA 10540 RRCA 10550 OR B 10560 OUT (168),A 10570 LD BC,04000H 10580 LD DE,04000H 10590 LD HL,09000H 10600 LDIR 10610 IN A,(168) 10620 AND 240 10630 OUT (168),A 10640 JP 0