Código: Seleccionar todo
0100 .OPT NO LIST
0110 ;
0120 ; SAVE #D8:PUZZLE
0130 ;
0140 ;
0150 ; ASM,,#D8:PUZZLE.COM
0160 ;
0170 ORG = $CB
0180 DES = $CD
0190 IRQ = $0400
0200 STICK = $0278
0210 CHBASE = 756
0220 ?CHBASE = $0407
0230 PMBASE = $0401
0240 PLAYPOS = $0403
0250 POSPLAY = $0404
0260 ;
0270 *= $6500
0280 START
0290 LDA #$00
0300 STA 7966
0310 STA 559
0320 STA IRQ
0330 STA $02C8
0340 RESTART
0350 LDA 53279
0360 CMP #$06
0370 BEQ RESTART
0380 LDA # <DLS
0390 STA $0230
0400 LDA # >DLS
0410 STA $0231
0420 LDA #$00
0430 STA $02C5
0440 LDA #$9F
0450 STA $02C6
0460 JMP CONT
0470 MYNAME
0480 .SBYTE " POR ISMAEL A. GUTIERREZ L. "
0490 CAR
0500 .SBYTE "qwx{6}{7}{8}{9}{10}{11}{12}{13}{14}{15}{123}{20}{21}{22}yz{25}{27}{28}{29}{30}{31}!",34
0510 .SBYTE "#$%&'()*+,v/0rt34567us{125};<=>?@[\]^_abcdefghijklmnop"
0520 DLS
0530 .BYTE "pppp",$46
0540 .WORD DLEND
0550 .BYTE $70
0560 .BYTE $02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02
0570 .BYTE $F0,$82,$82,$82,$02,$02,$82,$02,$41
0580 .WORD DLS
0590 DLEND
0600 .SBYTE " PUZZLITO "
0610 .SBYTE " {145}{146}{151}{146}{151}{146}{151}{146}{151}{146}{133} "
0620 .SBYTE " |"
0630 LETRAS
0640 .SBYTE "A|B|C|{224}|D| "
0650 .SBYTE " {129}{146}{147}{146}{147}{146}{147}{146}{147}{146}{132} "
0660 PAPA
0670 .SBYTE " |E|F|G|H|I| "
0680 .SBYTE " {129}{146}{147}{146}{147}{146}{147}{146}{147}{146}{132} "
0690 .SBYTE " |J|K|L|{128}|M| "
0700 .SBYTE " {129}{146}{147}{146}{147}{146}{147}{146}{147}{146}{132} "
0710 .SBYTE " |N|{144}|O|P|Q| "
0720 .SBYTE " {129}{146}{147}{146}{147}{146}{147}{146}{147}{146}{132} "
0730 .SBYTE " |R|S|T|U|V| "
0740 .SBYTE " {129}{146}{147}{146}{147}{146}{147}{146}{147}{146}{132} "
0750 .SBYTE " |W|X|Y|Z|"
0760 FINLETRAS
0770 .SBYTE " | "
0780 .SBYTE " {154}{146}{152}{146}{152}{146}{152}{146}{152}{146}{131} "
0790 .SBYTE " DE PARCHE NEGRO, PARA RENIX DE RETRONIA"
0800 .SBYTE " ESTE PROGRAMA ES DE DOMINIO PUBLICO "
0810 .SBYTE "QUEDA TERMINANTEMENTE PROHIBIDA SU VENTA"
0820 MINOMBRE
0830 .SBYTE " PULSE START PARA EMPEZAR EL JUEGO "
0840 .SBYTE " {17}{18}{18}{18}{18}{18}{18}{18}{18}{18}{18}{18}{18}{18}{18}{18}{18}{18}{5} "
0850 .SBYTE " |TIEMPO: "
0860 TIEMPO
0870 .SBYTE "OO:OO:OO| "
0880 .SBYTE " {26}{18}{18}{18}{18}{18}{18}{18}{18}{18}{18}{18}{18}{18}{18}{18}{18}{18}{3} "
0890 LETRASII
0900 .SBYTE "A|B|C|{224}|D| "
0910 .SBYTE " {129}{146}{147}{146}{147}{146}{147}{146}{147}{146}{132} "
0920 PAPA2
0930 .SBYTE " |E|F|G|H|I| "
0940 .SBYTE " {129}{146}{147}{146}{147}{146}{147}{146}{147}{146}{132} "
0950 .SBYTE " |J|K|L|{128}|M| "
0960 .SBYTE " {129}{146}{147}{146}{147}{146}{147}{146}{147}{146}{132} "
0970 .SBYTE " |N|{144}|O|P|Q| "
0980 .SBYTE " {129}{146}{147}{146}{147}{146}{147}{146}{147}{146}{132} "
0990 .SBYTE " |R|S|T|U|V| "
1000 .SBYTE " {129}{146}{147}{146}{147}{146}{147}{146}{147}{146}{132} "
1010 .SBYTE " |W|X|Y|Z|"
1020 FINLETRASII
1030 .SBYTE " "
1040 PINTAPLAY
1050 CLC
1060 TYA
1070 PHA
1080 ADC #$04
1090 STA TOP
1100 TXA
1110 PTALOOP
1120 STA (ORG),Y
1130 INY
1140 CPY TOP
1150 BNE PTALOOP
1160 PLA
1170 TAY
1180 RTS
1190 TOP .BYTE 0
1200 PONOMBRE
1210 LDX #$00
1220 LOOPNOMBRE
1230 LDA MYNAME,X
1240 PHA
1250 LDA MINOMBRE,X
1260 STA MYNAME,X
1270 PLA
1280 STA MINOMBRE,X
1290 INX
1300 CPX #40
1310 BNE LOOPNOMBRE
1320 RTS
1330 CHR
1340 PHA
1350 CLC
1360 TXA
1370 ADC #$00
1380 STA DES
1390 TYA
1400 ADC CHBASE
1410 STA DES+1
1420 PLA
1430 TAX
1440 LDY #$00
1450 CHLOOP
1460 LDA CH,X
1470 STA (DES),Y
1480 INY
1490 INX
1500 CPY #$08
1510 BNE CHLOOP
1520 RTS
1530 CHCOL
1540 PHA
1550 LDA 704
1560 EOR #$0F
1570 STA 704
1580 LDA #$10
1590 STA $021A
1600 PLA
1610 RTS
1620 CONT
1630 LDA $D40B
1640 CMP #$01
1650 BNE CONT
1660 LDA #$21
1670 STA 559
1680 LDA # <DLI
1690 STA $0200
1700 LDA # >DLI
1710 STA $0201
1720 LDA #$C0
1730 STA $D40E
1740 JMP CONT2
1750 ?START
1760 LDA 53279
1770 CMP #$06
1780 BNE ?START
1790 JSR PONOMBRE
1800 STA IRQ
1810 SYNC
1820 LDA $D40B
1830 CMP #$01
1840 BNE SYNC
1850 RTS
1860 STACK .BYTE 0,0
1870 GUARDEORG
1880 LDA ORG
1890 STA STACK
1900 LDA ORG+1
1910 STA STACK+1
1920 RTS
1930 SAQUEORG
1940 LDA STACK
1950 STA ORG
1960 LDA STACK+1
1970 STA ORG+1
1980 RTS
1990 MOVE
2000 BEQ UP
2010 CMP #1
2020 BNE ?LEFT
2030 JMP DOWN
2040 ?LEFT
2050 CMP #2
2060 BNE ?RIGHT
2070 JMP LEFT
2080 ?RIGHT
2090 CMP #3
2100 BNE ?NOMOVE
2110 JMP RIGHT
2120 NOMOVE
2130 PLA
2140 PLA
2150 ?NOMOVE
2160 RTS
2170 UP
2180 SEC
2190 LDA ORG
2200 SBC #64
2210 STA DES
2220 LDA ORG+1
2230 SBC #0
2240 STA DES+1
2250 JSR @LEFT
2260 JSR VUPLAY
2270 JMP SCUP
2280 @LEFT
2290 CMP # >LETRAS
2300 BEQ ?UP
2310 BCC NOMOVE
2320 RTS
2330 ?UP
2340 LDA DES
2350 CMP # <LETRAS
2360 BCC NOMOVE
2370 RTS
2380 VUPLAY
2390 JSR GUARDEORG
2400 LDY POSPLAY+2
2410 LDA POSPLAY
2420 STA ORG
2430 LDA POSPLAY+1
2440 STA ORG+1
2450 LDX #$00
2460 JSR PINTAPLAY
2470 SEC
2480 TYA
2490 SBC #$08
2500 STA POSPLAY+2
2510 TAY
2520 LDX #60
2530 JSR PINTAPLAY
2540 JSR SAQUEORG
2550 RTS
2560 SCUP
2570 LDY #$00
2580 LDA (DES),Y
2590 STA (ORG),Y
2600 LDA #$00
2610 STA (DES),Y
2620 LDA DES
2630 STA ORG
2640 LDA DES+1
2650 STA ORG+1
2660 RTS
2670 DOWN
2680 CLC
2690 LDA ORG
2700 ADC #64
2710 STA DES
2720 LDA ORG+1
2730 ADC #0
2740 STA DES+1
2750 JSR @RIGHT
2760 JSR VDOWNPLAY
2770 JMP SCDOWN
2780 @RIGHT
2790 CMP # >FINLETRAS
2800 BEQ ?DOWN
2810 BCC OKDOWN
2820 JMP NOMOVE
2830 ?DOWN
2840 LDA DES
2850 CMP # <FINLETRAS
2860 BEQ OKDOWN
2870 BCC OKDOWN
2880 JMP NOMOVE
2890 OKDOWN
2900 RTS
2910 VDOWNPLAY
2920 JSR GUARDEORG
2930 CLC
2940 LDY POSPLAY+2
2950 LDA POSPLAY
2960 STA ORG
2970 LDA POSPLAY+1
2980 STA ORG+1
2990 LDX #$00
3000 JSR PINTAPLAY
3010 CLC
3020 TYA
3030 ADC #$08
3040 STA POSPLAY+2
3050 TAY
3060 LDX #60
3070 JSR PINTAPLAY
3080 JSR SAQUEORG
3090 RTS
3100 SCDOWN
3110 LDY #$00
3120 LDA (DES),Y
3130 STA (ORG),Y
3140 TYA
3150 STA (DES),Y
3160 LDA DES
3170 STA ORG
3180 LDA DES+1
3190 STA ORG+1
3200 RTS
3210 RIGHT
3220 CLC
3230 LDA ORG
3240 ADC #$02
3250 STA DES
3260 LDA ORG+1
3270 ADC #$00
3280 STA DES+1
3290 JSR @RIGHT
3300 LDA PLAYPOS
3310 CMP #142
3320 BNE OKRIGHT
3330 RTS
3340 OKRIGHT
3350 CLC
3360 LDA PLAYPOS
3370 ADC #8
3380 STA PLAYPOS
3390 STA $D000
3400 JMP SCDOWN
3410 LEFT
3420 SEC
3430 LDA ORG
3440 SBC #$02
3450 STA DES
3460 LDA ORG+1
3470 SBC #$00
3480 STA DES+1
3490 JSR @LEFT
3500 LDA PLAYPOS
3510 CMP #110
3520 BNE OKLEFT
3530 RTS
3540 OKLEFT
3550 SEC
3560 LDA PLAYPOS
3570 SBC #8
3580 STA PLAYPOS
3590 STA $D000
3600 JMP SCUP
3610 DLI
3620 PHA
3630 TXA
3640 PHA
3650 LDA #$FF
3660 STA $D017
3670 LDX IRQ
3680 CPX #$05
3690 BNE NVBI
3700 LDX #$00
3710 STX IRQ
3720 STX 77
3730 LDA #224
3740 STA $D409
3750 NVBI
3760 LDA COLOR,X
3770 STA $D018
3780 STA $D40A
3790 LDA #$2A
3800 STA $D400
3810 INC IRQ
3820 PLA
3830 TAX
3840 PLA
3850 RTI
3860 COLOR
3870 .BYTE $42,$64,$E6,$00,$00
3880 CH
3890 .BYTE 54,108,0,118,118,126,110,0
3900 .BYTE 0,106,138,142,138,138,106,0
3910 .BYTE 0,68,68,68,68,68,119,0
3920 CONT2
3930 LDA CHBASE
3940 STA ORG+1
3950 STA ?CHBASE
3960 SEC
3970 LDA 106
3980 SBC #$08
3990 STA DES+1
4000 STA CHBASE
4010 LDA #$00
4020 STA DES
4030 STA ORG
4040 LDX #$03
4050 LDY #$00
4060 LOOP1
4070 LDA (ORG),Y
4080 STA (DES),Y
4090 INY
4100 BNE LOOP1
4110 INC ORG+1
4120 INC DES+1
4130 DEX
4140 BPL LOOP1
4150 LDA #$00
4160 LDX # <640
4170 LDY # >640
4180 JSR CHR
4190 LDA #$08
4200 LDX # <768
4210 LDY # >768
4220 JSR CHR
4230 LDA #$10
4240 LDX # <512
4250 LDY # >512
4260 JSR CHR
4270 JSR DIBUJO
4280 LDA #$80
4290 STA PMBASE
4300 STA $D407
4310 CLC
4320 LDA #$00
4330 ADC # <515
4340 STA ORG
4350 LDA PMBASE
4360 ADC # >515
4370 STA ORG+1
4380 LDY #$00
4390 TYA
4400 PLOOP
4410 STA (ORG),Y
4420 INY
4430 CPY #200
4440 BNE PLOOP
4450 LDA #142 ; POSICION
4460 STA PLAYPOS
4470 STA $D000
4480 LDA #$00
4490 STA $D008 ; TAMA#0
4500 LDA #$02
4510 STA $D01D ; ON PLAYER
4520 LDA 559
4530 ORA #$08
4540 STA 559 ; ON PLAYER
4550 LDA #$01
4560 STA 623 ; PRIOR
4570 LDA #$0F
4580 STA 704 ; COLOR
4590 LDA # <CHCOL
4600 STA $0228
4610 LDA # >CHCOL
4620 STA $0229
4630 LDA #$10
4640 STA $021A
4650 LDY #69
4660 LDX #60
4670 JSR PINTAPLAY
4680 LDA ORG
4690 STA POSPLAY
4700 LDA ORG+1
4710 STA POSPLAY+1
4720 STY POSPLAY+2
4730 JSR ?START
4740 LDA # <FINLETRAS
4750 STA ORG
4760 LDA # >FINLETRAS
4770 STA ORG+1
4780 LDX #$00
4790 DESORDEN
4800 TXA
4810 PHA
4820 LDA 53770
4830 AND #$03
4840 JSR MOVE
4850 PLA
4860 TAX
4870 INX
4880 BNE DESORDEN
4890 LDA # <TIME
4900 STA $0226
4910 LDA # >TIME
4920 STA $0227
4930 LDA #$3C
4940 STA $0218
4950 LDX #$50
4960 LDA #$03
4970 STA $0342,X
4980 STA $0345,X
4990 LDA #$26
5000 STA $0344,X
5010 LDA #$04
5020 STA $034A,X
5030 LDA #$00
5040 STA $034B,X
5050 JSR $E456
5060 LDA #$01 ; APAGA
5070 STA 731 ; SONIDO TECLADO
5080 LDA # <JOY
5090 STA $0228
5100 LDA # >JOY
5110 STA $0229
5120 GTEC
5130 LDX #$50
5140 LDA #$07
5150 STA $0342,X
5160 LDA # <CH
5170 STA $0344,X
5180 LDA # >CH
5190 STA $0345,X
5200 LDA #$01
5210 STA $0348,X
5220 LDA #$00
5230 STA $0349,X
5240 JSR $E456
5250 OKGTEC
5260 LDA CH
5270 LDX #$00
5280 CMP #'-
5290 BEQ TECMOVE
5300 LDX #$01
5310 CMP #'=
5320 BEQ TECMOVE
5330 LDX #$02
5340 CMP #'+
5350 BEQ TECMOVE
5360 LDX #$03
5370 CMP #'*
5380 BEQ TECMOVE
5390 JMP GTEC
5400 TECMOVE
5410 TXA
5420 JSR MOVE
5430 LDA ORG+1
5440 CMP # >FINLETRAS
5450 BNE GTEC
5460 LDA ORG
5470 CMP # <FINLETRAS
5480 BNE GTEC
5490 JSR GUARDEORG
5500 LDA # <LETRAS
5510 STA ORG
5520 LDA # >LETRAS
5530 STA ORG+1
5540 LDA # <LETRASII
5550 STA DES
5560 LDA # >LETRASII
5570 STA DES+1
5580 LDX #$00
5590 REVISA
5600 LDA (ORG,X)
5610 CMP (DES,X)
5620 BNE NGTEC
5630 INC ORG
5640 BNE NORG
5650 INC ORG+1
5660 NORG
5670 INC DES
5680 BNE NODES
5690 INC DES+1
5700 NODES
5710 LDA ORG+1
5720 CMP # >FINLETRAS
5730 BNE REVISA
5740 LDA ORG
5750 CMP # <FINLETRAS
5760 BNE REVISA
5770 JMP CONTIV
5780 NGTEC
5790 JSR SAQUEORG
5800 JMP GTEC
5810 CONTIV
5820 LDA ?CHBASE
5830 STA CHBASE
5840 LDA # <GANASTE
5850 STA $0230
5860 LDA # >GANASTE
5870 STA $0231
5880 LDA #$00
5890 STA $0218
5900 LDX #$00
5910 TRASTPO
5920 LDA TIEMPO,X
5930 STA ?TIEMPO,X
5940 INX
5950 CPX #$08
5960 BNE TRASTPO
5970 LDA 559
5980 AND #$F6
5990 ORA #$02
6000 STA 559
6010 LDA #$02
6020 STA $D01D ; APAGA PLAYER
6030 LDA #$00
6040 STA $021A
6050 STA 704
6060 STA $D000
6070 LDA #$01
6080 STA $021D
6090 LDA #$80
6100 STA $021C
6110 RAINBOW
6120 LDA #$92
6130 STA $02C8
6140 LDA 53279
6150 CMP #$06
6160 BNE MONOBAILA
6170 JSR RESET
6180 JMP START
6190 MONOBAILA
6200 LDA $021D
6210 BNE RAINBOW
6220 LDA $021C
6230 BNE RAINBOW
6240 JSR $3500
6250 JSR RESET
6260 JMP START
6270 GANASTE
6280 .BYTE "ppppppppppppp",$46
6290 .WORD GANO
6300 .BYTE $70,$06,$70,$02,"pppppppp",$06,$41
6310 .WORD GANASTE
6320 GANO
6330 .SBYTE " FELICITACIONES "
6340 .SBYTE " has ganado "
6350 .SBYTE " TU TIEMPO FUE "
6360 ?TIEMPO
6370 .SBYTE "00:00:00 "
6380 .SBYTE " OTRO JUEGO START "
6390 RESET
6400 LDA # <LETRASII
6410 STA ORG
6420 LDA # >LETRASII
6430 STA ORG+1
6440 LDA # <LETRAS
6450 STA DES
6460 LDA # >LETRAS
6470 STA DES+1
6480 LDX #$00
6490 ?RESET
6500 LDA (ORG,X)
6510 STA (DES,X)
6520 INC ORG
6530 BNE ?NORG
6540 INC ORG+1
6550 ?NORG
6560 INC DES
6570 BNE ?NODES
6580 INC DES+1
6590 ?NODES
6600 LDA DES+1
6610 CMP # >FINLETRAS
6620 BNE ?RESET
6630 LDA DES
6640 CMP # <FINLETRAS
6650 BNE ?RESET
6660 JSR PONOMBRE
6670 LDA #'O-32
6680 STA TIEMPO
6690 STA TIEMPO+1
6700 STA TIEMPO+3
6710 STA TIEMPO+4
6720 STA TIEMPO+6
6730 STA TIEMPO+7
6740 RTS
6750 MAMA
6760 .BYTE "{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{7}{254}{0}{0}{0}{0}{0}{0}{0}{0}{0}8{1}@{0}{0}{0}{0}{0}{0}{0}{0}@{0}0{0}{0}{0}{0}{0}{0}{0}q{0}{0}{8}p{0}{0}{0}{0}{0}{7}{10}{0}{0}{5}{14}{0}{0}{0}{0}{0}{8}{4}{0}{0}{2}{1}{0}{0}{0}{0}{0}{16}${8}{0}{2}P{128}{0}{0}"
6770 .BYTE "{0}{0}{17}{4}{21}UT{8}{128}{0}{0}{0}{0}{17}{8}***{8}{128}{0}{0}{0}{0}{8}HUUU1{0}{0}{0}{0}{0}{6}{8}{128}{0}{0}{6}{0}{0}{0}{0}{0}{1}Q{0}{0}{0}8{0}{0}{0}{0}{0}{0}2{17}{4}@@{0}{0}{0}{0}{0}{0}R{14}{3}{128} {0}{0}{0}{0}{0}{0}{148}{0}x{0}{16}{0}{0}{0}{0}{0}"
6780 .BYTE "{0}{140}{0}t{0}{16}{0}{0}{0}{0}{0}{0}{136}{12}h@{16}{0}{0}{0}{0}{0}{0}v{16}0 {0}{0}{0}{0}{0}{0}A{8}H@0{0}{0}{0}{0}{0}{0}{128}{135}{135}{128},{0}{0}{0}{0}{0}{3}A{0}{0}{0}C{0}{0}{0}{0}{0}{12}>{0}{0}{1}{128}@{0}{0}{0}{0}0{0}{224}{0}{14}{0} {0}{0}{0}{0}@{0}"
6790 .BYTE "{30}{0}p{0}{24}{0}{0}{0}{1}{128}{0}{17}{255}{16}{0}{4}{0}{0}{0}{2}{0}{0}{16}D{16}{0}{2}{0}{0}{0}{4}{0}{0}{16}D{16}{0}{1}{0}{0}{0}{4}{0}{16}{16}T{16}{4}{1}{0}{0}{0}{8}{0} {16}D{16}{2}{0}{128}{0}{0}{8}{0} {8}T {1}{0}{128}{0}{0}{8}{0}{16}{6}D@{1}{0}@{0}{0}{4}{0}{16}{1}{255}"
6800 .BYTE "{0}{0}{128}@{0}{0}{4}{0}{8}{0}{0}{0}{0}* {0}{0}{2}{0}{21}{0}{17}{0}{0}U@{0}{0}{2}{0}* {2}{128}{0}* {0}{0}{1}{0}UP{17}{0}{0}U@{0}{0}{0}@*,{3}{128}{0}* {0}{0}{0}1UCR{128}{0}0@{0}{0}{0}.*{128}b{128}{0}{16}@{0}{0}{0}!U{0}",34
6810 .BYTE "{128}{0}{16}@{0}{0}{0}@*{0}b{140}{0}{16}@{0}{0}{0}@{6}{1}{255}x{0}{9}{128}{0}{0}{0}@{1}{254}{31}{224}{0}{14}{0}{0}{0}{0}{127}{254}{0}{0}{0}{127}x{0}{0}{0}{0}{0}{3}{255}{255}{255}@{0}{0}{0}{0}{0}{0}{2}*%U@{0}{0}{0}{0}{0}{0}{2}*%U@{0}{0}{0}{0}{0}{0}z*%U_"
6820 .BYTE "{0}{0}{0}{0}{0}{1}{143}{255}g{255}q{128}{0}{0}{0}{0}{0}{255}{255}g{255}{255}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}"
6830 .BYTE "{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}"
6840 .BYTE "{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}"
6850 .BYTE "{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}"
6860 .BYTE "{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}"
6870 ;******************
6880 ;* AREA DE DIBUJO *
6890 ;******************
6900 DIBUJO
6910 LDA # <CAR
6920 STA ORG
6930 LDA # >CAR
6940 STA ORG+1
6950 LDA # <PAPA
6960 STA DES
6970 LDA # >PAPA
6980 STA DES+1
6990 JSR COLOCA
7000 LDA # <CAR
7010 STA ORG
7020 LDA # >CAR
7030 STA ORG+1
7040 LDA # <PAPA2
7050 STA DES
7060 LDA # >PAPA2
7070 STA DES+1
7080 JSR COLOCA
7090 JMP NOCOLOCA
7100 COLOCA
7110 LDX #$00
7120 ?DIBUJO
7130 LDY #$00
7140 DB0
7150 LDA (ORG),Y
7160 STA (DES),Y
7170 INY
7180 CPY #11
7190 BNE DB0
7200 CLC
7210 LDA ORG
7220 ADC #11
7230 STA ORG
7240 LDA ORG+1
7250 ADC #0
7260 STA ORG+1
7270 CLC
7280 LDA DES
7290 ADC #32
7300 STA DES
7310 LDA DES+1
7320 ADC #0
7330 STA DES+1
7340 INX
7350 CPX #7
7360 BNE ?DIBUJO
7370 ;******************
7380 ;* AREA DE DIBUJO *
7390 ;******************
7400 NOCOLOCA
7410 LDA # <MAMA
7420 STA ORG
7430 STA STACK
7440 LDA # >MAMA
7450 STA ORG+1
7460 STA STACK+1
7470 LDX #$00
7480 STX TOP
7490 ?LOOP
7500 LDA CAR,X
7510 STA DES
7520 LDA #$00
7530 STA DES+1
7540 ASL DES
7550 ROL DES+1 ;*2
7560 ASL DES
7570 ROL DES+1 ;*4
7580 ASL DES
7590 ROL DES+1 ;*8
7600 CLC ;**********
7610 LDA #$00 ;* *
7620 ADC DES ;* SUMA *
7630 STA DES ;* DE *
7640 LDA CHBASE ;*CARACTER*
7650 ADC DES+1 ;* *
7660 STA DES+1 ;**********
7670 TXA
7680 PHA
7690 LDY #$00
7700 LDX #$00
7710 ?ABC
7720 LDA (ORG,X)
7730 STA (DES),Y
7740 CLC
7750 LDA ORG
7760 ADC #11
7770 STA ORG
7780 LDA ORG+1
7790 ADC #0
7800 STA ORG+1
7810 INY
7820 CPY #$08
7830 BNE ?ABC
7840 INC STACK
7850 BNE FSTACK
7860 INC STACK+1
7870 FSTACK
7880 INC TOP
7890 LDA TOP
7900 CMP #11
7910 BNE ?STACK
7920 CLC
7930 LDA STACK
7940 ADC #77
7950 STA STACK
7960 LDA STACK+1
7970 ADC #0
7980 STA STACK+1
7990 LDA #$00
8000 STA TOP
8010 ?STACK
8020 LDA STACK
8030 STA ORG
8040 LDA STACK+1
8050 STA ORG+1
8060 PLA
8070 TAX
8080 INX
8090 CPX #77
8100 BNE ?LOOP
8110 RTS
8120 TIME
8130 LDA #$3C
8140 STA $0218
8150 LDA TIEMPO+7
8160 CMP #'O-32
8170 BNE SUMTPO7
8180 LDA #'1-32
8190 STA TIEMPO+7
8200 TPEXIT1
8210 RTS
8220 SUMTPO7
8230 INC TIEMPO+7
8240 LDA TIEMPO+7
8250 CMP #'9-31
8260 BNE TPEXIT1
8270 LDA #'O-32
8280 STA TIEMPO+7
8290 LDA TIEMPO+6
8300 CMP #'O-32
8310 BNE SUMTPO6
8320 LDA #'1-32
8330 STA TIEMPO+6
8340 TPEXIT2
8350 RTS
8360 SUMTPO6
8370 INC TIEMPO+6
8380 LDA TIEMPO+6
8390 CMP #'5-31
8400 BNE TPEXIT2
8410 LDA #'O-32
8420 STA TIEMPO+6
8430 LDA TIEMPO+4
8440 CMP #'O-32
8450 BNE SUMTPO4
8460 LDA #'1-32
8470 STA TIEMPO+4
8480 TPEXIT3
8490 RTS
8500 SUMTPO4
8510 INC TIEMPO+4
8520 LDA TIEMPO+4
8530 CMP #'9-31
8540 BNE TPEXIT3
8550 LDA #'O-32
8560 STA TIEMPO+4
8570 LDA TIEMPO+3
8580 CMP #'O-32
8590 BNE SUMTPO3
8600 LDA #'1-32
8610 STA TIEMPO+3
8620 TPEXIT4
8630 RTS
8640 SUMTPO3
8650 INC TIEMPO+3
8660 LDA TIEMPO+3
8670 CMP #'5-31
8680 BNE TPEXIT4
8690 LDA #'O-32
8700 STA TIEMPO+3
8710 LDA TIEMPO+1
8720 CMP #'O-32
8730 BNE SUMTPO1
8740 LDA #'1-32
8750 STA TIEMPO+1
8760 TPEXIT5
8770 RTS
8780 SUMTPO1
8790 INC TIEMPO+1
8800 LDA TIEMPO+1
8810 CMP #'9-31
8820 BNE TPEXIT5
8830 LDA #'O-32
8840 STA TIEMPO+1
8850 LDA TIEMPO
8860 CMP #'O-32
8870 BNE SUMTPO
8880 LDA #'1-32
8890 STA TIEMPO
8900 RTS
8910 SUMTPO
8920 INC TIEMPO
8930 RTS
8940 JOY
8950 JSR CHCOL
8960 LDA STICK
8970 CMP #15
8980 BEQ JOYEXIT
8990 CMP #14
9000 BEQ JOYUP
9010 CMP #13
9020 BEQ JOYDOWN
9030 CMP #7
9040 BEQ JOYRIGHT
9050 CMP #11
9060 BEQ JOYLEFT
9070 JOYEXIT
9080 RTS
9090 JOYUP
9100 LDA #'-
9110 JMP JOYOK
9120 JOYDOWN
9130 LDA #'=
9140 JMP JOYOK
9150 JOYRIGHT
9160 LDA #'*
9170 JMP JOYOK
9180 JOYLEFT
9190 LDA #'+
9200 JOYOK
9210 STA CH
9220 PLA
9230 PLA
9240 LDA # >OKGTEC-1
9250 PHA
9260 LDA # <OKGTEC-1
9270 PHA
9280 RTS
9290 *= $02E0
9300 .WORD START
por lo que veo eras bastante ordenado en programar en MAC/65.