mirror of
https://github.com/antoinevignau/source.git
synced 2025-01-16 06:29:46 +00:00
4d4fb6a665
Some old (WIP) disassemblies and my own source code now available online.
558 lines
13 KiB
Plaintext
558 lines
13 KiB
Plaintext
0010 .LI OFF
|
|
0020 TEMP1 .EQ $F0
|
|
0030 TEMP2 .EQ $F1
|
|
0040 TEMP3 .EQ $F2
|
|
0050 TEMP4 .EQ $FF
|
|
0060 TEMP5 .EQ $94
|
|
0070 SCRPNT1 .EQ $F5
|
|
0080 SCRPNT2 .EQ $F7
|
|
0090 POINTER1 .EQ $F9
|
|
0100 POINTER2 .EQ $FB
|
|
0110 POINTER3 .EQ $FD
|
|
0120 POINTER4 .EQ $EE
|
|
0130 HEIGHT .EQ $ED
|
|
0140 PATINDEX .EQ $EC
|
|
0150 AAMSBYT .EQ $10C0
|
|
0160 AALSBYT .EQ $10E0
|
|
0170 ANTBYT1 .EQ $1000
|
|
0180 ANTBYT2 .EQ $1020
|
|
0190 ANTBYT3 .EQ $1040
|
|
0200 ANTBYT4 .EQ $1060
|
|
0210 ANTXOLD .EQ $D5
|
|
0220 ANTYOLD .EQ $D4
|
|
0230 ANTXXOLD .EQ $D3
|
|
0240 ANTX .EQ $DC
|
|
0250 ANTY .EQ $DB
|
|
0260 ANTXX .EQ $DA
|
|
0270 ANTNUM .EQ $D8
|
|
0280 DESTBYT1 .EQ $1080
|
|
0290 DESTBYT2 .EQ $10A0
|
|
0300 K8 .EQ $AF
|
|
0310 INIT.K8 .EQ $AE
|
|
0320 FOODNUM .EQ $AD
|
|
0330 FOODX .EQ $AC
|
|
0340 FOODY .EQ $AB
|
|
0350 FOODBYT1 .EQ $65D0
|
|
0360 FOODBYT2 .EQ $65D8
|
|
0370 FOODBYT3 .EQ $65E0
|
|
0380 ANTHOLD .EQ $65E8
|
|
0390 BYTE3 .EQ $AA
|
|
0400 WIDTH .EQ $A9
|
|
0410 FOODHEIGHT .EQ $A8
|
|
0420 SWAT .EQ $C5
|
|
0430 MANDIR .EQ $C8
|
|
0440 GRAB.FOOD .EQ $B7
|
|
0450 BYFOOD .EQ $B6
|
|
0460 MANSTATE .EQ $C7
|
|
0470 MANXX .EQ $CA
|
|
0480 SPIDERBYT4 .EQ $4118
|
|
0490 ANTPOSITIONS .EQ $65F0
|
|
0500 ANTPOS .EQ $A7
|
|
0510 ORIENT .EQ $A6
|
|
0520 ANT.ORIENTATIONS .EQ $65F8
|
|
0530 STING.MAN.Z .EQ $600F
|
|
0540 ERASE.ANT.Z .EQ $170F
|
|
0550 PLOT.ANT4.Z .EQ $1703
|
|
0560 PLOT.FOOD.Z .EQ $6959
|
|
0570 CHKBLK.Z .EQ $695C
|
|
0580 PUSH.FOOD.SOUND.Z .EQ $6950
|
|
0590 SET.OFF.SCREEN.Z .EQ $695F
|
|
0600 .OR $6EC0
|
|
0610 .TA $1EC0
|
|
0620 TABLE93 .HS 0C111B210C121B22
|
|
0630 TABLE94 .HS 0808080911131311
|
|
0640 TABLE95 .HS 0400000004000004
|
|
0650 TABLE100 .HS 6666666767686868
|
|
0660 TABLE101 .HS 0080C00090205090
|
|
0670 TABLE102 .HS 4080C048D82050D0
|
|
0680 TABLE103 .HS 2010101818101020
|
|
0690 TABLE104 .HS 0204030303030402
|
|
0700 TABLE105 .HS FF03070A0D101317
|
|
0710 TABLE106 .HS 03070A0D1013171B
|
|
0720 TABLE107 .HS 0303020202020303
|
|
0730 TABLE108 .HS 4000006040202060
|
|
0740 TABLE109 .HS 0000080810101818
|
|
0750 TABLE110 .HS 0201010102010101FEFFFFFFFFFFFFFF0302020203020202FEFFFFFFFFFFFFFF
|
|
0760 TABLE111 .HS 0001020304040506030302010006050404040506000102030303020100060504
|
|
0770 TABLE112 .HS 40111B4888121B88
|
|
0780 TABLE113 .HS 0000000200010101
|
|
0790 TABLE114 .HS FFFFFF01FF010101
|
|
0800 TABLE115 .HS 0C00000C14000015
|
|
0810 TABLE116 .HS 0201012C011A1A2C
|
|
0820 TABLE117 .HS 04080B0E1114181C
|
|
0830 TABLE118 .HS 0004080B0E111418
|
|
0840 TABLE119 .HS 0117172F0117172F
|
|
0850 TABLE120 .HS 020202FF03FFFFFF
|
|
0860 TABLE121 .HS 7008087070E0E070
|
|
0870 TABLE122 .HS 0303020202020303
|
|
0880 TABLE123 .HS 00FFFF0000FFFF00
|
|
0890 TABLE124 .HS 0101010101010101FFFFFFFF00FFFFFF0202020202020202FFFFFFFF00FFFFFF
|
|
0900 TABLE125 .HS 0303032B0219192B
|
|
0910 TABLE126 .HS 10090A0B0C0D0E0F10090A0B0C0D0E0FF8FFFEFDFCFBFAF9F8FFFEFDFCFBFAF9
|
|
0920 TABLE127 .HS 03F8F803FE0808FE
|
|
0930 TABLE128 .HS 030303FE04FEFEFE
|
|
0940 TABLE129 .HS 08090A0B03030303030303090A0B1112131919191919191911121314
|
|
0950 TABLE130 .HS 04040404111213141B1C1D2B2B2B0404041213141B1C1D1E2B2B2B2B
|
|
0960 TABLE131 .HS 0905052508161625
|
|
0970 .OR $7060
|
|
0980 .TA $2060
|
|
0990 JMP VERT.FOOD
|
|
1000 JMP VERT.FOOD2
|
|
1010 JMP UPDATE.VERT.DESTBYTS2
|
|
1020 .BS $03
|
|
1030 VERT.FOOD
|
|
1040 LDX FOODNUM
|
|
1050 LDY TABLE122,X
|
|
1060 LDA TABLE105,X
|
|
1070 STA TEMP1
|
|
1080 LDA TABLE107,X
|
|
1090 VERT.FOOD2
|
|
1100 STA TEMP2
|
|
1110 LDA BYTE3
|
|
1120 BMI .1
|
|
1130 RTS
|
|
1140 .1 LDA TABLE106,X
|
|
1150 TAX
|
|
1160 LDA #$00
|
|
1170 STA TEMP3
|
|
1180 .3 LDA DESTBYT1,X
|
|
1190 AND #$40
|
|
1200 STA ANTHOLD,Y
|
|
1210 BEQ .2
|
|
1220 INC TEMP3
|
|
1230 .2 DEY
|
|
1240 DEX
|
|
1250 CPX TEMP1
|
|
1260 BNE .3
|
|
1270 LDY TEMP3
|
|
1280 CPY TEMP2
|
|
1290 BCS .4
|
|
1300 JSR PLOT.HORIZ.ANTS
|
|
1310 LDA BYTE3
|
|
1320 AND #$FD
|
|
1330 LDX FOODNUM
|
|
1340 STA FOODBYT3,X
|
|
1350 LSR
|
|
1360 BCC .5
|
|
1370 RTS
|
|
1380 .5 JMP PLOT.FOOD.Z
|
|
1390 .4 INC ORIENT
|
|
1400 LDA ORIENT
|
|
1410 LDX FOODNUM
|
|
1420 STA ANT.ORIENTATIONS,X
|
|
1430 LDA BYTE3
|
|
1440 AND #$84
|
|
1450 ORA #$02
|
|
1460 STA BYTE3
|
|
1470 STA FOODBYT3,X
|
|
1480 JSR ERASE.HORIZ.ANTS
|
|
1490 LDX ANTPOS
|
|
1500 DEX
|
|
1510 BPL .6
|
|
1520 LDX #$07
|
|
1530 .6 STX ANTPOS
|
|
1540 JSR UPDATE.HORIZ.ANTBYTS
|
|
1550 LDY FOODNUM
|
|
1560 LDA ANTPOS
|
|
1570 STA ANTPOSITIONS,Y
|
|
1580 BEQ .7
|
|
1590 JSR PLOT.HORIZ.ANTS
|
|
1600 JMP PLOT.FOOD.Z
|
|
1610 .7 JSR PUSH.FOOD.SOUND.Z
|
|
1620 JSR UPDATE.VERT.DESTBYTS
|
|
1630 LDA FOODY
|
|
1640 CLC
|
|
1650 ADC TABLE114,X
|
|
1660 STA FOODY
|
|
1670 STA FOODBYT2,X
|
|
1680 CMP TABLE131,X
|
|
1690 BNE .14
|
|
1700 LDA #$86
|
|
1710 STA FOODBYT3,X
|
|
1720 LDA FOODY
|
|
1730 .14 CLC
|
|
1740 ADC TABLE113,X
|
|
1750 STA TEMP4
|
|
1760 TAX
|
|
1770 LDY FOODX
|
|
1780 JSR CHKBLK.Z
|
|
1790 LDY FOODX
|
|
1800 INY
|
|
1810 LDX TEMP4
|
|
1820 JSR CHKBLK.Z
|
|
1830 LDY FOODX
|
|
1840 INY
|
|
1850 INY
|
|
1860 LDX TEMP4
|
|
1870 JSR CHKBLK.Z
|
|
1880 LDA FOODNUM
|
|
1890 CMP #$02
|
|
1900 BEQ .18
|
|
1910 CMP #$05
|
|
1920 BEQ .18
|
|
1930 LDY FOODX
|
|
1940 INY
|
|
1950 INY
|
|
1960 INY
|
|
1970 LDX TEMP4
|
|
1980 JSR CHKBLK.Z
|
|
1990 .18 JSR MOVE.HORIZ.ANTS.BLOCKS
|
|
2000 JSR PLOT.FOOD.Z
|
|
2010 LDA FOODX
|
|
2020 STA TEMP3
|
|
2030 LDX FOODNUM
|
|
2040 LDA TABLE104,X
|
|
2050 STA WIDTH
|
|
2060 LDA FOODY
|
|
2070 CLC
|
|
2080 ADC TABLE120,X
|
|
2090 JSR ERASE.ROW
|
|
2100 JSR PLOT.HORIZ.ANTS
|
|
2110 LDX FOODNUM
|
|
2120 LDA TABLE116,X
|
|
2130 CMP FOODY
|
|
2140 EXT2
|
|
2150 BEQ .19
|
|
2160 RTS
|
|
2170 .19 LDY TABLE118,X
|
|
2180 LDA TABLE117,X
|
|
2190 STA TEMP1
|
|
2200 LDA TABLE121,X
|
|
2210 .20 STA DESTBYT2,Y
|
|
2220 INY
|
|
2230 CPY TEMP1
|
|
2240 BNE .20
|
|
2250 LDA #$00
|
|
2260 STA FOODBYT3,X
|
|
2270 LDY #$11
|
|
2280 JSR .21
|
|
2290 LDY #$1B
|
|
2300 JSR .21
|
|
2310 JMP SET.OFF.SCREEN.Z
|
|
2320 .21 LDA #$04
|
|
2330 STA WIDTH
|
|
2340 LDA #$00
|
|
2350 .22 STA $1AC0,Y
|
|
2360 STA $1AF0,Y
|
|
2370 STA $1F70,Y
|
|
2380 STA $1FA0,Y
|
|
2390 INY
|
|
2400 DEC WIDTH
|
|
2410 BNE .22
|
|
2420 RTS
|
|
2430 UPDATE.HORIZ.ANTBYTS
|
|
2440 LDX FOODNUM
|
|
2450 LDA FOODY
|
|
2460 CLC
|
|
2470 ADC TABLE120,X
|
|
2480 STA TEMP4
|
|
2490 LDA TABLE122,X
|
|
2500 STA TEMP1
|
|
2510 CLC
|
|
2520 ADC FOODX
|
|
2530 STA TEMP2
|
|
2540 .3 LDX TEMP1
|
|
2550 LDA ANTHOLD,X
|
|
2560 BEQ .1
|
|
2570 JSR .2
|
|
2580 .1 DEC TEMP2
|
|
2590 DEC TEMP1
|
|
2600 LDA TEMP2
|
|
2610 CMP FOODX
|
|
2620 BCS .3
|
|
2630 RTS
|
|
2640 .2 LDX TEMP4
|
|
2650 LDY TEMP2
|
|
2660 LDA AAMSBYT,X
|
|
2670 STA POINTER1+1
|
|
2680 LDA AALSBYT,X
|
|
2690 STA POINTER1
|
|
2700 LDA (POINTER1),Y
|
|
2710 AND #$1F
|
|
2720 TAY
|
|
2730 LDA ANTBYT2,Y
|
|
2740 CLC
|
|
2750 LDX FOODNUM
|
|
2760 ADC TABLE114,X
|
|
2770 STA ANTBYT2,Y
|
|
2780 RTS
|
|
2790 UPDATE.VERT.DESTBYTS
|
|
2800 LDX FOODNUM
|
|
2810 LDA TABLE127,X
|
|
2820 UPDATE.VERT.DESTBYTS2
|
|
2830 STA TEMP1
|
|
2840 LDA TABLE122,X
|
|
2850 STA WIDTH
|
|
2860 LDY TABLE118,X
|
|
2870 .6 JSR .5
|
|
2880 INY
|
|
2890 DEC WIDTH
|
|
2900 BPL .6
|
|
2910 RTS
|
|
2920 .5 LDA DESTBYT2,Y
|
|
2930 CLC
|
|
2940 ADC TEMP1
|
|
2950 STA DESTBYT2,Y
|
|
2960 RTS
|
|
2970 PLOT.HORIZ.ANTS
|
|
2980 LDA #$08
|
|
2990 STA POINTER1+1
|
|
3000 LDX FOODNUM
|
|
3010 LDA TABLE108,X
|
|
3020 STA POINTER1
|
|
3030 LDA ORIENT
|
|
3040 AND #$01
|
|
3050 BEQ .4
|
|
3060 LDA #$10
|
|
3070 CLC
|
|
3080 ADC POINTER1
|
|
3090 STA POINTER1
|
|
3100 .4 LDA #$00
|
|
3110 CPX #$05
|
|
3120 BNE .1
|
|
3130 LDA #$04
|
|
3140 .1 STA ANTXX
|
|
3150 LDA TABLE112,X
|
|
3160 STA ANTX
|
|
3170 LDA FOODY
|
|
3180 ASL
|
|
3190 ASL
|
|
3200 ASL
|
|
3210 STA TEMP1
|
|
3220 LDA ANTPOS
|
|
3230 CLC
|
|
3240 ADC TABLE109,X
|
|
3250 TAY
|
|
3260 LDA TABLE126,Y
|
|
3270 CLC
|
|
3280 ADC TEMP1
|
|
3290 STA ANTY
|
|
3300 LDY #$00
|
|
3310 STY TEMP4
|
|
3320 LDA TABLE104,X
|
|
3330 STA WIDTH
|
|
3340 .3 LDY TEMP4
|
|
3350 LDA ANTHOLD,Y
|
|
3360 BEQ .2
|
|
3370 JSR PLOT.ANT4.Z
|
|
3380 .2 INC ANTX
|
|
3390 LDA ANTXX
|
|
3400 EOR #$04
|
|
3410 STA ANTXX
|
|
3420 INC TEMP4
|
|
3430 DEC WIDTH
|
|
3440 BNE .3
|
|
3450 RTS
|
|
3460 MOVE.HORIZ.ANTS.BLOCKS
|
|
3470 LDX FOODNUM
|
|
3480 LDA FOODY
|
|
3490 CLC
|
|
3500 ADC TABLE128,X
|
|
3510 STA TEMP4
|
|
3520 LDA TABLE122,X
|
|
3530 STA TEMP1
|
|
3540 CLC
|
|
3550 ADC FOODX
|
|
3560 STA TEMP2
|
|
3570 .3 LDX TEMP1
|
|
3580 LDA ANTHOLD,X
|
|
3590 BEQ .1
|
|
3600 JSR .4
|
|
3610 BNE .2
|
|
3620 .1 JSR .5
|
|
3630 .2 DEC TEMP2
|
|
3640 DEC TEMP1
|
|
3650 LDA TEMP2
|
|
3660 CMP FOODX
|
|
3670 BCS .3
|
|
3680 RTS
|
|
3690 .5 LDX FOODNUM
|
|
3700 LDA TEMP4
|
|
3710 CLC
|
|
3720 ADC TABLE114,X
|
|
3730 TAX
|
|
3740 LDY TEMP2
|
|
3750 LDA AAMSBYT,X
|
|
3760 STA POINTER1+1
|
|
3770 LDA AALSBYT,X
|
|
3780 STA POINTER1
|
|
3790 LDA (POINTER1),Y
|
|
3800 AND #$C0
|
|
3810 STA (POINTER1),Y
|
|
3820 RTS
|
|
3830 .4 LDY TEMP2
|
|
3840 LDX TEMP4
|
|
3850 LDA AAMSBYT,X
|
|
3860 STA POINTER1+1
|
|
3870 LDA AALSBYT,X
|
|
3880 STA POINTER1
|
|
3890 LDA (POINTER1),Y
|
|
3900 AND #$3F
|
|
3910 STA TEMP3
|
|
3920 LDA (POINTER1),Y
|
|
3930 AND #$C0
|
|
3940 STA (POINTER1),Y
|
|
3950 TXA
|
|
3960 LDX FOODNUM
|
|
3970 CLC
|
|
3980 ADC TABLE114,X
|
|
3990 TAX
|
|
4000 LDA AAMSBYT,X
|
|
4010 STA POINTER1+1
|
|
4020 LDA AALSBYT,X
|
|
4030 STA POINTER1
|
|
4040 LDA (POINTER1),Y
|
|
4050 AND #$C0
|
|
4060 ORA TEMP3
|
|
4070 STA (POINTER1),Y
|
|
4080 RTS
|
|
4090 ERASE.HORIZ.ANTS
|
|
4100 LDX FOODNUM
|
|
4110 LDA #$00
|
|
4120 CPX #$05
|
|
4130 BNE .1
|
|
4140 LDA #$04
|
|
4150 .1 STA ANTXXOLD
|
|
4160 LDA TABLE112,X
|
|
4170 STA ANTXOLD
|
|
4180 LDA FOODY
|
|
4190 ASL
|
|
4200 ASL
|
|
4210 ASL
|
|
4220 STA TEMP1
|
|
4230 LDA ANTPOS
|
|
4240 CLC
|
|
4250 ADC TABLE109,X
|
|
4260 TAY
|
|
4270 LDA TABLE126,Y
|
|
4280 CLC
|
|
4290 ADC TEMP1
|
|
4300 STA ANTYOLD
|
|
4310 STA TEMP4
|
|
4320 LDY #$00
|
|
4330 STY TEMP1
|
|
4340 LDA TABLE104,X
|
|
4350 STA WIDTH
|
|
4360 .3 LDY TEMP1
|
|
4370 LDA ANTHOLD,Y
|
|
4380 BEQ .2
|
|
4390 LDA TEMP4
|
|
4400 STA ANTYOLD
|
|
4410 JSR ERASE.ANT.Z
|
|
4420 .2 INC ANTXOLD
|
|
4430 LDA ANTXXOLD
|
|
4440 EOR #$04
|
|
4450 STA ANTXXOLD
|
|
4460 INC TEMP1
|
|
4470 DEC WIDTH
|
|
4480 BNE .3
|
|
4490 .LI ON
|
|
4500 RTS
|
|
4510 .LI OFF
|
|
4520 .OR $5F40
|
|
4530 .TA $2F40
|
|
4540 ERASE.ROW
|
|
4550 LDY #$08
|
|
4560 STY HEIGHT
|
|
4570 ASL
|
|
4580 ASL
|
|
4590 ASL
|
|
4600 STA TEMP2
|
|
4610 CMP #$70
|
|
4620 BCS .4
|
|
4630 CMP #$38
|
|
4640 BCC .5
|
|
4650 LDA #$10
|
|
4660 BNE .3
|
|
4670 .4 CMP #$B0
|
|
4680 BCS .14
|
|
4690 LDA #$F0
|
|
4700 .3 STA TEMP4
|
|
4710 .2 LDA WIDTH
|
|
4720 STA TEMP1
|
|
4730 LDY TEMP2
|
|
4740 LDA (SCRPNT1),Y
|
|
4750 STA POINTER1+1
|
|
4760 CLC
|
|
4770 ADC #$60
|
|
4780 STA POINTER4+1
|
|
4790 LDA (SCRPNT2),Y
|
|
4800 STA POINTER1
|
|
4810 STA POINTER4
|
|
4820 LDA TEMP2
|
|
4830 CLC
|
|
4840 ADC TEMP4
|
|
4850 TAY
|
|
4860 LDA (SCRPNT1),Y
|
|
4870 CLC
|
|
4880 ADC #$60
|
|
4890 STA POINTER2+1
|
|
4900 LDA (SCRPNT2),Y
|
|
4910 STA POINTER2
|
|
4920 LDY TEMP3
|
|
4930 .1 LDA (POINTER2),Y
|
|
4940 STA (POINTER1),Y
|
|
4950 STA (POINTER4),Y
|
|
4960 INY
|
|
4970 DEC TEMP1
|
|
4980 BNE .1
|
|
4990 INC TEMP2
|
|
5000 DEC HEIGHT
|
|
5010 BNE .2
|
|
5020 RTS
|
|
5030 .6 LDA #$80
|
|
5040 BNE .12
|
|
5050 .5 CMP #$20
|
|
5060 BCC .6
|
|
5070 .14 CMP #$C8
|
|
5080 BCS .6
|
|
5090 LDA #$00
|
|
5100 .12 STA TEMP4
|
|
5110 STA TEMP5
|
|
5120 .8 LDA TEMP3
|
|
5130 CMP #$12
|
|
5140 BEQ .7
|
|
5150 LDA #$55
|
|
5160 LDY #$2A
|
|
5170 JSR .13
|
|
5180 .9 LDA WIDTH
|
|
5190 STA TEMP1
|
|
5200 LDY TEMP2
|
|
5210 LDA (SCRPNT1),Y
|
|
5220 STA POINTER1+1
|
|
5230 CLC
|
|
5240 ADC #$60
|
|
5250 STA POINTER4+1
|
|
5260 LDA (SCRPNT2),Y
|
|
5270 STA POINTER1
|
|
5280 STA POINTER4
|
|
5290 LDY TEMP3
|
|
5300 .11 LDA TEMP4
|
|
5310 STA (POINTER1),Y
|
|
5320 STA (POINTER4),Y
|
|
5330 INY
|
|
5340 DEC TEMP1
|
|
5350 BEQ .10
|
|
5360 LDA TEMP5
|
|
5370 STA (POINTER1),Y
|
|
5380 STA (POINTER4),Y
|
|
5390 INY
|
|
5400 DEC TEMP1
|
|
5410 BNE .11
|
|
5420 .10 INC TEMP2
|
|
5430 DEC HEIGHT
|
|
5440 BNE .9
|
|
5450 RTS
|
|
5460 .7 LDA #$2A
|
|
5470 LDY #$55
|
|
5480 JSR .13
|
|
5490 BNE .9
|
|
5500 .13 ORA TEMP4
|
|
5510 STA TEMP4
|
|
5520 TYA
|
|
5530 ORA TEMP5
|
|
5540 STA TEMP5
|
|
5550 .LI ON
|
|
5560 RTS
|
|
5570 .LI OFF
|