first commit
commit
c624f88b88
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,102 @@
|
|||
*
|
||||
* AUDITS
|
||||
*
|
||||
* AUDITS ARE HANDLED BY AUDITS NUMBER OFF OF THE BASE
|
||||
* OF THE AUDIT REGION
|
||||
*
|
||||
* IF "CHUTES" VALUE IS CHANGED....EXTRA VALUES MUST
|
||||
* BE PUT IN THIS TABLE. (AND ADJUSTMENT TABLE OF COURSE)
|
||||
*
|
||||
AUDNULL equ 0
|
||||
AUDLCOIN equ 1 ;TOTAL COINS IN LEFT CHUTE
|
||||
AUDCCOIN equ 2 ;Center
|
||||
AUDRCOIN equ 3 ;Right
|
||||
AUDXCOIN equ 4 ;4TH CHUTE
|
||||
AUDSERV equ 5 ;SERVICE CREDITS
|
||||
AUDPAIDC equ 13
|
||||
*
|
||||
*
|
||||
FRST_C equ AUDLCOIN ;FOR CLEARING COINS
|
||||
LAST_C equ AUDPAIDC
|
||||
*
|
||||
AUD1STRT equ 14
|
||||
AUD2STRT equ 15
|
||||
AUD1CONT equ 16
|
||||
AUD2CONT equ 17
|
||||
AUD1TIME equ 18 ;5 SECOND CHUNKS. (700 YEARS WORTH)
|
||||
AUD2TIME equ 19 ;5 SECOND CHUNKS.
|
||||
AUDEXTRA equ 20 ;Extra men
|
||||
|
||||
AUDBEGIN equ 21 ;Started at beginning
|
||||
AUDTAUNT1 equ 22 ;Dictator taunt
|
||||
AUDBOSS1 equ 23 ;Reached orcus
|
||||
AUDBOSS1SC equ 24 ;Starts/continues during orcus
|
||||
AUDROAD1 equ 25 ;Reached road 1
|
||||
AUDROAD1SC equ 26 ;Starts/continues during road
|
||||
AUDAIRPORT equ 27 ;Reached airport
|
||||
AUDROAD2 equ 28 ;Reached road 2
|
||||
AUDREACTOR equ 29 ;Reached chemical plant reactor
|
||||
AUDBOSSEND equ 30 ;Reached end boss
|
||||
AUDRPDOME equ 31 ;Reached pleasure dome
|
||||
AUDEPDOME equ 32 ;Entered pleasure dome
|
||||
AUDLOCK equ 33 ;Watchdog lockup
|
||||
AUDSECURITY EQU 34 ;Clicked on security chip breech
|
||||
|
||||
AUDPWWARPSO equ 36 ;
|
||||
AUDPWWARPOK equ 37 ;
|
||||
AUDWARPA equ 38 ;
|
||||
AUDWARPT equ 39 ;
|
||||
AUDWARPC equ 40 ;
|
||||
AUDECHAIRPL equ 41 ;
|
||||
AUDECHAIRSV equ 42 ;
|
||||
AUDDEATHTOT equ 43 ;
|
||||
AUDKEYTOT equ 44 ;
|
||||
AUDFULLGAMES equ 45 ;
|
||||
|
||||
AUDAUTO equ 48 ;AUTO CYCLE PASSES
|
||||
AUDSTAT equ 49 ;CMOS GAME STATE
|
||||
AUDTRAP equ 50 ;UNUSED TRAP INSTRUCTION
|
||||
AUDSURV equ 51 ;SURVIVED LOCKUPS
|
||||
AUDBONE equ 52 ;GAMES NOT FINISHED
|
||||
AUDHANG equ 53 ;WHEN CODE HANGS UP IN A LOOP
|
||||
*
|
||||
LAST_AUDIT equ 54
|
||||
*
|
||||
FRSTGAUD equ AUD1STRT
|
||||
LASTGAUD equ LAST_AUDIT
|
||||
*
|
||||
* ADJUSTMENTS ARE ALL LONG WORDS REFERENCED BY ADJUSTMENT
|
||||
* NUMBER.
|
||||
*
|
||||
ADJNULL equ 0
|
||||
ADJPRICE equ 1 ;MASTER PRICING
|
||||
ADJLMULT equ 2
|
||||
ADJC1 equ ADJLMULT ;FIRST COIN TABLE ADJUSTMENT
|
||||
ADJCMULT equ 3
|
||||
ADJRMULT equ 4
|
||||
ADJXMULT equ 5
|
||||
ADJCUNIT equ 6
|
||||
ADJBUNIT equ 7
|
||||
ADJMUNIT equ 8
|
||||
ADJCDIV equ 9
|
||||
ADJFRAC equ 10 ;NON ZERO SAYS SHOW HALF CREDITS
|
||||
ADJCX equ ADJFRAC ;LAST COIN TABLE ADJUSTMENT
|
||||
ADJCSTRT equ 11 ;CREDITS REQUIRED TO START
|
||||
ADJCCONT equ 12 ;CREDITS REQUIRED TO CONTINUE
|
||||
ADJDIFF equ 13
|
||||
ADJHSRES equ 14
|
||||
ADJLIVES equ 15
|
||||
ADJMUSIC equ 16
|
||||
ADJMAXC equ 17 ;MAXIMUM CREDITS
|
||||
ADJFREPL equ 18 ;NON-ZERO MEANS FREE PLAY
|
||||
ADJVIRGIN equ 19 ;NON-ZERO MEANS 1ST 8 OF COIN ADJUST BLOCK UNTOUCHED
|
||||
**********************************;ADJVIRGIN IS MAINTAINED...BUT NOT USED
|
||||
ADJGORE equ 20
|
||||
ADJ1ST6 equ 21 ;NON-ZERO MEANS 1ST 6 UNTOUCHED.
|
||||
ADJNOCPAG equ 22
|
||||
ADJCNTR equ 23 ;COIN COUNTER MODE
|
||||
LAST_ADJUST equ 23
|
||||
|
||||
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,87 @@
|
|||
*
|
||||
* AUDITS
|
||||
*
|
||||
* AUDITS ARE HANDLED BY AUDITS NUMBER OFF OF THE BASE
|
||||
* OF THE AUDIT REGION
|
||||
*
|
||||
*
|
||||
* IF "CHUTES" VALUE IS CHANGED....EXTRA VALUES MUST
|
||||
* BE PUT IN THIS TABLE. (AND ADJUSTMENT TABLE OF COURSE)
|
||||
*
|
||||
AUDNULL EQU 0
|
||||
AUDLCOIN EQU 1 ;TOTAL COINS IN LEFT CHUTE
|
||||
AUDRCOIN EQU 2 ;RIGHT CHUTE
|
||||
AUDCCOIN EQU 3 ;CENTER CHUTE
|
||||
AUDXCOIN EQU 4 ;4TH CHUTE
|
||||
AUDSERV EQU 5 ;SERVICE CREDITS
|
||||
AUDPAIDC EQU 13
|
||||
*
|
||||
*
|
||||
FRST_C EQU AUDLCOIN ;FOR CLEARING COINS
|
||||
LAST_C EQU AUDPAIDC
|
||||
*
|
||||
AUD1STRT EQU 14
|
||||
AUD2STRT EQU 15
|
||||
AUD1CONT EQU 16
|
||||
AUD2CONT EQU 17
|
||||
AUD1TIME EQU 18 ;5 SECOND CHUNKS. (700 YEARS WORTH)
|
||||
AUD2TIME EQU 19 ;5 SECOND CHUNKS.
|
||||
AUDEXTRA EQU 20
|
||||
|
||||
AUDWAVE2 EQU 21 ;REACHED WAVE 2 OF CIRCUIT 1
|
||||
AUDMUTOID EQU 22 ;REACHED MUTOID MAN
|
||||
AUDCIRC2 EQU 23 ;REACHED CIRCUIT 2 WAVE 1
|
||||
AUDSCAR EQU 24 ;REACHED SCAR FACE
|
||||
AUDCIRC3 EQU 25 ;REACHED CIRCUIT 3 WAVE 1
|
||||
AUDTEMPL EQU 26 ;REACHED TEMPLE WAVES
|
||||
AUDSNAKES EQU 27 ;REACHED SNAKE BOSS MONSTERS
|
||||
AUDEND EQU 28 ;REACHED END OF GAME
|
||||
AUDLOCK EQU 29 ;WATCHDOG LOCKUP
|
||||
AUDWAVE1 EQU 30 ;WALKED INTO WAVE 1 CIRCUIT 1!
|
||||
|
||||
AUDAUTO EQU 32 ;AUTO CYCLE PASSES
|
||||
AUDSTAT EQU 33 ;CMOS GAME STATE
|
||||
AUDTRAP EQU 38 ;UNUSED TRAP INSTRUCTION
|
||||
AUDSURV EQU 39 ;SURVIVED LOCKUPS
|
||||
AUDBONE EQU 40 ;GAMES NOT FINISHED
|
||||
*
|
||||
LAST_AUDIT EQU 40
|
||||
*
|
||||
FRSTGAUD EQU AUD1STRT
|
||||
LASTGAUD EQU LAST_AUDIT
|
||||
*
|
||||
* ADJUSTMENTS ARE ALL LONG WORDS REFERENCED BY ADJUSTMENT
|
||||
* NUMBER.
|
||||
*
|
||||
ADJNULL EQU 0
|
||||
ADJPRICE EQU 1 ;MASTER PRICING
|
||||
ADJLMULT EQU 2
|
||||
ADJC1 EQU ADJLMULT ;FIRST COIN TABLE ADJUSTMENT
|
||||
ADJRMULT EQU 3
|
||||
ADJCMULT EQU 4
|
||||
ADJXMULT EQU 5
|
||||
ADJCUNIT EQU 6
|
||||
ADJBUNIT EQU 7
|
||||
ADJMUNIT EQU 8
|
||||
ADJCDIV EQU 9
|
||||
ADJFRAC EQU 10 ;NON ZERO SAYS SHOW HALF CREDITS
|
||||
ADJCX EQU ADJFRAC ;LAST COIN TABLE ADJUSTMENT
|
||||
ADJCSTRT EQU 11 ;CREDITS REQUIRED TO START
|
||||
ADJCCONT EQU 12 ;CREDITS REQUIRED TO CONTINUE
|
||||
ADJDIFF EQU 13
|
||||
ADJHSRES EQU 14
|
||||
ADJLIVES EQU 15
|
||||
ADJMUSIC EQU 16
|
||||
ADJMAXC EQU 17 ;MAXIMUM CREDITS
|
||||
ADJFREPL EQU 18 ;NON-ZERO MEANS FREE PLAY
|
||||
ADJVIRGIN EQU 19 ;NON-ZERO MEANS 1ST 8 OF COIN ADJUST BLOCK UNTOUCHTED
|
||||
**********************************;ADJVIRGIN IS MAINTAINED...BUT NOT USED
|
||||
ADJGORE EQU 20
|
||||
ADJ1ST6 EQU 21 ;NON-ZERO MEANS 1ST 6 UNTOUCHED.
|
||||
ADJNOCPAG EQU 22
|
||||
ADJCNTR EQU 23 ;COIN COUNTER MODE
|
||||
LAST_ADJUST EQU 23
|
||||
|
||||
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,407 @@
|
|||
.OPTION B,D,L,T
|
||||
.include "BGNDTBL.GLO"
|
||||
.DATA
|
||||
GRNDP: ;PAL #2
|
||||
.word 64 ;pal size
|
||||
.word >0,>0,>C63,>1084,>10A3,>10C3,>14A5,>18C6,>14E4,>1904
|
||||
.word >2108,>1924,>1564,>1184,>842,>1063,>1083,>1482,>1483,>14A3
|
||||
.word >18A3,>1484,>14A4,>18A4,>18A5,>841,>480,>1880,>20C0,>C0
|
||||
.word >100,>2900,>A0,>120,>8E1,>E0,>140,>9A2,>DA2,>19A6
|
||||
.word >DE1,>E63,>1440,>1460,>1860,>1C80,>18A0,>1CA0,>294A,>318C
|
||||
.word >7E60,>7F20,>84,>C6,>E7,>108,>129,>16C,>7CA3,>0
|
||||
.word >0,>0,>0,>0
|
||||
HNGRP: ;PAL #5
|
||||
.word 64 ;pal size
|
||||
.word >0,>0,>800,>820,>C40,>2400,>C60,>1060,>1480,>14A0
|
||||
.word >18A0,>18C0,>1CC0,>20E0,>2100,>2500,>843,>1481,>18A2,>1CC3
|
||||
.word >C64,>20E4,>2505,>40A,>14A6,>C0F,>1CE8,>252A,>3000,>2D20
|
||||
.word >2926,>2D60,>2D47,>3168,>2D6C,>3800,>3560,>4400,>6400,>3589
|
||||
.word >35A0,>39AA,>45C0,>3DCB,>41EC,>460D,>4A2E,>4211,>4E4F,>5270
|
||||
.word >1084,>14A5,>3160,>45E0,>4600,>39CE,>0,>0,>0,>0
|
||||
.word >0,>0,>0,>0
|
||||
UFLP: ;PAL #7
|
||||
.word 43 ;pal size
|
||||
.word >0,>2,>842,>443,>844,>864,>C65,>C85,>1084,>10A6
|
||||
.word >14C7,>18E8,>7E00,>7E60,>7EC0,>7F20,>860,>801,>820,>802
|
||||
.word >822,>C02,>C22,>C03,>C04,>1002,>1003,>1004,>1043,>1403
|
||||
.word >1404,>1804,>1824,>1005,>1405,>1406,>1806,>1807,>1C05,>1C25
|
||||
.word >2005,>1C07,>1C08
|
||||
CANDB: ;PAL #8
|
||||
.word 64 ;pal size
|
||||
.word >0,>820,>840,>C40,>1040,>1060,>1460,>84,>A5,>1480
|
||||
.word >14A0,>1880,>C6,>E7,>18C6,>108,>109,>129,>16C,>1CE
|
||||
.word >252,>1CA0,>20A1,>20C0,>28C0,>2CE0,>3100,>3942,>4185,>45A7
|
||||
.word >522B,>7E60,>0,>0,>0,>0,>0,>0,>0,>0
|
||||
.word >0,>0,>0,>0,>0,>0,>0,>0,>0,>0
|
||||
.word >0,>0,>0,>0,>0,>0,>0,>0,>0,>0
|
||||
.word >0,>0,>0,>7FFF
|
||||
JEEPP2: ;PAL #11
|
||||
.word 64 ;pal size
|
||||
.word >0,>0,>40,>80,>A1,>C1,>101,>121,>162,>182
|
||||
.word >1C2,>1E3,>223,>243,>283,>2E4,>0,>842,>1084,>18C6
|
||||
.word >2108,>294A,>318C,>39CE,>4210,>4E73,>6318,>739C,>7FF7,>60
|
||||
.word >A1,>121,>4C1,>521,>D81,>DE1,>E02,>16A3,>10A4,>1906
|
||||
.word >C63,>3C00,>6C43,>5400,>5ECA,>6306,>5ACE,>4E6B,>ED,>171
|
||||
.word >237,>0,>0,>0,>0,>0,>0,>0,>0,>0
|
||||
.word >0,>0,>0,>7FFF
|
||||
|
||||
BBPALS:
|
||||
.long ARPRTPL
|
||||
.long DESRTPL
|
||||
.long GRNDP
|
||||
.long FRTCLS
|
||||
.long DGP1
|
||||
.long HNGRP
|
||||
.long PPLP
|
||||
.long UFLP
|
||||
.long CANDB
|
||||
.long BLUJET
|
||||
.long BULLET
|
||||
.long JEEPP2
|
||||
.long DGP3
|
||||
.long SPYDERP1
|
||||
.long FNDP
|
||||
.long JEEPP
|
||||
JETPAL: ;PAL #4
|
||||
.word 64 ;pal size
|
||||
.word >0,>0,>1420,>1880,>1C00,>2000,>1CA0,>20A0,>20C0,>2400
|
||||
.word >24C0,>24E0,>2800,>2C00,>28E0,>2900,>2D00,>1,>421,>463
|
||||
.word >C63,>1483,>14A2,>1084,>14A5,>10C6,>1CE7,>1D08,>156C,>2529
|
||||
.word >294A,>2D6B,>29CF,>3000,>3400,>3100,>3120,>3520,>3540,>3800
|
||||
.word >3841,>3920,>3940,>3C00,>3D40,>3D60,>4000,>4160,>4C21,>318C
|
||||
.word >35AD,>4180,>4580,>4980,>4DA0,>59E0,>39CE,>31F0,>3DEF,>3A32
|
||||
.word >4210,>4631,>4E73,>5EF7
|
||||
|
||||
ZZPALS:
|
||||
.long BULLET
|
||||
.long DESRTPL
|
||||
.long GRNDP
|
||||
.long FRTCLS
|
||||
.long JETPAL
|
||||
.long HNGRP
|
||||
.long PPLP
|
||||
.long GRNJET
|
||||
PITP: ;PAL #0
|
||||
.word 2 ;pal size
|
||||
.word >0,>1861
|
||||
|
||||
AAPALS:
|
||||
.long PITP
|
||||
.long DESRTPL
|
||||
.long FRTCLS
|
||||
.long GRNDP
|
||||
.long PPLP
|
||||
.long BULLET
|
||||
.long JEEPP2
|
||||
|
||||
XXPALS:
|
||||
.long PITP
|
||||
.long DESRTPL
|
||||
.long JEEPP2
|
||||
.long GRNDP
|
||||
.long PPLP
|
||||
.long BULLET
|
||||
BACK1: ;PAL #0
|
||||
.word 32 ;pal size
|
||||
.word >0,>0,>1,>2,>403,>404,>405,>406,>407,>808
|
||||
.word >809,>80A,>82B,>82C,>C2D,>C2E,>C2F,>C30,>C31,>1032
|
||||
.word >1033,>1034,>1035,>1036,>1437,>1438,>1439,>143A,>143B,>183D
|
||||
.word >183E,>185F
|
||||
carn3: ;PAL #1
|
||||
.word 61 ;pal size
|
||||
.word >0,>0,>18C6,>6000,>64C6,>7880,>78A0,>78C0,>78E0,>7900
|
||||
.word >7920,>7940,>7946,>7960,>7980,>79A0,>79C0,>79E0,>7A00,>7986
|
||||
.word >79E6,>7A20,>7A40,>7A60,>7A80,>7AA0,>7AC0,>7AE0,>7B00,>7B20
|
||||
.word >7B40,>7B60,>7AC6,>7B0B,>7B6B,>7B6F,>7C80,>7CA0,>7CC0,>7CE0
|
||||
.word >7D20,>7D46,>7D60,>7D80,>7DC0,>7DE0,>7E00,>7E20,>7DC6,>7E40
|
||||
.word >7E60,>7E80,>7EA0,>7EC0,>7EE0,>7F00,>7F20,>7F40,>7F60,>7EC6
|
||||
.word >7F4C
|
||||
|
||||
PGPALS:
|
||||
.long BACK1
|
||||
.long carn3
|
||||
.long BIGPL1
|
||||
.long GUNSP1
|
||||
CRMP: ;PAL #0
|
||||
.word 64 ;pal size
|
||||
.word >0,>0,>400,>842,>1440,>C63,>1084,>10A5,>1484,>14A5
|
||||
.word >18A5,>160,>201,>221,>241,>2A1,>18C6,>1CC6,>18E7,>1CE7
|
||||
.word >1CE8,>1016,>2108,>2129,>2509,>2529,>292A,>294A,>A75,>2D6B
|
||||
.word >316C,>2D8B,>318C,>31AC,>31AD,>3569,>358D,>35AD,>39AD,>39CE
|
||||
.word >39EE,>6D44,>39EF,>3DEF,>3E0F,>4210,>4631,>4A52,>4E73,>5273
|
||||
.word >4E93,>5294,>52B4,>56B5,>5AD6,>5EF7,>34C0,>7C00,>1000,>2820
|
||||
.word >3C60,>5840,>3C60,>2820
|
||||
IRAQPAL: ;PAL #1
|
||||
.word 64 ;pal size
|
||||
.word >0,>914,>FF2C,>34E1,>4565,>4DA7,>5A2B,>7EC0,>7F6A,>7FD2
|
||||
.word >6A90,>1155,>1998,>2E3D,>7FE0,>7300,>6680,>5DA0,>0,>7F76
|
||||
.word >7713,>6AB0,>5E6D,>520A,>4186,>2CE1,>2080,>842,>1084,>18C6
|
||||
.word >2108,>294A,>318C,>3DEF,>4A52,>56B5,>6739,>77BD,>11E3,>2285
|
||||
.word >1F04,>3842,>4884,>58C6,>76EA,>6EA8,>6666,>1104,>1164,>11E4
|
||||
.word >2108,>2108,>2108,>2108,>2108,>2108,>2108,>2108,>2108,>2108
|
||||
.word >2108,>2108,>2108,>2108
|
||||
GENP: ;PAL #3
|
||||
.word 64 ;pal size
|
||||
.word >0,>420,>840,>841,>860,>861,>C60,>C81,>1081,>10A1
|
||||
.word >1480,>1C60,>14C2,>18E2,>1084,>10A2,>14C3,>18C3,>445,>14A5
|
||||
.word >889,>18C6,>14E3,>18E3,>1903,>1D03,>1D04,>1D05,>1D24,>2481
|
||||
.word >28C0,>20C1,>2124,>2125,>2145,>2545,>2565,>2944,>2945,>2108
|
||||
.word >2126,>2546,>294A,>2566,>2966,>2567,>2987,>2C81,>30A2,>3100
|
||||
.word >34C3,>2D87,>2D88,>31A9,>31AB,>35CB,>3CE3,>3CE4,>61A1,>4926
|
||||
.word >3DEE,>5547,>59AB,>0
|
||||
TECPAL: ;PAL #4
|
||||
.word 64 ;pal size
|
||||
.word >0,>842,>443,>464,>466,>467,>866,>886,>887,>129
|
||||
.word >889,>4AA,>8AA,>8CB,>4ED,>90E,>92F,>1CE,>273,>319
|
||||
.word >1C80,>20A0,>2882,>28C0,>2CE0,>30E0,>30A3,>3100,>3CC3,>3500
|
||||
.word >3D20,>4520,>4140,>4960,>5580,>5980,>69C0,>6DE0,>7E00,>C89
|
||||
.word >CAA,>CAB,>4505,>4D26,>5568,>5989,>5DCB,>CCD,>D51,>10CE
|
||||
.word >10EF,>10F0,>1111,>1112,>1533,>1556,>1577,>159A,>31D7,>768F
|
||||
.word >6A0E,>6F7B,>0,>0
|
||||
|
||||
LMPBPALS:
|
||||
.long CRMP
|
||||
.long IRAQPAL
|
||||
.long STATICP
|
||||
.long GENP
|
||||
.long TECPAL
|
||||
.long MAPP
|
||||
.long DOMEP
|
||||
CRMPZ: ;PAL #0
|
||||
.word 64 ;pal size
|
||||
.word >0,>0,>400,>821,>1C20,>C41,>1462,>1482,>1C62,>1C82
|
||||
.word >1C82,>140,>1E0,>1E0,>200,>260,>1CA3,>24A3,>1CC3,>24C3
|
||||
.word >24C4,>140B,>2CE4,>2D04,>2CE4,>2D04,>3505,>3525,>A2B,>3D45
|
||||
.word >3D46,>3D65,>3D66,>3D86,>3D86,>4544,>4566,>4586,>4D86,>4DA7
|
||||
.word >4DC7,>7D22,>4DC7,>4DC7,>4DE7,>55E8,>5DE9,>5E09,>662A,>6E2A
|
||||
.word >664A,>6E4A,>6E6A,>6E6B,>768B,>7EAC,>44A0,>7C00,>1400,>3400
|
||||
.word >4C40,>7420,>4C40,>3400
|
||||
CLDSZ: ;PAL #1
|
||||
.word 64 ;pal size
|
||||
.word >0,>0,>1485,>14A7,>14C7,>14C8,>14E8,>1CC8,>1CE8,>1CE9
|
||||
.word >24C7,>24E9,>1D09,>2509,>250B,>252B,>252C,>252C,>250B,>252B
|
||||
.word >252C,>2D2C,>252C,>252E,>254C,>254E,>2D2C,>2D4C,>2D2E,>2D4E
|
||||
.word >2D4F,>354E,>354F,>2D6E,>2D6F,>356E,>356F,>358F,>3570,>3590
|
||||
.word >356F,>3590,>35B0,>35B2,>3DB2,>35D2,>3DD2,>3DD3,>45D3,>3DF2
|
||||
.word >3DF3,>45F3,>4613,>45F5,>4615,>4615,>4636,>4635,>4636,>4656
|
||||
.word >4657,>4E56,>4E57,>4E77
|
||||
BGFRTP: ;PAL #3
|
||||
.word 64 ;pal size
|
||||
.word >0,>421,>821,>81,>A2,>C41,>1061,>1461,>1481,>1C81
|
||||
.word >18A2,>1CA2,>C3,>E4,>105,>1CC3,>20C3,>20E4,>24E4,>2504
|
||||
.word >2505,>2525,>127,>189,>1CC,>2906,>2926,>2947,>2CC1,>2D04
|
||||
.word >2D26,>2D47,>3168,>3589,>35AA,>39AA,>3DAA,>7621,>3DCB,>41EC
|
||||
.word >45ED,>460D,>4A0D,>4A2D,>4A2E,>4E2E,>4A4F,>4E4F,>4E70,>5250
|
||||
.word >5270,>5670,>5291,>5691,>56B1,>5A91,>5AB2,>6B36,>6400,>19D
|
||||
.word >C0,>100,>1C0,>3C0
|
||||
PROFP2: ;PAL #4
|
||||
.word 64 ;pal size
|
||||
.word >0,>0,>866,>14A5,>C87,>10A9,>10CB,>2108,>2528,>252B
|
||||
.word >290A,>294A,>2D6B,>10CC,>10EC,>14CC,>14EC,>18EC,>14EE,>1510
|
||||
.word >1910,>1930,>294C,>316C,>318C,>356D,>358C,>35AD,>1D2F,>2151
|
||||
.word >2571,>2DB1,>38C4,>40E4,>4127,>39CE,>3DCE,>39CF,>39D0,>39EF
|
||||
.word >3DEF,>3DF0,>420F,>4210,>3DF1,>4631,>4A52,>4E73,>4A75,>5294
|
||||
.word >5295,>56B5,>56D7,>5AD6,>5AD7,>5EF7,>5EF8,>6318,>6739,>6B5A
|
||||
.word >6F7B,>739C,>77BD,>7BDE
|
||||
PROFP: ;PAL #6
|
||||
.word 64 ;pal size
|
||||
.word >0,>0,>840,>C40,>1060,>1460,>1480,>1880,>1881,>18A0
|
||||
.word >1C60,>1CA0,>20C0,>24A0,>28E0,>2D00,>3520,>842,>1CA3,>24A2
|
||||
.word >2882,>2CA3,>30A3,>34C4,>38C4,>38E4,>3CE4,>40E4,>34E5,>3CE5
|
||||
.word >40E5,>4105,>1D2D,>3D48,>4400,>4420,>4505,>4506,>4526,>4527
|
||||
.word >4820,>4926,>4947,>4948,>4C00,>4D47,>6441,>49A0,>4D68,>5168
|
||||
.word >4D69,>5169,>5189,>5589,>55AA,>59AA,>55AB,>59CB,>5DCC,>5DEC
|
||||
.word >5E0D,>620D,>5A51,>6318
|
||||
|
||||
TPALS:
|
||||
.long CRMPZ
|
||||
.long CLDSZ
|
||||
.long FRTCLS
|
||||
.long BGFRTP
|
||||
.long PROFP2
|
||||
.long GOOBP
|
||||
.long PROFP
|
||||
CLDS8: ;PAL #1
|
||||
.word 64 ;pal size
|
||||
.word >0,>0,>CA4,>10C5,>10E5,>10E6,>1106,>14E6,>1506,>1507
|
||||
.word >18E5,>1907,>1527,>1927,>1928,>1948,>1949,>1969,>1D28,>1D48
|
||||
.word >1D49,>2149,>1D69,>1D6A,>1D89,>1D8A,>2169,>2189,>216A,>218A
|
||||
.word >218B,>258A,>258B,>21AA,>21AB,>25AA,>25AB,>25CB,>25AC,>25CC
|
||||
.word >29AB,>29CC,>29EC,>29ED,>2DED,>2A0D,>2E0D,>2E0E,>320E,>2E2D
|
||||
.word >2E2E,>322E,>324E,>322F,>324F,>364F,>3270,>366F,>3670,>3690
|
||||
.word >3691,>3A90,>3A91,>3AB1
|
||||
|
||||
OBPALS:
|
||||
.long CRMP
|
||||
.long CLDS8
|
||||
.long FRTCLS
|
||||
.long BGFRTP
|
||||
.long SOLDB
|
||||
.long TECPAL
|
||||
.long GENP
|
||||
.long STATICP
|
||||
.long GOOBP
|
||||
|
||||
RTPALS:
|
||||
.long FRTCLS
|
||||
.long GRNDP
|
||||
.long REACTR
|
||||
.long BULLET
|
||||
.long GOOBP
|
||||
.long PPLP
|
||||
.long CANDB
|
||||
.long UFLP
|
||||
CHUTE2: ;PAL #7
|
||||
.word 24 ;pal size
|
||||
.word >0,>0,>840,>C60,>1080,>14A1,>24A0,>28C0,>18E2,>18C6
|
||||
.word >1D03,>1D23,>1D24,>2124,>2144,>2145,>2545,>2108,>2566,>2966
|
||||
.word >2987,>294A,>318C,>35EE
|
||||
FNDP3: ;PAL #15
|
||||
.word 20 ;pal size
|
||||
.word >0,>1400,>842,>2108,>2800,>3000,>3000,>3800,>3C00,>4000
|
||||
.word >39AF,>4800,>5400,>6000,>6800,>7000,>7800,>7D49,>5294,>7FFF
|
||||
|
||||
LDPALS:
|
||||
.long PITP
|
||||
.long DESRTPL
|
||||
.long STUFFP
|
||||
.long DISHPAL
|
||||
.long GOOBP
|
||||
.long CANDB
|
||||
.long GRNDP
|
||||
.long CHUTE2
|
||||
.long BULLET
|
||||
.long PPLP
|
||||
.long DGP1
|
||||
.long DGP3
|
||||
.long DGP2
|
||||
.long FRTCLS
|
||||
.long FNDP
|
||||
.long FNDP3
|
||||
.long MTNKP
|
||||
frtcls2: ;PAL #0
|
||||
.word 64 ;pal size
|
||||
.word >400,>400,>C00,>C00,>C00,>1420,>1420,>2440,>1440,>2C80
|
||||
.word >1480,>2480,>2CA0,>34A0,>34C0,>34C0,>3CE0,>34E0,>34E0,>4500
|
||||
.word >4D40,>3D00,>4540,>4D40,>4D40,>5560,>6580,>4D60,>6DE0,>65E0
|
||||
.word >6E00,>7E00,>7E20,>6E00,>7620,>7E80,>7E40,>7E80,>7EA0,>7EE0
|
||||
.word >7F20,>7F20,>2440,>3CE0,>4D40,>7600,>7EE0,>4C0,>720,>7C00
|
||||
.word >7C00,>7C00,>400,>400,>400,>7C00,>7EC0,>7F20,>480,>500
|
||||
.word >600,>6C0,>720,>4F20
|
||||
|
||||
PALS:
|
||||
.long frtcls2
|
||||
.long GRNDP
|
||||
.long REACTR
|
||||
.long BULLET
|
||||
.long GOOBP
|
||||
.long PPLP
|
||||
.long CANDB
|
||||
.long UFLP
|
||||
.long FRTCLS
|
||||
|
||||
PPALS:
|
||||
.long CRMP
|
||||
.long FRTCLS
|
||||
.long STATICP
|
||||
.long GENP
|
||||
.long TECPAL
|
||||
|
||||
APALS:
|
||||
.long FRTCLS
|
||||
.long GRNDP
|
||||
.long UFLP
|
||||
.long CANDB
|
||||
.long PPLP
|
||||
.long JEEPP2
|
||||
|
||||
DBPALS:
|
||||
.long PITP
|
||||
.long DESRTPL
|
||||
.long PPLP
|
||||
.long BULLET
|
||||
.long GRNDP
|
||||
UPAL: ;PAL #0
|
||||
.word 64 ;pal size
|
||||
.word >0,>420,>822,>841,>843,>864,>C62,>1083,>14A4,>C45
|
||||
.word >1066,>1467,>1087,>18C5,>1088,>1889,>14A9,>18CB,>1CE6,>2107
|
||||
.word >2528,>1CAB,>1CED,>20CD,>2949,>2D6A,>318B,>35AC,>39CD,>20EE
|
||||
.word >24EE,>24EF,>2510,>2511,>2911,>2D33,>3173,>3556,>3598,>41BC
|
||||
.word >4630,>4E72,>6317,>77BC,>7D60,>7E00,>7E60,>7EC0,>7F20,>0
|
||||
.word >A0,>C0,>E0,>100,>120,>160,>1A0,>200,>2C0,>360
|
||||
.word >3E0,>300,>220,>160
|
||||
|
||||
DCPALS:
|
||||
.long UPAL
|
||||
.long FRTCLS
|
||||
.long GRNDP
|
||||
.long UFLP
|
||||
.long PPLP
|
||||
.long SPYDERP1
|
||||
|
||||
DDPALS:
|
||||
.long UPAL
|
||||
.long UFLP
|
||||
.long GRNDP
|
||||
.long PPLP
|
||||
.long FRTCLS
|
||||
.long CANDB
|
||||
.long BULLET
|
||||
|
||||
DJPALS:
|
||||
.long FRTCLS
|
||||
.long GRNDP
|
||||
.long UFLP
|
||||
.long GOOBP
|
||||
.long CANDB
|
||||
|
||||
DHPALS:
|
||||
.long PITP
|
||||
.long DESRTPL
|
||||
.long PPLP
|
||||
.long GRNDP
|
||||
.long BULLET
|
||||
HI3: ;PAL #0
|
||||
.word 64 ;pal size
|
||||
.word >0,>400,>C42,>160,>201,>221,>241,>2A1,>1CC6,>1416
|
||||
.word >2508,>2D2A,>2D4A,>2D6B,>2D8B,>358C,>35AD,>3DCE,>4610,>4E73
|
||||
.word >56B5,>5EF7,>2C80,>34E0,>3D00,>4540,>4580,>4DC0,>5600,>5E40
|
||||
.word >66A0,>7720,>7F40,>1484,>7FED,>1400,>2C00,>3400,>4400,>5C00
|
||||
.word >7C00,>0,>4400,>8,>6600,>300,>0,>0,>0,>0
|
||||
.word >0,>0,>600,>0,>0,>0,>0,>0,>4,>0
|
||||
.word >0,>0,>0,>7FFF
|
||||
|
||||
OREPALS:
|
||||
.long HI3
|
||||
.long BIGPL1
|
||||
.long BIGPL2
|
||||
.long STUFFP
|
||||
.long FRTCLS
|
||||
ENTER1: ;PAL #9
|
||||
.word 31 ;pal size
|
||||
.word >0,>0,>1,>2,>403,>404,>405,>406,>407,>808
|
||||
.word >809,>80A,>82B,>82C,>C2D,>C2E,>C2F,>C30,>C31,>1032
|
||||
.word >1033,>1034,>1035,>1036,>1437,>1438,>1439,>143A,>143B,>183D
|
||||
.word >185F
|
||||
TC2: ;PAL #11
|
||||
.word 13 ;pal size
|
||||
.word >0,>0,>4,>404,>405,>826,>827,>C28,>C29,>102A
|
||||
.word >102B,>104C,>104E
|
||||
|
||||
RPALS:
|
||||
.long CRMP
|
||||
.long CLDS8
|
||||
.long FRTCLS
|
||||
.long BGFRTP
|
||||
.long PROFP2
|
||||
.long TECPAL
|
||||
.long GENP
|
||||
.long PROFP
|
||||
.long STATICP
|
||||
.long ENTER1
|
||||
.long DUXPAL
|
||||
.long TC2
|
||||
|
||||
ROOMPALS:
|
||||
.long CHAIRP
|
||||
.long MTRP
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,85 @@
|
|||
/* CARN linker command file */
|
||||
-e INIT_PROG /* entry point of program */
|
||||
-f 0xFFFF /* fill unspecified memory with value */
|
||||
-o d:CARN.out /* specify output file */
|
||||
-m d:CARN.map /* map file */
|
||||
-s /* Kill the symbol table */
|
||||
NDSP1.OBJ /*IMAGE HANDLER*/
|
||||
RAM.OBJ /*RAM ALLOCATIONS*/
|
||||
UTIL.OBJ /*UTILITIES*/
|
||||
PALL.OBJ /*PALETTE ROUTINES*/
|
||||
MPROC.OBJ /*MULTI-TASKER*/
|
||||
BAKGND.OBJ /*BACKGROUND GENERATOR*/
|
||||
BGNDTBL.OBJ /*BACKGROUND TABLES*/
|
||||
BGNDPAL.OBJ /*BACKGROUND PALETTES*/
|
||||
IMGTBL.OBJ /*IMAGE STUB*/
|
||||
IMGPAL.OBJ /*IMAGE PALETTES GENERATED BY LOADIMG*/
|
||||
MAIN.OBJ /*INITIALIZATION AND INTERRUPTS*/
|
||||
CARN.OBJ /*FIRST GAME MODULE*/
|
||||
SCORE.OBJ
|
||||
SHOTS.OBJ
|
||||
COLL2.OBJ
|
||||
SOUNDS.OBJ
|
||||
PATCH.OBJ
|
||||
TEXT.OBJ
|
||||
WAVES.OBJ
|
||||
ATTRACT.OBJ
|
||||
ADJUST.OBJ
|
||||
AUDIT.OBJ
|
||||
TEST.OBJ
|
||||
CHUNKS.OBJ
|
||||
ICONS.OBJ
|
||||
NEWHULK.OBJ
|
||||
HELPER.OBJ
|
||||
T72.OBJ
|
||||
ARAB.OBJ
|
||||
LAYER.OBJ
|
||||
TRIG.OBJ
|
||||
FIEND.OBJ
|
||||
HSTD.OBJ
|
||||
MINE.OBJ
|
||||
DIAG.OBJ
|
||||
MENU.OBJ
|
||||
RACKUP.OBJ
|
||||
SHAWN.OBJ
|
||||
RBOSS.OBJ
|
||||
MEMORY /* set up memory for sdb board */
|
||||
{
|
||||
SCRATCH : org = 0x01000000, len = 0x100000
|
||||
ROM : org = 0xFFC00000, len = 0x300000
|
||||
ROM2 : org = 0xFFFF6F00, len = 0x8D00
|
||||
TRAP31 : org = 0xFFFFFC00, len = 0x400
|
||||
IROM : org = 0x02000000, len = 0x400000
|
||||
}
|
||||
|
||||
SECTIONS /* linker sections directive */
|
||||
{
|
||||
VECTORS: {} > TRAP31
|
||||
IMAGES: {} > IROM
|
||||
GROUP:
|
||||
{
|
||||
shit: {}
|
||||
SHIT: {}
|
||||
} > ROM2
|
||||
GROUP:
|
||||
{
|
||||
FIXED: {}
|
||||
OFIXED: {}
|
||||
NFIXED: {}
|
||||
.BSS: {}
|
||||
.bss: {}
|
||||
SYSWORK: {}
|
||||
} > SCRATCH
|
||||
|
||||
GROUP:
|
||||
{
|
||||
.text: {}
|
||||
.TEXT: {}
|
||||
.data: {}
|
||||
.DATA: {}
|
||||
img_tbl: {}
|
||||
} > ROM
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
.struct disp.equ
|
||||
.STRUCT MPROC.EQU
|
||||
.STRUCT GAME.EQU
|
||||
.STRUCT SYS.INC
|
||||
.km !f1 \ @J"HOME"@K*ACTIVE\ PROC\ PLINK"CR"
|
||||
.km !f2 \ @J"HOME"@K*OBJLST\ OBJ\ OLINK"CR"
|
||||
.km !f3 \ @J"HOME"@KPALRAM\ PAL\ *"CR"
|
||||
.km !f4 \ @J"HOME"@K*BAKLST\ OBJ\ OLINK"CR"
|
||||
.km !f5 \ @J"HOME"@K*OFREE\ OBJ\ OLINK"CR"
|
||||
|
||||
;**** display SOURCE when cursor on longword in struct or mem display ****
|
||||
.km S @M"CR"S"CR"
|
||||
;**** display WORDS when cursor on longword in struct or mem display ****
|
||||
.km W @M"CR"W"CR"
|
||||
; this is a comment
|
||||
.wp SAVESCR,UHW
|
||||
.WP STATUS,UHW
|
||||
.wp CPULEFT,UDW
|
||||
.wp CPUAVG,UDW
|
||||
.wp START,UHW
|
||||
|
|
@ -0,0 +1,303 @@
|
|||
.FILE 'CHUNKS.ASM'
|
||||
.TITLE 'CHUNK/EXPLOSION CODE'
|
||||
.WIDTH 132
|
||||
.OPTION B,D,L,T
|
||||
.MNOLIST
|
||||
|
||||
;
|
||||
; INITIATED: SEPT 2,1990
|
||||
; MODIFIED: !
|
||||
; SOFTWARE: MARK TURMELL
|
||||
;
|
||||
; COPYRIGHT (C) 1989 WILLIAMS ELECTRONICS GAMES, INC.
|
||||
;
|
||||
;
|
||||
; GET THE SYSTEM STUFF
|
||||
|
||||
.INCLUDE "MPROC.EQU" ;MPROC EQUATES
|
||||
.INCLUDE "DISP.EQU" ;DISPLAY PROC. EQUATES
|
||||
.INCLUDE "\VIDEO\SYS\SYS.INC" ;Z UNIT SYSTEM EQUATES
|
||||
.INCLUDE "\VIDEO\SYS\MACROS.HDR" ;MACROS DEFINITIONS
|
||||
.INCLUDE "IMGTBL.GLO"
|
||||
.INCLUDE "GAME.EQU"
|
||||
|
||||
;
|
||||
;SOUNDS EXTERNAL
|
||||
;
|
||||
;
|
||||
;SYMBOLS EXTERNALLY DEFINED
|
||||
;
|
||||
.REF RANGRAND,GETFPAL,RANDPER,FRANIM,GPALOBJ,GETCPNT
|
||||
;
|
||||
;SYMBOLS DEFINED IN THIS FILE
|
||||
;
|
||||
.DEF BLOOD_LST2,ALL_CHUNKS,CHUNK_OBJ,BEGIN_CHNK,PCTOT
|
||||
.DEF BLOOD_LST1,PCINFO,LASTPC
|
||||
|
||||
;
|
||||
;UNINITIALIZED RAM DEFINITIONS
|
||||
;
|
||||
.BSS LASTPC,32
|
||||
.BSS PCTOT,16
|
||||
.BSS PCINFO,(32+16+32)*PCSMAX
|
||||
.BSS GENERIC_INIT,7*32-16
|
||||
|
||||
;
|
||||
;EQUATES FOR THIS FILE
|
||||
;
|
||||
;FOR STARTING A CHUNK OBJECT
|
||||
XVAL .EQU GENERIC_INIT
|
||||
YVAL .EQU XVAL+32
|
||||
IMG .EQU YVAL+32
|
||||
ZPOS .EQU IMG+32
|
||||
FLAGS .EQU ZPOS+16
|
||||
ID .EQU FLAGS+16
|
||||
XVEL .EQU ID+16
|
||||
YVEL .EQU XVEL+32
|
||||
;
|
||||
|
||||
.TEXT
|
||||
|
||||
CHUNK_OBJ:
|
||||
;A9=XVEL
|
||||
;A10=YVEL FOR ADDING IN
|
||||
;A11=LIST FOR FRANIM, FIRST ENTRY IS IMG TO START, 0 ENDS LIST
|
||||
;PROCESS FOR CHUNKING CRATE, ETC
|
||||
;A8=PNTR TO OBJECT TO BLOW UP
|
||||
;PLACE INTO PCINFO TABLE FOR UPDATING BY THE PC DRIVER (ALL_CHUNKS) PROCESS
|
||||
MOVE @PCTOT,A0
|
||||
CMPI 40,A0
|
||||
JRGE DONE
|
||||
CALLA GETCPNT
|
||||
MOVX A1,A0
|
||||
SLL 16,A0
|
||||
;A0=PROPER X,A1=Y
|
||||
MOVE A9,A6
|
||||
MOVE A10,A7
|
||||
MOVE *A11+,A2,L
|
||||
MOVI 293,A3 ;240
|
||||
MOVI DMAWNZ|M_NOCOLL,A4
|
||||
MOVI CLSDEAD,A5 ;I WILL KILL MYSELF
|
||||
CALLR BEGIN_CHNK
|
||||
MOVE *A13(PDATA),A0
|
||||
JRZ NOCH
|
||||
;CHANGE TO OTHER PAL
|
||||
MOVE A0,*A8(OPAL),W
|
||||
NOCH
|
||||
;NOW INSERT THIS PNTR INTO CHUNK DRIVER
|
||||
MOVE @LASTPC,A0,L
|
||||
MOVE A8,*A0+,L
|
||||
MOVK 1,A1
|
||||
MOVE A1,*A0+,W ;INIT TICK CNT
|
||||
MOVE *A11+,A9,L ;LIST FOR THIS CHUNK
|
||||
MOVE A9,*A0+,L
|
||||
MOVE A0,@LASTPC,L
|
||||
|
||||
;WILL NOW GENERATE X CHUNKS FOR CRATE DEATH
|
||||
AGAIN MOVE *A11+,A9,L
|
||||
JRZ DONE
|
||||
MOVE @PCTOT,A2
|
||||
INC A2
|
||||
MOVE A2,@PCTOT
|
||||
CALLR NEWV2 ;GET VELOCITIES FOR THIS CHUNK
|
||||
CALLR QUICK_CHNK
|
||||
MOVE *A13(PDATA),A0
|
||||
JRZ NOCH2
|
||||
;CHANGE TO OTHER PAL
|
||||
MOVE A0,*A8(OPAL),W
|
||||
NOCH2 MOVE @LASTPC,A0,L
|
||||
MOVE A8,*A0+,L
|
||||
MOVK 1,A1
|
||||
MOVE A1,*A0+,W ;INIT TICK CNT
|
||||
MOVE A9,*A0+,L
|
||||
MOVE A0,@LASTPC,L
|
||||
JRUC AGAIN
|
||||
DONE DIE
|
||||
NEWV MOVI -09000H,B0
|
||||
MOVI 09000H,B1
|
||||
CALLA RANGRAND
|
||||
ADD A6,A0
|
||||
MOVE A0,@XVEL,L
|
||||
MOVI -07000H,B0
|
||||
MOVI 07000H,B1
|
||||
CALLA RANGRAND
|
||||
ADD A7,A0
|
||||
MOVE A0,@YVEL,L
|
||||
RETS
|
||||
|
||||
NEWV2 MOVI -0E000H,B0
|
||||
MOVI 0E000H,B1
|
||||
CALLA RANGRAND
|
||||
ADD A6,A0
|
||||
MOVE A0,@XVEL,L
|
||||
MOVI -0C000H,B0
|
||||
MOVI 0C000H,B1
|
||||
CALLA RANGRAND
|
||||
ADD A7,A0
|
||||
MOVE A0,@YVEL,L
|
||||
RETS
|
||||
|
||||
|
||||
ALL_CHUNKS:
|
||||
;PROCESS WHICH HANDLES ALL CHUNKS
|
||||
CLR A0
|
||||
MOVI PCINFO,A1
|
||||
MOVI PCSMAX,A2
|
||||
PCL1: MOVE A0,*A1+,L
|
||||
MOVE A0,*A1+,W
|
||||
MOVE A0,*A1+,L
|
||||
DSJS A2,PCL1
|
||||
|
||||
MOVI PCINFO,A0
|
||||
MOVE A0,@LASTPC,L
|
||||
|
||||
PCTP: MOVI PCINFO,A3
|
||||
PCTP1:
|
||||
MOVE *A3+,A8,L
|
||||
JREQ DN
|
||||
;PC PNTR FOUND
|
||||
MOVE *A3,A0,W ;GET SLP TIME
|
||||
DEC A0
|
||||
MOVE A0,*A3+,W
|
||||
JRGT PCOUTA ;JRNE
|
||||
;READY FOR ANIMATION ON THIS PIECE
|
||||
MOVE *A3,A9,L ;GET FRANIM LIST
|
||||
MOVK 4,A1
|
||||
JSRP FRANIM ;PIG ON CYCLES!
|
||||
JRC YDONE ;GET RID OF PIECE
|
||||
MOVE A9,*A3,L
|
||||
; SUBK 16,A3
|
||||
MOVE A0,*A3(-16),W ;RESTORE SLEEP TIME
|
||||
; ADDK 16,A3
|
||||
PCOUTA:
|
||||
ADDK 32,A3
|
||||
JRUC PCTP1
|
||||
|
||||
YDONE: SUBI 48,A3
|
||||
;ONLY NECESSARY IF ONLY PIECE IN LIST?
|
||||
CLR A0
|
||||
MOVE A0,*A3,L
|
||||
MOVE A8,A0
|
||||
CALLA DELOBJ
|
||||
MOVE @PCTOT,A0
|
||||
DEC A0
|
||||
MOVE A0,@PCTOT
|
||||
JRNN YD
|
||||
CLR A0
|
||||
MOVE A0,@PCTOT
|
||||
YD
|
||||
MOVE @LASTPC,A0,L
|
||||
SUBI 80,A0
|
||||
MOVE A0,@LASTPC,L
|
||||
MOVE *A0,A5,L
|
||||
JREQ DN ;BR=ONLY 1 PC IN LIST AND IT DIED!
|
||||
|
||||
MOVE *A0+,A1,L
|
||||
MOVE *A0+,A2,W
|
||||
MOVE *A0,A5,L
|
||||
CLR A4
|
||||
SUBI 48,A0
|
||||
MOVE A4,*A0,L ;ZERO OUT PREVIOUS LAST ENTRY
|
||||
MOVE A1,*A3+,L
|
||||
MOVE A2,*A3+,W
|
||||
MOVE A5,*A3+,L
|
||||
JRUC PCTP1
|
||||
|
||||
DN: SLEEPK 1
|
||||
JRUC PCTP
|
||||
BEGIN_CHNK:
|
||||
MOVE A0,@XVAL,L
|
||||
MOVE A1,@YVAL,L
|
||||
MOVE A2,@IMG,L
|
||||
MOVE A3,@ZPOS
|
||||
MOVE A4,@FLAGS
|
||||
MOVE A5,@ID
|
||||
MOVE A6,@XVEL,L
|
||||
MOVE A7,@YVEL,L
|
||||
QUICK_CHNK:
|
||||
MOVI GENERIC_INIT,A14 ;DEFINE OBJECT PARAMS
|
||||
CALLA GPALOBJ ;ALLOCATE A COLOR PALETTE
|
||||
CALLA STFOBJ ;STUFF OBJECT DATA
|
||||
MOVE A13,*A0(OPLINK),L
|
||||
CALLA INSOBJ ;INSERT OBJECT INTO LIST
|
||||
MOVE A0,A8
|
||||
RETS
|
||||
|
||||
*****************************************************************************
|
||||
;
|
||||
; FRANIM LISTS OF CHUNKS/BLOOD
|
||||
;
|
||||
*****************************************************************************
|
||||
BLOOD_LST1:
|
||||
;BLOODY CHUNK
|
||||
.LONG rblot1
|
||||
.WORD NEWPALET|20
|
||||
.LONG RDBOOM ;ONUP1
|
||||
.LONG rblot2
|
||||
.WORD 5
|
||||
.LONG rblot3
|
||||
.WORD 5
|
||||
.LONG rblot4
|
||||
.WORD 5
|
||||
.LONG rblot5
|
||||
.WORD 5
|
||||
.LONG rblot6
|
||||
.WORD 5
|
||||
.LONG rblot7
|
||||
.WORD 5
|
||||
.LONG rblot8
|
||||
.WORD 4
|
||||
.LONG rblot9
|
||||
.WORD 4
|
||||
.LONG rblot10
|
||||
.WORD 5
|
||||
.LONG 0
|
||||
BLOOD_LST2:
|
||||
;OVAL BLOOD EXPLOSION
|
||||
.LONG bldclt1
|
||||
.WORD NEWPALET|1
|
||||
.LONG RDBOOM ;ONUP1
|
||||
.LONG bldclt2
|
||||
.WORD 6
|
||||
.LONG bldclt3
|
||||
.WORD 6
|
||||
.LONG bldclt4
|
||||
.WORD 6
|
||||
.LONG bldclt5
|
||||
.WORD 6
|
||||
.LONG bldclt6
|
||||
.WORD 6
|
||||
.LONG bldclt7
|
||||
.WORD 6
|
||||
.LONG bldclt8
|
||||
.WORD 7
|
||||
.LONG 0
|
||||
BLOOD_LST3:
|
||||
;BLOODY CHUNK
|
||||
.LONG rblot1
|
||||
.WORD NEWPALET|40
|
||||
.LONG RDBOOM ;ONUP1
|
||||
.LONG rblot2
|
||||
.WORD 5
|
||||
.LONG rblot3
|
||||
.WORD 6
|
||||
.LONG rblot4
|
||||
.WORD 6
|
||||
.LONG rblot5
|
||||
.WORD 5
|
||||
.LONG rblot6
|
||||
.WORD 5
|
||||
.LONG rblot7
|
||||
.WORD 5
|
||||
.LONG rblot8
|
||||
.WORD 4
|
||||
.LONG rblot9
|
||||
.WORD 4
|
||||
.LONG rblot10
|
||||
.WORD 5
|
||||
.LONG 0
|
||||
*****************************************************************************
|
||||
|
||||
.END
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,6 @@
|
|||
;
|
||||
|
||||
.END
|
||||
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,107 @@
|
|||
.GLOBAL OFREE,OBJLST,BAKLST,DISPLAYON,SCRNRELV
|
||||
.GLOBAL OINIT,GETOBJ,INSOBJ,DELOBJ,DELOBJA8
|
||||
.GLOBAL DISPLAY,ADDOBJ,KILOBJ,OBJSTR,DISPH
|
||||
.GLOBAL ANI,STFOBJ,MAKOBJ,SCRTST,SCRTSTG,GSAGOF,GANIOF,DELBOBJ
|
||||
.GLOBAL YZSORT,INSBOBJ,KILBOBJ
|
||||
.GLOBAL PULLBOBJ,PULLOBJ,GANISAG,ADJSTWTL,CLIPOBJ
|
||||
.GLOBAL QDMA,QDMAN,GETANIXY
|
||||
.GLOBAL SCROLLX,SCROLLY,WORLDTLX,WORLDTLY,WORLDTL
|
||||
.GLOBAL SCRNTL,SCRNLR,GSCRNREL,ADJNEWTL
|
||||
.GLOBAL OBJSTR,SCREENTL,SCREENLR,QSYNC,DMAQCUR,DMAQCNT
|
||||
.GLOBAL BOTQ0CNT,BOTQ1CNT,TOPQ0CNT,TOPQ1CNT,BOTQ0FLG,BOTQ1FLG
|
||||
.GLOBAL TOPQ0FLG,TOPQ1FLG,BOTQ0,BOTQ1,TOPQ0,TOPQ1,STOPOBJS
|
||||
.GLOBAL FREEOBJ,FREEOBJE
|
||||
.GLOBAL EXISTOBJ,DMAINT
|
||||
.GLOBAL DISPQT,ENDOFREE,ISOBJ
|
||||
.GLOBAL BEGINOBJ,BEGINOBJ2,BKGSAGOF
|
||||
.global KIL1OBJC,KILOBJN,DELOBJDIE,FRQDELDIE
|
||||
|
||||
*GLOBALS CONNECTED TO NARC
|
||||
.GLOBAL DFRMGRND,CURPAL,DUMCOLL
|
||||
|
||||
*OBJECT INITIALIZATION TABLE
|
||||
INITXVAL .EQU 0
|
||||
INITYVAL .EQU 20H
|
||||
INITIMG .EQU 40H
|
||||
INITZPOS .EQU 60H
|
||||
INITFLAGS .EQU 70H
|
||||
INITID .EQU 80H
|
||||
INITXVEL .EQU 90H
|
||||
INITYVEL .EQU 0B0H
|
||||
|
||||
*CONSTANTS
|
||||
|
||||
SCRNST .EQU [0,0] ;TOP LEFT OF SCREEN
|
||||
SCRNEND .EQU [256,400] ;BOTTOM RIGHT OF SCREEN
|
||||
SCRNMID .EQU [128,200] ;MIDPOINT OF SCREEN
|
||||
;SCRNST .EQU [1,5] ;TOP LEFT OF SCREEN
|
||||
;SCRNEND .EQU [252,395] ;BOTTOM RIGHT OF SCREEN
|
||||
;SCRNMID .EQU [128,200] ;MIDPOINT OF SCREEN
|
||||
|
||||
|
||||
* OBJECT BLOCK LAYOUT
|
||||
|
||||
*STRUCT OBJ
|
||||
OLINK .EQU 0 ;UHL 32 BIT LINK TO NEXT OBJECT BLOCK
|
||||
OXVEL .EQU 20H ;UHL 32 BIT X VELOCITY 16.16
|
||||
OYVEL .EQU 40H ;UHL 32 BIT Y VELOCITY 16.16
|
||||
OXVAL .EQU 60H ;UHL 32 BIT X POSITION
|
||||
OXFRAC .EQU 60H ; FRACTIONAL PORTION OF X POSITION
|
||||
OXPOS .EQU 70H ; INTEGER PORTION OF X POSITION
|
||||
OYVAL .EQU 080H ;UHL 32 BIT Y POSITION
|
||||
OYFRAC .EQU 080H ; FRACTIONAL PORTION OF Y POSITION
|
||||
OYPOS .EQU 090H ; INTEGER PORTION OF Y POSITION
|
||||
OZPOS .EQU 0A0H ;UHW INTEGER Z POSITION OF OBJECT
|
||||
OFLAGS .EQU 0B0H ;UHW 32 BIT BITS 0 - 5 DMA CONTROL; B16-31= OFFSET PRECOMPUTED
|
||||
OFSET .EQU 0C0H ;UHW PRECOMPUTED OFFSET
|
||||
OSAG .EQU 0D0H ;UHL 32 BIT SOURCE ADDRESS (UNCLIPPED, ADJUSTED FOR FLIPS)
|
||||
OSIZE .EQU 0F0H ; 32 BIT H,W OF OBJECT (16,16) W=ADJUSTED FOR MORSEL
|
||||
OSIZEX .EQU 0F0H ;UHW X SIZE
|
||||
OSIZEY .EQU 100H ;UHW Y SIZE
|
||||
OPAL .EQU 110H ;UHW PALLETTE
|
||||
OCONST .EQU 120H ;CONSTANT COLOR
|
||||
OIMG .EQU 130H ;UHL 32 BIT POINTER TO IMAGE DATA TABLE
|
||||
OID .EQU 150H ;UHW 16 BIT OBJECT ID
|
||||
OPLINK .EQU 160H ;UHL 32 BIT LINK TO CONTROLLING PROCESS
|
||||
;ODMAXY .EQU 180H ; 32 BIT SCREEN COORD OF OBJECT
|
||||
;ODMAX .EQU 180H ;X COORDINATE
|
||||
;ODMAY .EQU 190H ;Y COORDINATE
|
||||
OXCLIP .EQU 180H ;UHW 16 BIT TOTAL X PRECLIP
|
||||
OBSIZ .EQU 190H ;1F0
|
||||
*ENDSTRUCT
|
||||
NOBJ .EQU 400 ; OBJECTS TO DISPLAY
|
||||
|
||||
BQCELL .EQU >A0 ;SIZE OF DMA QUEUE ELEMENT
|
||||
***********************
|
||||
* VALUES FOR OFLAGS *
|
||||
***********************
|
||||
M_WRZERO .EQU 1 ;WRITE ZERO DATA
|
||||
M_WRNONZ .EQU 2 ;WRITE NON-ZERO DATA
|
||||
M_CONZER .EQU 4 ;REPLACE ZERO DATA WITH CONSTANT
|
||||
M_CONNON .EQU 8 ;REPLACE NON-ZERO DATA WITH CONSTANT
|
||||
M_CONST .EQU >C ;ANY CONSTANT DATA REPLACEMENT
|
||||
M_FLIPH .EQU >10 ;FLIP HORIZONTALLY
|
||||
M_FLIPV .EQU >20 ;FLIP VERTICALLY
|
||||
M_NODIS .EQU >100 ;IGNORE THIS ENTRY
|
||||
M_PZPLUS .EQU >200 ;TAKE Z VALUE FROM RAM LOC. PREVZ AND ADD 1
|
||||
M_PIXSCAN .EQU >400 ;IF=1 O.K. TO PIXEL SCAN WITH THIS OBJECT
|
||||
M_NOCOLL .EQU >800 ;IF=1 OBJECT NOT COLLIDABLE
|
||||
M_PREVZ .EQU >1000 ;TAKE Z VALUE FROM RAM LOC. PREVZ
|
||||
M_NOMOV .EQU >2000 ;DO NOT ADD VELOCITIES
|
||||
M_INUSE .set >8000 ;obj in use by display system
|
||||
|
||||
*BIT POSITIONS FOR OFLAGS
|
||||
B_WRZERO .EQU 0
|
||||
B_WRNONZ .EQU 1
|
||||
B_CONZER .EQU 2
|
||||
B_CONNON .EQU 3
|
||||
B_FLIPH .EQU 4
|
||||
B_FLIPV .EQU 5
|
||||
B_NODIS .EQU 8
|
||||
B_PZPLUS .EQU 9
|
||||
B_PIXSCAN .EQU 10
|
||||
B_NOCOLL .EQU 11
|
||||
B_PREVZ .EQU 12
|
||||
B_NOMOV .EQU 13
|
||||
B_INUSE .set 15
|
||||
|
|
@ -0,0 +1,972 @@
|
|||
**************************************************************************
|
||||
* *
|
||||
* VIDEO GAME PROJECT: HIGH IMPACT FOOTBALL *
|
||||
* *
|
||||
* PROGRAMMER: EDWARD J. BOON *
|
||||
* ARTIST: JOHN R. NEWCOMER *
|
||||
* SOUNDS: *
|
||||
* *
|
||||
* MODULE: FBAMODE.ASM -- ATTRACT MODE *
|
||||
* *
|
||||
* COPYRIGHT (C) 1989 WILLIAMS ELECTRONICS GAMES, INC. *
|
||||
* *
|
||||
**************************************************************************
|
||||
|
||||
.FILE 'FBAMODE.ASM'
|
||||
.TITLE " <<< FOOTBALL ATTRACT MODE CODE >>> "
|
||||
|
||||
.WIDTH 132
|
||||
.OPTION B,D,L
|
||||
.MNOLIST
|
||||
*
|
||||
* GET THE SYSTEM STUFF
|
||||
*
|
||||
.INCLUDE "MPROCEQU.ASM" ;MPROC equates
|
||||
.INCLUDE "DISPEQU.ASM" ;Display processor equates
|
||||
.INCLUDE "SYSEQU.ASM" ;SYS.INC and GSP.INC
|
||||
.INCLUDE "MACROS.HDR" ;Macros
|
||||
.INCLUDE "MAINEQU.ASM"
|
||||
.INCLUDE "IMGTBL.GLO"
|
||||
.INCLUDE FIELDEQU.ASM
|
||||
.INCLUDE "STRING.H"
|
||||
.INCLUDE DIAGAUDN.ASM
|
||||
|
||||
.REF PRINT_DMA,PRINT_DMA_XY,BACKGROUND
|
||||
.REF PRINT_OBJ,SHADOW_PRINT,AUTOSCR
|
||||
.REF WIPEOUT,COIN_PAGE,CRED_P,PLAYTABS
|
||||
.REF LM_SETUP,PRINTF,CHANGE_OID,GET_CSTR
|
||||
.REF SETUP_OFFENSE,SETUP_DEFENSE,SETWORLD,BALL_IN_PLAY
|
||||
.REF START_PLAYERS,COLSCAN,PLAY_INIT
|
||||
.REF GET_LOGO,MIDDLE_OPEN,NOSOUNDS,POST_PLAY ;CAT_DUMP
|
||||
.REF XFER_ALL_TO_A7
|
||||
|
||||
***************************** (SELF PLAY CODE)
|
||||
.REF AMODE_START
|
||||
***************************** (SELF PLAY CODE)
|
||||
|
||||
.DEF AMODE
|
||||
|
||||
.EVEN
|
||||
.TEXT
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* ATTRACT MODE ENTRY POINT *
|
||||
* *
|
||||
**************************************************************************
|
||||
AMODE
|
||||
CLR A0
|
||||
MOVE A0,@P1STAT,W
|
||||
MOVE A0,@P2STAT,W
|
||||
MOVE A0,@P3STAT,W
|
||||
MOVE A0,@P4STAT,W
|
||||
|
||||
MOVI GS_AMODE,A0
|
||||
MOVE A0,@GSTATE,W ; GAME STATE = ATTRACT MODE
|
||||
|
||||
CALLA WIPEOUT
|
||||
MOVI RGB_BLACK,A0
|
||||
MOVE A0,@IRQSKYE,W ; SET BACKGROUND COLOR
|
||||
|
||||
**************************** (SELF PLAY CODE)
|
||||
JRUC AM0
|
||||
SLEEP >80
|
||||
MOVK 1,A0
|
||||
MOVE A0,@AUTOPLAY,W
|
||||
JAUC AMODE_START
|
||||
***************************** (SELF PLAY CODE)
|
||||
|
||||
AM0 MOVK 5,A0
|
||||
MOVE A0,*A13(P_GCOUNT),W ; # OF LOOPS TILL NO SOUNDS
|
||||
AM1 CALLA CLR_SCRN
|
||||
JSRP FIELD_TOUR
|
||||
CALLA GANGEL
|
||||
CALLA WIPEOUT
|
||||
|
||||
JSRP RUN_A_PLAY
|
||||
CALLA GANGEL
|
||||
CALLA WIPEOUT
|
||||
|
||||
JSRP COIN_PAGE
|
||||
CALLA GANGEL
|
||||
CALLA WIPEOUT
|
||||
|
||||
MOVE *A13(P_GCOUNT),A0,W
|
||||
JREQ AM1
|
||||
DEC A0
|
||||
MOVE A0,*A13(P_GCOUNT),W
|
||||
JRNE AM1
|
||||
MOVK 1,A0
|
||||
MOVE A0,@NOSOUND,W ; NO MORE SOUNDS PLEASE.
|
||||
JRUC AM1
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* RUN A PLAY *
|
||||
* *
|
||||
* Runs a random play during the attract mode. *
|
||||
* *
|
||||
**************************************************************************
|
||||
RUN_A_PLAY
|
||||
MOVE @NOSOUND,A1,W ; ARE WE ALLOWED ??
|
||||
JRNE RUNP0
|
||||
MOVI >C7,A3
|
||||
CALLA SEND_CODE_A3 ; PLAY TUNE IF LEGAL
|
||||
|
||||
RUNP0 CLR A0
|
||||
MOVE A0,@SCRNTL,L
|
||||
MOVE A0,@SCRNLR,L
|
||||
|
||||
MOVK 15,A0
|
||||
CALLA RANDU
|
||||
DEC A0
|
||||
MOVE A0,@T0TEAM,W
|
||||
MOVE A0,A1
|
||||
|
||||
RUNP1 MOVK 15,A0
|
||||
CALLA RANDU
|
||||
DEC A0
|
||||
CMP A0,A1
|
||||
JREQ RUNP1 ; DONT PICK SAME TEAM
|
||||
MOVE A0,@T1TEAM,W
|
||||
|
||||
MOVI FIFTY_YARD,A0
|
||||
MOVE A0,@LINEOFSC,W ; SET LINE OF SCRIMMAGE
|
||||
MOVE A0,@STLOS,W
|
||||
|
||||
MOVE @OFFENSE,A0,W
|
||||
XORI 1,A0
|
||||
MOVE A0,@OFFENSE,W ; FLIP OFFENSE !!
|
||||
|
||||
MOVK 4,A0
|
||||
CALLA RANDU
|
||||
MOVE A0,@DOWNNUM,W ; RANDOM DOWN #
|
||||
|
||||
MOVK 4,A0
|
||||
CALLA RANDU
|
||||
DEC A0
|
||||
MOVE A0,@MENUPIK0,W
|
||||
MOVE A0,@MENUPIK1,W ; RANDOM PLAY CHOICE
|
||||
|
||||
CALLA PLAY_INIT
|
||||
CALLA PLAYTABS ; SETUP OFFPTBL/DEFPTBL
|
||||
CALLA SETWORLD
|
||||
CREATE PID_AMODE,MIDDLE_OPEN
|
||||
SLEEP 1
|
||||
|
||||
CREATE PID_AMODE,T0_SLIDE
|
||||
CREATE PID_AMODE,T1_SLIDE
|
||||
|
||||
MOVI AMODE_VERSUS_INIT,A14
|
||||
CALLA INITOBJ
|
||||
MOVE A8,A0
|
||||
CALLA INSOBJ2
|
||||
SLEEP 2
|
||||
MOVK 10,A11
|
||||
CREATE PID_AMODE,RGBSTUFF ; FLASH "VERSUS"
|
||||
|
||||
SLEEP >C0 ; WAIT FOR LINEUP
|
||||
MOVI OID_AMODE,A0
|
||||
CALLA DALLOBJ ; GET RID OF LOGOS/VERSUS
|
||||
|
||||
CALLA START_PLAYERS ; XFER DUDES PROCESSES
|
||||
MOVI OID_QB,A0
|
||||
CALLA FINDOMAN ; FIND THE QB
|
||||
CALLA BALL_IN_PLAY ; PUT THE BALL IN PLAY
|
||||
CREATE PID_COLSCAN,COLSCAN ; COLLISION SCANNER
|
||||
CREATE PID_BCTRACK,BC_TRACK ; BALL CARRIER
|
||||
CLR A0
|
||||
MOVE A0,@PLAYRES,W ; NO PLAY RESULT SO FAR
|
||||
MOVI OID_MSGLET,A0
|
||||
CALLA DALLOBJ ; ERASE LETTERS
|
||||
MOVI PID_QB_YELL,A0
|
||||
CALLA DALLPRC ; QB = SHUT UP
|
||||
*
|
||||
* WAIT FOR ATTRACT MODE PLAY TO END
|
||||
*
|
||||
MOVI 13*20,A10 ; WATCH "CAT" TIME LIMIT
|
||||
RUNP5 SLEEP 5
|
||||
MOVE @PLAYRES,A0,W
|
||||
JRNE RUNP7
|
||||
DSJS A10,RUNP5 ; I'LL WAIT, BUT NOT FOREVER
|
||||
CLR A0
|
||||
MOVE A0,@ERRNUM,W ; DONT CONFUSE WITH BOONTRAP
|
||||
MOVI AUDWCATS,A0
|
||||
CALLA AUD1 ; AUDIT THIS !!
|
||||
.IF B_DEBUG
|
||||
JAUC $ ; IN DEBUGGER ---> CALL ATTENTION TO !
|
||||
.ENDIF
|
||||
.IF PRINTER
|
||||
; CALLA CAT_DUMP
|
||||
.ENDIF
|
||||
|
||||
RUNP7
|
||||
MOVI PID_COLSCAN,A0
|
||||
CALLA DALLPRC
|
||||
MOVI PID_SCR,A0
|
||||
CALLA DALLPRC ; KILL SCROLLER
|
||||
CLR A1
|
||||
MOVE A1,@SCROLLX,L
|
||||
MOVE A1,@SCROLLY,L
|
||||
MOVI POST_PLAY,A7 ; A7 = EVERYONE XFERED HERE
|
||||
CALLA XFER_ALL_TO_A7
|
||||
|
||||
SLEEP >20
|
||||
MOVI >8000,A0
|
||||
MOVE A0,A1
|
||||
CALLA KILALL ; KILL ALL PROCS (EXCEPT INDESTUCTABLES)
|
||||
|
||||
MOVI FADEALL,A0
|
||||
CALLA FADEOUT ; FADE EVERYTHING TO BLACK
|
||||
SLEEP >30
|
||||
CALLA NOSOUNDS ; SHUT UP
|
||||
RETP
|
||||
|
||||
|
||||
FADEALL .LONG 0
|
||||
|
||||
T0_SLIDE
|
||||
MOVI AMODEL0_INIT,A14
|
||||
CALLA INITOBJ
|
||||
MOVE @T0TEAM,A1,W
|
||||
CALLA GET_LOGO
|
||||
MOVE *A1(16*6),A0,L
|
||||
CALLA GETFPAL
|
||||
MOVE A0,*A8(OPAL),W ; TEAMS PALETTE
|
||||
CALLA ANI
|
||||
MOVE A8,A0
|
||||
CALLA INSOBJ2
|
||||
MOVI >30000,A0
|
||||
MOVE A0,*A8(OXVEL),L
|
||||
SLEEP >3C
|
||||
CLR A0
|
||||
MOVE A0,*A8(OXVEL),L
|
||||
DIE
|
||||
|
||||
T1_SLIDE
|
||||
MOVI AMODEL1_INIT,A14
|
||||
CALLA INITOBJ
|
||||
MOVE @T1TEAM,A1,W
|
||||
CALLA GET_LOGO
|
||||
MOVE *A1(16*6),A0,L
|
||||
CALLA GETFPAL
|
||||
MOVE A0,*A8(OPAL),W ; TEAMS PALETTE
|
||||
CALLA ANI
|
||||
MOVE A8,A0
|
||||
CALLA INSOBJ2
|
||||
|
||||
MOVI ->30000,A0
|
||||
MOVE A0,*A8(OXVEL),L
|
||||
SLEEP >3D
|
||||
CLR A0
|
||||
MOVE A0,*A8(OXVEL),L
|
||||
DIE
|
||||
|
||||
|
||||
AMODEL0_INIT
|
||||
.LONG LA,0
|
||||
.WORD 0,DMAWNZ|M_NOSCROLL,OID_AMODE
|
||||
.WORD -120,26,0
|
||||
|
||||
AMODEL1_INIT
|
||||
.LONG LA,0
|
||||
.WORD 0,DMAWNZ|M_NOSCROLL,OID_AMODE
|
||||
.WORD SCRRGT,26,0
|
||||
|
||||
AMODE_VERSUS_INIT
|
||||
.LONG VERSUS,ICN3_PAL
|
||||
.WORD 0,DMAWNZ|M_NOSCROLL,OID_AMODE
|
||||
.WORD >BB
|
||||
.WORD 32
|
||||
.WORD 0
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* SHOW TEAMS *
|
||||
* *
|
||||
* Will put all of the teams on the screen along with the field in the *
|
||||
* background. *
|
||||
* *
|
||||
**************************************************************************
|
||||
;SHOW_TEAMS
|
||||
; MOVI AMODE_TEXT_INIT,A14
|
||||
; MOVI >29,A0
|
||||
; CALLA PRINT_OBJ ; TEXT = A4 --> A7
|
||||
;
|
||||
; MOVE A4,A5
|
||||
; MOVI AMODE_TEXT_INIT,A14
|
||||
; MOVI 00020002H,A6
|
||||
; CALLA SHADOW_PRINT
|
||||
; MOVE @OBJLST3,A0,L
|
||||
; MOVE A0,*A7(OLINK),L ; LAST CHAR ----> OBJLST3
|
||||
; MOVE A5,@OBJLST3,L ; OBJLST3 ---> 1ST CHAR
|
||||
; MOVK 3,A11
|
||||
; CREATE PID_AMODE,RGBSTUFF
|
||||
;*
|
||||
;* BACKGROUND THING A MA BOB
|
||||
;*
|
||||
; MOVK 4,A0
|
||||
; CALLA GETBLIMP ; TEAM SELECT MODULE
|
||||
; CALLA A5A6OL1 ; ADD TO "OBJLST1"
|
||||
;
|
||||
; MOVI 9,A9
|
||||
; MOVI 60,A10
|
||||
; MOVI ATEAM_LOGOS,A11
|
||||
;SHOWT0 MOVK 5,A7 ; 5 ROWS
|
||||
;SHOWT1 MOVI LOGO_INIT,A14
|
||||
; CALLA INITOBJ ; GET AN OBJECT
|
||||
; MOVE *A11+,A1,L ; A1 = OIMG
|
||||
; CALLA ANI
|
||||
; MOVE *A11+,A0,L
|
||||
; CALLA SWPAL
|
||||
; MOVE A8,A0
|
||||
;
|
||||
; MOVE A9,*A8(OXPOS),W
|
||||
; MOVE A10,*A8(OYPOS),W
|
||||
; CALLA INSOBJ
|
||||
; ADDI 35,A10
|
||||
; DSJS A7,SHOWT1
|
||||
; SLEEP 2
|
||||
; MOVI 60,A10
|
||||
; ADDI >80,A9
|
||||
; CMPI (>60*3)+5,A9
|
||||
; JRLT SHOWT0
|
||||
;
|
||||
; SLEEP >40*8
|
||||
; JRUC AMODE_EXIT
|
||||
;
|
||||
;
|
||||
;
|
||||
AMODE_TEXT_INIT
|
||||
.LONG FON15A,boonpal
|
||||
.WORD 0,DMACNZ|M_NOSCROLL,OID_AMODE
|
||||
.WORD 0,0,0
|
||||
;
|
||||
;
|
||||
;ATEAM_LOGOS
|
||||
; .LONG LA,LA_PAL
|
||||
; .LONG DENVER,DNVR_PAL
|
||||
; .LONG SANFRN,SANF_PAL
|
||||
; .LONG MIAMI,MIAM_PAL
|
||||
; .LONG WASH,WASH_PAL
|
||||
; .LONG CHICAGO,CHGO_PAL
|
||||
; .LONG TEXAS,TEX_PAL
|
||||
; .LONG PITTSBURGH,PITT_PAL
|
||||
; .LONG DETROIT,DETR_PAL
|
||||
; .LONG NEWYRK,NYC_PAL
|
||||
; .LONG AFRICA,AFRC_PAL
|
||||
; .LONG CANADA,CANA_PAL
|
||||
; .LONG EUROPA,EURO_PAL
|
||||
; .LONG KANSAS,KANS_PAL
|
||||
; .LONG ATLANTA,ATLN_PAL
|
||||
;
|
||||
;
|
||||
;LOGO_INIT
|
||||
; .LONG LA,boonpal
|
||||
; .WORD 0,DMAWNZ|M_NOSCROLL,OID_AMODE
|
||||
; .WORD 0,0,0
|
||||
;
|
||||
;LA_INIT
|
||||
; .LONG LA,LA_PAL
|
||||
; .WORD 0,DMAWNZ|M_NOSCROLL,OID_AMODE
|
||||
; .WORD >40,>30,0
|
||||
;
|
||||
;DENVER_INIT
|
||||
; .LONG DENVER,DNVR_PAL
|
||||
; .WORD 0,DMAWNZ|M_NOSCROLL,OID_AMODE
|
||||
; .WORD >40,>58,0
|
||||
;
|
||||
;SF_INIT
|
||||
; .LONG SANFRN,SANF_PAL
|
||||
; .WORD 0,DMAWNZ|M_NOSCROLL,OID_AMODE
|
||||
; .WORD >40,>80,0
|
||||
;
|
||||
;MIAMI_INIT
|
||||
; .LONG MIAMI,MIAM_PAL
|
||||
; .WORD 0,DMAWNZ|M_NOSCROLL,OID_AMODE
|
||||
; .WORD >40,>A8,0
|
||||
;
|
||||
;WASH_INIT
|
||||
; .LONG WASH,WASH_PAL
|
||||
; .WORD 0,DMAWNZ|M_NOSCROLL,OID_AMODE
|
||||
; .WORD >40,>D0,0
|
||||
;
|
||||
;*
|
||||
;* COLUMN #2
|
||||
;*
|
||||
;CHICAGO_INIT
|
||||
; .LONG CHICAGO,CHGO_PAL
|
||||
; .WORD 0,DMAWNZ|M_NOSCROLL,OID_AMODE
|
||||
; .WORD >C0,>30,0
|
||||
;
|
||||
;DALLAS_INIT
|
||||
; .LONG TEXAS,TEX_PAL
|
||||
; .WORD 0,DMAWNZ|M_NOSCROLL,OID_AMODE
|
||||
; .WORD >C0,>58,0
|
||||
;
|
||||
;PITT_INIT
|
||||
; .LONG PITTSBURGH,PITT_PAL
|
||||
; .WORD 0,DMAWNZ|M_NOSCROLL,OID_AMODE
|
||||
; .WORD >C0,>80,0
|
||||
;
|
||||
;DETROIT_INIT
|
||||
; .LONG DETROIT,DETR_PAL
|
||||
; .WORD 0,DMAWNZ|M_NOSCROLL,OID_AMODE
|
||||
; .WORD >C0,>A8,0
|
||||
;
|
||||
;NY_INIT
|
||||
; .LONG NEWYRK,NYC_PAL
|
||||
; .WORD 0,DMAWNZ|M_NOSCROLL,OID_AMODE
|
||||
; .WORD >C0,>D0,0
|
||||
;
|
||||
**************************************************************************
|
||||
* *
|
||||
* FIELD TOUR *
|
||||
* *
|
||||
* This part of the attract mode scans the entire field with the game *
|
||||
* logo overlaying the screen. *
|
||||
* *
|
||||
**************************************************************************
|
||||
FIELD_TOUR
|
||||
CREATE PID_AMODE,BACKGROUND ; MAKE A BACKGROUND UPDATE DUDE
|
||||
JSRP SHOW_CREDITS
|
||||
|
||||
CLR A0
|
||||
MOVI AMODE_TEXT_INIT,A14
|
||||
CALLA PRINT_OBJ ; COPYRIGHT MESSAGE
|
||||
MOVE A4,A5
|
||||
MOVE A7,A6
|
||||
CALLA A5A6OL1
|
||||
|
||||
MOVK 2,A0
|
||||
CALLA GETBLIMP ; A5 = LOGO MODULE OBJECT LIST
|
||||
CALLA A5A6OL2 ; PUT ON OBJECT LIST #1
|
||||
MOVK 4,A11
|
||||
CREATE PID_AMODE,RGBSTUFF ; FLASH "CREDITS"
|
||||
|
||||
MOVK 2,A9
|
||||
FTOUR1 MOVI LGOAL_OUT_X-80,A0
|
||||
MOVE A0,@WORLDTLX+16,W ; STARTING X
|
||||
MOVI TOP_SIDELINE-215,A0
|
||||
MOVE A0,@WORLDTLY+16,W ; STARTING Y
|
||||
*
|
||||
* PAN THROUGH THE CROWD
|
||||
*
|
||||
MOVI RGOAL_OUT_X+80-SCRRGT,A1
|
||||
MOVE @WORLDTLY+16,A3
|
||||
MOVK 2,A4
|
||||
JSRP AUTOSCR ; SCROLLER DUDE
|
||||
*
|
||||
* TO MIDDLE OF FIELD
|
||||
*
|
||||
MOVE @WORLDTLX+16,A1
|
||||
SUBI >100,A1
|
||||
MOVE @WORLDTLY+16,A3
|
||||
ADDI >100,A3
|
||||
MOVK 2,A4
|
||||
JSRP AUTOSCR ; SCROLLER DUDE
|
||||
*
|
||||
* TO LEFT ENDZONE
|
||||
*
|
||||
MOVI LGOAL_OUT_X->50,A1
|
||||
MOVE @WORLDTLY+16,A3
|
||||
MOVK 2,A4
|
||||
JSRP AUTOSCR ; SCROLLER DUDE
|
||||
SLEEP >80
|
||||
|
||||
AMODE_EXIT
|
||||
MOVI OID_AMODE,A0
|
||||
MOVE A0,A1
|
||||
CALLA KILL_OCP
|
||||
CALLA DELALLB
|
||||
MOVI PID_AMODE,A0
|
||||
MOVE A0,A1
|
||||
CALLA KILALL ; KILL ANYONE I SPAWNED OFF
|
||||
RETP
|
||||
|
||||
*
|
||||
* DELETE ALL BACKGROUND OBJECTS (AND THEIR PALETTES)
|
||||
*
|
||||
DELALLB
|
||||
MOVE @BAKLST,A0,L ; ARE THERE ANY BACKGROUND OBJ ?
|
||||
JREQ PS2 ; NO ---> SKIP
|
||||
|
||||
MOVE A0,A1 ; A1 = OBJECT #1
|
||||
CLR A0
|
||||
MOVE A0,@BAKLST,L
|
||||
|
||||
PS1 MOVE *A1,A3,L ; A3 = NEXT IN LINE
|
||||
MOVE *A1(OPAL),A0,W
|
||||
CALLA FREEPAL ; DECREMENT PALETTE COUNTER
|
||||
MOVE @OFREE,A2,L
|
||||
MOVE A1,@OFREE,L ; PUT OBJECT ON FREE LIST
|
||||
MOVE A2,*A1,L
|
||||
MOVE A3,A1
|
||||
JRNE PS1
|
||||
PS2 RETS
|
||||
|
||||
*
|
||||
* STARS ALONG THE EDGES
|
||||
*
|
||||
CLR A5 ; INITIALIZE COLOR POINTER
|
||||
DEC A5
|
||||
|
||||
MOVI >10,A2 ; STARTING X POSITION
|
||||
MOVI >15,A3 ; STARTING Y POSITION
|
||||
|
||||
MOVI 13,A6 ; STAR COUNT
|
||||
AM2 CALLR DO_A_STAR
|
||||
ADDI >25,A2
|
||||
DEC A6
|
||||
JRNE AM2
|
||||
SUBI >25,A2
|
||||
|
||||
MOVI 10,A6 ; STAR COUNT
|
||||
AM3 ADDI >22,A3
|
||||
CALLR DO_A_STAR
|
||||
DEC A6
|
||||
JRNE AM3
|
||||
|
||||
MOVI 12,A6 ; STAR COUNT
|
||||
AM4 SUBI >25,A2
|
||||
CALLR DO_A_STAR
|
||||
DEC A6
|
||||
JRNE AM4
|
||||
|
||||
MOVI 9,A6 ; STAR COUNT
|
||||
AM5 SUBI >22,A3
|
||||
CALLR DO_A_STAR
|
||||
DEC A6
|
||||
JRNE AM5
|
||||
|
||||
MOVI boonpal,a10 ; PALETTE TO CYCLE
|
||||
MOVI >01040900,A11 ; PARAMETERS FOR CYCLE DUDE
|
||||
CREATE PID_AMODE,CYCLERF
|
||||
CREATE PID_AMODE,TWINKLE
|
||||
SLEEP >40*15
|
||||
|
||||
CLR A1
|
||||
NOT A1
|
||||
MOVI PID_AMODE,A0
|
||||
CALLA KILALL ; KILL AMODE PROCS
|
||||
|
||||
CALLA MYOINIT ; BLOW OUT OBJECT SYSTEM
|
||||
CALLA SCRCLR
|
||||
|
||||
; JSRP HSTD
|
||||
; MOVK 1,A0
|
||||
; MOVE A0,@GAMERASE,W ; GAME ERASE = ON
|
||||
; SLEEP >20
|
||||
|
||||
CALLR GAME_ERASE_OFF
|
||||
JSRP LITTLE_FADE
|
||||
CALLR GAME_ERASE_ON
|
||||
SLEEP 2
|
||||
CALLR GAME_ERASE_OFF
|
||||
JSRP NO_DRUGS ; SAY NO TO DRUGS MESSAGE
|
||||
JRUC AMODE
|
||||
|
||||
|
||||
GAME_ERASE_OFF
|
||||
CLR A0
|
||||
JRUC GERASE
|
||||
GAME_ERASE_ON
|
||||
MOVK 1,A0
|
||||
GERASE MOVE A0,@GAMERASE,W
|
||||
RETS
|
||||
|
||||
|
||||
|
||||
;WIL_FADE
|
||||
; MOVI WILLINIT,A14
|
||||
; CALLA INITINS
|
||||
; SLEEP >60
|
||||
; MOVE A8,A9
|
||||
; MOVI >00010002,A11
|
||||
; MOVI willypal,a8
|
||||
; CREATE PID_AMODE,PALFADE
|
||||
; SLEEP >60
|
||||
; MOVE A9,A0
|
||||
; CALLA DELOBJP
|
||||
; MOVI willypal,a0
|
||||
; CALLA BLOWPAL ; BLOW OUT PALETTE COMPLETELY
|
||||
; SLEEP 1
|
||||
; RETP
|
||||
;WILLINIT
|
||||
; .LONG willy1,willypal
|
||||
; .WORD 0,DMAWNZ,>555,>55,>60,0
|
||||
|
||||
|
||||
|
||||
BALL_BANG
|
||||
MOVI 1,A0
|
||||
MOVE A0,@NO_VEL,W ; NO VELOCITIES !!
|
||||
|
||||
MOVI 40,B0
|
||||
BANG_LOOP
|
||||
PUSH B0
|
||||
MOVI BALL_INIT,A14
|
||||
CALLA INITOBJ
|
||||
MOVE A8,B1
|
||||
MOVI BALL_INIT,A14
|
||||
CALLA INITOBJ
|
||||
MOVE A8,B2
|
||||
MOVI BALL_INIT,A14
|
||||
CALLA INITOBJ
|
||||
MOVE A8,B3
|
||||
MOVI BALL_INIT,A14
|
||||
CALLA INITOBJ
|
||||
MOVE A8,B4
|
||||
|
||||
CALLA RANDOM ; GET A RANDOM # IN A0
|
||||
ANDI >00070000,A0 ; KEEP IT WITHIN REASON
|
||||
ADDI >00010000,A0
|
||||
MOVE A0,B0
|
||||
MOVE B0,*B1(OYVEL),L ; RANDOM Y VELOCITY
|
||||
CALLA RANDOM ; GET A RANDOM # IN A0
|
||||
ANDI >00070000,A0 ; KEEP IT WITHIN REASON
|
||||
ADDI >00010000,A0
|
||||
MOVE A0,B0
|
||||
MOVE B0,*B2(OYVEL),L ; RANDOM Y VELOCITY
|
||||
|
||||
CALLA RANDOM ; GET A RANDOM # IN A0
|
||||
ANDI >00070000,A0 ; KEEP IT WITHIN REASON
|
||||
ADDI >00010000,A0
|
||||
MOVE A0,B0
|
||||
NEG B0
|
||||
MOVE B0,*B3(OYVEL),L ; RANDOM Y VELOCITY
|
||||
CALLA RANDOM ; GET A RANDOM # IN A0
|
||||
ADDI >00010000,A0
|
||||
ANDI >00070000,A0 ; KEEP IT WITHIN REASON
|
||||
MOVE A0,B0
|
||||
NEG B0
|
||||
MOVE B0,*B4(OYVEL),L ; RANDOM Y VELOCITY
|
||||
|
||||
CALLA RANDOM ; GET A RANDOM # IN A0
|
||||
ANDI >00070000,A0 ; KEEP IT WITHIN REASON
|
||||
ADDI >00010000,A0
|
||||
MOVE A0,B0
|
||||
MOVE B0,*B1(OXVEL),L
|
||||
CALLA RANDOM ; GET A RANDOM # IN A0
|
||||
ANDI >00070000,A0 ; KEEP IT WITHIN REASON
|
||||
ADDI >00010000,A0
|
||||
MOVE A0,B0
|
||||
MOVE B0,*B3(OXVEL),L
|
||||
|
||||
CALLA RANDOM ; GET A RANDOM # IN A0
|
||||
ANDI >00070000,A0 ; KEEP IT WITHIN REASON
|
||||
ADDI >00010000,A0
|
||||
MOVE A0,B0
|
||||
NEG B0
|
||||
MOVE B0,*B2(OXVEL),L
|
||||
CALLA RANDOM ; GET A RANDOM # IN A0
|
||||
ANDI >00070000,A0 ; KEEP IT WITHIN REASON
|
||||
ADDI >00010000,A0
|
||||
MOVE A0,B0
|
||||
NEG B0
|
||||
MOVE B0,*B4(OXVEL),L
|
||||
|
||||
*
|
||||
* PUT EM ON THE LIST
|
||||
*
|
||||
MOVE B1,A0
|
||||
CALLA INSOBJ
|
||||
MOVE B2,A0
|
||||
CALLA INSOBJ
|
||||
MOVE B3,A0
|
||||
CALLA INSOBJ
|
||||
MOVE B4,A0
|
||||
CALLA INSOBJ
|
||||
|
||||
PULL B0
|
||||
DEC B0
|
||||
JRNE BANG_LOOP
|
||||
|
||||
CLR A0
|
||||
MOVE A0,@NO_VEL,W ; VELOCITIES !!
|
||||
SLEEP >50
|
||||
|
||||
CLR A1
|
||||
NOT A1
|
||||
MOVI OID_BALL,A0
|
||||
CALLA KILL_OCP
|
||||
|
||||
RETP
|
||||
|
||||
|
||||
*
|
||||
* HIGH SCORE TO DATE TABLE
|
||||
*
|
||||
HSTD MOVI HSTD_TEXT,A14
|
||||
; CALLA P RINT7_INFO
|
||||
; CALLA P RINT7_INFO
|
||||
; CALLA P RINT7_INFO
|
||||
; CALLA P RINT7_INFO
|
||||
; CALLA P RINT7_INFO
|
||||
; SLEEP >40*4
|
||||
RETP
|
||||
|
||||
|
||||
HSTD_TEXT
|
||||
.LONG >00600070
|
||||
.WORD >FFFF
|
||||
.STRING "1) BUN $ 4,000,000",0
|
||||
|
||||
.LONG >00800070
|
||||
.WORD >FFFF
|
||||
.STRING "2) JRN $ 3,500,000",0
|
||||
|
||||
.LONG >00A00070
|
||||
.WORD >FFFF
|
||||
.STRING "3) BUN $ 3,000,000",0
|
||||
|
||||
.LONG >00C00070
|
||||
.WORD >FFFF
|
||||
.STRING "4) JRN $ 2,500,000",0
|
||||
|
||||
.LONG >00E00070
|
||||
.WORD >FFFF
|
||||
.STRING "5) KIM $ 2,000,000",0
|
||||
|
||||
.EVEN
|
||||
|
||||
|
||||
*
|
||||
* SAY NO TO DRUGS MESSAGE
|
||||
*
|
||||
NO_DRUGS
|
||||
MOVI >0D,A0
|
||||
CALLA PRINT_DMA
|
||||
MOVI >0E,A0
|
||||
CALLA PRINT_DMA
|
||||
|
||||
; MOVI BOONDCD,A0
|
||||
; CALLA GETFPAL ; GET BOONDCD PALLETTE
|
||||
; JRNE NODR1
|
||||
; ERMAC 24
|
||||
|
||||
;NODR1 MOVE A0,A1 ; A1 = DTIME INPUT = PALLETTE
|
||||
; MOVI [>70,>D0],A3
|
||||
; MOVI DMAWNZ,A5
|
||||
; MOVI BOONDCD_vda,A14
|
||||
; CALLA DTIME ; DMA BOON PICTURE
|
||||
|
||||
SLEEP >40*3
|
||||
RETP
|
||||
|
||||
LITTLE_FADE
|
||||
MOVI >0F,A0
|
||||
MOVI >00700070,A3 ; A3 = [Y,X]
|
||||
CALLA PRINT_DMA_XY
|
||||
|
||||
MOVI >0F,A0
|
||||
MOVI >00900070,A3 ; A3 = [Y,X]
|
||||
CALLA PRINT_DMA_XY
|
||||
|
||||
MOVI >0F,A0
|
||||
MOVI >00B00070,A3 ; A3 = [Y,X]
|
||||
CALLA PRINT_DMA_XY
|
||||
|
||||
MOVI >0F,A0
|
||||
MOVI >00D00070,A3 ; A3 = [Y,X]
|
||||
CALLA PRINT_DMA_XY
|
||||
|
||||
MOVI >0F,A0
|
||||
MOVI >00F00070,A3 ; A3 = [Y,X]
|
||||
CALLA PRINT_DMA_XY
|
||||
SLEEP >60
|
||||
RETP
|
||||
|
||||
|
||||
SET_EM_UP
|
||||
CALLA INITOBJ ; A8 = NFL LOGO OBJECT
|
||||
MOVE A8,A0
|
||||
JAUC INSOBJ
|
||||
|
||||
DO_A_STAR
|
||||
RETS
|
||||
|
||||
INC A5
|
||||
CMPI 4,A5
|
||||
JRLO DOST1
|
||||
CLR A5 ; FROM (0-3)
|
||||
DOST1 MOVE A5,A0
|
||||
SLL 4,A0 ; 16 BIT OFFSET
|
||||
ADDI STAR_COLORS,A0
|
||||
MOVE *A0,A0,W ; GET THE COLOR FOR THIS STAR
|
||||
MOVE A0,*A8(OCONST),W ; THIS IS THE STARS CONSTANT COLOR
|
||||
MOVE A8,A0
|
||||
JAUC INSOBJ ; PUT IN LIST
|
||||
|
||||
|
||||
STAR_COLORS
|
||||
.WORD >0101
|
||||
.WORD >0202
|
||||
.WORD >0303
|
||||
.WORD >0404
|
||||
|
||||
*
|
||||
* MAKE THE TROPHIES TWINKLE
|
||||
*
|
||||
TWINKLE
|
||||
CLR A11
|
||||
JSRP TWLOOP
|
||||
MOVI 3,A11
|
||||
JSRP TWLOOP
|
||||
MOVI 6,A11
|
||||
JSRP TWLOOP
|
||||
JRUC TWINKLE
|
||||
|
||||
TWLOOP CREATE PID_AMODE,DO_TWINK
|
||||
INC A11
|
||||
CREATE PID_AMODE,DO_TWINK
|
||||
INC A11
|
||||
CREATE PID_AMODE,DO_TWINK
|
||||
SLEEP >30
|
||||
RETP
|
||||
|
||||
|
||||
DO_TWINK
|
||||
DIE
|
||||
|
||||
|
||||
;TWINKINIT
|
||||
; .LONG twink1,twinkpal
|
||||
; .WORD 0,DMAWNZ,>555,>80,>80,3
|
||||
|
||||
|
||||
TWINK_SPOTS
|
||||
.LONG >007D007D ; LEFT TROPHY'S SHOULDER
|
||||
.LONG >009000D0 ; LEFT TROPHY LEG
|
||||
.LONG >0184007C ; RIGHT TROPHY SHOULDER
|
||||
.LONG >01A0010D ; RIGHT TROPHY BASE
|
||||
.LONG >0060010D ; LEFT TROPHY BASE
|
||||
.LONG >01C000A0 ; RIGHT TROPHY HAND
|
||||
|
||||
.LONG >009000D0 ; LEFT TROPHY LEG
|
||||
.LONG >01A0010D ; RIGHT TROPHY BASE
|
||||
.LONG >01C000A0 ; RIGHT TROPHY HAND
|
||||
.LONG >007D007D ; LEFT TROPHY'S SHOULDER
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* SHOW CREDITS *
|
||||
* *
|
||||
* Displays # of credits in the game *
|
||||
* *
|
||||
**************************************************************************
|
||||
SHOW_CREDITS
|
||||
MOVI COIN_MESS3,A8
|
||||
CALLA LM_SETUP
|
||||
CALLA GET_CSTR ; GET THE CURRENT CREDITS
|
||||
JSRP PRINTF ; PRINT TO OBJECT LIST
|
||||
MOVI OID_TEXT,A0
|
||||
MOVI OID_AMODE,A1
|
||||
CALLA CHANGE_OID ; ALL TEXT = OID_AMODE
|
||||
*
|
||||
* ALLOCATE PALETTES FOR EACH TEXT OBJECT CREATED
|
||||
*
|
||||
MOVI boonpal,A0
|
||||
CALLA GETFPAL ; GET BOONPAL !!
|
||||
MOVI BPAL_BLK,A3 ; A3 = BOONPAL "BLACK"
|
||||
CLR A2
|
||||
|
||||
MOVI >0505,A3 ; A3 = CONSTANT COLOR TO USE
|
||||
MOVE @OBJLST,A0,L ; TOP O LIST
|
||||
JREQ SHOWC2 ; NONE, EXIT
|
||||
SHOWC1 INC A2 ; COUNT IT
|
||||
MOVE A3,*A0(OCONST),W ; SET COLOR O TEXT
|
||||
MOVE *A0(OLINK),A0,L
|
||||
JRNE SHOWC1
|
||||
|
||||
MOVI PALRAM,A1 ; TEXT USES 1ST PALETTE !!
|
||||
MOVE *A1(32),A3,W ; A3 = 1ST PALETTE COUNT
|
||||
DEC A3 ; DONT COUNT THE 1SR "GETFPAL" CALL
|
||||
ADD A2,A3 ; ADD IN TEXT OBJECTS
|
||||
MOVE A3,*A1(32),W
|
||||
SHOWC2 RETP
|
||||
|
||||
|
||||
COIN_MESS3
|
||||
MESS_MAC RD15FONT,SPACING20,200,>C0,0D0D0000H,STRCNRMO,0
|
||||
|
||||
*********************************************************************
|
||||
;CREDLET_INIT
|
||||
; .LONG osrn1,boonpal
|
||||
; .WORD 0,DMACNZ|M_NOSCROLL,OID_AMODE
|
||||
; .WORD 0,>D0,0
|
||||
;
|
||||
;MED_DIGITS
|
||||
; .LONG FON150
|
||||
; .LONG FON151
|
||||
; .LONG FON152
|
||||
; .LONG FON153
|
||||
; .LONG FON154
|
||||
; .LONG FON155
|
||||
; .LONG FON156
|
||||
; .LONG FON157
|
||||
; .LONG FON158
|
||||
; .LONG FON159
|
||||
;
|
||||
;
|
||||
; CALLA CRED_P ; A0 = # OF CREDITS
|
||||
; CLR A10 ; ASSUME NO "TENS" DIGIT
|
||||
; MOVE A0,A3
|
||||
; MOVE A3,A6
|
||||
; CMPI 10,A3
|
||||
; JRLT SHOWC2
|
||||
;*
|
||||
;* CREDITS > 10
|
||||
;*
|
||||
; MOVK 10,A0
|
||||
; DIVS A0,A3 ; A3 = 10'S DIGIT
|
||||
; MOVE A3,A5
|
||||
; MOVI CREDLET_INIT,A14
|
||||
; CALLA INITOBJ ; GET DIGIT #2 = TENS DIGIT
|
||||
; MOVE A8,A10 ; TENS DIGIT
|
||||
; MOVI >0101,A0
|
||||
; MOVE A0,*A8(OCONST),W
|
||||
; SLL 5,A3
|
||||
; ADDI MED_DIGITS,A3
|
||||
; MOVE *A3,A1,L
|
||||
; CALLA ANI ; SHAPE THE #
|
||||
; MOVI >E6,A0
|
||||
; MOVE A0,*A8(OXPOS),W ; X POS = AFTER THE ":"
|
||||
; MOVE A8,A0
|
||||
; CALLA INSOBJ
|
||||
; CALLA CRED_P ; A0 = # OF CREDITS
|
||||
; MOVE A0,A6
|
||||
; MOVK 10,A0
|
||||
; MPYS A0,A5
|
||||
; SUB A5,A6 ; A6 = ONES
|
||||
;
|
||||
;SHOWC2 MOVI CREDLET_INIT,A14
|
||||
; CALLA INITOBJ ; GET DIGIT #1
|
||||
; MOVI >0101,A0
|
||||
; MOVE A0,*A8(OCONST),W
|
||||
;
|
||||
; SLL 5,A6
|
||||
; ADDI MED_DIGITS,A6
|
||||
; MOVE *A6,A1,L
|
||||
; CALLA ANI ; SHAPE THE NUMBER
|
||||
; MOVI >E6,A0
|
||||
; MOVE A10,A10 ; TENS DIGIT ?
|
||||
; JREQ SHOWC3
|
||||
; MOVE *A10(OSIZEX),A2,W
|
||||
; ADD A2,A0
|
||||
; INC A0
|
||||
;SHOWC3 MOVE A0,*A8(OXPOS),W ; PLACE ONES AFTER "TENS"
|
||||
; MOVE A8,A0
|
||||
; CALLA INSOBJ
|
||||
;
|
||||
; MOVI >0F,A0
|
||||
; MOVI CREDLET_INIT,A14
|
||||
; CALLA PRINT_OBJ ; CREDITS MESSAGE !!
|
||||
; MOVE @OBJLST,A0,L
|
||||
; MOVE A0,*A7(OLINK),L ; LAST CHAR ----> OBJLST
|
||||
; MOVE A4,@OBJLST,L ; OBJLST ---> 1ST CHAR
|
||||
|
||||
******************* END OF LINE (QUOTE FROM TRON) ***************
|
||||
|
||||
.END
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,304 @@
|
|||
.TITLE 'FBSTUFF.ASM'
|
||||
.WIDTH 132
|
||||
.OPTION B,D,L,T
|
||||
.MNOLIST
|
||||
|
||||
; ROUTINES STOLEN FROM HIGH IMPACT FOOTBALL
|
||||
;
|
||||
; INITIATED: JAN 10,1991
|
||||
; MODIFIED: !
|
||||
; SOFTWARE: MARK TURMELL
|
||||
;
|
||||
; COPYRIGHT (C) 1989 WILLIAMS ELECTRONICS GAMES, INC.
|
||||
;
|
||||
;
|
||||
; GET THE SYSTEM STUFF
|
||||
|
||||
.INCLUDE "MPROC.EQU" ;MPROC EQUATES
|
||||
.INCLUDE "\VIDEO\SYS\SYS.INC" ;Z UNIT SYSTEM EQUATES
|
||||
.INCLUDE "\VIDEO\SYS\MACROS.HDR" ;MACROS DEFINITIONS
|
||||
.INCLUDE "GAME.EQU"
|
||||
;
|
||||
;SOUNDS
|
||||
;
|
||||
;
|
||||
;SYMBOLS EXTERNALLY DEFINED
|
||||
;
|
||||
.REF PALSET,PALRAM
|
||||
;
|
||||
;SYMBOLS DEFINED IN THIS FILE
|
||||
;
|
||||
.DEF FB_FADEOUT,FB_FADEIN
|
||||
|
||||
PID_FX .EQU 200
|
||||
|
||||
.TEXT
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* FADEALL *
|
||||
* *
|
||||
* FADE EVERYTHING USING A GIVEN FADE ENTRY *
|
||||
* *
|
||||
* ENTRY *
|
||||
* A0 LIST OF PALETTES *
|
||||
* A11 FADE MULT TABLE *
|
||||
* *
|
||||
* EXIT *
|
||||
* NOTHING *
|
||||
* *
|
||||
* CALL *
|
||||
* CALL *
|
||||
* *
|
||||
**************************************************************************
|
||||
|
||||
FADEALL:
|
||||
mmtm SP,A0,A1,A2,A6,A7,A8,A9,A11
|
||||
JRUC Fader
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* FADEIN *
|
||||
* *
|
||||
* FADE A LIST OF PALETTES FROM BLACK TO THEIR CURRENT COLORS *
|
||||
* *
|
||||
* ENTRY *
|
||||
* A0 PTR TO NULL TERMINATED LIST **NOT** TO FADE *
|
||||
* *
|
||||
* EXIT *
|
||||
* NOTHING *
|
||||
* *
|
||||
**************************************************************************
|
||||
|
||||
FB_FADEIN:
|
||||
mmtm SP,A0,A1,A2,A6,A7,A8,A9,A11
|
||||
movi FadeIn,A11
|
||||
jruc Fader
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* FADEOUT *
|
||||
* *
|
||||
* FADE A LIST OF PALETTES DOWN TO BLACK *
|
||||
* *
|
||||
* ENTRY *
|
||||
* A0 PTR TO NULL TERMINATED LIST **NOT** TO FADE *
|
||||
* *
|
||||
* EXIT *
|
||||
* NOTHING *
|
||||
* *
|
||||
**************************************************************************
|
||||
|
||||
FB_FADEOUT:
|
||||
mmtm SP,A0,A1,A2,A6,A7,A8,A9,A11
|
||||
movi FadeOut,A11
|
||||
|
||||
Fader:
|
||||
move A0,A6
|
||||
|
||||
;* WALK EUGENES PALETTE TABLE, START PROC TO FADE EACH PALETTE *
|
||||
clr A9 ;palette slot
|
||||
dec A9
|
||||
movi PALRAM-PALRSIZ,A2 ;base of eugenes palette table
|
||||
PalLp:
|
||||
addi PALRSIZ,A2
|
||||
inc A9
|
||||
cmpi NUMPAL,A9
|
||||
jrge PalLpX
|
||||
|
||||
move *A2(PALCNT),A1,W ;is palette allocated?
|
||||
jrz PalLp
|
||||
move *A2(PALID),A8,L ;Ptr to palette
|
||||
;*** SKIP FADING PALS IN LIST POINTED TO BY A6
|
||||
move A6,A7
|
||||
jrz SkFPalX
|
||||
SkPalLp:
|
||||
move *A7+,A1,L
|
||||
jrz SkFPalX
|
||||
cmp A1,A8
|
||||
jreq PalLp
|
||||
jruc SkPalLp
|
||||
SkFPalX:
|
||||
CREATE PID_FX,FADEPROC
|
||||
jruc PalLp
|
||||
PalLpX:
|
||||
|
||||
mmfm SP,A0,A1,A2,A6,A7,A8,A9,A11
|
||||
rets
|
||||
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* FADE_ONLY *
|
||||
* *
|
||||
* FADE ONLY A CERTAIN PALETTE *
|
||||
* *
|
||||
* ENTRY *
|
||||
* A0 PALETTE TO BE FADED *
|
||||
* A11 MULTIPLIER FOR PALETTES *
|
||||
* *
|
||||
* EXIT *
|
||||
* NOTHING *
|
||||
* *
|
||||
* CALL *
|
||||
* CALLA *
|
||||
* *
|
||||
**************************************************************************
|
||||
|
||||
FADE_ONLY:
|
||||
mmtm SP,A0,A1,A2,A6,A7,A8,A9,A11
|
||||
move A0,A6
|
||||
|
||||
;* WALK EUGENES PALETTE TABLE, START PROC TO FADE EACH PALETTE *
|
||||
|
||||
clr A9 ;palette slot
|
||||
dec A9
|
||||
movi PALRAM-PALRSIZ,A2 ;base of eugenes palette table
|
||||
FOPalLp:
|
||||
addi PALRSIZ,A2
|
||||
inc A9
|
||||
cmpi NUMPAL,A9
|
||||
jrge FOPalLpX
|
||||
|
||||
move *A2(PALCNT),A1,W ;is palette allocated?
|
||||
jrz FOPalLp
|
||||
move *A2(PALID),A8,L ;Ptr to palette
|
||||
CMP A6,A8
|
||||
JRNZ FOPalLp ; BR = NOT THE ONE FOR ME
|
||||
CREATE PID_FX,FADEPROC
|
||||
jruc FOPalLp
|
||||
FOPalLpX:
|
||||
mmfm SP,A0,A1,A2,A6,A7,A8,A9,A11
|
||||
rets
|
||||
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* FADEPROC *
|
||||
* *
|
||||
* PROCESS TO ACTUALLY FADE A PALETTE *
|
||||
* *
|
||||
* ENTRY *
|
||||
* A8 PTR TO PALETTE TO BE FADED *
|
||||
* A9 PALETTE SLOT OF PALETTE *
|
||||
* A11 FADE MULTIPLIER TABLE *
|
||||
* *
|
||||
* EXIT *
|
||||
* NOTHING *
|
||||
* *
|
||||
**************************************************************************
|
||||
|
||||
FADEPROC:
|
||||
sll 24,A9 ;B8-15 DEST PAL | B0-7 START COLOR
|
||||
srl 16,A9
|
||||
|
||||
.IF YUNIT
|
||||
MOVE A9,A2
|
||||
SRL 12,A2
|
||||
SLL 14,A2
|
||||
SLL 20,A9
|
||||
SRL 20,A9
|
||||
ADD A2,A9
|
||||
.ENDIF
|
||||
|
||||
FadePLp:
|
||||
;**** SET UP FADED PAL IN PROCESS DATA SPACE ****
|
||||
move *A11+,A2,W ;A2 - Color Multiplier
|
||||
jrn FadePrcX
|
||||
move A13,A0
|
||||
addi PDATA,A0 ;A0 - Dest Ram for Pal
|
||||
move A8,A1 ;A1 - Src for Pal
|
||||
callr FadePal
|
||||
|
||||
;**** GET FADED PALETTE XFERRED TO PALRAM ****
|
||||
move A9,A1 ;B8-15 DEST PAL | B0-7 START COLOR
|
||||
move A13,A0
|
||||
addi PDATA,A0 ;SRC FOR XFER
|
||||
move *A0+,A2,W ;GET # COLORS IN PALETTE
|
||||
calla PALSET ;SETUP PALETTE TRANSFER
|
||||
|
||||
SLEEP 2
|
||||
jruc FadePLp
|
||||
|
||||
FadePrcX:
|
||||
SLEEP 1 ;give last xfer a chance to go
|
||||
DIE
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* FADEPAL *
|
||||
* *
|
||||
* APPLY THE COLOR MULTIPLIER AND DO ONE ITERATION ON THE PALETTE *
|
||||
* *
|
||||
* ENTRY *
|
||||
* A0 DESTINATION RAM FOR PALETTE *
|
||||
* A1 SOURCE FOR PALETTE *
|
||||
* A2 COLOR MULTIPLIER *
|
||||
* *
|
||||
* EXIT *
|
||||
* NOTHING *
|
||||
* *
|
||||
* NOTE: EACH COLOR IN PALETTE WILL BE MULTIPLIED BY A2 THEN *
|
||||
* DIVIDED BY 128 *
|
||||
* *
|
||||
**************************************************************************
|
||||
|
||||
FadePal:
|
||||
mmtm SP,A8,A9,A10,A11
|
||||
|
||||
move *A1+,A14,W
|
||||
move A14,*A0+,W
|
||||
sll 23,A14 ;top bits of field are flags
|
||||
srl 23,A14 ; only 9 bits needed for # colors
|
||||
|
||||
movi >7C00,A4 ;A4 - Pre Mult Mask for 5 bits of red
|
||||
movi >03E0,A6 ;A6 - Pre Mult Mask for 5 bits of green
|
||||
movi >001F,A8 ;A8 - Pre Mult Mask for 5 bits of blue
|
||||
move A4,A9
|
||||
move A6,A10
|
||||
move A8,A11
|
||||
sll 7,A9 ; A9 - Post Mult Max for 5 bits of red
|
||||
sll 7,A10 ;A10 - Post Mult Max for 5 bits of green
|
||||
sll 7,A11 ;A11 - Post Mult Max for 5 bits of blue
|
||||
|
||||
FadeLp:
|
||||
move *A1+,A3,W ;A3 - RED
|
||||
move A3,A5 ;A5 - GREEN
|
||||
move A3,A7 ;A7 - BLUE
|
||||
and A4,A3
|
||||
and A6,A5
|
||||
and A8,A7
|
||||
mpyu A2,A3
|
||||
mpyu A2,A5
|
||||
mpyu A2,A7
|
||||
cmp A9,A3
|
||||
jrle RedOk
|
||||
move A9,A3
|
||||
RedOk:
|
||||
cmp A10,A5
|
||||
jrle GreenOk
|
||||
move A10,A5
|
||||
GreenOk:
|
||||
cmp A11,A7
|
||||
jrle BlueOk
|
||||
move A11,A7
|
||||
BlueOk:
|
||||
and A9,A3
|
||||
and A10,A5
|
||||
; and A11,A7 ;unnecessary cause bottom bits will get >> 7
|
||||
|
||||
or A5,A3
|
||||
or A7,A3
|
||||
srl 7,A3
|
||||
move A3,*A0+,W
|
||||
dsjs A14,FadeLp
|
||||
|
||||
mmfm SP,A8,A9,A10,A11
|
||||
rets
|
||||
|
||||
FadeIn .word 0,0,8,16,24,32,40,48,56,64,72,80,88,96,104,112,120,128,>FFFF
|
||||
FadeOut .word 120,112,104,96,88,80,72,64,56,48,40,32,24,16,8,0,>FFFF
|
||||
|
||||
.END
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,424 @@
|
|||
**************************************************************************
|
||||
* *
|
||||
* GAME.INC *
|
||||
* ALL .EQU CONSTANTS TO BE USED THROUGHOUT THE GAME *
|
||||
* *
|
||||
* *
|
||||
**************************************************************************
|
||||
;
|
||||
;
|
||||
;ENEMY VALUES FOR WAVE_INFO TABLE
|
||||
HULK .EQU 1 ;GRUNT ENEMY
|
||||
TANK .EQU 2 ;MINE LAYER
|
||||
AHMD .EQU 3 ;AHMED FLAME THROWER
|
||||
AT72 .EQU 4 ;T72 SPAWN
|
||||
JEEPS .EQU 5 ;SPAWN JEEPS, LEVEL #=X POSITION RNG
|
||||
FND .EQU 6 ;SPAWN FIEND FROM OFF SCREEN
|
||||
SKIPR .EQU 7 ;SPAWN SKIPPER GRUNT
|
||||
SNEUT .EQU 8 ;SMALL NEUTRON BOMB
|
||||
RUNNRS .EQU 9 ;BONUS HOSTAGES RUNNING DOWN SCREEN
|
||||
ORC .EQU 10 ;ORCUS BOSS
|
||||
SNEUT2 .EQU 11 ;LOTS OF SMALL NEUTRON BOMBS
|
||||
JEEPS2 .EQU 12 ;LOTS OF JEEPS ON ROAD
|
||||
MOM .EQU 13 ;MOM SPIDER
|
||||
;
|
||||
PLYR2_ID .EQU 11
|
||||
;
|
||||
;POINTS FOR ALL ENEMIES, ETC.
|
||||
;
|
||||
DEARM .EQU >200
|
||||
KEYPT .EQU >150
|
||||
HLKPT .EQU >25
|
||||
FNDPT .EQU >80
|
||||
AHMDPT .EQU >150
|
||||
CRTPT .EQU >30 ;CRATE/BARREL PTS FOR SHOOTING
|
||||
CRTPT2 .EQU >275 ;CRATE/BARREL PTS FOR WALKING INTO!
|
||||
MINEPT .EQU >50
|
||||
BTNKPT .EQU >350 ;BIG TANK POINTS (T72)
|
||||
JEEPPT .EQU >175 ;JEEP POINTS
|
||||
HITPT .EQU >1 ;BIG STUFF GETS HIT WITH A BULLET
|
||||
LAYPT .EQU >125 ;MINE LAYER
|
||||
GATEPT .EQU >250 ;POINTS FOR BLOWING A GATE OPEN
|
||||
TURTPT .EQU >100 ;POINTS FOR ALL TURRET TYPE GUNS
|
||||
DISHPT .EQU >650 ;DISH OR REACTOR
|
||||
JETPT .EQU >500 ;JETS - ADDS IN DISHPT ALSO!
|
||||
EGGPT .EQU >50
|
||||
;
|
||||
PCSMAX .EQU 85 ;CHUNKS UP INTO AIR ;85
|
||||
;
|
||||
;BULLET LAYOUT
|
||||
BLTDIR .EQU PDATA ;UHW
|
||||
AGE .EQU PDATA+16 ;UHW
|
||||
GTMP .EQU PDATA+32 ;UHW - PNTR INTO CY TABLE FOR GRENADE
|
||||
MYPLYR .EQU PDATA+48 ;UHW PLAYER 1 OR 2 FIRED ME=1 OR 2
|
||||
;THE RINGS USE BULLET LAYOUT WITH SOME ADDED FIELDS:
|
||||
DELAY .EQU PDATA+64 ;UHW DELAY FOR Y UPDATE
|
||||
PNTR .EQU PDATA+80 ;UHW PNTR INTO Y UPDATE TABLE
|
||||
FROM_TSO .EQU PDATA+96 ;UHL FROM TORSO
|
||||
TIME .EQU PDATA+128 ;UHW TIME RINGS STAY ON
|
||||
|
||||
|
||||
;TORSO PDATA STRUCTURE
|
||||
*STRUCT PLYR
|
||||
TSO_PTR .EQU PDATA ;UHL TORSO FOR THESE LEGS
|
||||
DELYDET .EQU PDATA+32 ;96 ;UHW DELAY KILL TAKE OUT!!!
|
||||
;MYPLYR .EQU PDATA+48 ;UHW PLAYER 1 OR 2 FIRED ME=1 OR 2
|
||||
PNUM .EQU PDATA+48 ;224 ;UHW 1 OR 2 FOR PLAYER NUMBER
|
||||
STICK .EQU PDATA+64 ;UHL STICK ADDRESS
|
||||
OSHTDIR .EQU PDATA+112 ;UHW OLD SHOT DIR
|
||||
P_DIR .EQU PDATA+128 ;UHW PLAYER DIR
|
||||
OLD_P_DIR .EQU PDATA+144 ;UHW OLD DIR
|
||||
WPN_TYP .EQU PDATA+160 ;UHW WEAPON TYPE
|
||||
REV_P_DIR .EQU PDATA+176 ;UHW REV DIR
|
||||
SHOOT_FLAG .EQU PDATA+192 ;UHW SHOOT FLAG
|
||||
TMP_P_DIR .EQU PDATA+208 ;UHW TEMP P1 DIR
|
||||
LEG_PTR .EQU PDATA+224 ;32 ;UHL LEGS IMG FOR THIS TORSO
|
||||
REV_FLAG .EQU PDATA+256 ;UHW FLAG
|
||||
DEAD .EQU PDATA+272 ;UHW DEAD FLAG
|
||||
SHOTCNT .EQU PDATA+288 ;UHW AMMO CNT FOR POWERUP WPN
|
||||
HAVE_REV .EQU PDATA+304 ;240 ;UHW FLAG
|
||||
;TSHOTS .EQU PDATA+304 ;UHW TOTAL SHOTS FIRED
|
||||
LEG_PRC .EQU PDATA+320 ;UHL LEG PROCESS PTR
|
||||
LSRPTR .EQU PDATA+352 ;UHL HELPER PTR OR 0 IF NONE
|
||||
KILLERO .EQU PDATA+384 ;UHL KILLER IMG PNTR
|
||||
*ENDSTRUCT
|
||||
|
||||
;LEGS PDATA STRUCTURE
|
||||
;TSO_PTR .EQU PDATA ;UHL TORSO FOR THESE LEGS
|
||||
;LEG_PTR .EQU PDATA+32 ;UHL LEGS IMG FOR THIS TORSO
|
||||
TSO_PRC .EQU PDATA+96 ;UHL TORSO PROCESS FOR THESE LEGS
|
||||
SHOECNT .EQU PDATA+128 ;UHW SHOES ON TIMER
|
||||
SVSHO .EQU PDATA+144 ;UHW SAVE SHOE CNT FOR NEXT WAVE
|
||||
TCH_WALL .EQU PDATA+160 ;UHW TOUCH WALL FLAG 1=YES
|
||||
SHOEV .EQU PDATA+176 ;UHW SHOE VERSION FOR STANDING
|
||||
;LEG_PTR .EQU PDATA+224 ;32 ;UHL LEGS IMG FOR THIS TORSO
|
||||
;
|
||||
;PROCESS ID'S
|
||||
;
|
||||
INTROPID .EQU 100
|
||||
JOYPID .EQU 101
|
||||
CHNKPID .EQU 102
|
||||
LAYPID .EQU 103
|
||||
DELPID .EQU 104
|
||||
FLGPID .EQU 105
|
||||
BMBPID .EQU 106
|
||||
TARGPID .EQU 107
|
||||
DROPPID .EQU 108
|
||||
CYCPID .EQU 109
|
||||
BUYINPID .EQU 110
|
||||
ARWPID .EQU 111
|
||||
AMDEPID .EQU 112
|
||||
GMEOVPID .EQU 113
|
||||
SCRPID .EQU 114
|
||||
PLY1PID .EQU 115 ;PLAYER 1 STUFF
|
||||
PLY2PID .EQU 116 ;PLAYER 2 STUFF
|
||||
P1PID .EQU 117
|
||||
P2PID .EQU 118
|
||||
COLPID .EQU 119 ;COLLISIONS
|
||||
COLRPID .EQU 120 ;COLOR CYCLE FROM INTERRUPT
|
||||
DG1PID .EQU 121 ;CNTDWN DIGIT PROC
|
||||
DG2PID .EQU 122 ;CNTDWN DIGIT PROC
|
||||
FADEPID .EQU 123 ;SOUND FADER
|
||||
CP_PID1 .EQU 124
|
||||
CP_PID2 .EQU 125
|
||||
LC_PID .EQU 126
|
||||
RC_PID .EQU 127
|
||||
CC_PID .EQU 128
|
||||
SLAM_PID .EQU 129
|
||||
DIAG_PID .EQU 130
|
||||
P1SWPID .EQU 131
|
||||
P2SWPID .EQU 132
|
||||
DUM_ID .EQU 133
|
||||
B1PID .EQU 134
|
||||
B2PID .EQU 135
|
||||
RCYC1PID .EQU 136
|
||||
RCYC2PID .EQU 137
|
||||
ICONPID .EQU 138
|
||||
BULPID .EQU 139
|
||||
RNG1PID .EQU 140 ;RINGS
|
||||
TEMPPID .EQU 141
|
||||
HULKPID .EQU 142
|
||||
TP2PID .EQU 143
|
||||
LORDPID .EQU 144
|
||||
T72PID .EQU 145
|
||||
FNDPID .EQU 146
|
||||
RNG2PID .EQU 147 ;RINGS 2
|
||||
SECDR .EQU 148
|
||||
CMAN .EQU 149
|
||||
BLOWPID .EQU 150
|
||||
FUTUREPID .EQU 151 ;FOR PROCS THAT WAKE UP IN FUTURE
|
||||
HSTGPID .EQU 152
|
||||
SHOTPID .EQU 153
|
||||
SHRPPID .EQU 154
|
||||
GIPID .EQU 155
|
||||
AHMDPID .EQU 156
|
||||
POWPID .EQU 157
|
||||
MAPPID .EQU 158
|
||||
WARPPID .EQU 159
|
||||
TESTPID .EQU 160
|
||||
FUTRPID .EQU 161 ;FOR PROCS THAT WAKE UP IN FUTURE
|
||||
MADPID .EQU 162 ;MADMAN PROCS
|
||||
BMBLT1PID .EQU 163
|
||||
BMBLT2PID .EQU 164
|
||||
shawnpid .equ 165
|
||||
FLMPID .EQU 166
|
||||
FIXPID .EQU 167
|
||||
NEUTPID .EQU 168
|
||||
JEEPID .EQU 169
|
||||
PONDPID .EQU 170
|
||||
JETPID .EQU 171
|
||||
HISCPID .EQU >200
|
||||
BOMBNPID .EQU >300
|
||||
FRYPID .EQU >400
|
||||
ANIMPID .equ >4000 ;Animation PIDs (256)
|
||||
ANIMPID2 .equ >4100 ;Animation2 PIDs (256)
|
||||
ANIMPID3 .equ >4200 ;Animation3 PIDs (256)
|
||||
ANIMPID4 .equ >4300 ;Animation4 PIDs (256)
|
||||
|
||||
;
|
||||
;OBJECT ID'S
|
||||
;
|
||||
|
||||
;**** OBJECT IDENTIFIER FIELDS
|
||||
B_CLASS .set 15
|
||||
F_CLASS .set >E000
|
||||
CLSNEUT .EQU >0000 ;NEUTRAL ITEMS
|
||||
CLSDEAD .EQU >2000 ;OBJECTS THAT DELETE THEMSELVES
|
||||
CLSANIM .EQU >3800 ;Animation class objects
|
||||
CLSPLYR .EQU >4000 ;PLAYERS STUFF
|
||||
CLSENMY .EQU >8000 ;ENEMIES
|
||||
;
|
||||
TYPNEUT .EQU 0000H ;TYPE NEUTRAL
|
||||
TYPPLYR .EQU 0100H ;PLAYER
|
||||
TYPPLBL .EQU 0200H ;PLAYER BULLET
|
||||
TYPTRUNK .EQU 0300H ;TREE TRUNK TYPE ITEMS
|
||||
TYPGATE .EQU 0400H ;GATES/DOORS
|
||||
TYPBOMB .EQU 0500H ;TIME BOMB EXPLOSION
|
||||
TYPHSTG .EQU 0600H ;HOSTAGES
|
||||
TYPTEXT .EQU 0700H ;TYPE TEXT
|
||||
TYPICON .EQU 0800H ;POWERUP ICON
|
||||
TYPCRTE .EQU 0900H ;CRATE/BRLS
|
||||
TYPHULK .EQU 0A00H ;HULKS
|
||||
TYPFND .EQU 0B00H ;FIEND
|
||||
TYPSHOT .EQU 0C00H ;SHOTS FROM ENEMIES
|
||||
TYPHLPR .EQU 0D00H ;HELPER BLADE AROUND PLYRS
|
||||
TYPGOO .EQU 0E00H ;GOO SHRAPNEL
|
||||
TYPGRW .EQU 0F00H ;GROW FROM SLIME
|
||||
TYPT72 .EQU 1000H ;T72 TANK IN DESERT
|
||||
TYPTORSO .EQU 1100H ;TORSO ON TOP OF TANK
|
||||
TYPLAYR .EQU 1200H ;MINE LAYER
|
||||
TYPAHMD .EQU 1300H ;AHMED FLAME THROWER
|
||||
TYPFACE .EQU 1400H ;FROG FACE
|
||||
TYPSL .EQU 1500H ;SHAWN TYPE ENEMIES
|
||||
TYPMINE .EQU 1700H ;LAND MINE ON GROUND
|
||||
TYPJET .EQU 1800H ;JET
|
||||
|
||||
;JARVIS
|
||||
*FROGFACE SUBTYPES
|
||||
*SUBTYPES
|
||||
SUBMTHL EQU 1
|
||||
SUBMTHR EQU 2
|
||||
SUBSIDEL EQU 3
|
||||
SUBSIDER EQU 4
|
||||
SUBEL EQU 5
|
||||
SUBER EQU 6
|
||||
SUBSHLDL EQU 7
|
||||
SUBSHLDR EQU 8
|
||||
SUBHD EQU 9
|
||||
SUBARML EQU 10
|
||||
SUBARMR EQU 11
|
||||
SUBTUNG EQU 12
|
||||
SUBFLAM EQU 13
|
||||
|
||||
;
|
||||
;SUB MINE LAYER
|
||||
;
|
||||
SUBFLM .EQU 01H ;MINE LAYER SWAPS TO THIS OID
|
||||
;
|
||||
;SUB HELPER
|
||||
;
|
||||
SUBLAY .EQU 01H ;MINE LAYER SWAPS TO THIS OID
|
||||
;
|
||||
;SUB CRATE
|
||||
;
|
||||
SUBCRT .EQU 02H
|
||||
SUBBRL .EQU 04H ;BARREL
|
||||
|
||||
;SUB TANK
|
||||
;
|
||||
SUBTK .EQU 01H ;TANK PORTION OF T72 TANK
|
||||
SUB60 .EQU 02H ;TOSRO IS FROM BTR60
|
||||
SUBPIT .EQU 04H ;GUNNER FROM SAND PITS
|
||||
;
|
||||
;SUB HOSTAGE TYPES
|
||||
;
|
||||
;SUBGUYA .EQU 01H
|
||||
;SUBGUYB .EQU 02H
|
||||
;SUBGUYC .EQU 03H
|
||||
;SUBGUYD .EQU 04H
|
||||
SUBRUN .EQU 05H
|
||||
;
|
||||
;TYPE PLAYER SUB TYPES
|
||||
;
|
||||
SUBPL_1 .EQU 0001H ;PLAYER 1
|
||||
SUBPL_2 .EQU 0002H
|
||||
SUBRNG1 .EQU 0003H ;RINGS FOR PLAYER 1,2
|
||||
SUBHLPME .EQU 0004H ;BLADE SPINNING AROUND PLYR
|
||||
;
|
||||
;TYPE PLAY BULLET SUB TYPES
|
||||
;
|
||||
SUBLZR .EQU 0001H ;REGULAR LAZER SHOTS
|
||||
SUBSPRY .EQU 0002H ;SPRAY SUB TYPE
|
||||
SUBFIRE1 .EQU 0003H ;FIRE BALL WPN
|
||||
SUBGRND .EQU 0004H ;GRENADE
|
||||
SUBNOSTP .EQU 0005H ;NON STOPPING BULLET
|
||||
SUBSPDG1 .EQU 0006H ;MACHINE GUN TYP WPN
|
||||
;
|
||||
;TYPE ICON SUB TYPES
|
||||
;
|
||||
SUBFIRE .EQU 0001H ;FIRE BALL ICON
|
||||
SUBSPRY1 .EQU 0002H ;SPRAY BULLETS ICON
|
||||
SUBSPDG .EQU 0003H ;MACHINE GUN TYP ICON
|
||||
SUBMAN .EQU 0004H ;EXTRA MAN ICON
|
||||
SUBGREN .EQU 0005H ;GRENADE
|
||||
SUBRING .EQU 0006H ;RING ICON
|
||||
SUBNSTP .EQU 0007H ;NON STOPPING BULLETS ICON
|
||||
SUBKEY .EQU 0008H ;KEY ICON
|
||||
SUBSHOE .EQU 0009H ;SHOE ICON
|
||||
SUBSMRT .EQU 000AH ;SMART BOMB
|
||||
SUBBMB .EQU 000BH ;EXTRA BOMBS
|
||||
SUBCSH .EQU 000CH ;JEWEL ITEMS
|
||||
SUBHLP .EQU 000DH ;HELPER
|
||||
SUBBLET .EQU 000EH ;BOMBLETS ICON
|
||||
SUBSEGG .equ 0010H ;Spider egg
|
||||
SUBBOMBSN .equ 0011H ;Small neutron bomb
|
||||
|
||||
;TYPE NEUTRAL SUB TYPES
|
||||
SUBARW .EQU 0001H ;ARROW ID
|
||||
SUBUP .EQU 0002H ;OVERHEAD ITEMS
|
||||
SUBUP2 .EQU 0003H ;OVERHEAD ITEMS AFTER VEL SET
|
||||
SUBCHNK .EQU 0004H ;CHUNK PC
|
||||
SUBCHNK2 .EQU 0005H ;CHUNK PC
|
||||
|
||||
;TYPE TEXT SUB TYPES
|
||||
SUBTXT .EQU 0001H ;TEXT ID
|
||||
SUBP1TXT .EQU 0002H ;P1 TEXT
|
||||
SUBP2TXT .EQU 0003H ;P2 TEXT
|
||||
SUBP1LVS .EQU 0004H ;ID FOR P1 LIVES DIGIT
|
||||
SUBWNDW .EQU 0005H ;BIG BOX WINDOW ID
|
||||
SUBNEW .EQU 0006H ;NEWOID FOR WAVES
|
||||
SUBTIME .EQU 0007H ;BTIME ID
|
||||
SUBMES1 .EQU 0008H
|
||||
SUBMES2 .EQU 0009H
|
||||
SUBGOTXT .EQU 000AH ;GAME OVER TEXT
|
||||
SUBSCOR .EQU 000BH ;SCORE ID
|
||||
SUBP2LVS .EQU 000CH ;ID FOR P2 LIVES DIGIT
|
||||
SUBDG1I .EQU 000DH ;CNTDWN PLYR1
|
||||
SUBDG2I .EQU 000EH ;CNTDWN PLYR2
|
||||
;
|
||||
|
||||
;
|
||||
B_TYPE .set 12
|
||||
F_TYPE .set >1F00
|
||||
B_PLYR .set 6
|
||||
F_PLYR .set >00C0
|
||||
B_PLYR1 .set 6
|
||||
B_PLYR2 .set 7
|
||||
|
||||
B_SUBT .set 5
|
||||
F_SUBT .set >003F
|
||||
|
||||
PLIST_ID .EQU 1000H
|
||||
|
||||
JOYLFT .EQU 2
|
||||
JOYRGT .EQU 3
|
||||
JOYUP .EQU 0
|
||||
JOYDN .EQU 1
|
||||
|
||||
; BIT MASKS FOR PLAYER CONTROL TESTING
|
||||
|
||||
BMPRYTE .EQU 3 ;MOVE RIGHT,LEFT,DOWN,UP (LSB)
|
||||
BMPLEFT .EQU 2
|
||||
BMPDOWN .EQU 1
|
||||
BMPUP .EQU 0
|
||||
|
||||
;YUNIT EQUATES
|
||||
BMPFRYTE .EQU 7 ;FIRE RIGHT,LEFT,DOWN,UP (MSB)
|
||||
BMPFLEFT .EQU 6
|
||||
BMPFDOWN .EQU 5
|
||||
BMPFUP .EQU 4
|
||||
|
||||
; BITS USED IN PLAYER CONTROLS (1=ACTIVE)
|
||||
|
||||
PRYTE .EQU 8
|
||||
PLEFT .EQU 4
|
||||
PDOWN .EQU 2
|
||||
PUP .EQU 1
|
||||
|
||||
;YUNIT EQUATES FOR JOYSTICK
|
||||
PFRYTE .EQU 80H
|
||||
PFLEFT .EQU 40H
|
||||
PFDOWN .EQU 20H
|
||||
PFUP .EQU 10H
|
||||
|
||||
;
|
||||
;*GAME STATE CONSTANTS
|
||||
INGAME .EQU 10H
|
||||
ININTRO .EQU 18H
|
||||
INAMODE .EQU 30H
|
||||
INDIAG .EQU 40H
|
||||
INGAMEOV .EQU 50H
|
||||
STOPOBJ .EQU 60H
|
||||
;
|
||||
IBUYINS .EQU 8000 ;NUMBER OF BUYINS ALLOWED
|
||||
BBUYIN .EQU 19 ;TIME TO BUY IN
|
||||
*
|
||||
;*ASCII FONT MISCELLANEOUS EQUATES
|
||||
F15SP EQU 7EH ;FONT 15 SP CHARACTER, FOR HS ENTRY
|
||||
F15RUB EQU F15SP+1 ;FONT 15 RUB CHARACTER,FOR HS ENTRY
|
||||
F15END EQU F15RUB+1 ;FONT 15 END CHARACTER,FOR HS ENTRY
|
||||
F15RQUOT EQU F15END+1 ;FONT 15 RIGHT QUOTE
|
||||
|
||||
************************************************************
|
||||
* *
|
||||
* PLAYER DATA STRUCTURE *
|
||||
* ALL OFFSETS ARE 32 BITS FOR MASS MOVES. *
|
||||
* *
|
||||
************************************************************
|
||||
POBJ .EQU 00H ;PLAYER OBJECT BLOCK
|
||||
PSCRAD .EQU 20H ;PLAYER SCORE SCREEN ADDRESS
|
||||
PSCORE .EQU 40H ;PLAYER SCORE
|
||||
TSHOTS .EQU 60H ;TOTAL SHOTS FIRED
|
||||
TMINEDTH .EQU 70H ;LAND MINE DEATHS!
|
||||
TBIGSTF .EQU 80H ;TOTAL BIG STUFF DESTROYED
|
||||
TMISLS .EQU 90H ;TOTAL MISSILE STRIKES
|
||||
TEARNED .EQU 0A0H ;TOTAL EXTRA MEN EARNED (SCORE/ICONS)
|
||||
TWPNS .EQU 0B0H ;TOTAL WEAPONS PICKED UP
|
||||
BMBSUSED .EQU 0C0H ;TOTAL BOMBS/CRUISES USED
|
||||
PENRGSIZ .EQU 0E0H ;INC/DEC SIZE OF PLAYER LIVES
|
||||
PTSRAM .EQU 100H ;HOSTAGE PTS VALUE 0-9
|
||||
PNEXTREP .EQU 120H ;NEXT REPLAY LEVEL, 32 BITS BCD
|
||||
PLIVES .EQU 140H ;# OF PLAYER LIVES
|
||||
BMB_CNT .EQU 150H ;# OF BOMBS LEFT TO USE
|
||||
STIMER .EQU 160H ;SCORE TIMER
|
||||
THSTGS .EQU 170H ;TOTAL HOSTAGES COLLECTED
|
||||
TFLAGS .EQU 180H ;TOTAL FLAGS PICKED UP
|
||||
DLY_MSG .EQU 190H ;MESSAGE DELAY CONTROL WORD
|
||||
CNTD .EQU 1A0H ;UHW PLAYER CONTINUE FLAG/CNTDWN FLAG
|
||||
LVADDR .EQU 1C0H ;ADDRESS OF LIVES IMG FOR DMA SCRBRD
|
||||
MESSAGE .EQU 1E0H ;ADDRESS OF CORRECT COIN IN MESSAGE
|
||||
CASHCNT .EQU 200H ;UHW GEMS PICKED UP
|
||||
THITS .EQU 210H ;UHW TOTAL SUCCESSFULL SHOTS FIRED
|
||||
TKEYS .EQU 220H ;UHW TOTAL KEYS COLLECTED
|
||||
PDEND .EQU 230H ;END OF PLAYER DATA
|
||||
PDSIZE .EQU PDEND ;SIZE OF PLAYER DATA BLOCK
|
||||
|
||||
|
||||
|
||||
|
||||
*****************************************************************************
|
||||
*****************************************************************************
|
||||
*****************************************************************************
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,189 @@
|
|||
|
||||
|
||||
|
||||
;
|
||||
;SCREEN SETS
|
||||
;
|
||||
;SKYTOPOF .EQU 45
|
||||
|
||||
;TYPORB .EQU 0400H ;ORB ENEMY (JARVIS)
|
||||
;TYPORBL .EQU 0500H ;ORB LAZER
|
||||
;TYPHULK .EQU 0600H ;HULK BAD GUY
|
||||
;TYPWLMN .EQU 0800H ;WALL MAN
|
||||
;TYPGAL .EQU 0900H ;GALAGA ENEMY 1
|
||||
;TYPCOB .EQU 0A00H ;COBRA
|
||||
;TYPCHSR .EQU 0B00H ;CHASER AFTER WAVE OVER
|
||||
;TYPICON .EQU 0C00H ;POWERUP ICON
|
||||
;TYPPRSM .EQU 0D00H ;PRISM AROUND PLAYER
|
||||
;TYPTANK .EQU 0E00H ;TANK IMAGE
|
||||
;TYPLSR .EQU 0F00H ;LASER SATELLITE AROUND PLAYER
|
||||
;TYPFAT .EQU 1000H ;FAT MAN
|
||||
;TYPTORSO .EQU 1100H ;TORSO OF TANK
|
||||
;TYPSNK .EQU 1200H ;JACK SNAKE
|
||||
; .EQU 1300H ;
|
||||
; .EQU 1400H ;
|
||||
;TYPCBALL .EQU 1500H ;CANNON BALL
|
||||
;TYPCBL2 .EQU 1600H ;EXPLODEING CBALL
|
||||
;TYPMUT .EQU 1800H ;MUTOID MAN
|
||||
;TYPFACE .EQU 1900H ;FLATFACE
|
||||
;TYPPILE .EQU 1A00H ;STUFF ON FLOOR BULLETS BUMP IN TO
|
||||
;
|
||||
;SUB COBRA ICONS
|
||||
;
|
||||
;SUBCOBBOD .EQU 0
|
||||
;SUBCOBHD .EQU >30
|
||||
;SUBCOBFLM .EQU >40
|
||||
;
|
||||
;SUB PILE TYPES
|
||||
;
|
||||
;SUBEDGE .EQU 01H ;EDGE OF WALL IN ARENA 1 (CIRCUIT 1)
|
||||
;
|
||||
;SUB GALAGA ICONS
|
||||
;
|
||||
;SUBHEAD .EQU 02H
|
||||
;SUBBALL .EQU 03H
|
||||
;SUBCHN .EQU 04H
|
||||
;
|
||||
;SUB FACE ICONS
|
||||
;
|
||||
;SUBGLL .EQU 00H
|
||||
;SUBGLR .EQU 01H
|
||||
;SUBSHL .EQU 02H
|
||||
;SUBSHR .EQU 03H
|
||||
;SUBEL .EQU 04H
|
||||
;SUBER .EQU 05H
|
||||
;SUBMTL .EQU 06H
|
||||
;SUBMTR .EQU 07H
|
||||
;SUBCKL .EQU 08H
|
||||
;SUBCKR .EQU 09H
|
||||
;SUBNSL .EQU 0AH
|
||||
;SUBNSR .EQU 0BH
|
||||
;
|
||||
;SUB MUTOID PIECES
|
||||
;
|
||||
;SUBTKL .EQU 01H
|
||||
;SUBTKR .EQU 02H
|
||||
;SUBTSL .EQU 03H
|
||||
;SUBTSR .EQU 04H
|
||||
;SUBARML .EQU 05H
|
||||
;SUBARMR .EQU 06H
|
||||
;SUBHD .EQU 07H
|
||||
;SUBSNK .EQU 08H
|
||||
;
|
||||
;TYPE EXPLOSIONS SUB TYPES
|
||||
;SUBNORM .EQU 0000H ;EXPLOSION THAT WON'T HURT ANYONE
|
||||
;SUBKILL .EQU 0001H ;KILLER TYPE EXPLOSION
|
||||
;TYPE ICONS SUB TYPES
|
||||
;SUBPOW1 .EQU 0000H ;BLADES ICON
|
||||
;SUBPOW2 .EQU 0001H ;HELPER ICON
|
||||
;SUBSPRY1 .EQU 0002H ;SPRAY BULLETS ICON
|
||||
;SUBPOD .EQU 0003H ;POD BOMBS ICON
|
||||
;SUBMAN .EQU 0004H ;EXTRA MAN ICON
|
||||
;SUBGREN .EQU 0005H ;GRENADE
|
||||
;SUBRING .EQU 0006H ;RING ICON
|
||||
;SUBNSTP .EQU 0007H ;NON STOPPING BULLETS ICON
|
||||
;SUBKEY .EQU 0008H ;KEY ICON
|
||||
;SUBSHOE .EQU 0009H ;SHOE ICON
|
||||
;SUBSMRT .EQU 000AH ;SMART BOMB
|
||||
;SUBPZ1 .EQU 000BH ;PRIZE 1
|
||||
;SUBPZ2 .EQU 000CH ;PRIZE 2
|
||||
;SUBPZ3 .EQU 000DH ;PRIZE 3
|
||||
;SUBCSH .EQU 000EH ;CASH ITEMS ON FLOOR
|
||||
;SUBCSHI .EQU 000FH ;CASH ITEMS ON FLOOR AT START OF WAVE
|
||||
;
|
||||
;NEOPID .EQU 201
|
||||
;SCOREPID .EQU 202
|
||||
;LC_PID .EQU 203
|
||||
;RC_PID .EQU 204
|
||||
;CC_PID .EQU 205
|
||||
;SLAM_PID .EQU 206
|
||||
;DIAG_PID .EQU 207
|
||||
;P1SWPID .EQU 208
|
||||
;P2SWPID .EQU 209
|
||||
;CP_PID1 .EQU 210
|
||||
;END_GAME_PID .EQU 211
|
||||
;CP_PID2 .EQU 212
|
||||
;COLRPID .EQU 213
|
||||
;DUM_ID .EQU 214
|
||||
;BUYCPID .EQU 215
|
||||
;INDPID .EQU 217
|
||||
;PMPID .EQU 220
|
||||
;LORDPID .EQU 223
|
||||
;DRLPID .EQU 225
|
||||
;DRRPID .EQU 226
|
||||
;DRTOPID .EQU 227 ;TOP DOOR OPEN ID
|
||||
;DRTCPID .EQU 228 ;TOP DOOR CLOSE ID
|
||||
;CHSRPID .EQU 229
|
||||
;CHNSWPID .EQU 230
|
||||
;LSRPID .EQU 231
|
||||
;ICONPID .EQU 232
|
||||
;ICTST .EQU 233
|
||||
;COLPID .EQU 234 ;COLLISION ROUTINE
|
||||
;PCPID .EQU 235
|
||||
;HULKPID .EQU 236
|
||||
;DRSPID .EQU 237
|
||||
;ORBPID .EQU 238
|
||||
;TNKPID .EQU 239
|
||||
;FATPID .EQU 240
|
||||
;STIMEPID .EQU 241
|
||||
;PODPID .EQU 242
|
||||
;EXPID .EQU 243
|
||||
;B1PID .EQU 244 ;BLINK RING PROC PLAYER 1
|
||||
;B2PID .EQU 245 ;BLINK RING PROC PLAYER 2
|
||||
;DLYPID .EQU 246 ;DELAY PLYR START BUTTON
|
||||
;DG1PID .EQU 249
|
||||
;DG2PID .EQU 250
|
||||
;CHSR2PID .EQU 251
|
||||
;CAMPID .EQU 254
|
||||
;FDPID .EQU 255
|
||||
;MNPID .EQU 256
|
||||
;SETPID .EQU 258
|
||||
;RCYC1PID .EQU 259
|
||||
;RCYC2PID .EQU 260
|
||||
;MCYCPID .EQU 261
|
||||
;CSHPID .EQU 262
|
||||
;FLYPID .EQU 263
|
||||
;TEMPPID .EQU 264
|
||||
;TP2PID .EQU 265
|
||||
;WLMNPID .EQU 266
|
||||
;BONPID .EQU 267
|
||||
;PICPID .EQU 268
|
||||
;BON1PID .EQU 269
|
||||
;TVPID .EQU 270
|
||||
;TV2PID .EQU 271
|
||||
;KCHAS .EQU 272
|
||||
;RNGPID .EQU 273
|
||||
;FADEPID .EQU 274
|
||||
;STPPID .EQU 275
|
||||
;RBTAPID .EQU 276
|
||||
;CYC2PID .EQU 277
|
||||
;GALPID .EQU 278
|
||||
;COBPID .EQU 279 ;COBRA MISC
|
||||
;COBPIDA .EQU 280 ;COBRA ANIMATION
|
||||
;COBPIDM .EQU 281 ;COBRA MAIN HEAD
|
||||
;COBPIDS .EQU 282 ;COBRA SPINE
|
||||
;BUNK .EQU 283
|
||||
;SNKPID .EQU 284 ;JACK SNAKE
|
||||
;LZRPID .EQU 285
|
||||
;BULPID .EQU 286
|
||||
;FIXIT .EQU 7777H
|
||||
;BEEPID .EQU 400
|
||||
;ENEMY VALUES FOR WAVE_INFO TABLE
|
||||
;ATRAIN .EQU 1
|
||||
;ORB .EQU 2
|
||||
;TANK .EQU 3
|
||||
;FAT .EQU 4
|
||||
;WLMN .EQU 5
|
||||
;HULK .EQU 6
|
||||
;MINE .EQU 7
|
||||
;MUTD .EQU 8
|
||||
;FACE .EQU 9
|
||||
;RBTA .EQU 10
|
||||
;GALS3 .EQU 11
|
||||
;GALS1 .EQU 12
|
||||
;GALS1A .EQU 13
|
||||
;GALS2 .EQU 14
|
||||
;COBRA .EQU 15
|
||||
;SNK .EQU 16
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,809 @@
|
|||
.FILE 'imgpal.asm'
|
||||
.OPTION B,D,L,T
|
||||
|
||||
.include imgtbl.glo
|
||||
.DATA
|
||||
.even
|
||||
|
||||
KRACK:
|
||||
.word 64
|
||||
.word >0,>2A1F,>7FFF,>0,>842,>C63,>1084,>14A4
|
||||
.word >18C6,>20E2,>1907,>2923,>3169,>4185,>4A05,>73C1
|
||||
.word >4E6F,>5294,>6,>A,>4C,>8E,>11,>1A
|
||||
.word >13D,>21F,>31F,>0,>0,>0,>0,>0
|
||||
.word >0,>0,>0,>0,>0,>20,>0,>0
|
||||
.word >0,>0,>0,>0,>0,>0,>0,>0
|
||||
.word >0,>0,>0,>0,>0,>0,>0,>0
|
||||
.word >0,>0,>0,>0,>0,>0,>0,>7FFF
|
||||
|
||||
ORCP1:
|
||||
.word 64
|
||||
.word >0,>421,>842,>C63,>E7,>108,>129,>16B
|
||||
.word >6E,>458,>1EE,>293,>1084,>14A5,>18C6,>1CE7
|
||||
.word >6064,>7C65,>2108,>2529,>294A,>2D6B,>318C,>39CE
|
||||
.word >7F61,>3DEF,>4210,>4632,>5274,>56B5,>6B3A,>7FFF
|
||||
.word >40,>80,>1C01,>A0,>C0,>E0,>501,>521
|
||||
.word >541,>561,>5A1,>3C00,>5C1,>5E1,>601,>641
|
||||
.word >661,>B00,>26E6,>3328,>330B,>432C,>4F52,>5F96
|
||||
.word >67B5,>6BD7,>7BFD,>4803,>6C00,>7C08,>1C00,>0
|
||||
|
||||
RIPAL:
|
||||
.word 64
|
||||
.word >0,>0,>421,>800,>C00,>821,>C21,>842
|
||||
.word >C63,>1000,>1400,>1800,>1C00,>1021,>1421,>1820
|
||||
.word >1821,>1C21,>1C41,>1C61,>1084,>1C62,>1C82,>14A5
|
||||
.word >18C6,>1CE6,>1CE7,>2000,>2400,>2800,>2061,>7FFF
|
||||
.word >60,>80,>60,>80,>81,>A1,>4A1,>20C6
|
||||
.word >2C00,>2C20,>3020,>3420,>3800,>4C41,>60,>60
|
||||
.word >60,>60,>80,>80,>A0,>A0,>2529,>8E0
|
||||
.word >A1,>C1,>C1,>920,>4E2,>520,>D40,>1D82
|
||||
|
||||
BLUBOOM:
|
||||
.word 64
|
||||
.word >0,>4,>25,>26,>48,>49,>6A,>6B
|
||||
.word >6C,>8E,>51,>52,>54,>56,>58,>59
|
||||
.word >7A,>9B,>BC,>5F,>11F,>15F,>17F,>1BF
|
||||
.word >1DF,>1FF,>21F,>23F,>25F,>27F,>27F,>2DF
|
||||
.word >2FF,>35F,>3BF,>3DF,>3FF,>3FF,>3FF,>37FF
|
||||
.word >3BFF,>3FFF,>43FF,>47FF,>4BFF,>4FFF,>53FF,>5FFF
|
||||
.word >63FF,>6BFF,>77FF,>7FFF,>42,>64,>A6,>50A
|
||||
.word >56E,>5F4,>658,>116E,>1A14,>1278,>2EB9,>371C
|
||||
|
||||
BLUJET:
|
||||
.word 64
|
||||
.word >0,>0,>1420,>86,>1C00,>2000,>A7,>A8
|
||||
.word >C8,>2400,>C9,>E9,>2800,>2C00,>EA,>10A
|
||||
.word >10B,>1,>421,>463,>C63,>1483,>14A2,>1084
|
||||
.word >14A5,>10C6,>1CE7,>1D08,>156C,>2529,>294A,>2D6B
|
||||
.word >29CF,>3000,>3400,>10C,>12C,>12D,>14D,>3800
|
||||
.word >3841,>12E,>14E,>3C00,>14F,>16F,>4000,>170
|
||||
.word >4C21,>318C,>35AD,>190,>191,>192,>1B3,>1F6
|
||||
.word >39CE,>31F0,>3DEF,>3A32,>4210,>4631,>4E73,>5EF7
|
||||
|
||||
GRNJET:
|
||||
.word 64
|
||||
.word >0,>0,>1420,>82,>1C00,>2000,>A3,>C3
|
||||
.word >C3,>2400,>A3,>E3,>2800,>2C00,>103,>144
|
||||
.word >165,>1,>421,>463,>C63,>1483,>14A2,>1084
|
||||
.word >14A5,>10C6,>1CE7,>1D08,>156C,>2529,>294A,>2D6B
|
||||
.word >29CF,>3000,>3400,>186,>185,>1A9,>1AA,>3800
|
||||
.word >3841,>1C9,>1C9,>3C00,>1EA,>1EA,>4000,>20A
|
||||
.word >4C21,>318C,>35AD,>20B,>22B,>249,>26A,>2CF
|
||||
.word >39CE,>31F0,>3DEF,>3A32,>4210,>4631,>4E73,>5EF7
|
||||
|
||||
SPYDERP1:
|
||||
.word 64
|
||||
.word >0,>842,>1084,>1016,>C96,>14A4,>18A4,>18C4
|
||||
.word >1CE3,>1CE4,>18C6,>2108,>294A,>937,>5B7,>238
|
||||
.word >2D8,>3C00,>4000,>4C00,>5820,>5C20,>6420,>6820
|
||||
.word >6C20,>7420,>7820,>7C20,>7CA3,>2CE0,>7D00,>7D80
|
||||
.word >7E00,>7E60,>7EC0,>7F20,>77A0,>7FE0,>67ED,>0
|
||||
.word >4400,>6020,>7020,>7CA0,>7CC5,>7D49,>7D8B,>7DAD
|
||||
.word >7DEE,>7E72,>7ED6,>318C,>39CE,>4210,>4A52,>5294
|
||||
.word >5AD6,>6318,>6B5A,>739C,>7BDE,>360,>220,>7FFF
|
||||
|
||||
NEUTRONP:
|
||||
.word 25
|
||||
.word >0,>421,>C63,>14A5,>1CE7,>2529,>318C,>3DEF
|
||||
.word >5294,>7FFF,>6200,>6E40,>7AA0,>7760,>1F,>7C00
|
||||
.word >3E0,>1C00,>2800,>4000,>5000,>6400,>7C00,>3E0
|
||||
.word >1F
|
||||
|
||||
PPLP:
|
||||
.word 64
|
||||
.word >0,>21,>A0,>E0,>120,>161,>1C1,>2406
|
||||
.word >28E0,>18C6,>2888,>DE3,>1A06,>2649,>446D,>5850
|
||||
.word >7C16,>48C3,>3965,>6D25,>7E60,>308A,>79AA,>328C
|
||||
.word >69EC,>5F57,>71D8,>469,>CCD,>CCE,>D52,>104E
|
||||
.word >28C0,>2CC0,>1111,>1579,>5980,>6DE0,>129,>1CE
|
||||
.word >1023,>1084,>1CA0,>C29,>3C6B,>C2F,>404C,>318C
|
||||
.word >39CE,>484D,>4C6E,>5450,>6031,>6833,>7D80,>4631
|
||||
.word >56B5,>6739,>0,>200,>742,>3FEF,>7FFF,>0
|
||||
|
||||
CLDS9:
|
||||
.word 64
|
||||
.word >0,>D33,>DD7,>DF8,>E18,>E19,>E39,>E19
|
||||
.word >E39,>E3A,>E18,>E3A,>E5A,>E5A,>E5B,>E7B
|
||||
.word >E7C,>E9C,>E5B,>E7B,>E7C,>E7C,>E9C,>E9D
|
||||
.word >EBC,>EBD,>E9C,>EBC,>E9D,>EBD,>EBD,>12BD
|
||||
.word >12BD,>EDD,>EDD,>12DD,>12DD,>12FD,>12DD,>12FD
|
||||
.word >16DD,>16FD,>171D,>171D,>1B1D,>173D,>1B3D,>1B3D
|
||||
.word >1F3D,>1B5D,>1B5D,>1F5D,>1F7D,>1F5D,>1F7D,>237D
|
||||
.word >1F9D,>239D,>239D,>23BD,>23BD,>27BD,>27BD,>27BD
|
||||
|
||||
BIGPL1:
|
||||
.word 64
|
||||
.word >0,>2860,>34A3,>40C4,>40E4,>44E5,>48E5,>4905
|
||||
.word >4D05,>4D26,>5126,>5147,>5505,>5526,>5547,>5947
|
||||
.word >5D47,>5568,>5968,>5D68,>5D88,>5989,>5D89,>5DA9
|
||||
.word >5DAA,>61A9,>61AA,>61CA,>61EB,>65EB,>61EC,>660C
|
||||
.word >6A0C,>6A2E,>6E2E,>6A4F,>6E4F,>6E70,>6E90,>72B2
|
||||
.word >72D3,>76F4,>7B36,>7B57,>7F9B,>D03,>D23,>D43
|
||||
.word >D63,>D83,>DA3,>E03,>821,>1CE7,>4D60,>2D6B
|
||||
.word >4631,>7E00,>7F00,>5DC3,>7184,>7316,>0,>0
|
||||
|
||||
GUNSP1:
|
||||
.word 64
|
||||
.word >0,>842,>C63,>1C60,>1084,>1C25,>1C45,>14A5
|
||||
.word >2447,>8C2,>8E2,>CE3,>D03,>D23,>D43,>D63
|
||||
.word >DA3,>18C6,>1CE7,>2108,>2529,>2C48,>2C49,>294A
|
||||
.word >2D6B,>318C,>35AD,>39AD,>39CE,>3DEF,>4210,>4631
|
||||
.word >4A30,>4E30,>4A52,>4E73,>5252,>5651,>5273,>5294
|
||||
.word >56B5,>5AD6,>5EF7,>6318,>6739,>6F7B,>77BD,>0
|
||||
.word >4A1,>0,>0,>0,>0,>0,>0,>0
|
||||
.word >0,>0,>0,>0,>0,>0,>0,>0
|
||||
|
||||
BIGPL2:
|
||||
.word 64
|
||||
.word >0,>C63,>1863,>2063,>2063,>2463,>2863,>2863
|
||||
.word >2C63,>2C63,>3063,>3083,>3463,>3463,>3483,>3883
|
||||
.word >3C83,>34A3,>38A3,>3CA3,>3CC3,>38C3,>3CC3,>3CE3
|
||||
.word >3CE3,>40E3,>40E3,>4103,>4123,>4523,>4124,>4544
|
||||
.word >4944,>4966,>4D66,>4987,>4D87,>4DA8,>4DC8,>51EA
|
||||
.word >520B,>562C,>5A6E,>5A8F,>5ED3,>1CA0,>1CC0,>1CE0
|
||||
.word >1D00,>1D20,>1D40,>1DA0,>0,>1CE7,>14A5,>2D6B
|
||||
.word >4631,>14A5,>18C7,>5DC3,>18E7,>7316,>842,>C63
|
||||
|
||||
GUNSP2:
|
||||
.word 64
|
||||
.word >0,>842,>C63,>1C60,>1084,>1C25,>1C45,>14A5
|
||||
.word >2447,>1480,>14A0,>18A0,>18C0,>18E0,>1900,>1920
|
||||
.word >1960,>18C6,>1CE7,>2108,>2529,>2C48,>2C49,>294A
|
||||
.word >2D6B,>318C,>35AD,>39AD,>39CE,>3DEF,>4210,>4631
|
||||
.word >4A30,>4E30,>4A52,>4E73,>5252,>5651,>5273,>5294
|
||||
.word >56B5,>5AD6,>5EF7,>6318,>6739,>6F7B,>77BD,>0
|
||||
.word >1080,>0,>0,>0,>0,>0,>0,>0
|
||||
.word >0,>0,>0,>0,>0,>0,>0,>0
|
||||
|
||||
MADP1:
|
||||
.word 64
|
||||
.word >0,>842,>1063,>1C62,>2C00,>3400,>2CA2,>30A4
|
||||
.word >3800,>4800,>38C3,>3CC3,>40C4,>44E4,>44C5,>4CC5
|
||||
.word >4CE5,>4D05,>50E5,>5105,>5505,>5525,>4906,>5126
|
||||
.word >5506,>5526,>5527,>1C78,>5547,>3DAB,>5691,>5926
|
||||
.word >5947,>5967,>5968,>5D68,>5988,>59A9,>5D88,>5DA8
|
||||
.word >5DA9,>5DC9,>61C9,>5DCA,>5DEA,>61AA,>61CA,>61EA
|
||||
.word >61EB,>620B,>5E0C,>622C,>660B,>662C,>664C,>664D
|
||||
.word >666D,>6A6D,>6A8E,>6AAF,>6AD0,>7777,>7FDD,>0
|
||||
|
||||
MADP2:
|
||||
.word 64
|
||||
.word >0,>1,>21,>42,>63,>84,>A5,>C6
|
||||
.word >421,>1084,>14A5,>18C6,>2C00,>E7,>108,>1CE7
|
||||
.word >2108,>129,>2529,>14A,>294A,>16B,>1CE,>231
|
||||
.word >2B5,>2D6B,>3000,>3400,>3800,>3C00,>4000,>4400
|
||||
.word >4800,>4C00,>5000,>5400,>4020,>4420,>4820,>4C20
|
||||
.word >5020,>44A5,>318C,>5420,>5820,>5C20,>6020,>6420
|
||||
.word >7D80,>35AD,>6E20,>7661,>7E00,>7E60,>7EC0,>7F20
|
||||
.word >7F80,>39CE,>3DEF,>4210,>4631,>4A52,>4E73,>1C00
|
||||
|
||||
BIOFLG:
|
||||
.word 32
|
||||
.word >0,>0,>421,>842,>C63,>1084,>14A5,>18C6
|
||||
.word >181,>56B5,>1842,>2062,>2863,>2C62,>3062,>3883
|
||||
.word >3C42,>4083,>44A4,>48C5,>48E5,>352A,>4D06,>5126
|
||||
.word >5948,>5D89,>61AA,>3DD1,>4613,>722E,>5278,>62DE
|
||||
|
||||
SHKPAL:
|
||||
.word 64
|
||||
.word >0,>0,>1,>842,>1084,>14A5,>D23,>18C6
|
||||
.word >1CE7,>2108,>C30,>C50,>1030,>1050,>2529,>294A
|
||||
.word >C31,>1031,>1052,>1452,>1053,>1453,>1475,>1877
|
||||
.word >1895,>20D6,>1CB9,>24FA,>2939,>1DDF,>1DFF,>261F
|
||||
.word >2D6B,>318C,>35AD,>39CE,>3DEF,>4210,>4631,>4E73
|
||||
.word >2D59,>315C,>39BA,>39BC,>325F,>421C,>463C,>4E5D
|
||||
.word >56B8,>52BE,>3E9F,>46BF,>4EFF,>5EFA,>5EFE,>633F
|
||||
.word >6B7F,>6F7F,>6F9F,>73BF,>77DF,>7BDF,>7BFF,>7FFF
|
||||
|
||||
MTRP:
|
||||
.word 64
|
||||
.word >0,>0,>0,>0,>0,>0,>0,>0
|
||||
.word >21,>442,>863,>C84,>10A5,>14C6,>18E7,>1D08
|
||||
.word >2129,>254A,>296B,>2D8C,>31AD,>39EF,>160,>560
|
||||
.word >3800,>3C00,>3C40,>4060,>44A0,>180,>580,>5A0
|
||||
.word >980,>DA2,>11C4,>1E06,>2628,>2E49,>366C,>3E8E
|
||||
.word >42AE,>4D00,>5160,>59E0,>5E00,>6280,>6AE0,>7340
|
||||
.word >7380,>7BC0,>7BE0,>4EF0,>5713,>5F56,>6777,>6B99
|
||||
.word >77BA,>7BDC,>7BFC,>7FDC,>7FFC,>7FFF,>0,>0
|
||||
|
||||
CHAIRP:
|
||||
.word 64
|
||||
.word >0,>0,>842,>1800,>14A5,>2000,>2800,>18A6
|
||||
.word >18C6,>1CE0,>2100,>2520,>2940,>1E0,>2A1,>E7
|
||||
.word >1CE7,>108,>2108,>C30,>185A,>129,>2529,>294A
|
||||
.word >16C,>18C,>1CE,>211,>2B6,>3000,>2D60,>2D6B
|
||||
.word >318C,>35AD,>39CE,>3C00,>3DEF,>5400,>7D80,>504E
|
||||
.word >7E00,>4210,>4611,>4631,>7EC0,>4A52,>4E73,>5294
|
||||
.word >56B5,>5AD6,>5EF7,>5F18,>6318,>6739,>6B5A,>6F5A
|
||||
.word >6F7B,>77BD,>7FFF,>1400,>1C00,>3000,>5800,>7C00
|
||||
|
||||
BOOBP:
|
||||
.word 64
|
||||
.word >0,>0,>1,>21,>42,>63,>842,>2021
|
||||
.word >3000,>3400,>3800,>3C00,>4000,>4400,>38C3,>3CC3
|
||||
.word >84,>1084,>14A5,>18C6,>1CE7,>2108,>30A4,>40C4
|
||||
.word >44C5,>44E4,>2529,>294A,>2D6B,>1C78,>318C,>3DAB
|
||||
.word >39CE,>3DEF,>4800,>4C00,>5000,>5020,>4CC5,>4D05
|
||||
.word >50E5,>5400,>5420,>5505,>5506,>5820,>5C20,>6020
|
||||
.word >7420,>5526,>5527,>5926,>5947,>5967,>7D80,>7EC0
|
||||
.word >5968,>5D88,>5DA9,>61CA,>61EB,>664C,>6AAF,>5AD4
|
||||
|
||||
ARPRTPL:
|
||||
.word 64
|
||||
.word >0,>1084,>0,>0,>400,>422,>C20,>C42
|
||||
.word >C82,>1041,>1462,>1882,>1C82,>64,>C63,>20A3
|
||||
.word >20C3,>24C4,>24E4,>86,>1CC6,>20E7,>4C8,>2508
|
||||
.word >50B,>D92,>11F4,>28E5,>2D05,>3126,>3967,>41A8
|
||||
.word >45A8,>2929,>2D4A,>316B,>2A77,>3297,>2A98,>2E98
|
||||
.word >32B9,>2EFC,>39AD,>3ADA,>42FA,>4610,>471A,>5ED6
|
||||
.word >4F1A,>5F5C,>6F9D,>7FDE,>0,>0,>0,>0
|
||||
.word >0,>0,>0,>0,>0,>0,>0,>0
|
||||
|
||||
JEEPP:
|
||||
.word 64
|
||||
.word >0,>420,>C40,>1460,>1C80,>24A0,>2CC0,>34E0
|
||||
.word >3D00,>4520,>4D40,>5560,>5D80,>65A0,>6DC0,>7E00
|
||||
.word >0,>842,>1084,>18C6,>2108,>294A,>318C,>39CE
|
||||
.word >4210,>4E73,>6318,>739C,>7FFF,>1460,>1C80,>30E0
|
||||
.word >2081,>34A3,>44C4,>50E5,>5945,>71A7,>10A4,>1906
|
||||
.word >C63,>3C00,>6C43,>3800,>6AE6,>7FE0,>7FED,>7FF4
|
||||
.word >EC,>171,>237,>0,>0,>0,>0,>0
|
||||
.word >0,>0,>0,>0,>0,>0,>0,>7FFF
|
||||
|
||||
FING1:
|
||||
.word 64
|
||||
.word >0,>0,>2,>461,>C60,>1080,>1084,>14A0
|
||||
.word >18C0,>18C6,>2481,>2C82,>3082,>1CE0,>2100,>2520
|
||||
.word >2108,>2940,>294A,>3180,>318C,>7A2,>38A3,>38C3
|
||||
.word >44C4,>4CC4,>48E4,>4905,>5105,>3DE0,>4620,>5505
|
||||
.word >5905,>6105,>5D26,>5948,>6547,>6968,>6569,>6D46
|
||||
.word >7568,>39CE,>75ED,>79EC,>4631,>56B5,>7671,>76B4
|
||||
.word >6739,>7FFF,>7FFD,>7FFF,>1CE7,>2529,>2D6B,>3DEF
|
||||
.word >5AD6,>6739,>4800,>7800,>7120,>7260,>7BEE,>7FFF
|
||||
|
||||
DESRTPL:
|
||||
.word 64
|
||||
.word >0,>1861,>2080,>20A1,>24A2,>28C1,>2CE1,>28C3
|
||||
.word >2CE3,>3102,>3104,>3523,>3944,>3545,>3D65,>4187
|
||||
.word >49C9,>0,>1483,>1CC4,>20E6,>24A1,>28C0,>2506
|
||||
.word >2927,>294A,>2CE0,>2D48,>3DAB,>41ED,>524F,>5693
|
||||
.word >18A4,>1CC5,>20E5,>3169,>3589,>358B,>39AA,>3DCB
|
||||
.word >41CB,>4A0D,>1040,>400,>2108,>2D6B,>318C,>39CE
|
||||
.word >10C2,>14C1,>14E1,>1502,>1D01,>24C0,>28E0,>3101
|
||||
.word >3522,>3943,>3D64,>1084,>14A5,>28C2,>3103,>18C6
|
||||
|
||||
WARPP:
|
||||
.word 64
|
||||
.word >0,>842,>1084,>18C6,>2108,>294A,>318C,>39CE
|
||||
.word >4631,>4E73,>56B5,>5EF7,>6739,>6F7B,>77BD,>7FFF
|
||||
.word >882,>8C2,>902,>289F,>213F,>19DF,>125F,>AFF
|
||||
.word >7E60,>7E00,>7D80,>7D00,>3440,>4460,>6062,>60C4
|
||||
.word >6547,>7DCC,>240E,>7FE0,>6400,>7C00,>0,>0
|
||||
.word >0,>0,>0,>0,>0,>0,>8000,>8000
|
||||
.word >8000,>8000,>0,>0,>8000,>8000,>8000,>8000
|
||||
.word >8000,>0,>0,>0,>8000,>8000,>8000,>7FFF
|
||||
|
||||
WARPP2:
|
||||
.word 64
|
||||
.word >0,>842,>1084,>18C6,>2108,>294A,>318C,>39CE
|
||||
.word >4631,>4E73,>56B5,>5EF7,>6739,>6F7B,>77BD,>7C15
|
||||
.word >882,>8C2,>902,>289F,>213F,>19DF,>125F,>AFF
|
||||
.word >7E60,>7E00,>7D80,>7D00,>3440,>4460,>6062,>60C4
|
||||
.word >6547,>7DCC,>240E,>7FE0,>6400,>1F,>0,>0
|
||||
.word >0,>0,>0,>0,>0,>0,>8000,>8000
|
||||
.word >8000,>8000,>0,>0,>8000,>8000,>8000,>8000
|
||||
.word >8000,>0,>0,>0,>8000,>8000,>8000,>7FFF
|
||||
|
||||
GRNTR:
|
||||
.word 48
|
||||
.word >0,>0,>1060,>1800,>1460,>1CA2,>1CE7,>2400
|
||||
.word >24E2,>28E2,>2108,>2529,>318C,>2C00,>3000,>3400
|
||||
.word >3442,>3463,>3863,>3102,>3C00,>4063,>48A5,>3942
|
||||
.word >3D63,>4184,>49C7,>35AD,>4210,>6548,>5294,>6318
|
||||
.word >120,>140,>180,>200,>260,>2C1,>321,>3E1
|
||||
.word >20A0,>2800,>3021,>3421,>3C63,>7D80,>7F20,>7FFF
|
||||
|
||||
GRNTP:
|
||||
.word 48
|
||||
.word >0,>0,>64,>1802,>65,>8A7,>14A5,>2404
|
||||
.word >8E9,>8EA,>2108,>2529,>318C,>2C06,>3008,>3407
|
||||
.word >3446,>3467,>3869,>90C,>3C0C,>406D,>48B0,>94E
|
||||
.word >D6F,>1190,>1DD2,>35AD,>4210,>6548,>5294,>6318
|
||||
.word >120,>140,>180,>200,>260,>2C1,>321,>3E1
|
||||
.word >C7,>2806,>3027,>342B,>3C6E,>7D80,>7F20,>7FFF
|
||||
|
||||
GRNTB:
|
||||
.word 48
|
||||
.word >0,>0,>421,>6,>421,>842,>1CE7,>9
|
||||
.word >841,>C63,>2108,>2529,>318C,>B,>C,>D
|
||||
.word >84D,>C6D,>106E,>1084,>F,>C73,>14B7,>C63
|
||||
.word >C63,>C63,>C63,>35AD,>4210,>2159,>5294,>6318
|
||||
.word >120,>140,>180,>200,>260,>2C1,>321,>3E1
|
||||
.word >C63,>A,>42C,>42D,>C70,>7D80,>7F20,>7FFF
|
||||
|
||||
GRNTBLU:
|
||||
.word 48
|
||||
.word >0,>9,>9,>C,>C,>C,>F,>E
|
||||
.word >F,>1813,>F,>1414,>1C15,>F,>812,>1414
|
||||
.word >1C15,>2C18,>381B,>1011,>1C1A,>28DF,>259F,>1877
|
||||
.word >1C98,>20B9,>28FC,>41E,>101F,>554,>101F,>41B
|
||||
.word >120,>140,>180,>200,>260,>2C1,>321,>3E1
|
||||
.word >C,>11,>32,>35,>19,>7D80,>7F20,>7FFF
|
||||
|
||||
GRNTPNK:
|
||||
.word 48
|
||||
.word >0,>1003,>1403,>2006,>2C06,>2406,>2C09,>2808
|
||||
.word >2C09,>500D,>3409,>4C0E,>540F,>3409,>400C,>4C0E
|
||||
.word >540F,>6412,>7015,>480B,>640F,>70D6,>6D97,>3942
|
||||
.word >3D63,>4184,>49C7,>6412,>7015,>6548,>7015,>640F
|
||||
.word >120,>140,>180,>200,>260,>2C1,>321,>3E1
|
||||
.word >4008,>2808,>302A,>342B,>3C0D,>7D80,>7F20,>7FFF
|
||||
|
||||
GRNTPUR:
|
||||
.word 48
|
||||
.word >0,>9,>9,>3815,>3815,>3815,>3818,>3817
|
||||
.word >3818,>501C,>3818,>4C1D,>541E,>3818,>401B,>4C1D
|
||||
.word >541E,>641E,>701E,>481A,>541E,>603E,>5CFE,>501E
|
||||
.word >541E,>581E,>605E,>3C1E,>481E,>3CBD,>481E,>3C1E
|
||||
.word >120,>140,>180,>200,>260,>2C1,>321,>3E1
|
||||
.word >C,>2814,>2815,>2818,>281C,>7D80,>7F20,>7FFF
|
||||
|
||||
GRNTGRN:
|
||||
.word 48
|
||||
.word >0,>9,>9,>C,>C,>C,>F,>3EE
|
||||
.word >3EF,>1BF3,>3EF,>17F4,>1FF5,>F,>812,>1414
|
||||
.word >1C15,>2C18,>381B,>1011,>1E10,>2AD5,>2795,>1A6D
|
||||
.word >1E8E,>22AF,>2AF2,>614,>1215,>74A,>1215,>611
|
||||
.word >120,>140,>180,>200,>260,>2C1,>321,>3E1
|
||||
.word >C,>11,>32,>35,>19,>7D80,>7F20,>7FFF
|
||||
|
||||
GRNTRED:
|
||||
.word 48
|
||||
.word >0,>9,>9,>5000,>5000,>5000,>5002,>5001
|
||||
.word >5002,>6806,>5002,>6407,>6C08,>5002,>5805,>6407
|
||||
.word >6C08,>7C0B,>7C0E,>6004,>6C0D,>78D2,>7592,>686A
|
||||
.word >6C8B,>70AC,>78EF,>5411,>6012,>5547,>6012,>540E
|
||||
.word >120,>140,>180,>200,>260,>2C1,>321,>3E1
|
||||
.word >C,>440D,>442E,>4431,>4415,>7D80,>7F20,>7FFF
|
||||
|
||||
DGP1:
|
||||
.word 64
|
||||
.word >0,>C0,>100,>140,>180,>220,>1460,>1C80
|
||||
.word >30E0,>1880,>2081,>34A3,>44C4,>50E5,>5945,>71A7
|
||||
.word >421,>C63,>14A5,>1CE7,>2529,>2D6B,>35AD,>3DEF
|
||||
.word >4E73,>5AD6,>6739,>77BD,>0,>2400,>3000,>3C00
|
||||
.word >4800,>5400,>6000,>7800,>7120,>6DC0,>7260,>7720
|
||||
.word >7FA7,>7FCE,>7FF6,>7FF7,>0,>0,>0,>0
|
||||
.word >0,>0,>0,>0,>0,>0,>0,>0
|
||||
.word >0,>0,>0,>0,>0,>0,>0,>7FFF
|
||||
|
||||
DGP2:
|
||||
.word 64
|
||||
.word >0,>1800,>2402,>2C02,>3802,>5003,>1460,>1C80
|
||||
.word >30E0,>1880,>2081,>34A3,>44C4,>50E5,>5945,>71A7
|
||||
.word >421,>C63,>14A5,>1CE7,>2529,>2D6B,>35AD,>3DEF
|
||||
.word >4E73,>5AD6,>6739,>77BD,>0,>2400,>3000,>3C00
|
||||
.word >4800,>5400,>6000,>7800,>7120,>6DC0,>7260,>7720
|
||||
.word >7FA7,>7FCE,>7FF6,>7FF7,>0,>0,>0,>0
|
||||
.word >0,>0,>0,>0,>0,>0,>0,>0
|
||||
.word >0,>0,>0,>0,>0,>0,>0,>7FFF
|
||||
|
||||
DGP3:
|
||||
.word 64
|
||||
.word >0,>7,>48,>8A,>AC,>131,>1460,>1C80
|
||||
.word >30E0,>1880,>1020,>2880,>3481,>40A2,>48E2,>5144
|
||||
.word >421,>C63,>14A5,>1CE7,>2529,>2D6B,>35AD,>3DEF
|
||||
.word >4E73,>5AD6,>6739,>77BD,>0,>2400,>3000,>3C00
|
||||
.word >4800,>5400,>6000,>7800,>7120,>6DC0,>7260,>7720
|
||||
.word >7FA7,>7FCE,>7FF6,>7FF7,>0,>0,>0,>0
|
||||
.word >0,>0,>0,>0,>0,>0,>0,>0
|
||||
.word >0,>0,>0,>0,>0,>0,>0,>7FFF
|
||||
|
||||
AHMEDP:
|
||||
.word 64
|
||||
.word >0,>A0,>E0,>160,>29C0,>36A0,>0,>1880
|
||||
.word >2081,>34A3,>44C4,>50E5,>5945,>71A7,>421,>C63
|
||||
.word >14A5,>1CE7,>2529,>2D6B,>35AD,>4631,>5294,>5EF7
|
||||
.word >6B5A,>77BD,>3880,>4840,>5040,>6040,>6C40,>4840
|
||||
.word >6040,>6C40,>7C40,>7D00,>7D40,>7DA0,>7DC0,>7DE0
|
||||
.word >7E20,>7E60,>7F40,>7FA0,>7FED,>7FEE,>7FEF,>7FF1
|
||||
.word >7FF2,>7FF3,>6802,>6805,>744A,>7890,>7D35,>7D58
|
||||
.word >0,>0,>0,>0,>0,>0,>0,>7FFF
|
||||
|
||||
EORNGPAL:
|
||||
.word 64
|
||||
.word >0,>800,>C00,>1000,>1420,>1820,>1C20,>2040
|
||||
.word >2440,>2840,>2C60,>3060,>3460,>3880,>3C80,>4080
|
||||
.word >44A0,>48A0,>4CC0,>50C0,>54E0,>5900,>5D20,>6140
|
||||
.word >6560,>6980,>6DA0,>71C0,>75E0,>7A00,>7E20,>7E40
|
||||
.word >7E60,>7E81,>7EA2,>7EC3,>7EE4,>7F05,>7F26,>7F47
|
||||
.word >7F68,>7F89,>7FAA,>7FCB,>7FEC,>7FED,>7FEE,>7FEF
|
||||
.word >7FF0,>7FF1,>7FF2,>7FF3,>7FF4,>7FF5,>7FF6,>7FF7
|
||||
.word >7FF8,>7FF9,>7FFA,>7FFB,>7FFC,>7FFD,>7FFE,>7FFF
|
||||
|
||||
MTNKP:
|
||||
.word 64
|
||||
.word >0,>C63,>14A5,>1CE7,>2529,>2D6B,>35AD,>4631
|
||||
.word >6318,>0,>0,>0,>2,>4,>6,>28
|
||||
.word >2A,>4E,>72,>B7,>11B,>21F,>3E0,>160
|
||||
.word >7D40,>7FE0,>6400,>0,>0,>0,>0,>0
|
||||
.word >0,>0,>0,>0,>0,>0,>0,>0
|
||||
.word >0,>0,>0,>0,>0,>0,>0,>0
|
||||
.word >0,>0,>0,>0,>0,>0,>0,>0
|
||||
.word >0,>0,>0,>0,>0,>0,>0,>7FFF
|
||||
|
||||
MTNKP2:
|
||||
.word 64
|
||||
.word >0,>C63,>14A5,>1CE7,>2529,>2D6B,>35AD,>4631
|
||||
.word >6318,>0,>0,>0,>800,>1000,>1800,>2000
|
||||
.word >2800,>3802,>4842,>5C03,>6C62,>7D45,>3E0,>160
|
||||
.word >7D40,>7FE0,>6400,>0,>0,>0,>0,>0
|
||||
.word >0,>0,>0,>0,>0,>0,>0,>0
|
||||
.word >0,>0,>0,>0,>0,>0,>0,>0
|
||||
.word >0,>0,>0,>0,>0,>0,>0,>0
|
||||
.word >0,>0,>0,>0,>0,>0,>0,>7FFF
|
||||
|
||||
BTRP:
|
||||
.word 64
|
||||
.word >0,>400,>821,>C43,>1040,>1041,>1062,>1064
|
||||
.word >1462,>1483,>1485,>18A6,>1C80,>1C81,>1C82,>1CA2
|
||||
.word >24A1,>28C1,>1CC4,>24C3,>24E3,>28E3,>1CC7,>2506
|
||||
.word >2926,>1CC8,>20E8,>2509,>292A,>2CE1,>3501,>2D03
|
||||
.word >2D04,>3921,>3922,>3544,>3944,>3945,>3964,>3965
|
||||
.word >4961,>4982,>4185,>41A5,>49C6,>59C2,>51E6,>2D47
|
||||
.word >3588,>39A9,>41EA,>460A,>5207,>5A27,>4A2B,>39AE
|
||||
.word >526C,>4A32,>5AAD,>5ECE,>62EF,>6B31,>6F52,>7FFF
|
||||
|
||||
SCUDP:
|
||||
.word 64
|
||||
.word >0,>40,>480,>820,>840,>842,>1060,>1080
|
||||
.word >1460,>CA2,>14A0,>1101,>1142,>983,>A03,>EA5
|
||||
.word >1B27,>20A0,>28E0,>2100,>2940,>3100,>3920,>4160
|
||||
.word >1DC3,>3180,>3265,>26E6,>276B,>39C0,>4DA0,>55C0
|
||||
.word >4200,>4E60,>6200,>56A0,>5EE0,>6F60,>1084,>18C6
|
||||
.word >2108,>294A,>318C,>39CE,>4210,>4A52,>5294,>6318
|
||||
.word >6F7B,>77BD,>7FE0,>7CC0,>46F,>FE2,>0,>3000
|
||||
.word >3800,>4020,>4820,>5020,>6020,>6C20,>7420,>7FFF
|
||||
|
||||
BLLNP5:
|
||||
.word 13
|
||||
.word >0,>0,>2C00,>3800,>4800,>7C00,>20,>4C00
|
||||
.word >3000,>4400,>3C60,>60E2,>4483
|
||||
|
||||
BLLNP3:
|
||||
.word 13
|
||||
.word >0,>0,>1C0,>260,>1C1,>3A5,>0,>100
|
||||
.word >161,>161,>202,>3C6,>3E7
|
||||
|
||||
DHNDP:
|
||||
.word 64
|
||||
.word >0,>0,>842,>1002,>1043,>1403,>1424,>1444
|
||||
.word >1803,>1824,>1825,>1C25,>2025,>2026,>1865,>2046
|
||||
.word >2426,>2427,>2447,>2827,>2847,>2848,>2C28,>2C48
|
||||
.word >3028,>3049,>3069,>3449,>3469,>346A,>384A,>386A
|
||||
.word >3C4B,>444C,>3C6B,>406B,>3C8C,>406C,>446C,>448D
|
||||
.word >484D,>488D,>4C4E,>4C8E,>504E,>546F,>508F,>548F
|
||||
.word >54B0,>5870,>5890,>5C71,>5CB1,>6472,>60B2,>64B2
|
||||
.word >64B3,>6873,>68B3,>6CB4,>7475,>70D5,>74D5,>7CB6
|
||||
|
||||
CENSP:
|
||||
.word 19
|
||||
.word >0,>0,>C00,>1400,>1C00,>2400,>2C00,>3400
|
||||
.word >3C00,>4400,>4C00,>5400,>5C00,>6400,>6C00,>7C00
|
||||
.word >7CC0,>7D40,>7E00
|
||||
|
||||
BOXP:
|
||||
.word 16
|
||||
.word >0,>7C00,>6440,>4840,>53,>95,>1F,>3E0
|
||||
.word >2C0,>1E0,>7FE0,>5EE0,>4620,>7C1F,>6018,>3C0F
|
||||
|
||||
GOOBP:
|
||||
.word 64
|
||||
.word >0,>161,>181,>1A1,>1C1,>1E1,>201,>221
|
||||
.word >241,>261,>6E2,>B63,>FE4,>1E2,>280,>340
|
||||
.word >2108,>2529,>294A,>35AD,>49EE,>5294,>56B5,>5AD6
|
||||
.word >6318,>77BD,>16C,>211,>319,>7F20,>5420,>5C20
|
||||
.word >6C20,>5EF7,>6F7B,>140,>240,>2E0,>0,>421
|
||||
.word >2,>23,>45,>5,>46,>49,>1CE7,>0
|
||||
.word >0,>0,>0,>0,>0,>0,>0,>0
|
||||
.word >0,>0,>0,>0,>0,>0,>0,>7FFF
|
||||
|
||||
FRTCLS:
|
||||
.word 64
|
||||
.word >0,>0,>842,>C63,>1063,>1084,>1484,>14A5
|
||||
.word >18A4,>18C6,>1CC4,>1CC5,>20E6,>1CE7,>2507,>2108
|
||||
.word >2529,>2928,>2D28,>294A,>2D6B,>3149,>356A,>398B
|
||||
.word >318C,>35AD,>39CE,>3DAB,>3DEF,>49EE,>522F,>4A52
|
||||
.word >4E73,>5650,>5A71,>62B2,>5294,>56B5,>5AD6,>6318
|
||||
.word >7736,>77BD,>A5,>129,>16C,>211,>319,>3100
|
||||
.word >7F20,>1035,>1435,>1437,>5420,>5C20,>6C20,>183B
|
||||
.word >5EF7,>6F7B,>C0,>140,>240,>2E0,>3A0,>47EB
|
||||
|
||||
REACTR:
|
||||
.word 64
|
||||
.word >0,>421,>C63,>84,>A5,>C6,>1084,>1486
|
||||
.word >18C6,>1CC5,>2100,>2520,>2940,>3180,>E7,>14A7
|
||||
.word >108,>14A,>18A8,>18C9,>1CCA,>20EB,>294A,>210C
|
||||
.word >250D,>252E,>292E,>2D4F,>2D71,>3171,>3192,>4C41
|
||||
.word >3DE0,>35AD,>39CD,>3DEF,>4620,>4210,>4631,>35B3
|
||||
.word >39D5,>4632,>3DF6,>4218,>4639,>5EC0,>7F80,>6F6F
|
||||
.word >4A52,>4E73,>5294,>56B5,>5AD6,>4A5B,>4E7C,>5ADC
|
||||
.word >4E7D,>5EF7,>6318,>673A,>6B5A,>6F7B,>739C,>77BD
|
||||
|
||||
LBOXP1:
|
||||
.word 11
|
||||
.word >0,>14A5,>2108,>2D6B,>39CE,>4A52,>6318,>6560
|
||||
.word >7E20,>7B20,>738E
|
||||
|
||||
LBOXP2:
|
||||
.word 11
|
||||
.word >0,>14A5,>2108,>2D6B,>39CE,>4A52,>6318,>7C00
|
||||
.word >7CA5,>7D4A,>7DEF
|
||||
|
||||
STUFFP:
|
||||
.word 64
|
||||
.word >0,>421,>C63,>14A5,>1CE7,>2529,>318C,>3DEF
|
||||
.word >5294,>7FFF,>1C00,>2800,>4000,>5C00,>7CC0,>6200
|
||||
.word >6E40,>7AA0,>7760,>6,>A,>4C,>8E,>11
|
||||
.word >1A,>A0,>E0,>140,>1C0,>240,>300,>2CA1
|
||||
.word >34E3,>4142,>4DA4,>5A05,>13D,>21F,>31F,>3082
|
||||
.word >38A3,>48E4,>5505,>6105,>6D46,>7621,>7568,>7DA9
|
||||
.word >79EC,>1405,>2008,>2C0B,>4010,>5C17,>43F0,>781E
|
||||
.word >6800,>6739,>15,>0,>0,>0,>0,>0
|
||||
|
||||
STATICP:
|
||||
.word 32
|
||||
.word >0,>1084,>18E8,>2549,>739C,>3DEF,>318A,>631D
|
||||
.word >39EE,>250B,>6318,>5291,>4253,>842,>3E0F,>316A
|
||||
.word >2549,>1D2A,>739C,>3DEF,>318A,>2529,>631D,>739C
|
||||
.word >39EE,>250B,>807,>7FFF,>6318,>1CE7,>5291,>4253
|
||||
|
||||
IBALLP:
|
||||
.word 64
|
||||
.word >0,>842,>1080,>14A0,>1860,>18C0,>2100,>2420
|
||||
.word >2C80,>24C0,>2CC0,>2CE0,>2520,>2D20,>3120,>3520
|
||||
.word >30E1,>3521,>308A,>2940,>2D60,>3180,>35A0,>35AA
|
||||
.word >318C,>38C0,>3900,>3980,>39C0,>3C00,>3CC0,>40A0
|
||||
.word >48C0,>3CE0,>3D40,>4560,>3DE0,>41E0,>45E0,>4620
|
||||
.word >446D,>39CE,>6C34,>4631,>4A40,>4E60,>5280,>56A0
|
||||
.word >5AC0,>5EE0,>6300,>6720,>6B40,>6F60,>7FE0,>4A41
|
||||
.word >4E73,>56B5,>5EF7,>6739,>6F7B,>7FFF,>0,>0
|
||||
|
||||
RBPAL:
|
||||
.word 31
|
||||
.word >0,>79A2,>7902,>6C42,>5CA2,>5462,>4842,>3C42
|
||||
.word >3442,>3042,>2842,>210C,>240C,>1C09,>1407,>0
|
||||
.word >40A3,>48A5,>58C6,>6905,>7D27,>4E73,>35AD,>294A
|
||||
.word >1CE7,>1084,>34A3,>5109,>614A,>44A4,>69CE
|
||||
|
||||
BULLET:
|
||||
.word 64
|
||||
.word >0,>0,>20,>7D00,>7E60,>7F80,>7FFF,>330C
|
||||
.word >160,>208,>C0,>7400,>7F00,>38C0,>5DA0,>7EC0
|
||||
.word >7FEC,>7640,>7F20,>7326,>52B4,>1D16,>422,>C69
|
||||
.word >C8C,>1911,>1D57,>25FC,>2A1F,>1020,>7D40,>2861
|
||||
.word >7E00,>7EE0,>4482,>64E1,>6800,>5103,>7FC1,>6F36
|
||||
.word >7184,>7C21,>628F,>7609,>5A0D,>4569,>7DA0,>7EC2
|
||||
.word >6E80,>7FA0,>7FD4,>39D4,>252E,>4637,>5B1F,>18EA
|
||||
.word >14A8,>1087,>2D72,>2A0,>0,>7F6A,>7EC0,>65C7
|
||||
|
||||
SCOREPAL:
|
||||
.word 61
|
||||
.word >0,>842,>1842,>2062,>2863,>3520,>1084,>18C6
|
||||
.word >1CE7,>923,>252A,>294A,>3E0,>2C62,>3062,>7CE1
|
||||
.word >3883,>3C42,>4083,>44A4,>48C5,>4D80,>48E5,>5A43
|
||||
.word >1585,>318C,>352A,>4D06,>5126,>5948,>5D89,>61AA
|
||||
.word >3DD1,>4613,>722E,>5278,>62DE,>7FFF,>1012,>C53
|
||||
.word >C76,>8F6,>538,>578,>1DB,>238,>298,>346A
|
||||
.word >3C6B,>100E,>406C,>444D,>504E,>5830,>6032,>6832
|
||||
.word >7013,>7414,>7815,>7FE0,>7C00
|
||||
|
||||
DUXPAL:
|
||||
.word 11
|
||||
.word >0,>7C00,>6739,>1F,>35AD,>77A0,>741A,>1A
|
||||
.word >15,>10,>B
|
||||
|
||||
DIAGP:
|
||||
.word 29
|
||||
.word >0,>56B5,>7BDE,>7800,>7640,>77A0,>3C0,>1E
|
||||
.word >3A8E,>35E,>35AD,>6F00,>33F,>79F7,>781E,>677F
|
||||
.word >6F9F,>7FFF,>25DA,>4,>0,>43,>BF79,>FCAB
|
||||
.word >D306,>12A6,>6FB1,>7C00,>3E0
|
||||
|
||||
FNDP:
|
||||
.word 59
|
||||
.word >0,>1003,>1403,>400B,>3009,>2406,>2C09,>3009
|
||||
.word >2C09,>6012,>3409,>4C0E,>6414,>482D,>400C,>4C0E
|
||||
.word >540F,>6412,>7015,>7417,>7415,>70D6,>6D39,>3942
|
||||
.word >3D63,>6091,>49C7,>6412,>7015,>6548,>7015,>640F
|
||||
.word >120,>140,>180,>200,>260,>2C1,>321,>3E1
|
||||
.word >500B,>2808,>3C2B,>342B,>3C0D,>7D80,>7F20,>7FFF
|
||||
.word >1C05,>842,>2108,>2807,>3C0B,>440D,>3DAE,>7C16
|
||||
.word >6D97,>5294,>7815
|
||||
|
||||
FNDPRED:
|
||||
.word 59
|
||||
.word >0,>1003,>1403,>2480,>3001,>2406,>2800,>3C02
|
||||
.word >2C09,>6000,>3401,>4C00,>6400,>4860,>4002,>4C0E
|
||||
.word >5402,>6401,>7000,>7461,>7860,>6141,>68A0,>3942
|
||||
.word >3D63,>61C0,>49C7,>6412,>70E0,>6548,>7015,>640F
|
||||
.word >120,>140,>180,>200,>260,>2C1,>321,>3E1
|
||||
.word >5001,>2808,>5822,>342B,>3C0D,>7D80,>7F20,>7FFF
|
||||
.word >1C01,>842,>2108,>2801,>3C02,>4402,>3DAE,>7C00
|
||||
.word >712A,>5294,>7FFF
|
||||
|
||||
FNDPBLU:
|
||||
.word 59
|
||||
.word >0,>E,>E,>D,>12,>11,>A,>10
|
||||
.word >14,>113D,>D,>B3,>141F,>95,>17,>19
|
||||
.word >416,>CDA,>201F,>61F,>8BF,>95F,>201F,>3942
|
||||
.word >3D63,>1559,>49C7,>6412,>1FB,>6548,>7015,>640F
|
||||
.word >120,>140,>180,>200,>260,>2C1,>321,>3E1
|
||||
.word >98,>2808,>3C2B,>342B,>3C0D,>7D80,>7F20,>7FFF
|
||||
.word >49,>842,>2108,>8C,>411,>6F,>3DAE,>91A
|
||||
.word >9BC,>5294,>7FFF
|
||||
|
||||
FNDPGRN:
|
||||
.word 59
|
||||
.word >0,>1003,>1403,>962,>143,>2406,>E0,>120
|
||||
.word >D84,>1323,>561,>5C1,>2A2,>160,>D61,>4C0E
|
||||
.word >641,>2E0,>6E2,>1FE6,>1622,>27C9,>300,>3942
|
||||
.word >3D63,>43D0,>49C7,>6412,>B63,>6548,>7015,>640F
|
||||
.word >5000,>140,>180,>200,>7CA0,>2C1,>321,>3E1
|
||||
.word >E43,>2808,>981,>342B,>3C0D,>7D80,>7F20,>7FFF
|
||||
.word >E0,>842,>2108,>E0,>104,>220,>3DAE,>B65
|
||||
.word >27E7,>5294,>7FFF
|
||||
|
||||
FNDPPUR:
|
||||
.word 59
|
||||
.word >0,>1003,>1403,>3412,>240B,>2406,>1C09,>280D
|
||||
.word >2C09,>5C1D,>2C0E,>38B2,>5D1E,>4838,>3010,>4C0E
|
||||
.word >3C15,>4819,>541C,>615F,>5CBC,>553E,>545F,>3942
|
||||
.word >3D63,>715E,>49C7,>6412,>5CBC,>6548,>7015,>640F
|
||||
.word >120,>140,>180,>200,>260,>2C1,>321,>3E1
|
||||
.word >4015,>2808,>4435,>342B,>3C0D,>7D80,>7F20,>7FFF
|
||||
.word >1407,>842,>2108,>1C0A,>2C0F,>3411,>3DAE,>541F
|
||||
.word >5DBC,>5294,>7FFF
|
||||
|
||||
nup1:
|
||||
.word 64
|
||||
.word >0,>0,>842,>1084,>18C6,>2862,>3082,>38A3
|
||||
.word >39CE,>40C4,>48E4,>4CC4,>5505,>6105,>6D46,>7621
|
||||
.word >6168,>6547,>6968,>7568,>75AA,>7DA9,>79EC,>722E
|
||||
.word >7FF3,>66F7,>7FFF,>461,>80,>4A1,>4C1,>8C2
|
||||
.word >8E2,>D03,>D23,>1966,>2108,>2D4A,>41EF,>318C
|
||||
.word >313C,>41BC,>4631,>5AD6,>4E3D,>62DE,>7CA0,>7D00
|
||||
.word >7D80,>7F20,>7FC0,>7A41,>1800,>2800,>4000,>6420
|
||||
.word >1F,>4C13,>1DF,>29F,>35F,>F,>18,>2C0B
|
||||
|
||||
nup2:
|
||||
.word 64
|
||||
.word >0,>0,>842,>1084,>18C6,>1422,>1C42,>2463
|
||||
.word >39CE,>2481,>2CA1,>3081,>38C2,>44C2,>5103,>421
|
||||
.word >38C2,>3CA1,>40C2,>4CC2,>4D04,>5503,>6D84,>7A28
|
||||
.word >7FF3,>66F7,>7FFF,>840,>C60,>1060,>1480,>18A0
|
||||
.word >1CC0,>20E0,>2500,>2D41,>2108,>2D4A,>41EF,>318C
|
||||
.word >313C,>41BC,>4631,>5AD6,>4E1D,>62DE,>7CA0,>7D00
|
||||
.word >7D80,>7F20,>7FC0,>7A41,>1800,>2800,>4000,>6420
|
||||
.word >1F,>4C13,>1DF,>29F,>35F,>F,>18,>2C0B
|
||||
|
||||
nup1a:
|
||||
.word 64
|
||||
.word >0,>1B,>1D,>5F,>49F,>143D,>1C5D,>247E
|
||||
.word >259F,>2C9F,>34BF,>389F,>40DF,>4CDF,>591F,>61FC
|
||||
.word >4D3F,>511F,>553F,>613F,>617F,>697F,>65BF,>5DFF
|
||||
.word >6BBF,>52BF,>6BBF,>3C,>5B,>7C,>9C,>9D
|
||||
.word >BD,>DE,>FE,>53F,>CDF,>191F,>2DBF,>1D5F
|
||||
.word >1CFF,>2D7F,>31FF,>469F,>39FF,>4E9F,>1B,>13
|
||||
.word >12,>1A,>2C0F,>3811,>4C13,>1B,>17,>3416
|
||||
.word >1F,>681A,>1DF,>29F,>35F,>F,>18,>380E
|
||||
|
||||
nup2a:
|
||||
.word 64
|
||||
.word >0,>4C00,>5442,>5C84,>64C6,>7462,>7C82,>7CA3
|
||||
.word >7DCE,>7CC4,>7CE4,>7CC4,>7D05,>7D05,>7D46,>7E21
|
||||
.word >7D68,>7D47,>7D68,>7D68,>7DAA,>7DA9,>7DEC,>7E2E
|
||||
.word >7F33,>7EF7,>7D8C,>5061,>4C80,>50A1,>50C1,>54C2
|
||||
.word >54E2,>5903,>5923,>6566,>6D08,>794A,>7DEF,>7D8C
|
||||
.word >7D3C,>7DBC,>7E31,>7ED6,>7E3D,>7EF5,>7CA0,>7D00
|
||||
.word >7D80,>7F20,>7FC0,>7A41,>4403,>5008,>6407,>782C
|
||||
.word >7419,>7C14,>7519,>75D9,>7699,>7409,>7412,>7C08
|
||||
|
||||
GREYPAL:
|
||||
.word 64
|
||||
.word >0,>842,>863,>C63,>C84,>1084,>1085,>10A5
|
||||
.word >14A5,>14A6,>14C6,>18C6,>18C7,>18E7,>1CE7,>1CE8
|
||||
.word >1D08,>2108,>2109,>2129,>2529,>252A,>254A,>294A
|
||||
.word >294B,>296B,>2D6B,>2D6C,>2D8C,>318C,>318D,>31AD
|
||||
.word >35AD,>35AE,>35CE,>39CE,>39CF,>39EF,>3DEF,>4210
|
||||
.word >4631,>4A52,>4E73,>4E74,>5294,>56B5,>5AD6,>5EF7
|
||||
.word >6318,>6739,>6B5A,>6F7B,>0,>C63,>14A5,>2108
|
||||
.word >2D6B,>3DEF,>4A52,>2D6B,>3DEF,>4A52,>5294,>5AD6
|
||||
|
||||
RDBOOM:
|
||||
.word 64
|
||||
.word >0,>1000,>1420,>1820,>2040,>2440,>2860,>2C60
|
||||
.word >3060,>3880,>4440,>4840,>5040,>5840,>6040,>6440
|
||||
.word >6860,>6C80,>70A0,>7C40,>7D00,>7D40,>7D60,>7DA0
|
||||
.word >7DC0,>7DE0,>7E00,>7E20,>7E40,>7E60,>7A60,>7EC0
|
||||
.word >7EE0,>7F40,>7FA0,>7FC2,>7FE4,>7FEA,>7FEC,>7FED
|
||||
.word >7FEE,>7FEF,>7FF0,>7FF1,>7FF2,>7FF3,>7FF4,>7FF7
|
||||
.word >7FF8,>7FFA,>7FFD,>7FFF,>0,>0,>0,>0
|
||||
.word >0,>0,>0,>0,>0,>0,>0,>0
|
||||
|
||||
GRNBOOM:
|
||||
.word 64
|
||||
.word >0,>80,>4A0,>4C0,>500,>920,>D40,>D60
|
||||
.word >D80,>11C0,>A20,>A40,>A80,>AC0,>B00,>B20
|
||||
.word >F40,>1360,>1780,>BE0,>23E0,>2BE0,>2FE0,>37E0
|
||||
.word >3BE0,>3FE0,>43E0,>47E0,>4BE0,>4FE0,>4FC0,>5BE0
|
||||
.word >5FE0,>6BE0,>77E0,>7BE2,>7FE4,>7FEA,>7FEC,>7FED
|
||||
.word >7FEE,>7FEF,>7FF0,>7FF1,>7FF2,>7FF3,>7FF4,>7FF7
|
||||
.word >7FF8,>7FFA,>7FFD,>7FFF,>0,>0,>0,>0
|
||||
.word >0,>0,>0,>0,>0,>0,>0,>0
|
||||
|
||||
PLLT:
|
||||
.word 62
|
||||
.word >0,>1C44,>2845,>2C47,>3047,>3448,>3849,>3C4A
|
||||
.word >3C6A,>404B,>406B,>444B,>446C,>484C,>486D,>4C4D
|
||||
.word >4C6E,>504E,>506E,>546F,>50AF,>54B0,>5850,>5890
|
||||
.word >5C71,>5CB1,>5CD2,>6051,>6452,>6C53,>60D3,>60F3
|
||||
.word >68B4,>64F4,>7075,>7496,>70D6,>7CD8,>7CF8,>6915
|
||||
.word >6D36,>7137,>7158,>7959,>799B,>1,>401,>801
|
||||
.word >C01,>1401,>1801,>1C01,>2000,>2085,>2801,>3000
|
||||
.word >4000,>3947,>49CB,>6604,>668F,>7B94
|
||||
|
||||
SOLDB:
|
||||
.word 64
|
||||
.word >0,>0,>842,>860,>C63,>C80,>C81,>10A1
|
||||
.word >1082,>10A2,>14C2,>14C3,>18C2,>18C3,>18E2,>18E3
|
||||
.word >1CE3,>1D03,>1084,>18E4,>1D04,>2124,>14A5,>1D05
|
||||
.word >2125,>18C6,>2126,>1CE7,>2108,>C2F,>1859,>2545
|
||||
.word >2546,>2966,>2547,>2967,>2C62,>38A4,>3CA4,>3CE4
|
||||
.word >2D87,>40C4,>44E5,>44E6,>4906,>4D27,>5127,>2968
|
||||
.word >2D68,>2D88,>2D89,>31A9,>35C9,>5568,>294A,>31AA
|
||||
.word >35AA,>318C,>35CA,>35CB,>4DAB,>5DCC,>4E0E,>6293
|
||||
|
||||
MAPP:
|
||||
.word 64
|
||||
.word >0,>914,>7A84,>3481,>4481,>4CC2,>5903,>7EC0
|
||||
.word >7F6A,>7FD2,>6A90,>1155,>1998,>2E3D,>7FE0,>7300
|
||||
.word >6680,>5DA0,>0,>7F76,>7713,>6AB0,>5E6D,>520A
|
||||
.word >4186,>2CE1,>2080,>842,>1084,>18C6,>2108,>294A
|
||||
.word >318C,>3DEF,>4A52,>56B5,>6739,>7FFF,>1283,>2345
|
||||
.word >1FE4,>3842,>4884,>58C6,>5E21,>59A2,>6666,>1104
|
||||
.word >1164,>11E4,>6D44,>30C1,>4103,>7AC8,>772B,>734D
|
||||
.word >79A7,>7242,>3E0,>2C0,>240,>1E0,>280,>360
|
||||
|
||||
DOMEP:
|
||||
.word 64
|
||||
.word >0,>820,>C20,>1420,>1C20,>2421,>2C23,>3425
|
||||
.word >3C27,>4429,>4C2B,>542D,>5C2F,>6431,>6C33,>6C35
|
||||
.word >783B,>7C5D,>7D5F,>7F20,>6560,>48A1,>7C00,>6400
|
||||
.word >1800,>18C6,>18C6,>18C6,>18C6,>18C6,>18C6,>18C6
|
||||
.word >18C6,>18C6,>18C6,>18C6,>18C6,>18C6,>18C6,>18C6
|
||||
.word >18C6,>18C6,>18C6,>18C6,>18C6,>18C6,>18C6,>18C6
|
||||
.word >18C6,>18C6,>18C6,>18C6,>18C6,>18C6,>18C6,>18C6
|
||||
.word >18C6,>18C6,>18C6,>18C6,>18C6,>18C6,>18C6,>7FFF
|
||||
|
||||
DISHPAL:
|
||||
.word 64
|
||||
.word >0,>1861,>23,>865,>10A7,>18E9,>1D0A,>296D
|
||||
.word >31AF,>39F1,>4233,>4A75,>52B7,>5AF9,>633B,>6B7D
|
||||
.word >14C8,>865,>0,>421,>842,>C63,>1084,>14A5
|
||||
.word >18C6,>1CE7,>2108,>2529,>294A,>2D6B,>318C,>35AD
|
||||
.word >39CE,>3DEF,>4210,>4631,>4A52,>4E73,>5294,>56B5
|
||||
.word >5AD6,>5EF7,>6318,>6B5A,>7BDE,>1F,>7C00,>3E0
|
||||
.word >7FE0,>120,>2080,>24A1,>28C0,>0,>8000,>0
|
||||
.word >0,>0,>0,>0,>0,>7C00,>7FE0,>7FFF
|
||||
|
||||
TNKPAL:
|
||||
.word 64
|
||||
.word >0,>420,>C40,>1460,>1C80,>20A0,>28C0,>30E0
|
||||
.word >3500,>3D20,>4540,>4982,>55C4,>5E06,>5E48,>6E8A
|
||||
.word >1040,>1860,>24A0,>30C0,>421,>C63,>14A5,>1CE7
|
||||
.word >2529,>2D6B,>35AD,>3DEF,>4E73,>6739,>34A3,>6105
|
||||
.word >69A7,>7A4C,>7A4C,>500,>1545,>1DA7,>2123,>2649
|
||||
.word >430,>7FE0,>7EE0,>7E40,>7D80,>7100,>7FFF,>1C05
|
||||
.word >2807,>3009,>3409,>3C0B,>400C,>440D,>4C0E,>540F
|
||||
.word >6412,>7015,>7C16,>70D6,>6D97,>5294,>3DAE,>7FFF
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,450 @@
|
|||
;THIS STUFF WAS TAKEN OUT OF ATTRACT.ASM
|
||||
;
|
||||
|
||||
|
||||
;HSTDTAB:
|
||||
; JSRP WNDWON
|
||||
; CALLA KILBGND ;KILL OLD BACKGROUND IF ANY EXISTED
|
||||
; MOVI CLSNEUT|TYPTEXT|SUBWNDW,A0
|
||||
; CLR A1
|
||||
; NOT A1
|
||||
; CALLA KILOBJ
|
||||
;
|
||||
; MOVI CHAMPS,A0
|
||||
; MOVE A0,@BAKMODS,L
|
||||
; CALLA BGND_UD1
|
||||
;; MOVI CHAMPS,A0
|
||||
; MOVE A0,@BAKMODS,L
|
||||
; CALLA BGND_UD1
|
||||
; MOVI CHAMPS,A0
|
||||
; MOVE A0,@BAKMODS,L
|
||||
; CALLA BGND_UD1
|
||||
|
||||
; MOVI HSC,A0
|
||||
; CALLA BLAKOUT
|
||||
; MOVI NUARENAP,A0
|
||||
; CALLA BLAKOUT
|
||||
;
|
||||
; MOVI SCRNEND,A0 ;[256,405],A0
|
||||
; MOVE A0,@SCRNLR,L
|
||||
;
|
||||
; MOVI PAL4TAB,A0
|
||||
; MOVK 2,A1 ;FADE TITLE SCREEN IN FROM BLACK
|
||||
; CALLA FADEIN
|
||||
;
|
||||
; SLEEP 20
|
||||
;
|
||||
; MOVI HSC,A8 ;PAL NAME
|
||||
; MOVI PAL1,A9 ;RAM AREA
|
||||
; MOVI [50,55],A10 ;BEGIN/END COLOR #
|
||||
; MOVK 5,A11 ;RATE IN TICKS
|
||||
; CREATE CYCPID,COLCYC ;COLOR CYCLER ON
|
||||
;
|
||||
; MOVI HSC,A8 ;PAL NAME
|
||||
; MOVI PAL2,A9 ;FIRST COLOR TO CYCLE
|
||||
; MOVI [55,58],A10 ;LAST COLOR TO CYCLE
|
||||
; MOVK 9,A11 ;RATE
|
||||
; CREATE CYCPID,COLCYC
|
||||
;
|
||||
;;DISPLAY SCORES HERE!
|
||||
;
|
||||
; CALLA COLRPRC
|
||||
; CLR A0
|
||||
; MOVE A0,@GAMERASE,W
|
||||
; SLEEP 2
|
||||
; CALLA GETHIGH
|
||||
;
|
||||
; SLEEP 5*60
|
||||
; MOVE @KEEPON,A0
|
||||
; JRZ TY6
|
||||
; SLEEP 14*60
|
||||
; CLR A0
|
||||
; MOVB A0,@CANT
|
||||
; MOVE A0,@KEEPON
|
||||
; MOVK 3,A11 ;FADE RATE
|
||||
; CREATE 0,FADE_DOWN
|
||||
; SLEEP 40
|
||||
; SOUND1 MUSICOFF
|
||||
; MOVK 3,A11 ;FADE RATE
|
||||
; CREATE 0,FADE_UP
|
||||
;
|
||||
;
|
||||
;TY6 MOVK 1,A0
|
||||
; MOVE A0,@GAMERASE,W
|
||||
;
|
||||
; MOVI CYCPID,A0
|
||||
; CLR A1
|
||||
; NOT A1
|
||||
; CALLA KILALL
|
||||
;
|
||||
; MOVI PAL4TAB,A0
|
||||
; MOVK 2,A1 ;FADE TITLE SCREEN OUT TO BLACK
|
||||
; CALLA FADEOUT
|
||||
;
|
||||
; SLEEP 30
|
||||
; CALLA CLR_SCRN
|
||||
; RETP
|
||||
;
|
||||
;OFFERT:
|
||||
; JSRP WNDWON
|
||||
; CALLA KILBGND ;KILL OLD BACKGROUND IF ANY EXISTED
|
||||
;
|
||||
; MOVI OFFER,A0
|
||||
; MOVE A0,@BAKMODS,L
|
||||
; CALLA BGND_UD1
|
||||
;
|
||||
; MOVI CLSNEUT|TYPTEXT|SUBWNDW,A0
|
||||
; CLR A1
|
||||
; NOT A1
|
||||
; CALLA KILOBJ
|
||||
;
|
||||
; MOVI HSC,A0
|
||||
; CALLA BLAKOUT
|
||||
; MOVI DUXPAL,A0
|
||||
; CALLA BLAKOUT
|
||||
; MOVI smlg,A0
|
||||
; CALLA BLAKOUT
|
||||
;
|
||||
; MOVI SCRNEND,A0 ;[256,405],A0
|
||||
; MOVE A0,@SCRNLR,L
|
||||
;
|
||||
; MOVI PAL5TAB,A0
|
||||
; MOVK 2,A1 ;FADE TITLE SCREEN IN FROM BLACK
|
||||
; CALLA FADEIN
|
||||
;
|
||||
; MOVI DUXPAL,A8 ;PAL NAME
|
||||
; MOVI PAL1,A9 ;RAM AREA
|
||||
; MOVI [1,6],A10 ;BEGIN/END COLOR #
|
||||
; MOVK 8,A11 ;RATE IN TICKS
|
||||
; CREATE CYCPID,COLCYC ;COLOR CYCLER ON
|
||||
;
|
||||
; SLEEP 8*60
|
||||
;
|
||||
; MOVI CYCPID,A0
|
||||
; CLR A1
|
||||
; NOT A1
|
||||
; CALLA KILALL
|
||||
;
|
||||
; MOVI PAL5TAB,A0
|
||||
; MOVK 2,A1 ;FADE TITLE SCREEN OUT TO BLACK
|
||||
; CALLA FADEOUT
|
||||
;
|
||||
; SLEEP 35
|
||||
; CALLA CLR_SCRN
|
||||
; MOVB @CANT,A0
|
||||
; JREQ ACJAZ
|
||||
;ADPAZ SLEEP 1
|
||||
; JRUC ADPAZ
|
||||
;ACJAZ RETP
|
||||
|
||||
;PRINTIT:
|
||||
; JSRP SNKNOW
|
||||
; CLR A0
|
||||
; MOVI 03E3EH,A6 ;COLOR
|
||||
; JSRP STRCNRMO ;PRINT OUT SHIT
|
||||
; JSRP EXPSCRN
|
||||
; SLEEP 60*5 ;5 SECONDS
|
||||
; MOVI CLSNEUT|TYPTEXT|SUBTXT,A0
|
||||
; CLR A1
|
||||
; NOT A1
|
||||
; CALLA KILOBJ
|
||||
RETP
|
||||
;
|
||||
;SY .LONG SY1,S2,S2,S3,S4,S2,S5,S6,S2,S8,S9,S10,S11,S2,S13,S14,S15,S16,S17
|
||||
; .LONG S2,S2,S20,S21,S22,S23,S2,S24,S2,S24A,S2,S25,0
|
||||
;SY2 .LONG FSY1,S2,FS3,FS4,S2,FS5,S2,FS5A,S2,FS6,FS8,S2,FS9,FS10,FS11,FS13,FS14,FS15,FS15A,FS16,FS17
|
||||
; .LONG S2,FS21,FS22,S2,FS23,S2,FS24,S2,S25
|
||||
; .LONG S2,S2,NM1,NM2,NM3,NM4,NM5,NM5A,NM6,NM7,NM7A,NM8,NM9,NM10,NM11
|
||||
; .LONG NM12,NM12A,NM12B,NM12C,NM12E,NM12D,NM12F,NM12G,S2,S2,S2,NM13,S2,NM14,0
|
||||
;
|
||||
;SY1
|
||||
; .STRING "The year is 1999"
|
||||
; .BYTE 0
|
||||
; .EVEN
|
||||
;S2 .STRING " "
|
||||
; .BYTE 0
|
||||
; .EVEN
|
||||
;;
|
||||
;; ATTPLAY - ATTRACT MODE GAME PLAY
|
||||
;; NOTE: CALL WITH JSRP
|
||||
;;
|
||||
;NATTWAVS .SET 3 ;# OF ATTRACT MODE WAVES
|
||||
;
|
||||
;ATTPLAY:
|
||||
; MOVK 1,A0
|
||||
; MOVE A0,@SOUNDSUP,W ;TURN ALL SOUNDS OFF
|
||||
; MOVE @AWAVE,A0,W
|
||||
; INC A0
|
||||
; CMPI 2,A0
|
||||
; JRNE NOMUT
|
||||
; MOVE A0,@AWAVE
|
||||
; MOVI 10,A0
|
||||
; JRUC MUT0
|
||||
;NOMUT CMPI NATTWAVS,A0
|
||||
; JRLS ATTWGO
|
||||
;ATTWRST:
|
||||
; MOVK 1,A0 ;RESET TO WAVE 1
|
||||
;ATTWGO:
|
||||
; MOVE A0,@AWAVE,W
|
||||
;MUT0
|
||||
; MOVE A0,@WAVE,W
|
||||
; MOVK 1,A0
|
||||
; MOVE A0,@PLAYPAGE,W ;MARK IT AS THE PLAY PAGE
|
||||
;; MOVI DLSTZ,A1
|
||||
;; CALLA UNGET
|
||||
;; MOVI DLST,A1
|
||||
;; CALLA UNGET
|
||||
; CALLA CLNPAL
|
||||
; JSRP AMODWAVE ;START WAVE #1-3
|
||||
; MOVI P1DATA,A11 ;MARK PLAYER 1 FOR DEMO
|
||||
;; MOVE @AWAVE,A9,W
|
||||
;; DEC A9
|
||||
;; SLL 5,A9
|
||||
;; ADDI AMOVETAB,A9 ;SCRIPTED PLAYER MOVEMENT
|
||||
; ;BASED ON WAVE WE ARE ON
|
||||
;; MOVE *A9,A9,L ;GET THIS WAVES MOVEMENT TABLE
|
||||
; MOVI AWAV1MOV,A9
|
||||
;ATTNEXT:
|
||||
; MOVE *A9+,A0,W ;GET SOME JOYSTICK BITS
|
||||
; CMPI 0FFFFFFFFH,A0
|
||||
; JREQ ATTWXXX
|
||||
; MOVE A0,@P1CTRL,W
|
||||
; MOVE *A9+,A10,W
|
||||
; JSRP ATTSLP ;PROCESS SLEEP TIME
|
||||
; JRUC ATTNEXT
|
||||
;ATTWXXX:
|
||||
; CLR A1
|
||||
; NOT A1
|
||||
; MOVI PCPID,A0
|
||||
; CALLA KILALL
|
||||
;
|
||||
; JSRP WNDWON
|
||||
;
|
||||
; MOVI ICONPID,A0
|
||||
; CLR A1
|
||||
; NOT A1
|
||||
; CALLA KILALL
|
||||
;
|
||||
; CALLA CLR_ALL
|
||||
;
|
||||
;;GLITCH HERE?
|
||||
; SLEEP 2
|
||||
;
|
||||
;
|
||||
; CLR A0
|
||||
; MOVE A0,@SOUNDSUP,W ;TURN ALL SOUNDS ON
|
||||
; CALLA DELWNDW
|
||||
; RETP
|
||||
;;
|
||||
;; SCRIPTPLAY - PLAYER MOVEMENT FOR IN/OUT OF WAVES
|
||||
;; PARMS
|
||||
;; SCRIPT NUMBER IN FROMDR
|
||||
;; SENT WITH EITHER P1CTRL OR P2CTRL IN A8
|
||||
;;IF A9=1 THEN PLY1 START, 2=PLYR2 START 0=REG MOVEMENT PLAYER TABLE
|
||||
;SCRIPTPLAY:
|
||||
; MOVE A9,A9
|
||||
; JREQ REG
|
||||
;;PLAYERS ABOUT TO BEGIN A GAME
|
||||
; CMPI 1,A9
|
||||
; JRNE SX
|
||||
; MOVB @KP_LS,A0
|
||||
; CMPI 0FFFFFFFFH,A0
|
||||
; JREQ ZA
|
||||
; MOVI 1,A0
|
||||
; MOVI 10,A1
|
||||
; CALLA SET_GATE_2
|
||||
;;TURN ON RINGS AROUND THIS PLAYER
|
||||
;;MAKE SURE IMAGE IS STARTED BEFORE THIS
|
||||
;ZA
|
||||
; CALLR C_SHO2
|
||||
;; MOVI 1,A9
|
||||
;;ALREADY A 9!
|
||||
; MOVI 190,A10 ;TIME RINGS ARE ON
|
||||
; CREATE RNGPID,RINGS
|
||||
; MOVI LDRS,A9
|
||||
; MOVB @BOSSON,A0
|
||||
; JRZ NEXTMOV
|
||||
; MOVI LDRS2,A9
|
||||
; JRUC NEXTMOV
|
||||
;SX
|
||||
; MOVB @KP_RS,A0
|
||||
; CMPI 0FFFFFFFFH,A0
|
||||
; JREQ ZA1
|
||||
; MOVI 2,A0
|
||||
; MOVI 10,A1
|
||||
; CALLA SET_GATE_2
|
||||
;ZA1
|
||||
; CALLR C_SHO1
|
||||
;; MOVI 2,A9
|
||||
;;ALREADY A9=2
|
||||
; MOVI 190,A10 ;TIME RINGS ARE ON
|
||||
; CREATE RNGPID,RINGS
|
||||
; MOVI RDRS,A9
|
||||
; MOVB @BOSSON,A0
|
||||
; JRZ NEXTMOV
|
||||
; MOVI RDRS2,A9
|
||||
; JRUC NEXTMOV
|
||||
;C_SHO1 CLR A0
|
||||
; MOVE @PLYRPRCS+32,A1,L
|
||||
; JRZ RETOUT
|
||||
; MOVE *A1,A1,L
|
||||
; MOVE *A1(LEG_PRC),A1,L
|
||||
; MOVE A0,*A1(SHOECNT)
|
||||
; RETS
|
||||
;C_SHO2
|
||||
; CLR A0
|
||||
; MOVE @PLYRPRCS,A1,L
|
||||
; JRZ RETOUT
|
||||
; MOVE *A1,A1,L
|
||||
; MOVE *A1(LEG_PRC),A1,L
|
||||
; MOVE A0,*A1(SHOECNT)
|
||||
;RETOUT RETS
|
||||
;REG
|
||||
; CALLR C_SHO1
|
||||
; CALLR C_SHO2
|
||||
; MOVE @FROMDR,A0,W
|
||||
; JRNZ REG3
|
||||
;;TV SET RUN IN
|
||||
; CMPI P1CTRL,A8
|
||||
; JRZ REG4
|
||||
; MOVI TVMOV2,A9
|
||||
; JRUC NEXTMOV
|
||||
;REG4 MOVI TVMOV,A9
|
||||
; JRUC NEXTMOV
|
||||
;REG3 SLL 5,A0
|
||||
; ADDI GMOVTAB,A0 ;SCRIPTED PLAYER MOVEMENT
|
||||
; MOVE @CIRCUIT,A9
|
||||
; CMPI 2,A9
|
||||
; JRNZ REGCONT
|
||||
; MOVE @WAVE,A9
|
||||
; CMPI 7,A9
|
||||
; JRNZ REGCONT
|
||||
; MOVI SNAKELST,A9
|
||||
; JRUC NEXTMOV
|
||||
;REGCONT MOVE *A0,A9,L ;GET MOVEMENT TABLE DATA
|
||||
;NEXTMOV:
|
||||
; MOVE @HALT,A0
|
||||
; JRZ NXM
|
||||
; SLEEP 1
|
||||
; JRUC NEXTMOV
|
||||
;NXM
|
||||
; MOVE *A9+,A0,W ;GET SOME JOYSTICK BITS
|
||||
; CMPI 0FFFFFFFFH,A0
|
||||
; JREQ MOVEXIT
|
||||
; MOVE A0,*A8,W ;P1/P2CTRL
|
||||
; MOVE *A9+,A10,W
|
||||
; JSRP ATTSLP ;PROCESS SLEEP TIME
|
||||
; JRUC NEXTMOV
|
||||
;MOVEXIT:
|
||||
; DIE
|
||||
;;
|
||||
;; ATTSLP - PROCESS ATTRACT MODE PLAYER SLEEP
|
||||
;; A10 = # TICKS TO SLEEP
|
||||
;; RETURNS:
|
||||
;; CARRY CLEAR = SLEEP COMPLETED
|
||||
;; CARRY SET = STILL SNOZZIN'
|
||||
;;
|
||||
;; NOTE: CALL WITH JSRP
|
||||
;;
|
||||
;ATTSLP:
|
||||
; PUSHP A10
|
||||
;ATTSLPL:
|
||||
; SLEEP 1
|
||||
; SETC
|
||||
; DSJS A10,ATTSLPL ;PROCESS SLEEP LOOP
|
||||
; CLRC
|
||||
; PULLP A10
|
||||
; RETP
|
||||
;;
|
||||
;; AMODWAVE - INITIALIZE AN ATTRACT MODE WAVE:
|
||||
;; CURRENT ATTRACT WAVE MUST BE INDICATED IN VARIABLE, AWAVE.
|
||||
;; NOTE: CALL AS JSRP!
|
||||
;;
|
||||
;AMODWAVE:
|
||||
; CALLA INIT_DEMO
|
||||
; RETP
|
||||
;
|
||||
;AMOVETAB:
|
||||
; .LONG AWAV1MOV,AWAV2MOV,AWAV3MOV,AWAV4MOV,AWAV5MOV,AWAV6MOV
|
||||
;GMOVTAB:
|
||||
; .LONG TVMOV,LFTDOOR,RGTDOOR,TOPDOOR,BOTDOOR
|
||||
;
|
||||
;ATTRACT MODE PLAYER MOVEMENT TABLES
|
||||
; .WORD STICK_BITS,SLEEP_TIME
|
||||
; .
|
||||
; .
|
||||
; .WORD 0FFFFH
|
||||
;
|
||||
;AWAV1MOV:
|
||||
;PLACE SCRIPT FOR WAVE 2 HERE!
|
||||
; .WORD 0,60*4
|
||||
; .WORD PFRYTE|PUP,20H
|
||||
; .WORD PFRYTE|PDOWN,40H
|
||||
; .WORD PFRYTE,20H
|
||||
; .WORD 0,5H
|
||||
; .WORD PFRYTE,20H
|
||||
; .WORD PLEFT,20H
|
||||
; .WORD PFRYTE|PUP,50H
|
||||
; .WORD PFRYTE|PDOWN,20H
|
||||
; .WORD PFRYTE|PUP,20H
|
||||
; .WORD PFRYTE|PDOWN,40H
|
||||
; .WORD PUP,26H
|
||||
; .WORD 0,20H
|
||||
; .WORD PRYTE,25H
|
||||
; .WORD PUP,10H
|
||||
; .WORD PRYTE|PFDOWN,55H
|
||||
; .WORD PFUP|PDOWN,20H
|
||||
; .WORD PFRYTE|PLEFT,20H
|
||||
; .WORD PFRYTE|PUP,20H
|
||||
; .WORD PFRYTE|PDOWN,30H
|
||||
; .WORD PFRYTE,20H
|
||||
; .WORD PLEFT,20H
|
||||
; .WORD PFDOWN|PRYTE,15H
|
||||
; .WORD PUP,26H
|
||||
; .WORD PRYTE|PFDOWN,22H
|
||||
; .WORD PFUP|PDOWN,20H
|
||||
;; .WORD 0FFFFH
|
||||
;
|
||||
; .WORD PFRYTE|PLEFT,30H
|
||||
; .WORD PFRYTE|PUP,20H
|
||||
; .WORD PFRYTE|PDOWN,35H
|
||||
; .WORD PFLEFT|PUP,20H
|
||||
; .WORD PFLEFT|PDOWN,35H
|
||||
; .WORD PFRYTE|PDOWN,30H
|
||||
; .WORD PFRYTE,20H
|
||||
; .WORD PRYTE|PUP|PFDOWN,30H
|
||||
; .WORD PLEFT,20H
|
||||
; .WORD PFDOWN|PRYTE,15H
|
||||
; .WORD PUP,26H
|
||||
; .WORD PRYTE|PFDOWN,22H
|
||||
; .WORD PFUP|PDOWN,20H
|
||||
; .WORD PFRYTE|PLEFT,30H
|
||||
; .WORD PFRYTE|PUP,20H
|
||||
; .WORD PFRYTE|PDOWN,35H
|
||||
; .WORD PFLEFT|PUP,20H
|
||||
; .WORD PFLEFT|PDOWN,35H
|
||||
; .WORD 0FFFFH
|
||||
;
|
||||
;SNAKELST
|
||||
;;EXIT FROM RIGHT DOOR WITH SNAKES
|
||||
; .WORD PRYTE,06FH
|
||||
; .WORD PDOWN|PRYTE,2H
|
||||
; .WORD PDOWN,30H
|
||||
; .WORD PDOWN|PRYTE,2H
|
||||
; .WORD PRYTE,0FAH
|
||||
; .WORD 0,1H
|
||||
; .WORD 0FFFFH
|
||||
;
|
||||
;TVMOV:
|
||||
;;TELEVISION INTRO SCREEN PLAYER MOVEMENT/ANIMATION SCRIPT
|
||||
; .WORD PUP,2
|
||||
; .WORD PUP|PRYTE,3H
|
||||
; .WORD PRYTE,044H
|
||||
; .WORD PDOWN|PRYTE,2H
|
||||
; .WORD PDOWN,30H
|
||||
; .WORD PDOWN|PRYTE,2H
|
||||
; .WORD PRYTE,014AH
|
||||
; .WORD 0,1H
|
||||
; .WORD 0FFFFH
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,376 @@
|
|||
*
|
||||
.INCLUDE "AUDIT.EQU" ;AUDIT NAMES!
|
||||
*
|
||||
CHUTES EQU 4 ;MAXIMUM COIN CHUTES IN GAME.
|
||||
*
|
||||
*MISC BUTTON EQUATES
|
||||
.IF YUNIT
|
||||
UP_BITS EQU 1111H
|
||||
DOWN_BITS EQU 2222H
|
||||
BUTTONS EQU 640000H
|
||||
.ELSE
|
||||
UP_BITS EQU 101H
|
||||
DOWN_BITS EQU 202H
|
||||
BUTTONS EQU 0F0F0H
|
||||
.ENDIF
|
||||
*
|
||||
*****************************
|
||||
***************************** GET OFFICIAL PID FROM GEORGE ******************
|
||||
MENU_PID EQU 0AC1H ;GET_MENU SLAVE
|
||||
MDUN_PID EQU 0AC2H ;MENU SLAVE CHANGES TO THIS WHEN DONE
|
||||
OPMES_PID EQU 0AC3H ;OPERATOR ENTER INITIALS
|
||||
***************************** GET OFFICIAL PID FROM GEORGE ******************
|
||||
*****************************
|
||||
LONG_SIZE EQU 32
|
||||
WORD_SIZE EQU 16
|
||||
BYTE_SIZE EQU 8
|
||||
|
||||
C_LONG_SIZE EQU 64
|
||||
C_WORD_SIZE EQU 32
|
||||
C_BYTE_SIZE EQU 16
|
||||
|
||||
BYTE_MASK EQU 0FFH
|
||||
WORD_MASK EQU 0FFFFH
|
||||
|
||||
SX_MASK EQU 0FFFFH
|
||||
SY_MASK EQU 0FFFF0000H
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* ASCII STUFF *
|
||||
* *
|
||||
**************************************************************************
|
||||
SPACE EQU 20H
|
||||
EX_PT EQU 21H
|
||||
LET_0 EQU 30H
|
||||
LET_A EQU 41H
|
||||
LET_Z EQU 5AH
|
||||
UNDERSCORE EQU 5FH
|
||||
FONT_SPACE EQU 7EH
|
||||
FONT_RUB EQU FONT_SPACE+1
|
||||
FONT_END EQU FONT_RUB+1
|
||||
FONT_RQUOTE EQU FONT_END+1
|
||||
FONT_EPOUND equ FONT_RQUOTE+1
|
||||
FONT_CR equ FONT_EPOUND+1
|
||||
ASCII_COMMA EQU 2CH
|
||||
RIGHT_PAREN EQU 29H
|
||||
ASCII_DQ EQU 22H
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* SCREEN STUFF *
|
||||
* *
|
||||
**************************************************************************
|
||||
*
|
||||
SCREEN_X_UNIT EQU 8 ;THESE ARE FOR PACKED LINEAR ADDRESS
|
||||
SCREEN_Y_UNIT EQU 1000H ;FORMAT
|
||||
*
|
||||
STRUCT_X_UNIT EQU 1000H ;X UNIT IN SPR DATA STRUCTURE
|
||||
STRUCT_Y_UNIT EQU 1000H ;Y UNIT IN SPR DATA STRUCTURE
|
||||
*
|
||||
TABLE_UNIT EQU 10000H ;16 BIT FRACTION IN HSTD COORDINATES
|
||||
*
|
||||
EVEN_X_MASK EQU 0FF8H ;X MASK TO EVEN PIXEL
|
||||
X_MASK EQU 0FF8H ;MASK TO HOLD JUST X
|
||||
Y_MASK EQU 1FF000H ;MASK TO HOLD JUST Y
|
||||
*
|
||||
Y_MAX EQU 256
|
||||
SCREEN_PITCH EQU 400
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* COLOR STUFF *
|
||||
* *
|
||||
**************************************************************************
|
||||
|
||||
|
||||
|
||||
ROBO_GREY EQU 0101H ;[0E0H-223,0E0H-223]
|
||||
ROBO_WHITE EQU 0202H ;[0E1H-223,0E1H-223]
|
||||
ROBO_RED EQU 0303H ;[0E2H-223,0E2H-223]
|
||||
ROBO_ORANGE EQU 0404H ;[0E3H-223,0E3H-223]
|
||||
ROBO_YELLOW EQU 0505H ;[0E4H-223,0E4H-223]
|
||||
ROBO_GREEN EQU 0606H ;[0E5H-223,0E5H-223]
|
||||
ROBO_BLUE EQU 0707H ;[0E6H-223,0E6H-223]
|
||||
ROBO_LF EQU 03E3EH
|
||||
ROBO_CYAN EQU 0E0EH ;[0EDH-223,0EDH-223]
|
||||
ROBO_DECAY EQU 03F3FH
|
||||
ROBO_RGOLD EQU 0A0AH ;[0E9H-223,0E9H-223]
|
||||
ROBO_LASER EQU 03E3EH
|
||||
ROBO_LASER2 EQU 03F3FH
|
||||
ROBO_BLUWH EQU 0C0CH ;[0EBH-223,0EBH-223]
|
||||
ROBO_PINK EQU 0303H ;[0E2H-223,0E2H-223]
|
||||
ROBO_SKY EQU 0D0DH ;[0ECH-223,0ECH-223] ;LAST COLOR IN ROBO IS "SKY" COLOR
|
||||
ROBO_PURPLE EQU ROBO_SKY ;PURPLE FOR TEST MODE
|
||||
ROBO_BLACK EQU 1414H ;BLACK AS COAL
|
||||
|
||||
LOG_PAL_SIZE EQU 12 ;SHIFT 12 BITS TO TURN NUMBER INTO OFFSET
|
||||
* ;IN PALETTE MEMORY
|
||||
*
|
||||
MAX_PAL_MASK EQU 3FH ;THIS IS MASK FOR NUMBER OF PALETTES.
|
||||
*
|
||||
*
|
||||
ALL_BLUE equ 1fh
|
||||
ALL_GREEN equ 3e0h
|
||||
ALL_RED equ 7c00h
|
||||
ALL_PURPLE EQU ALL_RED+ALL_BLUE
|
||||
LIGHT_PURPLE EQU 701CH
|
||||
*
|
||||
ONE_BLUE EQU 1
|
||||
ONE_GREEN EQU 20H
|
||||
ONE_RED EQU 400H
|
||||
*
|
||||
THIRD_GREEN EQU 140H ;1/3TH GREEN ON
|
||||
THIRD_RED EQU 2800H ;1/3 RED ON
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* AUDIT STRUCTURE *
|
||||
* *
|
||||
**************************************************************************
|
||||
AUD_DATA EQU 0 ;THE COUNTER IS 4 BYTES STARTING AT ZERO
|
||||
AUD_CKSUM EQU AUD_DATA+(4*C_BYTE_SIZE) ;CHECKSUM = 2 BYTES
|
||||
AUD_SIZE EQU AUD_CKSUM+C_WORD_SIZE
|
||||
AUD_BYTES_TO_CHECK EQU (AUD_SIZE/C_BYTE_SIZE)-2 ;# TO ADD FOR CHECKSUM
|
||||
|
||||
N_AUDITS EQU 45
|
||||
|
||||
.IF (LAST_AUDIT+1)>N_AUDITS
|
||||
XXX NOT ENOUGH RAM ALLOCATED FOR AUDITS!
|
||||
.ENDIF
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* ADJUSTMENTS *
|
||||
* *
|
||||
**************************************************************************
|
||||
ADJ_SIZE EQU C_LONG_SIZE
|
||||
N_ADJUSTS EQU 24 ;# OF ADJUSTS
|
||||
|
||||
.IF (LAST_ADJUST+1)>N_ADJUSTS
|
||||
XXX NOT ENOUGH RAM ALLOCATED FOR ADJUSTMENTS!
|
||||
.ENDIF
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* *
|
||||
* CMOS STUFF FOR HSTD..........MOVE THIS TO SPECIAL EQUATE FILE *
|
||||
* SOME DAY *
|
||||
* *
|
||||
* *
|
||||
**************************************************************************
|
||||
*
|
||||
* High Score table (CMOS) entry data structure
|
||||
*
|
||||
NUM_INITS EQU 3 ;INITIALS IN EACH ENTRY..THIS MUST BE ODD
|
||||
*
|
||||
HS_SCORE EQU 0 ;LONG WORD.....8 DIGIT SCORE
|
||||
HS_INITS EQU HS_SCORE+C_LONG_SIZE ;BYTE FOR FIRST INITIAL
|
||||
HS_CKBYTE EQU HS_INITS+(NUM_INITS*C_BYTE_SIZE) ;BYTE FOR CHECKSUM
|
||||
HS_SIZE EQU HS_CKBYTE+C_BYTE_SIZE ;SIZE OF STRUCTURE
|
||||
HS_BYTES_TO_CHECK EQU (HS_SIZE/C_BYTE_SIZE)-1 ;# TO ADD FOR CHECKSUM
|
||||
HS_SIZE_IN_WORDS EQU HS_SIZE/C_WORD_SIZE ;SIZE OF ENTRY IN WORDS
|
||||
HS_SIZE_IN_BYTES EQU HS_SIZE/C_BYTE_SIZE ;SIZE OF ENTRY IN BYTES
|
||||
HS_ROM_SIZE equ HS_SIZE/2 ;address size of rom entry
|
||||
*
|
||||
**************************************************************************
|
||||
* *
|
||||
* A HIGH SCORE TABLE IS DEFINED IN ROM BY THE FOLLOWING *
|
||||
* STRUCTURE (THERE ARE AT LEAST 2 TABLES....ALL TIME *
|
||||
* AND "TODAYS") *
|
||||
* *
|
||||
**************************************************************************
|
||||
TB_POINTER EQU 0 ;LONG-POINTER TO BEGINNING OF TABLE
|
||||
TB_COUNT EQU TB_POINTER+LONG_SIZE ;WORD....# IN THE TABLE.
|
||||
TB_VISIBLE EQU TB_COUNT+WORD_SIZE ;WORD....NUMBER DISPLAYED
|
||||
TB_PAGE_BITS EQU TB_VISIBLE+WORD_SIZE ;WORD....STATUS WORD FOR CMOS PAGE
|
||||
TB_FACTORY EQU TB_PAGE_BITS+WORD_SIZE ;LONG....ROM STARTUP TABLE
|
||||
TB_ERROR_COUNT EQU TB_FACTORY+LONG_SIZE ;WORD....NUM ERRORS TO RE-INIT
|
||||
*
|
||||
CMOS EQU 1400000H ;BASE OF CMOS
|
||||
WPCMOS EQU 1404000H ;WRITE PROTECTED CMOS
|
||||
WP_READ EQU 1C00010H ;PLACE TO READ WRITE PROTECT STATUS
|
||||
SND_TALK EQU 1C00020H ;SOUND BOARD TALK BACK.
|
||||
WP_BIT EQU 800H ;BIT WHERE WRITE ENABLE LIVES 0=NO WRITES
|
||||
CMOS_PAGE_SELECT_BITS EQU 0C0H ;BITS 6 AND 7 OF SYSCTRL SELECT CMOS PAGE
|
||||
CMOS_PAGE_SELECT_UNIT EQU 040H ;4 PAGES USE MULTIPLES OF THIS
|
||||
*
|
||||
**************************************************************************
|
||||
* *
|
||||
* CMOS ALLOCATION *
|
||||
* *
|
||||
**************************************************************************
|
||||
*
|
||||
* 4 PAGES OF 2K
|
||||
*
|
||||
* EACH PAGE....LOW 1K = READ/WRITE
|
||||
* HIGH 1K = WRITE PROTECTED Z-UNIT ONLY
|
||||
* PROTECTION ON ALL 2K Y-UNIT
|
||||
|
||||
*
|
||||
* PAGE 0 LOW HALF = HSTD TODAY
|
||||
*
|
||||
TODAYS_ORIGIN EQU CMOS
|
||||
TODAYS_SELECT EQU CMOS_PAGE_SELECT_UNIT*0
|
||||
TODAYS_VISIBLE EQU 10
|
||||
*
|
||||
* PAGE 1 LOW HALF = AUDITS
|
||||
* HIGH HALF = ADJUSTMENTS
|
||||
|
||||
AUDIT_SELECT EQU CMOS_PAGE_SELECT_UNIT*1
|
||||
HSR_SELECT EQU AUDIT_SELECT ;HIGH SCORE RESET COUNTER
|
||||
COIN_SELECT EQU AUDIT_SELECT ;COINS AND CREDITS
|
||||
*
|
||||
ADJUST_SELECT EQU CMOS_PAGE_SELECT_UNIT*1
|
||||
*
|
||||
*
|
||||
* PAGE 2 LOW HALF = HSTD ALL TIME
|
||||
*
|
||||
ALL_TIME_ORIGIN EQU CMOS
|
||||
ALL_TIME_SELECT EQU CMOS_PAGE_SELECT_UNIT*2
|
||||
ALL_TIME_VISIBLE EQU 10
|
||||
*
|
||||
* PAGE 3 DUMPS
|
||||
*
|
||||
DUMP_SELECT EQU CMOS_PAGE_SELECT_UNIT*3
|
||||
DUMP_ORG EQU CMOS
|
||||
DUMP_PTR EQU DUMP_ORG ;WORD....NUMBER OF ENTRIES!
|
||||
DUMP_DATA EQU DUMP_PTR+C_WORD_SIZE ;DUMPS GO HERE!
|
||||
*
|
||||
* AUDIT PAGE AUDIT DATA AND CREDITS
|
||||
*
|
||||
AUDITORG EQU CMOS ;AUDITS LIVE HERE
|
||||
CREDITS EQU AUDITORG+(N_AUDITS*AUD_SIZE) ;BYTE FOR CREDITS
|
||||
CUNITS EQU CREDITS+C_BYTE_SIZE ;WORD
|
||||
BUNITS EQU CUNITS+C_WORD_SIZE ;WORD
|
||||
MINUNITS EQU BUNITS+C_WORD_SIZE ;WORD
|
||||
COIN_CKSUM EQU MINUNITS+C_WORD_SIZE ;BYTE
|
||||
HSR_C EQU COIN_CKSUM+C_BYTE_SIZE ;LONG = HIGH SCORE RESET COUNTER
|
||||
*
|
||||
* NEXT TWO ARE ASSUMED TO BE BACK TO BACK
|
||||
*
|
||||
HRESET_COUNTER EQU HSR_C+C_LONG_SIZE ;LONG = HIGH SCORE RESET COUNTER
|
||||
HRESET_VERIFY EQU HRESET_COUNTER+C_LONG_SIZE ;LONG = 2ND COPY INVERTED.
|
||||
|
||||
COIN_CKSUM_START EQU CREDITS
|
||||
COIN_CKSUM_SIZE EQU COIN_CKSUM-COIN_CKSUM_START ;SIZE OF REGION TO CHECK
|
||||
COIN_CKSUM_BYTES EQU COIN_CKSUM_SIZE/C_BYTE_SIZE ;NUMBER OF BYTES TO ADD
|
||||
|
||||
CMESS_CHARS EQU 25 ;25 CHARS/LINE OF CUSTOM MESSAGE
|
||||
CMESS_LINES EQU 3 ;3 LINES
|
||||
CMESS_LINE_SIZE EQU CMESS_CHARS*C_BYTE_SIZE
|
||||
CMESS_SIZE EQU CMESS_LINES*CMESS_LINE_SIZE
|
||||
|
||||
VALID_VALUE EQU 0EABCH ;STORED AT "VALID_CUSTOM" IF OK!
|
||||
|
||||
NAME_REV_SIZE EQU 30 ;NAME AND REV DATA
|
||||
|
||||
ADJUSTORG EQU WPCMOS ;FIRST ADJUSTMENT HERE
|
||||
CUSTOM_MESSAGE EQU ADJUSTORG+(N_ADJUSTS*ADJ_SIZE)
|
||||
VALID_CUSTOM EQU CUSTOM_MESSAGE+CMESS_SIZE ;WORD = EABC IF OK.
|
||||
END_CK_REGION EQU VALID_CUSTOM+C_WORD_SIZE
|
||||
ADJ_AREA_SIZE EQU END_CK_REGION-ADJUSTORG ;ADJUSTS+CUSTOM MESSAGE
|
||||
ADJ_CKSUM EQU END_CK_REGION ;WORD CHECK FOR ADJUSTS
|
||||
ADJ_BYTES_TO_CHECK EQU ADJ_AREA_SIZE/C_BYTE_SIZE ;NUMBER OF BYTES IN CHECKSUM.
|
||||
NAME_REV EQU ADJ_CKSUM+C_WORD_SIZE
|
||||
END_ADJ EQU NAME_REV+(NAME_REV_SIZE*C_BYTE_SIZE)
|
||||
*
|
||||
PSYCHO_BOX_NUMBER EQU ALL_TIME_VISIBLE-3 ;ON THE WAY TO 17 IF NO BOXES IS TIME FOR BACKGROUND
|
||||
PSYCHO_FRACTION EQU 11 ;NUMBER OF SCROLLS BETWEEN NUMBERS FOR BACKGROUND
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* ENTER YOUR INITIALS PROCESS OFFSETS *
|
||||
* *
|
||||
**************************************************************************
|
||||
*
|
||||
* Y COORDINATE FOR ENTER YOUR INITIALS BLOCK:
|
||||
*
|
||||
;PLYR_Y EQU 308*TABLE_UNIT
|
||||
;OP_Y EQU 307*TABLE_UNIT ;THIS IS FLAG TO INDICATE OPERATOR!
|
||||
;*
|
||||
;BUTTON_BITS EQU 0F0H ;4 "FIRE" BUTTONS
|
||||
;*
|
||||
;ENT_X_COR EQU PDATA ;LONG-X COORDINATE OF UPPER LEFT
|
||||
;ENT_Y_COR EQU ENT_X_COR+LONG_SIZE ;LONG-Y COORDINATE OF UPPER LEFT
|
||||
;ENT_INIT_SIZE EQU ENT_Y_COR+LONG_SIZE ;WORD-DISTANCE BETWEEN INITIALS
|
||||
;ENT_COUNT EQU ENT_INIT_SIZE+WORD_SIZE ;WORD-NUMBER TO GET
|
||||
;ENT_COUNTDOWN EQU ENT_COUNT+WORD_SIZE ;WORD-NUMBER LEFT TO GET
|
||||
;ENT_CONST EQU ENT_COUNTDOWN+WORD_SIZE ;WORD-CONSTANT FOR COLOR
|
||||
;ENT_FONT EQU ENT_CONST+WORD_SIZE ;LONG CHARACTER FONT SET
|
||||
;ENT_STICK EQU ENT_FONT+LONG_SIZE ;WORD SHIFT COUNT FOR JOYSTICK
|
||||
;ENT_STRUCT_END EQU ENT_STICK+WORD_SIZE ;END OF PARAMETER AREA
|
||||
;*
|
||||
;ENT_STRUCT_SIZE EQU ENT_STRUCT_END-PDATA ;SIZE OF STRUCTURE
|
||||
;ENT_STRUCT_IN_WORDS EQU ENT_STRUCT_SIZE/WORD_SIZE
|
||||
;*
|
||||
;ENT_OLIST EQU ENT_STRUCT_END ;LONG.....MY OBJECTS
|
||||
;ENT_INIT_PTR EQU ENT_OLIST+LONG_SIZE ;LONG-PLACE TO PUT NEXT INITIAL
|
||||
;ENT_FROB_OBJ EQU ENT_INIT_PTR+LONG_SIZE ;LONG-OBJECT OF FROB LETTER
|
||||
;ENT_FROB_ASCII EQU ENT_FROB_OBJ+LONG_SIZE ;WORD-ASCII FOR WHERE FROB IS
|
||||
;ENT_HAND_OBJ EQU ENT_FROB_ASCII+WORD_SIZE ;LONG-PART 2 OF HAND
|
||||
;ENT_SPRAY_PROC EQU ENT_HAND_OBJ+LONG_SIZE ;LONG-OUR SPRAYER PROCESS
|
||||
;ENT_LAST_BUTTON EQU ENT_SPRAY_PROC+LONG_SIZE ;WORD-IMAGE OF LAST BUTTON
|
||||
;ENT_Y_OFFSET EQU ENT_LAST_BUTTON+WORD_SIZE ;LONG-Y-OFFSET FOR HAND ANIMATION
|
||||
;ENT_ANI_TIMER EQU ENT_Y_OFFSET+LONG_SIZE ;WORD - ANIMATION TIMER
|
||||
;ENT_PRESSED EQU ENT_ANI_TIMER+WORD_SIZE ;WORD - BIT OF BUTTON HE'S HOLDING
|
||||
;ENT_TIMEOUT EQU ENT_PRESSED+WORD_SIZE ;WORD - PASSED TO US AT TIMEOUT
|
||||
;ENT_DATA EQU ENT_TIMEOUT+WORD_SIZE ;LONG - POINTER TO ROM DATA
|
||||
*
|
||||
*
|
||||
* THE FOLLOWING VARIABLES ARE DEFINED AT THE
|
||||
* END OF THE ROM IMAGE FOR THE 2 ROUTINES. THESE
|
||||
* ARE NOT COPIED INTO THE PROCESS AREA.
|
||||
*
|
||||
;LET_PID EQU ENT_STRUCT_END-PDATA ;WORD-THIS IS IN ROM STRUCTURE
|
||||
;* ;BUT *NOT* STORED IN PROCESS
|
||||
;LET_HAND_PTR EQU LET_PID+WORD_SIZE ;LONG-POINTER TO STFOBJ FOR HAND
|
||||
;LET_SCRIPT EQU LET_HAND_PTR+LONG_SIZE ;LONG - SPRAY SCRIPT FOR SETUP
|
||||
;LET_ERASE EQU LET_SCRIPT+LONG_SIZE ;LONG - SCRIPT TO SET ERASE BRUSH
|
||||
;LET_WIDTH EQU LET_ERASE+LONG_SIZE ;LONG - X DISTANCE FOR EACH SPRAY
|
||||
;LET_MESS EQU LET_WIDTH+LONG_SIZE ;LONG - MESSAGE STRING FOR PLAYER
|
||||
*
|
||||
* FOR COIN PAGE MESSAGES.....WE HAVE UP TO 3 LINES ABOVE
|
||||
* THE CREDITS MESSAGE.
|
||||
*
|
||||
CP_13 EQU 118-35 ;LINE 1 OF 3
|
||||
CP_23 EQU 135-35 ;LINE 2 OF 3
|
||||
CP_33 EQU 151-35 ;LINE 3 OF 3
|
||||
|
||||
CP_DELTA3 EQU CP_23-CP_13 ;AMOUNT TO STEP FROM LINE TO LINE
|
||||
|
||||
CP_12 EQU 130-35 ;LINE 1 OF 2
|
||||
CP_22 EQU 146-30 ;LINE 2 OF 2
|
||||
|
||||
CP_11 EQU 139-35 ;SINGLE HELP LINE
|
||||
|
||||
CP_CX EQU 200 ;CENTER X FOR CREDITS SCREEN STUFF!
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* MESS_MAC *
|
||||
* *
|
||||
* THIS MACRO IS USED TO SETUP AN "L_MESS" MESSAGE. *
|
||||
* THE MESSAGE FOLLOWS THE MACRO. *
|
||||
* ZERO TERMINATES THE MESSAGE. *
|
||||
* ANOTHER ZERO TERMINATES L_MESS. *
|
||||
* *
|
||||
* A "1" AFTER THE TERMINATING "0" WILL CAUSE *
|
||||
* L_MESS TO PRINT OUT ANOTHER MESSAGE. *
|
||||
* *
|
||||
**************************************************************************
|
||||
|
||||
MESS_MAC $MACRO FONT,SPACING,X,Y,COLOR,ROUTINE,SLEEP
|
||||
.LONG :FONT:
|
||||
.LONG :SPACING:
|
||||
.LONG (:Y:*10000H)+:X:
|
||||
.LONG :COLOR:
|
||||
.LONG :ROUTINE:
|
||||
* .LONG :SLEEP:
|
||||
$END
|
||||
|
||||
SPACING20 EQU 00000002H
|
||||
SPACING07 EQU 1
|
||||
*
|
||||
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
*CLICK AN AUDIT COUNTER
|
||||
*DESTROYS A0
|
||||
AUDIT $MACRO P1
|
||||
MOVI :P1:,A0
|
||||
CALLA AUD1
|
||||
$END
|
||||
*
|
||||
*AUDIT A WORD LONG RAM LOCATION
|
||||
*P1 = AUDIT
|
||||
*P2 = RAM LOCATION
|
||||
*DESTROYS A0,A1
|
||||
AUDITCNT $MACRO P1,P2
|
||||
MOVE @:P2:,A1,W
|
||||
MOVI :P1:,A0
|
||||
CALLA AUD
|
||||
$END
|
||||
*
|
||||
*GET A GAME ADJUSTMENT VALUE
|
||||
*RETURNS ADJUSTMENT VALUE IN A0
|
||||
ADJUST $MACRO P1
|
||||
MOVI :P1:,A0
|
||||
CALLA GET_ADJ
|
||||
$END
|
||||
*CLICK AN AUDIT COUNTER
|
||||
*DESTROYS A0
|
||||
AUDIT $MACRO P1
|
||||
MOVI :P1:,A0
|
||||
CALLA AUD1
|
||||
$END
|
||||
*
|
||||
*AUDIT A WORD LONG RAM LOCATION
|
||||
*P1 = AUDIT
|
||||
*P2 = RAM LOCATION
|
||||
*DESTROYS A0,A1
|
||||
AUDITCNT $MACRO P1,P2
|
||||
MOVE @:P2:,A1,W
|
||||
MOVI :P1:,A0
|
||||
CALLA AUD
|
||||
$END
|
||||
*
|
||||
*GET A GAME ADJUSTMENT VALUE
|
||||
*RETURNS ADJUSTMENT VALUE IN A0
|
||||
ADJUST $MACRO P1
|
||||
MOVI :P1:,A0
|
||||
CALLA GET_ADJ
|
||||
$END
|
||||
|
||||
|
|
@ -0,0 +1,547 @@
|
|||
**************************************************************
|
||||
*
|
||||
* Software: ?
|
||||
* Initiated: ?
|
||||
*
|
||||
* Modified: Shawn Liptak, 8/?/91 -Clean up
|
||||
*
|
||||
* COPYRIGHT (C) 1991 WILLIAMS ELECTRONICS GAMES, INC.
|
||||
*
|
||||
*.Last mod - 9/6/91 13:28
|
||||
**************************************************************
|
||||
.FILE 'MAIN.ASM'
|
||||
.TITLE 'INITIALIZATION AND INTERRUPTS'
|
||||
.WIDTH 132
|
||||
.OPTION B,D,L,T
|
||||
.MNOLIST
|
||||
|
||||
|
||||
.INCLUDE "MPROC.EQU" ;MPROC EQUATES
|
||||
.INCLUDE "DISP.EQU" ;DISPLAY PROCESSOR EQUATES
|
||||
.INCLUDE "\VIDEO\SYS\GSP.INC" ;GSP ASSEMBLER EQUATES
|
||||
.INCLUDE "\VIDEO\SYS\SYS.INC" ;ZUNIT SYSTEM EQUATES
|
||||
.INCLUDE "\VIDEO\SYS\MACROS.HDR" ;MACROS, YEAH!
|
||||
.INCLUDE "GAME.EQU"
|
||||
|
||||
*UTILITY SUBROUTINE EQUATES
|
||||
.GLOBAL MYOINIT,SETPPROC,WDOGDIS,WDISTAB,INTIO
|
||||
*PAL EQUATES
|
||||
.GLOBL DELPAL,GETFPAL,INITBPAL,FINDPAL,INITPAL,PALTRANS,AUTOEON
|
||||
*RAM EQUATES
|
||||
.GLOBL INTSYNC0,INTSYNC1,NOAUTOE,SYSCOPY
|
||||
.GLOBAL IRQSKYE,WDOGRAM
|
||||
.GLOBAL GAMSTATE,GAMERASE
|
||||
|
||||
;EXTERNAL
|
||||
.REF INIT_PROG,COLRTEMP,SWSTACK,SWTEMP1,SWTEMP2,PLYRPRCS
|
||||
.REF DRAW_SCORE,SCORE_FLAG
|
||||
.REF SWSTMN,C_FRAC,C_FLAGS,COINCNTR
|
||||
|
||||
.DEF INIT_ALL,CLSCRACH
|
||||
|
||||
;UNINITIALIZED RAM DEFINITIONS
|
||||
|
||||
.BSS EOSCRN,8,1
|
||||
.BSS IRQLED,16
|
||||
.BSS WDOGRAM,32 ;INITIALIZED LONG FOR WATCH DOG DETECT
|
||||
|
||||
.TEXT
|
||||
|
||||
INIT_ALL
|
||||
CALLA INIT_SYS ;GENERAL SYSTEM INITIALIZATION
|
||||
CALLA PINIT ;INIT PROCESS LIST
|
||||
CALLA MYOINIT ;INITIALIZE THE OBJECT LIST
|
||||
CALLA AUTOEON
|
||||
EINT ;ENABLE INTERRUPTS AND WE'RE OFF
|
||||
|
||||
MOVK 1,A0
|
||||
MOVE A0,@DISPLAYON
|
||||
|
||||
RETS ;RETURN TO FIRST GAME FILE
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* SYSTEM ROUTINES AND PROCESSES *
|
||||
* *
|
||||
**************************************************************************
|
||||
|
||||
;SCAN FOR PROCESS ACTIVATION ONLY
|
||||
swscan
|
||||
|
||||
; MOVE @SWITCH,A0,L
|
||||
MOVE @COINS,A0
|
||||
MOVE @SWTEMP1,A1 ;PREVIOUS STATE T=N-1
|
||||
MOVE @SWTEMP2,A2 ;PREVIOUS PREVIOUS T=N-2
|
||||
MOVE A1,@SWTEMP2 ;NEW PREVIOUS PREVIOUS
|
||||
MOVE A0,@SWTEMP1 ;NEW PREVIOUS
|
||||
AND A1,A2
|
||||
ANDN A0,A2 ;LOOK FOR 110
|
||||
sll 16,a2
|
||||
JREQ SWSCX ;NO SWITCHES
|
||||
MOVE @SWSTACK,A3,L ;SWITCH ACTIVATION STACK
|
||||
SWSCLP ;FIND BIT SET
|
||||
CMPI SWSTMN,A3 ;SWITCH STACK OVERFLOW?
|
||||
JREQ SWSCX1 ;YEP, QUIT
|
||||
LMO A2,A0 ;1'S COMP LEFTMOST BIT
|
||||
RL A0,A2 ;GET RID OF BIT
|
||||
SLL 1,A2
|
||||
MOVK 31,A1 ;CALC TRUE BIT #
|
||||
SUB A0,A1
|
||||
MOVE A1,-*A3 ;PUSH SWITCH NUMBER ON STACK (0-31)
|
||||
RL A1,A2 ;RESTORE SWITCH WORD WITHOUT BIT
|
||||
JRNE SWSCLP
|
||||
SWSCX1 MOVE A3,@SWSTACK,L ;RESTORE SWITCH STACK
|
||||
SWSCX RETS
|
||||
|
||||
********************************
|
||||
|
||||
INIT_SYS
|
||||
CALLA PINIT
|
||||
MOVI INAMODE,A0
|
||||
MOVE A0,@GAMSTATE,W
|
||||
MOVI WDOGNUM,A0
|
||||
MOVE A0,@WDOGRAM,L ;MARK SYSTEM AS INITIALIZED
|
||||
CALLA SNDRES ;SOUND BOARD INIT (MAKES SOUND!)
|
||||
CALLR INITIO ;INITIALIZE THE I/O REGS
|
||||
;SET UP TI PIXEL PROCESSING REGS
|
||||
CALLA SETPPROC ;ONLY NEEDED FOR GSP ROUTINES?
|
||||
|
||||
CLR A0
|
||||
MOVE A0,@DMACTRL ;OFF DMA
|
||||
MOVE A0,@CMAPSEL ;CLEAR COLOR MAP SELECT
|
||||
|
||||
MOVI 81261A8CH,A0 ;INITIALIZE RANDOM SEED
|
||||
MOVE A0,@RAND,L
|
||||
MOVI DIE+X2E,A0
|
||||
MOVE A0,@INTENB ;ENABLE DISPLAY INTERRUPTS
|
||||
MOVI SYSCINIT,A0 ;INITIALIZE SYSTEM CONTROL REGISTER
|
||||
MOVE A0,@SYSCTRL,W
|
||||
MOVE A0,@SYSCOPY,W ;KEEP A COPY IN RAM
|
||||
RETS
|
||||
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* WDOGDIS - WATCH DOG DISABLE *
|
||||
* NOTE: CALL WHILE INTERRUPTS ARE TURNED OFF. *
|
||||
* *
|
||||
**************************************************************************
|
||||
WDOGDIS
|
||||
MMTM SP,A0,A1,A2,A3
|
||||
MOVI WDISTAB,A1
|
||||
MOVK 1,A3
|
||||
MOVE @SYSCOPY,A2,W
|
||||
MOVE *A1+,A0,W
|
||||
WDOGSL
|
||||
OR A2,A0
|
||||
MOVE A0,@SYSCTRL,W
|
||||
XOR A3,A0
|
||||
MOVE A0,@SYSCTRL,W
|
||||
MOVE *A1+,A0,W
|
||||
JRNN WDOGSL
|
||||
MOVE A2,@SYSCTRL,W
|
||||
MMFM SP,A0,A1,A2,A3
|
||||
RETS
|
||||
*
|
||||
*WATCH DOG DISABLE TABLE
|
||||
WDISTAB
|
||||
.WORD 0
|
||||
.WORD 0
|
||||
.WORD 0
|
||||
.WORD 0
|
||||
|
||||
.WORD 2
|
||||
.WORD 0
|
||||
.WORD 2
|
||||
.WORD 0
|
||||
.WORD 0FFFFH
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* CLSCRACH - CLEAR SCRATCH PAD
|
||||
* NOTE: DESTROYS A0,A1,A2,A3 *
|
||||
* *
|
||||
**************************************************************************
|
||||
CLSCRACH
|
||||
PULL A3
|
||||
CLR A0
|
||||
MOVI SCRATCH,A1,L
|
||||
MOVI >8000,A2,L ;CLEAR TWO AT A TIME
|
||||
SCTLP MOVE A0,*A1+,L
|
||||
DSJS A2,SCTLP
|
||||
JUMP A3
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* DIRQ - DISPLAY IRQ, USES THE VALUE STORE @DPYINT TO DETERMINE *
|
||||
* WHICH INTERRUPT THIS IS, HALF OR FULL SCREEN. @DPYINT IS *
|
||||
* COMPARED AGAINST THE CONSTANT HSINT. *
|
||||
* *
|
||||
**************************************************************************
|
||||
DIRQ
|
||||
MMTM SP,B0,B1,B2,B3,B4,B5
|
||||
MMTM SP,A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14
|
||||
SETF 16,1,0 ;WORD SIGN EXTEND
|
||||
|
||||
MOVE @INTPEND,A1 ;CLEAR STUPID INTERRUPT PENDING
|
||||
ANDNI DIE,A1
|
||||
MOVE A1,@INTPEND
|
||||
|
||||
MOVE @INTENB,A1 ;DISABLE DISPLAY INTERRUPT
|
||||
ANDNI DIE,A1
|
||||
MOVE A1,@INTENB
|
||||
EINT ;ENABLE OTHER INTERRUPTS
|
||||
|
||||
MOVE @DPYINT,A2 ;CHECK WHAT SCREEN HALF
|
||||
CMPI HSINT,A2
|
||||
JRNE DIRQ1 ;BR = END OF SCREEN INTERRUPT
|
||||
**************************************************************************
|
||||
* *
|
||||
* DIRQ0 - HALF SCREEN INTERRUPT. TOP HALF OBJECTS ARE UPDATED, *
|
||||
* OBJECT VELOCITIES ARE ADDED, SWITCHES FOR PLAYER MOVEMENT ARE *
|
||||
* SCANNED, AND PLAYERS ARE UPDATED. *
|
||||
* *
|
||||
**************************************************************************
|
||||
DIRQ0
|
||||
MOVI EOSINT,A1 ;SET FOR EOSCRN INTERRUPT
|
||||
MOVE A1,@DPYINT
|
||||
|
||||
MOVE @TIMER,A1 ;HIT PROCESS TIMER
|
||||
INC A1
|
||||
MOVE A1,@TIMER
|
||||
|
||||
MOVE @INTSYNC0,A0
|
||||
INC A0
|
||||
MOVE A0,@INTSYNC0 ;SYNC AT HALF SCREEN
|
||||
|
||||
CALLA DISPQT
|
||||
callr swscan ;Scan misc switches for processes
|
||||
|
||||
MOVE @PLYRPRCS,A0,L ;Count down players delay detection
|
||||
JRZ PL2
|
||||
MOVE *A0(DELYDET),A1
|
||||
JRZ PL2
|
||||
DEC A1
|
||||
MOVE A1,*A0(DELYDET)
|
||||
|
||||
PL2 MOVE @PLYRPRCS+32,A0,L
|
||||
JRZ PL3
|
||||
MOVE *A0(DELYDET),A1
|
||||
JRZ PL3
|
||||
DEC A1
|
||||
MOVE A1,*A0(DELYDET)
|
||||
|
||||
PL3 MOVE @SCORE_FLAG,A0
|
||||
JRZ NOSCORE
|
||||
CALLA DRAW_SCORE ;DRAW WHOLE AREA
|
||||
|
||||
NOSCORE CALLA DISPLAY ;GOT TO MAKE THE DONUTS
|
||||
JRUC DIRQX
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* DIRQ1 - END OF SCREEN INTERRUPT ROUTINE. BOTTOM HALF OF SCREEN UPDATED *
|
||||
* COLOR RAM IS CYCLED, AND SWITCHES ARE SCANNED. *
|
||||
* *
|
||||
**************************************************************************
|
||||
DIRQ1
|
||||
move @SYSCOPY,a0
|
||||
andni AUTOERAS,a0 ;Set AE on (0)
|
||||
|
||||
move @GAMERASE,a1
|
||||
jrz dirq10 ;AUTO-ERASE disabled?
|
||||
move @NOAUTOE,a1
|
||||
jrz dirq12
|
||||
dirq10 addk AUTOERAS,a0 ;Disable AUTO ERASE
|
||||
dirq12 move a0,@SYSCOPY ;Store new value
|
||||
move a0,@SYSCTRL
|
||||
|
||||
MOVE @IRQSKYE,@ERASELOC ;MOVE IN THE CORRECT COLOR
|
||||
MOVI HSINT,A0
|
||||
MOVE A0,@DPYINT ;RESET FOR HALF SCREEN INTERRUPT
|
||||
MOVE @DPYCTL,A0 ;SHIFT REGISTER READ TO RESTART DMA
|
||||
ORI SRT,A0
|
||||
MOVE A0,@DPYCTL ;ENABLE SHIFT REG TRANSFER TO STOP DMA HALT
|
||||
*** CLR A1
|
||||
MOVI 400*>1000,A1
|
||||
PIXT *A1,A2
|
||||
ANDNI SRT,A0
|
||||
MOVE A0,@DPYCTL
|
||||
CALLA DISPH ;CALL END OF SCREEN DISPLAY ROUTINE
|
||||
|
||||
;UPDATE CYCLING COLOR RAM
|
||||
MOVI COLRTEMP,A0 ;GET NEW COLORS
|
||||
MOVI CYCOLORS,A1 ;GET ADDRESS OF CYCLE COLORS
|
||||
; MOVE *A0+,*A1+,W ;GET THE ODD MAN
|
||||
; MOVK 1,A6 ;COLOR COUNT/2 (FINAL TWO COLORS IN PAL 0)
|
||||
;WILL CYCLE
|
||||
MOVE *A0+,*A1+,L
|
||||
; DSJS A6,COLORUP
|
||||
|
||||
CALLA PALTRANS ;XFER NEW PALETTES IF NECESSARY
|
||||
|
||||
MOVE @INTSYNC1,A0
|
||||
INC A0
|
||||
MOVE A0,@INTSYNC1 ;SYNC UP AT END OF SCREEN
|
||||
callr swscan ;Scan misc switches
|
||||
|
||||
dint
|
||||
MOVE @INTENB,A0 ;ENABLE DISPLAY INTERRUPT
|
||||
ORI DIE,A0
|
||||
MOVE A0,@INTENB
|
||||
|
||||
MOVE @IRQLED,A0
|
||||
INC A0
|
||||
SLL 29,A0
|
||||
SRL 29,A0
|
||||
MOVE A0,@IRQLED
|
||||
JRNE DIRQX
|
||||
*
|
||||
*DO EVERYTHING FROM HERE TO DIRQX EVERY 8 TICKS
|
||||
*
|
||||
.IF DEBUG
|
||||
.ELSE
|
||||
MOVE @TIMER,A0
|
||||
CMPI 200,A0
|
||||
JAHS INIT_PROG ;REST ON LOCKUP
|
||||
.ENDIF
|
||||
MOVE @C_FRAC,A0 ;COUNT DOWN COIN FRACTION TIMER
|
||||
JRZ C_TIM0 ;NOTHING THERE
|
||||
SLL 24,A0
|
||||
SRL 24,A0 ;THIS IS 30 SECONDS.....IF LARGER BRING DOWN!
|
||||
DEC A0
|
||||
MOVE A0,@C_FRAC
|
||||
|
||||
*COIN TIMERS
|
||||
C_TIM0
|
||||
MOVE @C_FLAGS,A0,L
|
||||
JRZ C_CNTR
|
||||
MOVI C_FLAGS+24,A2
|
||||
MOVK 4,A4
|
||||
CTIMLP
|
||||
MOVE A0,A1
|
||||
SRL 24,A1
|
||||
JRZ C_TIM1
|
||||
DEC A1
|
||||
MOVB A0,*A2
|
||||
C_TIM1
|
||||
SUBK 8,A2
|
||||
SLL 8,A0
|
||||
DSJS A4,CTIMLP
|
||||
|
||||
*COIN COUNTERS
|
||||
C_CNTR
|
||||
MOVE @COINCNTR,A0,L ;COUNTERS, TIMERS ACTIVE????
|
||||
JREQ L_DOG ;NO
|
||||
|
||||
MOVK 2,A4 ;DO BOTH COUNTERS
|
||||
MOVI COINCNTR,A5
|
||||
CCNTR0L
|
||||
MOVB *A5,A1 ;MORE COUNTS FOR COUNTER ?
|
||||
JREQ C_CNTR0 ;NO
|
||||
MOVB *A5(16),A2 ;PREVIOUS PULSE TIME OUT?
|
||||
JRNE C_CNTR0 ;NO
|
||||
MOVK 2,A2
|
||||
MOVB A2,*A5(16) ;START NEW PULSE
|
||||
DEC A1 ;DECREMENT COUNTS
|
||||
MOVB A1,*A5
|
||||
C_CNTR0
|
||||
ADDK 8,A5
|
||||
DSJS A4,CCNTR0L
|
||||
|
||||
CLR A2 ;COUNTER ON MASK
|
||||
MOVI >100,A3
|
||||
MOVK 2,A4
|
||||
C_CNTR1L
|
||||
MOVB *A5,A0 ;COUNTER TIMER ACTIVE?
|
||||
JREQ C_CNTR1 ;NO
|
||||
DEC A0 ;YES, DEC IT AND STORE
|
||||
MOVB A0,*A5
|
||||
JREQ C_CNTR1 ;DONE
|
||||
ADD A3,A2 ;TURN COUNTER SOLENOID ON
|
||||
C_CNTR1
|
||||
SLL 1,A3
|
||||
ADDK 8,A5
|
||||
DSJS A4,C_CNTR1L
|
||||
|
||||
.IF YUNIT
|
||||
CLR A1
|
||||
MOVE A1,@SECCHIP,W
|
||||
MOVE A2,@SECCHIP,W ;REFRESH COUNTERS IN HARDWARE
|
||||
.ENDIF
|
||||
L_DOG
|
||||
MOVI WDOGBONE,A1 ;THROW ROVER A BONE
|
||||
MOVK 1,A3
|
||||
MOVE @SYSCOPY,A2,W
|
||||
MOVE *A1+,A0,W
|
||||
ROVERL
|
||||
OR A2,A0
|
||||
MOVE A0,@SYSCTRL,W
|
||||
XOR A3,A0
|
||||
MOVE A0,@SYSCTRL,W
|
||||
MOVE *A1+,A0,W
|
||||
JRNN ROVERL
|
||||
MOVE A2,@SYSCTRL,W
|
||||
|
||||
DIRQX MMFM SP,A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14
|
||||
MMFM SP,B0,B1,B2,B3,B4,B5
|
||||
RETI
|
||||
|
||||
|
||||
*WATCHDOG FEED TABLE
|
||||
WDOGBONE
|
||||
.WORD 0
|
||||
.WORD 2
|
||||
.WORD 0
|
||||
.WORD 2
|
||||
.WORD 2
|
||||
.WORD 0FFFFH
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* INITIO - INITIALIZE THE GSP I/O REGISTERS *
|
||||
* *
|
||||
**************************************************************************
|
||||
INITIO
|
||||
MMTM SP,B0,B2,B6,B10
|
||||
MOVI INTIO,B6
|
||||
EXGPC B6
|
||||
MMFM SP,B0,B2,B6,B10
|
||||
RETS
|
||||
|
||||
*INITIALIZE I/O
|
||||
*USE REGISTER CALL FOR TEST MODE NON-RAM USE
|
||||
INTIO
|
||||
MOVI HESYNC,B2,L
|
||||
MOVI INITDATA,B0,L
|
||||
MOVI (IDATAEND-INITDATA)/16,B10
|
||||
INITIOS MOVE *B0+,*B2+
|
||||
DSJS B10,INITIOS
|
||||
EXGPC B6
|
||||
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* BADTRAP - COME HERE WHEN A TRAP IS HIT THAT IS NOT DEFINED AND LOG IT. *
|
||||
* *
|
||||
**************************************************************************
|
||||
BADTRAP1 nop
|
||||
BADTRAP2 nop
|
||||
BADTRAP3 nop
|
||||
BADTRAP4 nop
|
||||
BADTRAP5 nop
|
||||
BADTRAP6 nop
|
||||
BADTRAP7 nop
|
||||
BADTRAP8 nop
|
||||
BADTRAP9 nop
|
||||
BADTRAP10 nop
|
||||
BADTRAP11 nop
|
||||
BADTRAP12 nop
|
||||
BADTRAP13 nop
|
||||
BADTRAP14 nop
|
||||
BADTRAP15 nop
|
||||
BADTRAP16 nop
|
||||
BADTRAP17 nop
|
||||
BADTRAP18 nop
|
||||
BADTRAP19 nop
|
||||
BADTRAP20 nop
|
||||
BADTRAP21 nop
|
||||
BADTRAP22 nop
|
||||
BADTRAP23 nop
|
||||
BADTRAP24 nop
|
||||
BADTRAP25 nop
|
||||
BADTRAP26 nop
|
||||
BADTRAP27 nop
|
||||
BADTRAP28
|
||||
JRUC BADTRAP
|
||||
BADTRAP29
|
||||
.IF DEBUG
|
||||
LOCKUP ;THIS WILL BAG WRITES INTO ROM!
|
||||
EINT
|
||||
.ENDIF
|
||||
|
||||
BADTRAP
|
||||
.IF DEBUG
|
||||
LOCKUP
|
||||
EINT
|
||||
.ELSE
|
||||
CALLERR 9,0
|
||||
.ENDIF
|
||||
|
||||
RETI
|
||||
|
||||
|
||||
* VIDEO CONTROL REGISTERS INITIAL VALUES
|
||||
INITDATA:
|
||||
.WORD 015H ;>C0000000 -- HESYNC
|
||||
.WORD 032H ;>C0000010 -- HEBLNK ;WAS A 2DH!! 7/26/91
|
||||
.WORD 0FAH ;>C0000020 -- HSBLNK ;F3
|
||||
.WORD 0FCH ;>C0000030 -- HTOTAL
|
||||
.WORD 03H ;>C0000040 -- VESYNC
|
||||
.WORD 014H ;>C0000050 -- VEBLNK;1B
|
||||
.WORD 0114H ;>C0000060 -- VSBLNK;11B
|
||||
.WORD 0120H ;>C0000070 -- VTOTAL
|
||||
.WORD 0F010H ;>C0000080 -- DPYCTL
|
||||
.WORD 0FFFCH ;>C0000090 -- DPYSTRT
|
||||
.WORD HSINT ;>C00000A0 -- DPYINT * INITIALLY HALF SCREEN
|
||||
; .WORD INI_CTRL ;>C00000B0 -- CONTROL
|
||||
; .WORD >20 ;>C00000B0 -- CONTROL
|
||||
.WORD >28 ;>C00000B0 -- CONTROL
|
||||
.WORD 00H ;>C00000C0 -- HSTDATA
|
||||
.WORD 00H ;>C00000D0 -- HSTADRL
|
||||
.WORD 00H ;>C00000E0 -- HSTADRH
|
||||
.WORD 00H ;>C00000F0 -- HSTCTLL
|
||||
.WORD 00H ;>C0000100 -- HSTCTLH
|
||||
.WORD 00H ;>C0000110 -- INTENBL
|
||||
.WORD 00H ;>C0000120 -- INTPEND
|
||||
.WORD 00H ;>C0000130 -- CONVSP
|
||||
.WORD 00H ;>C0000140 -- CONVDP
|
||||
.WORD PXSIZE ;>C0000150 -- PSIZE
|
||||
.WORD 00H ;>C0000160 -- PMASK
|
||||
.WORD 00H ;>C0000170 -- RESERVED
|
||||
.WORD 00H ;>C0000180 -- RESERVED
|
||||
.WORD 00H ;>C0000190 -- RESERVED
|
||||
.WORD 00H ;>C00001A0 -- RESERVED
|
||||
.WORD 00H ;>C00001B0 -- DPYTAP
|
||||
IDATAEND:
|
||||
|
||||
*
|
||||
*INITIALIZE ALL 32 TRAP VECTORS
|
||||
*
|
||||
.SECT "VECTORS"
|
||||
|
||||
.LONG BADTRAP1 ;TRAP 31
|
||||
.LONG BADTRAP2 ;TRAP 30 ILLOP --- ILLEGAL OPCODE
|
||||
.LONG BADTRAP3 ;TRAP 29
|
||||
.LONG BADTRAP4 ;TRAP 28
|
||||
.LONG BADTRAP5 ;TRAP 27
|
||||
.LONG BADTRAP6 ;TRAP 26
|
||||
.LONG BADTRAP7 ;TRAP 25
|
||||
.LONG BADTRAP8 ;TRAP 24
|
||||
.LONG BADTRAP9 ;TRAP 23
|
||||
.LONG BADTRAP10 ;TRAP 22
|
||||
.LONG BADTRAP11 ;TRAP 21
|
||||
.LONG BADTRAP12 ;TRAP 20
|
||||
.LONG BADTRAP13 ;TRAP 19
|
||||
.LONG BADTRAP14 ;TRAP 18
|
||||
.LONG BADTRAP15 ;TRAP 17
|
||||
.LONG BADTRAP16 ;TRAP 16
|
||||
.LONG BADTRAP17 ;TRAP 15
|
||||
.LONG BADTRAP18 ;TRAP 14
|
||||
.LONG BADTRAP19 ;TRAP 13
|
||||
.LONG BADTRAP20 ;TRAP 12
|
||||
.LONG BADTRAP21 ;TRAP 11 WV --- WINDOW VIOLATION
|
||||
.LONG DIRQ ;TRAP 10 DI --- DISPLAY INTERRUPT
|
||||
.LONG BADTRAP22 ;TRAP 9 HI --- HOST INTERRUPT
|
||||
.LONG BADTRAP23 ;TRAP 8 NMI -- NONMASKABLE INTERRUPT
|
||||
.LONG BADTRAP24 ;TRAP 7
|
||||
.LONG BADTRAP25 ;TRAP 6
|
||||
.LONG BADTRAP26 ;TRAP 5
|
||||
.LONG BADTRAP27 ;TRAP 4
|
||||
.LONG BADTRAP28 ;TRAP 3
|
||||
.LONG BADTRAP29 ;TRAP 2 INT2 --- EXTERNAL INTERRUPT 2
|
||||
.LONG DMAINT ;TRAP 1 INT1 --- EXTERNAL INTERRUPT 1
|
||||
.LONG INIT_PROG ;TRAP 0 RESET
|
||||
|
||||
.END
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
.SUFFIXES : .EXE .OBJ .LIN .DEC .C .ASM .FOR .RAW .OUT
|
||||
# .SUFFIXES:
|
||||
RAM = d:\
|
||||
MAKE_TMP = ${RAM}
|
||||
LINK = \SYS\LINK
|
||||
CC = \SYS\MSC
|
||||
CFLAGS = /G2 /ZI /OD # G2 CODE FOR 80286
|
||||
# ZI FOR CODEVIEW
|
||||
# OD OPTIMIZATION OFF
|
||||
LFLAGS = /CO /NOI # CO FOR CODEVIEW
|
||||
# NOI DISTINGUISH UC/LC LETTERS
|
||||
DECLFLAGS = /W /ZG # ZG GENERERATE FUNCTION DECLS
|
||||
# W SUPPRESS COMPILER WARNINGS
|
||||
LINTFLAGS = /ZS /W2 /DLINT_ARGS
|
||||
# ZS SYNTAX CHECK ONLY
|
||||
# W2 FULL WARNINGS
|
||||
.asm.obj:
|
||||
@ ECHO *----assembling----$*.ASM(0)
|
||||
d:\GSPA $* d:\$*.obj d:\$*.lst -h -l -v10
|
||||
COPY d:\$*.OBJ
|
||||
CRNCHLST d:\$*.LST
|
||||
COPY d:\$*.LST
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
#
|
||||
.SUFFIXES : .EXE .ASM .OBJ .C .MOT
|
||||
#
|
||||
OBJS = NDSP1.OBJ RAM.OBJ UTIL.OBJ PALL.OBJ MPROC.OBJ BAKGND.OBJ\
|
||||
BGNDTBL.OBJ BGNDPAL.OBJ IMGPAL.OBJ IMGTBL.OBJ MAIN.OBJ\
|
||||
CARN.OBJ WAVES.OBJ SCORE.OBJ SHOTS.OBJ CHUNKS.OBJ T72.OBJ\
|
||||
SOUNDS.OBJ PATCH.OBJ COLL2.OBJ MINE.OBJ ICONS.OBJ NEWHULK.OBJ\
|
||||
DEMO.OBJ ATTRACT.OBJ ADJUST.OBJ FIEND.OBJ TRIG.OBJ HELPER.OBJ\
|
||||
AUDIT.OBJ MENU.OBJ TEST.OBJ FBSTUFF.OBJ ARAB.OBJ LAYER.OBJ\
|
||||
PALSTUFF.OBJ TEXT.OBJ HSTD.OBJ\
|
||||
DIAG.OBJ RACKUP.OBJ SHAWN.OBJ
|
||||
|
||||
d:CARN.OUT: $(OBJS)
|
||||
GLNK CARN
|
||||
COPY d:CARN.OUT C:\VIDEO\CARNAGE
|
||||
COPY d:CARN.MAP C:\VIDEO\CARNAGE
|
||||
TV CARN /v
|
||||
|
||||
$(OBJS): $*.ASM
|
||||
NEWHULK.OBJ: FINGRNT.TBL
|
||||
TEXT.OBJ: TEXT.TBL
|
||||
NDSP1.OBJ: DISP.EQU
|
||||
MPROC.OBJ: MPROC.EQU
|
||||
MENU.OBJ: LINK.EQU MENU.EQU
|
||||
TEST.OBJ: LINK.EQU
|
||||
AUDIT.OBJ: LINK.EQU
|
||||
HSTD.OBJ: LINK.EQU
|
||||
ADJUST.OBJ: MENU.EQU
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,187 @@
|
|||
**********************************MENU EQUATES****************************
|
||||
;
|
||||
; FOR EACH ENTRY IN THE MENU
|
||||
;
|
||||
MENU_TEXT_PTR EQU 0 ;OFFSET OF TEXT POINTER
|
||||
MENU_ROUTINE EQU LONG_SIZE ;OFFSET OF ROUTINE
|
||||
MENU_HELP EQU MENU_ROUTINE+LONG_SIZE
|
||||
MENU_ENTRY_SIZE EQU 3*LONG_SIZE
|
||||
*
|
||||
BLNK_HELP EQU 0 ;NO HELP BOX FOR THIS ENTRY
|
||||
NO_HELP EQU 00000001H ;NO HELP AREA IN THIS MENU
|
||||
ADJ_HELP EQU 00000002H ;PASS STRUCTURE POINTER TO ADJUSTMENT HELP ROUT
|
||||
SND_HELP EQU 00000003H ;CALLED ON SOUND TEST MENU
|
||||
SND_PLAY EQU 00000004H ;CALLED FROM SOUND "PLAY" SELECTIONS
|
||||
*
|
||||
SND_MESS_Y EQU 196
|
||||
SND_BOX_H EQU 57
|
||||
|
||||
*
|
||||
* SPACING BETWEEN BOXES ON SCREEN
|
||||
*
|
||||
BOX_YGAP EQU 3
|
||||
BOX_XGAP EQU 2
|
||||
*
|
||||
*
|
||||
* A CENTERED BOX NEEDS TO BE MOVED LEFT THIS AMOUNT
|
||||
* (PIXELS) TO CORRECTLY FRAME CENTERED TEXT AT
|
||||
* THE SAME POSITION
|
||||
*
|
||||
C_KLUDGE EQU 1
|
||||
*
|
||||
* THESE DETERMINE THE THICKNESS OF THE BOX LINES
|
||||
*
|
||||
MB_XWID EQU 3
|
||||
MB_YWID EQU 3
|
||||
*
|
||||
* GAP BETWEEN A MENU BORDER BOX AND
|
||||
* THE SELECTION BAR
|
||||
*
|
||||
GAP EQU 2 ;GAP BETWEEN BORDER AND SELECTION BAR
|
||||
*
|
||||
* CONSTANT TO PASS TO "DO_BORDER" FOR OUR
|
||||
* BOX SIZE
|
||||
*
|
||||
BORDER_SIZE EQU (MB_YWID*10000H)+MB_XWID
|
||||
|
||||
*******************************TEST TITLE CONSTANTS****************************
|
||||
*
|
||||
* THESE ARE USED TO SET TOP BOX AND MAIN TITLE.
|
||||
* THE MENUS AND HELP SCREENS WILL SQUARE OFF
|
||||
* TO THE NUMBERS SET HERE.
|
||||
*
|
||||
|
||||
TM_X EQU 200 ;USED TO POSITION TITLE AND BOX TOGETHER
|
||||
TM_Y EQU 14
|
||||
|
||||
TIT_ULX EQU TM_X-0BEH
|
||||
TIT_LRX EQU TM_X+0B8H
|
||||
|
||||
TIT_ULY EQU TM_Y-05H
|
||||
TIT_LRY EQU TM_Y+1EH
|
||||
|
||||
********************************MAIN MENU CONSTANTS***************************
|
||||
|
||||
INST_ULY EQU TIT_LRY+BOX_YGAP ;Y RANGE FOR INSTRUCTION BOX
|
||||
INST_LRY EQU INST_ULY+28
|
||||
|
||||
BAR_DY EQU -7
|
||||
BAR_WID EQU 165
|
||||
MENU_X EQU TIT_ULX+GAP+MB_XWID+(BAR_WID/2)+C_KLUDGE
|
||||
MENU_Y EQU INST_LRY+BOX_YGAP+MB_YWID+GAP-BAR_DY
|
||||
MENU_DY EQU 25
|
||||
BAR_HITE EQU 30
|
||||
BAR_DX EQU 6
|
||||
*
|
||||
* HELP DRAWER CONSTANTS
|
||||
*
|
||||
HELP_X_MARGIN EQU 7 ;MARGIN FOR LEFT JUSTIFIED HELP TEXT
|
||||
HELP_Y_MARGIN EQU 3 ;TOP OF BOX TO 1ST ENTRY
|
||||
HELP_YLO_MARGIN EQU HELP_Y_MARGIN-2 ;BOTTOM MARGIN IS A TOUCH LESS DUE
|
||||
* ;TO SPACING
|
||||
HELP_DY EQU 10 ;SCREEN UNITS PER ITEM.
|
||||
*
|
||||
*
|
||||
* ADJUSTMENT MENU CONSTANTS
|
||||
*
|
||||
* "CURRENT SETTING" BOX
|
||||
*
|
||||
CUR_ULY EQU 127
|
||||
CUR_LRX EQU TIT_LRX
|
||||
CUR_LRY EQU CUR_ULY+(INST_LRY-INST_ULY) ;SAME HEIGHT AS TOP BOX
|
||||
*
|
||||
ADJ_ULY EQU CUR_LRY+BOX_YGAP ;USE OUR "FIXED" SPACING.
|
||||
*
|
||||
COIN_HEAD_Y EQU CUR_ULY+61 ;1ST OF TOP COIN INFO LINES
|
||||
MESS_CTS EQU COIN_HEAD_Y+25 ;START/CONTINUE PLACE
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* COIN SELECT TABLE OFFSETS *
|
||||
* *
|
||||
**************************************************************************
|
||||
*
|
||||
* IF "CHUTES" VALUE CHANGES.....EXTRA WORDS MUST BE PUT HERE
|
||||
*
|
||||
CS_LMULT EQU 0
|
||||
CS_RMULT EQU CS_LMULT+WORD_SIZE
|
||||
CS_CMULT EQU CS_RMULT+WORD_SIZE
|
||||
CS_XMULT EQU CS_CMULT+WORD_SIZE
|
||||
CS_UCRED EQU CS_XMULT+WORD_SIZE
|
||||
CS_UBON EQU CS_UCRED+WORD_SIZE
|
||||
CS_UMIN EQU CS_UBON+WORD_SIZE
|
||||
CS_CDIV EQU CS_UMIN+WORD_SIZE
|
||||
CS_FRAC EQU CS_CDIV+WORD_SIZE
|
||||
CS_COPY EQU CS_FRAC+WORD_SIZE ;UP TO HERE IS COPIED AS ADJUSTMENTS
|
||||
CS_LVAL EQU CS_COPY
|
||||
CS_RVAL EQU CS_LVAL+WORD_SIZE
|
||||
CS_CVAL EQU CS_RVAL+WORD_SIZE
|
||||
CS_XVAL EQU CS_CVAL+WORD_SIZE
|
||||
CS_LMES EQU CS_XVAL+WORD_SIZE
|
||||
CS_RMES EQU CS_LMES+LONG_SIZE
|
||||
CS_PROMPT EQU CS_RMES+LONG_SIZE
|
||||
CS_TITLE EQU CS_PROMPT+LONG_SIZE
|
||||
CS_LIST EQU CS_TITLE+LONG_SIZE
|
||||
CS_PICK EQU CS_LIST+LONG_SIZE ;WHICH LINE TO ADD TO 2 TO START...1 TO
|
||||
CS_SLOTS EQU CS_PICK+WORD_SIZE ;TEXT DESCRIBING COIN SLOTS
|
||||
CS_SIZE EQU CS_SLOTS+LONG_SIZE
|
||||
*
|
||||
*
|
||||
* ADJUSTMENT STRUCTURE. THIS STRUCTURE IS
|
||||
* POINTED TO BY THE 2ND MENU LONG WORD (WHERE NORMALLY
|
||||
* THE ROUTINE LIVES).
|
||||
*
|
||||
AD_ROUT EQU 0 ;LONG...ROUTINE TO RUN WHEN SELECTED.
|
||||
AD_TITLE EQU AD_ROUT+LONG_SIZE ;LONG...POINTER TO TITLE FOR RIGHT COLUMN
|
||||
AD_HELP EQU AD_TITLE+LONG_SIZE ;LONG...POINT TO HELP STRUCT FOR EXPLANATION
|
||||
AD_CMOS EQU AD_HELP+LONG_SIZE ;WORD...GET_ADJ / PUT_ADJ NUMBER.
|
||||
AD_MIN EQU AD_CMOS+WORD_SIZE ;LONG...MINIMUM VALUE FOR ADJ.
|
||||
AD_MAX EQU AD_MIN+LONG_SIZE ;LONG...MAXIMUM VALUE FOR ADJ.
|
||||
AD_DELTA EQU AD_MAX+LONG_SIZE ;LONG...UNITS BETWEEN VALUES.
|
||||
AD_ZEQU EQU AD_DELTA+LONG_SIZE ;LONG...NUMBER TO STORE AS A ZERO.
|
||||
AD_NAMEIT EQU AD_ZEQU+LONG_SIZE ;LONG...ROUTINE TO PRINT VALUES.
|
||||
AD_FLAGS EQU AD_NAMEIT+LONG_SIZE ;WORD...bit zero non zero says wrap
|
||||
* ; bit one non zero says BCD
|
||||
; bit two says flag "1st 8 coinage changed" (ADJVIRGIN)
|
||||
; bit three says flag 1st 6 changed (ADJ1st6)
|
||||
; bit four says its hsr counter
|
||||
AD_NAMPTR EQU AD_FLAGS+WORD_SIZE ;LONG...POINTER TO DATA FOR NAMEIT ROUTINE
|
||||
AD_MAIN EQU AD_NAMPTR+LONG_SIZE ;LONG...MAIN MENU STRING
|
||||
|
||||
WRAP_BIT EQU 0
|
||||
BCD_BIT EQU 1
|
||||
VIRG_BIT EQU 2
|
||||
SIX_BIT EQU 3
|
||||
HSR_BIT EQU 4
|
||||
WRAP_VAL EQU 1
|
||||
BCD_VAL EQU 2
|
||||
VIRG_VAL EQU 4
|
||||
SIX_VAL EQU 8
|
||||
HSR_VAL EQU 16
|
||||
*
|
||||
* FOR CSELECT TABLE......
|
||||
*
|
||||
* A1 = 1 PLOT ONLY THE STRING LIST (1 OR 2 POINTERS
|
||||
* CENTERED APPROPRIATELY
|
||||
*
|
||||
* A1 = 2 PLOT THE 1ST LINE OF THE STRING LIST ALONG
|
||||
* WITH THE 2 CREDITS TO START...1 TO CONTINUE
|
||||
*
|
||||
* A1 = 3 PLOT THE 2ND LINE OF THE STRING LIST ALONG
|
||||
* WITH THE 2 CREDITS TO START...1 TO CONTINUE
|
||||
*
|
||||
CSM_LIST EQU 1
|
||||
CSM_1W_21 EQU 2
|
||||
CSM_2W_21 EQU 3
|
||||
CSM_3W_21 EQU 4
|
||||
CSM_LAST EQU 4
|
||||
|
||||
*
|
||||
* FOR CS_PICK:
|
||||
*
|
||||
SHOW_NONE EQU 0 ;JUST USE 2/1 BY ITSELF
|
||||
SHOW_1 EQU 2 ;SHOW 1ST LINE
|
||||
SHOW_2 EQU 3 ;SHOW 2ND LINE
|
||||
SHOW_3 EQU 4 ;SHOW 3RD LINE
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,447 @@
|
|||
**************************************************************
|
||||
* GSP MULTI-PROCESSING SYSTEM
|
||||
*
|
||||
* Software: Eugene P Jarvis
|
||||
* Initiated: 1988?
|
||||
*
|
||||
* Modified: Shawn Liptak, 7/?/91 -New KILL stuff
|
||||
* Shawn Liptak, 8/12/91 -KOP code
|
||||
*
|
||||
* COPYRIGHT (C) 1991 WILLIAMS ELECTRONICS GAMES, INC.
|
||||
*
|
||||
*.Last mod - 8/12/91 17:39
|
||||
**************************************************************
|
||||
.FILE 'MPROC.ASM'
|
||||
.TITLE "GSP MULTI-PROCESSING SYSTEM"
|
||||
.WIDTH 132
|
||||
.OPTION B,D,L,T
|
||||
.MNOLIST
|
||||
|
||||
|
||||
* FILES REQUIRED FOR ASSEMBLY
|
||||
|
||||
.INCLUDE \VIDEO\SYS\GSP.INC ;GSP ASSEMBLER EQUATES
|
||||
.INCLUDE \VIDEO\SYS\SYS.INC ;ZUNIT SYSTEM EQUATES
|
||||
.INCLUDE \VIDEO\SYS\MACROS.HDR ;MACROS
|
||||
.INCLUDE MPROC.EQU
|
||||
.INCLUDE DISP.EQU
|
||||
|
||||
* SET UP FIXED PARAMETERS AT THE BEGINNING OF SCRATCHPAD
|
||||
|
||||
.REF L_TIMER ;AUDIT
|
||||
|
||||
|
||||
.SECT "FIXED"
|
||||
ACTIVE .LONG 0
|
||||
FREE .LONG 0
|
||||
|
||||
|
||||
*GLOBAL PROCESS VARIABLES
|
||||
|
||||
.BSS TIMER,16 ;IRQ TIMER 16 MSEC.
|
||||
.BSS TIMETEMP,16 ;LAST TIMER VALUE
|
||||
.BSS OVERLOAD,16 ;OVERLOAD CHECKER
|
||||
.BSS PRCSTR,NPROC*PRCSIZ ;PROCESS STORE ALLOCATION
|
||||
|
||||
*MULTI-PROCESSING PROGRAM
|
||||
|
||||
.TEXT ;STORE IN PROGRAM ROM
|
||||
|
||||
********************************
|
||||
*PROCESS DISPATCH
|
||||
|
||||
PRCDSP
|
||||
MOVI ACTIVE,A13,L ;LONG WORD INIT SCAN PROCESS LIST
|
||||
|
||||
PRCWTSRT
|
||||
CALLA YZSORT ;SORT DISPLAY LIST
|
||||
|
||||
MOVE @TIMER,A0
|
||||
JREQ PRCWTSRT ;BR = WAIT FOR TIMING FROM INTERRUPT, SORT
|
||||
MOVE A0,@TIMETEMP ;SAVE
|
||||
|
||||
SLL 1,A0
|
||||
MOVE @OVERLOAD,A1,W
|
||||
ADD A0,A1
|
||||
SRL 1,A1
|
||||
MOVE A1,@OVERLOAD,W
|
||||
|
||||
CALLA L_TIMER ;linky timer
|
||||
|
||||
CLR A0
|
||||
MOVE A0,@TIMER
|
||||
JRUC PRCD1
|
||||
|
||||
********************************
|
||||
*PROCESS SLEEP
|
||||
*TOS IS WAKEUP ADDR ,A0 = SLEEP TIME
|
||||
|
||||
PRCSLP
|
||||
move *SP+,A7,L ;CALLING PC->A7
|
||||
|
||||
PRCLSP move A13,A1
|
||||
addi PDATA,A1
|
||||
mmtm A1,A7,A8,A9,A10,A11,A12 ;wakeup, regs, stack ptr
|
||||
move A0,-*A1 ;sleep
|
||||
|
||||
.if DEBUG ;this is for DEBUG only
|
||||
MOVE A13,A0
|
||||
ADDI PSDATA,A0
|
||||
CMP A0,A12
|
||||
JRLT $ ;Stick on Stack overflow
|
||||
ADDI PRCSIZ-PSDATA,A0
|
||||
CMP A0,A12
|
||||
JRGT $ ;Stick on Stack underflow
|
||||
.endif
|
||||
|
||||
PRCD1
|
||||
************************************
|
||||
* MOVE @TIMETEMP,A1,W ;GET THE LAST TIMER VALUE
|
||||
************************************
|
||||
PRCD1A
|
||||
MOVE *A13,A13,L
|
||||
JREQ PRCDX ;NULL LIST, EXIT
|
||||
MOVE *A13(PTIME),A0 ;GET COUNT
|
||||
**************************************************************************
|
||||
* SUB A1,A0
|
||||
**************************************************************************
|
||||
DEC A0 ;DECREMENT COUNT
|
||||
MOVE A0,*A13(PTIME) ;PUT IT BACK
|
||||
JRGT PRCD1A ;NOT READY, LOOP FOR NEXT
|
||||
|
||||
*PROCESS IS READY FOR DISPATCH
|
||||
|
||||
PRCD2 move A13,A1
|
||||
addi >40,A1
|
||||
mmfm A1,A7,A8,A9,A10,A11,A12 ;wake, regs, stack ptr
|
||||
jump A7 ;fire off proc
|
||||
|
||||
*DONE WITH THE SCAN
|
||||
|
||||
PRCDX RETS
|
||||
|
||||
********************************
|
||||
*PROCESS SUICIDE
|
||||
|
||||
SUCIDE
|
||||
MOVI ACTIVE,A1,L
|
||||
SUCLP MOVE A1,A2 ;SAVE PREVIOUS
|
||||
MOVE *A1,A1,L
|
||||
jrz sucerr
|
||||
|
||||
CMP A1,A13 ;CHECK FOR MATCH TO CURRENT PROCESS
|
||||
JRNE SUCLP ;NOT FOUND KEEP LOOKING
|
||||
MOVE *A1,*A2,L ;LINK AROUND IN ACTIVE LIST
|
||||
MOVE @FREE,A0,L ;GET FREE POINTER
|
||||
MOVE A0,*A1,L ;LINK INTO FREE LIST AT START
|
||||
MOVE A1,@FREE,L
|
||||
MOVE A2,A13 ;SET CURRENT PROCESS TO PREVIOUS
|
||||
JRUC PRCD1 ;CONTINUE WITH DISPATCH
|
||||
|
||||
sucerr .if DEBUG ;this is for DEBUG only
|
||||
LOCKUP
|
||||
EINT
|
||||
.ELSE
|
||||
CALLERR 5,0
|
||||
.endif
|
||||
JRUC PRCDSP ;RESOLVE?
|
||||
|
||||
|
||||
********************************
|
||||
*PROCESS LIST INITIALIZE
|
||||
*A13 RETURNED POINTING TO ACTIVE LIST (CRPROC)
|
||||
|
||||
PINIT
|
||||
MMTM SP,A0,A1,A2,A3 ;SAVE REG
|
||||
MOVI NPROC,A3,W ;# OF PROCESSES TO INIT
|
||||
CLR A0
|
||||
MOVE A0,@ACTIVE,L ;NULL ACTIVE LIST
|
||||
MOVI PRCSTR,A1,L
|
||||
MOVE A1,@FREE,L ;SETUP FREE LIST
|
||||
PINITL
|
||||
MOVE A1,A2
|
||||
ADDI PRCSIZ,A1,W
|
||||
MOVE A1,*A2,L ;LINK EM UP
|
||||
DSJS A3,PINITL ;CONTINUE FOR NPROC
|
||||
MOVE A0,*A2,L ;ZERO LAST LINK
|
||||
MOVI ACTIVE,A13,L ;INIT CURRENT PROCESS
|
||||
MMFM SP,A0,A1,A2,A3 ;RESTORE REGS
|
||||
RETS
|
||||
|
||||
********************************
|
||||
*KILL PROCESS
|
||||
*A0 POINTS TO PROCESS TO KILL
|
||||
*IF PROCESS NOT PRESENT, CAUSES ERROR
|
||||
*TO KILL YOURSELF SUCIDE MUST BE USED,
|
||||
*IF YOU ATTEMPT TO KILL YOURSELF IT WILL JUST RETURN
|
||||
|
||||
KILL
|
||||
CMP A0,A13 ;KILLING YOURSELF?
|
||||
JREQ KILLXXX ;BR = YES, JUST ESCAPE
|
||||
MMTM SP,A1,A2
|
||||
|
||||
.IF DEBUG
|
||||
HULKPID .EQU 142
|
||||
MOVE *A0(PROCID),A1
|
||||
CMPI HULKPID,A1
|
||||
JRNZ KL2
|
||||
LOCKUP
|
||||
EINT
|
||||
KL2
|
||||
.ENDIF
|
||||
|
||||
MOVI ACTIVE,A1,L
|
||||
|
||||
KILLP MOVE A1,A2 ;SAVE PREVIOUS
|
||||
MOVE *A1,A1,L
|
||||
JRZ killerr
|
||||
|
||||
CMP A1,A0
|
||||
JRNE KILLP ;NOT FOUND KEEP LOOKING
|
||||
MOVE *A0,*A2,L ;LINK AROUND IN ACTIVE LIST
|
||||
MOVE @FREE,A1,L ;LINK INTO FREE LIST AT START
|
||||
MOVE A1,*A0,L
|
||||
MOVE A0,@FREE,L
|
||||
|
||||
KILLX MMFM SP,A1,A2
|
||||
|
||||
KILLXXX RETS
|
||||
|
||||
killerr .IF DEBUG
|
||||
LOCKUP
|
||||
EINT
|
||||
.ELSE
|
||||
CALLERR 6,2
|
||||
.ENDIF
|
||||
JRUC KILLX
|
||||
|
||||
|
||||
********************************
|
||||
*CREATE A PROCESS
|
||||
*A1=ID,A7=PC,A8,A9,A10,A11 PASSED PARAMETERS
|
||||
*A13=CURRENT PROCESS
|
||||
*A0 IS RETURNED POINTING TO CREATED PROCESS
|
||||
|
||||
GETPRC
|
||||
MMTM SP,A2,A12
|
||||
MOVE @FREE,A0,L
|
||||
JREQ NONELFT ;NONE AVAILABLE
|
||||
MOVE *A0,A2,L
|
||||
MOVE A2,@FREE,L ;REMOVE FROM FREE LIST
|
||||
MOVE *A13,*A0,L ;LINK INTO ACTIVE LIST AFTER CURRENT PROCESS
|
||||
MOVE A0,*A13,L ;CRPROC>>NEW PROC
|
||||
JRUC XFERPRC0
|
||||
|
||||
********************************
|
||||
* XFERPROC - TRANSFER CONTROL OF AN EXISTING PROCESS
|
||||
* A0= PTR OF PROCESS TO BE XFER'D
|
||||
* A1= NEW I.D.
|
||||
* A7= WAKE UP
|
||||
* A8-A11= PASSED TO THE XFER'D PROC
|
||||
|
||||
XFERPROC
|
||||
mmtm SP,A2,A12
|
||||
XFERPRC0
|
||||
.IF DEBUG
|
||||
CMPI 0FFC00000H,A7 ;FFE
|
||||
.ELSE
|
||||
CMPI 0FFE00000H,A7 ;FFE
|
||||
.ENDIF
|
||||
|
||||
JRHS OK
|
||||
.IF DEBUG
|
||||
LOCKUP
|
||||
EINT
|
||||
.ELSE
|
||||
CALLERR 7,2
|
||||
.ENDIF
|
||||
JRUC GETPX
|
||||
OK
|
||||
MOVE A0,A2
|
||||
ADDI PDATA,A2
|
||||
move A0,A12 ;RESET PROCESS STACK POINTER
|
||||
addi PRCSIZ,A12
|
||||
MMTM A2,A7,A8,A9,A10,A11,A12 ;STUFF wake, regs, p stack ptr
|
||||
movk 1,A12
|
||||
move A12,-*A2,W ;WAKE UP AS SOON AS POSSIBLE
|
||||
move A1,-*A2,W ;ID
|
||||
GETPX
|
||||
mmfm SP,A2,A12
|
||||
RETS
|
||||
|
||||
NONELFT
|
||||
.IF DEBUG
|
||||
LOCKUP
|
||||
EINT
|
||||
.ELSE
|
||||
CALLERR 4,2
|
||||
.ENDIF
|
||||
JRUC GETPX
|
||||
|
||||
|
||||
********************************
|
||||
* KILL A CLASS OF PROCESSES (Old, for compatibility)
|
||||
* A0=PROCID (16 BITS) ,A1=MASK (16 BITS, bits to keep)
|
||||
* WILL NOT KILL CALLING PROCESS (A13)
|
||||
|
||||
KILALL mmtm sp,a0,a1,a2,a3,a4
|
||||
not a1
|
||||
jruc kilan
|
||||
|
||||
|
||||
********************************
|
||||
* Kill one class of processes
|
||||
|
||||
KIL1C ;A0=PROCID, A1=Trashed
|
||||
|
||||
clr a1
|
||||
|
||||
********************************
|
||||
* Kill a class of processes
|
||||
|
||||
KILALLN ;A0=PROCID, A1=!Mask (Bits to remove)
|
||||
|
||||
mmtm sp,a0,a1,a2,a3,a4
|
||||
kilan andn a1,a0 ;Form match
|
||||
MOVI ACTIVE,A2,L
|
||||
|
||||
KILALP MOVE A2,A3 ;SAVE PREVIOUS
|
||||
MOVE *A2,A2,L ;GET NEXT
|
||||
JREQ KILALX ;ALL DONE
|
||||
MOVE *A2(PROCID),A4
|
||||
andn a1,a4 ;Can dont care bits
|
||||
CMP A0,A4 ;MATCH?
|
||||
JRNE KILALP ;NO
|
||||
|
||||
CMP A2,A13 ;CURRENT PROCESS?
|
||||
JREQ KILALP ;YES DONT KILL
|
||||
|
||||
MOVE *A2,*A3,L ;LINK AROUND IN ACTIVE LIST
|
||||
MOVE @FREE,A4,L ;LINK INTO FREE LIST AT START
|
||||
MOVE A4,*A2,L
|
||||
MOVE A2,@FREE,L ;POINT FREE TO CELL
|
||||
MOVE A3,A2
|
||||
JRUC KILALP ;KILL THE REST
|
||||
|
||||
KILALX MMFM SP,A0,A1,A2,A3,A4
|
||||
RETS
|
||||
|
||||
|
||||
********************************
|
||||
* Knock out one class of processes
|
||||
|
||||
KOP_1C ;A0=PROCID, A2=Time to add
|
||||
|
||||
clr a1
|
||||
|
||||
********************************
|
||||
* Knock out a class of processes
|
||||
|
||||
KOP_ALL ;A0=PROCID, A1=!Mask (Bits to remove), A2=Time to add
|
||||
|
||||
mmtm sp,a3,a4
|
||||
andn a1,a0 ;Form match
|
||||
movi ACTIVE,a3,L
|
||||
|
||||
koplp move *a3,a3,L ;Get next
|
||||
jrz kopx ;End?
|
||||
move *a3(PROCID),a4
|
||||
andn a1,a4 ;Mask
|
||||
cmp a0,a4
|
||||
jrnz koplp ;No match?
|
||||
|
||||
move *a3(PTIME),a4 ;Add sleep
|
||||
add a2,a4
|
||||
move a4,*a3(PTIME)
|
||||
jruc koplp
|
||||
|
||||
kopx mmfm sp,a3,a4
|
||||
rets
|
||||
|
||||
|
||||
********************************
|
||||
*CHECK TO SEE IF PROCESS IN A0 EXISTS
|
||||
*RETURNS:
|
||||
* Z BIT SET = NO MATCH, A0 = 0
|
||||
* Z BIT CLR = MATCH, A0 = PTR TO PROCESS
|
||||
|
||||
PEXIST
|
||||
MMTM SP,A2
|
||||
MOVI ACTIVE,A2,L
|
||||
|
||||
ISOBP MOVE *A2,A2,L ;GET NEXT
|
||||
JREQ ISOBX ;ALL DONE
|
||||
CMP A0,A2 ;PROC?
|
||||
JRNE ISOBP ;NO
|
||||
MOVE A0,A0 ;CLR Z BIT
|
||||
ISOBX MMFM SP,A2
|
||||
RETS
|
||||
|
||||
********************************
|
||||
*FIND IF AT LEAST ONE PROCESS, OTHER THAN CALLING PROCESS,
|
||||
*EXISTS.
|
||||
*A0=PROCID (16 BITS) ,A1=MASK (16 BITS)
|
||||
*MASK BITS OF ZERO ARE DONT CARES
|
||||
*RETURNS:
|
||||
* Z BIT SET = NO MATCH, A0 = 0
|
||||
* Z BIT CLR = MATCH, A0 = PTR TO PROCESS
|
||||
|
||||
EXISTP
|
||||
MMTM SP,A1,A2,A4
|
||||
SEXT A0,W
|
||||
AND A1,A0 ;FORM MATCH
|
||||
MOVI ACTIVE,A2,L
|
||||
|
||||
EXNXT
|
||||
MOVE *A2,A2,L ;GET NEXT
|
||||
JREQ EXSC ;ALL DONE
|
||||
MOVE *A2(PROCID),A4
|
||||
AND A1,A4 ;CAN DONT CARE BITS
|
||||
CMP A0,A4 ;MATCH?
|
||||
JRNE EXNXT ;NO
|
||||
|
||||
CMP A2,A13 ;CURRENT PROCESS?
|
||||
JREQ EXNXT ;YES, THEN WE DON'T CARE
|
||||
EXSC
|
||||
MOVE A2,A0
|
||||
MMFM SP,A1,A2,A4
|
||||
RETS
|
||||
|
||||
********************************
|
||||
* GET A PRESERVED REGISTER FROM A SLEEPING PROCESS
|
||||
* A0=*SLEEPER
|
||||
|
||||
GETA11 move *A0(PA11),A11,L
|
||||
RETS
|
||||
GETA10 move *A0(PA10),A10,L
|
||||
RETS
|
||||
GETA9 move *A0(PA9),A9,L
|
||||
RETS
|
||||
GETREGS
|
||||
move *A0(PA11),A11,L
|
||||
move *A0(PA10),A10,L
|
||||
move *A0(PA9),A9,L
|
||||
GETA8 move *A0(PA8),A8,L
|
||||
RETS
|
||||
GETWAKE move *A0(PWAKE),A7,L
|
||||
RETS
|
||||
|
||||
PUTA11 move A11,*A0(PA11),L
|
||||
RETS
|
||||
PUTA10 move A10,*A0(PA10),L
|
||||
RETS
|
||||
PUTA9 move A9,*A0(PA9),L
|
||||
RETS
|
||||
PUTREGS
|
||||
move A11,*A0(PA11),L
|
||||
move A10,*A0(PA10),L
|
||||
move A9,*A0(PA9),L
|
||||
PUTA8 move A8,*A0(PA8),L
|
||||
RETS
|
||||
PUTA7
|
||||
PUTWAKE move A7,*A0(PWAKE),L
|
||||
RETS
|
||||
|
||||
|
||||
.END
|
||||
|
|
@ -0,0 +1,415 @@
|
|||
*******************
|
||||
*MASTER EQUATE FILE
|
||||
*.Last mod - 9/23/91 16:20
|
||||
*******************
|
||||
|
||||
* GLOBAL VARIABLES
|
||||
|
||||
.GLOBL KILALL,GETPRC,KILL,PINIT,SUCIDE,PRCSLP,PRCDSP,PRCLSP,EXISTP
|
||||
.GLOBL RAND,TIMER,OVERLOAD,ACTIVE,FREE,PRCSTR,PEXIST
|
||||
.GLOBL SNDRES,SNDRESP,ONESND,SNDLD,SNDSND,CKSNDPRI,QSNDRST
|
||||
.GLOBL GETA11,GETA10,GETA9,GETA8,XFERPROC
|
||||
.GLOBL PUTA11,PUTA10,PUTA9,PUTA8,PUTA7
|
||||
.globl KIL1C,KILALLN,KOP_1C,KOP_ALL
|
||||
|
||||
* PROCESS DATA STRUCTURE
|
||||
* NOTE: MAKE SURE THIS IS EVENLY DIVISIBLE BY 32
|
||||
*STRUCT PROC
|
||||
PLINK .SET 0 ;LINK TO NEXT 32 BITS
|
||||
PROCID .SET 20H ;UHW PROCESS ID 16 BITS
|
||||
PTIME .SET 30H ;UHW SLEEP TIME X 16MSEC 16 BITS
|
||||
PSPTR .SET 40H ;UHL PROCESS STACK POINTER 32 BITS
|
||||
PA11 .SET 60H ;UHL REGISTERS SAVED
|
||||
PA10 .SET 80H ;UHL
|
||||
PA9 .SET 0A0H ;UHL
|
||||
PA8 .SET 0C0H ;UHL
|
||||
PWAKE .SET 0E0H ;UHL
|
||||
PDATA .SET 100H ;PROCESS DATA STORE
|
||||
;PSDATA .SET 2A0H ;PROCESS STACK DATA (PC, A8-A11)
|
||||
PSDATA .SET 3D0H ;PROCESS STACK DATA (PC, A8-A11)
|
||||
PRCSIZ .SET 5A0H ;END OF DATA STRUCTURE
|
||||
*ENDSTRUCT
|
||||
|
||||
NPROC .SET 240 ;NUMBER OF PROCESSES ;240 FOR SMASH
|
||||
|
||||
*GSP MACROS
|
||||
|
||||
*SUBTRACT REGISTER FROM MEMORY
|
||||
* SUBRM REG,ADDR,FIELD SIZE
|
||||
*A14 DESTROYED, 'A' REGISTER TYPE INSTRUCTIONS ONLY
|
||||
*
|
||||
SUBRM $MACRO P1,P2,P3
|
||||
MOVE :P2:,A14,:P3:
|
||||
SUB :P1:,A14
|
||||
MOVE A14,:P2:,:P3:
|
||||
$END
|
||||
|
||||
*ADD REGISTER TO MEMORY
|
||||
* ADDRM REG,ADDR,FIELD SIZE
|
||||
*A14 DESTROYED, 'A' REGISTER TYPE INSTRUCTIONS ONLY
|
||||
*
|
||||
ADDRM $MACRO P1,P2,P3
|
||||
MOVE :P2:,A14,:P3:
|
||||
ADD :P1:,A14
|
||||
MOVE A14,:P2:,:P3:
|
||||
$END
|
||||
|
||||
*INCREMENT LOCATION
|
||||
*A14 DESTROYED, 'A' REGISTER TYPE INSTRUCTIONS ONLY
|
||||
**
|
||||
INCW $MACRO P1
|
||||
MOVE :P1:,A14
|
||||
INC A14
|
||||
MOVE A14,:P1:
|
||||
$END
|
||||
|
||||
*DECREMENT WORD
|
||||
*A14 DESTROYED, 'A' REGISTER TYPE INSTRUCTIONS ONLY
|
||||
|
||||
DECW $MACRO P1
|
||||
MOVE :P1:,A14
|
||||
DEC A14
|
||||
MOVE A14,:P1:
|
||||
$END
|
||||
|
||||
*INCREMENT MEMORY
|
||||
* INCM ADDR,FIELD SIZE
|
||||
*A14 DESTROYED
|
||||
|
||||
INCM $MACRO P1,P2
|
||||
MOVE :P1:,A14,:P2:
|
||||
INC A14
|
||||
MOVE A14,:P1:,:P2:
|
||||
$END
|
||||
|
||||
*DECREMENT MEMORY
|
||||
* DECM ADDR,FIELD SIZE
|
||||
*A14 DESTROYED
|
||||
|
||||
DECM $MACRO P1,P2
|
||||
MOVE :P1:,A14,:P2:
|
||||
DEC A14
|
||||
MOVE A14,:P1:,:P2:
|
||||
$END
|
||||
|
||||
*SUBTRACT MEMORY
|
||||
* SUBM ADDR,REG,FIELD SIZE
|
||||
*SUBTRACTS ADDRESS FROM REGISTER
|
||||
*A14 DESTROYED, 'A' REGISTER TYPE INSTRUCTIONS ONLY
|
||||
|
||||
SUBM $MACRO P1,P2,P3
|
||||
MOVE :P1:,A14,:P3:
|
||||
SUB A14,:P2:
|
||||
$END
|
||||
|
||||
*ADD MEMORY
|
||||
* ADDM ADDR,REG,FIELD SIZE
|
||||
*ADDS ADDRESS FROM REGISTER
|
||||
*A14 DESTROYED, 'A' REGISTER TYPE INSTRUCTIONS ONLY
|
||||
|
||||
ADDM $MACRO P1,P2,P3
|
||||
MOVE :P1:,A14,:P3:
|
||||
ADD A14,:P2:
|
||||
$END
|
||||
|
||||
*NEGATE MEMORY
|
||||
* NEGM ADDR,FIELD SIZE
|
||||
*NEGATES ADDRESS CONTENTS
|
||||
*A14 DESTROYED, 'A' REGISTER TYPE INSTRUCTIONS ONLY
|
||||
|
||||
NEGM $MACRO P1,P2
|
||||
MOVE :P1:,A14,:P2:
|
||||
NEG A14
|
||||
MOVE A14,:P1:,:P2:
|
||||
$END
|
||||
|
||||
*COMPARE MEMORY
|
||||
* CMPM ADDR,REG,FIELD SIZE
|
||||
*COMPARES ADDRESS TO REGISTER
|
||||
*A14 DESTROYED, 'A' REGISTER TYPE INSTRUCTIONS ONLY
|
||||
|
||||
CMPM $MACRO P1,P2,P3
|
||||
MOVE :P1:,A14,:P3:
|
||||
CMP A14,:P2:
|
||||
$END
|
||||
|
||||
*CLEAR MEMORY
|
||||
* CLRM ADDR,FIELD SIZE
|
||||
*CLEARS ADDRESS CONTENTS
|
||||
*A14 DESTROYED, 'A' REGISTER TYPE INSTRUCTIONS ONLY
|
||||
|
||||
CLRM $MACRO P1,P2
|
||||
CLR A14
|
||||
MOVE A14,:P1:,:P2:
|
||||
$END
|
||||
|
||||
*COMPLEMENT MEMORY
|
||||
* COMM ADDR,FIELD SIZE
|
||||
*COMPLEMENTS ADDRESS CONTENTS
|
||||
*A14 DESTROYED, 'A' REGISTER TYPE INSTRUCTIONS ONLY
|
||||
|
||||
COMM $MACRO P1,P2
|
||||
MOVE :P1:,A14,:P2:
|
||||
NOT A14
|
||||
MOVE A14,:P1:,:P2:
|
||||
$END
|
||||
|
||||
*SHIFT LEFT MEMORY
|
||||
* SLLM SHIFT COUNT,ADDR,FIELD SIZE
|
||||
*SHIFTS ADDRESS CONTENTS
|
||||
*A14 DESTROYED, 'A' REGISTER TYPE INSTRUCTIONS ONLY
|
||||
|
||||
SLLM $MACRO P1,P2,P3
|
||||
MOVE :P2:,A14,:P3:
|
||||
SLL :P1:,A14
|
||||
MOVE A14,:P2:,:P3:
|
||||
$END
|
||||
|
||||
*SHIFT RIGHT ARITHMETIC MEMORY
|
||||
* SRAM SHIFT COUNT,ADDR,FIELD SIZE
|
||||
*SHIFTS ADDRESS CONTENTS
|
||||
*A14 DESTROYED, 'A' REGISTER TYPE INSTRUCTIONS ONLY
|
||||
|
||||
SRAM $MACRO P1,P2,P3
|
||||
MOVE :P2:,A14,:P3:
|
||||
SEXT A14,:P3:
|
||||
SRA :P1:,A14
|
||||
MOVE A14,:P2:,:P3:
|
||||
$END
|
||||
|
||||
*SHIFT RIGHT LOGICAL MEMORY
|
||||
* SRLM SHIFT COUNT,ADDR,FIELD SIZE
|
||||
*SHIFTS ADDRESS CONTENTS
|
||||
*A14 DESTROYED, 'A' REGISTER TYPE INSTRUCTIONS ONLY
|
||||
|
||||
SRLM $MACRO P1,P2,P3
|
||||
MOVE :P2:,A14,:P3:
|
||||
ZEXT A14,:P3:
|
||||
SRL :P1:,A14
|
||||
MOVE A14,:P2:,:P3:
|
||||
$END
|
||||
|
||||
*BIT SET
|
||||
* BSET BIT# 0-31(KONSTANT OR REGISTER),REGISTER TO SET BIT IN
|
||||
* NOTE: A14 IS DESTROYED, 'A' FILE REGISTERS ONLY
|
||||
|
||||
BSET $MACRO P1,R1
|
||||
MOVK 1,A14
|
||||
SLL :P1:,A14
|
||||
OR A14,:R1:
|
||||
$END
|
||||
|
||||
|
||||
*BIT CLR
|
||||
* BCLR BIT# 0-31(KONSTANT OR REGISTER),REGISTER TO CLR BIT IN
|
||||
* NOTE: A14 IS DESTROYED, 'A' FILE REGISTERS ONLY
|
||||
|
||||
BCLR $MACRO P1,R1
|
||||
MOVK 1,A14
|
||||
SLL :P1:,A14
|
||||
ANDN A14,:R1:
|
||||
$END
|
||||
|
||||
*SET THE Z BIT
|
||||
* SETZ
|
||||
* STATUS BITS:
|
||||
* N Unaffected
|
||||
* C Unaffected
|
||||
* Z 1
|
||||
* V Unaffected
|
||||
* NOTE: A14 IS CLEARED
|
||||
|
||||
SETZ $MACRO
|
||||
CLR A14
|
||||
$END
|
||||
|
||||
*CLR THE Z BIT
|
||||
* CLRZ
|
||||
* STATUS BITS:
|
||||
* N Unaffected
|
||||
* C Unaffected
|
||||
* Z 0
|
||||
* V Unaffected
|
||||
* NOTE: A14 IS SET TO 1
|
||||
|
||||
CLRZ $MACRO
|
||||
CLR A14
|
||||
NOT A14
|
||||
$END
|
||||
|
||||
*PROCESS SLEEP CONSTANT
|
||||
*A=SLEEP TIME CONSTANT 1-FFFF LOADED INTO A0
|
||||
*RET ADDR ON STACK
|
||||
|
||||
SLEEP $macro A
|
||||
movi :A:,a0
|
||||
calla PRCSLP
|
||||
$end
|
||||
|
||||
SLEEPK $macro A
|
||||
movk :A:,a0
|
||||
calla PRCSLP
|
||||
$end
|
||||
|
||||
*PROCESS SLEEP REGISTER
|
||||
*REG1=REGISTER THAT CONTAINS SLEEP TIME 1-FFFF LOADED INTO A0
|
||||
*RET ADDR ON STACK
|
||||
|
||||
SLEEPR $MACRO REG1
|
||||
MOVE :REG1:,A0
|
||||
CALLA PRCSLP
|
||||
$END
|
||||
|
||||
*PROCESS LOOP SLEEP
|
||||
*P1=SLEEP TIME -->A0, P2=WAKEUP ADDR-->A7
|
||||
|
||||
SLOOP $MACRO P1,P2
|
||||
$IF P1 < 33
|
||||
MOVK :P1:,A0
|
||||
$ELSE
|
||||
MOVI :P1:,A0
|
||||
$ENDIF
|
||||
MOVI :P2:,A7,L
|
||||
JAUC PRCLSP
|
||||
$END
|
||||
|
||||
*PROCESS LOOP SLEEP REGISTER
|
||||
*P1=REGISTER CONTAINING SLEEP TIME 1-FFFF, P2 =WAKEUP ADDR-->A7
|
||||
|
||||
SLOOPR $MACRO P1,P2
|
||||
MOVE :P1:,A0
|
||||
MOVI :P2:,A7,L
|
||||
JAUC PRCLSP
|
||||
$END
|
||||
|
||||
*PROCESS CREATION MACRO
|
||||
*P1=ID-->A1, P2=PC-->A7
|
||||
|
||||
CREATE $macro p1,p2
|
||||
movi :p1:,a1
|
||||
movi :p2:,a7,L
|
||||
calla GETPRC
|
||||
$end
|
||||
|
||||
*PROCESS CREATION MACRO
|
||||
*A=PC-->A7
|
||||
CREATE0 $macro A
|
||||
clr a1
|
||||
movi :A:,a7,L
|
||||
calla GETPRC
|
||||
$end
|
||||
|
||||
*KILL PROCESS(ES)
|
||||
*P1=ID-->A0,P2=MASK-->A1
|
||||
|
||||
KILLIT $MACRO P1,P2
|
||||
MOVI :P1:,A0
|
||||
MOVI :P2:,A1
|
||||
CALLA KILALL
|
||||
$END
|
||||
|
||||
*CALL IT QUITS
|
||||
|
||||
DIE $MACRO
|
||||
JAUC SUCIDE
|
||||
$END
|
||||
|
||||
*PROCESS JUMP SUBROUTINE
|
||||
*P1=ADDRESS OF SLEEPING PROCESS
|
||||
*A7 IS USED FOR PC STORAGE
|
||||
|
||||
JSRP $MACRO P1
|
||||
GETPC A7
|
||||
ADDI 060h,A7
|
||||
MOVE A7,-*A12,L ;PUSH RET ADDR
|
||||
JAUC :P1:
|
||||
$END
|
||||
|
||||
*PROCESS JUMP SUBROUTINE ON REGISTER
|
||||
*R1=REGISTER CONTAINING ADDRESS OF SLEEPING PROCESS
|
||||
*A7 IS USED FOR PC STORAGE
|
||||
|
||||
JSRPR $MACRO R1
|
||||
GETPC A7
|
||||
ADDI 040h,A7
|
||||
MOVE A7,-*A12,L ;PUSH RET ADDR
|
||||
JUMP :R1:
|
||||
$END
|
||||
|
||||
*RETURN FROM SLEEPING SUBROUTINE
|
||||
*A7 IS USED FOR PC STORAGE
|
||||
*STATUS REGISTER IS NOT AFFECTED
|
||||
|
||||
RETP $MACRO
|
||||
MMFM A12,A7 ;PULL RETURN ADDR, W/O ZAPPING STAT
|
||||
EXGPC A7
|
||||
$END
|
||||
|
||||
*FIND MATCHING PROCESS(ES), BRANCH IF ONE WAS FOUND
|
||||
*P1=ID-->A0,P2=MASK-->A1,P3=BRANCH LABEL
|
||||
MATCHP $MACRO P1,P2,P3
|
||||
MOVI :P1:,A0
|
||||
MOVI :P2:,A1
|
||||
CALLA EXISTP
|
||||
JANZ :P3:
|
||||
$END
|
||||
|
||||
*FIND MATCHING PROCESS(ES), BRANCH IF NONE WERE FOUND
|
||||
*P1=ID-->A0,P2=MASK-->A1,P3=BRANCH LABEL
|
||||
NOMATCHP $MACRO P1,P2,P3
|
||||
MOVI :P1:,A0
|
||||
MOVI :P2:,A1
|
||||
CALLA EXISTP
|
||||
JAZ :P3:
|
||||
$END
|
||||
|
||||
*PUSH REGISTER(S) ONTO THE STACK
|
||||
*USAGE: ONE OPERAND -> PUSH OP 2 OR MORE OPS -> PUSH (OP1,OP2,...,OPN)
|
||||
PUSH $MACRO REG
|
||||
MOVE :REG:,-*SP,1
|
||||
$END
|
||||
|
||||
*PULL REGISTER(S) OFF OF THE STACK
|
||||
*USAGE: ONE REGISTER -> PULL REG 2 OR MORE REGS -> PULL (REG1,REG2,...,REGN)
|
||||
PULL $MACRO REG
|
||||
MMFM SP,:REG:
|
||||
$END
|
||||
|
||||
*PUSH REGISTER ONTO THE PROCESS STACK
|
||||
*USAGE: ONE OPERAND -> PUSH REG
|
||||
PUSHP $MACRO REG
|
||||
MOVE :REG:,-*A12,L
|
||||
$END
|
||||
|
||||
*PULL REGISTER(S) OFF OF THE PROCESS STACK
|
||||
*USAGE: ONE REGISTER -> PULL REG
|
||||
PULLP $MACRO REG
|
||||
MMFM A12,:REG:
|
||||
$END
|
||||
|
||||
*PUSH LOW WORD OF REGISTER ON TO STACK
|
||||
*ONE REGISTER ONLY!
|
||||
*USAGE: PUSHW REG
|
||||
PUSHW $MACRO REG
|
||||
MOVE :REG:,-*SP,0
|
||||
$END
|
||||
|
||||
*PULL LOW WORD OF REGISTER OFF OF STACK
|
||||
*ONE REGISTER ONLY!
|
||||
*USAGE: PULLW REG
|
||||
PULLW $MACRO REG
|
||||
MOVE *SP+,:REG:,0
|
||||
$END
|
||||
|
||||
*NULL LONG WORD
|
||||
LONGNULL:$MACRO
|
||||
.LONG 0
|
||||
$END
|
||||
|
||||
*LOCKUP MACRO
|
||||
|
||||
LOCKUP $MACRO
|
||||
DINT
|
||||
JRUC $
|
||||
$END
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,565 @@
|
|||
**************************************************************
|
||||
*
|
||||
* INITIATED: APRIL 13,1989
|
||||
* SOFTWARE: MARK TURMELL
|
||||
*
|
||||
* MODIFIED: Shawn Liptak, 7/23/91 -New FADEIN/OUT
|
||||
* Shawn Liptak, 7/28/91 -Merged with fbstuff
|
||||
*
|
||||
* COPYRIGHT (C) 1991 WILLIAMS ELECTRONICS GAMES, INC.
|
||||
*
|
||||
**************************************************************
|
||||
.TITLE 'PALSTUFF.ASM'
|
||||
.FILE 'PALETTE FADER CONTROL'
|
||||
.WIDTH 132
|
||||
.OPTION B,D,L,T
|
||||
.MNOLIST
|
||||
|
||||
|
||||
.INCLUDE "MPROC.EQU" ;MPROC EQUATES
|
||||
.INCLUDE "DISP.EQU" ;DISPLAY PROC. EQUATES
|
||||
.INCLUDE "\VIDEO\SYS\SYS.INC" ;Z UNIT SYSTEM EQUATES
|
||||
.INCLUDE "BGNDTBL.GLO"
|
||||
.INCLUDE "IMGTBL.GLO"
|
||||
.INCLUDE "GAME.EQU"
|
||||
.include "shawn.hdr" ;Macros
|
||||
|
||||
;SYMBOLS EXTERNALLY DEFINED
|
||||
|
||||
.REF GETFPAL,PALSET,UNGETPAL,DELPAL,FINDPAL,RANGRAND
|
||||
.REF IRQSKYE,REACTR,RANDPER
|
||||
.REF PALSET,PALRAM,EXP2
|
||||
|
||||
;SYMBOLS DEFINED IN THIS FILE
|
||||
|
||||
.DEF PUMP_RED,COUNT,PUMP_CLDS
|
||||
.DEF BLAKOUT
|
||||
.DEF FB_FADEOUT,FB_FADEIN
|
||||
|
||||
;EQUATES FIRST ORIGINATED IN THIS FILE
|
||||
|
||||
FPALNUM .equ 8
|
||||
FPALSZ .equ 65*16
|
||||
|
||||
|
||||
;UNINITIALIZED RAM DEFINITIONS
|
||||
|
||||
|
||||
.BSS FADERAM ,FPALSZ*FPALNUM ;Fade mem for palettes
|
||||
.BSS COUNT ,16
|
||||
.BSS KPBASE ,32
|
||||
.bss irqskyeo,16 ;Orignal autoerase color
|
||||
|
||||
|
||||
********************************
|
||||
* BLAKOUT - BLACK OUT SELECTED PALETTE
|
||||
* A0=NAME OF PALETTE TO BLACK OUT
|
||||
|
||||
BLAKOUT
|
||||
CALLA FINDPAL
|
||||
SLL 8,A0
|
||||
MOVE A0,A1
|
||||
JRZ NOTALLOC
|
||||
MOVI FADERAM,A0
|
||||
MOVI 128,A3
|
||||
CLR A2
|
||||
|
||||
CLRBLP MOVE A2,*A0+,L
|
||||
DSJS A3,CLRBLP
|
||||
MOVI FADERAM,A0 ;NOW BLACK OUT PALETTE
|
||||
MOVI 256,A2
|
||||
CALLA PALSET ;ERASE PALETTE SLOT
|
||||
NOTALLOC
|
||||
RETS
|
||||
|
||||
********************************
|
||||
* CLOUDS BEHIND REPORTER
|
||||
* PUMP_RED PROCESS
|
||||
* CYCLE NUCLEAR REACTORS
|
||||
|
||||
PUMP_CLDS
|
||||
SLEEP 3
|
||||
MOVI EXP2,A0
|
||||
CALLA ONESND
|
||||
MOVI CLDSZ,A0
|
||||
MOVE A0,@KPBASE,L
|
||||
CALLA FINDPAL
|
||||
JRZ CREDOUT
|
||||
SLL 8,A0
|
||||
MOVE A0,A11 ;NEEDED LATER FOR PALSET
|
||||
|
||||
MOVK 7,A10 ;PUMP RED A10 TIMES
|
||||
MOVI 128,A8
|
||||
CEDLOOP MOVI FADERAM,A0
|
||||
ADDK 20H,A8
|
||||
CALLR DO_MULT
|
||||
SLEEP 1
|
||||
DSJ A10,CEDLOOP
|
||||
CREDOUT
|
||||
MOVK 7,A10 ;PUMP RED A10 TIMES
|
||||
CRED2 MOVI FADERAM,A0
|
||||
SUBI 20H,A8
|
||||
CALLR DO_MULT
|
||||
SLEEP 1
|
||||
DSJ A10,CRED2
|
||||
MOVI 700,A0
|
||||
CALLA RANDPER
|
||||
JRNC PUMP_CLDS
|
||||
MOVK 10,B0
|
||||
MOVI 3*60,B1
|
||||
CALLA RANGRAND
|
||||
CALLA PRCSLP
|
||||
JRUC PUMP_CLDS
|
||||
|
||||
|
||||
********************************
|
||||
* PUMP_RED PROCESS, CYCLE NUCLEAR REACTORS
|
||||
|
||||
PUMP_RED
|
||||
SLEEP 18H
|
||||
MOVI REACTR,A0
|
||||
MOVE A0,@KPBASE,L
|
||||
CALLA FINDPAL
|
||||
JRZ REDOUT
|
||||
SLL 8,A0
|
||||
MOVE A0,A11 ;NEEDED LATER FOR PALSET
|
||||
|
||||
MOVI 25,A10 ;PUMP RED A10 TIMES
|
||||
MOVI 128,A8
|
||||
REDLOOP MOVI FADERAM,A0
|
||||
ADDK 10H,A8
|
||||
CALLR DO_MULT
|
||||
SLEEP 1
|
||||
DSJ A10,REDLOOP
|
||||
REDOUT
|
||||
MOVK 25,A10 ;PUMP RED A10 TIMES
|
||||
RED2 MOVI FADERAM,A0
|
||||
SUBI 10H,A8
|
||||
CALLR DO_MULT
|
||||
SLEEP 1
|
||||
DSJ A10,RED2
|
||||
JRUC PUMP_RED
|
||||
|
||||
DO_MULT
|
||||
MOVE A8,A2
|
||||
MMTM SP,A8,A10,A11
|
||||
; ADDI 32,A0 ;GET TO FIRST COLOR PAST 0
|
||||
; MOVI 63,A9
|
||||
;NEXCLR MOVE *A0,A1,W
|
||||
; ZEXT A1,W
|
||||
; SRL 10,A1 ;GET RED BITS
|
||||
|
||||
MOVE @KPBASE,A1,L ;REACTR,A1
|
||||
;PARAMS
|
||||
; A0 - DEST RAM FOR PAL
|
||||
; A1 - SRC FOR PAL
|
||||
; A2 - COLOR MULTIPLIER
|
||||
; EACH COLOR IN PALETTE WILL BE MULTIPLIED BY A2 THEN DIVIDED BY 128
|
||||
|
||||
; MMTM SP,A0,A1,A3,A4,A5,A6,A7,A8,A9,A10,A11,A14
|
||||
MOVE *A1+,A14,W
|
||||
MOVE A14,*A0+,W
|
||||
SLL 23,A14 ;TOP BITS OF FIELD ARE FLAGS
|
||||
SRL 23,A14 ;ONLY 9 BITS NEEDED FOR # COLORS
|
||||
MOVI >7C00,A4 ;A4 - PRE MULT MASK FOR 5 BITS OF RED
|
||||
; MOVI >03E0,A6 ;A6 - PRE MULT MASK FOR 5 BITS OF GREEN
|
||||
; MOVI >001F,A8 ;A8 - PRE MULT MASK FOR 5 BITS OF BLUE
|
||||
MOVE A4,A9
|
||||
; MOVE A6,A10
|
||||
; MOVE A8,A11
|
||||
SLL 7,A9 ; A9 - POST MULT MAX FOR 5 BITS OF RED
|
||||
; SLL 7,A10 ;A10 - POST MULT MAX FOR 5 BITS OF GREEN
|
||||
; SLL 7,A11 ;A11 - POST MULT MAX FOR 5 BITS OF BLUE
|
||||
FADELPR:
|
||||
MOVE *A1+,A3,W ;A3 - RED
|
||||
MOVE A3,A5
|
||||
ANDI 03FFH,A5
|
||||
; MOVE A3,A5 ;A5 - GREEN
|
||||
; MOVE A3,A7 ;A7 - BLUE
|
||||
AND A4,A3
|
||||
CMPI 1001H,A3
|
||||
JRC REDOKR
|
||||
; AND A6,A5
|
||||
; AND A8,A7
|
||||
MPYU A2,A3
|
||||
; MPYU A2,A5
|
||||
; MPYU A2,A7
|
||||
CMP A9,A3
|
||||
JRLE REDOKR
|
||||
MOVE A9,A3
|
||||
REDOKR:
|
||||
; CMP A10,A5
|
||||
; JRLE GREENOK
|
||||
; MOVE A10,A5
|
||||
;GREENOK:
|
||||
; CMP A11,A7
|
||||
; JRLE BLUEOK
|
||||
; MOVE A11,A7
|
||||
;BLUEOK:
|
||||
AND A9,A3
|
||||
SRL 7,A3
|
||||
; AND A10,A5
|
||||
OR A5,A3
|
||||
; OR A7,A3
|
||||
; SRL 7,A3
|
||||
MOVE A3,*A0+,W
|
||||
DSJS A14,FADELPR
|
||||
; MMFM SP,A0,A1,A3,A4,A5,A6,A7,A8,A9,A10,A11,A14
|
||||
; RETS
|
||||
; CMPI 31,A1
|
||||
; JRZ ROUT
|
||||
; CMPI 6,A1
|
||||
; JRC ROUT
|
||||
; INC A1
|
||||
; SLL 10,A1
|
||||
; MOVE *A0,A2,W
|
||||
; ANDI 03FFH,A2
|
||||
; OR A1,A2
|
||||
; MOVE A2,*A0,W
|
||||
;ROUT ADDI 16,A0
|
||||
; DSJS A9,NEXCLR
|
||||
|
||||
*SETUP PALETTE TRANSFER
|
||||
*CALLING PARAMETERS:
|
||||
*A0= PALSRC = 32 BIT SOURCE ADDRESS OF PALETTE COLOR DATA
|
||||
*A1= PALDEST = BIT 8-15 DESTINATION PALETTE | BIT 0-7 START COLOR
|
||||
*A2= PLDCNT = 16 BIT COLOR COUNT
|
||||
*RETURNS: EQ IF UNABLE TO SETUP TRANSFER, NE IF TRANSFER O.K.
|
||||
|
||||
MMFM SP,A8,A10,A11
|
||||
|
||||
MOVI FADERAM,A0
|
||||
MOVE A11,A1
|
||||
MOVE *A0+,A2
|
||||
CALLA PALSET
|
||||
|
||||
RETS
|
||||
|
||||
|
||||
********************************
|
||||
* FADEIN - Fade in all selected palettes from black
|
||||
*
|
||||
* A0=*Palette list to fade in (autoerase + 0-8 pals)
|
||||
* A1=Fade delay in ticks
|
||||
* If 1st entry not neg then it enables autoerase fading
|
||||
|
||||
|
||||
|
||||
SUBR FADEIN
|
||||
|
||||
move a0,a9 ;A9=*Palette list
|
||||
move a1,a10 ;A10=Fade delay
|
||||
CREATE 0,fadein
|
||||
rets
|
||||
|
||||
fadein
|
||||
move a13,a6
|
||||
addi PDATA,a6
|
||||
movk FPALNUM,a7
|
||||
|
||||
move a9,a11
|
||||
move *a11+,a0,L ;!-=Autoerase color
|
||||
jrn fi30
|
||||
move a0,@irqskyeo ;Save color
|
||||
|
||||
fi20 move *a11+,a0,L ;Get * palette
|
||||
jrz fi70 ;0=End
|
||||
fi30 calla FINDPAL
|
||||
jrz fi60
|
||||
not a0 ;Make neg
|
||||
fi60 sll 8,a0
|
||||
move a0,*a6+ ;Save palette #
|
||||
dsj a7,fi20
|
||||
|
||||
fi70 clr a8 ;A8=Brightness
|
||||
|
||||
|
||||
fi100 addk 8,a8
|
||||
|
||||
movi FADERAM,a5
|
||||
move a13,a6
|
||||
addi PDATA,a6
|
||||
movk FPALNUM,a7
|
||||
|
||||
move a9,a11
|
||||
move *a11,a1,L
|
||||
jrn fi200
|
||||
addk 32,a11
|
||||
move a8,a2
|
||||
callr FADEPALAE
|
||||
|
||||
fi200 move *a11+,a1,L
|
||||
jrz fi400
|
||||
move a5,a0
|
||||
move a8,a2
|
||||
callr FADEPAL
|
||||
move a5,a0 ;*Palette colors
|
||||
move *a6+,a1 ;Palette #
|
||||
cmpi -256,a1 ;FF00
|
||||
jrz fi230
|
||||
move *a0+,a2 ;#Colors
|
||||
calla PALSET
|
||||
fi230 addi FPALSZ,a5
|
||||
dsj a7,fi200
|
||||
|
||||
fi400 move a10,a0
|
||||
calla PRCSLP
|
||||
cmpi 128,a8
|
||||
jrlo fi100
|
||||
|
||||
fi800 DIE
|
||||
|
||||
|
||||
|
||||
|
||||
********************************
|
||||
* FADEOUT - Fade out all selected palettes to black
|
||||
*
|
||||
* A0=*Palette list to fade out (autoerase + 0-8 pals)
|
||||
* A1=Fade delay in ticks
|
||||
* If 1st entry not neg then it enables autoerase fading
|
||||
|
||||
|
||||
SUBR FADEOUT
|
||||
|
||||
clr a10
|
||||
move a10,@COUNT
|
||||
|
||||
SUBR FADEOUT2
|
||||
|
||||
move a0,a9 ;A9=*Palette list
|
||||
move a1,a10 ;A10=Fade delay
|
||||
CREATE 0,fadeout
|
||||
rets
|
||||
|
||||
fadeout
|
||||
move a13,a6
|
||||
addi PDATA,a6
|
||||
movk FPALNUM,a7
|
||||
|
||||
move a9,a11
|
||||
move *a11+,a0,L ;!-=Autoerase color
|
||||
jrn fo30
|
||||
move @IRQSKYE,a0 ;Save color
|
||||
move a0,@irqskyeo
|
||||
|
||||
fo20 move *a11+,a0,L ;Get * palette
|
||||
jrz fo70 ;0=End
|
||||
fo30 calla FINDPAL
|
||||
jrnz fo60
|
||||
not a0 ;Make neg
|
||||
fo60 sll 8,a0
|
||||
move a0,*a6+ ;Save palette #
|
||||
dsj a7,fo20
|
||||
|
||||
fo70 movi 128,a8 ;A8=Brightness
|
||||
|
||||
|
||||
fo100 subk 8,a8
|
||||
|
||||
movi FADERAM,a5
|
||||
move a13,a6
|
||||
addi PDATA,a6
|
||||
movk FPALNUM,a7
|
||||
|
||||
move a9,a11
|
||||
move *a11,a1,L
|
||||
jrn fo200
|
||||
addk 32,a11
|
||||
move a8,a2
|
||||
callr FADEPALAE
|
||||
|
||||
fo200 move *a11+,a1,L
|
||||
jrz fo400
|
||||
move a5,a0
|
||||
move a8,a2
|
||||
callr FADEPAL
|
||||
move a5,a0 ;*Palette colors
|
||||
move *a6+,a1 ;Palette #
|
||||
cmpi -256,a1 ;FF00
|
||||
jrz fo230
|
||||
move *a0+,a2 ;#Colors
|
||||
calla PALSET
|
||||
fo230 addi FPALSZ,a5
|
||||
dsj a7,fo200
|
||||
|
||||
fo400 move a10,a0
|
||||
calla PRCSLP
|
||||
move @COUNT,a0
|
||||
cmp a0,a8
|
||||
jrgt fo100
|
||||
|
||||
fo800 DIE
|
||||
|
||||
|
||||
********************************
|
||||
* Fade autoerase color
|
||||
|
||||
SUBRP FADEPALAE ;A2=Brightness (0-128)
|
||||
|
||||
PUSH a3,a4,a5,a6,a7,a8,a9,a10,a11
|
||||
|
||||
movi IRQSKYE,a0
|
||||
movi irqskyeo,a1
|
||||
movk 1,a14
|
||||
jruc fp20
|
||||
|
||||
|
||||
********************************
|
||||
* Fade a palette
|
||||
* Each color in palette will be multiplied by a2 then divided by 128
|
||||
* A0=*Ram for pal, A1=*Palette, A2=Brightness (0-128)
|
||||
|
||||
SUBRP FADEPAL
|
||||
|
||||
PUSH a3,a4,a5,a6,a7,a8,a9,a10,a11
|
||||
|
||||
move *a1+,a14 ;# Colors
|
||||
move a14,*a0+
|
||||
|
||||
fp20 sll 23,a14 ;Remove any flags
|
||||
srl 23,a14 ;9 bits needed for # colors
|
||||
movi >7c00,a4 ;A4=Mask for 5 bits of red
|
||||
movi >03e0,a6 ;A6=Mask for 5 bits of green
|
||||
movk >1f,a8 ;A8=Mask for 5 bits of blue
|
||||
move a4,a9
|
||||
move a6,a10
|
||||
move a8,a11
|
||||
sll 7,a9 ;A9=post mult max for 5 bits of red
|
||||
sll 7,a10 ;A10=post mult max for 5 bits of green
|
||||
sll 7,a11 ;A11=post mult max for 5 bits of blue
|
||||
|
||||
fp100 move *a1+,a3
|
||||
move a3,a5 ;A3=Red
|
||||
move a3,a7 ;A5=Green
|
||||
and a4,a3 ;A7=Blue
|
||||
and a6,a5
|
||||
and a8,a7
|
||||
mpyu a2,a3
|
||||
mpyu a2,a5
|
||||
mpyu a2,a7
|
||||
|
||||
cmp a9,a3
|
||||
jrle redok
|
||||
move a9,a3
|
||||
|
||||
redok cmp a10,a5
|
||||
jrle greenok
|
||||
move a10,a5
|
||||
|
||||
greenok cmp a11,a7
|
||||
jrle blueok
|
||||
move a11,a7
|
||||
|
||||
blueok and a9,a3
|
||||
and a10,a5
|
||||
or a5,a3
|
||||
or a7,a3
|
||||
srl 7,a3
|
||||
move a3,*a0+ ;Save color
|
||||
dsj a14,fp100
|
||||
|
||||
PULL a3,a4,a5,a6,a7,a8,a9,a10,a11
|
||||
rets
|
||||
|
||||
|
||||
|
||||
**************************************************************************
|
||||
* FADEIN - Fade a list of palettes from black to their current colors
|
||||
* A0=*List NOT to fade or 0
|
||||
|
||||
FB_FADEIN
|
||||
mmtm sp,a0,a1,a2,a6,a7,a8,a9,a10
|
||||
movk 8,a10
|
||||
jruc fbf10
|
||||
|
||||
|
||||
**************************************************************************
|
||||
* FADEOUT - Fade a list of palettes down to black
|
||||
* A0=*List NOT to fade or 0
|
||||
|
||||
|
||||
FB_FADEOUT
|
||||
mmtm sp,a0,a1,a2,a6,a7,a8,a9,a10
|
||||
movi -8,a10
|
||||
|
||||
fbf10 move a0,a6
|
||||
;Start proc to fade each palette
|
||||
clr a9 ;palette slot
|
||||
movi PALRAM,A2 ;A2=*Palette table
|
||||
|
||||
fbf20 move *A2(PALCNT),A1 ;Is palette allocated?
|
||||
jrz fbf70
|
||||
|
||||
move *A2(PALID),A8,L ;Ptr to palette
|
||||
move A6,A7 ;A6=*List of palettes to skip
|
||||
jrz fbf60
|
||||
|
||||
fbf50 move *A7+,A1,L
|
||||
jrz fbf60
|
||||
cmp A1,A8
|
||||
jreq fbf70 ;Skip pal?
|
||||
jruc fbf50
|
||||
|
||||
fbf60 CREATE 0,fadeonep
|
||||
|
||||
fbf70 addi PALRSIZ,A2
|
||||
addk 1,a9
|
||||
cmpi NUMPAL,A9
|
||||
jrlt fbf20
|
||||
|
||||
fbfx mmfm sp,a0,a1,a2,a6,a7,a8,a9,a10
|
||||
rets
|
||||
|
||||
|
||||
**************************************************************************
|
||||
* fadeonep - Fade one palette (Process)
|
||||
*
|
||||
* A8=*Palette to be faded
|
||||
* A9=Palette slot #
|
||||
* A10=Add value per fade (!0)
|
||||
|
||||
fadeonep
|
||||
sll 24,a9 ;B8-15 dest pal | B0-7 start color
|
||||
srl 16,a9
|
||||
|
||||
.if YUNIT
|
||||
move a9,a2
|
||||
srl 12,a2
|
||||
sll 14,a2
|
||||
sll 20,a9
|
||||
srl 20,a9
|
||||
add a2,a9
|
||||
.endif
|
||||
|
||||
clr a11 ;For up fade
|
||||
move a10,a10
|
||||
jrgt fop20
|
||||
movi 128,a11 ;For dn fade
|
||||
fop20
|
||||
;Set up faded pal in process data space
|
||||
foplp add a10,a11
|
||||
cmpi 128,a11
|
||||
jrhi fopx
|
||||
move a11,a2 ;A2=Color Multiplier
|
||||
move a13,a0
|
||||
addi PDATA,a0 ;A0=Dest Ram for Pal
|
||||
move a0,a5
|
||||
move a8,a1 ;A1=Src for Pal
|
||||
callr FADEPAL
|
||||
|
||||
move a5,a0 ;>Move faded palette to palram
|
||||
move a9,a1
|
||||
move *a0+,a2 ;Get # colors in palette
|
||||
calla PALSET ;Set transfer
|
||||
|
||||
SLEEP 2
|
||||
jruc foplp
|
||||
|
||||
fopx SLEEP 1 ;give last xfer a chance to go
|
||||
DIE
|
||||
|
||||
|
||||
|
||||
.end
|
||||
|
|
@ -0,0 +1,168 @@
|
|||
.INCLUDE "\VIDEO\sys\gsp.inc"
|
||||
|
||||
.globl TVPATCH,TVPATCHX
|
||||
.globl TVBP,TVBPX
|
||||
.globl SAVESCR
|
||||
|
||||
; .BSS OLDAUTOE,16,1
|
||||
; .BSS OLDDSPON,16,1
|
||||
|
||||
.ref SYNCHALF,AUTOEOFF,DMAQWAIT
|
||||
.ref NOAUTOE,DISPLAYON
|
||||
|
||||
.text
|
||||
.even
|
||||
OLDAUTOE: .word 0
|
||||
OLDDSPON: .word 1
|
||||
OLDINTEN: .word 0
|
||||
SAVESCR: .word 0
|
||||
|
||||
|
||||
TVBP:
|
||||
mmtm SP,A0
|
||||
|
||||
MOVE @INTENB,A0,0 ;DISABLE ROM PROTECT INTERRUPT (ext2)
|
||||
move A0,@OLDINTEN,0
|
||||
ANDNI X2E,A0
|
||||
ORI DIE,A0
|
||||
MOVE A0,@INTENB,0
|
||||
|
||||
MOVE @SAVESCR,A0,0
|
||||
jrz SkSave
|
||||
PUSHST
|
||||
EINT
|
||||
CALLA SYNCHALF
|
||||
MOVE @NOAUTOE,@OLDAUTOE,0
|
||||
MOVK 1,A0
|
||||
MOVE A0,@NOAUTOE,0
|
||||
CALLA AUTOEOFF ;SHUT OFF AUTO-ERASE
|
||||
MOVE @DISPLAYON,@OLDDSPON,0
|
||||
CLR A0
|
||||
MOVE A0,@DISPLAYON,0
|
||||
CALLA DMAQWAIT ;BLOW OUT THE QUEUE'D IMAGES
|
||||
POPST
|
||||
SkSave:
|
||||
|
||||
mmfm SP,A0
|
||||
rets
|
||||
|
||||
TVBPX:
|
||||
mmtm SP,A0
|
||||
|
||||
MOVE @SAVESCR,A0,0
|
||||
jrz SkUnSave
|
||||
MOVE @OLDAUTOE,@NOAUTOE,0
|
||||
MOVE @OLDDSPON,@DISPLAYON,0
|
||||
SkUnSave:
|
||||
|
||||
; MOVE @INTENB,A0,0 ;ENABLE ROM PROTECT INTERRUPT (ext2)
|
||||
move @OLDINTEN,A0,0
|
||||
ORI X2E,A0
|
||||
MOVE A0,@INTENB,0
|
||||
|
||||
MOVE @INTPEND,A0,0 ;Clear any pending X2E
|
||||
ANDNI X2E,A0
|
||||
ANDNI DIE,A0
|
||||
MOVE A0,@INTPEND,0
|
||||
|
||||
mmfm SP,A0
|
||||
rets
|
||||
|
||||
|
||||
TVPATCH:
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
TVPATCHX:
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,58 @@
|
|||
;
|
||||
;
|
||||
;
|
||||
|
||||
CREATE DG1PID,BCDASC ;DRAW NEW TOTAL SCORE
|
||||
|
||||
LR_SIDE:
|
||||
.LONG [01F8H,0FE8EH],[01F8H,0FF54H] ;FOR TOTAL SCORE STRING
|
||||
|
||||
BCDASC
|
||||
;A10=0 OR 1
|
||||
;TAKE PLAYER SCORES, CONVERT TO ASC STRING FOR OUTPUT TO SCREEN
|
||||
MOVI P2DATA,A9
|
||||
CMPI 1,A10
|
||||
JRZ AP1
|
||||
MOVI P1DATA,A9
|
||||
AP1
|
||||
CLR A2 ;RUNNING SCORE IN HEX
|
||||
CLR A3 ;INDEX INTO DEC VALUE FOR ADD
|
||||
MOVK 8,A5
|
||||
MOVE *A9(PSCORE),A0,L
|
||||
CALLA BCDBIN
|
||||
MOVE A0,A8
|
||||
PUSH A10
|
||||
ADDI 40H,A10 ;A10 NOW = 40 OR 41
|
||||
MOVE A10,A0
|
||||
CLR A1
|
||||
NOT A1
|
||||
CALLA KILOBJ ;KILL SCORE DIGITS FOR THIS PLAYER
|
||||
PULL A10 ;A10= 0 OR 1 NOW
|
||||
|
||||
CALLA HEXTOASC ;CREATE STRING FOR BONUS SCORE
|
||||
MOVE @WORLDTL,A9,L ;[Y,X] PACKED WORLD COOR
|
||||
|
||||
MOVE A10,A0
|
||||
SLL 5,A0
|
||||
ADDI LR_SIDE,A0 ;GET LEFT/RIGHT POSITION FOR PLYR 1/2
|
||||
MOVE *A0,A1,L
|
||||
ADD A1,A9
|
||||
MOVI 02525H,A6 ;COLOR CYCLE DIGITS
|
||||
;A8 GOTTEN FROM HEXTOASC
|
||||
|
||||
MOVI RD15FONT,A11 ;FONT TABLE
|
||||
|
||||
MOVK 1,A0 ;ADJUST FOR WORLD
|
||||
MOVE A0,@WRLD
|
||||
ADDI 40H,A10 ;TELL DIGITS TO USE 40 OR 41 OID
|
||||
MOVB A10,@MYID ;FOR PLYR 1 OR 2
|
||||
CLR A0
|
||||
|
||||
MOVI [0,2],A10 ;Y,X SPACING BETWEEN CHARCTERS
|
||||
JSRP STRCNRMO ;PRINT STRING, NO OBJECTS
|
||||
CLR A0
|
||||
MOVB A0,@MYID ;RESET TEXT OID VALUE
|
||||
|
||||
DIE
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,81 @@
|
|||
.FILE 'RAM.ASM'
|
||||
.TITLE "RAM DEFINITIONS"
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* COPYRIGHT (C) 1988 WILLIAMS ELECTRONICS GAMES, INC. *
|
||||
* ALL RIGHTS RESERVED. *
|
||||
* *
|
||||
**************************************************************************
|
||||
|
||||
.OPTION B,D,L,T
|
||||
*
|
||||
*GLOBALS IN THIS FILE
|
||||
*RAM EQUATES
|
||||
.GLOBAL BBACTIVE,BBFREE,BACKSLST,NOAUTOE,RAND,SWSTACK,SWTEMP1
|
||||
.GLOBAL SWTEMP2,SWSTMN,SWSTST,SYSCOPY,INTSYNC0,INTSYNC1
|
||||
.GLOBAL PALRAM,FPALRAM,BPALRAM,PTRRAM,CURPAL,COLRTEMP
|
||||
.GLOBAL COLRTEND,IRQSKYE,P1DATA,P2DATA,PCNT
|
||||
.GLOBAL GAMSTATE,SOUNDSUP,GAMERASE,WAVE
|
||||
.GLOBAL P1CTRL,P2CTRL
|
||||
; EXTERNAL
|
||||
|
||||
.INCLUDE "\VIDEO\SYS\SYS.INC" ;Z UNIT SYSTEM EQUATES
|
||||
.INCLUDE "MPROC.EQU" ;MPROC EQUATES
|
||||
.INCLUDE "GAME.EQU"
|
||||
|
||||
.SECT "NFIXED" ;MISC. LIST FIXED AREA
|
||||
BBACTIVE .LONG 0
|
||||
BBFREE .LONG 0
|
||||
*SUPPLEMENTAL LIST HEADERS (MAKE SURE YOU ZERO THESE IN MYOINIT)
|
||||
BACKSLST .LONG 0
|
||||
.LONG 0
|
||||
.LONG 0
|
||||
.LONG 0
|
||||
.LONG 0
|
||||
.LONG 0
|
||||
.LONG 0
|
||||
.LONG 0
|
||||
.EVEN
|
||||
|
||||
.BSS PCNT,16 ;FRAME COUNTER
|
||||
.BSS NOAUTOE,16 ;TURN AUTO ERASE OFF FOR DEBUG
|
||||
.BSS RAND,32
|
||||
.BSS SWSTACK,32 ;STACKED SWITCHES
|
||||
.BSS SWTEMP1,32
|
||||
.BSS SWTEMP2,32
|
||||
.BSS SWSTMN,256 ;BOTTOM OF STACK
|
||||
.BSS SWSTST,0 ;START SWITCH STACK
|
||||
.BSS SYSCOPY,16 ;RAM COPY OF SYSCTRL LATCH
|
||||
|
||||
.BSS INTSYNC0,16 ;HALF SCREEN INTERRUPT SYNCHRO.\ __ KEEP THESE
|
||||
.BSS INTSYNC1,16 ;FULL SCREEN INTERRUPT SYNCHRO./ TOGETHER.
|
||||
|
||||
.BSS PALRAM,0 ;PALETTE ALLOCATOR RAM
|
||||
.BSS FPALRAM,PALRSIZ*NMFPAL
|
||||
.BSS BPALRAM,PALRSIZ*NMBPAL
|
||||
.BSS PTRRAM,PTRSIZ*NUMPTR
|
||||
.BSS CURPAL,16 ;CURRENT PALETTE FOR STUFOBJ TO USE
|
||||
|
||||
.BSS SKYCOLOR,16 ;CURRENT FULL BRIGHTNESS SKY COLOR VALUE
|
||||
.BSS IRQSKYE,16 ;ACTUAL SKY COLOR (AUTOERASE)
|
||||
|
||||
.BSS P1DATA,PDSIZE ;PLAYER ONE DATA
|
||||
.BSS P2DATA,PDSIZE ;PLAYER TWO DATA
|
||||
|
||||
.BSS GAMSTATE,16 ;GAME STATE VARIABLE : 10 = INGAME
|
||||
; 18 = ININTRO
|
||||
; 20 = INPLAY
|
||||
; 30 = INAMODE
|
||||
; 40 = INDIAG
|
||||
|
||||
.BSS P1CTRL,16 ;PLAYER 1 CONTROL BITS
|
||||
.BSS P2CTRL,16 ;PLAYER 2 CONTROL BITS
|
||||
.BSS WAVE,16 ;WAVE CURRENTLY BEING PLAYED
|
||||
.BSS SOUNDSUP,16 ;IF<>1 THEN NO SOUNDS SHALL BE MADE
|
||||
.BSS GAMERASE,16 ;0 = NO GAME AUTOERASE SCHEME
|
||||
;1 = GAME AUTOERASE, OFF AT SCREEN END.
|
||||
;2 = GAME AUTOERASE, OFF AT MID-SCREEN.
|
||||
|
||||
.END
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,881 @@
|
|||
.FILE 'SCORE.ASM'
|
||||
.TITLE 'SCORE STUFF'
|
||||
.WIDTH 132
|
||||
.OPTION B,D,L,T
|
||||
.MNOLIST
|
||||
|
||||
;
|
||||
; INITIATED: JULY 17,1990
|
||||
; MODIFIED: !
|
||||
; SOFTWARE: MARK TURMELL
|
||||
;
|
||||
; COPYRIGHT (C) 1989 WILLIAMS ELECTRONICS GAMES, INC.
|
||||
;
|
||||
;
|
||||
; GET THE SYSTEM STUFF
|
||||
|
||||
.INCLUDE "MPROC.EQU" ;MPROC EQUATES
|
||||
.INCLUDE "DISP.EQU" ;DISPLAY PROCESSOR EQUATES
|
||||
.INCLUDE "\VIDEO\SYS\SYS.INC" ;ZUNIT SYSTEM EQUATES
|
||||
.INCLUDE "\VIDEO\SYS\MACROS.HDR" ;MACROS, YEAH!
|
||||
.INCLUDE "IMGTBL.GLO"
|
||||
.INCLUDE "GAME.EQU"
|
||||
.INCLUDE "LINK.EQU"
|
||||
;
|
||||
;SOUNDS
|
||||
;
|
||||
.REF FREEMAN,CNTDOWN,CNTDWN2
|
||||
;
|
||||
;SYMBOLS EXTERNALLY DEFINED
|
||||
;
|
||||
.REF P1DATA,P2DATA,DMAQCUR,STATUS,QDMAFLG,DMAQ,CCCC,GET_CREDITS
|
||||
.REF AUD1,GETFPAL
|
||||
.REF AUTOEOFF,DMAWAIT,GAMERASE,CYCSPECT
|
||||
.REF FON150,FON151,FON152,FON153,FON154,FON155,FON156,FON157
|
||||
.REF FON158,FON159
|
||||
|
||||
;
|
||||
;SYMBOLS DEFINED IN THIS FILE
|
||||
;
|
||||
.DEF DRAW_SCORE,SCORE_FLAG,INIT_SCORE,BCDADD,SCORETYP,DMA_SCORE
|
||||
.DEF SCRADD2,CNTDIG1,CNTDIG2,MSG_PROC2,STUFF_LVADDR,ONARRW,ARWOFF
|
||||
.DEF DO_EXTRA
|
||||
;
|
||||
;UNINITIALIZED RAM DEFINITIONS
|
||||
;
|
||||
.BSS SCORETYP,16
|
||||
.BSS SCORE_FLAG,16
|
||||
.BSS CNTDIG1,16
|
||||
.BSS CNTDIG2,16
|
||||
.BSS ARWOFF,16 ;CNT DWN TO KILL ARROW OFF
|
||||
;
|
||||
;EQUATES FIRST ORIGINATED IN THIS FILE
|
||||
;
|
||||
SCRSPC .EQU 8 ;SPACER FOR DIGITS (INCLUDING DIGIT)
|
||||
BPDMA1 .EQU 01
|
||||
BPDMA2 .EQU 02
|
||||
|
||||
MSGSLP .EQU 0CH ;TIME FOR SCORE
|
||||
MSGSLP2 .EQU 20H ;TIME FOR TEXT ON SCORE BOARD
|
||||
**************************************************************************
|
||||
|
||||
.TEXT
|
||||
DO_EXTRA:
|
||||
;EXTRA MAN
|
||||
;A2 = P1DATA OR P2DATA
|
||||
MMTM SP,A11
|
||||
MOVE A2,A11
|
||||
MOVE *A2(TEARNED),A4 ;BUMP STATISTIC OF MEN EARNED
|
||||
INC A4
|
||||
MOVE A4,*A2(TEARNED)
|
||||
MOVE *A2(PLIVES),A4
|
||||
INC A4
|
||||
MOVE A4,*A2(PLIVES)
|
||||
CALLR STUFF_LVADDR
|
||||
MOVI FREEMAN,A0 ;SPEECH CALL
|
||||
CALLA ONESND
|
||||
MOVI AUDEXTRA,A0
|
||||
CALLA AUD1
|
||||
MMFM SP,A11
|
||||
RETS
|
||||
|
||||
LVS_TBL .LONG LV0,LV1,LV2,LV3,LV4,LV5,LV6,LV7,LV8,LV9
|
||||
.LONG LV9,LV9,LV9,LV9,LV9
|
||||
.LONG LV9,LV9,LV9,LV9,LV9
|
||||
.LONG LV9,LV9,LV9,LV9,LV9
|
||||
.LONG LV9,LV9,LV9,LV9,LV9
|
||||
.LONG LV9,LV9,LV9,LV9,LV9
|
||||
.LONG LV9,LV9,LV9,LV9,LV9
|
||||
.LONG LV9,LV9,LV9,LV9,LV9
|
||||
|
||||
MSG_PROC2:
|
||||
;BOTH PLAYERS ARE PLAYING!
|
||||
;CHANGE MESSAGE ON HIS SCOREBOARD/PLUS STILL SHOW PLAYER SCORE!
|
||||
;COLOR CYCLE IT
|
||||
SLEEP 90
|
||||
CREATE 0,CNTDWN
|
||||
JRUC DO_TXT
|
||||
;
|
||||
; MSG_PROC - ALTERNATE BETWEEN PRESS START OR INSERT COIN AND OLD SCORE
|
||||
; A11 = PTR TO PLAYER DATA STRUCTURE
|
||||
;
|
||||
MSG_PROC:
|
||||
PRESSLP:
|
||||
CMPI P2DATA,A11
|
||||
JRZ PMSG2
|
||||
;PLAYER 1 MESSAGE
|
||||
;PUT P1 SCORE AND LIVES ON SCRN
|
||||
MOVE @SCORETYP,A0,W ;TURN ON PLAYER 1 SCORE
|
||||
ORI 1,A0
|
||||
MOVE A0,@SCORETYP,W
|
||||
JRUC DOSCRE1
|
||||
PMSG2:
|
||||
;PUT P1 STUFF UP
|
||||
MOVE @SCORETYP,A0,W ;TURN ON PLAYER 2 SCORE
|
||||
ORI 2,A0
|
||||
MOVE A0,@SCORETYP,W
|
||||
DOSCRE1:
|
||||
|
||||
;LEAVE SCORE UP FOR THIS LONG
|
||||
MOVI MSGSLP,A9
|
||||
WLUP1:
|
||||
SLEEP 4
|
||||
DSJS A9,WLUP1
|
||||
|
||||
DO_TXT:
|
||||
MOVI MSGSLP2,A9
|
||||
CMPI P2DATA,A11
|
||||
JRZ P2OFF
|
||||
;P1
|
||||
MOVE @SCORETYP,A0,W ;TURN OFF PLAYER 1 SCORE
|
||||
ANDI 0FFFEH,A0
|
||||
MOVE A0,@SCORETYP,W
|
||||
JRUC WLUP2
|
||||
P2OFF
|
||||
;P2
|
||||
MOVE @SCORETYP,A0,W ;TURN OFF PLAYER 1 SCORE
|
||||
ANDI 0FFFDH,A0
|
||||
MOVE A0,@SCORETYP,W
|
||||
|
||||
;LEAVE TEXT MESSAGE UP FOR THIS LONG
|
||||
WLUP2:
|
||||
CALLA CCCC ;MAKE SURE THINGS ARE INTACT
|
||||
CALLA GET_CREDITS ;GET CURRENT CREDITS
|
||||
JRNZ YES ;YES CREDITS EXIST
|
||||
;NO CREDITS, STUFF INSERT COIN MESSAGE INTO P1/P2DATA AREAS
|
||||
MOVI INSERT,A0
|
||||
MOVE A0,@P1DATA+MESSAGE,L
|
||||
MOVE A0,@P2DATA+MESSAGE,L
|
||||
JRUC OUT
|
||||
YES
|
||||
MOVI PRESS,A0
|
||||
MOVE A0,@P1DATA+MESSAGE,L
|
||||
MOVE A0,@P2DATA+MESSAGE,L
|
||||
OUT
|
||||
SLEEP 4
|
||||
DSJ A9,WLUP2
|
||||
JRUC MSG_PROC
|
||||
|
||||
INIT_SCORE:
|
||||
;TURN ON SCORE IMAGES
|
||||
MOVI P1DATA,A11
|
||||
MOVI [1AH,36H],A3 ;[1FH,38H],A3
|
||||
MOVE A3,*A11(PSCRAD),L ;Y,X LOCATION OF SCORE 1
|
||||
CALLR STUFF_LVADDR
|
||||
MOVI P2DATA,A11
|
||||
MOVI [1AH,14EH],A3 ;[1FH,150H],A3
|
||||
MOVE A3,*A11(PSCRAD),L ;Y,X LOCATION OF SCORE 2
|
||||
CALLR STUFF_LVADDR
|
||||
CALLA FSCORE
|
||||
MOVI PHD1,A2
|
||||
MOVI 0120000H,A0
|
||||
MOVI 0A0000H,A1
|
||||
CALLR ONIT
|
||||
;DRAW PLYR TWO SCORE PLATE
|
||||
MOVI PHD2,A2
|
||||
MOVI 012A0000H,A0
|
||||
MOVI 0A0000H,A1
|
||||
CALLR ONIT
|
||||
;PLYR 1 LIVES
|
||||
MOVE @P1DATA+PLIVES,A0
|
||||
SLL 5,A0
|
||||
ADDI LVS_TBL,A0
|
||||
MOVE *A0,A2,L
|
||||
MOVI 0360000H,A0
|
||||
MOVI 0260000H,A1
|
||||
CALLR ONIT
|
||||
;PLYR 2 LIVES
|
||||
MOVE @P2DATA+PLIVES,A0
|
||||
SLL 5,A0
|
||||
ADDI LVS_TBL,A0
|
||||
MOVE *A0,A2,L
|
||||
MOVI 14E0000H,A0
|
||||
MOVI 0260000H,A1
|
||||
CALLR ONIT
|
||||
;PLYR 1 BOMBS
|
||||
MOVE @P1DATA+BMB_CNT,A0
|
||||
SLL 5,A0
|
||||
ADDI BLST,A0
|
||||
MOVE *A0,A2,L
|
||||
MOVI 03F0000H,A0
|
||||
MOVI 00E0000H,A1
|
||||
CALLR ONIT
|
||||
;PLYR 2 BOMBS
|
||||
MOVE @P2DATA+BMB_CNT,A0
|
||||
SLL 5,A0
|
||||
ADDI BLST,A0
|
||||
MOVE *A0,A2,L
|
||||
MOVI 1570000H,A0
|
||||
MOVI 00E0000H,A1
|
||||
CALLR ONIT
|
||||
;
|
||||
;PLYR 1 THSTGS
|
||||
MOVE @P1DATA+THSTGS,A6
|
||||
SLL 4,A6
|
||||
ADDI DECLST,A6
|
||||
MOVE *A6,A2
|
||||
MOVK 0FH,A1
|
||||
AND A1,A2
|
||||
SLL 7,A2
|
||||
ADDI RRD0,A2
|
||||
MOVI 5A0000H,A0
|
||||
MOVI 260000H,A1
|
||||
PUSH A6
|
||||
CALLR EONIT
|
||||
PULL A6
|
||||
|
||||
MOVE *A6,A2
|
||||
MOVI 0F0H,A1
|
||||
AND A1,A2
|
||||
SLL 3,A2
|
||||
ADDI RRD0,A2
|
||||
MOVI 520000H,A0
|
||||
MOVI 260000H,A1
|
||||
PUSH A6
|
||||
CALLR EONIT
|
||||
PULL A6
|
||||
|
||||
MOVE *A6,A2
|
||||
SRL 8,A2
|
||||
JRZ SKP0
|
||||
SLL 7,A2
|
||||
ADDI RRD0,A2
|
||||
MOVI 4A0000H,A0
|
||||
MOVI 260000H,A1
|
||||
CALLR EONIT
|
||||
SKP0
|
||||
;PLYR 2 THSTGS
|
||||
MOVE @P2DATA+THSTGS,A6
|
||||
SLL 4,A6
|
||||
ADDI DECLST,A6
|
||||
MOVE *A6,A2
|
||||
MOVK 0FH,A1
|
||||
AND A1,A2
|
||||
SLL 7,A2
|
||||
ADDI RRD0,A2
|
||||
MOVI 1720000H,A0
|
||||
MOVI 260000H,A1
|
||||
PUSH A6
|
||||
CALLR EONIT
|
||||
PULL A6
|
||||
|
||||
MOVE *A6,A2
|
||||
MOVI 0F0H,A1
|
||||
AND A1,A2
|
||||
SLL 3,A2
|
||||
ADDI RRD0,A2
|
||||
MOVI 16A0000H,A0
|
||||
MOVI 260000H,A1
|
||||
PUSH A6
|
||||
CALLR EONIT
|
||||
PULL A6
|
||||
|
||||
MOVE *A6,A2
|
||||
SRL 8,A2
|
||||
JRZ SKP1
|
||||
SLL 7,A2
|
||||
ADDI RRD0,A2
|
||||
MOVI 1620000H,A0
|
||||
MOVI 260000H,A1
|
||||
CALLR EONIT
|
||||
SKP1 RETS
|
||||
|
||||
STUFF_LVADDR
|
||||
;STUFF ADDR OF LIVES LEFT IMAGE TO BE BLOWN OUT
|
||||
;A11=P1/P2DATA
|
||||
MOVE *A11(PLIVES),A4
|
||||
CMPI 10,A4 ;NEVER 10 TO BE DISPLAYED!
|
||||
JRGE EX1
|
||||
SLL 5,A4
|
||||
ADDI LVS_TBL,A4
|
||||
MOVE *A4,A4,L
|
||||
MOVE A4,*A11(LVADDR),L ;ADDRESS OF LIVES
|
||||
EX1 RETS
|
||||
|
||||
ONIT:
|
||||
MOVI 0120H,A3 ;241,A3 ;Z POS.
|
||||
MOVI DMAWNZ|M_NOCOLL,A4 ;FLAGS
|
||||
MOVI CLSNEUT|TYPTEXT|SUBSCOR,A5 ;OBJ. ID
|
||||
CLR A6 ;X VEL
|
||||
CLR A7 ;Y VEL
|
||||
CALLA BEGINOBJ ;CREATE OBJECT, WORLD ADJUSTED
|
||||
RETS
|
||||
EONIT:
|
||||
MOVI 0120H,A3 ;241,A3 ;Z POS.
|
||||
MOVI DMACNZ|M_NOCOLL,A4 ;FLAGS
|
||||
MOVI CLSNEUT|TYPTEXT|SUBSCOR,A5 ;OBJ. ID
|
||||
CLR A6 ;X VEL
|
||||
CLR A7 ;Y VEL
|
||||
CALLA BEGINOBJ ;CREATE OBJECT, WORLD ADJUSTED
|
||||
MOVI 3B3BH,A1
|
||||
MOVE A1,*A8(OCONST),W
|
||||
RETS
|
||||
DMA_SCORE:
|
||||
;START SCORE DIRECT DMA
|
||||
|
||||
MOVE @STATUS,A0
|
||||
SRL 1,A0
|
||||
JRC NOMSG1
|
||||
MOVI P1PID,A0
|
||||
CLR A1
|
||||
NOT A1
|
||||
CALLA KILALL
|
||||
MOVI P1DATA,A11
|
||||
CREATE P1PID,MSG_PROC
|
||||
NOMSG1:
|
||||
MOVE @STATUS,A0
|
||||
SRL 2,A0
|
||||
JRC NOMSG2
|
||||
MOVI P2PID,A0
|
||||
CLR A1
|
||||
NOT A1
|
||||
CALLA KILALL
|
||||
MOVI P2DATA,A11
|
||||
CREATE P2PID,MSG_PROC ;ALWAYS DISPLAY START STUFF IN ATTRACT
|
||||
NOMSG2:
|
||||
MOVK 1,A0
|
||||
MOVE A0,@SCORE_FLAG ;1=SHOW DMA SCORE AREA ON SCREEN
|
||||
CREATE 0,KILL_IMAGES
|
||||
RETS
|
||||
|
||||
KILL_IMAGES
|
||||
SLEEP 3
|
||||
;KILL SCOREBOARD IMAGES
|
||||
MOVI CLSNEUT|TYPTEXT|SUBSCOR,A0
|
||||
CLR A1
|
||||
NOT A1
|
||||
CALLA KILOBJ
|
||||
DIE
|
||||
|
||||
ONARRW:
|
||||
;TURN ON AN ARROW AND BLINK IT FOREVER UNTIL SOMEBODY ELSE KILLS IT
|
||||
;A9=0 FOR UP ARROW, 1=RGT ARROW, 2=LFT ARROW
|
||||
SLEEP 50
|
||||
CLR A0
|
||||
MOVE A0,@ARWOFF ;STUFF 1 INTO FLAG TO KILL OFF
|
||||
MOVI STUFFP,A0
|
||||
CALLA GETFPAL
|
||||
MOVE A0,A8
|
||||
SLL 5,A9
|
||||
ADDI ARWLST,A9
|
||||
;TURN ON PROPER ARROW
|
||||
AON0 MOVI 01AH,A10
|
||||
AON1 MOVE A8,A1
|
||||
MOVE *A9,A14,L
|
||||
MOVI 0600148H,A3
|
||||
MOVE A13,-*SP,L
|
||||
; CMPI ARWLST+64,A9
|
||||
; JRNZ ANO2
|
||||
; CALLR ABLOWP2
|
||||
; JRUC ANO3
|
||||
;ANO2
|
||||
CALLR ABLOWP
|
||||
;ANO3
|
||||
MOVE *SP+,A13,L
|
||||
SLEEP 1
|
||||
DSJS A10,AON1
|
||||
SLEEP 0FH
|
||||
MOVE @ARWOFF,A0
|
||||
JRZ AON0
|
||||
DEC A0
|
||||
MOVE A0,@ARWOFF
|
||||
CMPI 1,A0
|
||||
JRNZ AON0
|
||||
DIE
|
||||
|
||||
ARWLST .LONG UPARRW,RGTARRW,LFTARRW
|
||||
|
||||
;
|
||||
;DRAW_SCORE-UPDATE PLAYER 1 & 2 SCORE AREA
|
||||
;
|
||||
DRAW_SCORE:
|
||||
;
|
||||
;DRAW BOTH FACE PLATES
|
||||
;
|
||||
;DRAW PLYR ONE SCORE PLATE
|
||||
MOVI PHD1,A14
|
||||
MOVE @CNTDIG1,A6
|
||||
JRZ NO_CNT
|
||||
MOVI PHD2A,A14
|
||||
MOVI 0A0012H,A3
|
||||
CALLR BLOWOUT
|
||||
;NOW BLOW OUT CNTDIG1 FOR THIS PLAYER
|
||||
SLL 5,A6
|
||||
ADDI NUMBS,A6
|
||||
MOVE *A6,A14,L ;GET IMAGE
|
||||
MOVI 017001FH,A3
|
||||
MOVI 3F3F0000H,A1 ;COLOR/PAL FOR CONSTANT COLOR
|
||||
MOVI DMACNZ,A5
|
||||
CALLR BLOWOUT2
|
||||
JRUC DO_2
|
||||
NO_CNT MOVI 0A0012H,A3
|
||||
CALLR BLOWOUT
|
||||
;DRAW PLYR TWO SCORE PLATE
|
||||
DO_2 MOVI PHD2,A14
|
||||
MOVE @CNTDIG2,A6
|
||||
JRZ NO_CNT1
|
||||
MOVI PHD2A,A14
|
||||
MOVI 0A012AH,A3
|
||||
CALLR BLOWOUT
|
||||
SLL 5,A6
|
||||
ADDI NUMBS,A6
|
||||
MOVE *A6,A14,L ;GET IMAGE
|
||||
MOVI 0170137H,A3
|
||||
MOVI 3F3F0000H,A1 ;COLOR/PAL FOR CONSTANT COLOR
|
||||
MOVI DMACNZ,A5
|
||||
CALLR BLOWOUT2
|
||||
JRUC DO_3
|
||||
NO_CNT1 MOVI 0A012AH,A3
|
||||
CALLR BLOWOUT
|
||||
DO_3
|
||||
MOVE @SCORETYP,A0
|
||||
BTST 0,A0
|
||||
JRNZ DO_P1
|
||||
;DISPLAY CORRECT COIN IN MESSAGE (PRESS OR INSERT) FOR P1
|
||||
MOVE @P1DATA+MESSAGE,A14,L
|
||||
MOVI 16003BH,A3
|
||||
CALLR BLOWOUT
|
||||
JRUC NEXT
|
||||
DO_P1
|
||||
;PLAYER 1 IS IN GAME
|
||||
;DRAW PLYR 1 LIVES
|
||||
MOVE @P1DATA+LVADDR,A14,L
|
||||
MOVI 260036H,A3 ;140038H,A3
|
||||
CALLR BLOWOUT
|
||||
MOVE @P1DATA+BMB_CNT,A14
|
||||
SLL 5,A14
|
||||
ADDI BLST,A14
|
||||
MOVE *A14,A14,L
|
||||
MOVI 0E003FH,A3 ;130048H,A3
|
||||
CALLR BLOWOUT
|
||||
;NOW BLOW OUT # OF HOSTAGES COLLECTED FOR PLAYER 1
|
||||
MOVE @P1DATA+THSTGS,A6
|
||||
SLL 4,A6
|
||||
ADDI DECLST,A6
|
||||
MOVE *A6,A14
|
||||
MOVK 0FH,A1
|
||||
AND A1,A14
|
||||
SLL 7,A14
|
||||
ADDI RRD0,A14
|
||||
MOVI 26005AH,A3
|
||||
MOVI 3B3B0000H,A1
|
||||
MOVI DMACNZ,A5
|
||||
CALLR BLOWOUT2
|
||||
|
||||
MOVE *A6,A14
|
||||
MOVI 0F0H,A1
|
||||
AND A1,A14
|
||||
SLL 3,A14
|
||||
ADDI RRD0,A14
|
||||
MOVI 260052H,A3
|
||||
MOVI 3B3B0000H,A1
|
||||
MOVI DMACNZ,A5
|
||||
CALLR BLOWOUT2
|
||||
|
||||
MOVE *A6,A14
|
||||
SRL 8,A14
|
||||
JRZ NEXT
|
||||
SLL 7,A14
|
||||
ADDI RRD0,A14
|
||||
MOVI 26004AH,A3
|
||||
MOVI 3B3B0000H,A1
|
||||
MOVI DMACNZ,A5
|
||||
CALLR BLOWOUT2
|
||||
|
||||
NEXT
|
||||
BTST 1,A0
|
||||
JRNZ DO_P2
|
||||
;DISPLAY CORRECT COIN IN MESSAGE (PRESS OR INSERT) FOR P2
|
||||
MOVE @P2DATA+MESSAGE,A14,L
|
||||
MOVI 160153H,A3
|
||||
CALLR BLOWOUT
|
||||
JRUC NEXT1
|
||||
DO_P2
|
||||
;PLAYER 2 IS IN GAME
|
||||
;DRAW PLYR 2 LIVES
|
||||
MOVE @P2DATA+LVADDR,A14,L
|
||||
MOVI 26014EH,A3 ;140150H,A3
|
||||
CALLR BLOWOUT
|
||||
MOVE @P2DATA+BMB_CNT,A14
|
||||
SLL 5,A14
|
||||
ADDI BLST,A14
|
||||
MOVE *A14,A14,L
|
||||
MOVI 0E0157H,A3 ;130160H,A3
|
||||
CALLR BLOWOUT
|
||||
|
||||
;NOW BLOW OUT # OF HOSTAGES COLLECTED FOR PLAYER 2
|
||||
MOVE @P2DATA+THSTGS,A6
|
||||
SLL 4,A6
|
||||
ADDI DECLST,A6
|
||||
MOVE *A6,A14
|
||||
MOVK 0FH,A1
|
||||
AND A1,A14
|
||||
SLL 7,A14
|
||||
ADDI RRD0,A14
|
||||
MOVI 260172H,A3
|
||||
MOVI 3B3B0000H,A1
|
||||
MOVI DMACNZ,A5
|
||||
CALLR BLOWOUT2
|
||||
|
||||
MOVE *A6,A14
|
||||
MOVI 0F0H,A1
|
||||
AND A1,A14
|
||||
SLL 3,A14
|
||||
ADDI RRD0,A14
|
||||
MOVI 26016AH,A3
|
||||
MOVI 3B3B0000H,A1
|
||||
MOVI DMACNZ,A5
|
||||
CALLR BLOWOUT2
|
||||
|
||||
MOVE *A6,A14
|
||||
SRL 8,A14
|
||||
JRZ NEXT1
|
||||
SLL 7,A14
|
||||
ADDI RRD0,A14
|
||||
MOVI 260162H,A3
|
||||
MOVI 3B3B0000H,A1
|
||||
MOVI DMACNZ,A5
|
||||
CALLR BLOWOUT2
|
||||
NEXT1
|
||||
CLR A1
|
||||
MOVI DMAWNZ,A5 ;ENTER WITH PAL SET ALREADY
|
||||
;NOW DO SCORE DIGITS FOR PLAYER 1
|
||||
MOVI RRD0,A12
|
||||
MOVI SCRSPC,A8 ;SPACING BETWEEN DIGITS
|
||||
MOVI P1DATA,A9
|
||||
CMPI 1,A0
|
||||
JRZ OUTSCR
|
||||
CMPI 2,A0
|
||||
JRZ UPDSLP2
|
||||
CMPI 3,A0
|
||||
JRNZ OUTSCRX
|
||||
;BOTH PLAYERS
|
||||
CALLR OUTSCR
|
||||
UPDSLP2:
|
||||
MOVI P2DATA,A9 ;BASE TABLE PLAYER 2
|
||||
;
|
||||
;OUTPUT SCORE TO SCREEN
|
||||
;A0=CURRENT PLAYER SCORE
|
||||
;A9=PLINDX=PLAYER DATA AREA
|
||||
;
|
||||
OUTSCR:
|
||||
MOVK 6,A6 ;5 ;DIGIT COUNT
|
||||
MOVE *A9(PSCRAD),A3,L ;PLAYER SCORE ADDRESS
|
||||
MOVE *A9(PSCORE),A0,L ;PLAYER SCORE IN BCD FORM
|
||||
SLL 8,A0 ;12
|
||||
OUTSCL:
|
||||
MOVE A0,A14
|
||||
SRL 28,A14 ;NEXT DIGIT VALUE INTO LOWEST 4 BITS
|
||||
SLL 7,A14 ;*128 (NEXT HEADER PLEASE!!)
|
||||
ADD A12,A14 ;BASE ADDRESS OF IMAGE HEADER
|
||||
*A1: CONSTANT COLOR:PALETTE
|
||||
*A3: DESTINATION Y:X
|
||||
*A5: OFFSET:CONTROL
|
||||
*A14: ADDRESS OF IMAGE HEADER
|
||||
*GETS: A2=H/W; A4=SAG
|
||||
MOVE *A14,A2,L ;GET VSIZE:HSIZE
|
||||
MOVE *A14(ISAG),A4,L ;GET SAG
|
||||
MOVE @QDMAFLG,A13,W ;IS Q BEING MODIFIED?
|
||||
JRNZ OUTSCRX
|
||||
MOVK 1,A13
|
||||
MOVE A13,@QDMAFLG,W ;Q BEING MODIFIED
|
||||
MOVE @DMAQCUR,A13,L
|
||||
CMPI DMAQ,A13
|
||||
JRLS OUTSCRX ;Q OVERLOAD, CAN IT
|
||||
MMTM A13,A1,A2,A3,A4,A5
|
||||
MOVE A13,@DMAQCUR,L
|
||||
CLR A13
|
||||
MOVE A13,@QDMAFLG,W
|
||||
|
||||
ADDXY A8,A3 ;ADD SPACE AFTER DIGIT
|
||||
SLL 4,A0 ;NEXT DIGIT PLEASE!
|
||||
DSJ A6,OUTSCL
|
||||
OUTSCRX:
|
||||
RETS
|
||||
DECLST .WORD >00,>01,>02,>03,>04,>05,>06,>07,>08,>09
|
||||
.WORD >10,>11,>12,>13,>14,>15,>16,>17,>18,>19
|
||||
.WORD >20,>21,>22,>23,>24,>25,>26,>27,>28,>29
|
||||
.WORD >30,>31,>32,>33,>34,>35,>36,>37,>38,>39
|
||||
.WORD >40,>41,>42,>43,>44,>45,>46,>47,>48,>49
|
||||
.WORD >50,>51,>52,>53,>54,>55,>56,>57,>58,>59
|
||||
.WORD >60,>61,>62,>63,>64,>65,>66,>67,>68,>69
|
||||
.WORD >70,>71,>72,>73,>74,>75,>76,>77,>78,>79
|
||||
.WORD >80,>81,>82,>83,>84,>85,>86,>87,>88,>89
|
||||
.WORD >90,>91,>92,>93,>94,>95,>96,>97,>98,>99
|
||||
.WORD >100,>101,>102,>103,>104,>105,>106,>107,>108,>109
|
||||
.WORD >110,>111,>112,>113,>114,>115,>116,>117,>118,>119
|
||||
.WORD >120,>121,>122,>123,>124,>125,>126,>127,>128,>129
|
||||
.WORD >130,>131,>132,>133,>134,>135,>136,>137,>138,>139
|
||||
.WORD >140,>141,>142,>143,>144,>145,>146,>147,>148,>149
|
||||
.WORD >150,>151,>152,>153,>154,>155,>156,>157,>158,>159
|
||||
.WORD >160,>161,>162,>163,>164,>165,>166,>167,>168,>169
|
||||
.WORD >170,>171,>172,>173,>174,>175,>176,>177,>178,>179
|
||||
.WORD >180,>181,>182,>183,>184,>185,>186,>187,>188,>189
|
||||
.WORD >190,>191,>192,>193,>194,>195,>196,>197,>198,>199
|
||||
.WORD >200,>201,>202,>203,>204,>205,>206,>207,>208,>209
|
||||
.WORD >210,>211,>212,>213,>214,>215,>216,>217,>218,>219
|
||||
.WORD >220,>221,>222,>223,>224,>225,>226,>227,>228,>229
|
||||
.WORD >230,>231,>232,>233,>234,>235,>236,>237,>238,>239
|
||||
.WORD >240,>241,>242,>243,>244,>245,>246,>247,>248,>249
|
||||
.WORD >250,>251,>252,>253,>254,>255,>256,>257,>258,>259
|
||||
.WORD >260,>261,>262,>263,>264,>265,>266,>267,>268,>269
|
||||
.WORD >270,>271,>272,>273,>274,>275,>276,>277,>278,>279
|
||||
.WORD >280,>281,>282,>283,>284,>285,>286,>287,>288,>289
|
||||
.WORD >290,>291,>292,>293,>294,>295,>296,>297,>298,>299
|
||||
|
||||
BLST .LONG BMB0,BMB1,BMB2,BMB3,BMB4,BMB5,BMB6,BMB7
|
||||
.LONG BMB8,BMB9,BMB9,BMB9,BMB9,BMB9,BMB9
|
||||
.LONG BMB9,BMB9,BMB9,BMB9,BMB9,BMB9,BMB9
|
||||
.LONG BMB9,BMB9
|
||||
ABLOWP2 MOVI DMAWNZ|M_FLIPH,A5 ;ENTER WITH PAL SET ALREADY
|
||||
JRUC BLOWOUT2
|
||||
BLOWOUT:
|
||||
CLR A1
|
||||
ABLOWP MOVI DMAWNZ,A5 ;ENTER WITH PAL SET ALREADY
|
||||
BLOWOUT2:
|
||||
*A1: CONSTANT COLOR:PALETTE
|
||||
*A3: DESTINATION Y:X
|
||||
*A5: OFFSET:CONTROL
|
||||
*A14: ADDRESS OF IMAGE HEADER
|
||||
*GETS: A2=H/W; A4=SAG
|
||||
MOVE *A14,A2,L ;GET VSIZE:HSIZE
|
||||
MOVE *A14(ISAG),A4,L ;GET SAG
|
||||
MOVE @QDMAFLG,A13,W ;IS Q BEING MODIFIED?
|
||||
JRNZ BLOWX
|
||||
MOVK 1,A13
|
||||
MOVE A13,@QDMAFLG,W ;Q BEING MODIFIED
|
||||
MOVE @DMAQCUR,A13,L
|
||||
CMPI DMAQ,A13
|
||||
JRLS BLOWX ;Q OVERLOAD, CAN IT
|
||||
MMTM A13,A1,A2,A3,A4,A5
|
||||
MOVE A13,@DMAQCUR,L
|
||||
CLR A13
|
||||
MOVE A13,@QDMAFLG
|
||||
BLOWX RETS
|
||||
|
||||
;
|
||||
;SCRADD2-ADD BCD (8 DIGIT) AMOUNT TO PLAYERS SCORE
|
||||
;A1=AMOUNT TO ADD (8 DIGIT BCD)
|
||||
;A2=P1 OR P2DATA
|
||||
;
|
||||
SCRADD2:
|
||||
MMTM SP,A4
|
||||
; MOVE @GAMSTATE,A0
|
||||
; CMPI INAMODE,A0
|
||||
; JREQ RT
|
||||
|
||||
; CMPI P1DATA,A2
|
||||
; JRNZ FUCK
|
||||
; LOCKUP
|
||||
;FUCK
|
||||
MOVE *A2(PSCORE),A0,L ;GET SCORE
|
||||
CALLR BCDADD ;ADD IN NEW VALUE
|
||||
MOVE @STATUS,A4
|
||||
;CHECK TO SEE IF WE WANT TO DOUBLE SCORES FOR TWO PLAYER GAME
|
||||
SUBK 3,A4 ;CMPI 3,A4
|
||||
JRNZ ONEPLYR
|
||||
CALLR BCDADD ;ADD IN NEW VALUE
|
||||
;TWO PLAYER GAME
|
||||
ONEPLYR
|
||||
MOVE A0,*A2(PSCORE),L ;STUFF IT
|
||||
|
||||
;FREE MAN BASED ON SCORE
|
||||
; MOVE *A2(PNEXTREP),A1,L ;GET NEXT FREE MAN SCORE POINT
|
||||
; CMP A1,A0
|
||||
; JRLO RT
|
||||
;;GIVE PLAYER EXTRA LIFE
|
||||
; MOVE A1,A0
|
||||
; MOVI >100000,A1 ;ADDITIONAL MEN
|
||||
; CALLR BCDADD
|
||||
; MOVE A0,*A2(PNEXTREP),L
|
||||
; CALLR DO_EXTRA
|
||||
;RT
|
||||
|
||||
|
||||
MMFM SP,A4
|
||||
RETS
|
||||
|
||||
;BCD ADD ROUTINE
|
||||
;A0=SCORE (8 DIGIT BCD) 32 BITS
|
||||
;A1=NUMBER TO ADD TO A0 (8 DIGIT BCD)
|
||||
;PACKED BCD FORMAT 4-BITS/ DIGIT
|
||||
;
|
||||
BCDADD:
|
||||
|
||||
;NEED ALL THESE MMTM'S?
|
||||
MMTM SP,A1,A3,A4,A5,A6
|
||||
MOVK 8,A5 ;DO 8 DIGITS
|
||||
CLRC ;CLEAR THE CARRY
|
||||
MOVK >0A,A6
|
||||
BCDLP:
|
||||
MOVK >0F,A3
|
||||
MOVK >0F,A4
|
||||
AND A1,A3 ;MASK GARBAGE
|
||||
AND A0,A4 ;TRANSFER
|
||||
ADDC A3,A4
|
||||
CMP A6,A4 ;NEED TO ADJUST? (PAST 9 DEC.)
|
||||
JRLO BCDAD1 ;NO. THEN ADD
|
||||
ADDK 6,A4 ;RETURN NUMBER TO 0
|
||||
SRL 4,A0 ;
|
||||
SLL 28,A4
|
||||
ADD A4,A0
|
||||
SRL 4,A1
|
||||
SETC ;SET CARRY
|
||||
DSJS A5,BCDLP ;DO ALL 8 DIGITS
|
||||
JRUC BCDADX ;UNSTACK REGISTERS
|
||||
BCDAD1:
|
||||
SRL 4,A0
|
||||
SLL 28,A4
|
||||
ADD A4,A0
|
||||
SRL 4,A1
|
||||
CLRC
|
||||
DSJS A5,BCDLP
|
||||
BCDADX:
|
||||
MMFM SP,A1,A3,A4,A5,A6
|
||||
RETS
|
||||
|
||||
CNTDWN:
|
||||
;TAKE FACE AWAY, AND DISPLAY LARGE FONT DIGIT WITH COLOR CYCLE
|
||||
;DISPLAY A COUNTDOWN
|
||||
;A11=P1/P2DATA
|
||||
MOVI COLRPID,A0
|
||||
CLR A1
|
||||
NOT A1
|
||||
CALLA EXISTP
|
||||
JRNZ SKIPCYC
|
||||
CREATE COLRPID,CYCSPECT ;START CYCLE FOR CNTDWN DIGIT
|
||||
SKIPCYC SLEEP 40 ;15
|
||||
MOVI 0FFF0H,A0
|
||||
CMPI P1DATA,A11
|
||||
JRNE V1
|
||||
MOVK 10,A0
|
||||
MOVE A0,@CNTDIG1
|
||||
MOVE @STATUS,A0
|
||||
ANDI 2,A0
|
||||
MOVE A0,@STATUS
|
||||
CREATE DG1PID,DIGIT1
|
||||
DIE
|
||||
V1
|
||||
MOVK 10,A0
|
||||
MOVE A0,@CNTDIG2
|
||||
MOVE @STATUS,A0
|
||||
ANDI 1,A0
|
||||
MOVE A0,@STATUS
|
||||
CREATE DG2PID,DIGIT2
|
||||
DIE
|
||||
|
||||
DIGIT1
|
||||
;DO DIGIT CNT
|
||||
;TURN ON NEW CNTR OBJECT
|
||||
MOVI CNTDOWN,A0
|
||||
CALLA ONESND
|
||||
SLEEPK 8
|
||||
MOVI CNTDWN2,A0
|
||||
CALLA ONESND
|
||||
SLEEP 75
|
||||
MOVE @CNTDIG1,A0
|
||||
CMPI 10,A0
|
||||
JRNZ DGL
|
||||
JSRP DO_CLICK
|
||||
DGL MOVE @CNTDIG1,A0
|
||||
ANDI 0FH,A0
|
||||
DEC A0
|
||||
MOVE A0,@CNTDIG1
|
||||
JRGT DIGIT1
|
||||
|
||||
MOVE @STATUS,A1
|
||||
ANDI 2,A1
|
||||
MOVE A1,@STATUS
|
||||
DV8
|
||||
CLR A0
|
||||
MOVE A0,*A11(PLIVES)
|
||||
MOVK 2,A0 ;INDICATE KILL OFF PLAYER PRC ETC
|
||||
MOVE A0,*A11(CNTD)
|
||||
CALLR KILDGCYC
|
||||
DIE
|
||||
KILDGCYC:
|
||||
MOVE @CNTDIG1,A0
|
||||
MOVE @CNTDIG2,A1
|
||||
OR A0,A1
|
||||
JRNZ DOUT
|
||||
MOVI COLRPID,A0
|
||||
CLR A1
|
||||
NOT A1
|
||||
CALLA KILALL
|
||||
DOUT RETS
|
||||
|
||||
DIGIT2
|
||||
;DO DIGIT CNT
|
||||
;TURN ON NEW CNTR OBJECT
|
||||
MOVI CNTDOWN,A0
|
||||
CALLA ONESND
|
||||
SLEEPK 8
|
||||
MOVI CNTDWN2,A0
|
||||
CALLA ONESND
|
||||
SLEEP 75
|
||||
MOVE @CNTDIG2,A0
|
||||
CMPI 10,A0
|
||||
JRNZ DGL2
|
||||
JSRP DO_CLICK
|
||||
DGL2
|
||||
MOVE @CNTDIG2,A0
|
||||
ANDI 0FH,A0
|
||||
DEC A0
|
||||
MOVE A0,@CNTDIG2
|
||||
JRGT DIGIT2
|
||||
MOVE @STATUS,A1
|
||||
ANDI 1,A1
|
||||
MOVE A1,@STATUS
|
||||
JRUC DV8
|
||||
DO_CLICK
|
||||
MOVK 3,A10
|
||||
GARP
|
||||
MOVI CNTDOWN,A0
|
||||
CALLA ONESND
|
||||
SLEEPK 8
|
||||
MOVI CNTDWN2,A0
|
||||
CALLA ONESND
|
||||
SLEEP 75
|
||||
DSJ A10,GARP
|
||||
RETP
|
||||
|
||||
NUMBS .LONG FON150,FON150,FON151,FON152,FON153,FON154,FON155,FON156
|
||||
.LONG FON157,FON158,FON159
|
||||
.LONG FON159,FON159,FON159,FON159,FON159,FON159,FON159,FON159
|
||||
|
||||
|
||||
|
||||
; FSCORE - TRANSFER BOTH PLAYERS SCORE TO FORGROUND OBJECTS AND DISPLAY THEM
|
||||
; IN PLACE OF DIRECT-DMA OBJECTS
|
||||
FSCORE:
|
||||
MOVI P1DATA,A9 ;TRANSFER PLAYER 1 SCORE
|
||||
CALLA VSCORE
|
||||
MOVI P2DATA,A9 ;TRANSFER PLAYER 2 SCORE
|
||||
VSCORE:
|
||||
MOVK 6,A11 ;DIGIT COUNT
|
||||
MOVE *A9(PSCRAD),A0,L ;PLAYER SCORE ADDRESS
|
||||
MOVE *A9(PSCORE),A9,L ;PLAYER SCORE IN BCD FORM
|
||||
SLL 8,A9 ;12
|
||||
PUTSCL:
|
||||
MMTM SP,A0
|
||||
MOVE A9,A10
|
||||
SRL 28,A10 ;NEXT VALUE INTO LOWEST 4 BITS
|
||||
SLL 7,A10 ;*128 (NEXT HEADER PLEASE!!)
|
||||
ADDI RRD0,A10 ;BASE ADDRESS OF IMAGE HEADER
|
||||
CLR A1
|
||||
MOVY A0,A1 ;Y VAL
|
||||
SLL 16,A0 ;X VAL
|
||||
MOVE A10,A2 ;IMG
|
||||
CALLR ONIT
|
||||
|
||||
MMFM SP,A0
|
||||
MOVI SCRSPC,A1 ;SPACE BETWEEN DIGITS
|
||||
ADDXY A1,A0 ;ADD SPACE AFTER DIGIT
|
||||
SLL 4,A9 ;NEXT DIGIT PLEASE!
|
||||
DSJ A11,PUTSCL
|
||||
RETS
|
||||
|
||||
.END
|
||||
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,517 @@
|
|||
********************************
|
||||
* Macro defines, include after mproc.equ
|
||||
* 11 June 91 SPL
|
||||
*.Last mod - 10/5/91 17:25
|
||||
|
||||
SUBR $macro p1
|
||||
.def :p1:
|
||||
.even
|
||||
:p1:
|
||||
$end
|
||||
|
||||
SUBRP $macro p1
|
||||
.even
|
||||
:p1:
|
||||
$end
|
||||
|
||||
WORD $macro n,o,a
|
||||
$if :a:
|
||||
:n: .set :o:*16+:a:
|
||||
$else
|
||||
:n: .set :o:*16
|
||||
$endif
|
||||
$end
|
||||
|
||||
LONG $macro n,o,a
|
||||
$if :a:
|
||||
:n: .set :o:*16+:a:
|
||||
$else
|
||||
:n: .set :o:*16
|
||||
$endif
|
||||
$end
|
||||
|
||||
APTR $macro n,o,a
|
||||
$if :a:
|
||||
:n: .set :o:*16+:a:
|
||||
$else
|
||||
:n: .set :o:*16
|
||||
$endif
|
||||
$end
|
||||
|
||||
WORDPD $macro n,o
|
||||
:n: .set :o:*16+PDATA
|
||||
$end
|
||||
LONGPD $macro n,o
|
||||
:n: .set :o:*16+PDATA
|
||||
$end
|
||||
APTRPD $macro n,o
|
||||
:n: .set :o:*16+PDATA
|
||||
$end
|
||||
|
||||
LW $macro l,w
|
||||
.long :l:
|
||||
.word :w:
|
||||
$end
|
||||
LWW $macro l,w,w2
|
||||
.long :l:
|
||||
.word :w:,:w2:
|
||||
$end
|
||||
LWWW $macro l,w,w2,w3
|
||||
.long :l:
|
||||
.word :w:,:w2:,:w3:
|
||||
$end
|
||||
LWWWW $macro l,w,w2,w3,w4
|
||||
.long :l:
|
||||
.word :w:,:w2:,:w3:,:w4:
|
||||
$end
|
||||
LWL $macro l,w,l2
|
||||
.long :l:
|
||||
.word :w:
|
||||
.long :l2:
|
||||
$end
|
||||
LWLW $macro l,w,l2,w2
|
||||
.long :l:
|
||||
.word :w:
|
||||
.long :l2:
|
||||
.word :w2:
|
||||
$end
|
||||
LWL0 $macro l,w
|
||||
.long :l:
|
||||
.word :w:
|
||||
.long 0
|
||||
$end
|
||||
|
||||
COLORW $macro r1,g1,b1,r2,g2,b2,r3,g3,b3,r4,g4,b4
|
||||
.word :r1:*32*32+:g1:*32+:b1:
|
||||
$if :r2:
|
||||
.word :r2:*32*32+:g2:*32+:b2:
|
||||
$endif
|
||||
$if :r3:
|
||||
.word :r3:*32*32+:g3:*32+:b3:
|
||||
$endif
|
||||
$if :r4:
|
||||
.word :r4:*32*32+:g4:*32+:b4:
|
||||
$endif
|
||||
$end
|
||||
|
||||
* Push 1-10 registers onto the stack, overrides mproc.equ version
|
||||
PUSH $macro r1,r2,r3,r4,r5,r6,r7,r8,r9,r10
|
||||
$if :r10:
|
||||
mmtm sp,:r1:,:r2:,:r3:,:r4:,:r5:,:r6:,:r7:,:r8:,:r9:,:r10:
|
||||
$else
|
||||
$if :r9:
|
||||
mmtm sp,:r1:,:r2:,:r3:,:r4:,:r5:,:r6:,:r7:,:r8:,:r9:
|
||||
$else
|
||||
$if :r8:
|
||||
mmtm sp,:r1:,:r2:,:r3:,:r4:,:r5:,:r6:,:r7:,:r8:
|
||||
$else
|
||||
$if :r7:
|
||||
mmtm sp,:r1:,:r2:,:r3:,:r4:,:r5:,:r6:,:r7:
|
||||
$else
|
||||
$if :r6:
|
||||
mmtm sp,:r1:,:r2:,:r3:,:r4:,:r5:,:r6:
|
||||
$else
|
||||
$if :r5:
|
||||
mmtm sp,:r1:,:r2:,:r3:,:r4:,:r5:
|
||||
$else
|
||||
$if :r4:
|
||||
mmtm sp,:r1:,:r2:,:r3:,:r4:
|
||||
$else
|
||||
$if :r3:
|
||||
mmtm sp,:r1:,:r2:,:r3:
|
||||
$else
|
||||
$if :r2:
|
||||
move :r1:,-*sp,1
|
||||
move :r2:,-*sp,1
|
||||
$else
|
||||
move :r1:,-*sp,1
|
||||
$endif
|
||||
$endif
|
||||
$endif
|
||||
$endif
|
||||
$endif
|
||||
$endif
|
||||
$endif
|
||||
$endif
|
||||
$endif
|
||||
$end
|
||||
|
||||
* Pull registers off of the stack, ^
|
||||
PULL $macro r1,r2,r3,r4,r5,r6,r7,r8,r9,r10
|
||||
$if :r10:
|
||||
mmfm sp,:r1:,:r2:,:r3:,:r4:,:r5:,:r6:,:r7:,:r8:,:r9:,:r10:
|
||||
$else
|
||||
$if :r9:
|
||||
mmfm sp,:r1:,:r2:,:r3:,:r4:,:r5:,:r6:,:r7:,:r8:,:r9:
|
||||
$else
|
||||
$if :r8:
|
||||
mmfm sp,:r1:,:r2:,:r3:,:r4:,:r5:,:r6:,:r7:,:r8:
|
||||
$else
|
||||
$if :r7:
|
||||
mmfm sp,:r1:,:r2:,:r3:,:r4:,:r5:,:r6:,:r7:
|
||||
$else
|
||||
$if :r6:
|
||||
mmfm sp,:r1:,:r2:,:r3:,:r4:,:r5:,:r6:
|
||||
$else
|
||||
$if :r5:
|
||||
mmfm sp,:r1:,:r2:,:r3:,:r4:,:r5:
|
||||
$else
|
||||
$if :r4:
|
||||
mmfm sp,:r1:,:r2:,:r3:,:r4:
|
||||
$else
|
||||
$if :r3:
|
||||
mmfm sp,:r1:,:r2:,:r3:
|
||||
$else
|
||||
$if :r2:
|
||||
move *sp+,:r2:,1
|
||||
move *sp+,:r1:,1
|
||||
$else
|
||||
move *sp+,:r1:,1
|
||||
$endif
|
||||
$endif
|
||||
$endif
|
||||
$endif
|
||||
$endif
|
||||
$endif
|
||||
$endif
|
||||
$endif
|
||||
$endif
|
||||
$end
|
||||
|
||||
* Push low word of register on to stack, ^
|
||||
PUSHW $macro r1,r2,r3
|
||||
$if :r3:
|
||||
ERROR:PUSHW
|
||||
$else
|
||||
$if :r2:
|
||||
move :r1:,-*sp,0
|
||||
move :r2:,-*sp,0
|
||||
$else
|
||||
move :r1:,-*sp,0
|
||||
$endif
|
||||
$endif
|
||||
$end
|
||||
|
||||
* Pull low word of register off of stack, ^
|
||||
PULLW $macro r1,r2,r3
|
||||
$if :r3:
|
||||
ERROR:PULLW
|
||||
$else
|
||||
$if :r2:
|
||||
move *sp+,:r2:,0
|
||||
move *sp+,:r1:,0
|
||||
$else
|
||||
move *sp+,:r1:,0
|
||||
$endif
|
||||
$endif
|
||||
$end
|
||||
|
||||
* Push 1-5 registers onto the process stack, overrides mproc.equ version
|
||||
PUSHP $macro r1,r2,r3,r4,r5
|
||||
$if :r5:
|
||||
mmtm a12,:r1:,:r2:,:r3:,:r4:,:r5:
|
||||
$else
|
||||
$if :r4:
|
||||
mmtm a12,:r1:,:r2:,:r3:,:r4:
|
||||
$else
|
||||
$if :r3:
|
||||
mmtm a12,:r1:,:r2:,:r3:
|
||||
$else
|
||||
$if :r2:
|
||||
move :r1:,-*a12,1
|
||||
move :r2:,-*a12,1
|
||||
$else
|
||||
move :r1:,-*a12,1
|
||||
$endif
|
||||
$endif
|
||||
$endif
|
||||
$endif
|
||||
$end
|
||||
* Pull 1-5 registers off the process stack, overrides mproc.equ version
|
||||
PULLP $macro r1,r2,r3,r4,r5
|
||||
$if :r5:
|
||||
mmfm a12,:r1:,:r2:,:r3:,:r4:,:r5:
|
||||
$else
|
||||
$if :r4:
|
||||
mmfm a12,:r1:,:r2:,:r3:,:r4:
|
||||
$else
|
||||
$if :r3:
|
||||
mmfm a12,:r1:,:r2:,:r3:
|
||||
$else
|
||||
$if :r2:
|
||||
move *a12+,:r2:,1
|
||||
move *a12+,:r1:,1
|
||||
$else
|
||||
move *a12+,:r1:,1
|
||||
$endif
|
||||
$endif
|
||||
$endif
|
||||
$endif
|
||||
$end
|
||||
|
||||
* And 1-32 to register. Trashes A14
|
||||
ANDK $macro r1,r2
|
||||
movk :r1:,a14
|
||||
and a14,:r2:
|
||||
$end
|
||||
|
||||
* Or 1-32 to register. Trashes A14
|
||||
ORK $macro r1,r2
|
||||
movk :r1:,a14
|
||||
or a14,:r2:
|
||||
$end
|
||||
|
||||
|
||||
XYTXT $macro f,x,y,c,s
|
||||
.word :f:,:x:,:y:,:c:
|
||||
.byte :s:,0
|
||||
$end
|
||||
XYNUM $macro f,x,y,c,p
|
||||
.word :f:,:x:,:y:,:c:
|
||||
.long :p:
|
||||
$end
|
||||
XYOBJ $macro f,x,y,z,i
|
||||
.word :f:,:x:,:y:,:z:
|
||||
.long :i:
|
||||
$end
|
||||
|
||||
NOTINUSE $macro
|
||||
.if 0
|
||||
$end
|
||||
|
||||
|
||||
;RINR $macro a,b
|
||||
; $if (:b:-:a:)<33
|
||||
; movk :b:-:a:,a0
|
||||
; $else
|
||||
; movi :b:-:a:,a0
|
||||
; $endif
|
||||
; callr rndrng0
|
||||
; $end
|
||||
|
||||
|
||||
********************************
|
||||
* Animation script macros
|
||||
|
||||
ASITEMN $macro a,b,c,d,e,f
|
||||
.long :c:
|
||||
.word :a:,:b:,:d:,:e:,:f:
|
||||
$end
|
||||
|
||||
ASNEW $macro a
|
||||
.word AsNEW
|
||||
.long :a:
|
||||
$end
|
||||
ASDEL $macro a
|
||||
.word AsDEL,:a:
|
||||
$end
|
||||
ASDELM $macro a,b
|
||||
.word AsDELM,:a:,:b:
|
||||
$end
|
||||
ASFRA $macro a,b,c
|
||||
.word AsFRA
|
||||
.long :a:
|
||||
.word :b:,:c:
|
||||
$end
|
||||
ASANI $macro a,b
|
||||
.word AsANI
|
||||
.long :a:
|
||||
.word :b:
|
||||
$end
|
||||
ASHIDE $macro a
|
||||
.word AsHIDE,:a:
|
||||
$end
|
||||
ASSHOW $macro a
|
||||
.word AsSHOW,:a:
|
||||
$end
|
||||
ASPAL $macro a
|
||||
.word AsPAL,:a:
|
||||
$end
|
||||
ASXY $macro a,b,c,d
|
||||
.word AsXY,:a:,:b:,:c:,:d:
|
||||
$end
|
||||
ASXYRNG $macro a,b,c,d,e,f
|
||||
.word AsXYRNG,:c:,:d:,:e:,:f:,:a:,:b:
|
||||
$end
|
||||
ASXYV $macro a,b,c,d
|
||||
.word AsXYV
|
||||
.long :c:,:d:
|
||||
.word :a:,:b:
|
||||
$end
|
||||
ASXYVA $macro a,b,c,d
|
||||
.word AsXYVA
|
||||
.long :c:,:d:
|
||||
.word :a:,:b:
|
||||
$end
|
||||
ASXYV0 $macro
|
||||
.word AsXYV0
|
||||
$end
|
||||
ASZ $macro a,b,c
|
||||
.word AsZ,:a:,:b:,:c:
|
||||
$end
|
||||
ASBXY $macro a,b
|
||||
.word AsBXY,:a:,:b:
|
||||
$end
|
||||
ASSLP $macro a
|
||||
.word AsSLP,:a:
|
||||
$end
|
||||
ASSLPR $macro a,b
|
||||
.word AsSLPR,:a:,:b:
|
||||
$end
|
||||
ASWAIT $macro
|
||||
.word AsWAIT
|
||||
$end
|
||||
ASTXT $macro a
|
||||
.word AsTXT
|
||||
.long :a:
|
||||
$end
|
||||
ASTXTK $macro
|
||||
.word AsTXTK
|
||||
$end
|
||||
ASLAB $macro a
|
||||
.word AsLAB,:a:
|
||||
$end
|
||||
ASLABR $macro a,b
|
||||
.word AsLABR,:a:,:b:
|
||||
$end
|
||||
ASDSJ $macro
|
||||
.word AsDSJ
|
||||
$end
|
||||
ASJMP $macro a
|
||||
.word AsJMP
|
||||
.long :a:
|
||||
$end
|
||||
ASJMPR $macro a,b
|
||||
.word AsJMPR
|
||||
.long :b:
|
||||
.word :a:
|
||||
$end
|
||||
ASJMPEQ $macro a,b,c
|
||||
.word AsJMPEQ
|
||||
.long :b:,:c:
|
||||
.word :a:
|
||||
$end
|
||||
ASJMPNE $macro a,b,c
|
||||
.word AsJMPNE
|
||||
.long :b:,:c:
|
||||
.word :a:
|
||||
$end
|
||||
ASRUN $macro a
|
||||
.word AsRUN
|
||||
.long :a:
|
||||
$end
|
||||
ASRUNI $macro a,b
|
||||
.word AsRUNI
|
||||
.long :a:
|
||||
.word :b:
|
||||
$end
|
||||
ASCRE $macro a,b
|
||||
.word AsCRE
|
||||
.long :a:,:b:
|
||||
$end
|
||||
ASKIL $macro a,b
|
||||
.word AsKIL,:a:,:b:
|
||||
$end
|
||||
ASASM $macro
|
||||
.word AsASM
|
||||
$end
|
||||
ASENDASM $macro
|
||||
exgpc a8
|
||||
$end
|
||||
ASSND $macro a
|
||||
.word AsSND
|
||||
.long :a:
|
||||
$end
|
||||
ASADDW $macro a,b
|
||||
.word AsADDW
|
||||
.long :b:
|
||||
.word :a:
|
||||
$end
|
||||
ASADDWO $macro a,b
|
||||
.word AsADDWO,:a:,:b:
|
||||
$end
|
||||
ASADDLO $macro a,b
|
||||
.word AsADDLO
|
||||
.long :a:
|
||||
.word :b:
|
||||
$end
|
||||
ASADLVO $macro a
|
||||
.word AsADLVO,:a:
|
||||
$end
|
||||
ASSVRL $macro a,b
|
||||
.word AsSVRL
|
||||
.long :a:,:b:
|
||||
$end
|
||||
ASSVRLT $macro a
|
||||
.word AsSVRLT
|
||||
.long :a:
|
||||
$end
|
||||
ASSVL $macro a
|
||||
.word AsSVL
|
||||
.long :a:
|
||||
$end
|
||||
ASEND $macro
|
||||
.word -1
|
||||
$end
|
||||
|
||||
|
||||
********************************
|
||||
* Non dupe macros from sys\macros.hdr
|
||||
|
||||
*Defs for symbols referenced from macros
|
||||
.GLOBL ERRORLOG
|
||||
|
||||
* Swap contents of two registers that reside in same file
|
||||
SWAP $MACRO R1,R2
|
||||
XOR :R1.S:,:R2.S:
|
||||
XOR :R2.S:,:R1.S:
|
||||
XOR :R1.S:,:R2.S:
|
||||
$END
|
||||
|
||||
* Test a register for zero
|
||||
TEST $MACRO R1
|
||||
MOVE :R1.S:,:R1.S:
|
||||
$END
|
||||
|
||||
*EQUATES FOR XY COMPARES(MOTOLORA STYLE)
|
||||
JRXEQ $MACRO P1
|
||||
JRXZ P1.S
|
||||
$END
|
||||
JRXNE $MACRO P1
|
||||
JRXNZ P1.S
|
||||
$END
|
||||
JRXGE $MACRO P1
|
||||
JRXNN P1.S
|
||||
$END
|
||||
JRXLT $MACRO P1
|
||||
JRXN P1.S
|
||||
$END
|
||||
JRYEQ $MACRO P1
|
||||
JRYZ P1.S
|
||||
$END
|
||||
JRYNE $MACRO P1
|
||||
JRYNZ P1.S
|
||||
$END
|
||||
JRYGE $MACRO P1
|
||||
JRYNN P1.S
|
||||
$END
|
||||
JRYLT $MACRO P1
|
||||
JRYN P1.S
|
||||
$END
|
||||
|
||||
*MAKE A SINGLE SOUND USING THE GSP SOUND PROCESSOR
|
||||
SOUND1 $MACRO SNDNUM
|
||||
MOVI :SNDNUM:,A0
|
||||
CALLA ONESND
|
||||
$END
|
||||
|
||||
*CALLERR - CALL THE ERROR LOG MACRO
|
||||
*REGS = # OF REGISTERS PUSHED ON THE STACK BY THIS SUBROUTINE
|
||||
CALLERR $MACRO NUM,REGS
|
||||
MMTM SP,A1,A2
|
||||
MOVE *SP((:REGS:+2)*20H),A1,L
|
||||
MOVI :NUM:,A2
|
||||
CALLA ERRORLOG
|
||||
MMFM SP,A1,A2
|
||||
$END
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,693 @@
|
|||
**************************************************************
|
||||
*
|
||||
* Software: ?
|
||||
* Initiated:
|
||||
*
|
||||
* Modified: Shawn Liptak, 9/30/91 -High speed version
|
||||
*
|
||||
* COPYRIGHT (C) 1991 WILLIAMS ELECTRONICS GAMES, INC.
|
||||
*
|
||||
*.Last mod - 9/30/91 20:34
|
||||
**************************************************************
|
||||
.FILE 'SOUNDS.ASM'
|
||||
.TITLE "SOUND PROCESSOR"
|
||||
.WIDTH 132
|
||||
.OPTION B,D,L,T
|
||||
.MNOLIST
|
||||
|
||||
; GET THE SYSTEM STUFF
|
||||
|
||||
.INCLUDE "MPROC.EQU" ;MPROC EQUATES
|
||||
.INCLUDE "\VIDEO\SYS\SYS.INC" ;Z UNIT SYSTEM EQUATES
|
||||
.INCLUDE "\VIDEO\SYS\MACROS.HDR" ;MACROS DEFINITIONS
|
||||
.INCLUDE "GAME.EQU" ;SOUND HEADER
|
||||
.include "shawn.hdr" ;My macros
|
||||
|
||||
|
||||
;SOUND DRIVER STUFF
|
||||
|
||||
.DEF SNDRES,ONESND,SNDLD,SNDSND,CKSNDPRI,QSNDRST
|
||||
.DEF MUSICOFF,YAMOFF,FADE_DOWN,ALLOFF,SNDPRC,FADE_UP
|
||||
|
||||
;SOUND HEADERS USED IN GAME
|
||||
|
||||
.DEF UGH1,UGH2,UGH3,UGH4,MEUGH,HASND,NOWAY,BUYMSC,GUYDI,MTING
|
||||
.DEF TRGTSND,KEYSND,CHUCK,HELP,HELP2,HELP3,HELP4,KEYSND2,WRPSND
|
||||
.DEF ALTEXP5,EXP5,GULP,HORN2,TORCH,ALTEXP6,SCASH2,YEAHHH,CNTDWN2
|
||||
.DEF SALTXP4,SEXP2HI,HORNSND,EXITSND,LOVEIT,CRSSND,CNTDOWN
|
||||
.DEF TING2,TING3
|
||||
.DEF ALTEXP1,ALTEXP3,EXP2HI,SETDWN,GRNTSHT,GETWPN,AIRSCRM,EXP1L
|
||||
.DEF ALTXP1A,ALTEXP4,CANNON,EXP2HIB,TUNE3,TUNE3O,CRSSND2,SQUISH
|
||||
.DEF SHOT,THUMP2,THUMP,EXP1,EXP2,EXP3,EXP4,TOTCARN,FIREDI,GETSND
|
||||
.DEF ELECTRO,MECH1,GLSEXP,TUNE1,TUNE2,SENDIN,WOO1,WOO2,COINSND
|
||||
.DEF FEET,FLAMSND,SHOT2,STATSND,JEEPSND,TURTSND,FNDSND
|
||||
.DEF DIESCRM,SCREAM,SLIDEIN,PLYRONE,PLYRTWO,AGLSEXP
|
||||
.DEF TING,GRNSND,BEEP1,THNKU,SCASH,FREEMAN,SCASH3
|
||||
.DEF HIMUSC,BEEP2
|
||||
|
||||
|
||||
.REF SOUNDSUP
|
||||
|
||||
.text
|
||||
|
||||
*SOUND PROCESSOR MAKES SOUNDS FOR N-CHANNELS (CURRENTLY 6):
|
||||
*
|
||||
* CHANNEL #0 OKI CHANNEL 3
|
||||
* CHANNEL #1 OKI CHANNEL 4
|
||||
* CHANNEL #2 YAMAHA SOUNDS
|
||||
* CHANNEL #3 MUSIC
|
||||
* CHANNEL #4 OKI CHANNEL 1 (PLAYER 1)
|
||||
* CHANNEL #5 OKI CHANNEL 2 (PLAYER 2)
|
||||
*
|
||||
*THE ROUTINE "SNDRES" MUST BE CALLED TO INITAILIZE SOUND BOARD
|
||||
*ALSO SCRATCHPAD RAM MUST BE INITIALIZED TO ZERO
|
||||
*THE ROUTINE "SNDPRC" MUST BE CALLED EVERY 16MSEC. IN THE MAIN PROGRAM LOOP
|
||||
*(THE SAME PLACE WHERE "PRCDSP" IS NORMALLY CALLED)
|
||||
*MAKING A SOUND:
|
||||
*
|
||||
*SOUND TABLE FORMAT
|
||||
*
|
||||
*SOUND DESCRIPTION:
|
||||
* .WORD PRIORITY, TIME, SOUND CODE, (PRIORITY), (TIME), (SOUND CODE), 0
|
||||
*
|
||||
*SOUND ENDS IN 0000.
|
||||
*PRIORITY WORD = 1111INNNPPPPPPPP; I=1=NON-INTERRUPTABLE
|
||||
*NNN=CHANNEL #(0-7);
|
||||
*PP=PRIORITY (00-FF), FF=HIGHEST.
|
||||
*TIME WORD =TTTT (0000-7FFF X 16MS).
|
||||
*SOUND WORD =8SSS SSS=SOUND CODE(000-FFF).
|
||||
*EXAMPLE 1:
|
||||
*
|
||||
* MOVI SND1,A0 ;LOAD ABSOLUTE ADDRESS OF SND1 IN A0
|
||||
* CALLA ONESND ;MAKE ONE SND1
|
||||
*
|
||||
*SND1: .WORD >F0FF,>0100,>8088,0
|
||||
*
|
||||
*SND1 IS FOR CHANNEL=0, PRIORITY=FF (HIGHEST), TIME = 100H X 16MSEC.
|
||||
*SOUND CODE = 88H
|
||||
*SND1 WILL MAKE ONE SOUND 88H, AND NOT ALLOW IT TO BE INTERRUPTED
|
||||
*FOR 100H X 16MSEC., EXCEPT BY A SOUND OF EQUAL OR GREATER PRIORITY ON
|
||||
*CHANNEL 0
|
||||
*
|
||||
* MOVI SND2,A0 ;LOAD SND2 ADDRESS
|
||||
* MOVK 3,A1 ;REPEAT IT 3 TIMES
|
||||
* CALLA SNDLD ;GO DO IT
|
||||
|
||||
*SND2: .WORD >F311,>0020,>8044,>8044,0
|
||||
*
|
||||
*SND2 IS ON CHANNEL 3, PRIORITY 11H. IT WILL MAKE ONE SOUND 44H, WAIT
|
||||
*20H X 16 MSEC., THEN MAKE ANOTHER SOUND 44H, WHICH CANNOT BE INTERRUPTED
|
||||
*FOR 20H X 16 MSEC., EXCEPT BY A SOUND OF EQUAL OR GREATER PRIORITY ON
|
||||
*CHANNEL 3
|
||||
*
|
||||
*SINCE A1 IS LOADED WITH A REPEAT COUNT OF 3, THIS PROCESS WILL BE REPEATED
|
||||
*THREE TIMES. THE END RESULT WILL BE 6 SOUND 44H SEPERATED BY 20H X 16MSEC.
|
||||
*
|
||||
*NOTE: THE CHANNEL SPECIFIED BY "MUSICHAN" WILL CAUSE THE MUSIC SECTION OF
|
||||
* THE SOUND BOARD TO BE STROBED.
|
||||
*
|
||||
SNDPRI .SET 0 ;PRIORITY (00=LOWEST, FF=HIGHEST)
|
||||
SNDTMR .SET 010h ;TIMER COUNTDOWN
|
||||
SNDPTR .SET 020h ;POINTER TO SOUND TABLE DATA
|
||||
SNDREP .SET 040h ;REPEAT COUNT OF SOUND
|
||||
;SNDTIM .SET 050h ;TIMER 000-7FFF
|
||||
SNDST .SET 060h ;ADDRESS OF SOUND TABLE START
|
||||
*NOTE: IF YOU CHANGE SNDSIZ, MAKE SURE ANY CODE THAT USES IT AS A DIVISOR
|
||||
* PERFORMS THE CORRECT OP. CURRENTLY IT IS A POWER OF 2 SO SRL IS USED.
|
||||
SNDSIZ .SET 080h
|
||||
|
||||
SL_CHANNEL .EQU 21 ;SHIFTS REQUIRED TO ISOLATE CHANNEL NUMBER
|
||||
SR_CHANNEL .EQU 29
|
||||
|
||||
NCHAN EQU 6 ;DECLARE NUMBER OF ALLOWED CHANNELS
|
||||
MUSICHAN EQU 3 ;THIS CHANNEL IS FOR THE TUNES
|
||||
|
||||
*THESE STROBE EQUATES ARE FOR THE HOT NEW WILLY VIDEO SOUND CARD tm
|
||||
RESETBIT EQU 0FE00H ;THIS IS THE ^RESET BIT
|
||||
SOUNDBIT EQU 0FD00H ;THIS IS THE SOUND SIDE STROBE
|
||||
|
||||
EXTENDED_CODE .EQU 7AH ;SEND THIS TO INDICATE EXTENDED SOUND CALL
|
||||
|
||||
*
|
||||
*EQUATES FOR READING SOUND BOARD IRQ REQUEST LINE
|
||||
*
|
||||
TALKPORT .EQU SWITCH+10H ;PORT TO FIND THIS LINE
|
||||
B_SIRQ .EQU 14 ;BIT TO READ FOR SOUND IRQ LINE
|
||||
|
||||
.BSS SNDSTR,NCHAN*SNDSIZ ;RESERVE STORAGE AREA
|
||||
.BSS SNDEND,0 ;END OF SOUND PROCESSOR RAM
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* CLRSNDDB - CLEAR THE SOUND PROCESSOR DATA BASE *
|
||||
* *
|
||||
**************************************************************************
|
||||
CLRSNDDB
|
||||
MMTM SP,A0,A1
|
||||
MOVI SNDSTR,A1
|
||||
CLR A0
|
||||
CLRSDBL
|
||||
MOVE A0,*A1+
|
||||
CMPI SNDEND,A1
|
||||
JRLO CLRSDBL
|
||||
MMFM SP,A0,A1
|
||||
RETS
|
||||
|
||||
**************************************************************************
|
||||
* Make one sound
|
||||
* A0=* to sound data
|
||||
* Rets: A0=Same
|
||||
|
||||
ONESND
|
||||
PUSH a0,a1,a2,a3,a4
|
||||
movk 1,a1
|
||||
jruc sl20
|
||||
|
||||
********************************
|
||||
* Sound loader
|
||||
* A0=* to sound data, A1=REPEAT COUNT
|
||||
*Sound format= PRI,TIME,SOUND CODE,(PRI),(TIME),(SOUND CODE),0=END
|
||||
*PRIORITY WORD = 1111INNNPPPPPPPP; I=1=NON-INTERRUPTABLE
|
||||
* NNN=CHANNEL #(0-7); PP=PRIORITY (00-FF), FF=HIGHEST.
|
||||
*TIME WORD =TTTT (0000-7FFF X 16MS).
|
||||
*SOUND WORD =8SSS SSS=SOUND CODE(000-FFF).
|
||||
|
||||
SNDLD
|
||||
PUSH a0,a1,a2,a3,a4
|
||||
|
||||
sl20 move @SOUNDSUP,a2
|
||||
jrnz sndldx ;Somebody says no?
|
||||
|
||||
move *a0,a2 ;Get priority word
|
||||
move a2,a3
|
||||
sll SL_CHANNEL,a2
|
||||
srl SR_CHANNEL,a2 ;Extract channel bits
|
||||
sll 7,a2 ;*SNDSIZ
|
||||
addi SNDSTR,a2 ;+Base
|
||||
|
||||
move *a2,a4 ;Get current priority
|
||||
btst 11,a4
|
||||
jrnz sndldx ;Non-interruptable?
|
||||
sll 32-8,a3 ;Mask priorities
|
||||
sll 32-8,a4
|
||||
cmp a4,a3
|
||||
jrlo sndldx ;New pri < old pri?
|
||||
|
||||
move a0,*a2(SNDST),L ;Setup sound start pointer
|
||||
move *a0+,*a2+,L ;Set PRI,TMR
|
||||
move *a0+,a3 ;Snd code
|
||||
move a0,*a2+,L ;Set PTR
|
||||
move a1,*a2+ ;Set RPT (Repeat count)
|
||||
callr SNDSND ;Send sound code
|
||||
|
||||
sndldx PULL a0,a1,a2,a3,a4
|
||||
rets
|
||||
|
||||
|
||||
********************************
|
||||
* Sound processor called every main loop (16 MSEC)
|
||||
|
||||
SNDPRC
|
||||
movi SNDSTR,a0
|
||||
movk NCHAN,a1
|
||||
splp move *a0(SNDTMR),a2 ;Check timer
|
||||
jrz sp5 ;Inactive channel?
|
||||
subk 1,a2
|
||||
move a2,*a0(SNDTMR) ;New time
|
||||
jrnz sp5 ;No timeout?
|
||||
callr SNDUPD ;Update sound
|
||||
sp5 addi SNDSIZ,a0
|
||||
dsjs a1,splp
|
||||
rets
|
||||
|
||||
|
||||
********************************
|
||||
* Update sound
|
||||
* A0=* to sound channel ram
|
||||
|
||||
SNDUPD
|
||||
move *a0(SNDPTR),a2,L ;Get * to rom table
|
||||
sud2 move *a2+,a3 ;Get next rom table entry
|
||||
jrnz sud8 ;Another snd?
|
||||
|
||||
move *a0(SNDREP),a3 ;Check repeat count
|
||||
subk 1,a3
|
||||
move a3,*a0(SNDREP)
|
||||
jrle sud6 ;No repeats?
|
||||
move *a0(SNDST),a2,L
|
||||
jruc sud2 ;Start sound over
|
||||
|
||||
sud6 clr a2
|
||||
move a2,*a0 ;Clear sound priority
|
||||
move a2,*a0(SNDST),L ;Clear sound ptr
|
||||
rets
|
||||
|
||||
sud8 move a3,*a0+ ;Set PRI
|
||||
move *a2+,*a0+ ;Set TMR
|
||||
move *a2+,a3 ;Get code
|
||||
move a2,*a0,L ;Set PTR
|
||||
subk 32,a0 ;Fix A0
|
||||
jruc SNDSND ;Send sound code
|
||||
|
||||
|
||||
|
||||
**************************************************************************
|
||||
* SNDSND - RAW HARDWARE SOUND CALL *
|
||||
* A3=SOUND CODE B0-B7 *
|
||||
* NOTE: TRASHES A14 *
|
||||
**************************************************************************
|
||||
SNDSND
|
||||
PUSH a0,a3
|
||||
|
||||
SLL 20,A3
|
||||
SRL 20,A3 ;STRIP OFF BITS
|
||||
|
||||
CMPI 100H,A3 ;IS THIS AN EXTENDED SOUND CALL?
|
||||
JRLO SNDSND_BASE ;BR = NO
|
||||
MOVE A3,A0
|
||||
MOVI EXTENDED_CODE,A3 ;SEND THE EXTENDED FEATURE
|
||||
CALLR SNDSND
|
||||
MOVE A0,A3
|
||||
SLL 32-8,A3
|
||||
SRL 32-8,A3
|
||||
SNDSND_BASE
|
||||
|
||||
ADDI SOUNDBIT,A3 ;PULL SOUND SECTION INTERRUPT
|
||||
MOVE A3,@SOUND ;HIT SOUND
|
||||
|
||||
MOVK 8,A0
|
||||
DSJS A0,$ ;SLOW IT DOWN A BIT
|
||||
|
||||
ORI 0FF00h,A3 ;PUT OUT 1'S
|
||||
MOVE A3,@SOUND
|
||||
|
||||
MOVI 8,A0
|
||||
DSJS A0,$ ;LET SOUND BOARD REACT
|
||||
|
||||
MOVB @TALKPORT+B_SIRQ-7,A0 ;ARE WE CONNECTED?
|
||||
JRN SS_DEFAULT_WAIT ;BR = NO
|
||||
|
||||
**** MOVI 390,A0 ;MAX FIRQ DELAY ON SOUND BOARD IS 180 micros
|
||||
**** DSJS A0,$
|
||||
|
||||
MOVI 390,A3 ;MAX IRQ DELAY FOR SOUND BOARD
|
||||
SS_IRQ_WAIT
|
||||
MOVB @TALKPORT+B_SIRQ-7,A0 ;DID SOUND BOARD SERVICE?
|
||||
JRN SS_X ;BR = YES
|
||||
DSJS A3,SS_IRQ_WAIT
|
||||
SS_X
|
||||
PULL a0,a3
|
||||
RETS
|
||||
|
||||
*COME HERE BECAUSE SOUND BOARD IRQ REQUEST WAS NOT DETECTED
|
||||
SS_DEFAULT_WAIT
|
||||
MOVI 390,A0 ;MAX IRQ DELAY FOR SOUND BOARD
|
||||
DSJS A0,$
|
||||
PULL a0,a3
|
||||
RETS
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* SNDRES - FULL SOUND BOARD RESET, SOUND CHECKSUMS ARE REPORTED. *
|
||||
* *
|
||||
* NOTE: TRASHES A14 *
|
||||
* *
|
||||
**************************************************************************
|
||||
SNDRES
|
||||
PUSH a0
|
||||
MOVI RESETBIT,A0 ;HIT RESET BIT
|
||||
MOVE A0,@SOUND
|
||||
MOVI 100,A0 ;WAIT FOR IT TO CATCH
|
||||
DSJS A0,$
|
||||
movi -1,a0 ;Let it go
|
||||
MOVE A0,@SOUND
|
||||
PULL a0
|
||||
RETS
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* IS_SOUND - CHECK SOUND DATA BASE TO SEE IF THE GIVEN SOUND SCRIPT *
|
||||
* IS CURRENTLY BEING PROCESSED. (I.E. ANOTHER SOUND *
|
||||
* HAS OR HAS NOT TAKEN OVER.) *
|
||||
* A0 = PTR TO SOUND SCRIPT *
|
||||
* RETURNS *
|
||||
* Z = SAME SCRIPT *
|
||||
* NZ = SCRIPT NO LONGER ACTIVE *
|
||||
* *
|
||||
**************************************************************************
|
||||
IS_SOUND
|
||||
PUSH A3
|
||||
MOVE *A0,A14,W ;GET CHANNEL/PRIORITY WORD
|
||||
MOVI SNDSIZ,A3
|
||||
SLL SL_CHANNEL,A14
|
||||
SRL SR_CHANNEL,A14 ;EXTRACT CHANNEL BITS
|
||||
MPYU A14,A3
|
||||
ADDI SNDSTR,A3 ;GET THE CORRECT RAM CHANNEL ADDRESS
|
||||
MOVE *A3(SNDST),A14,L
|
||||
CMP A0,A14 ;SAME SCRIPT ACTIVE?
|
||||
PULL A3
|
||||
RETS
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* CKSNDPRI - CHECK SOUND CHANNEL FOR EXISTANCE OF A GIVEN SOUND PRIORITY *
|
||||
* A0 = CHANNEL # *
|
||||
* A1 = SOUND PRIORITY *
|
||||
* RETURNS: *
|
||||
* CARRY CLEAR = PRIORITY NOT ACTIVE *
|
||||
* CARRY SET = PRIORITY ACTIVE *
|
||||
* *
|
||||
**************************************************************************
|
||||
CKSNDPRI
|
||||
MMTM SP,A0,A2
|
||||
MOVI SNDSTR,A2
|
||||
SLL 7,A0 ;CHANNEL x 128
|
||||
ADD A2,A0 ;OFFSET TO CORRECT CHANNEL AREA
|
||||
MOVB *A0,A0
|
||||
CMP A0,A1
|
||||
JRNE CKSPRI1 ;BR = PRIORITY NOT ACTIVE
|
||||
SETC
|
||||
MMFM SP,A0,A2
|
||||
RETS
|
||||
CKSPRI1
|
||||
CLRC
|
||||
MMFM SP,A0,A2
|
||||
RETS
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* QSNDRST - QUIET SOUND RESET, NO DIAGNOSTIC DONGERS *
|
||||
* *
|
||||
**************************************************************************
|
||||
QSNDRST
|
||||
MMTM SP,A3,A5
|
||||
CALLR SNDRES ;RESET THE BOARD
|
||||
MOVI 100,A0
|
||||
DSJS A0,$ ;NEED 30 mics BEFORE SENDING CODE
|
||||
CLR A3
|
||||
CLR A5
|
||||
CALLR SNDSND ;PEND ON DIG SIDE
|
||||
MOVK MUSICHAN,A5
|
||||
CALLR SNDSND ;PEND ON YAMAHA SIDE
|
||||
MMFM SP,A3,A5
|
||||
RETS
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* FADE_UP - PROCESS TO FADE THE SOUND UP *
|
||||
* A11 = FADE RATE *
|
||||
* *
|
||||
**************************************************************************
|
||||
FADE_UP:
|
||||
MOVI FADE_UP_TAB,A8
|
||||
JRUC FADER
|
||||
**************************************************************************
|
||||
* *
|
||||
* FADE_DOWN - PROCESS TO FADE THE SOUND UP *
|
||||
* A11 = FADE RATE *
|
||||
* *
|
||||
**************************************************************************
|
||||
FADE_DOWN:
|
||||
MOVI FADE_DOWN_TAB,A8
|
||||
JRUC FADER
|
||||
|
||||
FADER:
|
||||
MOVI FADEPID,A0
|
||||
CLR A1
|
||||
NOT A1
|
||||
CALLA KILALL ;WASTE ANY OTHER FADERS
|
||||
FADE_LP:
|
||||
MOVE *A8+,A0,L
|
||||
JRZ FADE_DONE
|
||||
CALLR ONESND
|
||||
SLOOPR A11,FADE_LP
|
||||
FADE_DONE:
|
||||
DIE
|
||||
|
||||
FADE_UP_TAB:
|
||||
.LONG VOLUME0
|
||||
.LONG VOLUME1
|
||||
.LONG VOLUME2
|
||||
.LONG VOLUME3
|
||||
.LONG VOLUME4
|
||||
.LONG VOLUME5
|
||||
.LONG VOLUME6
|
||||
.LONG VOLUME7
|
||||
.LONG VOLUME8
|
||||
.LONG VOLUME9
|
||||
.LONG VOLUMEA
|
||||
.LONG VOLUMEB
|
||||
.LONG VOLUMEC
|
||||
.LONG VOLUMED
|
||||
.LONG VOLUMEE
|
||||
.LONG VOLUMEF
|
||||
.LONG 0
|
||||
|
||||
FADE_DOWN_TAB:
|
||||
.LONG VOLUMEF
|
||||
.LONG VOLUMEE
|
||||
.LONG VOLUMED
|
||||
.LONG VOLUMEC
|
||||
.LONG VOLUMEB
|
||||
.LONG VOLUMEA
|
||||
.LONG VOLUME9
|
||||
.LONG VOLUME8
|
||||
.LONG VOLUME7
|
||||
.LONG VOLUME6
|
||||
.LONG VOLUME5
|
||||
.LONG VOLUME4
|
||||
.LONG VOLUME3
|
||||
.LONG VOLUME2
|
||||
.LONG VOLUME1
|
||||
.LONG VOLUME0
|
||||
.LONG 0
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* POPULAR SOUND CALLS *
|
||||
* *
|
||||
**************************************************************************
|
||||
*
|
||||
*HIGH PRIORITY OFF CODES, NOTHING SHOULD BEAT THESE
|
||||
CVSDOFF .WORD >F0FF|>800,>01,>8000,0 ;CVSD BACKGROUND LOOP OFF
|
||||
CVSDFOFF .WORD >F0FF|>800,>01,>8000,0 ;CVSD FOREGROUND LOOP OFF
|
||||
SOUNDOFF .WORD >F0FF|>800,>01,>8000,0 ;TURN SOUND SIDE OFF
|
||||
ALLOFF .WORD >F3FF|>800,>01,>8000,0 ;MUSIC AND EFFECTS OFF
|
||||
MUSICOFF .WORD >F3FF|>800,>01,>807E,0 ;TURN JUST MUSIC OFF
|
||||
MUSITOFF .WORD >F3FF|>800,>01,>8040,0 ;MUSIC TRANSITION OFF
|
||||
YAMOFF .WORD >F2FF|>800,>01,>807F,0 ;YAMAHA EFFECT OFF
|
||||
|
||||
VOLUME0 .WORD >F3FE,>1,>802F,0
|
||||
VOLUME1 .WORD >F3FE,>1,>802E,0
|
||||
VOLUME2 .WORD >F3FE,>1,>802D,0
|
||||
VOLUME3 .WORD >F3FE,>1,>802C,0
|
||||
VOLUME4 .WORD >F3FE,>1,>802B,0
|
||||
VOLUME5 .WORD >F3FE,>1,>802A,0
|
||||
VOLUME6 .WORD >F3FE,>1,>8029,0
|
||||
VOLUME7 .WORD >F3FE,>1,>8028,0
|
||||
VOLUME8 .WORD >F3FE,>1,>8027,0
|
||||
VOLUME9 .WORD >F3FE,>1,>8026,0
|
||||
VOLUMEA .WORD >F3FE,>1,>8025,0
|
||||
VOLUMEB .WORD >F3FE,>1,>8024,0
|
||||
VOLUMEC .WORD >F3FE,>1,>8023,0
|
||||
VOLUMED .WORD >F3FE,>1,>8022,0
|
||||
VOLUMEE .WORD >F3FE,>1,>8021,0
|
||||
VOLUMEF .WORD >F3FE,>1,>8020,0
|
||||
|
||||
*
|
||||
*SOUND PROCESSOR MAKES SOUNDS FOR N-CHANNELS (CURRENTLY 6):
|
||||
*
|
||||
* CHANNEL #0 OKI CHANNEL 3 MISC. SAMPLES
|
||||
* CHANNEL #1 OKI CHANNEL 4 SPEECH
|
||||
* CHANNEL #2 YAMAHA SOUNDS FX
|
||||
* CHANNEL #3 BACKGROUND MUSIC
|
||||
* CHANNEL #4 OKI CHANNEL 1 EXPLOSIONS
|
||||
* CHANNEL #5 OKI CHANNEL 2 GUN SHOTS
|
||||
*
|
||||
*PRIORITY WORD = 1111INNNPPPPPPPP; I=1=NON-INTERRUPTABLE
|
||||
*NNN=CHANNEL #(0-7);
|
||||
*PP=PRIORITY (00-FF), FF=HIGHEST.
|
||||
*TIME WORD =TTTT (0000-7FFF X 16MS).
|
||||
*SOUND WORD =8SSS SSS=SOUND CODE(000-FFF).
|
||||
|
||||
|
||||
TUNE1 .WORD >F3FE,10,>8001,0 ;REPORTER TUNE AT INTRO
|
||||
TUNE2 .WORD >F3FE,10,>8002,0 ;INTRO INTO DESERT
|
||||
TUNE3 .WORD >F3F0,10,>8005,0 ;INTRO INTO TAUNTS/RACKUP
|
||||
TUNE3O .WORD >F3F0,10,>8090,0 ;TUNE 3 OFF
|
||||
HIMUSC .WORD >F3F0,10,>8001,0 ;HIGH SCORE MUSIC
|
||||
BUYMSC .WORD >F3FE,10,>8006,0 ;BUYIN MUSIC
|
||||
SHOT .WORD >F450,05,>8043,0 ;REGULAR SHOT LOWER VOLUME
|
||||
THUMP .WORD >F460,08,>8046,0 ;NON STOP THUMPER SOUND
|
||||
CANNON .WORD >F560,09,>80DE,0 ;T72 CANNON
|
||||
THUMP2 .WORD >FC58,04,>8046,0 ;SPDBALL THUMPER SOUND #2
|
||||
EXP1 .WORD >FC55,18,>8030,0 ;EXPLOSION
|
||||
EXP1L .WORD >FC55,10,>8040,0 ;GRUNT EXP SND
|
||||
EXP2 .WORD >FC55,10,>8032,0 ;EXPLOSION LARGE
|
||||
EXP2HI .WORD >FC75,10,>8032,0 ;EXPLOSION LARGE HIGHER PRI
|
||||
EXP2HIB .WORD >FC75,05,>8032,0 ;EXPLOSION LARGE HIGHER PRI
|
||||
EXP3 .WORD >F455,06,>8034,0 ;EXPLOSION
|
||||
EXP4 .WORD >FC5A,06,>803A,0 ;SMART BOMB SND
|
||||
EXP5 .WORD >FC7A,06,>8038,0 ;
|
||||
SEXP2HI .WORD >F4E5,35,>8032,0 ;EXPLOSION LARGE HIGHER PRI
|
||||
SALTXP4 .WORD >F5E5,20,>80D8,0
|
||||
ALTEXP1 .WORD >FD75,10,>80E0,0 ;GRUNT EXP SND
|
||||
ALTXP1A .WORD >FD85,04,>80D4,0 ;ALT CHANNEL EXPLOSION
|
||||
ALTEXP3 .WORD >F575,15,>80D9,0 ;ALT CHAN MINE LAYER EXP
|
||||
ALTEXP4 .WORD >F575,>10,>80DF,0 ;ALT CHAN EXP - JEEPS
|
||||
ALTEXP5 .WORD >F575,>10,>80DE,0 ;ALT CHAN EXP
|
||||
ALTEXP6 .WORD >F577,>38,>80DE,0 ;ALT CHAN EXP
|
||||
TORCH .WORD >FDB5,40,>80BC,0 ;AHMED FLAME THROWER
|
||||
SETDWN .WORD >F8F4,05,>80D4,0 ;SET DOWN TIME BOMB
|
||||
CNTDOWN .WORD >FBF5,05,>80A4,0 ;BUYIN CNTDWN CLANG
|
||||
CNTDWN2 .WORD >FBF5,05,>80A5,0 ;BUYIN CNTDWN CLANG #2
|
||||
FLAMSND .WORD >F460,05,>8044,0 ;FLAME THROWER
|
||||
SHOT2 .WORD >FC61,05,>804E,0 ;SPRAY WEAPON
|
||||
GRNTSHT .WORD >F54F,10,>80E7,0 ;GRUNT SHOOTS AT PLYR
|
||||
TURTSND .WORD >F550,08,>805C,0 ;TURRET GUN FIRE SND
|
||||
TOTCARN .WORD >F9F0,100,>80CF,0 ;"TOTAL CARNAGE"
|
||||
SENDIN .WORD >F180,01,>80CE,0 ;"SEND IN SQUAD"
|
||||
ELECTRO .WORD >F0F0,40,>80C9,0 ;SHOCK SND AT DEATH
|
||||
MECH1 .WORD >F080,40,>80C5,0 ;MECHANICAL SND 1
|
||||
AGLSEXP .WORD >FDE8,20,>80DB,0 ;ALT CHAN GLASS SHATTER
|
||||
GLSEXP .WORD >FCE8,20,>8036,0 ;GLASS SHATTER
|
||||
WOO1 .WORD >F97E,>24,>80CB,0 ;WHHOOO
|
||||
WOO2 .WORD >F97E,>24,>80CC,0 ;"YEAH"
|
||||
THNKU .WORD >F97E,>10,>80BE,0 ;"THANK YOU"
|
||||
SCASH3 .WORD >F395,08,>8091,0 ;HOSTAGE PICKUP
|
||||
HELP .WORD >F97E,>24,>80C1,0 ;"HELP"
|
||||
HELP2 .WORD >F97F,>34,>80BF,0 ;"OVER HERE"
|
||||
HELP3 .WORD >F97E,>24,>80F1,0 ;WHISTLE
|
||||
HELP4 .WORD >F87E,>24,>80D6,0 ;WHISTLE
|
||||
GUYDI .WORD >F9FD,>44,>80FF,0 ;BAD GUY DIE SCREAM
|
||||
YEAHHH .WORD >F9F0,>64,>80FE,0 ;RACKUP YEAHHH
|
||||
SCASH .WORD >F395,08,>808C,0 ;CASH PICKUP SND
|
||||
SCASH2 .WORD >F395,08,>80A1,0 ;BMB PICKUP SND
|
||||
SQUISH .WORD >FBA5,18,>80AD,0 ;SQUISH SND
|
||||
WRPSND .WORD >FBFE,38,>80A9,0 ;WARP SND
|
||||
GETWPN .WORD >F858,15,>80D5,0 ;GUN BEING COCKED
|
||||
COINSND .WORD >FBFF,>10,>8098,0 ;COIN IN MELODY SND
|
||||
NOWAY .WORD >F9F7,>40,>80E6,0 ;"NO WAY" AT GAME OVER
|
||||
FREEMAN .WORD >F1EE,>18,>80CD,0 ;FREE MAN SPEECH
|
||||
KEYSND .WORD >F3EE,>18,>80A8,0 ;KEY MELODY SND
|
||||
KEYSND2 .WORD >FBEE,>18,>8098,0 ;KEY MELODY SND
|
||||
GETSND .WORD >FBEE,>18,>80AB,0 ;GET HELPER
|
||||
LOVEIT .WORD >F9F0,>78,>80CD,0 ;"I LOVE IT"
|
||||
FEET .WORD >F06E,>18,>80CA,0 ;FAST FEET PICKUP
|
||||
GRNSND .WORD >F365,>18,>8089,0 ;GRENADE LAUNCH SND
|
||||
STATSND .WORD >F08E,>18,>80C0,0 ;STATIC
|
||||
JEEPSND .WORD >F08F,>18,>80C3,0 ;JEEP DOWN SCRN
|
||||
HORNSND .WORD >F38E,>18,>8087,0 ;JEEP HORN 1
|
||||
HORN2 .WORD >F88E,>18,>80E9,0 ;JEEP HORN 2
|
||||
EXITSND .WORD >F38E,>18,>808C,0 ;EXIT SND
|
||||
FNDSND .WORD >F99E,>18,>80D2,0 ;FIEND DEATH
|
||||
BEEP1 .WORD >F3F7,>8,>80AC,0 ;BEEP CLICK
|
||||
BEEP2 .WORD >F3F7,>30,>8096,0 ;BEEP TONE 2 - NO BMB
|
||||
TRGTSND .WORD >FBF0,>50,>8097,0 ;CRUISE MISSILE TARGETED
|
||||
PLYRONE .WORD >F9FE,>58,>80D0,0 ;"PLAYER ONE"
|
||||
PLYRTWO .WORD >F9FE,>58,>80D1,0 ;"PLAYER TWO"
|
||||
DIESCRM .WORD >F18E,>8,>80D2,0 ;DIE SCREAM BEFORE SHOCK SND
|
||||
FIREDI .WORD >F88E,>40,>80D7,0 ;BURNING FLAME FOR DEATH
|
||||
AIRSCRM .WORD >F9FD,>58,>80D3,0 ;DIE SCREAM FOR UP INTO AIR
|
||||
SCREAM .WORD >F1F2,>48,>80E8,0 ;DIE SCREAM FOR CANDY BLITZER
|
||||
SLIDEIN .WORD >F3F7,>8,>808E,0 ;SLIDE IN SOUND
|
||||
TING .WORD >F38B,>10,>809C,0 ;BULLET HITTING METAL
|
||||
TING2 .WORD >F38B,>10,>809D,0 ;BULLET HITTING METAL
|
||||
TING3 .WORD >F38B,>10,>809E,0 ;BULLET HITTING METAL
|
||||
MTING .WORD >F3BB,>5,>80A3,0 ;LAND MINE BLOW UP
|
||||
GULP .WORD >FB8B,>35,>809F,0 ;SHIELD ON
|
||||
CRSSND .WORD >FCEB,>35,>80EA,0 ;CRUISE MISSILE COMING IN
|
||||
CRSSND2 .WORD >F4EB,>35,>80EA,0 ;CRUISE MISSILE COMING IN
|
||||
MEUGH .WORD >F9F0,15,>80FD,0 ;PLAYER DIE UGH
|
||||
UGH1 .WORD >F1A0,8,>80F5,0 ;C0 ;UGH
|
||||
UGH2 .WORD >F1A0,8,>80F8,0 ;UGH
|
||||
UGH3 .WORD >F1A0,8,>80FA,0 ;UGH
|
||||
UGH4 .WORD >F1A0,8,>80FC,0 ;UGH
|
||||
HASND .WORD >F9F2,>30,>80F2,0 ;WICKED LAUGHTER
|
||||
CHUCK .WORD >F0F3,>70,>80C7,0 ;UPCHUCK SND FOR FIENDS
|
||||
|
||||
|
||||
;WOO3 .WORD >F1FE,>34,>80F0,0 ;GIRL YEAH
|
||||
;VICMSC .WORD >F2F0,100,>80F0,0 ;MUTOID VICTORY MUSIC
|
||||
;STRYMSC .WORD >F280,300,>80F0,0 ;MUSIC FOR STORY IN DEMO
|
||||
;ENDTUNE .WORD >F280,300,>80F0,0 ;END OF GAME TUNE
|
||||
;DOOR1 .WORD >F376,5,>80F0,0 ;DOOR SLIDING OPEN
|
||||
;DOOR2 .WORD >F376,5,>80F0,0 ;DOOR SLIDING SHUT
|
||||
;FSHOT .WORD >F7A0,>2E,>80F0,0 ;POD SIZZLE
|
||||
;TUNE4 .WORD >F2FF,120,>80F0,0 ;3RD BKRND TUNE (SNAKES)
|
||||
;BTUNE1 .WORD >F2FF,>120,>80F0,0 ;MUTOID BOSS TUNE
|
||||
;BTUNE2 .WORD >F2FF,>120,>80F0,0 ;FACE BOSS TUNE
|
||||
;BTUNE3 .WORD >F2FF,>120,>80F0,0 ;SNAKE BOSS TUNE
|
||||
;ICON .WORD >F3AF,>1E,>80F0,0 ;WEAPON ICON PICKUP
|
||||
;GDTH2 .WORD >F3AF,>1E,>80F0,0 ;GRUNT DEATH
|
||||
;RIFL .WORD >F2E8,>08,>80F0,0 ;RIFLE SPRAY WEAPON
|
||||
;HEXP .WORD >F3A0,>10,>80F0,0 ;OTHER HULK DEATH
|
||||
;HEXP2 .WORD >F3A0,>1E,>80F0,0 ;OTHER HULK DEATH
|
||||
;HEXP3 .WORD >F3A0,>1E,>80F0,0 ;OTHER HULK DEATH
|
||||
;BUBL .WORD >FBFB,>1E,>80F0,0 ;BLOOD BUBBLE
|
||||
;LOWSND .WORD >FBFD,120,>80F0,0 ;WEAPON LOW SND
|
||||
;LAZSND .WORD >F3F7,>10,>80F0,0 ;LAZER BOLTS FROM EYES
|
||||
;BONS1 .WORD >F3FF,>1,>80F0,0 ;BONUS BUILDUP
|
||||
;BONS2 .WORD >F3FE,>1,>80F0,0 ;BONUS END
|
||||
;SCRM .WORD >F3EF,>10,>80F0,0 ;SNAKE SCREAM DEATH
|
||||
;BEEP3 .WORD >F3F7,>8,>80F0,0 ;BONUS PRIZE ERASE
|
||||
;MONIN .WORD >F3F8,>10,>80F0,0 ;MONITOR SLIDE IN
|
||||
;MISS .WORD >F2E8,>08,>80F0,0 ;MISSLES
|
||||
;MISS2 .WORD >F0E7,>08,>80F0,0 ;MISSLES FROM BAD GUYS
|
||||
;BLDS .WORD >F3DF,>1E,>80F0,0 ;BLADES
|
||||
;TING2 .WORD >F3F3,>0F,>80F0,0 ;BULLET HITTING WALL
|
||||
;GIFT .WORD >F3A0,50,>80F0,0 ;PRESENT PICKUP
|
||||
;GDTH1 .WORD >F3E4,35,>80F0,0 ;GRUNT DEATH
|
||||
;EXP1 .WORD >F0E8,>08,>80F0,0 ;EXPLOSION SMALL
|
||||
;EXP3 .WORD >F0E8,>0F,>80F0,0 ;EXOLOSION LARGE
|
||||
;EXP3HI .WORD >F2FE,15,>80F0,0 ;EXOLOSION LARGE FOR SMRT BMB
|
||||
;EXP3HIA .WORD >F8FF,35,>80F0,0 ;EXOLOSION LARGE FOR MUTOID
|
||||
;EXP3HIB .WORD >F0FF-08,35,>80F0,0 ;EXOLOSION LARGE FOR SMRTBMB
|
||||
;UGH .WORD >F8FE,15,>80F0,0 ;PLAYER DIE SCREAM
|
||||
;SHKSND .WORD >F8FE,120,>80F0,0 ;PLAYER ELECTRIC SHOCK
|
||||
;CROWD1 .WORD >F8F8,>4E,>80F0,0 ;CROWD NOISE CHEERS
|
||||
;CROWD1A .WORD >F0F8,>3E,>80F0,0 ;CROWD NOISE CHEERS TVMNTR
|
||||
;CROWD2 .WORD >F8F8,>2E,>80F0,0 ;CROWD NOISE OOHS N AAHS
|
||||
;ICSND .WORD >F3EF,>1E,>80F0,0 ;ICON PICKUP
|
||||
;
|
||||
;SPEECH TABLES
|
||||
;
|
||||
;PZLSND .LONG PZ1SND,PZ2SND,PZ3SND
|
||||
;PZ1SND .LONG WOO3,WOO1,WOO1 ;STSTR,SCAR,SVCR
|
||||
;PZ2SND .LONG WOO3,WOO1,WOO1 ;STELE,SLUGG,STRIP
|
||||
;PZ3SND .LONG WOO3,WOO1,WOO1 ;SHGM,SMWR,SMEAT
|
||||
|
||||
;
|
||||
;SPEECH
|
||||
;
|
||||
;GOGO .WORD >F2FE,>18,>80F0,0 ;GIRLS 'GO!'
|
||||
;UGH2 .WORD >F2E8,>14,>80F0,0 ;UGH! / SNAKE GRUNT
|
||||
;UGH3 .WORD >F2E8,>14,>80F0,0 ;OOF!
|
||||
;
|
||||
|
||||
;OUCH .WORD >F2FE,>40,>80F0,0 ;OUCH GROWL
|
||||
;AWWSND .WORD >F2FD,>3A,>80F0,0 ;BIG AWW SND
|
||||
;AWWSND2 .WORD >F2FF,>3A,>80F0,0 ;BIG AWW SND FLAT FACE
|
||||
;EESND .WORD >F2FD,>30,>80F0,0 ;EE-AAH SND
|
||||
;ONOSND .WORD >F2FE,>30,>80F0,0 ;OH NO SND
|
||||
;HA2SND .WORD >F2FE,>30,>80F0,0 ;HAHA SND
|
||||
;WPWPSND .WORD >F2FF,>40,>80F0,0 ;WHOOP WHOOP SND
|
||||
;WPSSND .WORD >F2FF,>40,>80F0,0 ;LOTS OF WHOOPS
|
||||
|
||||
;
|
||||
|
||||
;BINGO .WORD >F2FF-07,>30,>80F0,0 ;"BINGO"
|
||||
;MCSPK2 .WORD >F2FE,>3F,>80F0,0 ;BIG MONEY
|
||||
;MCSPK3 .WORD >F2FE,>3F,>80F0,0 ;BIG PRIZES
|
||||
;MCSPK5 .WORD >F8FF-06,>5B,>80F0,0 ;CONTESTANT 1
|
||||
;MCSPK6 .WORD >F8FF-06,>5B,>80F0,0 ;CONTESTANT 2
|
||||
;MCSPK7 .WORD >F8FE,>53,>80F0,0 ;"TOTAL CARNAGE"
|
||||
;LEGOSND .WORD >F8FE,>30,>80F0,0 ;LET'S GO
|
||||
;MCSPK9 .WORD >F2FF-07,>53,>80F0,0 ;TEN SECONDS
|
||||
;MCSPK10 .WORD >F8FE,>43,>80F0,0 ;"YOU'LL NEED IT"
|
||||
;MCSPK11 .WORD >F8FE,>43,>80F0,0 ;"BUY FOR A DOLLAR:
|
||||
;MCSPK4 .WORD >F2FE,>3F,>80F0,0 ;"GOOD LUCK"
|
||||
|
||||
|
||||
.END
|
||||
|
|
@ -0,0 +1,541 @@
|
|||
.MLIB "T2MACS.LIB"
|
||||
.FILE 'T2SND.ASM'
|
||||
.TITLE "<<< TERMINATOR 2 ---- SOUND PROCESSOR >>>"
|
||||
.WIDTH 132
|
||||
.OPTION B,D,L,T
|
||||
.MNOLIST
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* COPYRIGHT (C) 1991 WILLIAMS ELECTRONICS GAMES, INC. *
|
||||
* ALL RIGHTS RESERVED. *
|
||||
* *
|
||||
**************************************************************************
|
||||
|
||||
.INCLUDE "T2.H" ;Game equates
|
||||
|
||||
.TEXT
|
||||
*
|
||||
*SOUND PROCESSOR MAKES SOUNDS FOR N-CHANNELS (CURRENTLY 6):
|
||||
*
|
||||
* CHANNEL #0 OKI CHANNEL 3
|
||||
* CHANNEL #1 OKI CHANNEL 4
|
||||
* CHANNEL #2 YAMAHA SOUNDS
|
||||
* CHANNEL #3 MUSIC
|
||||
* CHANNEL #4 OKI CHANNEL 1 (PLAYER 1)
|
||||
* CHANNEL #5 OKI CHANNEL 2 (PLAYER 2)
|
||||
*
|
||||
*THE ROUTINE "SNDRES" MUST BE CALLED TO INITAILIZE SOUND BOARD
|
||||
*ALSO SCRATCHPAD RAM MUST BE INITIALIZED TO ZERO
|
||||
*THE ROUTINE "SNDPRC" MUST BE CALLED EVERY 16MSEC. IN THE MAIN PROGRAM LOOP
|
||||
*(THE SAME PLACE WHERE "PRCDSP" IS NORMALLY CALLED)
|
||||
*MAKING A SOUND:
|
||||
*
|
||||
*SOUND TABLE FORMAT
|
||||
*
|
||||
*SOUND DESCRIPTION:
|
||||
* .WORD PRIORITY, TIME, SOUND CODE, (PRIORITY), (TIME), (SOUND CODE), 0
|
||||
*
|
||||
*SOUND ENDS IN 0000.
|
||||
*PRIORITY WORD = 1111INNNPPPPPPPP; I=1=NON-INTERRUPTABLE
|
||||
*NNN=CHANNEL #(0-7);
|
||||
*PP=PRIORITY (00-FF), FF=HIGHEST.
|
||||
*TIME WORD =TTTT (0000-7FFF X 16MS).
|
||||
*SOUND WORD =8SSS SSS=SOUND CODE(000-FFF).
|
||||
*SOUND WORD =4SSS SSS=SOUND CODE (ZERO TIME SOUND CODE)
|
||||
*EXAMPLE 1:
|
||||
*
|
||||
* MOVI SND1,A0 ;LOAD ABSOLUTE ADDRESS OF SND1 IN A0
|
||||
* CALLA ONESND ;MAKE ONE SND1
|
||||
*
|
||||
*SND1: .WORD >F0FF,>0100,>8088,0
|
||||
*
|
||||
*SND1 IS FOR CHANNEL=0, PRIORITY=FF (HIGHEST), TIME = 100H X 16MSEC.
|
||||
*SOUND CODE = 88H
|
||||
*SND1 WILL MAKE ONE SOUND 88H, AND NOT ALLOW IT TO BE INTERRUPTED
|
||||
*FOR 100H X 16MSEC., EXCEPT BY A SOUND OF EQUAL OR GREATER PRIORITY ON
|
||||
*CHANNEL 0
|
||||
*
|
||||
* MOVI SND2,A0 ;LOAD SND2 ADDRESS
|
||||
* MOVK 3,A1 ;REPEAT IT 3 TIMES
|
||||
* CALLA SNDLD ;GO DO IT
|
||||
|
||||
*SND2: .WORD >F311,>0020,>8044,>8044,0
|
||||
*
|
||||
*SND2 IS ON CHANNEL 3, PRIORITY 11H. IT WILL MAKE ONE SOUND 44H, WAIT
|
||||
*20H X 16 MSEC., THEN MAKE ANOTHER SOUND 44H, WHICH CANNOT BE INTERRUPTED
|
||||
*FOR 20H X 16 MSEC., EXCEPT BY A SOUND OF EQUAL OR GREATER PRIORITY ON
|
||||
*CHANNEL 3
|
||||
*
|
||||
*SINCE A1 IS LOADED WITH A REPEAT COUNT OF 3, THIS PROCESS WILL BE REPEATED
|
||||
*THREE TIMES. THE END RESULT WILL BE 6 SOUND 44H SEPERATED BY 20H X 16MSEC.
|
||||
*
|
||||
*NOTE: THE CHANNEL SPECIFIED BY "MUSICHAN" WILL CAUSE THE MUSIC SECTION OF
|
||||
* THE SOUND BOARD TO BE STROBED.
|
||||
*
|
||||
SNDPRI .SET 0 ;PRIORITY (00=LOWEST, FF=HIGHEST)
|
||||
SNDTIM .SET 010h ;TIMER 000-7FFF
|
||||
SNDTMR .SET 020h ;TIMER COUNTDOWN
|
||||
SNDST .SET 030h ;ADDRESS OF SOUND TABLE START
|
||||
SNDPTR .SET 050h ;POINTER TO SOUND TABLE DATA
|
||||
SNDREP .SET 070h ;REPEAT COUNT OF SOUND
|
||||
*NOTE: IF YOU CHANGE SNDSIZ, MAKE SURE ANY CODE THAT USES IT AS A DIVISOR
|
||||
* PERFORMS THE CORRECT OP. CURRENTLY IT IS A POWER OF 2 SO SRL IS USED.
|
||||
SNDSIZ .SET 080h
|
||||
|
||||
SL_CHANNEL .EQU 21 ;SHIFTS REQUIRED TO ISOLATE CHANNEL NUMBER
|
||||
SR_CHANNEL .EQU 29
|
||||
|
||||
NCHAN EQU 6 ;DECLARE NUMBER OF ALLOWED CHANNELS
|
||||
MUSICHAN EQU 3 ;THIS CHANNEL IS FOR THE TUNES
|
||||
|
||||
*THESE STROBE EQUATES ARE FOR THE PINBALL SOUND CARD
|
||||
RESETBIT EQU 0100H ;THIS IS THE SOUND RESET BIT
|
||||
SOUNDBIT EQU 0200H ;THIS IS THE SOUND BOARD STROBE
|
||||
|
||||
EXTENDED_CODE .EQU 7AH ;SEND THIS TO INDICATE EXTENDED SOUND CALL
|
||||
|
||||
.BSS SNDSTR,NCHAN*SNDSIZ ;RESERVE STORAGE AREA
|
||||
.BSS SNDEND,0 ;END OF SOUND PROCESSOR RAM
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* A_SOUND - ANIM FUNC TO MAKE A SOUND CALL *
|
||||
* A8 = PTR TO OBJECT *
|
||||
* *A8(AnimFrm),L = PTR TO SOUND SCRIPT *
|
||||
* NOTE: ANIM FUNCS DO NOT PUSH REGISTERS! *
|
||||
* *
|
||||
**************************************************************************
|
||||
A_SOUND
|
||||
CALLA GETAFARG_LONG
|
||||
CALLR ONESND
|
||||
RETS
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* CLRSNDDB - CLEAR THE SOUND PROCESSOR DATA BASE *
|
||||
* *
|
||||
**************************************************************************
|
||||
CLRSNDDB
|
||||
MMTM SP,A0,A1
|
||||
MOVI SNDSTR,A1
|
||||
CLR A0
|
||||
CLRSDBL
|
||||
MOVE A0,*A1+,W
|
||||
CMPI SNDEND,A1
|
||||
JRLO CLRSDBL
|
||||
MMFM SP,A0,A1
|
||||
RETS
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* ONESND - MAKE ONE SOUND *
|
||||
* A0 = PTR TO SOUND SCRIPT (0 = NO SOUND, JUST RETURN) *
|
||||
* RETURNS: *
|
||||
* A0 = SAME *
|
||||
* *
|
||||
**************************************************************************
|
||||
ONESND:
|
||||
PUSH A1
|
||||
MOVE A0,A0 ;DID HE CALL WITH A NULL?
|
||||
JRZ ONESND_X ;BR = YES
|
||||
.IF DEBUG
|
||||
MOVE A0,A1
|
||||
SLL 28,A1
|
||||
SRL 28,A1
|
||||
JRNZ $
|
||||
.ENDIF
|
||||
MOVK 1,A1
|
||||
CALLR SNDLD
|
||||
ONESND_X:
|
||||
PULLQ A1
|
||||
RETS
|
||||
*
|
||||
*SOUND LOADER
|
||||
*A0=SOUND ADDRESS, A1=REPEAT COUNT
|
||||
*SOUND DESCRIPTION= PRIORITY,TIME,SOUND CODE,(PRIORITY),(TIME),(SOUND CODE),0
|
||||
*SOUND ENDS IN ZERO
|
||||
*PRIORITY WORD = 1111INNNPPPPPPPP; I=1=NON-INTERRUPTABLE
|
||||
*NNN=CHANNEL #(0-7);
|
||||
*PP=PRIORITY (00-FF), FF=HIGHEST.
|
||||
*TIME WORD =TTTT (0000-7FFF X 16MS).
|
||||
*SOUND WORD =8SSS SSS=SOUND CODE(000-FFF).
|
||||
*SOUND WORD =4SSS SSS=SOUND CODE (ZERO TIME SOUND CODE)
|
||||
SNDLD:
|
||||
MMTM SP,A0,A1,A2,A3,A4,A5
|
||||
MOVE @SOUNDSUP,A4,W
|
||||
JRNZ SNDLDX ;SOMEBODY SAYS NO!
|
||||
|
||||
MOVE *A0,A5 ;GET PRIORITY BYTE
|
||||
MOVE A5,A2
|
||||
MOVI SNDSIZ,A3
|
||||
SLL SL_CHANNEL,A5
|
||||
SRL SR_CHANNEL,A5 ;EXTRACT CHANNEL BITS
|
||||
MPYU A5,A3
|
||||
ADDI SNDSTR,A3 ;CALC RAM CHANNEL ADDRESS
|
||||
MOVE *A3(SNDPRI),A4 ;GET CURRENT PRIORITY
|
||||
BTST 11,A4 ;CURRENT SOUND NON-INTERRUPTABLE ?
|
||||
JRNE SNDLDX ;YES, CAN NEW SOUND
|
||||
MOVE A2,A5 ;EXTRACT PRIORITY
|
||||
SLL 24,A5
|
||||
SRL 24,A5
|
||||
SLL 24,A4
|
||||
SRL 24,A4
|
||||
CMP A5,A4 ;NEW ONE GREATER OR EQUAL?
|
||||
JRHI SNDLDX ;OLD ONE IS GREATER, FORGET NEW SOUND
|
||||
**** JRLO SNDLD1 ;NEW ONE IS GREATER, DO IT
|
||||
**** MOVE *A3(SNDPRI),A4 ;INTERRUPTABLE BY EQUAL?
|
||||
**** BTST 10,A4
|
||||
**** JRNE SNDLDX ;NON-INTERRUPTABLE BY EQUAL, CAN NEW GUY
|
||||
****SNDLD1:
|
||||
MOVE A0,A4
|
||||
MOVE A3,A0 ;CHANNEL RAM ADDRESS
|
||||
MOVE A4,*A0(SNDPTR),L ;SETUP SOUND DATA POINTER (ROM)
|
||||
MOVE A4,*A0(SNDST),L ;SETUP SOUND START POINTER
|
||||
MOVE A1,*A0(SNDREP) ;REPEAT COUNT
|
||||
CALLR SNDUPD ;START SOUND GOING
|
||||
SNDLDX:
|
||||
MMFM SP,A0,A1,A2,A3,A4,A5
|
||||
RETS
|
||||
|
||||
*
|
||||
*SOUND PROCESSOR CALLED EVERY 16 MSEC.
|
||||
*
|
||||
SNDPRC:
|
||||
MOVI SNDSTR,A0
|
||||
MOVK NCHAN,A1
|
||||
SNDLP0:
|
||||
MOVE *A0(SNDTMR),A2 ;CHECK TIMER
|
||||
JREQ SNDPLP ;EQUAL, INACTIVE CHANNEL
|
||||
DEC A2
|
||||
MOVE A2,*A0(SNDTMR) ;DEC TIME
|
||||
JRNE SNDPLP ;NO TIMEOUT
|
||||
CALLR SNDUPD ;UPDATE SOUND
|
||||
SNDPLP:
|
||||
ADDI SNDSIZ,A0
|
||||
DSJS A1,SNDLP0
|
||||
RETS
|
||||
|
||||
*
|
||||
*UPDATE SOUND
|
||||
*A0=POINTER TO SOUND CHANNEL RAM
|
||||
*
|
||||
SNDUPD:
|
||||
SNDUP0:
|
||||
MOVE *A0(SNDPTR),A2,L ;GET POINTER TO ROM TABLE
|
||||
SNDUP1:
|
||||
MOVE *A2+,A3 ;GET NEXT ROM TABLE ENTRY
|
||||
JREQ SNDUP5 ;END OF SOUND
|
||||
*CHECK FOR PRIORITY
|
||||
CMPI ->1000,A3
|
||||
JRLO SNDUP2 ;NOT PRIORITY CHANGE
|
||||
MOVE A3,*A0(SNDPRI) ;UPDATE PRIORITY
|
||||
JRUC SNDUP1 ;GO GET NEXT ONE
|
||||
*CHECK FOR SOUND CODE
|
||||
SNDUP2:
|
||||
CMPI 4000H,A3
|
||||
JRLO SNDUP3
|
||||
CMPI ->8000,A3
|
||||
JRHS SNDUP2A
|
||||
|
||||
MOVE A0,A5
|
||||
SUBI SNDSTR,A5
|
||||
SRL 7,A5 ;DIVIDE BY 128
|
||||
CALLR SNDSND ;SEND SOUND CODE
|
||||
JRUC SNDUP1 ;GET THE NEXT ONE BOYS
|
||||
SNDUP2A:
|
||||
MOVE A0,A5
|
||||
SUBI SNDSTR,A5
|
||||
|
||||
SRL 7,A5 ;DIVIDE BY 128
|
||||
**************************************************************************
|
||||
* *
|
||||
* MOVI SNDSIZ,A6 ;IF SNDSIZ IS NOT A POWER OF 2, *
|
||||
* DIVU A6,A5 ;USE DIVIDE TO CALCULATE SOUND CHANNEL # *
|
||||
* *
|
||||
**************************************************************************
|
||||
CALLR SNDSND ;SEND SOUND CODE
|
||||
|
||||
MOVE *A0(SNDTIM),*A0(SNDTMR)
|
||||
MOVE A2,*A0(SNDPTR),L ;STORE POINTER
|
||||
RETS
|
||||
*TIMER VALUE X 16MSEC.
|
||||
SNDUP3:
|
||||
MOVE A3,*A0(SNDTIM)
|
||||
MOVE A3,*A0(SNDTMR)
|
||||
JRUC SNDUP1 ;SET TIMER VALUE, AND GO GET NEXT
|
||||
*CHECK FOR REPEATERS
|
||||
SNDUP5:
|
||||
MOVE *A0(SNDREP),A3 ;CHECK REPEAT COUNT
|
||||
DEC A3
|
||||
MOVE A3,*A0(SNDREP)
|
||||
JREQ SNDUP6 ;ALL OVER
|
||||
MOVE *A0(SNDST),*A0(SNDPTR)
|
||||
JRUC SNDUP0 ;START SOUND OVER
|
||||
*SOUND IS OVER CLEAR THE CHANNEL
|
||||
SNDUP6:
|
||||
CLR A2
|
||||
MOVE A2,*A0(SNDPRI) ;CLEAR SOUND PRIORITY
|
||||
MOVE A2,*A0(SNDST),L ;CLEAR SOUND PTR
|
||||
SNDUPX:
|
||||
RETS
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* SNDSND - RAW HARDWARE SOUND CALL *
|
||||
* A3=SOUND CODE B0-B7 *
|
||||
* A5=SOUND CHANNEL # *
|
||||
* RETURNS: *
|
||||
* NOTHING *
|
||||
* NOTE: TRASHES A14 *
|
||||
* *
|
||||
**************************************************************************
|
||||
SNDSND:
|
||||
MMTM SP,A0,A3
|
||||
|
||||
SLL 20,A3
|
||||
SRL 20,A3 ;STRIP OFF BITS
|
||||
CMPI 100H,A3 ;IS THIS AN EXTENDED SOUND CALL?
|
||||
JRLO SNDSND_BASE ;BR = NO
|
||||
MOVE A3,A0
|
||||
MOVI EXTENDED_CODE,A3 ;SEND THE EXTENDED FEATURE
|
||||
CALLR SNDSND
|
||||
MOVE A0,A3
|
||||
SLL 24,A3
|
||||
SRL 24,A3
|
||||
SNDSND_BASE
|
||||
GETST A14
|
||||
DINT
|
||||
MOVE @SOUND_COPY,A0,W
|
||||
SRL 8,A0
|
||||
SLL 8,A0
|
||||
ADD A3,A0
|
||||
ANDNI SOUNDBIT,A0
|
||||
MOVE A0,@SOUND_COPY,W
|
||||
MOVE A0,@SOUND,W ;HIT SOUND
|
||||
PUTST A14
|
||||
|
||||
MOVI 8,A0
|
||||
DSJS A0,$ ;SLOW IT DOWN A BIT
|
||||
|
||||
GETST A14
|
||||
DINT
|
||||
MOVE @SOUND_COPY,A0,W
|
||||
ORI SOUNDBIT|RESETBIT,A0
|
||||
MOVE A0,@SOUND_COPY,W
|
||||
MOVE A0,@SOUND,W ;HIT SOUND
|
||||
PUTST A14
|
||||
|
||||
MOVI 390,A0 ;MAX FIRQ DELAY ON SOUND BOARD IS 180 micros
|
||||
DSJS A0,$
|
||||
|
||||
MMFM SP,A0,A3
|
||||
RETS
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* SNDRES - FULL SOUND BOARD RESET, SOUND CHECKSUMS ARE REPORTED. *
|
||||
* *
|
||||
* NOTE: TRASHES A14 *
|
||||
* *
|
||||
**************************************************************************
|
||||
SNDRES:
|
||||
PUSH A0
|
||||
GETST A14
|
||||
DINT
|
||||
MOVE @SOUND_COPY,A0,W
|
||||
ANDNI RESETBIT,A0
|
||||
MOVE A0,@SOUND_COPY,W
|
||||
MOVE A0,@SOUND,W
|
||||
PUTST A14
|
||||
MOVI 100,A0 ;WAIT FOR IT TO CATCH
|
||||
DSJS A0,$
|
||||
|
||||
GETST A14
|
||||
DINT
|
||||
MOVE @SOUND_COPY,A0,W
|
||||
ORI RESETBIT|SOUNDBIT,A0
|
||||
MOVE A0,@SOUND_COPY,W
|
||||
MOVE A0,@SOUND,W
|
||||
PUTST A14
|
||||
|
||||
PULLQ A0
|
||||
RETS
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* IS_SOUND - CHECK SOUND DATA BASE TO SEE IF THE GIVEN SOUND SCRIPT *
|
||||
* IS CURRENTLY BEING PROCESSED. (I.E. ANOTHER SOUND *
|
||||
* HAS OR HAS NOT TAKEN OVER.) *
|
||||
* A0 = PTR TO SOUND SCRIPT *
|
||||
* RETURNS *
|
||||
* Z = SAME SCRIPT *
|
||||
* NZ = SCRIPT NO LONGER ACTIVE *
|
||||
* *
|
||||
**************************************************************************
|
||||
IS_SOUND
|
||||
PUSH A3
|
||||
MOVE *A0,A14,W ;GET CHANNEL/PRIORITY WORD
|
||||
MOVI SNDSIZ,A3
|
||||
SLL SL_CHANNEL,A14
|
||||
SRL SR_CHANNEL,A14 ;EXTRACT CHANNEL BITS
|
||||
MPYU A14,A3
|
||||
ADDI SNDSTR,A3 ;GET THE CORRECT RAM CHANNEL ADDRESS
|
||||
MOVE *A3(SNDST),A14,L
|
||||
CMP A0,A14 ;SAME SCRIPT ACTIVE?
|
||||
PULL A3
|
||||
RETS
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* CKSNDPRI - CHECK SOUND CHANNEL FOR EXISTANCE OF A GIVEN SOUND PRIORITY *
|
||||
* A0 = CHANNEL # *
|
||||
* A1 = SOUND PRIORITY *
|
||||
* RETURNS: *
|
||||
* CARRY CLEAR = PRIORITY NOT ACTIVE *
|
||||
* CARRY SET = PRIORITY ACTIVE *
|
||||
* *
|
||||
**************************************************************************
|
||||
CKSNDPRI
|
||||
MMTM SP,A0,A2
|
||||
MOVI SNDSTR,A2
|
||||
SLL 7,A0 ;CHANNEL x 128
|
||||
ADD A2,A0 ;OFFSET TO CORRECT CHANNEL AREA
|
||||
MOVB *A0,A0
|
||||
CMP A0,A1
|
||||
JRNE CKSPRI1 ;BR = PRIORITY NOT ACTIVE
|
||||
SETC
|
||||
MMFM SP,A0,A2
|
||||
RETS
|
||||
CKSPRI1
|
||||
CLRC
|
||||
MMFM SP,A0,A2
|
||||
RETS
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* QSNDRST - QUIET SOUND RESET, NO DIAGNOSTIC DONGERS *
|
||||
* *
|
||||
**************************************************************************
|
||||
QSNDRST
|
||||
MMTM SP,A3,A5
|
||||
CALLR SNDRES ;RESET THE BOARD
|
||||
MOVI 100,A0
|
||||
DSJS A0,$ ;NEED 30 mics BEFORE SENDING CODE
|
||||
CLR A3
|
||||
CLR A5
|
||||
CALLR SNDSND ;PEND ON DIG SIDE
|
||||
MOVK MUSICHAN,A5
|
||||
CALLR SNDSND ;PEND ON YAMAHA SIDE
|
||||
MMFM SP,A3,A5
|
||||
RETS
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* FADE_UP - PROCESS TO FADE THE SOUND UP *
|
||||
* A11 = FADE RATE *
|
||||
* *
|
||||
**************************************************************************
|
||||
FADE_UP:
|
||||
MOVI FADE_UP_TAB,A8
|
||||
JRUC FADER
|
||||
**************************************************************************
|
||||
* *
|
||||
* FADE_DOWN - PROCESS TO FADE THE SOUND UP *
|
||||
* A11 = FADE RATE *
|
||||
* *
|
||||
**************************************************************************
|
||||
FADE_DOWN:
|
||||
MOVI FADE_DOWN_TAB,A8
|
||||
JRUC FADER
|
||||
|
||||
FADER:
|
||||
MOVI FADEPID,A0
|
||||
CLR A1
|
||||
NOT A1
|
||||
CALLA KILALL ;WASTE ANY OTHER FADERS
|
||||
FADE_LP:
|
||||
MOVE *A8+,A0,L
|
||||
JRZ FADE_DONE
|
||||
CALLR ONESND
|
||||
SLOOPR A11,FADE_LP
|
||||
FADE_DONE:
|
||||
DIE
|
||||
|
||||
FADE_UP_TAB:
|
||||
.LONG VOLUME0
|
||||
.LONG VOLUME1
|
||||
.LONG VOLUME2
|
||||
.LONG VOLUME3
|
||||
.LONG VOLUME4
|
||||
.LONG VOLUME5
|
||||
.LONG VOLUME6
|
||||
.LONG VOLUME7
|
||||
.LONG VOLUME8
|
||||
.LONG VOLUME9
|
||||
.LONG VOLUMEA
|
||||
.LONG VOLUMEB
|
||||
.LONG VOLUMEC
|
||||
.LONG VOLUMED
|
||||
.LONG VOLUMEE
|
||||
.LONG VOLUMEF
|
||||
.LONG 0
|
||||
|
||||
FADE_DOWN_TAB:
|
||||
.LONG VOLUMEF
|
||||
.LONG VOLUMEE
|
||||
.LONG VOLUMED
|
||||
.LONG VOLUMEC
|
||||
.LONG VOLUMEB
|
||||
.LONG VOLUMEA
|
||||
.LONG VOLUME9
|
||||
.LONG VOLUME8
|
||||
.LONG VOLUME7
|
||||
.LONG VOLUME6
|
||||
.LONG VOLUME5
|
||||
.LONG VOLUME4
|
||||
.LONG VOLUME3
|
||||
.LONG VOLUME2
|
||||
.LONG VOLUME1
|
||||
.LONG VOLUME0
|
||||
.LONG 0
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* POPULAR SOUND CALLS *
|
||||
* *
|
||||
**************************************************************************
|
||||
*
|
||||
*HIGH PRIORITY OFF CODES, NOTHING SHOULD BEAT THESE
|
||||
CVSDOFF .WORD >F0FF|>800,>01,>8000,0 ;CVSD BACKGROUND LOOP OFF
|
||||
CVSDFOFF .WORD >F0FF|>800,>01,>8000,0 ;CVSD FOREGROUND LOOP OFF
|
||||
SOUNDOFF .WORD >F0FF|>800,>01,>8000,0 ;TURN SOUND SIDE OFF
|
||||
ALLOFF .WORD >F3FF|>800,>01,>8000,0 ;MUSIC AND EFFECTS OFF
|
||||
MUSICOFF .WORD >F3FF|>800,>01,>807E,0 ;TURN JUST MUSIC OFF
|
||||
MUSITOFF .WORD >F3FF|>800,>01,>8040,0 ;MUSIC TRANSITION OFF
|
||||
YAMOFF .WORD >F2FF|>800,>01,>807F,0 ;YAMAHA EFFECT OFF
|
||||
|
||||
VOLUME0 .WORD >F3FE,>1,>802F,0
|
||||
VOLUME1 .WORD >F3FE,>1,>802E,0
|
||||
VOLUME2 .WORD >F3FE,>1,>802D,0
|
||||
VOLUME3 .WORD >F3FE,>1,>802C,0
|
||||
VOLUME4 .WORD >F3FE,>1,>802B,0
|
||||
VOLUME5 .WORD >F3FE,>1,>802A,0
|
||||
VOLUME6 .WORD >F3FE,>1,>8029,0
|
||||
VOLUME7 .WORD >F3FE,>1,>8028,0
|
||||
VOLUME8 .WORD >F3FE,>1,>8027,0
|
||||
VOLUME9 .WORD >F3FE,>1,>8026,0
|
||||
VOLUMEA .WORD >F3FE,>1,>8025,0
|
||||
VOLUMEB .WORD >F3FE,>1,>8024,0
|
||||
VOLUMEC .WORD >F3FE,>1,>8023,0
|
||||
VOLUMED .WORD >F3FE,>1,>8022,0
|
||||
VOLUMEE .WORD >F3FE,>1,>8021,0
|
||||
VOLUMEF .WORD >F3FE,>1,>8020,0
|
||||
|
||||
TEMPO_UP
|
||||
.WORD >F2FE,>1,>8080,0
|
||||
TEMPO_DOWN
|
||||
.WORD >F2FE,>1,>8081,0
|
||||
|
||||
.END
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,50 @@
|
|||
;ADD THIS TO FIEND.ASM
|
||||
|
||||
|
||||
|
||||
.DEF MAXFND,FND_CNT
|
||||
|
||||
.BSS MAXFND,16 ;MAXIMUM ALLOWED ON SCRN THE WAVE
|
||||
.BSS FND_CNT,16 ;CURRENT TOTAL FIENDS ON SCRN
|
||||
|
||||
ONE_FND
|
||||
;A9=[Y,X] OF SPOT TO START FROM
|
||||
;A10=DIRECTION
|
||||
;8 1 2
|
||||
;7 3
|
||||
;6 5 4
|
||||
;IF 1 OR 5, JUMP AT PLAYER, OTHERWISE JUST WALK OUT!
|
||||
|
||||
|
||||
ONE_FND
|
||||
;A9=[Y,X] OF SPOT TO START FROM
|
||||
;A10=DIRECTION
|
||||
;8 1 2
|
||||
;7 3
|
||||
;6 5 4
|
||||
;IF 1 OR 5, JUMP AT PLAYER, OTHERWISE JUST WALK OUT!
|
||||
|
||||
|
||||
;ADD THESE LINES SO THE SPAWN FIEND CODE WILL WORK
|
||||
MOVE @FND_CNT,A0 ;RUNNING TOTAL ON SCREEN
|
||||
INC A0
|
||||
MOVE A0,@FND_CNT
|
||||
|
||||
CLR A1
|
||||
MOVY A9,A1
|
||||
MOVX A9,A0
|
||||
SLL 16,A0
|
||||
MOVE A10,A9
|
||||
JRUC IN_HERE
|
||||
|
||||
;AT LABEL FIEND:
|
||||
MOVE @FND_CNT,A0
|
||||
INC A0
|
||||
MOVE A0,@FND_CNT
|
||||
DIE
|
||||
;AT LABEL FC:
|
||||
MOVE @FND_CNT,A0 ;EVERY FIEND WHO DIES FALLS IN HERE
|
||||
DEC A0 ;SO WE DEC ON SCREEN CNT
|
||||
MOVE A0,@FND_CNT
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,103 @@
|
|||
.FILE 'TEXT.ASM'
|
||||
.TITLE "ROBO-RAMA FONTS AND TEXT MESSAGES"
|
||||
.WIDTH 132
|
||||
.OPTION B,D,L,T
|
||||
.MNOLIST
|
||||
|
||||
;
|
||||
; INITIATED: APRIL 13,1989
|
||||
; MODIFIED: !
|
||||
; SOFTWARE: MARK TURMELL
|
||||
;
|
||||
; COPYRIGHT (C) 1989 WILLIAMS ELECTRONICS GAMES, INC.
|
||||
;
|
||||
;
|
||||
.INCLUDE "TEXT.TBL"
|
||||
|
||||
;
|
||||
;SYMBOLS EXTERNALLY DEFINED
|
||||
;
|
||||
.REF DUXPAL,BLLNP5
|
||||
;
|
||||
;SYMBOLS DEFINED IN THIS FILE
|
||||
;
|
||||
.DEF RD7FONT,RD15FONT,WARPTXT,RD8FONT,FONT7A,FON15A
|
||||
.DEF FON150,FON151,FON152,FON153,FON154,FON155,FON156,FON157
|
||||
.DEF FON158,FON159
|
||||
.DEF FON15X,FON15W,FON15V,FON15M
|
||||
;
|
||||
;UNINITIALIZED RAM DEFINITIONS
|
||||
;
|
||||
|
||||
;
|
||||
;EQUATES FOR THIS FILE
|
||||
;
|
||||
|
||||
.TEXT
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* FONT TABLES STARTING AT ASCII $21 *
|
||||
* *
|
||||
**************************************************************************
|
||||
*
|
||||
*8 POINT FONT.
|
||||
*
|
||||
RD8FONT
|
||||
.LONG FONT8EXCLAM,FONT7quote,FONT7pound,FONT7doll,FONT7percen,FONT7and
|
||||
.LONG FONT8APOST,FONT7parenl,FONT7parenr,FONT7ast,FONT7plus
|
||||
.LONG FONT8COMMA,FONT8DASH,FONT8PERIOD,FONT7forsp,FONT70,FONT71
|
||||
.LONG FONT72,FONT73,FONT74,FONT75,FONT76,FONT77,FONT78,FONT79
|
||||
.LONG FONT7colon,FONT7semicol,FONT7less,FONT7equal,FONT7more
|
||||
.LONG FONT7quest,FONT7dash
|
||||
.LONG FONT8A,FONT8B,FONT8C,FONT8D,FONT8E,FONT8F,FONT8G,FONT8H
|
||||
.LONG FONT8I,FONT8J,FONT8K,FONT8L,FONT8M,FONT8N,FONT8O,FONT8P
|
||||
.LONG FONT8Q,FONT8R,FONT8S,FONT8T,FONT8U,FONT8V,FONT8W,FONT8X
|
||||
.LONG FONT8Y,FONT8Z
|
||||
; .LONG FONT7bracl,FONT7backsp,FONT7bracr,FONT7excla,FONT7line
|
||||
; .LONG FONT7apost
|
||||
*
|
||||
*7 POINT FONT.
|
||||
*
|
||||
RD7FONT
|
||||
.LONG FONT7excla,FONT7quote,FONT7pound,FONT7doll,FONT7percen,FONT7and
|
||||
.LONG FONT7apost,FONT7parenl,FONT7parenr,FONT7ast,FONT7plus
|
||||
.LONG FONT7comma,FONT7dash,FONT7period,FONT7forsp,FONT70,FONT71
|
||||
.LONG FONT72,FONT73,FONT74,FONT75,FONT76,FONT77,FONT78,FONT79
|
||||
.LONG FONT7colon,FONT7semicol,FONT7less,FONT7equal,FONT7more
|
||||
.LONG FONT7quest,FONT7dash
|
||||
.LONG FONT7A,FONT7B,FONT7C,FONT7D,FONT7E,FONT7F,FONT7G,FONT7H
|
||||
.LONG FONT7I,FONT7J,FONT7K,FONT7L,FONT7M,FONT7N,FONT7O,FONT7P
|
||||
.LONG FONT7Q,FONT7R,FONT7S,FONT7T,FONT7U,FONT7V,FONT7W,FONT7X
|
||||
.LONG FONT7Y,FONT7Z
|
||||
.LONG FONT7bracl,FONT7backsp,FONT7bracr,FONT7excla,FONT7line
|
||||
.LONG FONT7apost
|
||||
.LONG FONT7a,FONT7b,FONT7c,FONT7d,FONT7e,FONT7f,FONT7g,FONT7h
|
||||
.LONG FONT7i,FONT7j,FONT7k,FONT7l,FONT7m,FONT7n,FONT7o,FONT7p
|
||||
.LONG FONT7q,FONT7r,FONT7s,FONT7t,FONT7u,FONT7v,FONT7W,FONT7X
|
||||
.LONG FONT7Y,FONT7Z
|
||||
.LONG FONT7paren2l,FONT7break,FONT7paren2r
|
||||
*
|
||||
*15 POINT FONT. @ is missing (GNP 10/20/88)
|
||||
*
|
||||
RD15FONT
|
||||
.LONG FON15excla,FON15quote,FON15poun,FON15doll,FON15perc,FON15and
|
||||
.LONG FON15apos,FON15parenl,FON15parenr,FON15ast,FON15plus
|
||||
.LONG FON15comma,FON15dash,FON15period,FON15forsp,FON150,FON151
|
||||
.LONG FON152,FON153,FON154,FON155,FON156,FON157,FON158,FON159
|
||||
.LONG FON15colon,FON15semicol,FON15less,FON15equal,FON15more
|
||||
.LONG FON15quest,FON15dash
|
||||
WARPTXT .LONG FON15A,FON15B,FON15C,FON15D,FON15E,FON15F,FON15G,FON15H
|
||||
.LONG FON15I,FON15J,FON15K,FON15L,FON15M,FON15N,FON15O,FON15P
|
||||
.LONG FON15Q,FON15R,FON15S,FON15T,FON15U,FON15V,FON15W,FON15X
|
||||
.LONG FON15Y,FON15Z
|
||||
.LONG FON15brackl,FON15backsp,FON15brackr,FON15carr,FON15line
|
||||
.LONG FON15apos1
|
||||
.LONG FON15la,FON15lb,FON15lc,FON15ld,FON15le,FON15lf,FON15lg,FON15lh
|
||||
.LONG FON15li,FON15lj,FON15lk,FON15ll,FON15lm,FON15ln,FON15lo,FON15lp
|
||||
.LONG FON15lq,FON15lr,FON15ls,FON15lt,FON15lu,FON15lv,FON15lw,FON15lx
|
||||
.LONG FON15ly,FON15lz
|
||||
.LONG FON15paren2l,FON15break,FON15paren2r
|
||||
|
||||
.END
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
|
||||
|
||||
|
||||
BULPRC .EQU PDATA+352 ;UHL BULLET PROCESS FIRING BULLS!
|
||||
|
||||
|
||||
;4 OCLOCK
|
||||
MOVI DMAWNZ|M_PIXSCAN|M_FLIPH,A4
|
||||
MOVE *A8(OXVAL),A0,L
|
||||
ADDI [13H,0],A0
|
||||
MOVE *A8(OYVAL),A1,L
|
||||
SUBI [12H,0],A1
|
||||
MOVK 2,A9
|
||||
JRUC DOIT
|
||||
;8 OCLOCK
|
||||
MOVI DMAWNZ|M_PIXSCAN,A4
|
||||
MOVE *A8(OXVAL),A0,L
|
||||
ADDI [10H,0],A0
|
||||
MOVE *A8(OYVAL),A1,L
|
||||
SUBI [12H,0],A1
|
||||
MOVK 3,A9
|
||||
DOIT
|
||||
MOVI 160,A3
|
||||
MOVI AHMEDBLST1,A2
|
||||
MOVI CLSENMY|TYPLAYR|SUBFLM,A5
|
||||
CLR A6
|
||||
CLR A7
|
||||
MOVE A8,A10
|
||||
CALLA BEGINOBJ2
|
||||
CREATE FLMPID,FLAMING
|
||||
|
||||
;2=4 OCLOCK
|
||||
;3=8 OCLOCK
|
||||
FIREYX .LONG [52H,0FFF8H],[053H,7],[1,1],[1,-1]
|
||||
|
|
@ -0,0 +1,301 @@
|
|||
.FILE 'TRIG.ASM'
|
||||
.TITLE 'TOTAL CARNAGE GAME PROGRAM'
|
||||
.WIDTH 132
|
||||
.OPTION B,D,L,T
|
||||
.MNOLIST
|
||||
|
||||
.INCLUDE "DISP.EQU" ;DISPLAY PROC. EQUATES
|
||||
|
||||
.DEF GETSIN,GETCOS
|
||||
.DEF XYSEEK2,XYSEEK2A
|
||||
|
||||
HALFPI .set 102944
|
||||
PI .set 205887
|
||||
X3HALFPI .set 308831
|
||||
X2PI .set 411775
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
;SEEK X-Y COORDINATE
|
||||
;A8=OBJECT SEEKING
|
||||
;A5=X COORD TO SEEK
|
||||
;A6=Y COORD TO SEEK
|
||||
;A7=MULTIPLIER OF VELOCITY
|
||||
|
||||
;RETURNS
|
||||
;A5=X VEL
|
||||
;A6=Y VEL
|
||||
;
|
||||
;NABBED FROM EUGENE JARVIS FOOTBALL CODE
|
||||
;
|
||||
XYSEEK2
|
||||
MOVE *A8(OXPOS),A3,0
|
||||
MOVE *A8(OYPOS),A4,0
|
||||
XYSEEK2A
|
||||
SUB A3,A5 ;FIND DIFFERENCE
|
||||
SUB A4,A6
|
||||
MOVE A6,A3 ;
|
||||
MOVE A5,A1
|
||||
ABS A5
|
||||
ABS A6
|
||||
ADD A5,A6 ;CALC SUM ABS(DX+DY)
|
||||
SLL 16,A1 ;SHIFT TO ACCOMODATE FRACTIONAL VELOCITY
|
||||
SLL 16,A3
|
||||
DIVS A6,A1 ;GENERATE SPEED RATIOS
|
||||
DIVS A6,A3
|
||||
; MOVI 60H,A5 ;MULTIPLY BY VELOCITY FACTOR
|
||||
MOVE A7,A5
|
||||
MPYS A5,A3
|
||||
MPYS A1,A5 ;FINAL X VEL
|
||||
SRA 4,A3
|
||||
SRA 4,A5
|
||||
MOVE A3,A6 ;FINAL Y VEL
|
||||
RETS
|
||||
|
||||
******************************************************************
|
||||
GETSIN:
|
||||
; PARMS - A0 = theta in s15.16
|
||||
; RETURNS - A0 = sin(theta) in s15.16
|
||||
;return A14 = theta normalized to range of 0 to 2Pi
|
||||
|
||||
mmtm SP,A2
|
||||
|
||||
;long int getsin (theta)
|
||||
;long int theta;
|
||||
;{
|
||||
;int indx;
|
||||
;long int retval;
|
||||
|
||||
;while (theta < 0) theta += X2PI;
|
||||
TRIGLP1:
|
||||
move A0,A0
|
||||
jrnn TRIGSK1
|
||||
addi X2PI,A0,L
|
||||
jruc TRIGLP1
|
||||
TRIGSK1:
|
||||
;while (theta > X2PI) theta -= X2PI;
|
||||
TRIGLP2:
|
||||
cmpi X2PI,A0,L
|
||||
jrn TRIGSK2
|
||||
subi X2PI,A0,L
|
||||
jruc TRIGLP2
|
||||
TRIGSK2:
|
||||
move A0,A14 ;A14 theta normalized
|
||||
|
||||
;if (theta < HALFPI) {
|
||||
; indx = ((theta+5) >> 9);
|
||||
; retval = sintbl[indx];
|
||||
; }
|
||||
cmpi HALFPI,A0,L
|
||||
jrnn TRIGSK3
|
||||
move A0,A2
|
||||
addk 5,A2
|
||||
sra 9,A2
|
||||
sla 5,A2
|
||||
addi SINTBL,A2,L
|
||||
move *A2,A0,1
|
||||
mmfm SP,A2
|
||||
rets
|
||||
TRIGSK3:
|
||||
|
||||
;else if (theta <= PI) {
|
||||
; indx = (((PI - theta)+5) >> 9);
|
||||
; retval = sintbl[indx];
|
||||
; }
|
||||
cmpi PI,A0,L
|
||||
jrp TRIGSK4
|
||||
movi PI,A2,L
|
||||
sub A0,A2
|
||||
addk 5,A2
|
||||
sra 9,A2
|
||||
sla 5,A2
|
||||
addi SINTBL,A2,L
|
||||
move *A2,A0,1
|
||||
mmfm SP,A2
|
||||
rets
|
||||
TRIGSK4:
|
||||
|
||||
;else if (theta < X3HALFPI) {
|
||||
; indx = (((theta - PI) + 5) >> 9);
|
||||
; retval = sintbl[indx];
|
||||
; retval = -retval;
|
||||
; }
|
||||
cmpi X3HALFPI,A0,L
|
||||
jrnn TRIGSK5
|
||||
move A0,A2
|
||||
subi PI,A2,L
|
||||
addk 5,A2
|
||||
sra 9,A2
|
||||
sla 5,A2
|
||||
addi SINTBL,A2,L
|
||||
move *A2,A0,1
|
||||
neg A0
|
||||
mmfm SP,A2
|
||||
rets
|
||||
TRIGSK5:
|
||||
|
||||
;else {
|
||||
; indx = (((X2PI - theta) + 5) >> 9);
|
||||
; retval = sintbl[indx];
|
||||
; retval = -retval;
|
||||
; }
|
||||
movi X2PI,A2,L
|
||||
sub A0,A2
|
||||
addk 5,A2
|
||||
sra 9,A2
|
||||
sla 5,A2
|
||||
addi SINTBL,A2,L
|
||||
move *A2,A0,1
|
||||
neg A0
|
||||
mmfm SP,A2
|
||||
rets
|
||||
|
||||
******************************************************************
|
||||
|
||||
|
||||
.text
|
||||
******************************************************************
|
||||
GETCOS:
|
||||
; PARMS - A0 = theta in s15.16
|
||||
; RETURNS - A0 = cos(theta) in s15.16
|
||||
|
||||
mmtm SP,A2
|
||||
|
||||
;long int getcos (theta)
|
||||
;long int theta;
|
||||
;{
|
||||
;int indx;
|
||||
;long int retval;
|
||||
|
||||
;while (theta < 0) theta += X2PI;
|
||||
TRIGLP3:
|
||||
move A0,A0
|
||||
jrnn TRIGSK6
|
||||
addi X2PI,A0,L
|
||||
jruc TRIGLP3
|
||||
TRIGSK6:
|
||||
;while (theta > X2PI) theta -= X2PI;
|
||||
TRIGLP4:
|
||||
cmpi X2PI,A0,L
|
||||
jrn TRIGSK7
|
||||
subi X2PI,A0,L
|
||||
jruc TRIGLP4
|
||||
TRIGSK7:
|
||||
move A0,A14 ;A14 theta normalized
|
||||
|
||||
;if (theta < HALFPI) {
|
||||
; indx = (((HALFPI - theta) + 5) >> 9);
|
||||
; retval = sintbl[indx];
|
||||
; }
|
||||
cmpi HALFPI,A0,L
|
||||
jrnn TRIGSK8
|
||||
movi HALFPI,A2,L
|
||||
sub A0,A2
|
||||
addk 5,A2
|
||||
sra 9,A2
|
||||
sla 5,A2
|
||||
addi SINTBL,A2,L
|
||||
move *A2,A0,1
|
||||
mmfm SP,A2
|
||||
rets
|
||||
TRIGSK8:
|
||||
|
||||
|
||||
;else if (theta <= PI) {
|
||||
; indx = (((theta - HALFPI) + 5) >> 9);
|
||||
; retval = sintbl[indx];
|
||||
; retval = -retval;
|
||||
; }
|
||||
cmpi PI,A0,L
|
||||
jrp TRIGSK9
|
||||
move A0,A2
|
||||
subi HALFPI,A2,L
|
||||
addk 5,A2
|
||||
sra 9,A2
|
||||
sla 5,A2
|
||||
addi SINTBL,A2,l
|
||||
move *A2,A0,1
|
||||
neg A0
|
||||
mmfm SP,A2
|
||||
rets
|
||||
TRIGSK9:
|
||||
|
||||
|
||||
|
||||
;else if (theta < X3HALFPI) {
|
||||
; indx = (((X3HALFPI - theta) + 5) >> 9);
|
||||
; retval = sintbl[indx];
|
||||
; retval = -retval;
|
||||
; }
|
||||
;else if (theta < X3HALFPI) {
|
||||
; indx = (((theta - PI) + 5) >> 9);
|
||||
; retval = sintbl[indx];
|
||||
; retval = -retval;
|
||||
; }
|
||||
cmpi X3HALFPI,A0,L
|
||||
jrnn TRIGSK10
|
||||
movi X3HALFPI,A2,L
|
||||
sub A0,A2
|
||||
addk 5,A2
|
||||
sra 9,A2
|
||||
sla 5,A2
|
||||
addi SINTBL,A2,L
|
||||
move *A2,A0,1
|
||||
neg A0
|
||||
mmfm SP,A2
|
||||
rets
|
||||
TRIGSK10:
|
||||
|
||||
|
||||
|
||||
;else {
|
||||
; indx = (((theta - X3HALFPI) + 5) >> 9);
|
||||
; retval = sintbl[indx];
|
||||
; }
|
||||
move A0,A2
|
||||
subi X3HALFPI,A2,L
|
||||
addk 5,A2
|
||||
sra 9,A2
|
||||
sla 5,A2
|
||||
addi SINTBL,A2,L
|
||||
move *A2,A0,1
|
||||
mmfm SP,A2
|
||||
rets
|
||||
|
||||
*****************************************************************
|
||||
|
||||
|
||||
;/* Table of sin from 0 through PI/2 Radians in 2**-7 increments */
|
||||
.data
|
||||
.even
|
||||
SINTBL:
|
||||
.int 0,511,1023,1535,2047,2559,3070,3582
|
||||
.int 4093,4604,5114,5625,6135,6644,7153,7662
|
||||
.int 8170,8678,9185,9692,10198,10703,11208,11712
|
||||
.int 12216,12718,13220,13721,14221,14721,15219,15717
|
||||
.int 16213,16709,17204,17697,18189,18681,19171,19660
|
||||
.int 20148,20634,21120,21604,22086,22568,23048,23526
|
||||
.int 24004,24479,24953,25426,25897,26367,26835,27301
|
||||
.int 27766,28228,28690,29149,29607,30063,30517,30969
|
||||
.int 31419,31867,32314,32758,33201,33641,34080,34516
|
||||
.int 34950,35382,35812,36240,36665,37088,37509,37928
|
||||
.int 38344,38758,39170,39579,39986,40391,40793,41192
|
||||
.int 41589,41984,42375,42765,43151,43535,43917,44295
|
||||
.int 44671,45045,45415,45783,46148,46510,46869,47226
|
||||
.int 47579,47930,48278,48622,48964,49303,49639,49972
|
||||
.int 50301,50628,50951,51272,51589,51903,52214,52522
|
||||
.int 52827,53128,53426,53721,54013,54301,54586,54868
|
||||
.int 55146,55421,55693,55961,56226,56487,56745,56999
|
||||
.int 57250,57498,57741,57982,58219,58452,58682,58908
|
||||
.int 59131,59349,59565,59776,59985,60189,60390,60587
|
||||
.int 60780,60970,61156,61338,61516,61691,61862,62029
|
||||
.int 62192,62352,62507,62659,62807,62952,63092,63229
|
||||
.int 63361,63490,63615,63736,63854,63967,64076,64182
|
||||
.int 64283,64381,64475,64564,64650,64732,64810,64884
|
||||
.int 64954,65020,65082,65140,65195,65245,65291,65333
|
||||
.int 65371,65406,65436,65462,65484,65503,65517,65527
|
||||
.int 65533,65535,65534
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,56 @@
|
|||
WAIR1 .EQU 450
|
||||
HAIR1 .EQU 962
|
||||
WAIR2 .EQU 2221
|
||||
HAIR2 .EQU 2114
|
||||
WMODZ .EQU 1707
|
||||
HMODZ .EQU 2149
|
||||
WDRIVE .EQU 3164
|
||||
HDRIVE .EQU 364
|
||||
WXWAY .EQU 4370
|
||||
HXWAY .EQU 378
|
||||
WTITLE .EQU 401
|
||||
HTITLE .EQU 264
|
||||
WHOME1 .EQU 390
|
||||
HHOME1 .EQU 259
|
||||
WHOME .EQU 405
|
||||
HHOME .EQU 200
|
||||
WHOME2 .EQU 414
|
||||
HHOME2 .EQU 259
|
||||
WFORTA .EQU 950
|
||||
HFORTA .EQU 1403
|
||||
WNEWD2 .EQU 862
|
||||
HNEWD2 .EQU 1930
|
||||
WDSRTHRE .EQU 870
|
||||
HDSRTHRE .EQU 1156
|
||||
WDSRTONE .EQU 788
|
||||
HDSRTONE .EQU 978
|
||||
WNEWD .EQU 859
|
||||
HNEWD .EQU 818
|
||||
WHUTLCK .EQU 498
|
||||
HHUTLCK .EQU 302
|
||||
WSEC1 .EQU 551
|
||||
HSEC1 .EQU 2570
|
||||
WRACK .EQU 422
|
||||
HRACK .EQU 259
|
||||
WLOCKA .EQU 488
|
||||
HLOCKA .EQU 304
|
||||
WMODB .EQU 464
|
||||
HMODB .EQU 342
|
||||
WMODC .EQU 408
|
||||
HMODC .EQU 282
|
||||
WMODD .EQU 393
|
||||
HMODD .EQU 267
|
||||
WMODJ .EQU 392
|
||||
HMODJ .EQU 530
|
||||
WMODH .EQU 477
|
||||
HMODH .EQU 313
|
||||
WHISC .EQU 401
|
||||
HHISC .EQU 257
|
||||
WHISCORE .EQU 390
|
||||
HHISCORE .EQU 273
|
||||
WCHAIR2 .EQU 207
|
||||
HCHAIR2 .EQU 229
|
||||
WELECRM1 .EQU 392
|
||||
HELECRM1 .EQU 228
|
||||
WBOTM .EQU 1262
|
||||
HBOTM .EQU 1412
|
|
@ -0,0 +1,636 @@
|
|||
.OPTION B,D,L,T
|
||||
.include "BGNDTBL.GLO"
|
||||
.DATA
|
||||
HNGRP: ;PAL #5
|
||||
.word 64 ;pal size
|
||||
.word >0,>0,>800,>820,>C40,>2400,>C60,>1060,>1480,>14A0
|
||||
.word >18A0,>18C0,>1CC0,>20E0,>2100,>2500,>843,>1481,>18A2,>1CC3
|
||||
.word >C64,>20E4,>2505,>40A,>14A6,>C0F,>1CE8,>252A,>3000,>2D20
|
||||
.word >2926,>2D60,>2D47,>3168,>2D6C,>3800,>3560,>4400,>6400,>3589
|
||||
.word >35A0,>39AA,>45C0,>3DCB,>41EC,>460D,>4A2E,>4211,>4E4F,>5270
|
||||
.word >1084,>14A5,>3160,>45E0,>4600,>39CE,>0,>0,>0,>0
|
||||
.word >0,>0,>0,>0
|
||||
CANDB: ;PAL #8
|
||||
.word 64 ;pal size
|
||||
.word >0,>820,>840,>C40,>1040,>1060,>1460,>84,>A5,>1480
|
||||
.word >14A0,>1880,>C6,>E7,>18C6,>108,>109,>129,>16C,>1CE
|
||||
.word >252,>1CA0,>20A1,>20C0,>28C0,>2CE0,>3100,>3942,>4185,>45A7
|
||||
.word >522B,>7E60,>0,>0,>0,>0,>0,>0,>0,>0
|
||||
.word >0,>0,>0,>0,>0,>0,>0,>0,>0,>0
|
||||
.word >0,>0,>0,>0,>0,>0,>0,>0,>0,>0
|
||||
.word >0,>0,>0,>7FFF
|
||||
JEEPP2: ;PAL #11
|
||||
.word 64 ;pal size
|
||||
.word >0,>0,>40,>80,>A1,>C1,>101,>121,>162,>182
|
||||
.word >1C2,>1E3,>223,>243,>283,>2E4,>0,>842,>1084,>18C6
|
||||
.word >2108,>294A,>318C,>39CE,>4210,>4E73,>6318,>739C,>7FF7,>60
|
||||
.word >A1,>121,>4C1,>521,>D81,>DE1,>E02,>16A3,>10A4,>1906
|
||||
.word >C63,>3C00,>6C43,>5400,>5ECA,>6306,>5ACE,>4E6B,>ED,>171
|
||||
.word >237,>0,>0,>0,>0,>0,>0,>0,>0,>0
|
||||
.word >0,>0,>0,>7FFF
|
||||
|
||||
BBPALS:
|
||||
.long ARPRTPL
|
||||
.long DESRTPL
|
||||
.long GRNDP
|
||||
.long FRTCLS
|
||||
.long DGP1
|
||||
.long HNGRP
|
||||
.long PPLP
|
||||
.long UFLP
|
||||
.long CANDB
|
||||
.long BLUJET
|
||||
.long BULLET
|
||||
.long JEEPP2
|
||||
.long DGP3
|
||||
.long SPYDERP1
|
||||
.long FNDP
|
||||
.long JEEPP
|
||||
.long SCOREPAL
|
||||
.long STUFFP
|
||||
.long DUXPAL
|
||||
JETPAL: ;PAL #4
|
||||
.word 64 ;pal size
|
||||
.word >0,>0,>1420,>1880,>1C00,>2000,>1CA0,>20A0,>20C0,>2400
|
||||
.word >24C0,>24E0,>2800,>2C00,>28E0,>2900,>2D00,>1,>421,>463
|
||||
.word >C63,>1483,>14A2,>1084,>14A5,>10C6,>1CE7,>1D08,>156C,>2529
|
||||
.word >294A,>2D6B,>29CF,>3000,>3400,>3100,>3120,>3520,>3540,>3800
|
||||
.word >3841,>3920,>3940,>3C00,>3D40,>3D60,>4000,>4160,>4C21,>318C
|
||||
.word >35AD,>4180,>4580,>4980,>4DA0,>59E0,>39CE,>31F0,>3DEF,>3A32
|
||||
.word >4210,>4631,>4E73,>5EF7
|
||||
|
||||
ZZPALS:
|
||||
.long BULLET
|
||||
.long DESRTPL
|
||||
.long GRNDP
|
||||
.long FRTCLS
|
||||
.long JETPAL
|
||||
.long HNGRP
|
||||
.long PPLP
|
||||
.long GRNJET
|
||||
.long STUFFP
|
||||
.long DUXPAL
|
||||
PITP: ;PAL #0
|
||||
.word 2 ;pal size
|
||||
.word >0,>1861
|
||||
|
||||
AAPALS:
|
||||
.long PITP
|
||||
.long DESRTPL
|
||||
.long FRTCLS
|
||||
.long GRNDP
|
||||
.long PPLP
|
||||
.long BULLET
|
||||
.long JEEPP2
|
||||
.long DUXPAL
|
||||
.long STUFFP
|
||||
PCP: ;PAL #7
|
||||
.word 64 ;pal size
|
||||
.word >0,>0,>C63,>1084,>10A3,>10C3,>14A5,>18C6,>14E4,>1904
|
||||
.word >2108,>1924,>1564,>1184,>842,>1063,>1083,>1482,>1483,>14A3
|
||||
.word >18A3,>1484,>14A4,>18A4,>18A5,>841,>480,>1880,>20C0,>C0
|
||||
.word >100,>2900,>A0,>120,>8E1,>E0,>140,>9A2,>DA2,>19A6
|
||||
.word >DE1,>E63,>1440,>1460,>1860,>1C80,>18A0,>1CA0,>294A,>318C
|
||||
.word >7E60,>7F20,>84,>C6,>E7,>108,>129,>16C,>7CA3,>0
|
||||
.word >0,>0,>0,>0
|
||||
|
||||
XXPALS:
|
||||
.long PITP
|
||||
.long DESRTPL
|
||||
.long JEEPP2
|
||||
.long GRNDP
|
||||
.long PPLP
|
||||
.long BULLET
|
||||
.long FRTCLS
|
||||
.long PCP
|
||||
.long STUFFP
|
||||
.long DUXPAL
|
||||
BACK1: ;PAL #0
|
||||
.word 32 ;pal size
|
||||
.word >0,>0,>1,>2,>403,>404,>405,>406,>407,>808
|
||||
.word >809,>80A,>82B,>82C,>C2D,>C2E,>C2F,>C30,>C31,>1032
|
||||
.word >1033,>1034,>1035,>1036,>1437,>1438,>1439,>143A,>143B,>183D
|
||||
.word >183E,>185F
|
||||
carn3: ;PAL #1
|
||||
.word 61 ;pal size
|
||||
.word >0,>0,>18C6,>6000,>64C6,>7880,>78A0,>78C0,>78E0,>7900
|
||||
.word >7920,>7940,>7946,>7960,>7980,>79A0,>79C0,>79E0,>7A00,>7986
|
||||
.word >79E6,>7A20,>7A40,>7A60,>7A80,>7AA0,>7AC0,>7AE0,>7B00,>7B20
|
||||
.word >7B40,>7B60,>7AC6,>7B0B,>7B6B,>7B6F,>7C80,>7CA0,>7CC0,>7CE0
|
||||
.word >7D20,>7D46,>7D60,>7D80,>7DC0,>7DE0,>7E00,>7E20,>7DC6,>7E40
|
||||
.word >7E60,>7E80,>7EA0,>7EC0,>7EE0,>7F00,>7F20,>7F40,>7F60,>7EC6
|
||||
.word >7F4C
|
||||
|
||||
PGPALS:
|
||||
.long BACK1
|
||||
.long carn3
|
||||
.long BIGPL1
|
||||
.long GUNSP1
|
||||
CRMP: ;PAL #0
|
||||
.word 64 ;pal size
|
||||
.word >0,>0,>400,>842,>1440,>C63,>1084,>10A5,>1484,>14A5
|
||||
.word >18A5,>160,>201,>221,>241,>2A1,>18C6,>1CC6,>18E7,>1CE7
|
||||
.word >1CE8,>1016,>2108,>2129,>2509,>2529,>292A,>294A,>A75,>2D6B
|
||||
.word >316C,>2D8B,>318C,>31AC,>31AD,>3569,>358D,>35AD,>39AD,>39CE
|
||||
.word >39EE,>6D44,>39EF,>3DEF,>3E0F,>4210,>4631,>4A52,>4E73,>5273
|
||||
.word >4E93,>5294,>52B4,>56B5,>5AD6,>5EF7,>34C0,>7C00,>1000,>2820
|
||||
.word >3C60,>5840,>3C60,>2820
|
||||
IRAQPAL: ;PAL #1
|
||||
.word 64 ;pal size
|
||||
.word >0,>914,>FF2C,>34E1,>4565,>4DA7,>5A2B,>7EC0,>7F6A,>7FD2
|
||||
.word >6A90,>1155,>1998,>2E3D,>7FE0,>7300,>6680,>5DA0,>0,>7F76
|
||||
.word >7713,>6AB0,>5E6D,>520A,>4186,>2CE1,>2080,>842,>1084,>18C6
|
||||
.word >2108,>294A,>318C,>3DEF,>4A52,>56B5,>6739,>77BD,>11E3,>2285
|
||||
.word >1F04,>3842,>4884,>58C6,>76EA,>6EA8,>6666,>1104,>1164,>11E4
|
||||
.word >2108,>2108,>2108,>2108,>2108,>2108,>2108,>2108,>2108,>2108
|
||||
.word >2108,>2108,>2108,>2108
|
||||
GENP: ;PAL #3
|
||||
.word 64 ;pal size
|
||||
.word >0,>420,>840,>841,>860,>861,>C60,>C81,>1081,>10A1
|
||||
.word >1480,>1C60,>14C2,>18E2,>1084,>10A2,>14C3,>18C3,>445,>14A5
|
||||
.word >889,>18C6,>14E3,>18E3,>1903,>1D03,>1D04,>1D05,>1D24,>2481
|
||||
.word >28C0,>20C1,>2124,>2125,>2145,>2545,>2565,>2944,>2945,>2108
|
||||
.word >2126,>2546,>294A,>2566,>2966,>2567,>2987,>2C81,>30A2,>3100
|
||||
.word >34C3,>2D87,>2D88,>31A9,>31AB,>35CB,>3CE3,>3CE4,>61A1,>4926
|
||||
.word >3DEE,>5547,>59AB,>0
|
||||
TECPAL: ;PAL #4
|
||||
.word 64 ;pal size
|
||||
.word >0,>842,>443,>464,>466,>467,>866,>886,>887,>129
|
||||
.word >889,>4AA,>8AA,>8CB,>4ED,>90E,>92F,>1CE,>273,>319
|
||||
.word >1C80,>20A0,>2882,>28C0,>2CE0,>30E0,>30A3,>3100,>3CC3,>3500
|
||||
.word >3D20,>4520,>4140,>4960,>5580,>5980,>69C0,>6DE0,>7E00,>C89
|
||||
.word >CAA,>CAB,>4505,>4D26,>5568,>5989,>5DCB,>CCD,>D51,>10CE
|
||||
.word >10EF,>10F0,>1111,>1112,>1533,>1556,>1577,>159A,>31D7,>768F
|
||||
.word >6A0E,>6F7B,>0,>0
|
||||
|
||||
LMPBPALS:
|
||||
.long CRMP
|
||||
.long IRAQPAL
|
||||
.long STATICP
|
||||
.long GENP
|
||||
.long TECPAL
|
||||
.long MAPP
|
||||
.long DOMEP
|
||||
CRMPZ: ;PAL #0
|
||||
.word 64 ;pal size
|
||||
.word >0,>0,>400,>821,>1C20,>C41,>1462,>1482,>1C62,>1C82
|
||||
.word >1C82,>140,>1E0,>1E0,>200,>260,>1CA3,>24A3,>1CC3,>24C3
|
||||
.word >24C4,>140B,>2CE4,>2D04,>2CE4,>2D04,>3505,>3525,>A2B,>3D45
|
||||
.word >3D46,>3D65,>3D66,>3D86,>3D86,>4544,>4566,>4586,>4D86,>4DA7
|
||||
.word >4DC7,>7D22,>4DC7,>4DC7,>4DE7,>55E8,>5DE9,>5E09,>662A,>6E2A
|
||||
.word >664A,>6E4A,>6E6A,>6E6B,>768B,>7EAC,>44A0,>7C00,>1400,>3400
|
||||
.word >4C40,>7420,>4C40,>3400
|
||||
CLDSZ: ;PAL #1
|
||||
.word 64 ;pal size
|
||||
.word >0,>0,>1485,>14A7,>14C7,>14C8,>14E8,>1CC8,>1CE8,>1CE9
|
||||
.word >24C7,>24E9,>1D09,>2509,>250B,>252B,>252C,>252C,>250B,>252B
|
||||
.word >252C,>2D2C,>252C,>252E,>254C,>254E,>2D2C,>2D4C,>2D2E,>2D4E
|
||||
.word >2D4F,>354E,>354F,>2D6E,>2D6F,>356E,>356F,>358F,>3570,>3590
|
||||
.word >356F,>3590,>35B0,>35B2,>3DB2,>35D2,>3DD2,>3DD3,>45D3,>3DF2
|
||||
.word >3DF3,>45F3,>4613,>45F5,>4615,>4615,>4636,>4635,>4636,>4656
|
||||
.word >4657,>4E56,>4E57,>4E77
|
||||
BGFRTP: ;PAL #3
|
||||
.word 64 ;pal size
|
||||
.word >0,>421,>821,>81,>A2,>C41,>1061,>1461,>1481,>1C81
|
||||
.word >18A2,>1CA2,>C3,>E4,>105,>1CC3,>20C3,>20E4,>24E4,>2504
|
||||
.word >2505,>2525,>127,>189,>1CC,>2906,>2926,>2947,>2CC1,>2D04
|
||||
.word >2D26,>2D47,>3168,>3589,>35AA,>39AA,>3DAA,>7621,>3DCB,>41EC
|
||||
.word >45ED,>460D,>4A0D,>4A2D,>4A2E,>4E2E,>4A4F,>4E4F,>4E70,>5250
|
||||
.word >5270,>5670,>5291,>5691,>56B1,>5A91,>5AB2,>6B36,>6400,>19D
|
||||
.word >C0,>100,>1C0,>3C0
|
||||
PROFP2: ;PAL #4
|
||||
.word 64 ;pal size
|
||||
.word >0,>0,>866,>14A5,>C87,>10A9,>10CB,>2108,>2528,>252B
|
||||
.word >290A,>294A,>2D6B,>10CC,>10EC,>14CC,>14EC,>18EC,>14EE,>1510
|
||||
.word >1910,>1930,>294C,>316C,>318C,>356D,>358C,>35AD,>1D2F,>2151
|
||||
.word >2571,>2DB1,>38C4,>40E4,>4127,>39CE,>3DCE,>39CF,>39D0,>39EF
|
||||
.word >3DEF,>3DF0,>420F,>4210,>3DF1,>4631,>4A52,>4E73,>4A75,>5294
|
||||
.word >5295,>56B5,>56D7,>5AD6,>5AD7,>5EF7,>5EF8,>6318,>6739,>6B5A
|
||||
.word >6F7B,>739C,>77BD,>7BDE
|
||||
PROFP: ;PAL #6
|
||||
.word 64 ;pal size
|
||||
.word >0,>0,>840,>C40,>1060,>1460,>1480,>1880,>1881,>18A0
|
||||
.word >1C60,>1CA0,>20C0,>24A0,>28E0,>2D00,>3520,>842,>1CA3,>24A2
|
||||
.word >2882,>2CA3,>30A3,>34C4,>38C4,>38E4,>3CE4,>40E4,>34E5,>3CE5
|
||||
.word >40E5,>4105,>1D2D,>3D48,>4400,>4420,>4505,>4506,>4526,>4527
|
||||
.word >4820,>4926,>4947,>4948,>4C00,>4D47,>6441,>49A0,>4D68,>5168
|
||||
.word >4D69,>5169,>5189,>5589,>55AA,>59AA,>55AB,>59CB,>5DCC,>5DEC
|
||||
.word >5E0D,>620D,>5A51,>6318
|
||||
|
||||
TPALS:
|
||||
.long CRMPZ
|
||||
.long CLDSZ
|
||||
.long FRTCLS
|
||||
.long BGFRTP
|
||||
.long PROFP2
|
||||
.long GOOBP
|
||||
.long PROFP
|
||||
CLDS8: ;PAL #1
|
||||
.word 64 ;pal size
|
||||
.word >0,>0,>CA4,>10C5,>10E5,>10E6,>1106,>14E6,>1506,>1507
|
||||
.word >18E5,>1907,>1527,>1927,>1928,>1948,>1949,>1969,>1D28,>1D48
|
||||
.word >1D49,>2149,>1D69,>1D6A,>1D89,>1D8A,>2169,>2189,>216A,>218A
|
||||
.word >218B,>258A,>258B,>21AA,>21AB,>25AA,>25AB,>25CB,>25AC,>25CC
|
||||
.word >29AB,>29CC,>29EC,>29ED,>2DED,>2A0D,>2E0D,>2E0E,>320E,>2E2D
|
||||
.word >2E2E,>322E,>324E,>322F,>324F,>364F,>3270,>366F,>3670,>3690
|
||||
.word >3691,>3A90,>3A91,>3AB1
|
||||
|
||||
OBPALS:
|
||||
.long CRMP
|
||||
.long CLDS8
|
||||
.long FRTCLS
|
||||
.long BGFRTP
|
||||
.long SOLDB
|
||||
.long TECPAL
|
||||
.long GENP
|
||||
.long STATICP
|
||||
.long GOOBP
|
||||
|
||||
RTPALS:
|
||||
.long FRTCLS
|
||||
.long GRNDP
|
||||
.long REACTR
|
||||
.long BULLET
|
||||
.long GOOBP
|
||||
.long PPLP
|
||||
.long CANDB
|
||||
.long UFLP
|
||||
.long JEEPP
|
||||
.long STUFFP
|
||||
.long DUXPAL
|
||||
CHUTE2: ;PAL #7
|
||||
.word 24 ;pal size
|
||||
.word >0,>0,>840,>C60,>1080,>14A1,>24A0,>28C0,>18E2,>18C6
|
||||
.word >1D03,>1D23,>1D24,>2124,>2144,>2145,>2545,>2108,>2566,>2966
|
||||
.word >2987,>294A,>318C,>35EE
|
||||
FNDP3: ;PAL #15
|
||||
.word 20 ;pal size
|
||||
.word >0,>1400,>842,>2108,>2800,>3000,>3000,>3800,>3C00,>4000
|
||||
.word >39AF,>4800,>5400,>6000,>6800,>7000,>7800,>7D49,>5294,>7FFF
|
||||
|
||||
LDPALS:
|
||||
.long PITP
|
||||
.long DESRTPL
|
||||
.long STUFFP
|
||||
.long DISHPAL
|
||||
.long GOOBP
|
||||
.long CANDB
|
||||
.long GRNDP
|
||||
.long CHUTE2
|
||||
.long BULLET
|
||||
.long PPLP
|
||||
.long DGP1
|
||||
.long DGP3
|
||||
.long DGP2
|
||||
.long FRTCLS
|
||||
.long FNDP
|
||||
.long FNDP3
|
||||
.long MTNKP
|
||||
.long SCOREPAL
|
||||
.long ORCP1
|
||||
.long JEEPP2
|
||||
.long DUXPAL
|
||||
frtcls2: ;PAL #0
|
||||
.word 64 ;pal size
|
||||
.word >400,>400,>C00,>C00,>C00,>1420,>1420,>2440,>1440,>2C80
|
||||
.word >1480,>2480,>2CA0,>34A0,>34C0,>34C0,>3CE0,>34E0,>34E0,>4500
|
||||
.word >4D40,>3D00,>4540,>4D40,>4D40,>5560,>6580,>4D60,>6DE0,>65E0
|
||||
.word >6E00,>7E00,>7E20,>6E00,>7620,>7E80,>7E40,>7E80,>7EA0,>7EE0
|
||||
.word >7F20,>7F20,>2440,>3CE0,>4D40,>7600,>7EE0,>4C0,>720,>7C00
|
||||
.word >7C00,>7C00,>400,>400,>400,>7C00,>7EC0,>7F20,>480,>500
|
||||
.word >600,>6C0,>720,>4F20
|
||||
|
||||
PALS:
|
||||
.long frtcls2
|
||||
.long GRNDP
|
||||
.long REACTR
|
||||
.long BULLET
|
||||
.long GOOBP
|
||||
.long PPLP
|
||||
.long CANDB
|
||||
.long UFLP
|
||||
.long FRTCLS
|
||||
.long STUFFP
|
||||
.long DUXPAL
|
||||
|
||||
PPALS:
|
||||
.long CRMP
|
||||
.long FRTCLS
|
||||
.long STATICP
|
||||
.long GENP
|
||||
.long TECPAL
|
||||
|
||||
APALS:
|
||||
.long FRTCLS
|
||||
.long GRNDP
|
||||
.long UFLP
|
||||
.long CANDB
|
||||
.long PPLP
|
||||
.long JEEPP2
|
||||
.long STUFFP
|
||||
|
||||
DBPALS:
|
||||
.long PITP
|
||||
.long DESRTPL
|
||||
.long PPLP
|
||||
.long BULLET
|
||||
.long GRNDP
|
||||
.long STUFFP
|
||||
UPAL: ;PAL #0
|
||||
.word 64 ;pal size
|
||||
.word >0,>420,>822,>841,>843,>864,>C62,>1083,>14A4,>C45
|
||||
.word >1066,>1467,>1087,>18C5,>1088,>1889,>14A9,>18CB,>1CE6,>2107
|
||||
.word >2528,>1CAB,>1CED,>20CD,>2949,>2D6A,>318B,>35AC,>39CD,>20EE
|
||||
.word >24EE,>24EF,>2510,>2511,>2911,>2D33,>3173,>3556,>3598,>41BC
|
||||
.word >4630,>4E72,>6317,>77BC,>7D60,>7E00,>7E60,>7EC0,>7F20,>0
|
||||
.word >A0,>C0,>E0,>100,>120,>160,>1A0,>200,>2C0,>360
|
||||
.word >3E0,>300,>220,>160
|
||||
|
||||
DCPALS:
|
||||
.long UPAL
|
||||
.long FRTCLS
|
||||
.long GRNDP
|
||||
.long UFLP
|
||||
.long PPLP
|
||||
.long SPYDERP1
|
||||
.long STUFFP
|
||||
|
||||
DDPALS:
|
||||
.long UPAL
|
||||
.long UFLP
|
||||
.long GRNDP
|
||||
.long PPLP
|
||||
.long FRTCLS
|
||||
.long CANDB
|
||||
.long BULLET
|
||||
|
||||
DJPALS:
|
||||
.long FRTCLS
|
||||
.long GRNDP
|
||||
.long UFLP
|
||||
.long GOOBP
|
||||
.long CANDB
|
||||
|
||||
DHPALS:
|
||||
.long PITP
|
||||
.long DESRTPL
|
||||
.long PPLP
|
||||
.long GRNDP
|
||||
.long BULLET
|
||||
.long GOOBP
|
||||
.long FING1
|
||||
.long STUFFP
|
||||
HI3: ;PAL #0
|
||||
.word 64 ;pal size
|
||||
.word >0,>400,>C42,>160,>201,>221,>241,>2A1,>1CC6,>1416
|
||||
.word >2508,>2D2A,>2D4A,>2D6B,>2D8B,>358C,>35AD,>3DCE,>4610,>4E73
|
||||
.word >56B5,>5EF7,>2C80,>34E0,>3D00,>4540,>4580,>4DC0,>5600,>5E40
|
||||
.word >66A0,>7720,>7F40,>1484,>7FED,>1400,>2C00,>3400,>4400,>5C00
|
||||
.word >7C00,>0,>4400,>8,>6600,>300,>0,>0,>0,>0
|
||||
.word >0,>0,>600,>0,>0,>0,>0,>0,>4,>0
|
||||
.word >0,>0,>0,>7FFF
|
||||
|
||||
OREPALS:
|
||||
.long HI3
|
||||
.long BIGPL1
|
||||
.long BIGPL2
|
||||
.long STUFFP
|
||||
.long FRTCLS
|
||||
ENTER1: ;PAL #9
|
||||
.word 31 ;pal size
|
||||
.word >0,>0,>1,>2,>403,>404,>405,>406,>407,>808
|
||||
.word >809,>80A,>82B,>82C,>C2D,>C2E,>C2F,>C30,>C31,>1032
|
||||
.word >1033,>1034,>1035,>1036,>1437,>1438,>1439,>143A,>143B,>183D
|
||||
.word >185F
|
||||
TC2: ;PAL #11
|
||||
.word 13 ;pal size
|
||||
.word >0,>0,>4,>404,>405,>826,>827,>C28,>C29,>102A
|
||||
.word >102B,>104C,>104E
|
||||
|
||||
RPALS:
|
||||
.long CRMP
|
||||
.long CLDS8
|
||||
.long FRTCLS
|
||||
.long BGFRTP
|
||||
.long PROFP2
|
||||
.long TECPAL
|
||||
.long GENP
|
||||
.long PROFP
|
||||
.long STATICP
|
||||
.long ENTER1
|
||||
.long DUXPAL
|
||||
.long TC2
|
||||
|
||||
ROOMPALS:
|
||||
.long CHAIRP
|
||||
.long MTRP
|
||||
BIGPIT: ;PAL #3
|
||||
.word 64 ;pal size
|
||||
.word >0,>0,>1,>20,>21,>400,>401,>420,>421,>821
|
||||
.word >422,>822,>441,>841,>442,>842,>843,>C42,>C43,>462
|
||||
.word >862,>863,>883,>C62,>C63,>C64,>C83,>C84,>CA4,>1043
|
||||
.word >1063,>1064,>1083,>1084,>1484,>1085,>1485,>10A4,>14A4,>10A5
|
||||
.word >14A5,>14A6,>14C5,>14C6,>14E6,>1800,>1885,>18A5,>18A6,>18C5
|
||||
.word >18C6,>18C7,>18E6,>18E7,>1CC6,>1CC7,>1CE6,>2108,>2400,>3C00
|
||||
.word >5420,>7C20,>1000,>800
|
||||
|
||||
PITPALS:
|
||||
.long UPAL
|
||||
.long UFLP
|
||||
.long ENDBSSP
|
||||
.long BIGPIT
|
||||
.long FRTCLS
|
||||
.long GRNCYCLE
|
||||
.long GRNDP
|
||||
.long KRACK
|
||||
.long BULLET
|
||||
.long STUFFP
|
||||
.long PPLP
|
||||
.long CANDB
|
||||
.long JEEPP
|
||||
.long DUXPAL
|
||||
.long SCOREPAL
|
||||
neon_p: ;PAL #0
|
||||
.word 64 ;pal size
|
||||
.word >0,>0,>421,>842,>C63,>867,>C6,>1084,>10C6,>10A8
|
||||
.word >14C2,>18A4,>1CC4,>14A5,>14C6,>18C6,>14C8,>D08,>18E2,>1902
|
||||
.word >18E7,>1908,>1D23,>2104,>1CE7,>2108,>2508,>1D43,>2144,>2164
|
||||
.word >2DC5,>10A9,>108C,>10AB,>18EB,>1909,>1D09,>1D2A,>2109,>214B
|
||||
.word >2509,>2529,>292A,>294A,>256C,>2D4B,>2D6B,>316B,>356C,>C2F
|
||||
.word >14CD,>1CEE,>1437,>214F,>298D,>2992,>2DAF,>398D,>39CE,>45CF
|
||||
.word >31F1,>5652,>313C,>4E3D
|
||||
rose_p: ;PAL #1
|
||||
.word 54 ;pal size
|
||||
.word >0,>0,>1084,>14A5,>10C6,>18C6,>18E7,>18E8,>1CE7,>20E8
|
||||
.word >2108,>1089,>14AB,>2509,>18CD,>1CEF,>1D29,>2529,>1D2A,>214B
|
||||
.word >256C,>292A,>2D2A,>294A,>2D4A,>2D4B,>298D,>314B,>316B,>316C
|
||||
.word >356C,>358C,>358D,>35AD,>396C,>398D,>3D8D,>39AE,>3DAD,>3DAE
|
||||
.word >41AD,>41AE,>41CE,>41CF,>45CE,>45CF,>45EF,>4631,>49EF,>49F0
|
||||
.word >4A10,>4E10,>5231,>5A73
|
||||
back_p: ;PAL #2
|
||||
.word 54 ;pal size
|
||||
.word >0,>0,>C84,>C6,>10A5,>10C6,>14C6,>867,>C89,>10C7
|
||||
.word >14C8,>14E7,>14EA,>10AB,>8CC,>C2F,>CEF,>1437,>D11,>1177
|
||||
.word >2063,>2084,>2463,>2863,>3042,>3C63,>4084,>4463,>4484,>7E00
|
||||
.word >18C6,>18E7,>28A7,>2CA7,>3086,>30A6,>3486,>4067,>60C6,>1908
|
||||
.word >1909,>190A,>20A8,>20A9,>1CEB,>28A8,>406B,>1CEC,>1CED,>346D
|
||||
.word >286F,>2571,>313C,>4E3D
|
||||
endome_p: ;PAL #4
|
||||
.word 64 ;pal size
|
||||
.word >0,>0,>C84,>C6,>10A5,>10C6,>14C6,>867,>C89,>10C7
|
||||
.word >14C8,>14E7,>14EA,>10AB,>8CC,>C2F,>CEF,>1437,>D11,>1177
|
||||
.word >2063,>2084,>2463,>2863,>3042,>3C63,>4084,>4463,>4484,>7E00
|
||||
.word >18C6,>18E7,>28A7,>2CA7,>3086,>30A6,>3486,>4067,>60C6,>1908
|
||||
.word >1909,>190A,>20A8,>20A9,>1CEB,>28A8,>406B,>1CEC,>1CED,>346D
|
||||
.word >286F,>2571,>313C,>4E3D,>0,>7AA0,>71C0,>5920,>48C0,>4080
|
||||
.word >3080,>4080,>48C0,>5920
|
||||
mutt: ;PAL #5
|
||||
.word 62 ;pal size
|
||||
.word >0,>40,>E0,>1084,>1C60,>2840,>24A0,>3100,>18C6,>2108
|
||||
.word >161,>294A,>318C,>221,>2A1,>4968,>39CE,>3DEF,>5D89,>65CA
|
||||
.word >4631,>6E4F,>7AB1,>5294,>56B5,>5AF6,>6318,>7B35,>739C,>C0
|
||||
.word >121,>1A1,>1E1,>201,>261,>281,>2E1,>3A2,>3D05,>3947
|
||||
.word >4D47,>59AA,>61EB,>7EB0,>6F5A,>C20,>1860,>2061,>3102,>34E1
|
||||
.word >4441,>5AD6,>44C4,>4D05,>5127,>5DAA,>6E0C,>726F,>2D6A,>4042
|
||||
.word >4906,>6B5A
|
||||
sign2: ;PAL #6
|
||||
.word 64 ;pal size
|
||||
.word >0,>0,>821,>61,>842,>81,>481,>C81,>A1,>A2
|
||||
.word >4A1,>C2,>E2,>102,>1062,>10A1,>1482,>14A2,>18A2,>10E1
|
||||
.word >14C2,>18C2,>14E1,>14E2,>18E2,>1901,>1CC2,>1CE2,>20E2,>1D01
|
||||
.word >2D21,>3180,>43,>C63,>85,>E3,>123,>C84,>1084,>1483
|
||||
.word >10C4,>18A3,>18A4,>18C5,>18E5,>1CC4,>20C4,>20C5,>2105,>24E5
|
||||
.word >28E5,>4C8,>10E8,>8EA,>910,>D0F,>14E7,>14C8,>18E6,>18E7
|
||||
.word >2D48,>1529,>520D,>1D18
|
||||
trans: ;PAL #8
|
||||
.word 64 ;pal size
|
||||
.word >0,>0,>21,>421,>463,>842,>863,>C63,>C64,>C84
|
||||
.word >1084,>885,>C85,>CA5,>1085,>10A5,>10A6,>14A5,>14A6,>14C6
|
||||
.word >14C7,>14E8,>18C8,>18E8,>1908,>1909,>1D09,>1D29,>2109,>1D0A
|
||||
.word >1D2A,>1D2B,>212A,>212B,>214B,>214C,>216C,>254C,>256C,>256D
|
||||
.word >258D,>298D,>298E,>29AE,>2DD0,>2D4B,>2D6B,>316B,>356C,>2DAF
|
||||
.word >14CD,>1CEE,>1437,>214F,>298D,>2992,>2DAF,>398D,>39CE,>45CF
|
||||
.word >31F1,>5652,>313C,>4E3D
|
||||
vsign: ;PAL #9
|
||||
.word 64 ;pal size
|
||||
.word >0,>0,>22,>61,>62,>43,>63,>64,>65,>82
|
||||
.word >85,>A5,>C5,>86,>A6,>C6,>A7,>C7,>E7,>840
|
||||
.word >842,>C81,>486,>CA4,>4A7,>CC4,>4C7,>8C6,>CE7,>10A1
|
||||
.word >1482,>18A2,>20E2,>14C4,>14C5,>A8,>488,>4C9,>8C8,>E8
|
||||
.word >8E9,>8AB,>4CA,>4EB,>8EA,>8EB,>8CC,>8ED,>90E,>910
|
||||
.word >14C8,>D08,>1108,>CCC,>1529,>218A,>624E,>CEF,>1111,>10D2
|
||||
.word >14F4,>1917,>213F,>3998
|
||||
gold_p: ;PAL #10
|
||||
.word 64 ;pal size
|
||||
.word >0,>0,>821,>61,>842,>81,>481,>C81,>A1,>A2
|
||||
.word >4A1,>C2,>E2,>102,>1062,>10A1,>1482,>14A2,>18A2,>10E1
|
||||
.word >14C2,>18C2,>14E1,>14E2,>18E2,>1901,>1CC2,>1CE2,>20E2,>1D01
|
||||
.word >2D21,>3180,>43,>C63,>85,>E3,>123,>C84,>1084,>1483
|
||||
.word >10C4,>18A3,>18A4,>18C5,>18E5,>1CC4,>20C4,>20C5,>2105,>24E5
|
||||
.word >28E5,>4C8,>10E8,>8EA,>910,>D0F,>14E7,>14C8,>18E6,>18E7
|
||||
.word >2D48,>1529,>520D,>1D18
|
||||
|
||||
DOMEPALS:
|
||||
.long neon_p
|
||||
.long rose_p
|
||||
.long back_p
|
||||
.long water_p
|
||||
.long endome_p
|
||||
.long mutt
|
||||
.long sign2
|
||||
.long BULLET
|
||||
.long trans
|
||||
.long vsign
|
||||
.long gold_p
|
||||
.long sign_p
|
||||
vpole: ;PAL #0
|
||||
.word 64 ;pal size
|
||||
.word >0,>0,>400,>1060,>C85,>1084,>CA6,>CA8,>1088,>10C8
|
||||
.word >1880,>20A0,>24E2,>14C7,>14A8,>14C8,>18C8,>14E8,>C8B,>14EA
|
||||
.word >18E9,>1CEB,>1509,>1909,>190A,>1D0B,>210C,>210E,>1D2C,>212D
|
||||
.word >252E,>1CAF,>20D1,>210F,>2111,>2130,>2530,>2132,>2550,>2970
|
||||
.word >2552,>2971,>2991,>2D71,>2D91,>2D92,>3191,>20F3,>2973,>2993
|
||||
.word >2D93,>3193,>2554,>2974,>2994,>2D94,>3194,>2975,>2D77,>39B4
|
||||
.word >3DD5,>41B8,>41D7,>41F6
|
||||
vbgoldr: ;PAL #1
|
||||
.word 64 ;pal size
|
||||
.word >0,>0,>400,>1060,>1460,>1880,>1CA0,>20A0,>24C0,>842
|
||||
.word >1084,>C85,>CA6,>1087,>1881,>1465,>1CA1,>20C1,>20C2,>1886
|
||||
.word >18A7,>20C6,>24C1,>24E1,>24E2,>28E2,>24E3,>2503,>2903,>24E4
|
||||
.word >2505,>2904,>2506,>2507,>2906,>2D47,>1088,>CA8,>1CA8,>18C8
|
||||
.word >1CC8,>1D09,>20C8,>20E8,>20E9,>24C8,>24E9,>2108,>2109,>2128
|
||||
.word >2508,>2509,>2528,>C8B,>1CEA,>1D0A,>1D0B,>20EA,>210A,>250A
|
||||
.word >1CCC,>20ED,>1CCF,>2CDC
|
||||
vthrn: ;PAL #2
|
||||
.word 64 ;pal size
|
||||
.word >0,>0,>842,>80,>1060,>1460,>1880,>A0,>1CA0,>20A0
|
||||
.word >C0,>20C1,>24C0,>E0,>24E2,>201,>221,>C63,>CA6,>E9
|
||||
.word >CA7,>CA8,>CA9,>1084,>14A5,>18C6,>14C7,>14E9,>18E9,>1909
|
||||
.word >20C8,>1CE7,>2108,>2926,>C8B,>C8C,>108C,>108D,>148D,>108E
|
||||
.word >148F,>1490,>14B0,>18B0,>18B1,>18B2,>1CB2,>1CB4,>20B4,>20B5
|
||||
.word >20B6,>20D6,>24D7,>24D8,>28D8,>28D9,>28DA,>28DB,>28F9,>2CDB
|
||||
.word >2CFB,>2CDC,>2CFC,>311C
|
||||
capant: ;PAL #3
|
||||
.word 64 ;pal size
|
||||
.word >0,>0,>400,>C60,>C80,>1080,>10A0,>18C6,>14C0,>14E0
|
||||
.word >1500,>1540,>1C60,>2108,>2529,>294A,>2D6B,>318C,>35AD,>39AD
|
||||
.word >39CE,>3DEF,>4210,>4631,>4A30,>4A52,>4E73,>5294,>56B5,>5AD6
|
||||
.word >5EF7,>6318,>6739,>77BD,>2906,>2D47,>8AA,>CCB,>1CA8,>0
|
||||
.word >0,>844,>2400,>2464,>2C62,>3821,>4ED,>3C42,>4083,>44A4
|
||||
.word >40C4,>44C4,>48C4,>3D60,>4904,>4D80,>846,>3CC5,>48C5,>48E5
|
||||
.word >4906,>4CE6,>4D06,>C4B
|
||||
blackman: ;PAL #4
|
||||
.word 64 ;pal size
|
||||
.word >0,>20,>20,>80,>A0,>E0,>120,>C20,>1820,>2440
|
||||
.word >2460,>C00,>2861,>2C61,>2C81,>3081,>30A2,>34A2,>34C3,>38A2
|
||||
.word >38C3,>3CC3,>38E4,>3CE4,>3D05,>40C3,>40E4,>4104,>422,>1082
|
||||
.word >4105,>4125,>4525,>4126,>4526,>4546,>4567,>4568,>4967,>4988
|
||||
.word >4D88,>4DAA,>4DCB,>51AA,>51CB,>51EC,>520C,>562E,>564F,>5A70
|
||||
.word >5692,>5EB2,>5ED3,>6317,>20,>20,>20,>20,>20,>40
|
||||
.word >42,>60,>80,>A0
|
||||
blueguy: ;PAL #5
|
||||
.word 64 ;pal size
|
||||
.word >0,>425,>407,>426,>846,>1C82,>18C6,>2482,>2108,>48
|
||||
.word >A,>2529,>294A,>C,>2D6B,>F,>4F,>7,>C,>F
|
||||
.word >10,>3082,>38A3,>3CA3,>3CC4,>40C4,>44E4,>4CE4,>4D05,>5105
|
||||
.word >5526,>5527,>5547,>5946,>5947,>5D67,>5968,>318C,>5D89,>6189
|
||||
.word >61AA,>65AA,>65CB,>69CB,>35AD,>39CE,>110,>4631,>65EC,>69EC
|
||||
.word >6A2D,>726F,>7691,>5294,>1CD7,>76F4,>77BD,>25,>7,>26
|
||||
.word >447,>104E,>0,>0
|
||||
girls: ;PAL #6
|
||||
.word 61 ;pal size
|
||||
.word >0,>844,>2400,>2464,>2C62,>3821,>3883,>3C42,>4083,>44A4
|
||||
.word >40C4,>44C4,>48C4,>3D60,>4904,>4D80,>846,>3CC5,>48C5,>48E5
|
||||
.word >4906,>4CE6,>4D06,>C4B,>2088,>1C6D,>1032,>18D8,>5483,>5106
|
||||
.word >5107,>5126,>5127,>5D27,>5148,>5547,>5548,>5569,>5969,>5989
|
||||
.word >598A,>5D89,>5D8A,>61AB,>6200,>6E80,>7E60,>65EA,>7EC0,>7F20
|
||||
.word >7F80,>7B4B,>61CC,>65EC,>65ED,>660F,>6A2F,>6E0E,>724F,>6E71
|
||||
.word >72D5
|
||||
redguy: ;PAL #7
|
||||
.word 64 ;pal size
|
||||
.word >0,>1820,>1800,>1820,>1C40,>1460,>18C6,>1080,>2108,>2000
|
||||
.word >2400,>2529,>294A,>2804,>2D6B,>1C21,>3043,>2800,>2C00,>3802
|
||||
.word >3C03,>1820,>2040,>2440,>2461,>2861,>2C81,>3481,>34A2,>38A2
|
||||
.word >3CC3,>3CC4,>3CE4,>40E3,>40E4,>4504,>4105,>318C,>4527,>4947
|
||||
.word >4968,>4D68,>4D89,>5189,>35AD,>39CE,>4401,>4631,>5566,>5966
|
||||
.word >59A7,>61E9,>660B,>5294,>492C,>6691,>77BD,>25,>7,>26
|
||||
.word >447,>104E,>0,>0
|
||||
captcar: ;PAL #8
|
||||
.word 54 ;pal size
|
||||
.word >0,>0,>400,>D03,>D23,>D63,>DA3,>2860,>34A3,>40C4
|
||||
.word >40E4,>4D60,>44E5,>48E5,>4905,>4D05,>4D26,>5126,>5147,>5526
|
||||
.word >5547,>5947,>5568,>5968,>5989,>5D47,>5D68,>5D88,>7184,>7E00
|
||||
.word >5D89,>5DA9,>61A9,>5DAA,>61AA,>61CA,>61EB,>61EC,>65EB,>660C
|
||||
.word >6A0C,>6A2E,>6A4F,>6E2E,>6E4F,>6E70,>6E90,>72B2,>72D3,>76F4
|
||||
.word >7316,>7B36,>7B57,>7F9B
|
||||
|
||||
NGPALS:
|
||||
.long vpole
|
||||
.long vbgoldr
|
||||
.long vthrn
|
||||
.long capant
|
||||
.long blackman
|
||||
.long blueguy
|
||||
.long girls
|
||||
.long redguy
|
||||
.long captcar
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,86 @@
|
|||
/* CARN linker command file */
|
||||
-e INIT_PROG /* entry point of program */
|
||||
-f 0xFFFF /* fill unspecified memory with value */
|
||||
-o d:CARN.out /* specify output file */
|
||||
-m d:CARN.map /* map file */
|
||||
-s /* Kill the symbol table */
|
||||
NDSP1.OBJ /*IMAGE HANDLER*/
|
||||
RAM.OBJ /*RAM ALLOCATIONS*/
|
||||
UTIL.OBJ /*UTILITIES*/
|
||||
PALL.OBJ /*PALETTE ROUTINES*/
|
||||
MPROC.OBJ /*MULTI-TASKER*/
|
||||
BAKGND.OBJ /*BACKGROUND GENERATOR*/
|
||||
BGNDTBL.OBJ /*BACKGROUND TABLES*/
|
||||
BGNDPAL.OBJ /*BACKGROUND PALETTES*/
|
||||
IMGTBL.OBJ /*IMAGE STUB*/
|
||||
IMGPAL.OBJ /*IMAGE PALETTES GENERATED BY LOADIMG*/
|
||||
MAIN.OBJ /*INITIALIZATION AND INTERRUPTS*/
|
||||
CARN.OBJ /*FIRST GAME MODULE*/
|
||||
RACKUP.OBJ
|
||||
RBOSS.OBJ
|
||||
ABOSS.OBJ
|
||||
SCORE.OBJ
|
||||
SHOTS.OBJ
|
||||
COLL2.OBJ
|
||||
SOUNDS.OBJ
|
||||
PATCH.OBJ
|
||||
TEXT.OBJ
|
||||
WAVES.OBJ
|
||||
SHAWN.OBJ
|
||||
ATTRACT.OBJ
|
||||
CHUNKS.OBJ
|
||||
ICONS.OBJ
|
||||
NEWHULK.OBJ
|
||||
HELPER.OBJ
|
||||
T72.OBJ
|
||||
ARAB.OBJ
|
||||
LAYER.OBJ
|
||||
FIEND.OBJ
|
||||
MINE.OBJ
|
||||
TRIG.OBJ
|
||||
ADJUST.OBJ
|
||||
AUDIT.OBJ
|
||||
TEST.OBJ
|
||||
DIAG.OBJ
|
||||
MENU.OBJ
|
||||
HSTD.OBJ
|
||||
MEMORY /* set up memory for sdb board */
|
||||
{
|
||||
SCRATCH : org = 0x01000000, len = 0x100000
|
||||
ROM : org = 0xFFC00000, len = 0x380000
|
||||
ROM2 : org = 0xFFFF6F00, len = 0x8D00
|
||||
TRAP31 : org = 0xFFFFFC00, len = 0x400
|
||||
IROM : org = 0x02000000, len = 0x400000
|
||||
}
|
||||
|
||||
SECTIONS /* linker sections directive */
|
||||
{
|
||||
VECTORS: {} > TRAP31
|
||||
IMAGES: {} > IROM
|
||||
GROUP:
|
||||
{
|
||||
shit: {}
|
||||
SHIT: {}
|
||||
} > ROM2
|
||||
GROUP:
|
||||
{
|
||||
FIXED: {}
|
||||
OFIXED: {}
|
||||
NFIXED: {}
|
||||
.BSS: {}
|
||||
.bss: {}
|
||||
SYSWORK: {}
|
||||
} > SCRATCH
|
||||
|
||||
GROUP:
|
||||
{
|
||||
.text: {}
|
||||
.TEXT: {}
|
||||
.data: {}
|
||||
.DATA: {}
|
||||
img_tbl: {}
|
||||
} > ROM
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,864 @@
|
|||
STAND_TBL_L:
|
||||
.LONG P1S12L1,P1S12L1,P1SH6L1,P1S12L1,P1SH9L1,P1S10L1,P1SH8L1
|
||||
.LONG P1SH9L1,P1S10L1,P1SH8L1
|
||||
STAND_TBL_L2:
|
||||
.LONG P1TH12L1,P1TH12L1,P1TH6L1,P1TH12L1,P1TH9L1,P1TH10L1,P1TH8L1
|
||||
.LONG P1TH9L1,P1TH10L1,P1TH8L1
|
||||
STAND_TBL_L3:
|
||||
.LONG P1TH12L2,P1TH12L2,P1TH6L2,P1TH12L2,P1TH9L2,P1TH10L2,P1TH8L2
|
||||
.LONG P1TH9L2,P1TH10L2,P1TH8L2
|
||||
|
||||
|
||||
;NORMAL BULLET WEAPON
|
||||
SHT_UP:
|
||||
.LONG P1S12T1
|
||||
.WORD FLIPBITS|2,0
|
||||
.LONG P1S12T2
|
||||
.WORD 2
|
||||
.LONG P1S12T1
|
||||
.WORD 2
|
||||
.LONG P1S12T2
|
||||
.WORD 2
|
||||
.LONG 0
|
||||
SHT_UPRGT:
|
||||
.LONG P1S10T1
|
||||
.WORD FLIPBITS|2,(M_FLIPH)
|
||||
.LONG P1S10T2
|
||||
.WORD 2
|
||||
.LONG P1S10T1
|
||||
.WORD 2
|
||||
.LONG P1S10T2
|
||||
.WORD 2
|
||||
.LONG 0
|
||||
SHT_UPLFT:
|
||||
.LONG P1S10T1
|
||||
.WORD FLIPBITS|2,0
|
||||
.LONG P1S10T2
|
||||
.WORD 2
|
||||
.LONG P1S10T1
|
||||
.WORD 2
|
||||
.LONG P1S10T2
|
||||
.WORD 2
|
||||
.LONG 0
|
||||
SHT_RGT:
|
||||
.LONG P1SH9T1
|
||||
.WORD FLIPBITS|2,(M_FLIPH)
|
||||
.LONG P1SH9T2
|
||||
.WORD 2
|
||||
.LONG P1SH9T1
|
||||
.WORD 2
|
||||
.LONG P1SH9T2
|
||||
.WORD 2
|
||||
.LONG 0
|
||||
SHT_LFT:
|
||||
.LONG P1SH9T1
|
||||
.WORD FLIPBITS|2,0
|
||||
.LONG P1SH9T2
|
||||
.WORD 2
|
||||
.LONG P1SH9T1
|
||||
.WORD 2
|
||||
.LONG P1SH9T2
|
||||
.WORD 2
|
||||
.LONG 0
|
||||
SHT_DN:
|
||||
.LONG P1SH6T1
|
||||
.WORD FLIPBITS|2,0
|
||||
.LONG P1SH6T2
|
||||
.WORD 2
|
||||
.LONG P1SH6T1
|
||||
.WORD 2
|
||||
.LONG P1SH6T2
|
||||
.WORD 2
|
||||
.LONG 0
|
||||
SHT_DNLFT:
|
||||
.LONG P1SH8T1
|
||||
.WORD FLIPBITS|2,0
|
||||
.LONG P1SH8T2
|
||||
.WORD 2
|
||||
.LONG P1SH8T1
|
||||
.WORD 2
|
||||
.LONG P1SH8T2
|
||||
.WORD 2
|
||||
.LONG 0
|
||||
SHT_DNRGT:
|
||||
.LONG P1SH8T1
|
||||
.WORD FLIPBITS|2,(M_FLIPH)
|
||||
.LONG P1SH8T2
|
||||
.WORD 2
|
||||
.LONG P1SH8T1
|
||||
.WORD 2
|
||||
.LONG P1SH8T2
|
||||
.WORD 2
|
||||
.LONG 0
|
||||
|
||||
|
||||
;FOR SPRAY WEAPON
|
||||
SHT2_UP:
|
||||
.LONG P1SPRDR12
|
||||
.WORD FLIPBITS|4,0
|
||||
.LONG P1SPRD12A
|
||||
.WORD 4
|
||||
.LONG 0
|
||||
SHT2_UPRGT:
|
||||
.LONG P1SPRDR10
|
||||
.WORD FLIPBITS|4,(M_FLIPH)
|
||||
.LONG P1SPRDR10A
|
||||
.WORD 4
|
||||
.LONG 0
|
||||
SHT2_UPLFT:
|
||||
.LONG P1SPRDR10
|
||||
.WORD FLIPBITS|4,0
|
||||
.LONG P1SPRDR10A
|
||||
.WORD 4
|
||||
.LONG 0
|
||||
SHT2_RGT:
|
||||
.LONG P1SPRDR9
|
||||
.WORD FLIPBITS|4,(M_FLIPH)
|
||||
.LONG P1SPRDR9A
|
||||
.WORD 4
|
||||
.LONG 0
|
||||
SHT2_LFT:
|
||||
.LONG P1SPRDR9
|
||||
.WORD FLIPBITS|4,0
|
||||
.LONG P1SPRDR9A
|
||||
.WORD 4
|
||||
.LONG 0
|
||||
SHT2_DN:
|
||||
.LONG P1SPRDR6
|
||||
.WORD FLIPBITS|4,0
|
||||
.LONG P1SPRD6A
|
||||
.WORD 4
|
||||
.LONG 0
|
||||
SHT2_DNLFT:
|
||||
.LONG P1SPRDR8
|
||||
.WORD FLIPBITS|4,0
|
||||
.LONG P1SPRD8A
|
||||
.WORD 4
|
||||
.LONG 0
|
||||
SHT2_DNRGT:
|
||||
.LONG P1SPRDR8
|
||||
.WORD FLIPBITS|4,(M_FLIPH)
|
||||
.LONG P1SPRD8A
|
||||
.WORD 4
|
||||
.LONG 0
|
||||
|
||||
|
||||
;FOR FLAME THROWER
|
||||
SHT3_UP:
|
||||
.LONG P1FLAMR12
|
||||
.WORD FLIPBITS|4,0
|
||||
.LONG 0
|
||||
SHT3_UPRGT:
|
||||
.LONG P1FLAMR10
|
||||
.WORD FLIPBITS|4,(M_FLIPH)
|
||||
.LONG 0
|
||||
SHT3_UPLFT:
|
||||
.LONG P1FLAMR10
|
||||
.WORD FLIPBITS|4,0
|
||||
.LONG 0
|
||||
SHT3_RGT:
|
||||
.LONG P1FLAMR9
|
||||
.WORD FLIPBITS|4,(M_FLIPH)
|
||||
.LONG 0
|
||||
SHT3_LFT:
|
||||
.LONG P1FLAMR9
|
||||
.WORD FLIPBITS|4,0
|
||||
.LONG 0
|
||||
SHT3_DN:
|
||||
.LONG P1FLAMR6
|
||||
.WORD FLIPBITS|4,0
|
||||
.LONG 0
|
||||
SHT3_DNLFT:
|
||||
.LONG P1FLAMR8
|
||||
.WORD FLIPBITS|4,0
|
||||
.LONG 0
|
||||
SHT3_DNRGT:
|
||||
.LONG P1FLAMR8
|
||||
.WORD FLIPBITS|4,(M_FLIPH)
|
||||
.LONG 0
|
||||
|
||||
|
||||
|
||||
;SHOOTING GRENADE LAUNCHER WEAPON
|
||||
SHT4_UP:
|
||||
.LONG P1GR12T1
|
||||
.WORD FLIPBITS|3,0
|
||||
.LONG 0
|
||||
SHT4_UPRGT:
|
||||
.LONG P1GR10T1
|
||||
.WORD FLIPBITS|3,(M_FLIPH)
|
||||
.LONG 0
|
||||
SHT4_UPLFT:
|
||||
.LONG P1GR10T1
|
||||
.WORD FLIPBITS|3,0
|
||||
.LONG 0
|
||||
SHT4_RGT:
|
||||
.LONG P1GR9T1
|
||||
.WORD FLIPBITS|3,(M_FLIPH)
|
||||
.LONG 0
|
||||
SHT4_LFT:
|
||||
.LONG P1GR9T1
|
||||
.WORD FLIPBITS|3,0
|
||||
.LONG 0
|
||||
SHT4_DN:
|
||||
.LONG P1GR6T1
|
||||
.WORD FLIPBITS|3,0
|
||||
.LONG 0
|
||||
SHT4_DNLFT:
|
||||
.LONG P1GR8T1
|
||||
.WORD FLIPBITS|3,0
|
||||
.LONG 0
|
||||
SHT4_DNRGT:
|
||||
.LONG P1GR8T1
|
||||
.WORD FLIPBITS|3,(M_FLIPH)
|
||||
.LONG 0
|
||||
|
||||
;FOR NON STOP WEAPON
|
||||
SHT5_UP:
|
||||
.LONG P1LARS12
|
||||
.WORD FLIPBITS|4,0
|
||||
.LONG P1LARS12A
|
||||
.WORD 4
|
||||
.LONG 0
|
||||
SHT5_UPRGT:
|
||||
.LONG P1LARS10
|
||||
.WORD FLIPBITS|4,(M_FLIPH)
|
||||
.LONG P1LARS10A
|
||||
.WORD 4
|
||||
.LONG 0
|
||||
SHT5_UPLFT:
|
||||
.LONG P1LARS10
|
||||
.WORD FLIPBITS|4,0
|
||||
.LONG P1LARS10A
|
||||
.WORD 4
|
||||
.LONG 0
|
||||
SHT5_RGT:
|
||||
.LONG P1LARS9
|
||||
.WORD FLIPBITS|4,(M_FLIPH)
|
||||
.LONG P1LARS9A
|
||||
.WORD 4
|
||||
.LONG 0
|
||||
SHT5_LFT:
|
||||
.LONG P1LARS9
|
||||
.WORD FLIPBITS|4,0
|
||||
.LONG P1LARS9A
|
||||
.WORD 4
|
||||
.LONG 0
|
||||
SHT5_DN:
|
||||
.LONG P1LARS6
|
||||
.WORD FLIPBITS|4,0
|
||||
.LONG P1LARS6A
|
||||
.WORD 4
|
||||
.LONG 0
|
||||
SHT5_DNLFT:
|
||||
.LONG P1LARS8
|
||||
.WORD FLIPBITS|4,0
|
||||
.LONG P1LARS8A
|
||||
.WORD 4
|
||||
.LONG 0
|
||||
SHT5_DNRGT:
|
||||
.LONG P1LARS8
|
||||
.WORD FLIPBITS|4,(M_FLIPH)
|
||||
.LONG P1LARS8A
|
||||
.WORD 4
|
||||
.LONG 0
|
||||
|
||||
;FOR MACHINE GUN
|
||||
SHT6_UP:
|
||||
.LONG P1MGUN12
|
||||
.WORD FLIPBITS|2,0
|
||||
.LONG P1MGUN12A
|
||||
.WORD 2
|
||||
.LONG 0
|
||||
SHT6_UPRGT:
|
||||
.LONG P1MGUN10
|
||||
.WORD FLIPBITS|2,(M_FLIPH)
|
||||
.LONG P1MGUN10A
|
||||
.WORD 2
|
||||
.LONG 0
|
||||
SHT6_UPLFT:
|
||||
.LONG P1MGUN10
|
||||
.WORD FLIPBITS|2,0
|
||||
.LONG P1MGUN10A
|
||||
.WORD 2
|
||||
.LONG 0
|
||||
SHT6_RGT:
|
||||
.LONG P1MGUN9
|
||||
.WORD FLIPBITS|2,(M_FLIPH)
|
||||
.LONG P1MGUN9A
|
||||
.WORD 2
|
||||
.LONG 0
|
||||
SHT6_LFT:
|
||||
.LONG P1MGUN9
|
||||
.WORD FLIPBITS|2,0
|
||||
.LONG P1MGUN9A
|
||||
.WORD 2
|
||||
.LONG 0
|
||||
SHT6_DN:
|
||||
.LONG P1MGUN6
|
||||
.WORD FLIPBITS|2,0
|
||||
.LONG P1MGUN6A
|
||||
.WORD 2
|
||||
.LONG 0
|
||||
SHT6_DNLFT:
|
||||
.LONG P1MGUN8
|
||||
.WORD FLIPBITS|2,0
|
||||
.LONG P1MGUN8A
|
||||
.WORD 2
|
||||
.LONG 0
|
||||
SHT6_DNRGT:
|
||||
.LONG P1MGUN8
|
||||
.WORD FLIPBITS|2,(M_FLIPH)
|
||||
.LONG P1MGUN8A
|
||||
.WORD 2
|
||||
.LONG 0
|
||||
|
||||
|
||||
L_SHT_UP:
|
||||
.LONG P1S12L1
|
||||
.WORD FLIPBITS|1,0
|
||||
.LONG 0
|
||||
L_SHT_UPRGT:
|
||||
.LONG P1S10L1
|
||||
.WORD FLIPBITS|1,(M_FLIPH)
|
||||
.LONG 0
|
||||
L_SHT_UPLFT:
|
||||
.LONG P1S10L1
|
||||
.WORD FLIPBITS|1,0
|
||||
.LONG 0
|
||||
L_SHT_RGT:
|
||||
.LONG P1SH9L1
|
||||
.WORD FLIPBITS|1,(M_FLIPH)
|
||||
.LONG 0
|
||||
L_SHT_LFT:
|
||||
.LONG P1SH9L1
|
||||
.WORD FLIPBITS|1,0
|
||||
.LONG 0
|
||||
L_SHT_DN:
|
||||
.LONG P1SH6L1
|
||||
.WORD FLIPBITS|1,0
|
||||
.LONG 0
|
||||
L_SHT_DNLFT:
|
||||
.LONG P1SH8L1
|
||||
.WORD FLIPBITS|1,0
|
||||
.LONG 0
|
||||
L_SHT_DNRGT:
|
||||
.LONG P1SH8L1
|
||||
.WORD FLIPBITS|1,(M_FLIPH)
|
||||
.LONG 0
|
||||
|
||||
|
||||
|
||||
L2_SHT_UP:
|
||||
.LONG P1TH12L1
|
||||
.WORD FLIPBITS|1,0
|
||||
.LONG 0
|
||||
L2_SHT_UPRGT:
|
||||
.LONG P1TH10L1
|
||||
.WORD FLIPBITS|1,(M_FLIPH)
|
||||
.LONG 0
|
||||
L2_SHT_UPLFT:
|
||||
.LONG P1TH10L1
|
||||
.WORD FLIPBITS|1,0
|
||||
.LONG 0
|
||||
L2_SHT_RGT:
|
||||
.LONG P1TH9L1
|
||||
.WORD FLIPBITS|1,(M_FLIPH)
|
||||
.LONG 0
|
||||
L2_SHT_LFT:
|
||||
.LONG P1TH9L1
|
||||
.WORD FLIPBITS|1,0
|
||||
.LONG 0
|
||||
L2_SHT_DN:
|
||||
.LONG P1TH6L1
|
||||
.WORD FLIPBITS|1,0
|
||||
.LONG 0
|
||||
L2_SHT_DNLFT:
|
||||
.LONG P1TH8L1
|
||||
.WORD FLIPBITS|1,0
|
||||
.LONG 0
|
||||
L2_SHT_DNRGT:
|
||||
.LONG P1TH8L1
|
||||
.WORD FLIPBITS|1,(M_FLIPH)
|
||||
.LONG 0
|
||||
|
||||
PWK_UP:
|
||||
.LONG P1R12L1
|
||||
.WORD FLIPBITS|3,0
|
||||
.LONG P1R12L2
|
||||
.WORD 3
|
||||
.LONG P1R12L3
|
||||
.WORD 3
|
||||
.LONG P1R12L4
|
||||
.WORD 3
|
||||
.LONG P1R12L5
|
||||
.WORD 3
|
||||
.LONG P1R12L6
|
||||
.WORD 3
|
||||
.LONG P1R12L7
|
||||
.WORD 3
|
||||
.LONG P1R12L8
|
||||
.WORD 3
|
||||
.LONG 0
|
||||
PWK_DN:
|
||||
.LONG P1RN6L1
|
||||
.WORD FLIPBITS|3,0
|
||||
.LONG P1RN6L2
|
||||
.WORD 3
|
||||
.LONG P1RN6L3
|
||||
.WORD 3
|
||||
.LONG P1RN6L4
|
||||
.WORD 3
|
||||
.LONG P1RN6L5
|
||||
.WORD 3
|
||||
.LONG P1RN6L6
|
||||
.WORD 3
|
||||
.LONG P1RN6L7
|
||||
.WORD 3
|
||||
.LONG P1RN6L8
|
||||
.WORD 3
|
||||
.LONG 0
|
||||
PWK_RGT:
|
||||
.LONG P1RN9L1
|
||||
.WORD FLIPBITS|3,(M_FLIPH)
|
||||
.LONG P1RN9L2
|
||||
.WORD 3
|
||||
.LONG P1RN9L3
|
||||
.WORD 3
|
||||
.LONG P1RN9L4
|
||||
.WORD 3
|
||||
.LONG P1RN9L5
|
||||
.WORD 3
|
||||
.LONG P1RN9L6
|
||||
.WORD 3
|
||||
.LONG P1RN9L7
|
||||
.WORD 3
|
||||
.LONG P1RN9L8
|
||||
.WORD 3
|
||||
.LONG 0
|
||||
PWK_UPRGT:
|
||||
.LONG P1R10L1
|
||||
.WORD FLIPBITS|3,(M_FLIPH)
|
||||
.LONG P1R10L2
|
||||
.WORD 3
|
||||
.LONG P1R10L3
|
||||
.WORD 3
|
||||
.LONG P1R10L4
|
||||
.WORD 3
|
||||
.LONG P1R10L5
|
||||
.WORD 3
|
||||
.LONG P1R10L6
|
||||
.WORD 3
|
||||
.LONG P1R10L7
|
||||
.WORD 3
|
||||
.LONG 0
|
||||
PWK_DNLFT:
|
||||
.LONG P1RN8L1
|
||||
.WORD FLIPBITS|3,0
|
||||
.LONG P1RN8L2
|
||||
.WORD 3
|
||||
.LONG P1RN8L3
|
||||
.WORD 3
|
||||
.LONG P1RN8L4
|
||||
.WORD 3
|
||||
.LONG P1RN8L5
|
||||
.WORD 3
|
||||
.LONG P1RN8L6
|
||||
.WORD 3
|
||||
.LONG P1RN8L7
|
||||
.WORD 3
|
||||
.LONG P1RN8L8
|
||||
.WORD 3
|
||||
.LONG 0
|
||||
PWK_LFT:
|
||||
.LONG P1RN9L1
|
||||
.WORD FLIPBITS|3,0
|
||||
.LONG P1RN9L2
|
||||
.WORD 3
|
||||
.LONG P1RN9L3
|
||||
.WORD 3
|
||||
.LONG P1RN9L4
|
||||
.WORD 3
|
||||
.LONG P1RN9L5
|
||||
.WORD 3
|
||||
.LONG P1RN9L6
|
||||
.WORD 3
|
||||
.LONG P1RN9L7
|
||||
.WORD 3
|
||||
.LONG P1RN9L8
|
||||
.WORD 3
|
||||
.LONG 0
|
||||
PWK_UPLFT:
|
||||
.LONG P1R10L1
|
||||
.WORD FLIPBITS|3,0
|
||||
.LONG P1R10L2
|
||||
.WORD 3
|
||||
.LONG P1R10L3
|
||||
.WORD 3
|
||||
.LONG P1R10L4
|
||||
.WORD 3
|
||||
.LONG P1R10L5
|
||||
.WORD 3
|
||||
.LONG P1R10L6
|
||||
.WORD 3
|
||||
.LONG P1R10L7
|
||||
.WORD 3
|
||||
.LONG 0
|
||||
PWK_DNRGT:
|
||||
.LONG P1RN8L1
|
||||
.WORD FLIPBITS|3,(M_FLIPH)
|
||||
.LONG P1RN8L2
|
||||
.WORD 3
|
||||
.LONG P1RN8L3
|
||||
.WORD 3
|
||||
.LONG P1RN8L4
|
||||
.WORD 3
|
||||
.LONG P1RN8L5
|
||||
.WORD 3
|
||||
.LONG P1RN8L6
|
||||
.WORD 3
|
||||
.LONG P1RN8L7
|
||||
.WORD 3
|
||||
.LONG P1RN8L8
|
||||
.WORD 3
|
||||
.LONG 0
|
||||
|
||||
|
||||
FPWK_UP:
|
||||
.LONG P1R12L1
|
||||
.WORD FLIPBITS|1,0
|
||||
.LONG P1R12L2
|
||||
.WORD 1
|
||||
.LONG P1R12L3
|
||||
.WORD 1
|
||||
.LONG P1R12L4
|
||||
.WORD 1
|
||||
.LONG P1R12L5
|
||||
.WORD 1
|
||||
.LONG P1R12L6
|
||||
.WORD 1
|
||||
.LONG P1R12L7
|
||||
.WORD 1
|
||||
.LONG P1R12L8
|
||||
.WORD 1
|
||||
.LONG 0
|
||||
FPWK_DN:
|
||||
.LONG P1RN6L1
|
||||
.WORD FLIPBITS|1,0
|
||||
.LONG P1RN6L2
|
||||
.WORD 1
|
||||
.LONG P1RN6L3
|
||||
.WORD 1
|
||||
.LONG P1RN6L4
|
||||
.WORD 1
|
||||
.LONG P1RN6L5
|
||||
.WORD 1
|
||||
.LONG P1RN6L6
|
||||
.WORD 1
|
||||
.LONG P1RN6L7
|
||||
.WORD 1
|
||||
.LONG P1RN6L8
|
||||
.WORD 1
|
||||
.LONG 0
|
||||
FPWK_RGT:
|
||||
.LONG P1RN9L1
|
||||
.WORD FLIPBITS|1,(M_FLIPH)
|
||||
.LONG P1RN9L2
|
||||
.WORD 1
|
||||
.LONG P1RN9L3
|
||||
.WORD 1
|
||||
.LONG P1RN9L4
|
||||
.WORD 1
|
||||
.LONG P1RN9L5
|
||||
.WORD 1
|
||||
.LONG P1RN9L6
|
||||
.WORD 1
|
||||
.LONG P1RN9L7
|
||||
.WORD 1
|
||||
.LONG P1RN9L8
|
||||
.WORD 1
|
||||
.LONG 0
|
||||
FPWK_UPRGT:
|
||||
.LONG P1R10L1
|
||||
.WORD FLIPBITS|1,(M_FLIPH)
|
||||
.LONG P1R10L2
|
||||
.WORD 1
|
||||
.LONG P1R10L3
|
||||
.WORD 1
|
||||
.LONG P1R10L4
|
||||
.WORD 1
|
||||
.LONG P1R10L5
|
||||
.WORD 1
|
||||
.LONG P1R10L6
|
||||
.WORD 1
|
||||
.LONG P1R10L7
|
||||
.WORD 1
|
||||
.LONG 0
|
||||
FPWK_DNLFT:
|
||||
.LONG P1RN8L1
|
||||
.WORD FLIPBITS|1,0
|
||||
.LONG P1RN8L2
|
||||
.WORD 1
|
||||
.LONG P1RN8L3
|
||||
.WORD 1
|
||||
.LONG P1RN8L4
|
||||
.WORD 1
|
||||
.LONG P1RN8L5
|
||||
.WORD 1
|
||||
.LONG P1RN8L6
|
||||
.WORD 1
|
||||
.LONG P1RN8L7
|
||||
.WORD 1
|
||||
.LONG P1RN8L8
|
||||
.WORD 1
|
||||
.LONG 0
|
||||
FPWK_LFT:
|
||||
.LONG P1RN9L1
|
||||
.WORD FLIPBITS|1,0
|
||||
.LONG P1RN9L2
|
||||
.WORD 1
|
||||
.LONG P1RN9L3
|
||||
.WORD 1
|
||||
.LONG P1RN9L4
|
||||
.WORD 1
|
||||
.LONG P1RN9L5
|
||||
.WORD 1
|
||||
.LONG P1RN9L6
|
||||
.WORD 1
|
||||
.LONG P1RN9L7
|
||||
.WORD 1
|
||||
.LONG P1RN9L8
|
||||
.WORD 1
|
||||
.LONG 0
|
||||
FPWK_UPLFT:
|
||||
.LONG P1R10L1
|
||||
.WORD FLIPBITS|1,0
|
||||
.LONG P1R10L2
|
||||
.WORD 1
|
||||
.LONG P1R10L3
|
||||
.WORD 1
|
||||
.LONG P1R10L4
|
||||
.WORD 1
|
||||
.LONG P1R10L5
|
||||
.WORD 1
|
||||
.LONG P1R10L6
|
||||
.WORD 1
|
||||
.LONG P1R10L7
|
||||
.WORD 1
|
||||
.LONG 0
|
||||
FPWK_DNRGT:
|
||||
.LONG P1RN8L1
|
||||
.WORD FLIPBITS|1,(M_FLIPH)
|
||||
.LONG P1RN8L2
|
||||
.WORD 1
|
||||
.LONG P1RN8L3
|
||||
.WORD 1
|
||||
.LONG P1RN8L4
|
||||
.WORD 1
|
||||
.LONG P1RN8L5
|
||||
.WORD 1
|
||||
.LONG P1RN8L6
|
||||
.WORD 1
|
||||
.LONG P1RN8L7
|
||||
.WORD 1
|
||||
.LONG P1RN8L8
|
||||
.WORD 1
|
||||
.LONG 0
|
||||
|
||||
TWK_UP:
|
||||
.LONG P1TH12L1
|
||||
.WORD FLIPBITS|4,0
|
||||
.LONG P1TH12L2
|
||||
.WORD 4
|
||||
.LONG 0
|
||||
TWK_DN:
|
||||
.LONG P1TH6L1
|
||||
.WORD FLIPBITS|4,0
|
||||
.LONG P1TH6L2
|
||||
.WORD 4
|
||||
.LONG 0
|
||||
TWK_RGT:
|
||||
.LONG P1TH9L1
|
||||
.WORD FLIPBITS|4,(M_FLIPH)
|
||||
.LONG P1TH9L2
|
||||
.WORD 4
|
||||
.LONG 0
|
||||
TWK_UPRGT:
|
||||
.LONG P1TH10L1
|
||||
.WORD FLIPBITS|4,(M_FLIPH)
|
||||
.LONG P1TH10L2
|
||||
.WORD 4
|
||||
.LONG 0
|
||||
TWK_DNLFT:
|
||||
.LONG P1TH8L1
|
||||
.WORD FLIPBITS|4,0
|
||||
.LONG P1TH8L2
|
||||
.WORD 4
|
||||
.LONG 0
|
||||
TWK_LFT:
|
||||
.LONG P1TH9L1
|
||||
.WORD FLIPBITS|4,0
|
||||
.LONG P1TH9L2
|
||||
.WORD 4
|
||||
.LONG 0
|
||||
TWK_UPLFT:
|
||||
.LONG P1TH10L1
|
||||
.WORD FLIPBITS|4,0
|
||||
.LONG P1TH10L2
|
||||
.WORD 4
|
||||
.LONG 0
|
||||
TWK_DNRGT:
|
||||
.LONG P1TH8L1
|
||||
.WORD FLIPBITS|4,(M_FLIPH)
|
||||
.LONG P1TH8L2
|
||||
.WORD 4
|
||||
.LONG 0
|
||||
|
||||
;SUBLZR .EQU 0001H ;REGULAR LAZER SHOTS
|
||||
;SUBSPRY .EQU 0002H ;SPRAY SUB TYPE
|
||||
;SUBFIRE1 .EQU 0003H ;FIRE BALL WPN
|
||||
;SUBGRND .EQU 0004H ;GRENADE
|
||||
;SUBNOSTP .EQU 0005H ;NON STOPPING BULLET
|
||||
;SUBSPDG1 .EQU 0006H ;MACHINE GUN TYP WPN
|
||||
WPNWALK:
|
||||
;BULLET SUB TYPES
|
||||
.LONG T_WALK_LIST,T_WALK_LIST,T_WALK_LIST2,T_WALK_LIST3,T_WALK_LIST4
|
||||
.LONG T_WALK_LIST5,T_WALK_LIST6,T_WALK_LIST3
|
||||
|
||||
T_WALK_LIST: ;REGULAR GUN
|
||||
.LONG P1WG12T1,P1WG12T1,P1WG6T1,P1WG12T1,P1WG9T1,P1WG10T1,P1WG8T1,P1WG9T1
|
||||
.LONG P1WG10T1,P1WG8T1
|
||||
T_WALK_LIST2: ;SPRAY GUN
|
||||
.LONG P1WG12T1,P1SPRDWG12,P1SPRDWG6,P1SPRDWG12,P1SPRDWG9,P1SPRDWG10
|
||||
.LONG P1SPRDWG8,P1SPRDWG9
|
||||
.LONG P1SPRDWG10,P1SPRDWG8
|
||||
T_WALK_LIST3: ;FLAME THROWER
|
||||
.LONG P1WG12T1,P1FLAMR12,P1FLAMR6,P1FLAMR12,P1FLAMR9,P1FLAMR10,P1FLAMR8,P1FLAMR9
|
||||
.LONG P1FLAMR10,P1FLAMR8
|
||||
T_WALK_LIST4: ;GRENADE
|
||||
.LONG P1GR12T1,P1GR12T1,P1GR6T1,P1GR12T1,P1GR9T1,P1GR10T1,P1GR8T1,P1GR9T1
|
||||
.LONG P1GR10T1,P1GR8T1
|
||||
T_WALK_LIST5: ;NON STOPPING BULLET
|
||||
.LONG P1LARS12,P1LARS12,P1LARS6,P1LARS12,P1LARS9,P1LARS10,P1LARS8,P1LARS9
|
||||
.LONG P1LARS10,P1LARS8
|
||||
T_WALK_LIST6: ;MACHINE GUN WEAPON
|
||||
.LONG P1MGUN12,P1MGUN12,P1MGUN6,P1MGUN12,P1MGUN9,P1MGUN10,P1MGUN8,P1MGUN9
|
||||
.LONG P1MGUN10,P1MGUN8
|
||||
|
||||
T_WALK_FLG:
|
||||
.LONG DMAWNZ+M_NOCOLL,DMAWNZ+M_NOCOLL,DMAWNZ+M_NOCOLL,DMAWNZ+M_NOCOLL,DMAWNZ+M_NOCOLL+M_FLIPH
|
||||
.LONG DMAWNZ+M_NOCOLL+M_FLIPH
|
||||
.LONG DMAWNZ+M_NOCOLL+M_FLIPH,DMAWNZ+M_NOCOLL
|
||||
.LONG DMAWNZ+M_NOCOLL,DMAWNZ+M_NOCOLL
|
||||
L_WALK_FLG:
|
||||
.LONG DMAWNZ+M_NOCOLL,DMAWNZ+0,DMAWNZ+0,DMAWNZ+M_NOCOLL,DMAWNZ+0+M_FLIPH
|
||||
.LONG DMAWNZ+0+M_FLIPH
|
||||
.LONG DMAWNZ+0+M_FLIPH,DMAWNZ+0
|
||||
.LONG DMAWNZ+0,DMAWNZ+0
|
||||
|
||||
TSHK:
|
||||
.LONG PSHOCK1
|
||||
.WORD 3
|
||||
.LONG PSHOCK3
|
||||
.WORD 3
|
||||
.LONG PSHOCK4
|
||||
.WORD 3
|
||||
.LONG PSHOCK5
|
||||
.WORD 3
|
||||
.LONG PSHOCK6
|
||||
.WORD 2
|
||||
.LONG PSHOCK7
|
||||
.WORD 4
|
||||
.LONG PSHOCK8
|
||||
.WORD 2
|
||||
.LONG PSHOCK5
|
||||
.WORD 3
|
||||
.LONG PSHOCK6
|
||||
.WORD 2
|
||||
.LONG PSHOCK7
|
||||
.WORD 4
|
||||
.LONG PSHOCK8
|
||||
.WORD 2
|
||||
.LONG PSHOCK5
|
||||
.WORD 3
|
||||
.LONG PSHOCK6
|
||||
.WORD 2
|
||||
.LONG PSHOCK7
|
||||
.WORD 4
|
||||
.LONG PSHOCK8
|
||||
.WORD 2
|
||||
.LONG PSHOCK5
|
||||
.WORD 3
|
||||
.LONG PSHOCK6
|
||||
.WORD 2
|
||||
.LONG PSHOCK7
|
||||
.WORD 4
|
||||
.LONG PSHOCK8
|
||||
.WORD 2
|
||||
.LONG PSHOCK5
|
||||
.WORD 3
|
||||
.LONG PSHOCK6
|
||||
.WORD 2
|
||||
.LONG PSHOCK7
|
||||
.WORD 4
|
||||
.LONG PSHOCK8
|
||||
.WORD 2
|
||||
.LONG PSHOCK5
|
||||
.WORD 3
|
||||
.LONG PSHOCK6
|
||||
.WORD 2
|
||||
.LONG PSHOCK7
|
||||
.WORD 4
|
||||
.LONG PSHOCK8
|
||||
.WORD 2
|
||||
.LONG PSHOCK5
|
||||
.WORD 3
|
||||
.LONG PSHOCK6
|
||||
.WORD 2
|
||||
.LONG PSHOCK7
|
||||
.WORD 4
|
||||
.LONG PSHOCK8
|
||||
.WORD 2
|
||||
.LONG PSHOCK5
|
||||
.WORD 3
|
||||
.LONG PSHOCK6
|
||||
.WORD 2
|
||||
.LONG PSHOCK7
|
||||
.WORD 4
|
||||
.LONG PSHOCK8
|
||||
.WORD 2
|
||||
.LONG PSHOCK5
|
||||
.WORD 3
|
||||
.LONG PSHOCK6
|
||||
.WORD 2
|
||||
.LONG PSHOCK7
|
||||
.WORD 4
|
||||
.LONG PSHOCK8
|
||||
.WORD 2
|
||||
.LONG PSHOCK5
|
||||
.WORD 2
|
||||
.LONG PSHOCK6
|
||||
.WORD 2
|
||||
.LONG PSHOCK7
|
||||
.WORD 2
|
||||
.LONG PSHOCK8
|
||||
.WORD 2
|
||||
.LONG PSHOCK5
|
||||
.WORD 2
|
||||
.LONG PSHOCK6
|
||||
.WORD 2
|
||||
.LONG PSHOCK7
|
||||
.WORD 2
|
||||
.LONG PSHOCK8
|
||||
.WORD 2
|
||||
.LONG PSHOCK5
|
||||
.WORD 2
|
||||
.LONG PSHOCK6
|
||||
.WORD 2
|
||||
.LONG PSHOCK7
|
||||
.WORD 2
|
||||
.LONG PSHOCK8
|
||||
.WORD 2
|
||||
.LONG 0
|
||||
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
.struct disp.equ
|
||||
.STRUCT MPROC.EQU
|
||||
.STRUCT GAME.EQU
|
||||
.STRUCT SYS.INC
|
||||
.km !f1 \ @J"HOME"@K*ACTIVE\ PROC\ PLINK"CR"
|
||||
.km !f2 \ @J"HOME"@K*OBJLST\ OBJ\ OLINK"CR"
|
||||
.km !f3 \ @J"HOME"@KPALRAM\ PAL\ *"CR"
|
||||
.km !f4 \ @J"HOME"@K*BAKLST\ OBJ\ OLINK"CR"
|
||||
.km !f5 \ @J"HOME"@K*OFREE\ OBJ\ OLINK"CR"
|
||||
|
||||
;**** display SOURCE when cursor on longword in struct or mem display ****
|
||||
.km S @M"CR"S"CR"
|
||||
;**** display WORDS when cursor on longword in struct or mem display ****
|
||||
.km W @M"CR"W"CR"
|
||||
; this is a comment
|
||||
.wp SAVESCR,UHW
|
||||
.WP STATUS,UHW
|
||||
.wp CPULEFT,UDW
|
||||
.wp CPUAVG,UDW
|
||||
.wp START,UHW
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
: This file will split the Total Carnage Image files
|
||||
: into the appropriate ROM files. It will then concantenate the files
|
||||
: into 2 MBit eprom files.
|
||||
:
|
||||
: P Cox 08 Nov. 1991 Initial Creation
|
||||
: P Cox 26 Nov. 1991 Deleted path spec for SREC
|
||||
:
|
||||
: Split the Image file
|
||||
echo "Beginning Image File Build Process..."
|
||||
srec <carnimg.lrn
|
||||
:
|
||||
: Delete the unused *.03 Image Files
|
||||
echo "Deleting unused split image files (*.03)..."
|
||||
del *.03
|
||||
:
|
||||
echo "Beginning Image File Combine Process..."
|
||||
:
|
||||
copy /b carn20.00 + carn24.00 carnu111.pp
|
||||
copy /b carn20.01 + carn24.01 carnu95.pp
|
||||
copy /b carn20.02 + carn24.02 carnu106.pp
|
||||
copy /b carn28.00 + carn2c.00 carnu112.pp
|
||||
copy /b carn28.01 + carn2c.01 carnu96.pp
|
||||
copy /b carn28.02 + carn2c.02 carnu107.pp
|
||||
copy /b carn30.00 + carn34.00 carnu113.pp
|
||||
copy /b carn30.01 + carn34.01 carnu97.pp
|
||||
copy /b carn30.02 + carn34.02 carnu108.pp
|
||||
copy /b carn38.00 + carn3c.00 carnu114.pp
|
||||
copy /b carn38.01 + carn3c.01 carnu98.pp
|
||||
copy /b carn38.02 + carn3c.02 carnu109.pp
|
||||
:
|
||||
echo "Deleting split 1 MBit image files (*.00, *.01, *.02)..."
|
||||
del *.0?
|
||||
:
|
||||
:
|
||||
:
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
*****
|
||||
2000000
|
||||
|
||||
4
|
||||
|
||||
carn.irw
|
||||
|
||||
|
||||
|
||||
|
||||
a
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
: This file will split the Total Carnage Program files
|
||||
: into the appropriate ROM files. It will then concantenate the files
|
||||
: into 2 MBit eprom files.
|
||||
:
|
||||
: P Cox 08 Nov. 1991 Initial Creation
|
||||
: P Cox 26 Nov. 1991 Deleted path spec for SREC
|
||||
:
|
||||
: Split the Program file
|
||||
echo "Beginning Program File Build Process..."
|
||||
srec <carnprog.lrn
|
||||
:
|
||||
:
|
||||
echo "Beginning Program File Combine Process..."
|
||||
:
|
||||
copy /b carnfc.0 + carnfe.0 carnu105.pp
|
||||
copy /b carnfc.1 + carnfe.1 carnu89.pp
|
||||
:
|
||||
echo "Deleting 1 MBit program files..."
|
||||
:
|
||||
del carnf?.0
|
||||
del carnf?.1
|
||||
:
|
||||
:
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
*****
|
||||
ffc00000
|
||||
|
||||
2
|
||||
|
||||
carn.out
|
||||
|
||||
|
||||
|
||||
|
||||
a
|
||||
|
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,574 @@
|
|||
**************************************************************
|
||||
*
|
||||
* Software: Mark Turmell
|
||||
* Initiated: 9/2/90
|
||||
*
|
||||
* Modified: Shawn Liptak, 10/27/91 -Orcus mods
|
||||
*
|
||||
* COPYRIGHT (C) 1991 WILLIAMS ELECTRONICS GAMES, INC.
|
||||
*
|
||||
*.Last mod - 12/27/91 14:21
|
||||
**************************************************************
|
||||
.FILE 'CHUNKS.ASM'
|
||||
.TITLE 'CHUNK/EXPLOSION CODE'
|
||||
.WIDTH 132
|
||||
.OPTION B,D,L,T
|
||||
.MNOLIST
|
||||
|
||||
|
||||
.INCLUDE "MPROC.EQU" ;MPROC EQUATES
|
||||
.INCLUDE "DISP.EQU" ;DISPLAY PROC. EQUATES
|
||||
.INCLUDE "\VIDEO\SYS\SYS.INC" ;Z UNIT SYSTEM EQUATES
|
||||
.INCLUDE "\VIDEO\SYS\MACROS.HDR" ;MACROS DEFINITIONS
|
||||
.INCLUDE "IMGTBL.GLO"
|
||||
.INCLUDE "GAME.EQU"
|
||||
|
||||
;SOUNDS EXTERNAL
|
||||
|
||||
|
||||
;SYMBOLS EXTERNALLY DEFINED
|
||||
|
||||
.ref GETFPAL,FRANIM,GPALOBJ,GETCPNT
|
||||
.ref RNDRNGS
|
||||
.ref RANDPER
|
||||
|
||||
;SYMBOLS DEFINED IN THIS FILE
|
||||
|
||||
.DEF BLOOD_LST2,ALL_CHUNKS,CHUNK_OBJ,BEGIN_CHNK,PCTOT
|
||||
.DEF BLOOD_LST1,PCINFO,BOX_OUT,LASTPC
|
||||
|
||||
|
||||
;UNINITIALIZED RAM DEFINITIONS
|
||||
|
||||
.BSS LASTPC,32
|
||||
.BSS PCTOT,16
|
||||
.BSS PCINFO,(32+16+32)*PCSMAX
|
||||
.BSS GENERIC_INIT,7*32-16
|
||||
|
||||
|
||||
;EQUATES FOR THIS FILE
|
||||
|
||||
;FOR STARTING A CHUNK OBJECT
|
||||
XVAL .EQU GENERIC_INIT
|
||||
YVAL .EQU XVAL+32
|
||||
IMG .EQU YVAL+32
|
||||
ZPOS .EQU IMG+32
|
||||
FLAGS .EQU ZPOS+16
|
||||
ID .EQU FLAGS+16
|
||||
XVEL .EQU ID+16
|
||||
YVEL .EQU XVEL+32
|
||||
|
||||
|
||||
.TEXT
|
||||
.REF LOCK_NUM,DO_ALL_STUFF,ADJSTWTL,SLIDEIN,INFO_BOX
|
||||
.REF STRLNRMO,ERASE_TXT,WRLD,RD7FONT,EXITSND
|
||||
.DEF WARP_INFO
|
||||
|
||||
WARP_INFO
|
||||
;BRING PUT WARP INFO BOX AND TEXT
|
||||
MOVE @LOCK_NUM,A0
|
||||
CMPI 6,A0
|
||||
JRZ WDIE
|
||||
MOVI BUYINPID,A0
|
||||
CLR A1
|
||||
NOT A1
|
||||
CALLA EXISTP
|
||||
* Z BIT SET = NO MATCH, A0 = 0
|
||||
JRNZ WDIE
|
||||
|
||||
MOVI BX1A,A14
|
||||
CALLA DO_ALL_STUFF
|
||||
CALLA ADJSTWTL
|
||||
MOVE A0,*A13(PDATA),L
|
||||
MOVI BX2A,A14
|
||||
CALLA DO_ALL_STUFF
|
||||
CALLA ADJSTWTL
|
||||
MOVE A0,*A13(PDATA+32),L
|
||||
MOVI BX3A,A14
|
||||
CALLA DO_ALL_STUFF
|
||||
CALLA ADJSTWTL
|
||||
MOVE A0,*A13(PDATA+64),L
|
||||
|
||||
MOVE A13,@INFO_BOX,L
|
||||
|
||||
MOVI SLIDEIN,A0
|
||||
CALLA ONESND
|
||||
|
||||
MOVK 13H,A11
|
||||
WVOUT SLEEPK 1
|
||||
MOVE A13,A10
|
||||
MOVK 3,A9
|
||||
WVOUT1 MOVE *A10(PDATA),A0,L
|
||||
MOVE *A0(OYPOS),A1
|
||||
SUBK 5,A1
|
||||
MOVE A1,*A0(OYPOS)
|
||||
ADDK 32,A10
|
||||
DSJ A9,WVOUT1
|
||||
DSJ A11,WVOUT
|
||||
|
||||
CREATE TYPTEXT,DOT
|
||||
SLEEP 130+150+30
|
||||
BOX_OUT
|
||||
;KILL ALL TEXT
|
||||
MOVI TYPTEXT,A0
|
||||
CLR A1
|
||||
MOVE A1,@INFO_BOX,L
|
||||
CALLA KIL1C
|
||||
CALLA ERASE_TXT
|
||||
MOVI EXITSND,A0
|
||||
CALLA ONESND
|
||||
MOVI 23H,A11
|
||||
WVOU SLEEPK 1
|
||||
MOVE A13,A10
|
||||
MOVK 3,A9
|
||||
WVOU1 MOVE *A10(PDATA),A0,L
|
||||
MOVE *A0(OXPOS),A1
|
||||
ADDK 7,A1
|
||||
MOVE A1,*A0(OXPOS)
|
||||
ADDK 32,A10
|
||||
DSJ A9,WVOU1
|
||||
DSJ A11,WVOU
|
||||
MOVE *A13(PDATA),A0,L
|
||||
CALLA DELOBJ
|
||||
MOVE *A13(PDATA+32),A0,L
|
||||
CALLA DELOBJ
|
||||
MOVE *A13(PDATA+64),A0,L
|
||||
CALLA DELOBJ
|
||||
WDIE DIE
|
||||
DOT
|
||||
CLR A0
|
||||
MOVE A0,@WRLD
|
||||
MOVI RD7FONT,A11 ;FONT TABLE
|
||||
MOVK 1,A10 ;Y,X SPACING BETWEEN CHARCTERS
|
||||
MOVI WOBJ1,A8 ;WARPED TO:
|
||||
MOVI [09EH,0E7H],A9 ;SCRN Y/X
|
||||
MOVI 2525H,A6 ;
|
||||
MOVK 2,A0
|
||||
JSRP STRLNRMO
|
||||
|
||||
;BASED ON WARP #, PRINT OUT WARPED TO AREA:
|
||||
MOVI BLIP,A0
|
||||
CALLA ONESND
|
||||
MOVE @LOCK_NUM,A8
|
||||
SLL 5,A8
|
||||
ADDI WARPTX1,A8
|
||||
MOVE *A8,A8,L
|
||||
MOVI [09EH+9,0E7H],A9 ;SCRN Y/X
|
||||
MOVI 0C0CH,A6 ;
|
||||
MOVK 2,A0
|
||||
JSRP STRLNRMO
|
||||
|
||||
MOVI BLIP,A0
|
||||
CALLA ONESND
|
||||
MOVI WOBJ2,A8 ;WARP CODE:
|
||||
MOVI [0B4H,0E7H],A9 ;SCRN Y/X
|
||||
MOVI 2525H,A6 ;
|
||||
MOVK 2,A0
|
||||
JSRP STRLNRMO
|
||||
|
||||
MOVE @LOCK_NUM,A8
|
||||
SLL 5,A8
|
||||
ADDI FWARPTX2,A8
|
||||
MOVE *A8,A8,L
|
||||
MOVI BLIP,A0
|
||||
CALLA ONESND
|
||||
MOVI 500,A0
|
||||
CALLA RANDPER
|
||||
JRNC NOPASS ;BR=NO PASSWORD THIS TIME
|
||||
MOVE @LOCK_NUM,A8
|
||||
SLL 5,A8
|
||||
ADDI WARPTX2,A8
|
||||
MOVE *A8,A8,L
|
||||
NOPASS MOVI [0B4H,0E7H+80],A9 ;SCRN Y/X
|
||||
MOVI 0C0CH,A6 ;
|
||||
MOVK 2,A0
|
||||
JSRP STRLNRMO
|
||||
|
||||
MOVI BLIP,A0
|
||||
CALLA ONESND
|
||||
MOVI WOBJ2A,A8 ;DIFFICULTY:
|
||||
MOVI [0B4H+9,0E7H],A9 ;SCRN Y/X
|
||||
MOVI 2525H,A6 ;
|
||||
MOVK 2,A0
|
||||
JSRP STRLNRMO
|
||||
|
||||
MOVI BLIP,A0
|
||||
CALLA ONESND
|
||||
MOVE @LOCK_NUM,A8
|
||||
SLL 5,A8
|
||||
ADDI WARPTX2A,A8
|
||||
MOVE *A8,A8,L
|
||||
MOVI [0B4H+9,0E7H+87],A9 ;SCRN Y/X
|
||||
MOVI 3A3AH,A6 ;
|
||||
MOVK 2,A0
|
||||
JSRP STRLNRMO
|
||||
|
||||
MOVI BLIP,A0
|
||||
CALLA ONESND
|
||||
MOVI WOBJ3,A8 ;ADVICE:
|
||||
MOVI [0CAH,0E7H],A9 ;SCRN Y/X
|
||||
MOVI 2525H,A6 ;
|
||||
MOVK 2,A0
|
||||
JSRP STRLNRMO
|
||||
|
||||
MOVI BLIP,A0
|
||||
CALLA ONESND
|
||||
MOVE @LOCK_NUM,A8
|
||||
SLL 5,A8
|
||||
ADDI WARPTX3,A8
|
||||
MOVE *A8,A8,L
|
||||
MOVI [0CAH+9,0E7H],A9 ;SCRN Y/X
|
||||
MOVI 0C0CH,A6 ;
|
||||
MOVK 2,A0
|
||||
JSRP STRLNRMO
|
||||
|
||||
MOVI BLIP,A0
|
||||
CALLA ONESND
|
||||
MOVE @LOCK_NUM,A8
|
||||
SLL 5,A8
|
||||
ADDI WARPTX4,A8
|
||||
MOVE *A8,A8,L
|
||||
MOVI [0CAH+18,0E7H],A9 ;SCRN Y/X
|
||||
MOVI 0C0CH,A6 ;
|
||||
MOVK 2,A0
|
||||
JSRP STRLNRMO
|
||||
DIE
|
||||
|
||||
WOBJ1 .BYTE "WARPED TO:",0
|
||||
WOBJ2 .BYTE "WARP CODE:",0
|
||||
WOBJ2A .BYTE "DIFFICULTY:",0
|
||||
WOBJ3 .BYTE "ADVICE:",0
|
||||
|
||||
BLIP .WORD >F3F7,>20,>8099,0 ;BLIP SND
|
||||
|
||||
WARPTX1 .LONG WP1,WP1A,WP1B,WP1C,WP1D,WP1E,0,WP1G,WP1H,WP1H
|
||||
WARPTX2 .LONG WP2,WP2A,WP2B,WP2C,WP2D,WP2E,0,WP2G,WP2H,WP2H
|
||||
FWARPTX2
|
||||
.LONG FWP2,FWP2A,FWP2B,FWP2C,FWP2D,FWP2E,0,FWP2G,FWP2H,FWP2H
|
||||
WARPTX2A
|
||||
.LONG WPD2,WPD2A,WPD2B,WPD2C,WPD2D,WPD2E,0,WPD2G,WPD2H,WPD2H
|
||||
WARPTX3 .LONG WP3,WP3A,WP3B,WP3C,WP3D,WP3E,0,WP3G,WP3H,WP3H
|
||||
WARPTX4 .LONG WP4,WP4A,WP4B,WP4C,WP4D,WP4E,0,WP4G,WP4H,WP4H
|
||||
|
||||
WP1 .BYTE "BIO-NUCLEAR ZONE",0 ;MIDDLE OF DESERT
|
||||
FWP2 .BYTE "?ULU",0
|
||||
WP2 .BYTE "ZULU",0 ;GETS YOU TO WAVE BEFORE TAUNT
|
||||
WPD2 .BYTE "05",0
|
||||
WP3 .BYTE "BLOW UP LAND",0
|
||||
WP4 .BYTE "MINES WITH BOMB",0
|
||||
|
||||
WP1A .BYTE "BONUS HOSTAGES",0 ;LOWER LEFT OF DESERT
|
||||
FWP2A .BYTE "GOOB",0
|
||||
WP2A .BYTE "ORCS",0 ;GETS YOU DESERT LCKDWN #1
|
||||
WPD2A .BYTE "08",0
|
||||
WP3A .BYTE "DROP BOMBS AND",0
|
||||
WP4A .BYTE "DON'T BE GREEDY!",0
|
||||
|
||||
WP1B .BYTE "NEAR FACTORY",0 ;FROM TRIPLE GUNNER
|
||||
FWP2B .BYTE "LICK",0
|
||||
WP2B .BYTE "M??K",0 ;GETS YOU TO ORCUS
|
||||
WPD2B .BYTE "07",0
|
||||
WP3B .BYTE "SHOOT BARREL TO",0
|
||||
WP4B .BYTE "DELAY EXPLOSION!",0
|
||||
|
||||
WP1C .BYTE "BONUS KEYS!",0 ;1ST HANGAR IN AIRPORT
|
||||
FWP2C .BYTE "ROAD",0 ;GETS YOU TO AFTER RACKUP #1
|
||||
WP2C .BYTE "LIPS",0 ;GETS YOU TO END OF ROAD #1
|
||||
WPD2C .BYTE "10",0
|
||||
WP3C .BYTE "EXPERIENCE PAIN",0
|
||||
WP4C .BYTE "BEFORE PLEASURE!",0
|
||||
|
||||
WP1D .BYTE "REACTOR INTERIOR",0 ;MIDDLE OF AIRPORT GOING UP
|
||||
FWP2D .BYTE "LICK",0 ;GETS YOU TO END OF TARMAC
|
||||
WP2D .BYTE "EA?S",0 ;AREA WHERE SPIDER EGGS ARE
|
||||
WPD2D .BYTE "10",0
|
||||
WP3D .BYTE "KILL MR. BUTANE",0
|
||||
WP4D .BYTE "WITH MANY BOMBS!",0
|
||||
|
||||
WP1E .BYTE "SECRET AIRPLANES",0 ;ON ROAD GOING INTO BIG FORT
|
||||
FWP2E .BYTE "TOID",0 ;GETS YOU TO START OF BIGFORT
|
||||
WP2E .BYTE "TO?D",0
|
||||
WPD2E .BYTE "10",0
|
||||
WP3E .BYTE "GRAB ROCKET PACKS",0
|
||||
WP4E .BYTE "FLOAT OVER MINES!",0
|
||||
|
||||
;WP1F .BYTE "ELECTRIC CHAIR",0 ;ON ROAD GOING INTO BIG FORT
|
||||
;FWP2F .BYTE "SHOK",0 ;GETS YOU TO START OF BIGFORT
|
||||
;WP2F .BYTE "SHOK",0
|
||||
;WPD2F .BYTE "10",0
|
||||
;WP3F .BYTE "WHACK ON BUTTON",0
|
||||
;WP4F .BYTE "TO ESCAPE DEATH!",0
|
||||
|
||||
WP1G .BYTE "EASY FREE MAN!",0 ;IN AIRPRT
|
||||
FWP2G .BYTE "BL?W",0 ;GETS YOU TO SECRET PATH
|
||||
WP2G .BYTE "B?OW",0
|
||||
WPD2G .BYTE "4",0
|
||||
WP3G .BYTE "SUPER HERO GAMES",0
|
||||
WP4G .BYTE "ARE FOR DOGS!",0
|
||||
|
||||
WP1H .BYTE "JEEP ACTION!",0 ;LOWER RIGHT DESERT
|
||||
FWP2H .BYTE "SHOK",0 ;SHOCK SCENE
|
||||
WP2H .BYTE "SHOK",0
|
||||
WPD2H .BYTE "5",0
|
||||
WP3H .BYTE "YOU SHOULD HAVE",0
|
||||
WP4H .BYTE "2 PLAYERS HERE!",0
|
||||
|
||||
;FEASTMASTER
|
||||
.EVEN
|
||||
|
||||
BX1A:
|
||||
.LONG [0E3H,0],[0F9H,0],BXTOP
|
||||
.WORD 472,DMAWNZ|M_NOCOLL,CLSDEAD
|
||||
.LONG 0,0
|
||||
BX2A:
|
||||
.LONG [0E3H,0],[0FEH,0],BXMID
|
||||
.WORD 472,DMAWNZ|M_NOCOLL,CLSDEAD
|
||||
.LONG 0,0
|
||||
BX3A:
|
||||
.LONG [0E3H,0],[0146H,0],BXTOP
|
||||
.WORD 472,DMAWNZ|M_NOCOLL|M_FLIPV,CLSDEAD
|
||||
.LONG 0,0
|
||||
|
||||
|
||||
********************************
|
||||
* Chunk an object (Process)
|
||||
* PLACE INTO PCINFO TABLE FOR UPDATING BY THE PC DRIVER (ALL_CHUNKS) PROCESS
|
||||
* A8=*OBJECT TO BLOW UP
|
||||
* A9=XVEL
|
||||
* A10=YVEL FOR ADDING IN
|
||||
* A11=LIST FOR FRANIM, FIRST ENTRY IS IMG TO START, 0 ENDS LIST
|
||||
|
||||
CHUNK_OBJ
|
||||
MOVE @PCTOT,A0
|
||||
CMPI 40,A0
|
||||
JRGE DONE
|
||||
CALLA GETCPNT
|
||||
MOVX A1,A0
|
||||
SLL 16,A0 ;A0=PROPER X,A1=Y
|
||||
MOVE A9,A6
|
||||
MOVE A10,A7
|
||||
MOVE *A11+,A2,L
|
||||
MOVI 293,A3 ;240
|
||||
MOVI DMAWNZ|M_NOCOLL,A4
|
||||
MOVI CLSDEAD,A5 ;I WILL KILL MYSELF
|
||||
CALLR BEGIN_CHNK
|
||||
MOVE *A13(PDATA),A0
|
||||
JRZ NOCH
|
||||
MOVE A0,*A8(OPAL) ;CHANGE TO OTHER PAL
|
||||
NOCH
|
||||
MOVE @LASTPC,A0,L ;NOW INSERT THIS PNTR INTO CHUNK DRIVER
|
||||
MOVE A8,*A0+,L
|
||||
MOVK 1,A1
|
||||
MOVE A1,*A0+,W ;INIT TICK CNT
|
||||
MOVE *A11+,A9,L ;LIST FOR THIS CHUNK
|
||||
MOVE A9,*A0+,L
|
||||
MOVE A0,@LASTPC,L
|
||||
JRUC AGAIN ;WILL NOW GENERATE X CHUNKS FOR CRATE DEATH
|
||||
|
||||
colp MOVE @PCTOT,A2
|
||||
INC A2
|
||||
MOVE A2,@PCTOT
|
||||
CALLR NEWV2 ;GET VELOCITIES FOR THIS CHUNK
|
||||
CALLR QUICK_CHNK
|
||||
MOVE *A13(PDATA),A0
|
||||
JRZ NOCH2
|
||||
MOVE A0,*A8(OPAL) ;CHANGE TO OTHER PAL
|
||||
NOCH2 MOVE @LASTPC,A0,L
|
||||
MOVE A8,*A0+,L
|
||||
MOVK 1,A1
|
||||
MOVE A1,*A0+,W ;INIT TICK CNT
|
||||
MOVE A9,*A0+,L
|
||||
MOVE A0,@LASTPC,L
|
||||
|
||||
AGAIN MOVE *A11+,A9,L
|
||||
JRNZ colp
|
||||
|
||||
DONE DIE
|
||||
|
||||
;NEWV MOVI -09000H,B0
|
||||
; MOVI 09000H,B1
|
||||
; CALLA RANGRAND
|
||||
; ADD A6,A0
|
||||
; MOVE A0,@XVEL,L
|
||||
; MOVI -07000H,B0
|
||||
; MOVI 07000H,B1
|
||||
; CALLA RANGRAND
|
||||
; ADD A7,A0
|
||||
; MOVE A0,@YVEL,L
|
||||
; RETS
|
||||
|
||||
NEWV2
|
||||
movi >e000,a0
|
||||
calla RNDRNGS
|
||||
add a6,a0
|
||||
move a0,@XVEL,L
|
||||
movi >c000,a0
|
||||
calla RNDRNGS
|
||||
add a7,a0
|
||||
move a0,@YVEL,L
|
||||
rets
|
||||
|
||||
|
||||
********************************
|
||||
* PROCESS WHICH HANDLES ALL CHUNKS
|
||||
|
||||
ALL_CHUNKS
|
||||
CLR A0
|
||||
MOVI PCINFO,A1
|
||||
MOVI PCSMAX,A2
|
||||
PCL1 MOVE A0,*A1+,L
|
||||
MOVE A0,*A1+,W
|
||||
MOVE A0,*A1+,L
|
||||
DSJS A2,PCL1
|
||||
|
||||
MOVI PCINFO,A0
|
||||
MOVE A0,@LASTPC,L
|
||||
|
||||
PCTP MOVI PCINFO,A3
|
||||
PCTP1
|
||||
MOVE *A3+,A8,L
|
||||
JREQ DN
|
||||
;PC PNTR FOUND
|
||||
MOVE *A3,A0,W ;GET SLP TIME
|
||||
DEC A0
|
||||
MOVE A0,*A3+,W
|
||||
JRGT PCOUTA ;JRNE
|
||||
;READY FOR ANIMATION ON THIS PIECE
|
||||
MOVE *A3,A9,L ;GET FRANIM LIST
|
||||
MOVK 4,A1
|
||||
JSRP FRANIM ;PIG ON CYCLES!
|
||||
JRC YDONE ;GET RID OF PIECE
|
||||
MOVE A9,*A3,L
|
||||
MOVE A0,*A3(-16),W ;RESTORE SLEEP TIME
|
||||
|
||||
PCOUTA ADDK 32,A3
|
||||
JRUC PCTP1
|
||||
|
||||
YDONE SUBI 48,A3
|
||||
;ONLY NECESSARY IF ONLY PIECE IN LIST?
|
||||
CLR A0
|
||||
MOVE A0,*A3,L
|
||||
CALLA DELOBJA8
|
||||
MOVE @PCTOT,A0
|
||||
DEC A0
|
||||
MOVE A0,@PCTOT
|
||||
JRNN YD
|
||||
CLR A0
|
||||
MOVE A0,@PCTOT
|
||||
YD
|
||||
MOVE @LASTPC,A0,L
|
||||
SUBI 80,A0
|
||||
MOVE A0,@LASTPC,L
|
||||
MOVE *A0,A5,L
|
||||
JREQ DN ;BR=ONLY 1 PC IN LIST AND IT DIED!
|
||||
|
||||
MOVE *A0+,A1,L
|
||||
MOVE *A0+,A2,W
|
||||
MOVE *A0,A5,L
|
||||
CLR A4
|
||||
SUBI 48,A0
|
||||
MOVE A4,*A0,L ;ZERO OUT PREVIOUS LAST ENTRY
|
||||
MOVE A1,*A3+,L
|
||||
MOVE A2,*A3+,W
|
||||
MOVE A5,*A3+,L
|
||||
JRUC PCTP1
|
||||
|
||||
DN SLEEPK 1
|
||||
JRUC PCTP
|
||||
|
||||
BEGIN_CHNK
|
||||
MOVE A0,@XVAL,L
|
||||
MOVE A1,@YVAL,L
|
||||
MOVE A2,@IMG,L
|
||||
MOVE A3,@ZPOS
|
||||
MOVE A4,@FLAGS
|
||||
MOVE A5,@ID
|
||||
MOVE A6,@XVEL,L
|
||||
MOVE A7,@YVEL,L
|
||||
QUICK_CHNK
|
||||
MOVI GENERIC_INIT,A14 ;DEFINE OBJECT PARAMS
|
||||
CALLA GPALOBJ ;ALLOCATE A COLOR PALETTE
|
||||
CALLA STFOBJ ;STUFF OBJECT DATA
|
||||
MOVE A13,*A0(OPLINK),L
|
||||
CALLA INSOBJ ;INSERT OBJECT INTO LIST
|
||||
MOVE A0,A8
|
||||
RETS
|
||||
|
||||
*****************************************************************************
|
||||
;
|
||||
; FRANIM LISTS OF CHUNKS/BLOOD
|
||||
;
|
||||
*****************************************************************************
|
||||
BLOOD_LST1
|
||||
;BLOODY CHUNK
|
||||
.LONG rblot1
|
||||
.WORD NEWPALET|20
|
||||
.LONG RDBOOM ;ONUP1
|
||||
.LONG rblot2
|
||||
.WORD 5
|
||||
.LONG rblot3
|
||||
.WORD 5
|
||||
.LONG rblot4
|
||||
.WORD 5
|
||||
.LONG rblot5
|
||||
.WORD 5
|
||||
.LONG rblot6
|
||||
.WORD 5
|
||||
.LONG rblot7
|
||||
.WORD 5
|
||||
.LONG rblot8
|
||||
.WORD 4
|
||||
.LONG rblot9
|
||||
.WORD 4
|
||||
.LONG rblot10
|
||||
.WORD 5
|
||||
.LONG 0
|
||||
BLOOD_LST2
|
||||
;OVAL BLOOD EXPLOSION
|
||||
.LONG bldclt1
|
||||
.WORD NEWPALET|1
|
||||
.LONG RDBOOM ;ONUP1
|
||||
.LONG bldclt2
|
||||
.WORD 6
|
||||
.LONG bldclt3
|
||||
.WORD 6
|
||||
.LONG bldclt4
|
||||
.WORD 6
|
||||
.LONG bldclt5
|
||||
.WORD 6
|
||||
.LONG bldclt6
|
||||
.WORD 6
|
||||
.LONG bldclt7
|
||||
.WORD 6
|
||||
.LONG bldclt8
|
||||
.WORD 7
|
||||
.LONG 0
|
||||
BLOOD_LST3
|
||||
;BLOODY CHUNK
|
||||
.LONG rblot1
|
||||
.WORD NEWPALET|40
|
||||
.LONG RDBOOM ;ONUP1
|
||||
.LONG rblot2
|
||||
.WORD 5
|
||||
.LONG rblot3
|
||||
.WORD 6
|
||||
.LONG rblot4
|
||||
.WORD 6
|
||||
.LONG rblot5
|
||||
.WORD 5
|
||||
.LONG rblot6
|
||||
.WORD 5
|
||||
.LONG rblot7
|
||||
.WORD 5
|
||||
.LONG rblot8
|
||||
.WORD 4
|
||||
.LONG rblot9
|
||||
.WORD 4
|
||||
.LONG rblot10
|
||||
.WORD 5
|
||||
.LONG 0
|
||||
*****************************************************************************
|
||||
|
||||
.END
|
||||
|
||||
|
|
@ -0,0 +1,108 @@
|
|||
*.Last mod - 10/23/91 22:32
|
||||
.GLOBAL OFREE,OBJLST,BAKLST,DISPLAYON,SCRNRELV
|
||||
.GLOBAL OINIT,GETOBJ,INSOBJ,DELOBJ,DELOBJA8
|
||||
.GLOBAL DISPLAY,ADDOBJ,KILOBJ,OBJSTR,DISPH
|
||||
.GLOBAL ANI,STFOBJ,SCRTST,SCRTSTG,GSAGOF,GANIOF,DELBOBJ
|
||||
.GLOBAL YZSORT,INSBOBJ,KILBOBJ
|
||||
.GLOBAL PULLBOBJ,PULLOBJ,GANISAG,ADJSTWTL,CLIPOBJ
|
||||
.GLOBAL QDMA,QDMAN,GETANIXY
|
||||
.GLOBAL SCROLLX,SCROLLY,WORLDTLX,WORLDTLY,WORLDTL
|
||||
.GLOBAL SCRNTL,SCRNLR,GSCRNREL,ADJNEWTL
|
||||
.GLOBAL OBJSTR,SCREENTL,SCREENLR,QSYNC,DMAQCUR,DMAQCNT
|
||||
.GLOBAL BOTQ0CNT,BOTQ1CNT,TOPQ0CNT,TOPQ1CNT,BOTQ0FLG,BOTQ1FLG
|
||||
.GLOBAL TOPQ0FLG,TOPQ1FLG,BOTQ0,BOTQ1,TOPQ0,TOPQ1,STOPOBJS
|
||||
.GLOBAL FREEOBJ,FREEOBJE
|
||||
.GLOBAL EXISTOBJ,DMAINT
|
||||
.GLOBAL DISPQT,ENDOFREE,ISOBJ
|
||||
.GLOBAL BEGINOBJ,BEGINOBJ2,BKGSAGOF
|
||||
.global KIL1OBJC,KILOBJN,DELOBJDIE,FRQDELDIE
|
||||
|
||||
*GLOBALS CONNECTED TO NARC
|
||||
.GLOBAL DFRMGRND,CURPAL,DUMCOLL
|
||||
|
||||
*OBJECT INITIALIZATION TABLE
|
||||
INITXVAL .EQU 0
|
||||
INITYVAL .EQU 20H
|
||||
INITIMG .EQU 40H
|
||||
INITZPOS .EQU 60H
|
||||
INITFLAGS .EQU 70H
|
||||
INITID .EQU 80H
|
||||
INITXVEL .EQU 90H
|
||||
INITYVEL .EQU 0B0H
|
||||
|
||||
*CONSTANTS
|
||||
|
||||
SCRNST .EQU [0,0] ;TOP LEFT OF SCREEN
|
||||
SCRNEND .EQU [256,400] ;BOTTOM RIGHT OF SCREEN
|
||||
SCRNMID .EQU [128,200] ;MIDPOINT OF SCREEN
|
||||
;SCRNST .EQU [1,5] ;TOP LEFT OF SCREEN
|
||||
;SCRNEND .EQU [252,395] ;BOTTOM RIGHT OF SCREEN
|
||||
;SCRNMID .EQU [128,200] ;MIDPOINT OF SCREEN
|
||||
|
||||
|
||||
* OBJECT BLOCK LAYOUT
|
||||
|
||||
*STRUCT OBJ
|
||||
OLINK .EQU 0 ;UHL 32 BIT LINK TO NEXT OBJECT BLOCK
|
||||
OXVEL .EQU 20H ;UHL 32 BIT X VELOCITY 16.16
|
||||
OYVEL .EQU 40H ;UHL 32 BIT Y VELOCITY 16.16
|
||||
OXVAL .EQU 60H ;UHL 32 BIT X POSITION
|
||||
OXFRAC .EQU 60H ; FRACTIONAL PORTION OF X POSITION
|
||||
OXPOS .EQU 70H ; INTEGER PORTION OF X POSITION
|
||||
OYVAL .EQU 080H ;UHL 32 BIT Y POSITION
|
||||
OYFRAC .EQU 080H ; FRACTIONAL PORTION OF Y POSITION
|
||||
OYPOS .EQU 090H ; INTEGER PORTION OF Y POSITION
|
||||
OZPOS .EQU 0A0H ;UHW INTEGER Z POSITION OF OBJECT
|
||||
OFLAGS .EQU 0B0H ;UHW 32 BIT BITS 0 - 5 DMA CONTROL; B16-31= OFFSET PRECOMPUTED
|
||||
OFSET .EQU 0C0H ;UHW PRECOMPUTED OFFSET
|
||||
OSAG .EQU 0D0H ;UHL 32 BIT SOURCE ADDRESS (UNCLIPPED, ADJUSTED FOR FLIPS)
|
||||
OSIZE .EQU 0F0H ; 32 BIT H,W OF OBJECT (16,16) W=ADJUSTED FOR MORSEL
|
||||
OSIZEX .EQU 0F0H ;UHW X SIZE
|
||||
OSIZEY .EQU 100H ;UHW Y SIZE
|
||||
OPAL .EQU 110H ;UHW PALLETTE
|
||||
OCONST .EQU 120H ;CONSTANT COLOR
|
||||
OIMG .EQU 130H ;UHL 32 BIT POINTER TO IMAGE DATA TABLE
|
||||
OID .EQU 150H ;UHW 16 BIT OBJECT ID
|
||||
OPLINK .EQU 160H ;UHL 32 BIT LINK TO CONTROLLING PROCESS
|
||||
;ODMAXY .EQU 180H ; 32 BIT SCREEN COORD OF OBJECT
|
||||
;ODMAX .EQU 180H ;X COORDINATE
|
||||
;ODMAY .EQU 190H ;Y COORDINATE
|
||||
OXCLIP .EQU 180H ;UHW 16 BIT TOTAL X PRECLIP
|
||||
OBSIZ .EQU 190H ;1F0
|
||||
*ENDSTRUCT
|
||||
NOBJ .EQU 415 ;OBJECTS TO DISPLAY
|
||||
|
||||
BQCELL .EQU >A0 ;SIZE OF DMA QUEUE ELEMENT
|
||||
***********************
|
||||
* VALUES FOR OFLAGS *
|
||||
***********************
|
||||
M_WRZERO .EQU 1 ;WRITE ZERO DATA
|
||||
M_WRNONZ .EQU 2 ;WRITE NON-ZERO DATA
|
||||
M_CONZER .EQU 4 ;REPLACE ZERO DATA WITH CONSTANT
|
||||
M_CONNON .EQU 8 ;REPLACE NON-ZERO DATA WITH CONSTANT
|
||||
M_CONST .EQU >C ;ANY CONSTANT DATA REPLACEMENT
|
||||
M_FLIPH .EQU >10 ;FLIP HORIZONTALLY
|
||||
M_FLIPV .EQU >20 ;FLIP VERTICALLY
|
||||
M_NODIS .EQU >100 ;IGNORE THIS ENTRY
|
||||
M_PZPLUS .EQU >200 ;TAKE Z VALUE FROM RAM LOC. PREVZ AND ADD 1
|
||||
M_PIXSCAN .EQU >400 ;IF=1 O.K. TO PIXEL SCAN WITH THIS OBJECT
|
||||
M_NOCOLL .EQU >800 ;IF=1 OBJECT NOT COLLIDABLE
|
||||
M_PREVZ .EQU >1000 ;TAKE Z VALUE FROM RAM LOC. PREVZ
|
||||
M_NOMOV .EQU >2000 ;DO NOT ADD VELOCITIES
|
||||
M_INUSE .set >8000 ;obj in use by display system
|
||||
|
||||
*BIT POSITIONS FOR OFLAGS
|
||||
B_WRZERO .EQU 0
|
||||
B_WRNONZ .EQU 1
|
||||
B_CONZER .EQU 2
|
||||
B_CONNON .EQU 3
|
||||
B_FLIPH .EQU 4
|
||||
B_FLIPV .EQU 5
|
||||
B_NODIS .EQU 8
|
||||
B_PZPLUS .EQU 9
|
||||
B_PIXSCAN .EQU 10
|
||||
B_NOCOLL .EQU 11
|
||||
B_PREVZ .EQU 12
|
||||
B_NOMOV .EQU 13
|
||||
B_INUSE .set 15
|
||||
|
|
@ -0,0 +1,972 @@
|
|||
**************************************************************************
|
||||
* *
|
||||
* VIDEO GAME PROJECT: HIGH IMPACT FOOTBALL *
|
||||
* *
|
||||
* PROGRAMMER: EDWARD J. BOON *
|
||||
* ARTIST: JOHN R. NEWCOMER *
|
||||
* SOUNDS: *
|
||||
* *
|
||||
* MODULE: FBAMODE.ASM -- ATTRACT MODE *
|
||||
* *
|
||||
* COPYRIGHT (C) 1989 WILLIAMS ELECTRONICS GAMES, INC. *
|
||||
* *
|
||||
**************************************************************************
|
||||
|
||||
.FILE 'FBAMODE.ASM'
|
||||
.TITLE " <<< FOOTBALL ATTRACT MODE CODE >>> "
|
||||
|
||||
.WIDTH 132
|
||||
.OPTION B,D,L
|
||||
.MNOLIST
|
||||
*
|
||||
* GET THE SYSTEM STUFF
|
||||
*
|
||||
.INCLUDE "MPROCEQU.ASM" ;MPROC equates
|
||||
.INCLUDE "DISPEQU.ASM" ;Display processor equates
|
||||
.INCLUDE "SYSEQU.ASM" ;SYS.INC and GSP.INC
|
||||
.INCLUDE "MACROS.HDR" ;Macros
|
||||
.INCLUDE "MAINEQU.ASM"
|
||||
.INCLUDE "IMGTBL.GLO"
|
||||
.INCLUDE FIELDEQU.ASM
|
||||
.INCLUDE "STRING.H"
|
||||
.INCLUDE DIAGAUDN.ASM
|
||||
|
||||
.REF PRINT_DMA,PRINT_DMA_XY,BACKGROUND
|
||||
.REF PRINT_OBJ,SHADOW_PRINT,AUTOSCR
|
||||
.REF WIPEOUT,COIN_PAGE,CRED_P,PLAYTABS
|
||||
.REF LM_SETUP,PRINTF,CHANGE_OID,GET_CSTR
|
||||
.REF SETUP_OFFENSE,SETUP_DEFENSE,SETWORLD,BALL_IN_PLAY
|
||||
.REF START_PLAYERS,COLSCAN,PLAY_INIT
|
||||
.REF GET_LOGO,MIDDLE_OPEN,NOSOUNDS,POST_PLAY ;CAT_DUMP
|
||||
.REF XFER_ALL_TO_A7
|
||||
|
||||
***************************** (SELF PLAY CODE)
|
||||
.REF AMODE_START
|
||||
***************************** (SELF PLAY CODE)
|
||||
|
||||
.DEF AMODE
|
||||
|
||||
.EVEN
|
||||
.TEXT
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* ATTRACT MODE ENTRY POINT *
|
||||
* *
|
||||
**************************************************************************
|
||||
AMODE
|
||||
CLR A0
|
||||
MOVE A0,@P1STAT,W
|
||||
MOVE A0,@P2STAT,W
|
||||
MOVE A0,@P3STAT,W
|
||||
MOVE A0,@P4STAT,W
|
||||
|
||||
MOVI GS_AMODE,A0
|
||||
MOVE A0,@GSTATE,W ; GAME STATE = ATTRACT MODE
|
||||
|
||||
CALLA WIPEOUT
|
||||
MOVI RGB_BLACK,A0
|
||||
MOVE A0,@IRQSKYE,W ; SET BACKGROUND COLOR
|
||||
|
||||
**************************** (SELF PLAY CODE)
|
||||
JRUC AM0
|
||||
SLEEP >80
|
||||
MOVK 1,A0
|
||||
MOVE A0,@AUTOPLAY,W
|
||||
JAUC AMODE_START
|
||||
***************************** (SELF PLAY CODE)
|
||||
|
||||
AM0 MOVK 5,A0
|
||||
MOVE A0,*A13(P_GCOUNT),W ; # OF LOOPS TILL NO SOUNDS
|
||||
AM1 CALLA CLR_SCRN
|
||||
JSRP FIELD_TOUR
|
||||
CALLA GANGEL
|
||||
CALLA WIPEOUT
|
||||
|
||||
JSRP RUN_A_PLAY
|
||||
CALLA GANGEL
|
||||
CALLA WIPEOUT
|
||||
|
||||
JSRP COIN_PAGE
|
||||
CALLA GANGEL
|
||||
CALLA WIPEOUT
|
||||
|
||||
MOVE *A13(P_GCOUNT),A0,W
|
||||
JREQ AM1
|
||||
DEC A0
|
||||
MOVE A0,*A13(P_GCOUNT),W
|
||||
JRNE AM1
|
||||
MOVK 1,A0
|
||||
MOVE A0,@NOSOUND,W ; NO MORE SOUNDS PLEASE.
|
||||
JRUC AM1
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* RUN A PLAY *
|
||||
* *
|
||||
* Runs a random play during the attract mode. *
|
||||
* *
|
||||
**************************************************************************
|
||||
RUN_A_PLAY
|
||||
MOVE @NOSOUND,A1,W ; ARE WE ALLOWED ??
|
||||
JRNE RUNP0
|
||||
MOVI >C7,A3
|
||||
CALLA SEND_CODE_A3 ; PLAY TUNE IF LEGAL
|
||||
|
||||
RUNP0 CLR A0
|
||||
MOVE A0,@SCRNTL,L
|
||||
MOVE A0,@SCRNLR,L
|
||||
|
||||
MOVK 15,A0
|
||||
CALLA RANDU
|
||||
DEC A0
|
||||
MOVE A0,@T0TEAM,W
|
||||
MOVE A0,A1
|
||||
|
||||
RUNP1 MOVK 15,A0
|
||||
CALLA RANDU
|
||||
DEC A0
|
||||
CMP A0,A1
|
||||
JREQ RUNP1 ; DONT PICK SAME TEAM
|
||||
MOVE A0,@T1TEAM,W
|
||||
|
||||
MOVI FIFTY_YARD,A0
|
||||
MOVE A0,@LINEOFSC,W ; SET LINE OF SCRIMMAGE
|
||||
MOVE A0,@STLOS,W
|
||||
|
||||
MOVE @OFFENSE,A0,W
|
||||
XORI 1,A0
|
||||
MOVE A0,@OFFENSE,W ; FLIP OFFENSE !!
|
||||
|
||||
MOVK 4,A0
|
||||
CALLA RANDU
|
||||
MOVE A0,@DOWNNUM,W ; RANDOM DOWN #
|
||||
|
||||
MOVK 4,A0
|
||||
CALLA RANDU
|
||||
DEC A0
|
||||
MOVE A0,@MENUPIK0,W
|
||||
MOVE A0,@MENUPIK1,W ; RANDOM PLAY CHOICE
|
||||
|
||||
CALLA PLAY_INIT
|
||||
CALLA PLAYTABS ; SETUP OFFPTBL/DEFPTBL
|
||||
CALLA SETWORLD
|
||||
CREATE PID_AMODE,MIDDLE_OPEN
|
||||
SLEEP 1
|
||||
|
||||
CREATE PID_AMODE,T0_SLIDE
|
||||
CREATE PID_AMODE,T1_SLIDE
|
||||
|
||||
MOVI AMODE_VERSUS_INIT,A14
|
||||
CALLA INITOBJ
|
||||
MOVE A8,A0
|
||||
CALLA INSOBJ2
|
||||
SLEEP 2
|
||||
MOVK 10,A11
|
||||
CREATE PID_AMODE,RGBSTUFF ; FLASH "VERSUS"
|
||||
|
||||
SLEEP >C0 ; WAIT FOR LINEUP
|
||||
MOVI OID_AMODE,A0
|
||||
CALLA DALLOBJ ; GET RID OF LOGOS/VERSUS
|
||||
|
||||
CALLA START_PLAYERS ; XFER DUDES PROCESSES
|
||||
MOVI OID_QB,A0
|
||||
CALLA FINDOMAN ; FIND THE QB
|
||||
CALLA BALL_IN_PLAY ; PUT THE BALL IN PLAY
|
||||
CREATE PID_COLSCAN,COLSCAN ; COLLISION SCANNER
|
||||
CREATE PID_BCTRACK,BC_TRACK ; BALL CARRIER
|
||||
CLR A0
|
||||
MOVE A0,@PLAYRES,W ; NO PLAY RESULT SO FAR
|
||||
MOVI OID_MSGLET,A0
|
||||
CALLA DALLOBJ ; ERASE LETTERS
|
||||
MOVI PID_QB_YELL,A0
|
||||
CALLA DALLPRC ; QB = SHUT UP
|
||||
*
|
||||
* WAIT FOR ATTRACT MODE PLAY TO END
|
||||
*
|
||||
MOVI 13*20,A10 ; WATCH "CAT" TIME LIMIT
|
||||
RUNP5 SLEEP 5
|
||||
MOVE @PLAYRES,A0,W
|
||||
JRNE RUNP7
|
||||
DSJS A10,RUNP5 ; I'LL WAIT, BUT NOT FOREVER
|
||||
CLR A0
|
||||
MOVE A0,@ERRNUM,W ; DONT CONFUSE WITH BOONTRAP
|
||||
MOVI AUDWCATS,A0
|
||||
CALLA AUD1 ; AUDIT THIS !!
|
||||
.IF B_DEBUG
|
||||
JAUC $ ; IN DEBUGGER ---> CALL ATTENTION TO !
|
||||
.ENDIF
|
||||
.IF PRINTER
|
||||
; CALLA CAT_DUMP
|
||||
.ENDIF
|
||||
|
||||
RUNP7
|
||||
MOVI PID_COLSCAN,A0
|
||||
CALLA DALLPRC
|
||||
MOVI PID_SCR,A0
|
||||
CALLA DALLPRC ; KILL SCROLLER
|
||||
CLR A1
|
||||
MOVE A1,@SCROLLX,L
|
||||
MOVE A1,@SCROLLY,L
|
||||
MOVI POST_PLAY,A7 ; A7 = EVERYONE XFERED HERE
|
||||
CALLA XFER_ALL_TO_A7
|
||||
|
||||
SLEEP >20
|
||||
MOVI >8000,A0
|
||||
MOVE A0,A1
|
||||
CALLA KILALL ; KILL ALL PROCS (EXCEPT INDESTUCTABLES)
|
||||
|
||||
MOVI FADEALL,A0
|
||||
CALLA FADEOUT ; FADE EVERYTHING TO BLACK
|
||||
SLEEP >30
|
||||
CALLA NOSOUNDS ; SHUT UP
|
||||
RETP
|
||||
|
||||
|
||||
FADEALL .LONG 0
|
||||
|
||||
T0_SLIDE
|
||||
MOVI AMODEL0_INIT,A14
|
||||
CALLA INITOBJ
|
||||
MOVE @T0TEAM,A1,W
|
||||
CALLA GET_LOGO
|
||||
MOVE *A1(16*6),A0,L
|
||||
CALLA GETFPAL
|
||||
MOVE A0,*A8(OPAL),W ; TEAMS PALETTE
|
||||
CALLA ANI
|
||||
MOVE A8,A0
|
||||
CALLA INSOBJ2
|
||||
MOVI >30000,A0
|
||||
MOVE A0,*A8(OXVEL),L
|
||||
SLEEP >3C
|
||||
CLR A0
|
||||
MOVE A0,*A8(OXVEL),L
|
||||
DIE
|
||||
|
||||
T1_SLIDE
|
||||
MOVI AMODEL1_INIT,A14
|
||||
CALLA INITOBJ
|
||||
MOVE @T1TEAM,A1,W
|
||||
CALLA GET_LOGO
|
||||
MOVE *A1(16*6),A0,L
|
||||
CALLA GETFPAL
|
||||
MOVE A0,*A8(OPAL),W ; TEAMS PALETTE
|
||||
CALLA ANI
|
||||
MOVE A8,A0
|
||||
CALLA INSOBJ2
|
||||
|
||||
MOVI ->30000,A0
|
||||
MOVE A0,*A8(OXVEL),L
|
||||
SLEEP >3D
|
||||
CLR A0
|
||||
MOVE A0,*A8(OXVEL),L
|
||||
DIE
|
||||
|
||||
|
||||
AMODEL0_INIT
|
||||
.LONG LA,0
|
||||
.WORD 0,DMAWNZ|M_NOSCROLL,OID_AMODE
|
||||
.WORD -120,26,0
|
||||
|
||||
AMODEL1_INIT
|
||||
.LONG LA,0
|
||||
.WORD 0,DMAWNZ|M_NOSCROLL,OID_AMODE
|
||||
.WORD SCRRGT,26,0
|
||||
|
||||
AMODE_VERSUS_INIT
|
||||
.LONG VERSUS,ICN3_PAL
|
||||
.WORD 0,DMAWNZ|M_NOSCROLL,OID_AMODE
|
||||
.WORD >BB
|
||||
.WORD 32
|
||||
.WORD 0
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* SHOW TEAMS *
|
||||
* *
|
||||
* Will put all of the teams on the screen along with the field in the *
|
||||
* background. *
|
||||
* *
|
||||
**************************************************************************
|
||||
;SHOW_TEAMS
|
||||
; MOVI AMODE_TEXT_INIT,A14
|
||||
; MOVI >29,A0
|
||||
; CALLA PRINT_OBJ ; TEXT = A4 --> A7
|
||||
;
|
||||
; MOVE A4,A5
|
||||
; MOVI AMODE_TEXT_INIT,A14
|
||||
; MOVI 00020002H,A6
|
||||
; CALLA SHADOW_PRINT
|
||||
; MOVE @OBJLST3,A0,L
|
||||
; MOVE A0,*A7(OLINK),L ; LAST CHAR ----> OBJLST3
|
||||
; MOVE A5,@OBJLST3,L ; OBJLST3 ---> 1ST CHAR
|
||||
; MOVK 3,A11
|
||||
; CREATE PID_AMODE,RGBSTUFF
|
||||
;*
|
||||
;* BACKGROUND THING A MA BOB
|
||||
;*
|
||||
; MOVK 4,A0
|
||||
; CALLA GETBLIMP ; TEAM SELECT MODULE
|
||||
; CALLA A5A6OL1 ; ADD TO "OBJLST1"
|
||||
;
|
||||
; MOVI 9,A9
|
||||
; MOVI 60,A10
|
||||
; MOVI ATEAM_LOGOS,A11
|
||||
;SHOWT0 MOVK 5,A7 ; 5 ROWS
|
||||
;SHOWT1 MOVI LOGO_INIT,A14
|
||||
; CALLA INITOBJ ; GET AN OBJECT
|
||||
; MOVE *A11+,A1,L ; A1 = OIMG
|
||||
; CALLA ANI
|
||||
; MOVE *A11+,A0,L
|
||||
; CALLA SWPAL
|
||||
; MOVE A8,A0
|
||||
;
|
||||
; MOVE A9,*A8(OXPOS),W
|
||||
; MOVE A10,*A8(OYPOS),W
|
||||
; CALLA INSOBJ
|
||||
; ADDI 35,A10
|
||||
; DSJS A7,SHOWT1
|
||||
; SLEEP 2
|
||||
; MOVI 60,A10
|
||||
; ADDI >80,A9
|
||||
; CMPI (>60*3)+5,A9
|
||||
; JRLT SHOWT0
|
||||
;
|
||||
; SLEEP >40*8
|
||||
; JRUC AMODE_EXIT
|
||||
;
|
||||
;
|
||||
;
|
||||
AMODE_TEXT_INIT
|
||||
.LONG FON15A,boonpal
|
||||
.WORD 0,DMACNZ|M_NOSCROLL,OID_AMODE
|
||||
.WORD 0,0,0
|
||||
;
|
||||
;
|
||||
;ATEAM_LOGOS
|
||||
; .LONG LA,LA_PAL
|
||||
; .LONG DENVER,DNVR_PAL
|
||||
; .LONG SANFRN,SANF_PAL
|
||||
; .LONG MIAMI,MIAM_PAL
|
||||
; .LONG WASH,WASH_PAL
|
||||
; .LONG CHICAGO,CHGO_PAL
|
||||
; .LONG TEXAS,TEX_PAL
|
||||
; .LONG PITTSBURGH,PITT_PAL
|
||||
; .LONG DETROIT,DETR_PAL
|
||||
; .LONG NEWYRK,NYC_PAL
|
||||
; .LONG AFRICA,AFRC_PAL
|
||||
; .LONG CANADA,CANA_PAL
|
||||
; .LONG EUROPA,EURO_PAL
|
||||
; .LONG KANSAS,KANS_PAL
|
||||
; .LONG ATLANTA,ATLN_PAL
|
||||
;
|
||||
;
|
||||
;LOGO_INIT
|
||||
; .LONG LA,boonpal
|
||||
; .WORD 0,DMAWNZ|M_NOSCROLL,OID_AMODE
|
||||
; .WORD 0,0,0
|
||||
;
|
||||
;LA_INIT
|
||||
; .LONG LA,LA_PAL
|
||||
; .WORD 0,DMAWNZ|M_NOSCROLL,OID_AMODE
|
||||
; .WORD >40,>30,0
|
||||
;
|
||||
;DENVER_INIT
|
||||
; .LONG DENVER,DNVR_PAL
|
||||
; .WORD 0,DMAWNZ|M_NOSCROLL,OID_AMODE
|
||||
; .WORD >40,>58,0
|
||||
;
|
||||
;SF_INIT
|
||||
; .LONG SANFRN,SANF_PAL
|
||||
; .WORD 0,DMAWNZ|M_NOSCROLL,OID_AMODE
|
||||
; .WORD >40,>80,0
|
||||
;
|
||||
;MIAMI_INIT
|
||||
; .LONG MIAMI,MIAM_PAL
|
||||
; .WORD 0,DMAWNZ|M_NOSCROLL,OID_AMODE
|
||||
; .WORD >40,>A8,0
|
||||
;
|
||||
;WASH_INIT
|
||||
; .LONG WASH,WASH_PAL
|
||||
; .WORD 0,DMAWNZ|M_NOSCROLL,OID_AMODE
|
||||
; .WORD >40,>D0,0
|
||||
;
|
||||
;*
|
||||
;* COLUMN #2
|
||||
;*
|
||||
;CHICAGO_INIT
|
||||
; .LONG CHICAGO,CHGO_PAL
|
||||
; .WORD 0,DMAWNZ|M_NOSCROLL,OID_AMODE
|
||||
; .WORD >C0,>30,0
|
||||
;
|
||||
;DALLAS_INIT
|
||||
; .LONG TEXAS,TEX_PAL
|
||||
; .WORD 0,DMAWNZ|M_NOSCROLL,OID_AMODE
|
||||
; .WORD >C0,>58,0
|
||||
;
|
||||
;PITT_INIT
|
||||
; .LONG PITTSBURGH,PITT_PAL
|
||||
; .WORD 0,DMAWNZ|M_NOSCROLL,OID_AMODE
|
||||
; .WORD >C0,>80,0
|
||||
;
|
||||
;DETROIT_INIT
|
||||
; .LONG DETROIT,DETR_PAL
|
||||
; .WORD 0,DMAWNZ|M_NOSCROLL,OID_AMODE
|
||||
; .WORD >C0,>A8,0
|
||||
;
|
||||
;NY_INIT
|
||||
; .LONG NEWYRK,NYC_PAL
|
||||
; .WORD 0,DMAWNZ|M_NOSCROLL,OID_AMODE
|
||||
; .WORD >C0,>D0,0
|
||||
;
|
||||
**************************************************************************
|
||||
* *
|
||||
* FIELD TOUR *
|
||||
* *
|
||||
* This part of the attract mode scans the entire field with the game *
|
||||
* logo overlaying the screen. *
|
||||
* *
|
||||
**************************************************************************
|
||||
FIELD_TOUR
|
||||
CREATE PID_AMODE,BACKGROUND ; MAKE A BACKGROUND UPDATE DUDE
|
||||
JSRP SHOW_CREDITS
|
||||
|
||||
CLR A0
|
||||
MOVI AMODE_TEXT_INIT,A14
|
||||
CALLA PRINT_OBJ ; COPYRIGHT MESSAGE
|
||||
MOVE A4,A5
|
||||
MOVE A7,A6
|
||||
CALLA A5A6OL1
|
||||
|
||||
MOVK 2,A0
|
||||
CALLA GETBLIMP ; A5 = LOGO MODULE OBJECT LIST
|
||||
CALLA A5A6OL2 ; PUT ON OBJECT LIST #1
|
||||
MOVK 4,A11
|
||||
CREATE PID_AMODE,RGBSTUFF ; FLASH "CREDITS"
|
||||
|
||||
MOVK 2,A9
|
||||
FTOUR1 MOVI LGOAL_OUT_X-80,A0
|
||||
MOVE A0,@WORLDTLX+16,W ; STARTING X
|
||||
MOVI TOP_SIDELINE-215,A0
|
||||
MOVE A0,@WORLDTLY+16,W ; STARTING Y
|
||||
*
|
||||
* PAN THROUGH THE CROWD
|
||||
*
|
||||
MOVI RGOAL_OUT_X+80-SCRRGT,A1
|
||||
MOVE @WORLDTLY+16,A3
|
||||
MOVK 2,A4
|
||||
JSRP AUTOSCR ; SCROLLER DUDE
|
||||
*
|
||||
* TO MIDDLE OF FIELD
|
||||
*
|
||||
MOVE @WORLDTLX+16,A1
|
||||
SUBI >100,A1
|
||||
MOVE @WORLDTLY+16,A3
|
||||
ADDI >100,A3
|
||||
MOVK 2,A4
|
||||
JSRP AUTOSCR ; SCROLLER DUDE
|
||||
*
|
||||
* TO LEFT ENDZONE
|
||||
*
|
||||
MOVI LGOAL_OUT_X->50,A1
|
||||
MOVE @WORLDTLY+16,A3
|
||||
MOVK 2,A4
|
||||
JSRP AUTOSCR ; SCROLLER DUDE
|
||||
SLEEP >80
|
||||
|
||||
AMODE_EXIT
|
||||
MOVI OID_AMODE,A0
|
||||
MOVE A0,A1
|
||||
CALLA KILL_OCP
|
||||
CALLA DELALLB
|
||||
MOVI PID_AMODE,A0
|
||||
MOVE A0,A1
|
||||
CALLA KILALL ; KILL ANYONE I SPAWNED OFF
|
||||
RETP
|
||||
|
||||
*
|
||||
* DELETE ALL BACKGROUND OBJECTS (AND THEIR PALETTES)
|
||||
*
|
||||
DELALLB
|
||||
MOVE @BAKLST,A0,L ; ARE THERE ANY BACKGROUND OBJ ?
|
||||
JREQ PS2 ; NO ---> SKIP
|
||||
|
||||
MOVE A0,A1 ; A1 = OBJECT #1
|
||||
CLR A0
|
||||
MOVE A0,@BAKLST,L
|
||||
|
||||
PS1 MOVE *A1,A3,L ; A3 = NEXT IN LINE
|
||||
MOVE *A1(OPAL),A0,W
|
||||
CALLA FREEPAL ; DECREMENT PALETTE COUNTER
|
||||
MOVE @OFREE,A2,L
|
||||
MOVE A1,@OFREE,L ; PUT OBJECT ON FREE LIST
|
||||
MOVE A2,*A1,L
|
||||
MOVE A3,A1
|
||||
JRNE PS1
|
||||
PS2 RETS
|
||||
|
||||
*
|
||||
* STARS ALONG THE EDGES
|
||||
*
|
||||
CLR A5 ; INITIALIZE COLOR POINTER
|
||||
DEC A5
|
||||
|
||||
MOVI >10,A2 ; STARTING X POSITION
|
||||
MOVI >15,A3 ; STARTING Y POSITION
|
||||
|
||||
MOVI 13,A6 ; STAR COUNT
|
||||
AM2 CALLR DO_A_STAR
|
||||
ADDI >25,A2
|
||||
DEC A6
|
||||
JRNE AM2
|
||||
SUBI >25,A2
|
||||
|
||||
MOVI 10,A6 ; STAR COUNT
|
||||
AM3 ADDI >22,A3
|
||||
CALLR DO_A_STAR
|
||||
DEC A6
|
||||
JRNE AM3
|
||||
|
||||
MOVI 12,A6 ; STAR COUNT
|
||||
AM4 SUBI >25,A2
|
||||
CALLR DO_A_STAR
|
||||
DEC A6
|
||||
JRNE AM4
|
||||
|
||||
MOVI 9,A6 ; STAR COUNT
|
||||
AM5 SUBI >22,A3
|
||||
CALLR DO_A_STAR
|
||||
DEC A6
|
||||
JRNE AM5
|
||||
|
||||
MOVI boonpal,a10 ; PALETTE TO CYCLE
|
||||
MOVI >01040900,A11 ; PARAMETERS FOR CYCLE DUDE
|
||||
CREATE PID_AMODE,CYCLERF
|
||||
CREATE PID_AMODE,TWINKLE
|
||||
SLEEP >40*15
|
||||
|
||||
CLR A1
|
||||
NOT A1
|
||||
MOVI PID_AMODE,A0
|
||||
CALLA KILALL ; KILL AMODE PROCS
|
||||
|
||||
CALLA MYOINIT ; BLOW OUT OBJECT SYSTEM
|
||||
CALLA SCRCLR
|
||||
|
||||
; JSRP HSTD
|
||||
; MOVK 1,A0
|
||||
; MOVE A0,@GAMERASE,W ; GAME ERASE = ON
|
||||
; SLEEP >20
|
||||
|
||||
CALLR GAME_ERASE_OFF
|
||||
JSRP LITTLE_FADE
|
||||
CALLR GAME_ERASE_ON
|
||||
SLEEP 2
|
||||
CALLR GAME_ERASE_OFF
|
||||
JSRP NO_DRUGS ; SAY NO TO DRUGS MESSAGE
|
||||
JRUC AMODE
|
||||
|
||||
|
||||
GAME_ERASE_OFF
|
||||
CLR A0
|
||||
JRUC GERASE
|
||||
GAME_ERASE_ON
|
||||
MOVK 1,A0
|
||||
GERASE MOVE A0,@GAMERASE,W
|
||||
RETS
|
||||
|
||||
|
||||
|
||||
;WIL_FADE
|
||||
; MOVI WILLINIT,A14
|
||||
; CALLA INITINS
|
||||
; SLEEP >60
|
||||
; MOVE A8,A9
|
||||
; MOVI >00010002,A11
|
||||
; MOVI willypal,a8
|
||||
; CREATE PID_AMODE,PALFADE
|
||||
; SLEEP >60
|
||||
; MOVE A9,A0
|
||||
; CALLA DELOBJP
|
||||
; MOVI willypal,a0
|
||||
; CALLA BLOWPAL ; BLOW OUT PALETTE COMPLETELY
|
||||
; SLEEP 1
|
||||
; RETP
|
||||
;WILLINIT
|
||||
; .LONG willy1,willypal
|
||||
; .WORD 0,DMAWNZ,>555,>55,>60,0
|
||||
|
||||
|
||||
|
||||
BALL_BANG
|
||||
MOVI 1,A0
|
||||
MOVE A0,@NO_VEL,W ; NO VELOCITIES !!
|
||||
|
||||
MOVI 40,B0
|
||||
BANG_LOOP
|
||||
PUSH B0
|
||||
MOVI BALL_INIT,A14
|
||||
CALLA INITOBJ
|
||||
MOVE A8,B1
|
||||
MOVI BALL_INIT,A14
|
||||
CALLA INITOBJ
|
||||
MOVE A8,B2
|
||||
MOVI BALL_INIT,A14
|
||||
CALLA INITOBJ
|
||||
MOVE A8,B3
|
||||
MOVI BALL_INIT,A14
|
||||
CALLA INITOBJ
|
||||
MOVE A8,B4
|
||||
|
||||
CALLA RANDOM ; GET A RANDOM # IN A0
|
||||
ANDI >00070000,A0 ; KEEP IT WITHIN REASON
|
||||
ADDI >00010000,A0
|
||||
MOVE A0,B0
|
||||
MOVE B0,*B1(OYVEL),L ; RANDOM Y VELOCITY
|
||||
CALLA RANDOM ; GET A RANDOM # IN A0
|
||||
ANDI >00070000,A0 ; KEEP IT WITHIN REASON
|
||||
ADDI >00010000,A0
|
||||
MOVE A0,B0
|
||||
MOVE B0,*B2(OYVEL),L ; RANDOM Y VELOCITY
|
||||
|
||||
CALLA RANDOM ; GET A RANDOM # IN A0
|
||||
ANDI >00070000,A0 ; KEEP IT WITHIN REASON
|
||||
ADDI >00010000,A0
|
||||
MOVE A0,B0
|
||||
NEG B0
|
||||
MOVE B0,*B3(OYVEL),L ; RANDOM Y VELOCITY
|
||||
CALLA RANDOM ; GET A RANDOM # IN A0
|
||||
ADDI >00010000,A0
|
||||
ANDI >00070000,A0 ; KEEP IT WITHIN REASON
|
||||
MOVE A0,B0
|
||||
NEG B0
|
||||
MOVE B0,*B4(OYVEL),L ; RANDOM Y VELOCITY
|
||||
|
||||
CALLA RANDOM ; GET A RANDOM # IN A0
|
||||
ANDI >00070000,A0 ; KEEP IT WITHIN REASON
|
||||
ADDI >00010000,A0
|
||||
MOVE A0,B0
|
||||
MOVE B0,*B1(OXVEL),L
|
||||
CALLA RANDOM ; GET A RANDOM # IN A0
|
||||
ANDI >00070000,A0 ; KEEP IT WITHIN REASON
|
||||
ADDI >00010000,A0
|
||||
MOVE A0,B0
|
||||
MOVE B0,*B3(OXVEL),L
|
||||
|
||||
CALLA RANDOM ; GET A RANDOM # IN A0
|
||||
ANDI >00070000,A0 ; KEEP IT WITHIN REASON
|
||||
ADDI >00010000,A0
|
||||
MOVE A0,B0
|
||||
NEG B0
|
||||
MOVE B0,*B2(OXVEL),L
|
||||
CALLA RANDOM ; GET A RANDOM # IN A0
|
||||
ANDI >00070000,A0 ; KEEP IT WITHIN REASON
|
||||
ADDI >00010000,A0
|
||||
MOVE A0,B0
|
||||
NEG B0
|
||||
MOVE B0,*B4(OXVEL),L
|
||||
|
||||
*
|
||||
* PUT EM ON THE LIST
|
||||
*
|
||||
MOVE B1,A0
|
||||
CALLA INSOBJ
|
||||
MOVE B2,A0
|
||||
CALLA INSOBJ
|
||||
MOVE B3,A0
|
||||
CALLA INSOBJ
|
||||
MOVE B4,A0
|
||||
CALLA INSOBJ
|
||||
|
||||
PULL B0
|
||||
DEC B0
|
||||
JRNE BANG_LOOP
|
||||
|
||||
CLR A0
|
||||
MOVE A0,@NO_VEL,W ; VELOCITIES !!
|
||||
SLEEP >50
|
||||
|
||||
CLR A1
|
||||
NOT A1
|
||||
MOVI OID_BALL,A0
|
||||
CALLA KILL_OCP
|
||||
|
||||
RETP
|
||||
|
||||
|
||||
*
|
||||
* HIGH SCORE TO DATE TABLE
|
||||
*
|
||||
HSTD MOVI HSTD_TEXT,A14
|
||||
; CALLA P RINT7_INFO
|
||||
; CALLA P RINT7_INFO
|
||||
; CALLA P RINT7_INFO
|
||||
; CALLA P RINT7_INFO
|
||||
; CALLA P RINT7_INFO
|
||||
; SLEEP >40*4
|
||||
RETP
|
||||
|
||||
|
||||
HSTD_TEXT
|
||||
.LONG >00600070
|
||||
.WORD >FFFF
|
||||
.STRING "1) BUN $ 4,000,000",0
|
||||
|
||||
.LONG >00800070
|
||||
.WORD >FFFF
|
||||
.STRING "2) JRN $ 3,500,000",0
|
||||
|
||||
.LONG >00A00070
|
||||
.WORD >FFFF
|
||||
.STRING "3) BUN $ 3,000,000",0
|
||||
|
||||
.LONG >00C00070
|
||||
.WORD >FFFF
|
||||
.STRING "4) JRN $ 2,500,000",0
|
||||
|
||||
.LONG >00E00070
|
||||
.WORD >FFFF
|
||||
.STRING "5) KIM $ 2,000,000",0
|
||||
|
||||
.EVEN
|
||||
|
||||
|
||||
*
|
||||
* SAY NO TO DRUGS MESSAGE
|
||||
*
|
||||
NO_DRUGS
|
||||
MOVI >0D,A0
|
||||
CALLA PRINT_DMA
|
||||
MOVI >0E,A0
|
||||
CALLA PRINT_DMA
|
||||
|
||||
; MOVI BOONDCD,A0
|
||||
; CALLA GETFPAL ; GET BOONDCD PALLETTE
|
||||
; JRNE NODR1
|
||||
; ERMAC 24
|
||||
|
||||
;NODR1 MOVE A0,A1 ; A1 = DTIME INPUT = PALLETTE
|
||||
; MOVI [>70,>D0],A3
|
||||
; MOVI DMAWNZ,A5
|
||||
; MOVI BOONDCD_vda,A14
|
||||
; CALLA DTIME ; DMA BOON PICTURE
|
||||
|
||||
SLEEP >40*3
|
||||
RETP
|
||||
|
||||
LITTLE_FADE
|
||||
MOVI >0F,A0
|
||||
MOVI >00700070,A3 ; A3 = [Y,X]
|
||||
CALLA PRINT_DMA_XY
|
||||
|
||||
MOVI >0F,A0
|
||||
MOVI >00900070,A3 ; A3 = [Y,X]
|
||||
CALLA PRINT_DMA_XY
|
||||
|
||||
MOVI >0F,A0
|
||||
MOVI >00B00070,A3 ; A3 = [Y,X]
|
||||
CALLA PRINT_DMA_XY
|
||||
|
||||
MOVI >0F,A0
|
||||
MOVI >00D00070,A3 ; A3 = [Y,X]
|
||||
CALLA PRINT_DMA_XY
|
||||
|
||||
MOVI >0F,A0
|
||||
MOVI >00F00070,A3 ; A3 = [Y,X]
|
||||
CALLA PRINT_DMA_XY
|
||||
SLEEP >60
|
||||
RETP
|
||||
|
||||
|
||||
SET_EM_UP
|
||||
CALLA INITOBJ ; A8 = NFL LOGO OBJECT
|
||||
MOVE A8,A0
|
||||
JAUC INSOBJ
|
||||
|
||||
DO_A_STAR
|
||||
RETS
|
||||
|
||||
INC A5
|
||||
CMPI 4,A5
|
||||
JRLO DOST1
|
||||
CLR A5 ; FROM (0-3)
|
||||
DOST1 MOVE A5,A0
|
||||
SLL 4,A0 ; 16 BIT OFFSET
|
||||
ADDI STAR_COLORS,A0
|
||||
MOVE *A0,A0,W ; GET THE COLOR FOR THIS STAR
|
||||
MOVE A0,*A8(OCONST),W ; THIS IS THE STARS CONSTANT COLOR
|
||||
MOVE A8,A0
|
||||
JAUC INSOBJ ; PUT IN LIST
|
||||
|
||||
|
||||
STAR_COLORS
|
||||
.WORD >0101
|
||||
.WORD >0202
|
||||
.WORD >0303
|
||||
.WORD >0404
|
||||
|
||||
*
|
||||
* MAKE THE TROPHIES TWINKLE
|
||||
*
|
||||
TWINKLE
|
||||
CLR A11
|
||||
JSRP TWLOOP
|
||||
MOVI 3,A11
|
||||
JSRP TWLOOP
|
||||
MOVI 6,A11
|
||||
JSRP TWLOOP
|
||||
JRUC TWINKLE
|
||||
|
||||
TWLOOP CREATE PID_AMODE,DO_TWINK
|
||||
INC A11
|
||||
CREATE PID_AMODE,DO_TWINK
|
||||
INC A11
|
||||
CREATE PID_AMODE,DO_TWINK
|
||||
SLEEP >30
|
||||
RETP
|
||||
|
||||
|
||||
DO_TWINK
|
||||
DIE
|
||||
|
||||
|
||||
;TWINKINIT
|
||||
; .LONG twink1,twinkpal
|
||||
; .WORD 0,DMAWNZ,>555,>80,>80,3
|
||||
|
||||
|
||||
TWINK_SPOTS
|
||||
.LONG >007D007D ; LEFT TROPHY'S SHOULDER
|
||||
.LONG >009000D0 ; LEFT TROPHY LEG
|
||||
.LONG >0184007C ; RIGHT TROPHY SHOULDER
|
||||
.LONG >01A0010D ; RIGHT TROPHY BASE
|
||||
.LONG >0060010D ; LEFT TROPHY BASE
|
||||
.LONG >01C000A0 ; RIGHT TROPHY HAND
|
||||
|
||||
.LONG >009000D0 ; LEFT TROPHY LEG
|
||||
.LONG >01A0010D ; RIGHT TROPHY BASE
|
||||
.LONG >01C000A0 ; RIGHT TROPHY HAND
|
||||
.LONG >007D007D ; LEFT TROPHY'S SHOULDER
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* SHOW CREDITS *
|
||||
* *
|
||||
* Displays # of credits in the game *
|
||||
* *
|
||||
**************************************************************************
|
||||
SHOW_CREDITS
|
||||
MOVI COIN_MESS3,A8
|
||||
CALLA LM_SETUP
|
||||
CALLA GET_CSTR ; GET THE CURRENT CREDITS
|
||||
JSRP PRINTF ; PRINT TO OBJECT LIST
|
||||
MOVI OID_TEXT,A0
|
||||
MOVI OID_AMODE,A1
|
||||
CALLA CHANGE_OID ; ALL TEXT = OID_AMODE
|
||||
*
|
||||
* ALLOCATE PALETTES FOR EACH TEXT OBJECT CREATED
|
||||
*
|
||||
MOVI boonpal,A0
|
||||
CALLA GETFPAL ; GET BOONPAL !!
|
||||
MOVI BPAL_BLK,A3 ; A3 = BOONPAL "BLACK"
|
||||
CLR A2
|
||||
|
||||
MOVI >0505,A3 ; A3 = CONSTANT COLOR TO USE
|
||||
MOVE @OBJLST,A0,L ; TOP O LIST
|
||||
JREQ SHOWC2 ; NONE, EXIT
|
||||
SHOWC1 INC A2 ; COUNT IT
|
||||
MOVE A3,*A0(OCONST),W ; SET COLOR O TEXT
|
||||
MOVE *A0(OLINK),A0,L
|
||||
JRNE SHOWC1
|
||||
|
||||
MOVI PALRAM,A1 ; TEXT USES 1ST PALETTE !!
|
||||
MOVE *A1(32),A3,W ; A3 = 1ST PALETTE COUNT
|
||||
DEC A3 ; DONT COUNT THE 1SR "GETFPAL" CALL
|
||||
ADD A2,A3 ; ADD IN TEXT OBJECTS
|
||||
MOVE A3,*A1(32),W
|
||||
SHOWC2 RETP
|
||||
|
||||
|
||||
COIN_MESS3
|
||||
MESS_MAC RD15FONT,SPACING20,200,>C0,0D0D0000H,STRCNRMO,0
|
||||
|
||||
*********************************************************************
|
||||
;CREDLET_INIT
|
||||
; .LONG osrn1,boonpal
|
||||
; .WORD 0,DMACNZ|M_NOSCROLL,OID_AMODE
|
||||
; .WORD 0,>D0,0
|
||||
;
|
||||
;MED_DIGITS
|
||||
; .LONG FON150
|
||||
; .LONG FON151
|
||||
; .LONG FON152
|
||||
; .LONG FON153
|
||||
; .LONG FON154
|
||||
; .LONG FON155
|
||||
; .LONG FON156
|
||||
; .LONG FON157
|
||||
; .LONG FON158
|
||||
; .LONG FON159
|
||||
;
|
||||
;
|
||||
; CALLA CRED_P ; A0 = # OF CREDITS
|
||||
; CLR A10 ; ASSUME NO "TENS" DIGIT
|
||||
; MOVE A0,A3
|
||||
; MOVE A3,A6
|
||||
; CMPI 10,A3
|
||||
; JRLT SHOWC2
|
||||
;*
|
||||
;* CREDITS > 10
|
||||
;*
|
||||
; MOVK 10,A0
|
||||
; DIVS A0,A3 ; A3 = 10'S DIGIT
|
||||
; MOVE A3,A5
|
||||
; MOVI CREDLET_INIT,A14
|
||||
; CALLA INITOBJ ; GET DIGIT #2 = TENS DIGIT
|
||||
; MOVE A8,A10 ; TENS DIGIT
|
||||
; MOVI >0101,A0
|
||||
; MOVE A0,*A8(OCONST),W
|
||||
; SLL 5,A3
|
||||
; ADDI MED_DIGITS,A3
|
||||
; MOVE *A3,A1,L
|
||||
; CALLA ANI ; SHAPE THE #
|
||||
; MOVI >E6,A0
|
||||
; MOVE A0,*A8(OXPOS),W ; X POS = AFTER THE ":"
|
||||
; MOVE A8,A0
|
||||
; CALLA INSOBJ
|
||||
; CALLA CRED_P ; A0 = # OF CREDITS
|
||||
; MOVE A0,A6
|
||||
; MOVK 10,A0
|
||||
; MPYS A0,A5
|
||||
; SUB A5,A6 ; A6 = ONES
|
||||
;
|
||||
;SHOWC2 MOVI CREDLET_INIT,A14
|
||||
; CALLA INITOBJ ; GET DIGIT #1
|
||||
; MOVI >0101,A0
|
||||
; MOVE A0,*A8(OCONST),W
|
||||
;
|
||||
; SLL 5,A6
|
||||
; ADDI MED_DIGITS,A6
|
||||
; MOVE *A6,A1,L
|
||||
; CALLA ANI ; SHAPE THE NUMBER
|
||||
; MOVI >E6,A0
|
||||
; MOVE A10,A10 ; TENS DIGIT ?
|
||||
; JREQ SHOWC3
|
||||
; MOVE *A10(OSIZEX),A2,W
|
||||
; ADD A2,A0
|
||||
; INC A0
|
||||
;SHOWC3 MOVE A0,*A8(OXPOS),W ; PLACE ONES AFTER "TENS"
|
||||
; MOVE A8,A0
|
||||
; CALLA INSOBJ
|
||||
;
|
||||
; MOVI >0F,A0
|
||||
; MOVI CREDLET_INIT,A14
|
||||
; CALLA PRINT_OBJ ; CREDITS MESSAGE !!
|
||||
; MOVE @OBJLST,A0,L
|
||||
; MOVE A0,*A7(OLINK),L ; LAST CHAR ----> OBJLST
|
||||
; MOVE A4,@OBJLST,L ; OBJLST ---> 1ST CHAR
|
||||
|
||||
******************* END OF LINE (QUOTE FROM TRON) ***************
|
||||
|
||||
.END
|
||||
|
|
@ -0,0 +1,304 @@
|
|||
.TITLE 'FBSTUFF.ASM'
|
||||
.WIDTH 132
|
||||
.OPTION B,D,L,T
|
||||
.MNOLIST
|
||||
|
||||
; ROUTINES STOLEN FROM HIGH IMPACT FOOTBALL
|
||||
;
|
||||
; INITIATED: JAN 10,1991
|
||||
; MODIFIED: !
|
||||
; SOFTWARE: MARK TURMELL
|
||||
;
|
||||
; COPYRIGHT (C) 1989 WILLIAMS ELECTRONICS GAMES, INC.
|
||||
;
|
||||
;
|
||||
; GET THE SYSTEM STUFF
|
||||
|
||||
.INCLUDE "MPROC.EQU" ;MPROC EQUATES
|
||||
.INCLUDE "\VIDEO\SYS\SYS.INC" ;Z UNIT SYSTEM EQUATES
|
||||
.INCLUDE "\VIDEO\SYS\MACROS.HDR" ;MACROS DEFINITIONS
|
||||
.INCLUDE "GAME.EQU"
|
||||
;
|
||||
;SOUNDS
|
||||
;
|
||||
;
|
||||
;SYMBOLS EXTERNALLY DEFINED
|
||||
;
|
||||
.REF PALSET,PALRAM
|
||||
;
|
||||
;SYMBOLS DEFINED IN THIS FILE
|
||||
;
|
||||
.DEF FB_FADEOUT,FB_FADEIN
|
||||
|
||||
PID_FX .EQU 200
|
||||
|
||||
.TEXT
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* FADEALL *
|
||||
* *
|
||||
* FADE EVERYTHING USING A GIVEN FADE ENTRY *
|
||||
* *
|
||||
* ENTRY *
|
||||
* A0 LIST OF PALETTES *
|
||||
* A11 FADE MULT TABLE *
|
||||
* *
|
||||
* EXIT *
|
||||
* NOTHING *
|
||||
* *
|
||||
* CALL *
|
||||
* CALL *
|
||||
* *
|
||||
**************************************************************************
|
||||
|
||||
FADEALL:
|
||||
mmtm SP,A0,A1,A2,A6,A7,A8,A9,A11
|
||||
JRUC Fader
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* FADEIN *
|
||||
* *
|
||||
* FADE A LIST OF PALETTES FROM BLACK TO THEIR CURRENT COLORS *
|
||||
* *
|
||||
* ENTRY *
|
||||
* A0 PTR TO NULL TERMINATED LIST **NOT** TO FADE *
|
||||
* *
|
||||
* EXIT *
|
||||
* NOTHING *
|
||||
* *
|
||||
**************************************************************************
|
||||
|
||||
FB_FADEIN:
|
||||
mmtm SP,A0,A1,A2,A6,A7,A8,A9,A11
|
||||
movi FadeIn,A11
|
||||
jruc Fader
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* FADEOUT *
|
||||
* *
|
||||
* FADE A LIST OF PALETTES DOWN TO BLACK *
|
||||
* *
|
||||
* ENTRY *
|
||||
* A0 PTR TO NULL TERMINATED LIST **NOT** TO FADE *
|
||||
* *
|
||||
* EXIT *
|
||||
* NOTHING *
|
||||
* *
|
||||
**************************************************************************
|
||||
|
||||
FB_FADEOUT:
|
||||
mmtm SP,A0,A1,A2,A6,A7,A8,A9,A11
|
||||
movi FadeOut,A11
|
||||
|
||||
Fader:
|
||||
move A0,A6
|
||||
|
||||
;* WALK EUGENES PALETTE TABLE, START PROC TO FADE EACH PALETTE *
|
||||
clr A9 ;palette slot
|
||||
dec A9
|
||||
movi PALRAM-PALRSIZ,A2 ;base of eugenes palette table
|
||||
PalLp:
|
||||
addi PALRSIZ,A2
|
||||
inc A9
|
||||
cmpi NUMPAL,A9
|
||||
jrge PalLpX
|
||||
|
||||
move *A2(PALCNT),A1,W ;is palette allocated?
|
||||
jrz PalLp
|
||||
move *A2(PALID),A8,L ;Ptr to palette
|
||||
;*** SKIP FADING PALS IN LIST POINTED TO BY A6
|
||||
move A6,A7
|
||||
jrz SkFPalX
|
||||
SkPalLp:
|
||||
move *A7+,A1,L
|
||||
jrz SkFPalX
|
||||
cmp A1,A8
|
||||
jreq PalLp
|
||||
jruc SkPalLp
|
||||
SkFPalX:
|
||||
CREATE PID_FX,FADEPROC
|
||||
jruc PalLp
|
||||
PalLpX:
|
||||
|
||||
mmfm SP,A0,A1,A2,A6,A7,A8,A9,A11
|
||||
rets
|
||||
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* FADE_ONLY *
|
||||
* *
|
||||
* FADE ONLY A CERTAIN PALETTE *
|
||||
* *
|
||||
* ENTRY *
|
||||
* A0 PALETTE TO BE FADED *
|
||||
* A11 MULTIPLIER FOR PALETTES *
|
||||
* *
|
||||
* EXIT *
|
||||
* NOTHING *
|
||||
* *
|
||||
* CALL *
|
||||
* CALLA *
|
||||
* *
|
||||
**************************************************************************
|
||||
|
||||
FADE_ONLY:
|
||||
mmtm SP,A0,A1,A2,A6,A7,A8,A9,A11
|
||||
move A0,A6
|
||||
|
||||
;* WALK EUGENES PALETTE TABLE, START PROC TO FADE EACH PALETTE *
|
||||
|
||||
clr A9 ;palette slot
|
||||
dec A9
|
||||
movi PALRAM-PALRSIZ,A2 ;base of eugenes palette table
|
||||
FOPalLp:
|
||||
addi PALRSIZ,A2
|
||||
inc A9
|
||||
cmpi NUMPAL,A9
|
||||
jrge FOPalLpX
|
||||
|
||||
move *A2(PALCNT),A1,W ;is palette allocated?
|
||||
jrz FOPalLp
|
||||
move *A2(PALID),A8,L ;Ptr to palette
|
||||
CMP A6,A8
|
||||
JRNZ FOPalLp ; BR = NOT THE ONE FOR ME
|
||||
CREATE PID_FX,FADEPROC
|
||||
jruc FOPalLp
|
||||
FOPalLpX:
|
||||
mmfm SP,A0,A1,A2,A6,A7,A8,A9,A11
|
||||
rets
|
||||
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* FADEPROC *
|
||||
* *
|
||||
* PROCESS TO ACTUALLY FADE A PALETTE *
|
||||
* *
|
||||
* ENTRY *
|
||||
* A8 PTR TO PALETTE TO BE FADED *
|
||||
* A9 PALETTE SLOT OF PALETTE *
|
||||
* A11 FADE MULTIPLIER TABLE *
|
||||
* *
|
||||
* EXIT *
|
||||
* NOTHING *
|
||||
* *
|
||||
**************************************************************************
|
||||
|
||||
FADEPROC:
|
||||
sll 24,A9 ;B8-15 DEST PAL | B0-7 START COLOR
|
||||
srl 16,A9
|
||||
|
||||
.IF YUNIT
|
||||
MOVE A9,A2
|
||||
SRL 12,A2
|
||||
SLL 14,A2
|
||||
SLL 20,A9
|
||||
SRL 20,A9
|
||||
ADD A2,A9
|
||||
.ENDIF
|
||||
|
||||
FadePLp:
|
||||
;**** SET UP FADED PAL IN PROCESS DATA SPACE ****
|
||||
move *A11+,A2,W ;A2 - Color Multiplier
|
||||
jrn FadePrcX
|
||||
move A13,A0
|
||||
addi PDATA,A0 ;A0 - Dest Ram for Pal
|
||||
move A8,A1 ;A1 - Src for Pal
|
||||
callr FadePal
|
||||
|
||||
;**** GET FADED PALETTE XFERRED TO PALRAM ****
|
||||
move A9,A1 ;B8-15 DEST PAL | B0-7 START COLOR
|
||||
move A13,A0
|
||||
addi PDATA,A0 ;SRC FOR XFER
|
||||
move *A0+,A2,W ;GET # COLORS IN PALETTE
|
||||
calla PALSET ;SETUP PALETTE TRANSFER
|
||||
|
||||
SLEEP 2
|
||||
jruc FadePLp
|
||||
|
||||
FadePrcX:
|
||||
SLEEP 1 ;give last xfer a chance to go
|
||||
DIE
|
||||
|
||||
**************************************************************************
|
||||
* *
|
||||
* FADEPAL *
|
||||
* *
|
||||
* APPLY THE COLOR MULTIPLIER AND DO ONE ITERATION ON THE PALETTE *
|
||||
* *
|
||||
* ENTRY *
|
||||
* A0 DESTINATION RAM FOR PALETTE *
|
||||
* A1 SOURCE FOR PALETTE *
|
||||
* A2 COLOR MULTIPLIER *
|
||||
* *
|
||||
* EXIT *
|
||||
* NOTHING *
|
||||
* *
|
||||
* NOTE: EACH COLOR IN PALETTE WILL BE MULTIPLIED BY A2 THEN *
|
||||
* DIVIDED BY 128 *
|
||||
* *
|
||||
**************************************************************************
|
||||
|
||||
FadePal:
|
||||
mmtm SP,A8,A9,A10,A11
|
||||
|
||||
move *A1+,A14,W
|
||||
move A14,*A0+,W
|
||||
sll 23,A14 ;top bits of field are flags
|
||||
srl 23,A14 ; only 9 bits needed for # colors
|
||||
|
||||
movi >7C00,A4 ;A4 - Pre Mult Mask for 5 bits of red
|
||||
movi >03E0,A6 ;A6 - Pre Mult Mask for 5 bits of green
|
||||
movi >001F,A8 ;A8 - Pre Mult Mask for 5 bits of blue
|
||||
move A4,A9
|
||||
move A6,A10
|
||||
move A8,A11
|
||||
sll 7,A9 ; A9 - Post Mult Max for 5 bits of red
|
||||
sll 7,A10 ;A10 - Post Mult Max for 5 bits of green
|
||||
sll 7,A11 ;A11 - Post Mult Max for 5 bits of blue
|
||||
|
||||
FadeLp:
|
||||
move *A1+,A3,W ;A3 - RED
|
||||
move A3,A5 ;A5 - GREEN
|
||||
move A3,A7 ;A7 - BLUE
|
||||
and A4,A3
|
||||
and A6,A5
|
||||
and A8,A7
|
||||
mpyu A2,A3
|
||||
mpyu A2,A5
|
||||
mpyu A2,A7
|
||||
cmp A9,A3
|
||||
jrle RedOk
|
||||
move A9,A3
|
||||
RedOk:
|
||||
cmp A10,A5
|
||||
jrle GreenOk
|
||||
move A10,A5
|
||||
GreenOk:
|
||||
cmp A11,A7
|
||||
jrle BlueOk
|
||||
move A11,A7
|
||||
BlueOk:
|
||||
and A9,A3
|
||||
and A10,A5
|
||||
; and A11,A7 ;unnecessary cause bottom bits will get >> 7
|
||||
|
||||
or A5,A3
|
||||
or A7,A3
|
||||
srl 7,A3
|
||||
move A3,*A0+,W
|
||||
dsjs A14,FadeLp
|
||||
|
||||
mmfm SP,A8,A9,A10,A11
|
||||
rets
|
||||
|
||||
FadeIn .word 0,0,8,16,24,32,40,48,56,64,72,80,88,96,104,112,120,128,>FFFF
|
||||
FadeOut .word 120,112,104,96,88,80,72,64,56,48,40,32,24,16,8,0,>FFFF
|
||||
|
||||
.END
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue