EQUATES.S 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382
  1. ; file: equates.s
  2. ;
  3. ; Atari 7800 Crossbow
  4. ; File of equates
  5. ;
  6. TRUE equ $FF
  7. FALSE equ 0
  8. DEBUG equ FALSE ;set false for final release
  9. FIXROM equ $C000 ;start of fixed ROM at top of cart
  10. CODE equ FIXROM ;program code
  11. NUMBPAL equ 8 ;number of pals
  12. PALS equ $20 ;start of MARIA pals
  13. BKGPAL equ 6 ;background pal
  14. ;
  15. ; time: 60 fields=1 sec
  16. ;
  17. ONESEC equ 60
  18. ;
  19. ; bank switching
  20. ;
  21. BANKSW equ $8000
  22. ;
  23. ; screen banks
  24. ;
  25. MAPBANK equ 0 ;should be 0
  26. CAVBANK equ 3 ;should be 3
  27. TOWBANK equ 2 ;should be 2
  28. DESBANK equ 4 ;should be 4
  29. JUNBANK equ 3 ;should be 3
  30. CASBANK equ 6 ;should be 6
  31. VOLBANK equ 1 ;should be 1
  32. BRIBANK equ 5 ;should be 5
  33. ROOBANK equ 4 ;should be 4
  34. FACBANK equ 2 ;should be 2
  35. TITBANK equ 0 ;should be 0
  36. ;
  37. ; screen constants
  38. ;
  39. MAP equ 0
  40. CAVE equ 1
  41. TOWN equ 2
  42. DESERT equ 3
  43. JUNGLE equ 4
  44. CASTLE equ 5
  45. VOLCANO equ 6
  46. BRIDGE equ 7
  47. ROOM equ 8
  48. FACE equ 9
  49. TITLE equ 10
  50. NUMBSCRS equ 10 ;number of screens
  51. ;
  52. ; display header constants
  53. ;
  54. HDRSIZE equ 4 ;4 byte header
  55. ZONECNT equ 12 ;12 zones
  56. MAXHDRS equ 32 ;maximum headers
  57. HDRPITCH equ MAXHDRS * HDRSIZE ;header pitch
  58. ;
  59. ; colors
  60. ;
  61. BLACK equ 0
  62. GRAY equ $07
  63. WHITE equ $0F
  64. ORANGE equ $28
  65. FLESH1 equ $2A ;caucasion
  66. FLESH2 equ $26 ;negroid
  67. RED equ $32
  68. VIOLET equ $53
  69. BLUE equ $73
  70. LTBLUE equ $78
  71. CYAN equ $8A
  72. GRASS equ $C4
  73. GREEN1 equ $C7
  74. GREEN equ $C9
  75. YELLOW equ $EB
  76. LTYELLOW equ $EF
  77. SAND1 equ $EC
  78. SAND2 equ $EF
  79. BROWN equ $F1
  80. ;
  81. ; interrupts
  82. ;
  83. NUMBINT equ 9
  84. INTZB equ 0 ;if these are enabled or disabled, remember
  85. ;INTZA equ - ;to change romzon enables
  86. INTZ9 equ 2
  87. INTZ8 equ 4
  88. ;INTZ7 equ -
  89. INTZ6 equ 6
  90. INTZ5 equ 8
  91. ;INTZ4 equ -
  92. INTZ3 equ 10
  93. INTZ2 equ 12
  94. ;INTZ1 equ -
  95. INTZ0 equ 14
  96. INTBOT equ 16
  97. ;
  98. ; fade in/out
  99. ;
  100. FADEIN equ 1
  101. FADEOUT equ $FF
  102. MAXFADE equ 16
  103. FADSP equ 4 ;fade speed
  104. ;
  105. ; player's score
  106. ;
  107. SCRDGTS equ 7 ;score digits
  108. DGTWP equ 6 ;digit width pixels
  109. LDZERO equ $0F ;leading zero
  110. ;
  111. ; points displayed on enemy death
  112. ;
  113. PTS500 equ 0
  114. PTS1000 equ 1
  115. PTS1500 equ 2
  116. PTS2000 equ 3
  117. PTS2500 equ 4
  118. PTS5000 equ 5
  119. ;
  120. ;
  121. ; bitmap image constants
  122. ;
  123. SCHL equ 192 ;screen height lines
  124. SCHHL equ SCHL/2 ;half height lines
  125. PITCHB equ 256 ;pitch bytes
  126. PITCHP equ PITCHB*4 ;pitch pixels
  127. REGHL equ 64 ;region height lines
  128. SCWP equ 160 ;screen width pixels
  129. SCHWP equ SCWP/2 ;screen halfwidth pixels
  130. SCWB equ 40 ;screen width bytes
  131. SCHWB equ SCWB/2 ;screen half width bytes
  132. ZONEHL equ 16 ;zone height lines
  133. ZONEHB equ ZONEHL * PITCHB ;zone height bytes
  134. ;
  135. ; map screen
  136. ;
  137. NUMBPATHS equ 16 ;drawn paths between icons
  138. BLINKTIME equ ONESEC/4
  139. CHOOSERED equ 0
  140. CHOOSEGREEN equ 1
  141. CHOOSEBLUE equ 2
  142. ;
  143. ; moving objects
  144. ;
  145. MAXMOV equ 32 ;maximum number of moving objects
  146. FRIEND0 equ 0
  147. FRIEND1 equ 1
  148. ;
  149. ; cursor
  150. ;
  151. CURPAL equ 7 ;pal
  152. CURWP equ 4 ;width pixels
  153. CURWB equ CURWP/4 ;width bytes
  154. CURPW equ (CURPAL << 5) | (((~CURWB)+1)&$1f) ;pal, width
  155. CURADDRH equ $A0 ;addr high
  156. CURADDRL equ $08 ;low
  157. N_CURSOR equ 2
  158. ;
  159. ; eye .. many screens
  160. ;
  161. N_EYE equ 3
  162. ;
  163. ; cave screen
  164. ;
  165. ICE equ 4 ;falling icicles in cave
  166. MAXICE equ 7
  167. N_FST1 equ 12
  168. N_FST2 equ 13
  169. N_SNOWMAN equ 14
  170. N_BAT equ 15
  171. N_CAVET equ 16
  172. ;
  173. ; points that the friends must stop at before something is done
  174. ; these numbers must be even, since frs are only on even pixels
  175. ;
  176. CAVESTOP1 equ 52 ;shoot stalags to make them fall
  177. CAVESTOP2 equ 132 ;and let the frs pass
  178. ;
  179. ; town screen
  180. ;
  181. N_WOLF equ 4
  182. N_WIN1 equ 5
  183. N_WIN2 equ 6
  184. N_WIN3 equ 7
  185. N_WIN4 equ 8
  186. N_WIN5 equ 9
  187. N_WIN6 equ 10
  188. N_GHOST equ 11
  189. N_BOLT equ 12
  190. N_WIZ equ 13
  191. N_FRBALL equ 14
  192. N_LAMP1 equ 15
  193. N_LAMP2 equ 16
  194. N_LAMP3 equ 17
  195. N_TOWNT equ 18
  196. ;
  197. ; desert screen
  198. ;
  199. N_SCORP equ 4
  200. ANTS equ 5
  201. MAXANTS equ 5
  202. N_BIRD equ 10
  203. N_SNAKE equ 11
  204. N_RABBIT equ 12
  205. N_DEST equ 13
  206. ;
  207. ; jungle screen
  208. ;
  209. N_PLANT equ 4
  210. N_CHIMP1 equ 5
  211. N_CHIMP2 equ 6
  212. N_TOC2 equ 7
  213. N_COCO equ 8
  214. N_TOC1 equ 9
  215. N_CHIMP3 equ 10
  216. N_BAG equ 11
  217. ;
  218. ; castle screen
  219. ;
  220. N_DOOR equ 4
  221. N_CHAIN1 equ 5
  222. N_CHAIN2 equ 6
  223. N_ARCHERS equ 7
  224. MAXARCHERS equ 7
  225. N_ARROWS equ N_ARCHERS+MAXARCHERS
  226. MAXARROWS equ MAXARCHERS
  227. N_PTERA equ N_ARROWS + MAXARROWS
  228. N_ALI2 equ N_PTERA+1
  229. ;
  230. ; bridge screen
  231. ;
  232. N_FROG equ 4
  233. N_FISH equ 5
  234. N_ALI equ 6
  235. N_BEAVER equ 7
  236. N_BUZZ equ 8
  237. N_ROCKBRI equ 9
  238. N_OWL equ 10
  239. ;
  240. ; volcano screen
  241. ;
  242. N_ROCK1 equ 4
  243. N_ROCK2 equ 5
  244. N_FLROCK1 equ 6
  245. N_FLROCK2 equ 7
  246. N_DIAMOND equ 8
  247. N_BLDR equ 9
  248. N_VOLUP1 equ 10
  249. N_VOLUP2 equ 11
  250. N_LTNG equ 12
  251. N_SKYFLASH equ 13
  252. N_LRIVER equ 14
  253. ;
  254. ; room screen
  255. ;
  256. N_DRAG equ 4
  257. N_DAGGER1 equ 5
  258. N_DAGGER2 equ 6
  259. N_DAGGER3 equ 7
  260. N_SPEAR1 equ 8
  261. N_SPEAR2 equ 9
  262. N_SPEAR3 equ 10
  263. N_TRAP equ 11
  264. N_ROOFRBL equ 12
  265. N_TORCH1 equ 13
  266. N_TORCH2 equ 14
  267. N_TORCH3 equ 15
  268. N_TORCH4 equ 16
  269. N_CHEST equ 17
  270. N_RDFACE equ 18
  271. N_FLASH equ 19
  272. N_FACE1 equ 20
  273. N_FACE2 equ 21
  274. ;
  275. ; face screen
  276. ;
  277. N_EYEL equ 4 ;eyes
  278. N_EYER equ 5
  279. N_FD1 equ N_EYER + 1 ;face daggers
  280. N_FD2 equ N_FD1 + 1
  281. N_FD3 equ N_FD2 + 1
  282. N_FD4 equ N_FD3 + 1
  283. N_FD5 equ N_FD4 + 1
  284. N_FD6 equ N_FD5 + 1
  285. N_FD7 equ N_FD6 + 1
  286. N_FD8 equ N_FD7 + 1
  287. N_FD9 equ N_FD8 + 1
  288. N_FD10 equ N_FD9 + 1
  289. N_FD11 equ N_FD10 + 1
  290. N_FD12 equ N_FD11 + 1
  291. N_FD13 equ N_FD12 + 1
  292. N_FD14 equ N_FD13 + 1
  293. N_FD15 equ N_FD14 + 1
  294. N_FD16 equ N_FD15 + 1
  295. ;
  296. ; moving object statuses
  297. ;
  298. S_IDLE equ %10000000
  299. S_NOTHREAT equ %01000000
  300. S_INVULNERABLE equ %00100000
  301. S_STOPPED equ %00010000
  302. S_SYNC equ %00010000
  303. S_QUIET equ %00001000
  304. S_TRIGGER equ %00000100
  305. S_DEPENDENT equ %00000010
  306. S_LAUNCH equ 10
  307. S_SETINIT equ $80
  308. S_READINIT equ $81
  309. S_HANG equ $82
  310. ;
  311. ; animation type codes
  312. ;
  313. T_XY equ 0 ;moves in x and y
  314. T_ST equ $FF ;stationary
  315. ;
  316. ; animation instruction codes
  317. ;
  318. A_AUDIO equ 0
  319. A_JUMP equ 2
  320. A_STATUS equ 4
  321. A_POINTS equ 6
  322. A_LOOP equ 8
  323. A_DELTA equ 10
  324. JUMPALWAYS equ $FF ;wild card loop counter
  325. ;
  326. ; the friends
  327. ;
  328. NUMBFRS equ 8
  329. MAXFFRAMES equ 16 ;maximum friend frames
  330. DEATHID equ 8 ;flaming death
  331. HERO equ 7
  332. WOMAN equ 6
  333. NEGRO equ 5
  334. DWARF equ 4
  335. GIRL equ 3
  336. WIMP equ 2
  337. MERLIN equ 1
  338. MONK equ 0
  339. ;
  340. ; statuses
  341. ;
  342. POTENTIAL equ 0 ;not yet joined party
  343. JOINED equ 1 ;ready to cross screen
  344. CROSSING equ 2 ;onscreen
  345. SURVIVED equ 3 ;crossed
  346. DEAD equ 4
  347. ;
  348. ; active statuses
  349. ;
  350. WALKING equ 0
  351. WAITING equ 1
  352. FIGHTING equ 2
  353. DIEING equ 3 | S_INVULNERABLE
  354. DROPPING equ 4 ;thru trap door
  355. FALLING equ 5 ;in face screen
  356. ;
  357. ;
  358. ;
  359. FRWP equ 12 ;width pixels
  360. FRWB equ FRWP/4 ;width bytes
  361. FRSTPOS equ (0 - FRWP)& $ff ;start pos
  362. FALLHPOS equ 10 ;falling in face screen hpos
  363. FALLTIME equ 6 ;fields per frame
  364. ;invalid stop position to use when friends shouldn't be stopped
  365. FRNOSTOP equ (FRSTPOS + SCWP)/2
  366. .end