├── README.MD └── Source ├── 3DSTUFF.68K ├── AM3D.68K ├── BACKGR1.BBM ├── BACKGR2A.BBM ├── BACKGR2B.BBM ├── BACKGR3A.BBM ├── BACKUP.BAT ├── BATDATA.EQU ├── BATHOME.PRJ ├── BATMAN.68K ├── BATMAN.EQU ├── BATMAN.PRJ ├── BATSNASM.PRJ ├── BAT_IP.68K ├── BAT_SP.68K ├── BIP_PAL.68K ├── BLANK.68K ├── BLEV1.PRJ ├── BLEV2.PRJ ├── BLEV3.PRJ ├── BLEV4.PRJ ├── BLEV5.PRJ ├── BRIANS ├── BAFBRN0.CD8 ├── BANG1.CD8 ├── BATMAN.EQU ├── BATMOB3.CD8 ├── BATSKI0.CD8 ├── CDAD_D00.OLD ├── CDAD_D00.S ├── CDAD_D04.OLD ├── CDAD_D04.S ├── CDAD_D10.S ├── CDAD_DS1.S ├── CDAD_DS4.S ├── CDAD_DSB.S ├── CDAD_M.S ├── CDAD_S.OLD ├── CDAD_S.S ├── CDAD_Z.S ├── CDAD_Z.Z80 ├── CLANG0.CD8 ├── CRASH0.CD8 ├── DEBRIS0.CD8 ├── EXPLOD2.CD8 ├── FLAMES0.CD8 ├── JET2.CD8 ├── ROAD0.CD8 ├── SKID2.CD8 └── TRUCK1.CD8 ├── C1.BAT ├── C2.BAT ├── C3.BAT ├── C4.BAT ├── C5.BAT ├── CAR_CTRL.68K ├── CONVERT.68K ├── CREDITS.DOC ├── DAMAGE.68K ├── EQU.EQU ├── GR_READY.68K ├── IPSYS.68K ├── IPSYS.PRJ ├── IPSYS.SYM ├── IPTEST.68K ├── IPTEST.BIN ├── IPTEST.PRJ ├── LEVEL_1 ├── BACKGR1A.BIN ├── BASHER.68K ├── CHARS.BIN ├── CLOUD.EQU ├── CMAPS.BIN ├── CYCLE.68K ├── FIRETRUC.68K ├── GLIST.BIN ├── JACKNBOX.68K ├── MAPS.EQU ├── MINIFIRE.68K ├── SIDEOBJS.EQU ├── SMAPS.BIN ├── STATE.RST └── VILLAN.68K ├── LEVEL_2 ├── BACKANIM.68K ├── BACKGR2A.BIN ├── BACKGR2B.BIN ├── BASHER.68K ├── BOLARD.68K ├── CANNON.68K ├── CHARS.BIN ├── CLOUD.EQU ├── CMAPS.BIN ├── CYCLE.68K ├── GLIST.BIN ├── MAPS.EQU ├── MINICAN.68K ├── SIDEOBJS.EQU ├── SMAPS.BIN ├── STATE.RST ├── TANK.68K ├── TRCONE.68K ├── TRUCK.68K └── VILLAN.68K ├── LEVEL_3 ├── BACKANIM.68K ├── BACKGR3A.BIN ├── BASHER.68K ├── BOLARD.68K ├── CHARS.BIN ├── CLOUD.EQU ├── CMAPS.BIN ├── CYCLE.68K ├── GLIST.BIN ├── ICETRUCK.68K ├── MAPS.EQU ├── SIDEOBJS.EQU ├── SMAPS.BIN ├── STATE.RST ├── TRUCK.68K ├── VILLAN.68K └── WKLITE.68K ├── LEVEL_4 ├── CHARS.BIN ├── CMAPS.BIN ├── CRUNCH.68K ├── GLIST.BIN ├── JETSKI.68K ├── MAPS.EQU ├── RAMP.68K ├── RHOLE.68K ├── SIDEOBJS.EQU ├── SKULL.68K ├── SMAPS.BIN └── STATE.RST ├── LEVEL_5 ├── BOAT.68K ├── BOUYS.68K ├── CHARS.BIN ├── CMAPS.BIN ├── DUCK.68K ├── GLIST.BIN ├── ICEBERGS.68K ├── JETSKI.68K ├── MAPS.EQU ├── MINES.68K ├── PENGUINS.68K ├── RAMP.68K ├── SIDEOBJS.EQU ├── SKULL.68K ├── SMAPS.BIN └── STATE.RST ├── LOGIC.68K ├── MAIN.SYM ├── MAI_AP.68K ├── OBJECT.68K ├── PANEL.EQU ├── ROAD.68K ├── SCALE.68K ├── SHELL.EQU ├── SINTAB.BIN ├── SKI_CTRL.68K ├── SNBUG68K.CF5 ├── SNBUG68K.CF7 ├── SN_MBAT.68K ├── SN_SBAT.68K ├── SN_SWAIT.68K ├── SOUNDMAI.INC ├── SOUNDSUB.INC ├── STATE.RST ├── STEST.68K ├── SUB.SYM ├── SUB_AP.68K ├── TECH.DOC ├── TRASHCAN.68K ├── USROM.BIN ├── VISUALS.68K ├── Z.TXT └── _READ_ME.TXT /README.MD: -------------------------------------------------------------------------------- 1 | # Batman Returns 2 | 3 | **Platform:** Sega CD 4 | **Game:** Batman Returns 5 | **Type:** Source Code - (Assumed to be Complete) 6 | **Source:** http://shrigley.com/source_code_archive/ 7 | -------------------------------------------------------------------------------- /Source/3DSTUFF.68K: -------------------------------------------------------------------------------- 1 | ; ============================================================================ 2 | ; 3 | ; ============================================================================ 4 | 5 | MOVE.W #8,D0 6 | ADD.W D0,PITCH 7 | AND.W #$3FE,PITCH 8 | ADD.W D0,ROLL 9 | AND.W #$3FE,ROLL 10 | ADD.W D0,HDG 11 | AND.W #$3FE,HDG 12 | 13 | MAKE_CRT MOVEQ #15*6-1,D6 14 | LEA SHAPE1,A0 15 | 16 | .LOOP 17 | MOVEQ #0,D0 18 | MOVEQ #0,D1 19 | MOVEQ #0,D2 20 | MOVE.W ZEOL,D0 21 | MOVE.W XEOL,D1 22 | MOVE.W YEOL,D2 23 | SWAP D0 24 | SWAP D1 25 | SWAP D2 26 | ASR.L #2,D0 27 | 28 | MOVE.W (A0)+,D3 29 | MOVE.W T1,D4 30 | MULS D3,D4 31 | ADD.L D4,D1 32 | MOVE.W T4,D4 33 | MULS D3,D4 34 | ADD.L D4,D2 35 | MULS T7,D3 36 | ADD.L D3,D0 37 | 38 | MOVE.W (A0)+,D3 39 | MOVE.W T2,D4 40 | MULS D3,D4 41 | ADD.L D4,D1 42 | MOVE.W T5,D4 43 | MULS D3,D4 44 | ADD.L D4,D2 45 | MULS T8,D3 46 | ADD.L D3,D0 47 | 48 | MOVE.W (A0)+,D3 49 | MOVE.W T3,D4 50 | MULS D3,D4 51 | ADD.L D4,D1 52 | MOVE.W T6,D4 53 | MULS D3,D4 54 | ADD.L D4,D2 55 | MULS T9,D3 56 | ADD.L D3,D0 57 | 58 | SWAP D0 59 | ROL.L #2,D0 60 | ASR.L #6,D1 61 | ASR.L #6,D2 62 | 63 | TST.W D0 64 | BMI.S .nex 65 | BEQ.S .skp0 66 | DIVS D0,D1 67 | .skp0 ADD.W #320/2,D1 68 | CMP.W #320,D1 69 | BCC.S .nex 70 | 71 | TST.W D0 72 | BEQ.S .skp1 73 | DIVS D0,D2 74 | .skp1 ADD.W #192/2,D2 75 | CMP.W #192,D2 76 | BCC.S .nex 77 | 78 | MOVE.W SROT_VCELL-1,D0 79 | ADDQ.W #1,D0 80 | MOVE.W D1,D3 81 | AND.W #$FFF8,D1 82 | MULU D0,D1 83 | ADD.W D2,D1 84 | ADD.W IMG_BADDR,D1 85 | LSL.L #2,D1 86 | ADD.L #$80000,D1 87 | MOVE.L D1,A6 88 | LEA TGRS,A5 89 | AND.W #7,D3 90 | LSL.W #2,D3 91 | 92 | BSR ACCESS_REQ 93 | MOVE.L (A5,D3.W),D3 94 | OR.L D3,(A6) 95 | BSR ACCESS_OFF 96 | 97 | .nex 98 | DBRA D6,.LOOP 99 | RTS 100 | 101 | TGRS 102 | HEX 70000000 103 | HEX 07000000 104 | HEX 00700000 105 | HEX 00070000 106 | HEX 00007000 107 | HEX 00000700 108 | HEX 00000070 109 | HEX 00000007 110 | 111 | SHAPE1 DC.W -10*5,17*5,0 112 | DC.W -8*5,15*5,6*5 113 | DC.W 0,13*5,10*5 114 | DC.W 8*5,10*5,6*5 115 | DC.W 10*5,8*5,0 116 | DC.W 8*5,5*5,-6*5 117 | DC.W 0,3*5,-10*5 118 | DC.W -8*5,0,-6*5 119 | DC.W -10*5,-3*5,0 120 | DC.W -8*5,-5*5,6*5 121 | DC.W 0,-8*5,10*5 122 | DC.W 8*5,-10*5,6*5 123 | DC.W 10*5,-13*5,0 124 | DC.W 8*5,-15*5,-6*5 125 | DC.W 0,-17*5,-10*5 126 | 127 | SHAPE DC.W 20*5,-17*5,10*5 128 | DC.W 10*5,-17*5,10*5 129 | DC.W 0,-17*5,10*5 130 | DC.W -10*5,-17*5,10*5 131 | DC.W -20*5,-17*5,10*5 132 | DC.W 15*5,-17*5,5*5 133 | DC.W 5*5,-17*5,5*5 134 | DC.W -5*5,-17*5,5*5 135 | DC.W -15*5,-17*5,5*5 136 | DC.W 10*5,-17*5,0 137 | DC.W 0,-17*5,0 138 | DC.W -10*5,-17*5,0 139 | DC.W 5*5,-17*5,-5*5 140 | DC.W -5*5,-17*5,-5*5 141 | DC.W 0,-17*5,-10*5 142 | 143 | SHAPEX DC.W 20*5,17*5,10*5 144 | DC.W 10*5,17*5,10*5 145 | DC.W 0,17*5,10*5 146 | DC.W -10*5,17*5,10*5 147 | DC.W -20*5,17*5,10*5 148 | DC.W 15*5,17*5,5*5 149 | DC.W 5*5,17*5,5*5 150 | DC.W -5*5,17*5,5*5 151 | DC.W -15*5,17*5,5*5 152 | DC.W 10*5,17*5,0 153 | DC.W 0,17*5,0 154 | DC.W -10*5,17*5,0 155 | DC.W 5*5,17*5,-5*5 156 | DC.W -5*5,17*5,-5*5 157 | DC.W 0,17*5,-10*5 158 | 159 | SHAPEXX DC.W 20*5,17*7,10*5 160 | DC.W 10*5,17*7,10*5 161 | DC.W 0,17*7,10*5 162 | DC.W -10*5,17*7,10*5 163 | DC.W -20*5,17*7,10*5 164 | DC.W 15*5,17*7,5*5 165 | DC.W 5*5,17*7,5*5 166 | DC.W -5*5,17*7,5*5 167 | DC.W -15*5,17*7,5*5 168 | DC.W 10*5,17*7,0 169 | DC.W 0,17*7,0 170 | DC.W -10*5,17*7,0 171 | DC.W 5*5,17*7,-5*5 172 | DC.W -5*5,17*7,-5*5 173 | DC.W 0,17*7,-10*5 174 | 175 | SHAPEXXX DC.W 20*5,-17*7,10*5 176 | DC.W 10*5,-17*7,10*5 177 | DC.W 0,-17*7,10*5 178 | DC.W -10*5,-17*7,10*5 179 | DC.W -20*5,-17*7,10*5 180 | DC.W 15*5,-17*7,5*5 181 | DC.W 5*5,-17*7,5*5 182 | DC.W -5*5,-17*7,5*5 183 | DC.W -15*5,-17*7,5*5 184 | DC.W 10*5,-17*7,0 185 | DC.W 0,-17*7,0 186 | DC.W -10*5,-17*7,0 187 | DC.W 5*5,-17*7,-5*5 188 | DC.W -5*5,-17*7,-5*5 189 | DC.W 0,-17*7,-10*5 190 | 191 | SHAPE1A DC.W -10,17,0 192 | DC.W -8,15,6 193 | DC.W 0,13,10 194 | DC.W 8,10,6 195 | DC.W 10,8,0 196 | DC.W 8,5,-6 197 | DC.W 0,3,-10 198 | DC.W -8,0,-6 199 | DC.W -10,-3,0 200 | DC.W -8,-5,6 201 | DC.W 0,-8,10 202 | DC.W 8,-10,6 203 | DC.W 10,-13,0 204 | DC.W 8,-15,-6 205 | DC.W 0,-17,-10 206 | 207 | ; ============================================================================ 208 | ; DATA 209 | ; ============================================================================ 210 | 211 | ZEOL DC.W $200 212 | XEOL DC.W 0 213 | YEOL DC.W 0 214 | 215 | PITCH DC.W $0 216 | ROLL DC.W $0 217 | HDG DC.W $0 218 | 219 | T4 DC.W 0 220 | T1 DC.W 0 221 | T7 DC.W 0 222 | T5 DC.W 0 223 | T6 DC.W 0 224 | T8 DC.W 0 225 | T2 DC.W 0 226 | T9 DC.W 0 227 | T3 DC.W 0 228 | 229 | ; ============================================================================ 230 | ; TRIG CALCULATION 231 | ; ============================================================================ 232 | 233 | TRANSFORM LEA SIN_LOOKUP(PC),A5 234 | LEA $100(A5),A6 235 | LEA T4(PC),A0 236 | MOVE.W #$3FE,D7 237 | 238 | MOVE.W PITCH,D6 ;Y-AXIS Rotation 239 | MOVE.W ROLL,D5 ;X-AXIS Rotation 240 | MOVE.W HDG,D4 ;Z-AXIS Rotation 241 | 242 | MOVE.W (A5,D5.W),(A0)+ ;SET T4 SIN(R) 243 | 244 | ; --- HEADING AND ROLL CALC --- 245 | 246 | MOVE.W D4,D0 247 | ADD.W D5,D0 ;DO H+R 248 | AND.W D7,D0 249 | MOVE.W (A5,D0.W),D1 ;D1=SIN(H+R) 250 | EXT.L D1 251 | MOVE.W (A6,D0.W),A2 ;A2=COS(H+R) 252 | 253 | MOVE.W D4,D0 254 | SUB.W D5,D0 ;DO H-R 255 | AND.W D7,D0 256 | MOVE.W (A5,D0.W),A1 ;A1=SIN(H-R) 257 | MOVE.W (A6,D0.W),D2 ;D2=COS(H-R) 258 | EXT.L D2 259 | 260 | MOVE.L D2,D0 261 | ADD.L A2,D0 262 | LSR.L #1,D0 ;(COS(H-R)+COS(H+R))/2 263 | MOVE.W D0,(A0)+ ;SET T1 264 | 265 | SUB.L A2,D2 266 | LSR.L #1,D2 ;D2=(COS(H-R)-COS(H+R))/2 267 | 268 | MOVE.L D1,D0 269 | ADD.L A1,D0 270 | LSR.L #1,D0 271 | NEG.W D0 ;-(SIN(H+R)+SIN(H-R))/2 272 | MOVE.W D0,(A0)+ ;SET T7 273 | 274 | SUB.L A1,D1 275 | LSR.L #1,D1 ;D1=(SIN(H+R)-SIN(H-R))/2 276 | 277 | ; --- PITCH AND ROLL CALC --- 278 | 279 | MOVE.W D5,D0 280 | ADD.W D6,D0 ;DO R+P 281 | AND.W D7,D0 282 | MOVE.W (A5,D0.W),D3 ;D3=SIN(R+P) 283 | EXT.L D3 284 | MOVE.W (A6,D0.W),D0 ;D0=COS(R+P) 285 | EXT.L D0 286 | 287 | SUB.W D6,D5 ;DO R-P 288 | AND.W D7,D5 289 | MOVE.W (A5,D5.W),A1 ;A1=SIN(R-P) 290 | MOVE.W (A6,D5.W),A2 ;A2=COS(R-P) 291 | 292 | ADD.L A2,D0 293 | LSR.L #1,D0 ;(COS(R+P)+COS(R-P))/2 294 | MOVE.W D0,(A0)+ ;SET T5 295 | 296 | SUB.L A1,D3 297 | LSR.L #1,D3 298 | NEG.W D3 ;-(SIN(R+P)-SIN(R-P))/2 299 | MOVE.W D3,(A0)+ ;SET T6 300 | 301 | ; --- HEADING AND PITCH CALC --- 302 | 303 | MOVE.W D4,D0 304 | ADD.W D6,D0 ;DO H+P 305 | AND.W D7,D0 306 | MOVE.W (A5,D0.W),D3 ;D3=SIN(H+P) 307 | EXT.L D3 308 | MOVE.W (A6,D0.W),A2 ;A2=COS(H+P) 309 | 310 | SUB.W D6,D4 ;DO H-P 311 | AND.W D7,D4 312 | MOVE.W (A5,D4.W),A1 ;A1=SIN(H-P) 313 | MOVE.W (A6,D4.W),D4 ;D4=COS(H-P) 314 | EXT.L D4 315 | 316 | MOVE.L D4,D0 317 | ADD.L A2,D0 318 | LSR.L #1,D0 ;D0=(COS(H-P)+COS(H+P))/2 [T9] 319 | 320 | SUB.L A2,D4 321 | LSR.L #1,D4 ;D4=(COS(H-P)-COS(H+P))/2 [T2] 322 | 323 | MOVE.L D3,D5 324 | ADD.L A1,D5 325 | LSR.L #1,D5 ;D5=(SIN(H-P)+SIN(H+P)/2 [T3] 326 | 327 | SUB.L A1,D3 328 | LSR.L #1,D3 ;D3=(SIN(H+P)-SIN(H-P))/2 [T8] 329 | 330 | ; --- DO THE MULTS --- 331 | 332 | MOVE.W (A6,D6.W),D7 333 | MULS D2,D7 334 | SWAP D7 335 | ROL.L #1,D7 336 | ADD.W D7,D3 337 | MOVE.W D3,(A0)+ ;SET T8 338 | 339 | MOVE.W (A6,D6.W),D7 340 | MULS D1,D7 341 | SWAP D7 342 | ROL.L #1,D7 343 | SUB.W D7,D4 344 | MOVE.W D4,(A0)+ ;SET T2 345 | 346 | MULS (A5,D6.W),D2 347 | SWAP D2 348 | ROL.L #1,D2 349 | SUB.W D2,D0 350 | MOVE.W D0,(A0)+ ;SET T9 351 | 352 | MULS (A5,D6.W),D1 353 | SWAP D1 354 | ROL.L #1,D1 355 | ADD.W D1,D5 356 | MOVE.W D5,(A0) ;SET T3 357 | 358 | RTS 359 | 360 | ; ============================================================================ 361 | 362 | SIN_LOOKUP INCBIN SINTAB.BIN 363 | 364 | ; ============================================================================ 365 | 366 |  -------------------------------------------------------------------------------- /Source/AM3D.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/AM3D.68K -------------------------------------------------------------------------------- /Source/BACKGR1.BBM: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/BACKGR1.BBM -------------------------------------------------------------------------------- /Source/BACKGR2A.BBM: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/BACKGR2A.BBM -------------------------------------------------------------------------------- /Source/BACKGR2B.BBM: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/BACKGR2B.BBM -------------------------------------------------------------------------------- /Source/BACKGR3A.BBM: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/BACKGR3A.BBM -------------------------------------------------------------------------------- /Source/BACKUP.BAT: -------------------------------------------------------------------------------- 1 | ECHO OFF 2 | ZAP \SOURCE\BATBAC2 3 | MD \SOURCE\BATBAC2 4 | XCOPY \SOURCE\BATBAC1\. \SOURCE\BATBAC2 /S /E 5 | ZAP \SOURCE\BATBAC1 6 | MD \SOURCE\BATBAC1 7 | XCOPY \SOURCE\BATMAN\. \SOURCE\BATBAC1 /S /E 8 |  -------------------------------------------------------------------------------- /Source/BATDATA.EQU: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/BATDATA.EQU -------------------------------------------------------------------------------- /Source/BATHOME.PRJ: -------------------------------------------------------------------------------- 1 | CD-ROM BATMAN. (Home dev-system) 2 | 3 | [snmake] 4 | 5 | T7:; BATMAN.68K 6 | 7 | SNASM68k $! /I BATMAN.68K,D:BATMAN.CPE,D:BATMAN.SYM 8 | 9 | COMMAND /C COPY /B D:BATMAN.CPE PRN: 10 | 11 | [eval] 12 | 13 | SNBUG68k /v$$$ D:BATMAN.SYM 14 | 15 | [debug] 16 | 17 | COMMAND /C COPY /B D:BATMAN.CPE PRN: 18 |  -------------------------------------------------------------------------------- /Source/BATMAN.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/BATMAN.68K -------------------------------------------------------------------------------- /Source/BATMAN.EQU: -------------------------------------------------------------------------------- 1 | 2 | ; -------------------------------------------------------------------------- 3 | 4 | LEVEL = 4 5 | STAGE = 1 6 | 7 | TESTMODE = NO 8 | 9 | TESTPR = YO&TESTMODE 10 | GTESTPR = NO&TESTPR 11 | 12 | TESTRAST = NO&TESTMODE 13 | TESTRAS0 = NO&TESTRAST 14 | TESTRAS1 = YO&TESTRAST 15 | TESTRAS2 = NO&TESTRAST 16 | 17 | PALVERSION = NO 18 | 19 | SOUND_INC = YO 20 | CD_DA = NO 21 | BATCD_SHELL = NO 22 | 23 | SNASMCD_DEV = YO 24 | 25 | CDAD_STATS = NO 26 | SFX_MASTER_LEV = 110 27 | FM_INC = YO 28 | MONO_SFX = NO 29 | CSFX = YO 30 | CSFX1 = YO 31 | BMSFX = YO 32 | CDAD_STATS = NO 33 | 34 | TIME = YO 35 | SLOWMOTION = YO 36 | ENEMYS = YO 37 | REVERSE = NO 38 | DAMAGE = YO 39 | 40 | BENDS = YO 41 | HILLS = YO 42 | WAVES = YO 43 | 44 | ; -------------------------------------------------------------------------- 45 | 46 | IF BENDS 47 | TURN_INTENSITY EQU 8000 48 | ELSE 49 | TURN_INTENSITY EQU 0 50 | ENDIF 51 | 52 | IF HILLS 53 | HILL_INTENSITY EQU 10000 54 | ELSE 55 | HILL_INTENSITY EQU 0 56 | ENDIF 57 | 58 | IF LEVEL<4 59 | VIEW_PATCHES EQU 32 60 | ELSE 61 | VIEW_PATCHES EQU 40 62 | ENDIF 63 | 64 | ; -------------------------------------------------------------------------- 65 | 66 | SCORE_ENEMY EQU $000500 67 | SCORE_MIDBOSS EQU $002000 68 | SCORE_ENDBOSS EQU $005000 69 | SCORE_SMALLOBJ EQU $000200 70 | SCORE_ROADOBJ EQU $000100 71 | 72 | ; -------------------------------------------------------------------------- 73 | 74 | VC EQU $80 75 | SFX_BASHBLD_A EQU VC!2 ;BASH BUILDING "A" 76 | SFX_BASHPOLE_A EQU VC!44 ;BASH POLE "A" [metallic] 77 | SFX_BASHPOLE_B EQU VC!75 ;BASH POLE "B" [wooden] 78 | SFX_BASHTREE_A EQU VC!45 ;BASH TREE/BUSH "A" 79 | 80 | SFX_BASHOBJ_A EQU VC!5 ;BASH OBJECT "A" 81 | SFX_BASHOBJ_B EQU VC!29 ;BASH OBJECT "B" 82 | 83 | SFX_BRFIRE_A EQU 10 ;BAT-ROCKET FIRE 84 | 85 | SFX_BITSGND_A EQU VC!11 ;EXPLOSION METALIC PARTS HIT GROUND "A" 86 | SFX_BITSGND_B EQU VC!47 ;EXPLOSION METALIC PARTS HIT GROUND "B" 87 | SFX_BITSGND_C EQU VC!48 ;EXPLOSION METALIC PARTS HIT GROUND "C" 88 | SFX_BITSGND_D EQU VC!28 ;EXPLOSION METALIC PARTS HIT GROUND "D" 89 | SFX_BITSGND_E EQU VC!37 ;EXPLOSION METALIC PARTS HIT GROUND "A" 90 | SFX_BITSGND_F EQU VC!38 ;EXPLOSION METALIC PARTS HIT GROUND "B" 91 | SFX_BITSGND_G EQU VC!39 ;EXPLOSION METALIC PARTS HIT GROUND "C" 92 | SFX_BITSGND_H EQU VC!40 ;EXPLOSION METALIC PARTS HIT GROUND "D" 93 | 94 | SFX_EXPLDBOSS_A EQU 12 ;EXPLOSION BOSS FINAL 95 | SFX_EXPLDCAR_A EQU 13 ;EXPLOSION CAR FINAL 96 | SFX_EXPLDDAM_A EQU 14 ;EXPLOSION DAMAGE 97 | SFX_EXPLDBLD_A EQU 15 ;EXPLOSION BUILD-UP TO FINAL 98 | 99 | SFX_ROCKET_A EQU VC!34 ;BIKER LAUNCHS ROCKET AT BATMOBILE 100 | 101 | SFX_FTFLMHIT_A EQU 41 ;FIRETRUCK FLAME HIT BATMOBILE 102 | SFX_FTFLAME_A EQU 43 ;FIRETRUCK FLAME THROWER 103 | ;SFX_FTFLAME_A EQU VC!43 ;FIRETRUCK FLAME THROWER 104 | 105 | SFX_TRUCKHORN_A EQU 49 ;BIG TRUCKS "GET OUTTA THE WAY" HORN 106 | SFX_TRUCKHORN_B EQU 89 ; 107 | SFX_TRUCKHORN_C EQU 90 ; 108 | SFX_TRUCKHORN_D EQU 91 ; 109 | 110 | 111 | ; -------------------------------------------------------------------------- 112 | ; LEVELS 1,2,3 SFX 113 | ;================= 114 | 115 | SFX_BDFIRE_A EQU 6 ;BAT-DISC FIRE 116 | SFX_BDHIT_A EQU 54 ;BAT-DISC HIT OBJECT 117 | SFX_BDHIT_B EQU 42 ;BAT-DISC HIT GROUND/BUILDING 118 | SFX_BMLAND_A EQU 16 ;BATMOBILE LANDING THUD 119 | 120 | SFX_EBIKE_A EQU 18 ;ENGINE BIKE 121 | SFX_EBASHER_A EQU 19 ;ENGINE BASHER 122 | SFX_EVILLAN_A EQU 20 ;ENGINE VILLAN red/ flamethrower 123 | SFX_EJACK_A EQU 21 ;ENGINE JACK'N'BOX 124 | SFX_EFTRUCK_A EQU 22 ;ENGINE FIRETRUCK 125 | SFX_ETANKER_A EQU 23 ;ENGINE FUEL TANKER 126 | SFX_ECANNON_A EQU 24 ;ENGINE CANNON 127 | SFX_EMINICAN_A EQU 25 ;ENGINE MINI-CANNON 128 | SFX_EPCVAN_A EQU 26 ;ENGINE PROFANE CANISTER VAN 129 | SFX_EICETRUCK_A EQU 27 ;ENGINE ICETRUCK 130 | 131 | SFX_MLTVAIR_A EQU 33 ;MOLOTOV-COCKTAIL IN AIR 132 | SFX_JBDOOR_A EQU 35 ;J'N'B DOOR CLOSE 133 | SFX_JBSPRING_A EQU 30 ;J'N'B SPRING OUT 134 | SFX_JBSPRING_B EQU 31 ;J'N'B SPRING IN 135 | SFX_JBSPRING_C EQU 32 ;J'N'B SPRING LEFT/RIGHT 136 | SFX_JACKHEAD_A EQU 56 137 | SFX_FTLADDER_A EQU VC!36 ;FIRETRUCK LADDER OPEN/CLOSE 138 | SFX_FTAXEAIR_A EQU VC!55 ;FIRETRUCK AXE IN AIR 139 | SFX_FTAXEHIT_A EQU VC!56 ;FIRETRUCK AXE HIT 140 | 141 | SFX_TRASHHIT_A EQU VC!46 ;CAR HITS TRASHCAN 142 | SFX_TRASHGND_A EQU VC!50 ;TRASHCAN HITS GROUND 143 | SFX_TRASHGND_B EQU VC!51 ;TRASHCAN HITS GROUND 144 | SFX_TRASHGND_C EQU VC!52 ;TRASHCAN HITS GROUND 145 | SFX_TRASHGND_D EQU VC!53 ;TRASHCAN HITS GROUND 146 | SFX_CONEHIT_A EQU 57 ;CAR HITS CONE 147 | SFX_CONEGND_A EQU 58 ;CONE HITS GROUND 148 | SFX_CONEGND_B EQU 59 ;CONE HITS GROUND 149 | SFX_CONEGND_C EQU 60 ;CONE HITS GROUND 150 | SFX_CONEGND_D EQU 61 ;CONE HITS GROUND 151 | SFX_BLOCKHIT_A EQU VC!82 ;CAR HITS ROAD BLOCKAGE 152 | SFX_BLOCKGND_A EQU VC!83 ;ROAD BLOCKAGE HITS GROUND 153 | SFX_BLOCKGND_B EQU VC!84 ;ROAD BLOCKAGE HITS GROUND 154 | SFX_BLOCKGND_C EQU VC!85 ;ROAD BLOCKAGE HITS GROUND 155 | SFX_BLOCKGND_D EQU VC!86 ;ROAD BLOCKAGE HITS GROUND 156 | SFX_WLIGHTHIT_A EQU VC!57 ;CAR HITS ROAD WORKLIGHT 157 | SFX_WLIGHTGND_A EQU VC!58 ;ROAD WORKLIGHT HITS GROUND 158 | SFX_WLIGHTGND_B EQU VC!59 ;ROAD WORKLIGHT HITS GROUND 159 | SFX_WLIGHTGND_C EQU VC!60 ;ROAD WORKLIGHT HITS GROUND 160 | SFX_WLIGHTGND_D EQU VC!61 ;ROAD WORKLIGHT HITS GROUND 161 | 162 | SFX_CIRCUS_A EQU VC!88 ;CIRCUS ORGAN MUSIC IN DISTANCE 163 | SFX_BATNOISE_A EQU VC!76 ;BAT SQUEAKS FOR TUNNEL 164 | SFX_CANFIRE_A EQU VC!77 ;CANNON BOSS FIRES 165 | SFX_MCANFIRE_A EQU VC!78 ;MINI-CANNON FIRES 166 | 167 | SFX_POWERUP_A EQU VC!79 ;COLLECT POWERUP 168 | SFX_AAARG_A EQU VC!80 ;ENEMY GUY FALLS OFF LADDER 169 | SFX_GUYGND_A EQU VC!81 ;ENEMY GUY HITS GROUND 170 | SFX_ICEDROP_A EQU VC!73 ;ICE TRUCK DROPS ICE BLOCK 171 | SFX_ICEBREAK_A EQU VC!74 ;ICE BLOCK FALLS TO BITS 172 | SFX_ICEGND_A EQU VC!69 ;ICE BITS HIT GROUND 173 | SFX_ICEGND_B EQU VC!70 ;ICE BITS HIT GROUND 174 | SFX_ICEGND_C EQU VC!71 ;ICE BITS HIT GROUND 175 | SFX_ICEGND_D EQU VC!72 ;ICE BITS HIT GROUND 176 | SFX_TARGETHIT_A EQU 64 ;ICE TRUCK TARGET HIT 177 | SFX_PCDROP_A EQU VC!62 ;PROFANE CANISTER RELEASED 178 | SFX_PCGND_A EQU 63 ;PROFANE CANISTER HITS GROUND 179 | 180 | ;-------------------------------------------------------------------------- 181 | ; LEVELS 4,5 SFX 182 | ;================= 183 | 184 | SFX_ETOYBOAT_A EQU 18 ;csfx ENGINE SMALL TOY BOATS 185 | SFX_EBOAT_A EQU 19 ;csfx ENGINE BOAD 186 | SFX_EJETSKI_A EQU 20 ;csfx ENGINE JETSKI 187 | SFX_ESKULL_A EQU 21 ;csfx ENGINE SKULL 188 | SFX_EDUCK_A EQU 22 ;csfx ENGINE DUCKBOAT 189 | 190 | SFX_ERHOLE_A EQU 27 ;csfx ROTATING HOLE 191 | 192 | SFX_SPLASH_A EQU 16 ;LANDING WATER SPLASH 193 | SFX_BSFIRE_A EQU VC!6 ;BATSKI SMALL ROCKET FIRE 194 | SFX_BSHIT_A EQU VC!54 ;BATSKI SMALL ROCKET HIT OBJECT 195 | SFX_BSHIT_B EQU VC!42 ;BATSKI SMALL ROCKET HIT GROUND/BUILDING 196 | SFX_METWALL_A EQU VC!44 ;BATSKI HITS SEWER METALIC WALL 197 | SFX_METPIPE_A EQU VC!46 ;BATSKI HITS SEWER PIPE 198 | SFX_METRHOLE_A EQU VC!47 ;BATSKI HITS SEWER ROTATING HOLE 199 | SFX_METCRUNCH_A EQU VC!48 ;BATSKI HITS CUNCHING DOORS 200 | SFX_BASHBOUY_A EQU 49 ;BATSKI HITS BOUY 201 | SFX_BASHICE_A EQU 50 ;BATSKI HITS ICEBERG 202 | SFX_RAMP_A EQU 62 ;BATSKI JUMPS FROM RAMP 203 | 204 | SFX_BOUYBELL_A EQU VC!89 ;BELL "DONNNGGG" FOR SWINGING BOUY 205 | SFX_LAZERFIRE_A EQU VC!77 ;SKULL FIRES LAZER 206 | SFX_LAZERHIT_A EQU VC!41 ;LAZER HITS BATSKI 207 | SFX_SKULLOPEN_A EQU VC!35 ;SKULL MOUTH OPENS 208 | SFX_SKULLCLOS_A EQU VC!36 ;SKULL MOUTH CLOSES 209 | SFX_DOORCLANG_A EQU VC!45 ;CRUNCHER DOORS BASH TOGETHER WHEN CLOSING 210 | SFX_BERGBREAK_A EQU VC!74 ;ICE BERG GETS BLOWN UP 211 | SFX_WATERPLOP_A EQU VC!31 ;BITS PLOP INTO WATER 212 | SFX_WATERPLOP_B EQU VC!32 ;BITS PLOP INTO WATER 213 | SFX_WATERPLOP_C EQU VC!33 ;BITS PLOP INTO WATER 214 | SFX_WATERPLOP_D EQU VC!90 ;BITS PLOP INTO WATER 215 | 216 | ;SFX__A EQU 0 217 | 218 | ; - SHELL EQUATES ---------------------------------------------------------- 219 | 220 | batmob_tween1_music equ 0 221 | batski_tween2_music equ 1 222 | batman_titles_music equ 2 223 | batman_gameover_music equ 3 224 | batman_continue_music equ 4 225 | batman_contdrv1_music equ 5 226 | batman_contdrv2_music equ 6 227 | batman_options_music equ 7 228 | batman_finale1_music equ 8 229 | batman_finale2_music equ 9 230 | batman_training_music equ 10 231 | batman_gameover2_music equ 11 232 | 233 | drive_1_music equ 12 234 | drive_2_music equ 13 235 | drive_3_music equ 14 236 | drive_4_music equ 15 237 | drive_5_music equ 16 238 | drive_boss_music equ 17 239 | 240 | PLATFORM_MUSIC EQU 18 ;TO 27 241 | 242 | 243 | 244 | load_titlepage equ 0 ;titlepage 245 | load_options equ 1 ;options screen 246 | load_tween1 equ 2 ;going to driving module 247 | load_tween2 equ 3 ;going to sewer module 248 | load_continue equ 4 ;penguin 249 | load_gameover1 equ 5 ;penguin 250 | load_finale1 equ 6 ;full game ending 251 | load_finale2 equ 7 ;driving only game ending 252 | load_demo1 equ 8 ;platform demo 253 | load_demo2 equ 9 ;driving demo 254 | load_gameover2 equ 10 ;catwoman 255 | load_training equ 11 ;training mode message 256 | load_contdrv1 equ 12 ;continue driving 257 | load_contdrv2 equ 13 ;continue sewer 258 | 259 | load_driving1 equ 16 ;load driving module #1 260 | load_driving2 equ 17 ;load driving module #2 261 | load_driving3 equ 18 ;load driving module #3 262 | load_driving4 equ 19 ;load driving module #4 263 | load_driving5 equ 20 ;load driving module #5 264 | 265 | load_platform1 equ 21 ;load platform module #1 266 | load_platform2 equ 22 ;load platform module #2 267 | load_platform3 equ 23 ;load platform module #3 268 | load_platform4 equ 24 ;load platform module #4 269 | load_platform5 equ 25 ;load platform module #5 270 | load_platform6 equ 26 ;load platform module #6 271 | 272 | shell_data equ $602c ;.w 273 | shell_rout equ $6036 274 | 275 | music_data1 equ $602c ;.w/.b 276 | music_data2 equ $602d ;.b 277 | music_rout equ $603a 278 | 279 | fader equ -1 280 | pause equ -2 281 | 282 | load_main equ $fffffb00 283 | 284 | load_next equ 0 285 | gameover equ 1 286 | quit_game equ 2 287 | 288 | tween1_flg equ -1 289 | tween2_flg equ -2 290 | chk_training equ -3 291 | 292 | shl_game_type equ $6f90 293 | shl_difficulty equ $6f91 294 | shl_tween1 equ $6fa0 295 | shl_tween2 equ $6fa1 296 | shl_last equ $6fa2 297 | shl_continue equ $6fa8 298 | shl_order_dex equ $6faa 299 | shl_flag1 equ $6fac 300 | 301 | shl_game_type equ $6f90 302 | shl_difficulty equ $6f91 303 | shl_drive_ctrl equ $6f92 304 | shl_plat_ctrl equ $6f93 305 | shl_lives equ $6f94 306 | shl_music equ $6f95 307 | shl_sfx equ $6f96 308 | shl_cheat1 equ $6f97 309 | shl_cheat2 equ $6f98 310 | shl_cheat3 equ $6f99 311 | shl_tween1 equ $6fa0 312 | shl_tween2 equ $6fa1 313 | shl_last equ $6fa2 314 | shl_continue equ $6fa8 315 | shl_order_dex equ $6faa 316 | shl_flag1 equ $6fac 317 | 318 | hard_continues equ 1 319 | norm_continues equ 3 320 | train_continues equ -1 321 | 322 | ; 323 | ; CALLING EXAMPLES SUB SIDE 324 | ; 325 | ; 326 | ;load_next move.w #load_next,shell_data 327 | ; jsr shell_rout 328 | ; 329 | ;gameover move.w #gameover,shell_data 330 | ; jsr shell_rout 331 | ; 332 | ;quit move.w #quit_game,shell_data 333 | ; jsr shell_rout 334 | ; 335 | ;music move.w #TUNE#(0-19),music_data1 336 | ; jsr music_rout 337 | ; 338 | ;fader move.w #fader,music_data1 339 | ; jsr music_rout 340 | ; jsr wait_5secs ;wait fro 5 seconds 341 | ; move.w #pause,music_data1 342 | ; jsr music_rout 343 | ; move.w #TUNE#(0-19),music_data1 344 | ; jsr music_rout 345 | ; 346 | 347 | 348 | ;; ** DATA AREAS ** ;; 349 | 350 | ; $6f80 - GAME VARS 351 | ; 352 | ; $6f90 - OPTION SCREEN VARS 353 | ; - $6f90 GAME TYPE (0-2) 354 | ; 0 = platform only 355 | ; 1 = driving only 356 | ; 2 = full game 357 | ; - $6f91 DIFFICULTY (0-3) 358 | ; 0 = training (unlimited continues) 359 | ; 1 = normal (3 continues) 360 | ; 2 = hard (1 continue) 361 | ; 3 = cheat mode 362 | ; - $6f92 DRIVING CONTROL (0-5) 363 | ; 0 = A:fire B:turbo C:missile 364 | ; 1 = A:fire B:missile C:turbo 365 | ; 2 = A:turbo B:fire C:missile 366 | ; 3 = A:turbo B:missile C:fire 367 | ; 4 = A:missile B:fire C:turbo 368 | ; 5 = A:missile B:turbo C:fire 369 | ; - $6f93 PLATFORM CONTROL (0-5) 370 | ; 0 = A:weapon B:hand C:jump 371 | ; 1 = A:weapon B:jump C:hand 372 | ; 2 = A:hand B:weapon C:jump 373 | ; 3 = A:hand B:jump C:weapon 374 | ; 4 = A:jump B:weapon C:hand 375 | ; 5 = A:jump B:hand C:weapon 376 | ; - $6f94 LIVES (copied to GAME VARS) 377 | ; - $6f95 MUSIC (0/1) 378 | ; 0 = off 379 | ; 1 = on 380 | ; - $6f96 SFX (0/1) 381 | ; 0 = off 382 | ; 1 = on 383 | ; - $6f97 CHEAT #1 FLAG 384 | ; 0 = off 385 | ; 1 = on 386 | ; - $6f98 CHEAT #2 FLAG 387 | ; 0 = off 388 | ; 1 = on 389 | ; - $6f99 CHEAT #3 FLAG 390 | ; 0 = off 391 | ; 1 = on 392 | ; 393 | ; 394 | ; $6fa0 - SHELL VARS 395 | ; - $6fa0 TWEEN #1 (0-2) 396 | ; 0 = going to driving module #1 397 | ; 1 = going to driving module #2 398 | ; 2 = going to driving module #3 399 | ; - $6fa1 TWEEN #2 (0-1) 400 | ; 0 = going to sewer module #1 401 | ; 1 = going to sewer module #2 402 | ; - $6fa2 LAST (store return load #) 403 | ; - $6fa4 POWER ON FLAG ("ChIg") 404 | ; - $6fa8 CONTINUES 405 | ; - $6faa ORDER_DEX (game run index) 406 | ; - $6fac FLAG1 407 | ; - $6fad FLAG2 408 | 409 | ; -------------------------------------------------------------------------- 410 | 411 | SMAP_ADDR_HARD EQU ($A0000-SWORD_RAM)/4 412 | SSCR0_ADDR EQU ($A0000-SWORD_RAM)/4 413 | SSCR1_ADDR EQU ($A6000-SWORD_RAM)/4 414 | SSCR2_ADDR EQU ($AC000-SWORD_RAM)/4 415 | RSC_TRACE_ADDR EQU ($80000-SWORD_RAM)/4 416 | SCL_TRACE_ADDR EQU ($B2000-SWORD_RAM)/4 417 | SMAP_ADDR EQU ($B2C00-SWORD_RAM)/4 418 | SLINE0 EQU (SMAP_ADDR-SMAP_ADDR_HARD)/8 419 | 420 | WRAM_SND_XBUFF EQU ($BFF00-SWORD_RAM) 421 | 422 | RSWIDTH EQU 400 423 | RSHEIGHT EQU 192 424 | RTILT EQU 96 425 | ZSTEP EQU 128 426 | 427 | ; -------------------------------------------------------------------------- 428 | 429 | MCOM_FRAME EQU 0 430 | MCOM_FBUSY EQU 2 431 | MCOM_JOY0 EQU 4 432 | MCOM_JOY1 EQU 6 433 | 434 | SCOM_FRAME EQU 0 435 | SCOM_PFADER EQU 2 436 | 437 | ; -------------------------------------------------------------------------- 438 | 439 | WRAM_DATA_M EQU MWORD_RAM+$10 440 | WRAM_DATA_S EQU SWORD_RAM+$10 441 | 442 | RSRESET 443 | 444 | WRAM_SCORE RS.B 4 445 | WRAM_LIFE RS.W 1 446 | WRAM_SPEED RS.W 1 447 | WRAM_SPDNUM RS.W 1 448 | WRAM_PDAMAGE RS.W 1 449 | WRAM_EDAMAGE RS.W 1 450 | WRAM_PX_XPOS RS.L 1 451 | WRAM_PX_YPOS RS.W 1 452 | WRAM_BGR_DLD RS.W 1 453 | IF TESTMODE 454 | WRAM_TEST0 RS.W 1 455 | WRAM_TEST1 RS.W 1 456 | WRAM_TEST2 RS.W 1 457 | WRAM_TEST3 RS.W 1 458 | WRAM_TEST4 RS.W 1 459 | WRAM_TEST5 RS.W 1 460 | WRAM_TEST6 RS.W 1 461 | WRAM_TEST7 RS.W 1 462 | IF GTESTPR 463 | WRAM_GTEST0 RS.W 1 464 | WRAM_GTEST1 RS.W 1 465 | WRAM_GTEST2 RS.W 1 466 | WRAM_GTEST3 RS.W 1 467 | WRAM_GTEST4 RS.W 1 468 | WRAM_GTEST5 RS.W 1 469 | WRAM_GTEST6 RS.W 1 470 | WRAM_GTEST7 RS.W 1 471 | WRAM_GTEST8 RS.W 1 472 | WRAM_GTEST9 RS.W 1 473 | WRAM_GTESTA RS.W 1 474 | WRAM_GTESTB RS.W 1 475 | WRAM_GTESTC RS.W 1 476 | WRAM_GTESTD RS.W 1 477 | WRAM_GTESTE RS.W 1 478 | WRAM_GTESTF RS.W 1 479 | ENDIF 480 | ENDIF 481 | WRAM_DLEN RS.B 0 482 | 483 | IF WRAM_DLEN>$70 484 | INFORM 3,"WRAM area too large (Size=$%h)",WRAM_DLEN 485 | ENDIF 486 | 487 | ; -------------------------------------------------------------------------- 488 | 489 | RC_FREP MACRO 490 | IF NARG=1 491 | DC.W $8000,\1-* 492 | MEXIT 493 | ENDIF 494 | DC.W $8000!\2,\1-* 495 | ENDM 496 | RC_BREP MACRO 497 | IF NARG=1 498 | DC.W $9000,\1-* 499 | MEXIT 500 | ENDIF 501 | DC.W $9000!\2,\1-* 502 | ENDM 503 | RC_FGO MACRO 504 | IF NARG=1 505 | DC.W $A000,\1-* 506 | MEXIT 507 | ENDIF 508 | DC.W $A000!\2,\1-* 509 | ENDM 510 | RC_BGO MACRO 511 | IF NARG=1 512 | DC.W $B000,\1-* 513 | MEXIT 514 | ENDIF 515 | DC.W $B000!\2,\1-* 516 | ENDM 517 | RC_FLAG MACRO 518 | IF NARG=1 519 | DC.W $C000,\1 520 | MEXIT 521 | ENDIF 522 | DC.W $C000!\2,\1 523 | ENDM 524 | 525 | RCLR EQU $80 526 | RREP EQU $A0 527 | RNEXT EQU $C0 528 | RFOR EQU $E0 529 | 530 | HSD EQU 0 ;Hill opperators 531 | HMD EQU 256/4 532 | HSU EQU 512/4 533 | HMU EQU 768/4 534 | HUD EQU 0 535 | HFULL EQU 32/4 536 | HHALF EQU 16/4 537 | HMID EQU 8/4 538 | 539 | MAPSECT MACRO 540 | IF NARG<>6 541 | INFORM 3,"Macro parameter error." 542 | ENDIF 543 | DC.W \1-*,\2-*,\3-*,\4-*,\5-*,\6-* 544 | ENDM 545 | 546 | RCSET MACRO 547 | IF NARG>6 548 | INFORM 3,"Too many arguments (NARG=%d)",NARG 549 | ENDIF 550 | DC.B NARG 551 | DC.B ($FF&(\1>>16)) 552 | DC.B ($FF&(\1>>8)) 553 | DC.B ($FF&\1) 554 | DC.B ($FF&(\2>>16)) 555 | DC.B ($FF&(\2>>8)) 556 | DC.B ($FF&\2) 557 | REPT (NARG-2) 558 | DC.B ($FF&(\3>>8)) 559 | DC.B ($FF&\3) 560 | SHIFT 561 | ENDR 562 | ENDM 563 | 564 | ; -------------------------------------------------------------------------- 565 | 566 | SIGNSET MACRO * 567 | IF NARG<1 568 | INFORM 3,"Macro parameter error." 569 | ENDIF 570 | \* EQU sindex 571 | sadr\#sindex ;= * 572 | sindex = sindex+1 573 | sdetcnt = 0 574 | DC.L \1 575 | IF NARG=1 576 | DC.L 0 577 | MEXIT 578 | ENDIF 579 | DC.L \2 580 | ENDM 581 | 582 | SIGNDET MACRO 583 | IF NARG<>9 584 | INFORM 3,"Macro parameter error." 585 | ENDIF 586 | sdetcnt = sdetcnt+1 587 | sval0\#sdetcnt = \2 588 | sval3\#sdetcnt = \3 589 | sval1\#sdetcnt = (\4*$100)+((\5*XRATIO_TO)/XRATIO_FROM) 590 | sval4\#sdetcnt = (\6*XRATIO_TO)/XRATIO_FROM 591 | sval2\#sdetcnt = (\7*$100)+((\8*YRATIO_TO)/YRATIO_FROM) 592 | sval5\#sdetcnt = (\9*YRATIO_TO)/YRATIO_FROM 593 | sval6\#sdetcnt = \1 594 | ENDM 595 | 596 | SIGNGRS MACRO 597 | DC.W sdetcnt 598 | sdetset = 0 599 | REPT sdetcnt 600 | sdetset = sdetset+1 601 | DC.W sval0\#sdetset 602 | DC.L sval1\#sdetset 603 | DC.L sval2\#sdetset 604 | DC.W sval3\#sdetset 605 | DC.L sval4\#sdetset 606 | DC.L sval5\#sdetset 607 | DC.L sval6\#sdetset 608 | ENDR 609 | DC.W NARG 610 | REPT NARG 611 | DC.L GLIST+\1 612 | SHIFT 613 | ENDR 614 | ENDM 615 | 616 | SIGNLIST MACRO 617 | SICOUNT = 0 618 | REPT SINDEX 619 | DC.W SADR\#SICOUNT-* 620 | SICOUNT = SICOUNT+1 621 | ENDR 622 | ENDM 623 | 624 | PDATA0 MACRO * 625 | IF NARG<>3 626 | INFORM 3,"Macro parameter error." 627 | ENDIF 628 | \* EQU SINDEX/2 629 | PADR\#SINDEX ;= * 630 | SINDEX = SINDEX+1 631 | DC.L \1 632 | DC.B \2 633 | DC.B \3 634 | ENDM 635 | 636 | PDATA1 MACRO * 637 | IF NARG<>3 638 | INFORM 3,"Macro parameter error." 639 | ENDIF 640 | PADR\#SINDEX ;= * 641 | SINDEX = SINDEX+1 642 | DC.L \1 643 | DC.B \2 644 | DC.B \3 645 | ENDM 646 | 647 | PSCALER MACRO 648 | IF NARG<>5 649 | INFORM 3,"Macro parameter error." 650 | ENDIF 651 | DC.W \1*$8 652 | DC.W (SLINE0+\2)*$8 653 | DC.L \3*$800 654 | DC.W \4 655 | DC.L GLIST+\5 656 | ENDM 657 | 658 | PATCHLIST MACRO 659 | SICOUNT = 0 660 | REPT SINDEX 661 | DC.W PADR\#SICOUNT-* 662 | SICOUNT = SICOUNT+1 663 | ENDR 664 | ENDM 665 | 666 | ; -------------------------------------------------------------------------- 667 | 668 | XYRATIO MACRO 669 | IF NARG<>4 670 | INFORM 3,"Macro parameter error." 671 | ENDIF 672 | XRATIO_FROM = \1 673 | XRATIO_TO = \2*$100 674 | YRATIO_FROM = \3 675 | YRATIO_TO = \4*$100 676 | ENDM 677 | 678 | RATIO MACRO 679 | IF NARG<>3 680 | INFORM 3,"Macro parameter error." 681 | ENDIF 682 | IF \1=0 683 | DC.L 0 684 | MEXIT 685 | ENDIF 686 | DC.L (\3*\2*$100)/\1 687 | ENDM 688 | 689 | XYPOS MACRO 690 | IF NARG<>2 691 | INFORM 3,"Macro parameter error." 692 | ENDIF 693 | DC.L \1*$100 694 | DC.L \2*$100 695 | ENDM 696 | 697 | PLACER MACRO 698 | IF NARG<>4 699 | INFORM 3,"Macro parameter error." 700 | ENDIF 701 | DC.L \1*$100 702 | DC.L (\2*YRATIO_TO)/YRATIO_FROM 703 | DC.L (\3*XRATIO_TO)/XRATIO_FROM 704 | DC.L (\4*YRATIO_TO)/YRATIO_FROM 705 | ENDM 706 | 707 | XSIZE MACROS 708 | DC.L (\1*XRATIO_TO)/XRATIO_FROM 709 | YSIZE MACROS 710 | DC.L (\1*YRATIO_TO)/YRATIO_FROM 711 | 712 | XYSIZE MACRO 713 | IF NARG<>2 714 | INFORM 3,"Macro parameter error." 715 | ENDIF 716 | DC.L (\1*XRATIO_TO)/XRATIO_FROM 717 | DC.L (\2*YRATIO_TO)/YRATIO_FROM 718 | ENDM 719 | 720 | XTOX MACRO 721 | IF NARG<>2 722 | INFORM 3,"Macro parameter error." 723 | ENDIF 724 | DC.L (\1*XRATIO_TO)/XRATIO_FROM 725 | DC.L (\2*XRATIO_TO)/XRATIO_FROM 726 | ENDM 727 | 728 | YTOY MACRO 729 | IF NARG<>2 730 | INFORM 3,"Macro parameter error." 731 | ENDIF 732 | DC.L (\1*YRATIO_TO)/YRATIO_FROM 733 | DC.L (\2*YRATIO_TO)/YRATIO_FROM 734 | ENDM 735 | 736 | SCALER MACRO 737 | IF NARG<>5 738 | INFORM 3,"Macro parameter error." 739 | ENDIF 740 | DC.L \3*$800 741 | DC.W \1*$8 742 | DC.L \4*$800 743 | DC.W (SLINE0+\2)*$8 744 | DC.L GLIST+\5 745 | ENDM 746 | 747 | SCALERM MACRO 748 | IF NARG<>5 749 | INFORM 3,"Macro parameter error." 750 | ENDIF 751 | DC.L \3*-$800 752 | DC.W ((\3+\1)*$8)-1 753 | DC.L \4*$800 754 | DC.W (SLINE0+\2)*$8 755 | DC.L GLIST+\5 756 | ENDM 757 | 758 | ; -------------------------------------------------------------------------- 759 | 760 | OBJCNTR MACRO 761 | IF NARG<>4 762 | INFORM 3,"Macro parameter error." 763 | ENDIF 764 | OBJ_CX1 = \1 765 | OBJ_CY1 = \2 766 | OBJ_CX2 = \3 767 | OBJ_CY2 = \4 768 | OBJ_CXOFF = (((\3+\1*2)*XRATIO_TO)/XRATIO_FROM)/2 769 | OBJ_CYOFF = ((\4+\2)*YRATIO_TO)/-YRATIO_FROM 770 | ENDM 771 | 772 | OBJSCL MACRO 773 | IF NARG<>7 774 | INFORM 3,"Macro parameter error." 775 | ENDIF 776 | DC.L -OBJ_CXOFF+((\1*XRATIO_TO)/XRATIO_FROM) 777 | DC.L OBJ_CYOFF+((\2*YRATIO_TO)/YRATIO_FROM) 778 | DC.L (\5*XRATIO_TO)/XRATIO_FROM 779 | DC.L (\6*YRATIO_TO)/YRATIO_FROM 780 | DC.L \5*$800 781 | DC.W \3*$8 782 | DC.L \6*$800 783 | DC.W (SLINE0+\4)*$8 784 | DC.L GLIST+\7 785 | ENDM 786 | 787 | OBJSCLM MACRO 788 | IF NARG<>7 789 | INFORM 3,"Macro parameter error." 790 | ENDIF 791 | DC.L OBJ_CXOFF-(((\5+\1)*XRATIO_TO)/XRATIO_FROM) 792 | DC.L OBJ_CYOFF+((\2*YRATIO_TO)/YRATIO_FROM) 793 | DC.L (\5*XRATIO_TO)/XRATIO_FROM 794 | DC.L (\6*YRATIO_TO)/YRATIO_FROM 795 | DC.L \5*-$800 796 | DC.W ((\5+\3)*$8)-1 797 | DC.L \6*$800 798 | DC.W (SLINE0+\4)*$8 799 | DC.L GLIST+\7 800 | ENDM 801 | 802 | OBJSCLF MACRO 803 | IF NARG<>7 804 | INFORM 3,"Macro parameter error." 805 | ENDIF 806 | DC.L -OBJ_CXOFF+((\1*XRATIO_TO)/XRATIO_FROM) 807 | DC.L OBJ_CYOFF+((\2*YRATIO_TO)/YRATIO_FROM) 808 | DC.L (\5*XRATIO_TO)/XRATIO_FROM 809 | DC.L (\6*YRATIO_TO)/YRATIO_FROM 810 | DC.L \5*-$800 811 | DC.W \3*$8 812 | DC.L \6*$800 813 | DC.W (SLINE0+\4)*$8 814 | DC.L GLIST+\7 815 | ENDM 816 | 817 | OBJOFFS MACRO 818 | IF NARG<>2 819 | INFORM 3,"Macro parameter error." 820 | ENDIF 821 | DC.L (\1*XRATIO_TO)/XRATIO_FROM 822 | DC.L (\2*YRATIO_TO)/YRATIO_FROM 823 | ENDM 824 | 825 | OBJPOS MACRO 826 | IF NARG<2 827 | INFORM 3,"Macro parameter error." 828 | ENDIF 829 | DC.L -OBJ_CXOFF+((\1*XRATIO_TO)/XRATIO_FROM) 830 | DC.L OBJ_CYOFF+((\2*YRATIO_TO)/YRATIO_FROM) 831 | IF NARG=3 832 | DC.W \3-* 833 | ENDIF 834 | ENDM 835 | 836 | OBJPOSM MACRO 837 | IF NARG<2 838 | INFORM 3,"Macro parameter error." 839 | ENDIF 840 | DC.L OBJ_CXOFF-(((\3+\1)*XRATIO_TO)/XRATIO_FROM) 841 | DC.L OBJ_CYOFF+((\2*YRATIO_TO)/YRATIO_FROM) 842 | IF NARG=4 843 | DC.W \4-* 844 | ENDIF 845 | ENDM 846 | 847 | DAMPTS MACRO 848 | IF NARG<>9 849 | INFORM 3,"Macro parameter error." 850 | ENDIF 851 | DC.W \7>>4 852 | DC.L -OBJ_CXOFF+(((\2+\2-\8)*XRATIO_TO)/XRATIO_FROM) 853 | DC.L OBJ_CYOFF+((\9*YRATIO_TO)/YRATIO_FROM) 854 | DC.W \4>>4 855 | DC.L -OBJ_CXOFF+(((\2+\2-\5)*XRATIO_TO)/XRATIO_FROM) 856 | DC.L OBJ_CYOFF+((\6*YRATIO_TO)/YRATIO_FROM) 857 | DC.W \1&$F 858 | DC.L -OBJ_CXOFF+((\2*XRATIO_TO)/XRATIO_FROM) 859 | DC.L OBJ_CYOFF+((\3*YRATIO_TO)/YRATIO_FROM) 860 | DC.W \4&$F 861 | DC.L -OBJ_CXOFF+((\5*XRATIO_TO)/XRATIO_FROM) 862 | DC.L OBJ_CYOFF+((\6*YRATIO_TO)/YRATIO_FROM) 863 | DC.W \7&$F 864 | DC.L -OBJ_CXOFF+((\8*XRATIO_TO)/XRATIO_FROM) 865 | DC.L OBJ_CYOFF+((\9*YRATIO_TO)/YRATIO_FROM) 866 | ENDM 867 | 868 | DAMPTSM MACRO 869 | IF NARG<>9 870 | INFORM 3,"Macro parameter error." 871 | ENDIF 872 | DC.W \7&$F 873 | DC.L OBJ_CXOFF-((\8*XRATIO_TO)/XRATIO_FROM) 874 | DC.L OBJ_CYOFF+((\9*YRATIO_TO)/YRATIO_FROM) 875 | DC.W \4&$F 876 | DC.L OBJ_CXOFF-((\5*XRATIO_TO)/XRATIO_FROM) 877 | DC.L OBJ_CYOFF+((\6*YRATIO_TO)/YRATIO_FROM) 878 | DC.W \1>>4 879 | DC.L OBJ_CXOFF-((\2*XRATIO_TO)/XRATIO_FROM) 880 | DC.L OBJ_CYOFF+((\3*YRATIO_TO)/YRATIO_FROM) 881 | DC.W \4>>4 882 | DC.L OBJ_CXOFF-(((\2+\2-\5)*XRATIO_TO)/XRATIO_FROM) 883 | DC.L OBJ_CYOFF+((\6*YRATIO_TO)/YRATIO_FROM) 884 | DC.W \7>>4 885 | DC.L OBJ_CXOFF-(((\2+\2-\8)*XRATIO_TO)/XRATIO_FROM) 886 | DC.L OBJ_CYOFF+((\9*YRATIO_TO)/YRATIO_FROM) 887 | ENDM 888 | 889 | ; -------------------------------------------------------------------------- 890 | 891 |  -------------------------------------------------------------------------------- /Source/BATMAN.PRJ: -------------------------------------------------------------------------------- 1 | CD-ROM BATMAN. 2 | 3 | [snmake] 4 | 5 | !ifdef(SOUND_INC) 6 | T7:; BRIANS\CDAD_Z.S 7 | SNASMZ80 /P BRIANS\CDAD_Z.S,BRIANS\CDAD_Z.Z80 8 | !endif 9 | 10 | T7:; BATMAN.68K 11 | 12 | SNASM68k $! /I BATMAN.68K,D:BATMAN.CPE,D:BATMAN.SYM 13 | SEND D:BATMAN.CPE 14 | 15 | [eval] 16 | 17 | SNBUG68k /v$$$ D:BATMAN.SYM 18 | 19 | [debug] 20 | 21 | SEND D:BATMAN.CPE 22 |  -------------------------------------------------------------------------------- /Source/BATSNASM.PRJ: -------------------------------------------------------------------------------- 1 | CD-ROM BATMAN. [snasm cd-rom development system] 2 | 3 | [snmake] 4 | 5 | T7:; BATMAN.68K 6 | 7 | SNASM68k $! /I SN_SWAIT.68K,T5: 8 | SNASM68k $! /I SN_MBAT.68K,T7:,MAIN.SYM 9 | SNASM68k $! /I SN_SBAT.68K,T5:,SUB.SYM 10 | 11 | !ifdef(Debugstr) 12 | SNBUG68k /t5 SUB.SYM 13 | ; SNBUG68k /t4 MAIN.SYM 14 | !endif 15 | 16 | [eval] 17 | 18 | SNBUG68k /v$$$ MAIN.SYM SUB.SYM 19 | 20 | [debug] 21 | 22 | SNBUG68k /t5 SUB.SYM 23 | ; SNBUG68k /t4 MAIN.SYM 24 |  25 | -------------------------------------------------------------------------------- /Source/BAT_IP.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/BAT_IP.68K -------------------------------------------------------------------------------- /Source/BAT_SP.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/BAT_SP.68K -------------------------------------------------------------------------------- /Source/BIP_PAL.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/BIP_PAL.68K -------------------------------------------------------------------------------- /Source/BLANK.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/BLANK.68K -------------------------------------------------------------------------------- /Source/BLEV1.PRJ: -------------------------------------------------------------------------------- 1 | CD-ROM BATMAN. LEVEL-1 2 | 3 | [snmake] 4 | 5 | T7:; MAI_AP.68K 6 | 7 | SNASM68k /P MAI_AP.68K,B:MD1_AP.BIN 8 | 9 | T7:; SUB_AP.68K 10 | 11 | SNASM68k /P SUB_AP.68K,B:SD1_AP.BIN 12 | 13 |  -------------------------------------------------------------------------------- /Source/BLEV2.PRJ: -------------------------------------------------------------------------------- 1 | CD-ROM BATMAN. LEVEL-2 2 | 3 | [snmake] 4 | 5 | T7:; MAI_AP.68K 6 | 7 | SNASM68k /P MAI_AP.68K,B:MD2_AP.BIN 8 | 9 | T7:; SUB_AP.68K 10 | 11 | SNASM68k /P SUB_AP.68K,B:SD2_AP.BIN 12 | 13 |  -------------------------------------------------------------------------------- /Source/BLEV3.PRJ: -------------------------------------------------------------------------------- 1 | CD-ROM BATMAN. LEVEL-3 2 | 3 | [snmake] 4 | 5 | T7:; MAI_AP.68K 6 | 7 | SNASM68k /P MAI_AP.68K,B:MD3_AP.BIN 8 | 9 | T7:; SUB_AP.68K 10 | 11 | SNASM68k /P SUB_AP.68K,B:SD3_AP.BIN 12 | 13 |  -------------------------------------------------------------------------------- /Source/BLEV4.PRJ: -------------------------------------------------------------------------------- 1 | CD-ROM BATMAN. LEVEL-4 2 | 3 | [snmake] 4 | 5 | T7:; MAI_AP.68K 6 | 7 | SNASM68k /P MAI_AP.68K,B:MD4_AP.BIN 8 | 9 | T7:; SUB_AP.68K 10 | 11 | SNASM68k /P SUB_AP.68K,B:SD4_AP.BIN 12 | 13 |  -------------------------------------------------------------------------------- /Source/BLEV5.PRJ: -------------------------------------------------------------------------------- 1 | CD-ROM BATMAN. LEVEL-5 2 | 3 | [snmake] 4 | 5 | T7:; MAI_AP.68K 6 | 7 | SNASM68k /P MAI_AP.68K,B:MD5_AP.BIN 8 | 9 | T7:; SUB_AP.68K 10 | 11 | SNASM68k /P SUB_AP.68K,B:SD5_AP.BIN 12 | 13 |  -------------------------------------------------------------------------------- /Source/BRIANS/BAFBRN0.CD8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/BRIANS/BAFBRN0.CD8 -------------------------------------------------------------------------------- /Source/BRIANS/BANG1.CD8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/BRIANS/BANG1.CD8 -------------------------------------------------------------------------------- /Source/BRIANS/BATMAN.EQU: -------------------------------------------------------------------------------- 1 | 2 | ; -------------------------------------------------------------------------- 3 | 4 | LEVEL = 4 5 | STAGE = 1 6 | 7 | TESTMODE = NO 8 | 9 | TESTPR = NO&TESTMODE 10 | GTESTPR = NO&TESTPR 11 | 12 | TESTRAST = NO&TESTMODE 13 | TESTRAS0 = YO&TESTRAST 14 | TESTRAS1 = YO&TESTRAST 15 | TESTRAS2 = YO&TESTRAST 16 | 17 | SOUND_INC = YO 18 | CD_DA = YO 19 | BATCD_SHELL = NO 20 | 21 | SNASMCD_DEV = NO 22 | 23 | SFX_MASTER_LEV = 110 24 | FM_INC = YO 25 | MONO_SFX = NO 26 | CSFX = YO 27 | CSFX1 = YO 28 | BMSFX = YO 29 | 30 | TIME = YO 31 | SLOWMOTION = NO 32 | ENEMYS = YO 33 | REVERSE = NO 34 | DAMAGE = YO 35 | 36 | BENDS = YO 37 | HILLS = YO 38 | WAVES = YO 39 | 40 | ; -------------------------------------------------------------------------- 41 | 42 | IF BENDS 43 | TURN_INTENSITY EQU 8000 44 | ELSE 45 | TURN_INTENSITY EQU 0 46 | ENDIF 47 | 48 | IF HILLS 49 | HILL_INTENSITY EQU 10000 50 | ELSE 51 | HILL_INTENSITY EQU 0 52 | ENDIF 53 | 54 | IF LEVEL<4 55 | VIEW_PATCHES EQU 32 56 | ELSE 57 | VIEW_PATCHES EQU 40 58 | ENDIF 59 | 60 | ; -------------------------------------------------------------------------- 61 | 62 | SCORE_ENEMY EQU $000500 63 | SCORE_MIDBOSS EQU $002000 64 | SCORE_ENDBOSS EQU $005000 65 | SCORE_SMALLOBJ EQU $000200 66 | SCORE_ROADOBJ EQU $000100 67 | 68 | ; -------------------------------------------------------------------------- 69 | 70 | VC EQU $80 71 | SFX_BASHBLD_A EQU VC!2 ;BASH BUILDING "A" 72 | SFX_BASHPOLE_A EQU VC!44 ;BASH POLE "A" [metallic] 73 | SFX_BASHPOLE_B EQU VC!75 ;BASH POLE "B" [wooden] 74 | SFX_BASHTREE_A EQU VC!45 ;BASH TREE/BUSH "A" 75 | 76 | SFX_BASHOBJ_A EQU VC!5 ;BASH OBJECT "A" 77 | SFX_BASHOBJ_B EQU VC!29 ;BASH OBJECT "B" 78 | 79 | SFX_BRFIRE_A EQU 10 ;BAT-ROCKET FIRE 80 | 81 | SFX_BITSGND_A EQU VC!11 ;EXPLOSION METALIC PARTS HIT GROUND "A" 82 | SFX_BITSGND_B EQU VC!47 ;EXPLOSION METALIC PARTS HIT GROUND "B" 83 | SFX_BITSGND_C EQU VC!48 ;EXPLOSION METALIC PARTS HIT GROUND "C" 84 | SFX_BITSGND_D EQU VC!28 ;EXPLOSION METALIC PARTS HIT GROUND "D" 85 | SFX_BITSGND_E EQU VC!37 ;EXPLOSION METALIC PARTS HIT GROUND "A" 86 | SFX_BITSGND_F EQU VC!38 ;EXPLOSION METALIC PARTS HIT GROUND "B" 87 | SFX_BITSGND_G EQU VC!39 ;EXPLOSION METALIC PARTS HIT GROUND "C" 88 | SFX_BITSGND_H EQU VC!40 ;EXPLOSION METALIC PARTS HIT GROUND "D" 89 | 90 | SFX_EXPLDBOSS_A EQU 12 ;EXPLOSION BOSS FINAL 91 | SFX_EXPLDCAR_A EQU 13 ;EXPLOSION CAR FINAL 92 | SFX_EXPLDDAM_A EQU 14 ;EXPLOSION DAMAGE 93 | SFX_EXPLDBLD_A EQU VC!15 ;EXPLOSION BUILD-UP TO FINAL 94 | 95 | SFX_ROCKET_A EQU VC!34 ;BIKER LAUNCHS ROCKET AT BATMOBILE 96 | 97 | SFX_FTFLMHIT_A EQU 41 ;FIRETRUCK FLAME HIT BATMOBILE 98 | SFX_FTFLAME_A EQU VC!43 ;FIRETRUCK FLAME THROWER 99 | 100 | SFX_TRUCKHORN_A EQU 49 ;BIG TRUCKS "GET OUTTA THE WAY" HORN 101 | SFX_TRUCKHORN_B EQU 49 ; 102 | SFX_TRUCKHORN_C EQU 49 ; 103 | SFX_TRUCKHORN_D EQU 49 ; 104 | 105 | 106 | ; -------------------------------------------------------------------------- 107 | ; LEVELS 1,2,3 SFX 108 | ;================= 109 | 110 | SFX_BDFIRE_A EQU 6 ;BAT-DISC FIRE 111 | SFX_BDHIT_A EQU 54 ;BAT-DISC HIT OBJECT 112 | SFX_BDHIT_B EQU 42 ;BAT-DISC HIT GROUND/BUILDING 113 | SFX_BMLAND_A EQU 16 ;BATMOBILE LANDING THUD 114 | 115 | SFX_EBIKE_A EQU 18 ;ENGINE BIKE 116 | SFX_EBASHER_A EQU 19 ;ENGINE BASHER 117 | SFX_EVILLAN_A EQU 20 ;ENGINE VILLAN red/ flamethrower 118 | SFX_EJACK_A EQU 21 ;ENGINE JACK'N'BOX 119 | SFX_EFTRUCK_A EQU 22 ;ENGINE FIRETRUCK 120 | SFX_ETANKER_A EQU 23 ;ENGINE FUEL TANKER 121 | SFX_ECANNON_A EQU 24 ;ENGINE CANNON 122 | SFX_EMINICAN_A EQU 25 ;ENGINE MINI-CANNON 123 | SFX_EPCVAN_A EQU 26 ;ENGINE PROFANE CANISTER VAN 124 | SFX_EICETRUCK_A EQU 27 ;ENGINE ICETRUCK 125 | 126 | SFX_MLTVAIR_A EQU 33 ;MOLOTOV-COCKTAIL IN AIR 127 | SFX_JBDOOR_A EQU VC!35 ;J'N'B DOOR CLOSE 128 | SFX_JBSPRING_A EQU VC!30 ;J'N'B SPRING OUT 129 | SFX_JBSPRING_B EQU VC!31 ;J'N'B SPRING IN 130 | SFX_JBSPRING_C EQU VC!32 ;J'N'B SPRING LEFT/RIGHT 131 | SFX_JACKHEAD_A EQU 56 132 | SFX_FTLADDER_A EQU VC!36 ;FIRETRUCK LADDER OPEN/CLOSE 133 | SFX_FTAXEAIR_A EQU VC!55 ;FIRETRUCK AXE IN AIR 134 | SFX_FTAXEHIT_A EQU VC!56 ;FIRETRUCK AXE HIT 135 | 136 | SFX_TRASHHIT_A EQU VC!46 ;CAR HITS TRASHCAN 137 | SFX_TRASHGND_A EQU VC!50 ;TRASHCAN HITS GROUND 138 | SFX_TRASHGND_B EQU VC!51 ;TRASHCAN HITS GROUND 139 | SFX_TRASHGND_C EQU VC!52 ;TRASHCAN HITS GROUND 140 | SFX_TRASHGND_D EQU VC!53 ;TRASHCAN HITS GROUND 141 | SFX_CONEHIT_A EQU 57 ;CAR HITS CONE 142 | SFX_CONEGND_A EQU 58 ;CONE HITS GROUND 143 | SFX_CONEGND_B EQU 59 ;CONE HITS GROUND 144 | SFX_CONEGND_C EQU 60 ;CONE HITS GROUND 145 | SFX_CONEGND_D EQU 61 ;CONE HITS GROUND 146 | SFX_BLOCKHIT_A EQU VC!82 ;CAR HITS ROAD BLOCKAGE 147 | SFX_BLOCKGND_A EQU VC!83 ;ROAD BLOCKAGE HITS GROUND 148 | SFX_BLOCKGND_B EQU VC!84 ;ROAD BLOCKAGE HITS GROUND 149 | SFX_BLOCKGND_C EQU VC!85 ;ROAD BLOCKAGE HITS GROUND 150 | SFX_BLOCKGND_D EQU VC!86 ;ROAD BLOCKAGE HITS GROUND 151 | SFX_WLIGHTHIT_A EQU VC!57 ;CAR HITS ROAD WORKLIGHT 152 | SFX_WLIGHTGND_A EQU VC!58 ;ROAD WORKLIGHT HITS GROUND 153 | SFX_WLIGHTGND_B EQU VC!59 ;ROAD WORKLIGHT HITS GROUND 154 | SFX_WLIGHTGND_C EQU VC!60 ;ROAD WORKLIGHT HITS GROUND 155 | SFX_WLIGHTGND_D EQU VC!61 ;ROAD WORKLIGHT HITS GROUND 156 | 157 | SFX_CIRCUS_A EQU VC!88 ;CIRCUS ORGAN MUSIC IN DISTANCE 158 | SFX_BATNOISE_A EQU VC!76 ;BAT SQUEAKS FOR TUNNEL 159 | SFX_CANFIRE_A EQU VC!77 ;CANNON BOSS FIRES 160 | SFX_MCANFIRE_A EQU VC!78 ;MINI-CANNON FIRES 161 | 162 | SFX_POWERUP_A EQU VC!79 ;COLLECT POWERUP 163 | SFX_AAARG_A EQU VC!80 ;ENEMY GUY FALLS OFF LADDER 164 | SFX_GUYGND_A EQU VC!81 ;ENEMY GUY HITS GROUND 165 | SFX_ICEDROP_A EQU VC!73 ;ICE TRUCK DROPS ICE BLOCK 166 | SFX_ICEBREAK_A EQU VC!74 ;ICE BLOCK FALLS TO BITS 167 | SFX_ICEGND_A EQU VC!69 ;ICE BITS HIT GROUND 168 | SFX_ICEGND_B EQU VC!70 ;ICE BITS HIT GROUND 169 | SFX_ICEGND_C EQU VC!71 ;ICE BITS HIT GROUND 170 | SFX_ICEGND_D EQU VC!72 ;ICE BITS HIT GROUND 171 | SFX_TARGETHIT_A EQU 64 ;ICE TRUCK TARGET HIT 172 | SFX_PCDROP_A EQU VC!62 ;PROFANE CANISTER RELEASED 173 | SFX_PCGND_A EQU 63 ;PROFANE CANISTER HITS GROUND 174 | 175 | ;-------------------------------------------------------------------------- 176 | ; LEVELS 4,5 SFX 177 | ;================= 178 | 179 | SFX_ETOYBOAT_A EQU 18 ;csfx ENGINE SMALL TOY BOATS 180 | SFX_EBOAT_A EQU 19 ;csfx ENGINE BOAD 181 | SFX_EJETSKI_A EQU 20 ;csfx ENGINE JETSKI 182 | SFX_ESKULL_A EQU 21 ;csfx ENGINE SKULL 183 | SFX_EDUCK_A EQU 22 ;csfx ENGINE DUCKBOAT 184 | 185 | SFX_ERHOLE_A EQU 27 ;csfx ROTATING HOLE 186 | 187 | SFX_SPLASH_A EQU 16 ;LANDING WATER SPLASH 188 | SFX_BSFIRE_A EQU VC!6 ;BATSKI SMALL ROCKET FIRE 189 | SFX_BSHIT_A EQU VC!54 ;BATSKI SMALL ROCKET HIT OBJECT 190 | SFX_BSHIT_B EQU VC!42 ;BATSKI SMALL ROCKET HIT GROUND/BUILDING 191 | SFX_METWALL_A EQU VC!44 ;BATSKI HITS SEWER METALIC WALL 192 | SFX_METPIPE_A EQU VC!46 ;BATSKI HITS SEWER PIPE 193 | SFX_METRHOLE_A EQU VC!47 ;BATSKI HITS SEWER ROTATING HOLE 194 | SFX_METCRUNCH_A EQU VC!48 ;BATSKI HITS CUNCHING DOORS 195 | SFX_BASHBOUY_A EQU VC!49 ;BATSKI HITS BOUY 196 | SFX_BASHICE_A EQU 50 ;BATSKI HITS ICEBERG 197 | SFX_RAMP_A EQU 62 ;BATSKI JUMPS FROM RAMP 198 | 199 | SFX_BOUYBELL_A EQU VC!89 ;BELL "DONNNGGG" FOR SWINGING BOUY 200 | SFX_LAZERFIRE_A EQU VC!77 ;SKULL FIRES LAZER 201 | SFX_LAZERHIT_A EQU VC!41 ;LAZER HITS BATSKI 202 | SFX_SKULLOPEN_A EQU VC!35 ;SKULL MOUTH OPENS 203 | SFX_SKULLCLOS_A EQU VC!36 ;SKULL MOUTH CLOSES 204 | SFX_DOORCLANG_A EQU VC!45 ;CRUNCHER DOORS BASH TOGETHER WHEN CLOSING 205 | SFX_BERGBREAK_A EQU VC!74 ;ICE BERG GETS BLOWN UP 206 | SFX_WATERPLOP_A EQU VC!31 ;BITS PLOP INTO WATER 207 | SFX_WATERPLOP_B EQU VC!32 ;BITS PLOP INTO WATER 208 | SFX_WATERPLOP_C EQU VC!33 ;BITS PLOP INTO WATER 209 | SFX_WATERPLOP_D EQU VC!90 ;BITS PLOP INTO WATER 210 | 211 | ;SFX__A EQU 0 212 | 213 | ; - SHELL EQUATES ---------------------------------------------------------- 214 | 215 | batmob_tween1_music equ 0 216 | batski_tween2_music equ 1 217 | batman_titles_music equ 2 218 | batman_gameover_music equ 3 219 | batman_continue_music equ 4 220 | batman_contdrv1_music equ 5 221 | batman_contdrv2_music equ 6 222 | batman_options_music equ 7 223 | batman_finale1_music equ 8 224 | batman_finale2_music equ 9 225 | batman_training_music equ 10 226 | batman_gameover2_music equ 11 227 | 228 | drive_1_music equ 12 229 | drive_2_music equ 13 230 | drive_3_music equ 14 231 | drive_4_music equ 15 232 | drive_5_music equ 16 233 | drive_boss_music equ 17 234 | 235 | PLATFORM_MUSIC EQU 18 ;TO 27 236 | 237 | 238 | 239 | load_titlepage equ 0 ;titlepage 240 | load_options equ 1 ;options screen 241 | load_tween1 equ 2 ;going to driving module 242 | load_tween2 equ 3 ;going to sewer module 243 | load_continue equ 4 ;penguin 244 | load_gameover1 equ 5 ;penguin 245 | load_finale1 equ 6 ;full game ending 246 | load_finale2 equ 7 ;driving only game ending 247 | load_demo1 equ 8 ;platform demo 248 | load_demo2 equ 9 ;driving demo 249 | load_gameover2 equ 10 ;catwoman 250 | load_training equ 11 ;training mode message 251 | load_contdrv1 equ 12 ;continue driving 252 | load_contdrv2 equ 13 ;continue sewer 253 | 254 | load_driving1 equ 16 ;load driving module #1 255 | load_driving2 equ 17 ;load driving module #2 256 | load_driving3 equ 18 ;load driving module #3 257 | load_driving4 equ 19 ;load driving module #4 258 | load_driving5 equ 20 ;load driving module #5 259 | 260 | load_platform1 equ 21 ;load platform module #1 261 | load_platform2 equ 22 ;load platform module #2 262 | load_platform3 equ 23 ;load platform module #3 263 | load_platform4 equ 24 ;load platform module #4 264 | load_platform5 equ 25 ;load platform module #5 265 | load_platform6 equ 26 ;load platform module #6 266 | 267 | shell_data equ $602c ;.w 268 | shell_rout equ $6036 269 | 270 | music_data1 equ $602c ;.w/.b 271 | music_data2 equ $602d ;.b 272 | music_rout equ $603a 273 | 274 | fader equ -1 275 | pause equ -2 276 | 277 | load_main equ $fffffb00 278 | 279 | load_next equ 0 280 | gameover equ 1 281 | quit_game equ 2 282 | 283 | tween1_flg equ -1 284 | tween2_flg equ -2 285 | chk_training equ -3 286 | 287 | shl_game_type equ $6f90 288 | shl_difficulty equ $6f91 289 | shl_tween1 equ $6fa0 290 | shl_tween2 equ $6fa1 291 | shl_last equ $6fa2 292 | shl_continue equ $6fa8 293 | shl_order_dex equ $6faa 294 | shl_flag1 equ $6fac 295 | 296 | shl_game_type equ $6f90 297 | shl_difficulty equ $6f91 298 | shl_drive_ctrl equ $6f92 299 | shl_plat_ctrl equ $6f93 300 | shl_lives equ $6f94 301 | shl_music equ $6f95 302 | shl_sfx equ $6f96 303 | shl_cheat1 equ $6f97 304 | shl_cheat2 equ $6f98 305 | shl_cheat3 equ $6f99 306 | shl_tween1 equ $6fa0 307 | shl_tween2 equ $6fa1 308 | shl_last equ $6fa2 309 | shl_continue equ $6fa8 310 | shl_order_dex equ $6faa 311 | shl_flag1 equ $6fac 312 | 313 | hard_continues equ 1 314 | norm_continues equ 3 315 | train_continues equ -1 316 | 317 | ; 318 | ; CALLING EXAMPLES SUB SIDE 319 | ; 320 | ; 321 | ;load_next move.w #load_next,shell_data 322 | ; jsr shell_rout 323 | ; 324 | ;gameover move.w #gameover,shell_data 325 | ; jsr shell_rout 326 | ; 327 | ;quit move.w #quit_game,shell_data 328 | ; jsr shell_rout 329 | ; 330 | ;music move.w #TUNE#(0-19),music_data1 331 | ; jsr music_rout 332 | ; 333 | ;fader move.w #fader,music_data1 334 | ; jsr music_rout 335 | ; jsr wait_5secs ;wait fro 5 seconds 336 | ; move.w #pause,music_data1 337 | ; jsr music_rout 338 | ; move.w #TUNE#(0-19),music_data1 339 | ; jsr music_rout 340 | ; 341 | 342 | 343 | ;; ** DATA AREAS ** ;; 344 | 345 | ; $6f80 - GAME VARS 346 | ; 347 | ; $6f90 - OPTION SCREEN VARS 348 | ; - $6f90 GAME TYPE (0-2) 349 | ; 0 = platform only 350 | ; 1 = driving only 351 | ; 2 = full game 352 | ; - $6f91 DIFFICULTY (0-3) 353 | ; 0 = training (unlimited continues) 354 | ; 1 = normal (3 continues) 355 | ; 2 = hard (1 continue) 356 | ; 3 = cheat mode 357 | ; - $6f92 DRIVING CONTROL (0-5) 358 | ; 0 = A:fire B:turbo C:missile 359 | ; 1 = A:fire B:missile C:turbo 360 | ; 2 = A:turbo B:fire C:missile 361 | ; 3 = A:turbo B:missile C:fire 362 | ; 4 = A:missile B:fire C:turbo 363 | ; 5 = A:missile B:turbo C:fire 364 | ; - $6f93 PLATFORM CONTROL (0-5) 365 | ; 0 = A:weapon B:hand C:jump 366 | ; 1 = A:weapon B:jump C:hand 367 | ; 2 = A:hand B:weapon C:jump 368 | ; 3 = A:hand B:jump C:weapon 369 | ; 4 = A:jump B:weapon C:hand 370 | ; 5 = A:jump B:hand C:weapon 371 | ; - $6f94 LIVES (copied to GAME VARS) 372 | ; - $6f95 MUSIC (0/1) 373 | ; 0 = off 374 | ; 1 = on 375 | ; - $6f96 SFX (0/1) 376 | ; 0 = off 377 | ; 1 = on 378 | ; - $6f97 CHEAT #1 FLAG 379 | ; 0 = off 380 | ; 1 = on 381 | ; - $6f98 CHEAT #2 FLAG 382 | ; 0 = off 383 | ; 1 = on 384 | ; - $6f99 CHEAT #3 FLAG 385 | ; 0 = off 386 | ; 1 = on 387 | ; 388 | ; 389 | ; $6fa0 - SHELL VARS 390 | ; - $6fa0 TWEEN #1 (0-2) 391 | ; 0 = going to driving module #1 392 | ; 1 = going to driving module #2 393 | ; 2 = going to driving module #3 394 | ; - $6fa1 TWEEN #2 (0-1) 395 | ; 0 = going to sewer module #1 396 | ; 1 = going to sewer module #2 397 | ; - $6fa2 LAST (store return load #) 398 | ; - $6fa4 POWER ON FLAG ("ChIg") 399 | ; - $6fa8 CONTINUES 400 | ; - $6faa ORDER_DEX (game run index) 401 | ; - $6fac FLAG1 402 | ; - $6fad FLAG2 403 | 404 | ; -------------------------------------------------------------------------- 405 | 406 | WRAM_SND_XBUFF EQU $3FF00 407 | 408 | SMAP_ADDR_HARD EQU ($A0000-SWORD_RAM)/4 409 | SSCR0_ADDR EQU ($A0000-SWORD_RAM)/4 410 | SSCR1_ADDR EQU ($A6000-SWORD_RAM)/4 411 | SSCR2_ADDR EQU ($AC000-SWORD_RAM)/4 412 | RSC_TRACE_ADDR EQU ($80000-SWORD_RAM)/4 413 | SCL_TRACE_ADDR EQU ($B2000-SWORD_RAM)/4 414 | SMAP_ADDR EQU ($B2C00-SWORD_RAM)/4 415 | SLINE0 EQU (SMAP_ADDR-SMAP_ADDR_HARD)/8 416 | 417 | RSWIDTH EQU 400 418 | RSHEIGHT EQU 192 419 | RTILT EQU 96 420 | ZSTEP EQU 128 421 | 422 | ; -------------------------------------------------------------------------- 423 | 424 | MCOM_FRAME EQU 0 425 | MCOM_FBUSY EQU 2 426 | MCOM_JOY0 EQU 4 427 | MCOM_JOY1 EQU 6 428 | 429 | SCOM_FRAME EQU 0 430 | SCOM_PFADER EQU 2 431 | 432 | ; -------------------------------------------------------------------------- 433 | 434 | WRAM_DATA_M EQU MWORD_RAM+$10 435 | WRAM_DATA_S EQU SWORD_RAM+$10 436 | 437 | RSRESET 438 | 439 | WRAM_SCORE RS.B 4 440 | WRAM_LIFE RS.W 1 441 | WRAM_SPEED RS.W 1 442 | WRAM_SPDNUM RS.W 1 443 | WRAM_PDAMAGE RS.W 1 444 | WRAM_EDAMAGE RS.W 1 445 | WRAM_PX_XPOS RS.L 1 446 | WRAM_PX_YPOS RS.W 1 447 | WRAM_BGR_DLD RS.W 1 448 | IF TESTMODE 449 | WRAM_TEST0 RS.W 1 450 | WRAM_TEST1 RS.W 1 451 | WRAM_TEST2 RS.W 1 452 | WRAM_TEST3 RS.W 1 453 | WRAM_TEST4 RS.W 1 454 | WRAM_TEST5 RS.W 1 455 | WRAM_TEST6 RS.W 1 456 | WRAM_TEST7 RS.W 1 457 | IF GTESTPR 458 | WRAM_GTEST0 RS.W 1 459 | WRAM_GTEST1 RS.W 1 460 | WRAM_GTEST2 RS.W 1 461 | WRAM_GTEST3 RS.W 1 462 | WRAM_GTEST4 RS.W 1 463 | WRAM_GTEST5 RS.W 1 464 | WRAM_GTEST6 RS.W 1 465 | WRAM_GTEST7 RS.W 1 466 | WRAM_GTEST8 RS.W 1 467 | WRAM_GTEST9 RS.W 1 468 | WRAM_GTESTA RS.W 1 469 | WRAM_GTESTB RS.W 1 470 | WRAM_GTESTC RS.W 1 471 | WRAM_GTESTD RS.W 1 472 | WRAM_GTESTE RS.W 1 473 | WRAM_GTESTF RS.W 1 474 | ENDIF 475 | ENDIF 476 | WRAM_DLEN RS.B 0 477 | 478 | IF WRAM_DLEN>$70 479 | INFORM 3,"WRAM area too large (Size=$%h)",WRAM_DLEN 480 | ENDIF 481 | 482 | ; -------------------------------------------------------------------------- 483 | 484 | RC_FREP MACRO 485 | IF NARG=1 486 | DC.W $8000,\1-* 487 | MEXIT 488 | ENDIF 489 | DC.W $8000!\2,\1-* 490 | ENDM 491 | RC_BREP MACRO 492 | IF NARG=1 493 | DC.W $9000,\1-* 494 | MEXIT 495 | ENDIF 496 | DC.W $9000!\2,\1-* 497 | ENDM 498 | RC_FGO MACRO 499 | IF NARG=1 500 | DC.W $A000,\1-* 501 | MEXIT 502 | ENDIF 503 | DC.W $A000!\2,\1-* 504 | ENDM 505 | RC_BGO MACRO 506 | IF NARG=1 507 | DC.W $B000,\1-* 508 | MEXIT 509 | ENDIF 510 | DC.W $B000!\2,\1-* 511 | ENDM 512 | RC_FLAG MACRO 513 | IF NARG=1 514 | DC.W $C000,\1 515 | MEXIT 516 | ENDIF 517 | DC.W $C000!\2,\1 518 | ENDM 519 | 520 | RCLR EQU $80 521 | RREP EQU $A0 522 | RNEXT EQU $C0 523 | RFOR EQU $E0 524 | 525 | HSD EQU 0 ;Hill opperators 526 | HMD EQU 256/4 527 | HSU EQU 512/4 528 | HMU EQU 768/4 529 | HUD EQU 0 530 | HFULL EQU 32/4 531 | HHALF EQU 16/4 532 | HMID EQU 8/4 533 | 534 | MAPSECT MACRO 535 | IF NARG<>6 536 | INFORM 3,"Macro parameter error." 537 | ENDIF 538 | DC.W \1-*,\2-*,\3-*,\4-*,\5-*,\6-* 539 | ENDM 540 | 541 | RCSET MACRO 542 | IF NARG>6 543 | INFORM 3,"Too many arguments (NARG=%d)",NARG 544 | ENDIF 545 | DC.B NARG 546 | DC.B ($FF&(\1>>16)) 547 | DC.B ($FF&(\1>>8)) 548 | DC.B ($FF&\1) 549 | DC.B ($FF&(\2>>16)) 550 | DC.B ($FF&(\2>>8)) 551 | DC.B ($FF&\2) 552 | REPT (NARG-2) 553 | DC.B ($FF&(\3>>8)) 554 | DC.B ($FF&\3) 555 | SHIFT 556 | ENDR 557 | ENDM 558 | 559 | ; -------------------------------------------------------------------------- 560 | 561 | SIGNSET MACRO * 562 | IF NARG<1 563 | INFORM 3,"Macro parameter error." 564 | ENDIF 565 | \* EQU sindex 566 | sadr\#sindex ;= * 567 | sindex = sindex+1 568 | sdetcnt = 0 569 | DC.L \1 570 | IF NARG=1 571 | DC.L 0 572 | MEXIT 573 | ENDIF 574 | DC.L \2 575 | ENDM 576 | 577 | SIGNDET MACRO 578 | IF NARG<>9 579 | INFORM 3,"Macro parameter error." 580 | ENDIF 581 | sdetcnt = sdetcnt+1 582 | sval0\#sdetcnt = \2 583 | sval3\#sdetcnt = \3 584 | sval1\#sdetcnt = (\4*$100)+((\5*XRATIO_TO)/XRATIO_FROM) 585 | sval4\#sdetcnt = (\6*XRATIO_TO)/XRATIO_FROM 586 | sval2\#sdetcnt = (\7*$100)+((\8*YRATIO_TO)/YRATIO_FROM) 587 | sval5\#sdetcnt = (\9*YRATIO_TO)/YRATIO_FROM 588 | sval6\#sdetcnt = \1 589 | ENDM 590 | 591 | SIGNGRS MACRO 592 | DC.W sdetcnt 593 | sdetset = 0 594 | REPT sdetcnt 595 | sdetset = sdetset+1 596 | DC.W sval0\#sdetset 597 | DC.L sval1\#sdetset 598 | DC.L sval2\#sdetset 599 | DC.W sval3\#sdetset 600 | DC.L sval4\#sdetset 601 | DC.L sval5\#sdetset 602 | DC.L sval6\#sdetset 603 | ENDR 604 | DC.W NARG 605 | REPT NARG 606 | DC.L GLIST+\1 607 | SHIFT 608 | ENDR 609 | ENDM 610 | 611 | SIGNLIST MACRO 612 | SICOUNT = 0 613 | REPT SINDEX 614 | DC.W SADR\#SICOUNT-* 615 | SICOUNT = SICOUNT+1 616 | ENDR 617 | ENDM 618 | 619 | PDATA0 MACRO * 620 | IF NARG<>3 621 | INFORM 3,"Macro parameter error." 622 | ENDIF 623 | \* EQU SINDEX/2 624 | PADR\#SINDEX ;= * 625 | SINDEX = SINDEX+1 626 | DC.L \1 627 | DC.B \2 628 | DC.B \3 629 | ENDM 630 | 631 | PDATA1 MACRO * 632 | IF NARG<>3 633 | INFORM 3,"Macro parameter error." 634 | ENDIF 635 | PADR\#SINDEX ;= * 636 | SINDEX = SINDEX+1 637 | DC.L \1 638 | DC.B \2 639 | DC.B \3 640 | ENDM 641 | 642 | PSCALER MACRO 643 | IF NARG<>5 644 | INFORM 3,"Macro parameter error." 645 | ENDIF 646 | DC.W \1*$8 647 | DC.W (SLINE0+\2)*$8 648 | DC.L \3*$800 649 | DC.W \4 650 | DC.L GLIST+\5 651 | ENDM 652 | 653 | PATCHLIST MACRO 654 | SICOUNT = 0 655 | REPT SINDEX 656 | DC.W PADR\#SICOUNT-* 657 | SICOUNT = SICOUNT+1 658 | ENDR 659 | ENDM 660 | 661 | ; -------------------------------------------------------------------------- 662 | 663 | XYRATIO MACRO 664 | IF NARG<>4 665 | INFORM 3,"Macro parameter error." 666 | ENDIF 667 | XRATIO_FROM = \1 668 | XRATIO_TO = \2*$100 669 | YRATIO_FROM = \3 670 | YRATIO_TO = \4*$100 671 | ENDM 672 | 673 | RATIO MACRO 674 | IF NARG<>3 675 | INFORM 3,"Macro parameter error." 676 | ENDIF 677 | IF \1=0 678 | DC.L 0 679 | MEXIT 680 | ENDIF 681 | DC.L (\3*\2*$100)/\1 682 | ENDM 683 | 684 | XYPOS MACRO 685 | IF NARG<>2 686 | INFORM 3,"Macro parameter error." 687 | ENDIF 688 | DC.L \1*$100 689 | DC.L \2*$100 690 | ENDM 691 | 692 | PLACER MACRO 693 | IF NARG<>4 694 | INFORM 3,"Macro parameter error." 695 | ENDIF 696 | DC.L \1*$100 697 | DC.L (\2*YRATIO_TO)/YRATIO_FROM 698 | DC.L (\3*XRATIO_TO)/XRATIO_FROM 699 | DC.L (\4*YRATIO_TO)/YRATIO_FROM 700 | ENDM 701 | 702 | XSIZE MACROS 703 | DC.L (\1*XRATIO_TO)/XRATIO_FROM 704 | YSIZE MACROS 705 | DC.L (\1*YRATIO_TO)/YRATIO_FROM 706 | 707 | XYSIZE MACRO 708 | IF NARG<>2 709 | INFORM 3,"Macro parameter error." 710 | ENDIF 711 | DC.L (\1*XRATIO_TO)/XRATIO_FROM 712 | DC.L (\2*YRATIO_TO)/YRATIO_FROM 713 | ENDM 714 | 715 | XTOX MACRO 716 | IF NARG<>2 717 | INFORM 3,"Macro parameter error." 718 | ENDIF 719 | DC.L (\1*XRATIO_TO)/XRATIO_FROM 720 | DC.L (\2*XRATIO_TO)/XRATIO_FROM 721 | ENDM 722 | 723 | YTOY MACRO 724 | IF NARG<>2 725 | INFORM 3,"Macro parameter error." 726 | ENDIF 727 | DC.L (\1*YRATIO_TO)/YRATIO_FROM 728 | DC.L (\2*YRATIO_TO)/YRATIO_FROM 729 | ENDM 730 | 731 | SCALER MACRO 732 | IF NARG<>5 733 | INFORM 3,"Macro parameter error." 734 | ENDIF 735 | DC.L \3*$800 736 | DC.W \1*$8 737 | DC.L \4*$800 738 | DC.W (SLINE0+\2)*$8 739 | DC.L GLIST+\5 740 | ENDM 741 | 742 | SCALERM MACRO 743 | IF NARG<>5 744 | INFORM 3,"Macro parameter error." 745 | ENDIF 746 | DC.L \3*-$800 747 | DC.W ((\3+\1)*$8)-1 748 | DC.L \4*$800 749 | DC.W (SLINE0+\2)*$8 750 | DC.L GLIST+\5 751 | ENDM 752 | 753 | ; -------------------------------------------------------------------------- 754 | 755 | OBJCNTR MACRO 756 | IF NARG<>4 757 | INFORM 3,"Macro parameter error." 758 | ENDIF 759 | OBJ_CX1 = \1 760 | OBJ_CY1 = \2 761 | OBJ_CX2 = \3 762 | OBJ_CY2 = \4 763 | OBJ_CXOFF = (((\3+\1*2)*XRATIO_TO)/XRATIO_FROM)/2 764 | OBJ_CYOFF = ((\4+\2)*YRATIO_TO)/-YRATIO_FROM 765 | ENDM 766 | 767 | OBJSCL MACRO 768 | IF NARG<>7 769 | INFORM 3,"Macro parameter error." 770 | ENDIF 771 | DC.L -OBJ_CXOFF+((\1*XRATIO_TO)/XRATIO_FROM) 772 | DC.L OBJ_CYOFF+((\2*YRATIO_TO)/YRATIO_FROM) 773 | DC.L (\5*XRATIO_TO)/XRATIO_FROM 774 | DC.L (\6*YRATIO_TO)/YRATIO_FROM 775 | DC.L \5*$800 776 | DC.W \3*$8 777 | DC.L \6*$800 778 | DC.W (SLINE0+\4)*$8 779 | DC.L GLIST+\7 780 | ENDM 781 | 782 | OBJSCLM MACRO 783 | IF NARG<>7 784 | INFORM 3,"Macro parameter error." 785 | ENDIF 786 | DC.L OBJ_CXOFF-(((\5+\1)*XRATIO_TO)/XRATIO_FROM) 787 | DC.L OBJ_CYOFF+((\2*YRATIO_TO)/YRATIO_FROM) 788 | DC.L (\5*XRATIO_TO)/XRATIO_FROM 789 | DC.L (\6*YRATIO_TO)/YRATIO_FROM 790 | DC.L \5*-$800 791 | DC.W ((\5+\3)*$8)-1 792 | DC.L \6*$800 793 | DC.W (SLINE0+\4)*$8 794 | DC.L GLIST+\7 795 | ENDM 796 | 797 | OBJSCLF MACRO 798 | IF NARG<>7 799 | INFORM 3,"Macro parameter error." 800 | ENDIF 801 | DC.L -OBJ_CXOFF+((\1*XRATIO_TO)/XRATIO_FROM) 802 | DC.L OBJ_CYOFF+((\2*YRATIO_TO)/YRATIO_FROM) 803 | DC.L (\5*XRATIO_TO)/XRATIO_FROM 804 | DC.L (\6*YRATIO_TO)/YRATIO_FROM 805 | DC.L \5*-$800 806 | DC.W \3*$8 807 | DC.L \6*$800 808 | DC.W (SLINE0+\4)*$8 809 | DC.L GLIST+\7 810 | ENDM 811 | 812 | OBJOFFS MACRO 813 | IF NARG<>2 814 | INFORM 3,"Macro parameter error." 815 | ENDIF 816 | DC.L (\1*XRATIO_TO)/XRATIO_FROM 817 | DC.L (\2*YRATIO_TO)/YRATIO_FROM 818 | ENDM 819 | 820 | OBJPOS MACRO 821 | IF NARG<2 822 | INFORM 3,"Macro parameter error." 823 | ENDIF 824 | DC.L -OBJ_CXOFF+((\1*XRATIO_TO)/XRATIO_FROM) 825 | DC.L OBJ_CYOFF+((\2*YRATIO_TO)/YRATIO_FROM) 826 | IF NARG=3 827 | DC.W \3-* 828 | ENDIF 829 | ENDM 830 | 831 | OBJPOSM MACRO 832 | IF NARG<2 833 | INFORM 3,"Macro parameter error." 834 | ENDIF 835 | DC.L OBJ_CXOFF-(((\3+\1)*XRATIO_TO)/XRATIO_FROM) 836 | DC.L OBJ_CYOFF+((\2*YRATIO_TO)/YRATIO_FROM) 837 | IF NARG=4 838 | DC.W \4-* 839 | ENDIF 840 | ENDM 841 | 842 | DAMPTS MACRO 843 | IF NARG<>9 844 | INFORM 3,"Macro parameter error." 845 | ENDIF 846 | DC.W \7>>4 847 | DC.L -OBJ_CXOFF+(((\2+\2-\8)*XRATIO_TO)/XRATIO_FROM) 848 | DC.L OBJ_CYOFF+((\9*YRATIO_TO)/YRATIO_FROM) 849 | DC.W \4>>4 850 | DC.L -OBJ_CXOFF+(((\2+\2-\5)*XRATIO_TO)/XRATIO_FROM) 851 | DC.L OBJ_CYOFF+((\6*YRATIO_TO)/YRATIO_FROM) 852 | DC.W \1&$F 853 | DC.L -OBJ_CXOFF+((\2*XRATIO_TO)/XRATIO_FROM) 854 | DC.L OBJ_CYOFF+((\3*YRATIO_TO)/YRATIO_FROM) 855 | DC.W \4&$F 856 | DC.L -OBJ_CXOFF+((\5*XRATIO_TO)/XRATIO_FROM) 857 | DC.L OBJ_CYOFF+((\6*YRATIO_TO)/YRATIO_FROM) 858 | DC.W \7&$F 859 | DC.L -OBJ_CXOFF+((\8*XRATIO_TO)/XRATIO_FROM) 860 | DC.L OBJ_CYOFF+((\9*YRATIO_TO)/YRATIO_FROM) 861 | ENDM 862 | 863 | DAMPTSM MACRO 864 | IF NARG<>9 865 | INFORM 3,"Macro parameter error." 866 | ENDIF 867 | DC.W \7&$F 868 | DC.L OBJ_CXOFF-((\8*XRATIO_TO)/XRATIO_FROM) 869 | DC.L OBJ_CYOFF+((\9*YRATIO_TO)/YRATIO_FROM) 870 | DC.W \4&$F 871 | DC.L OBJ_CXOFF-((\5*XRATIO_TO)/XRATIO_FROM) 872 | DC.L OBJ_CYOFF+((\6*YRATIO_TO)/YRATIO_FROM) 873 | DC.W \1>>4 874 | DC.L OBJ_CXOFF-((\2*XRATIO_TO)/XRATIO_FROM) 875 | DC.L OBJ_CYOFF+((\3*YRATIO_TO)/YRATIO_FROM) 876 | DC.W \4>>4 877 | DC.L OBJ_CXOFF-(((\2+\2-\5)*XRATIO_TO)/XRATIO_FROM) 878 | DC.L OBJ_CYOFF+((\6*YRATIO_TO)/YRATIO_FROM) 879 | DC.W \7>>4 880 | DC.L OBJ_CXOFF-(((\2+\2-\8)*XRATIO_TO)/XRATIO_FROM) 881 | DC.L OBJ_CYOFF+((\9*YRATIO_TO)/YRATIO_FROM) 882 | ENDM 883 | 884 | ; -------------------------------------------------------------------------- 885 | 886 |  -------------------------------------------------------------------------------- /Source/BRIANS/BATMOB3.CD8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/BRIANS/BATMOB3.CD8 -------------------------------------------------------------------------------- /Source/BRIANS/BATSKI0.CD8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/BRIANS/BATSKI0.CD8 -------------------------------------------------------------------------------- /Source/BRIANS/CDAD_DS1.S: -------------------------------------------------------------------------------- 1 | ;**************************************************************************** 2 | ;* * 3 | ;* PCM AUDIO DRIVER (MIDI COMPATIBLE) * * 4 | ;* * 5 | ;* MIDI CONTROL INTERFACE & DRIVER FOR * 6 | ;* SEGA MEGA CD-ROM (RF5C164 PCM Sound Source) * 7 | ;* * 8 | ;* * 9 | ;* * 10 | ;* Developed by: Brian Howarth * 11 | ;* MALIBU INTERACTIVE INC. * 12 | ;* * 13 | ;**************************************************************************** 14 | ;* * 15 | ;* DATA MODULE (Contains PCM Patches for SUB-CPU + Z80 FM & PSG Patches) * 16 | ;* * 17 | ;* FEBRUARY 1 1993 * 18 | ;* * 19 | ;**************************************************************************** 20 | ; 21 | ; Start of 68K Patch + Sequence + Sample data 22 | 23 | IF AUDIO_SUB 24 | 25 | **************************************************************************** 26 | 27 | INIT_USER_VARS rts 28 | 29 | **************************************************************************** 30 | 31 | PCH_BANK 32 | 33 | ;Patch 0 (Beep0) LOOPED 34 | dc.b 0 35 | dc.b 0 36 | dc.w 0 37 | dc.w 0 38 | dc.w WAVE_E00-WAVE_S00 39 | dc.b eADSR01 40 | dc.b 64 41 | dc.b 120 42 | dc.b 0 43 | dc.b 0 44 | dc.b 0 45 | 46 | ;Patch 1 (Beep0) LOOPED 47 | dc.b 0 48 | dc.b 0 49 | dc.w 0 50 | dc.w 0 51 | dc.w WAVE_E00-WAVE_S00 52 | dc.b eADSR06 53 | dc.b 64 54 | dc.b 120 55 | dc.b 0 56 | dc.b 0 57 | dc.b 0 58 | 59 | ;Patch 2 (BANG0) 60 | dc.b 1 ;BANG0 61 | dc.b 0 62 | dc.w 0 63 | dc.w WAVE_E01-WAVE_S01 64 | dc.w WAVE_E01-WAVE_S01 65 | dc.b eADSR02 66 | dc.b 64 67 | dc.b 127 68 | dc.b 0 69 | dc.b 0 70 | dc.b 0 71 | ;Patch 3 (BANG0) 72 | dc.b 1 ;BANG0 73 | dc.b 0 74 | dc.w 0 75 | dc.w WAVE_E01-WAVE_S01 76 | dc.w WAVE_E01-WAVE_S01 77 | dc.b eADSR01 78 | dc.b 64 79 | dc.b 127 80 | dc.b 0 81 | dc.b 0 82 | dc.b 0 83 | ;Patch 4 84 | dc.b 6 ;TRUCK1 85 | dc.b 0 86 | dc.w 0 87 | dc.w 0 ;loop start at START 88 | dc.w 0 89 | dc.b eADSR00 90 | dc.b 64 91 | dc.b 80 92 | dc.b 0 93 | dc.b 0 94 | dc.b 0 95 | ;Patch 5 96 | dc.b 7 ;CLANG0 97 | dc.b 0 98 | dc.w 0 99 | dc.w 0 100 | dc.w 0 101 | dc.b eADSR00 102 | dc.b 64 103 | dc.b 127 104 | dc.b 0 ;13+Z80PATCH 105 | dc.b 20 106 | dc.b 127 107 | ;Patch 6 (Bang1) 108 | dc.b 1 109 | dc.b 0 110 | dc.w 0 111 | dc.w 0 112 | dc.w WAVE_E01-WAVE_S01 113 | dc.b eADSR04 114 | dc.b 64 115 | dc.b 100 116 | dc.b 0 117 | dc.b 0 118 | dc.b 0 119 | 120 | ;Patch 7 121 | dc.b 1 ;Batmobile Road 122 | dc.b 0 123 | dc.w 0 124 | dc.w 0 125 | dc.w 0 126 | dc.b eADSR01 127 | dc.b 64 128 | dc.b 50 129 | dc.b 0 130 | dc.b 0 131 | dc.b 0 132 | 133 | ;********************************************************* 134 | ; 135 | ; ADSR ENVELOPE BANK 136 | ; 137 | ;********************************************************* 138 | 139 | ADSR00 dc.b 255,0,255,0,255,255,0,10 140 | ADSR01 dc.b 255,0,255,0,255,255,0,1 141 | ADSR02 dc.b 255,4,255,0,255,255,0,1 142 | ADSR03 dc.b 255,0,255,0,255,255,0,40 143 | ADSR04 dc.b 255,0,255,0,255,255,0,6 144 | ADSR05 dc.b 255,0,255,0,255,255,0,24 145 | ADSR06 dc.b 255,0,255,0,255,255,0,20 146 | ADSR07 dc.b 255,0,255,0,255,255,0,20 147 | ADSR08 dc.b 255,0,255,0,255,255,0,20 148 | ADSR09 dc.b 255,0,255,0,255,255,0,20 149 | ADSR10 dc.b 255,0,255,0,255,255,0,2 150 | ADSR11 dc.b 255,0,255,0,255,255,0,20 151 | ADSR12 dc.b 255,0,255,0,255,255,0,20 152 | ADSR13 dc.b 255,0,255,0,255,255,0,1 153 | ADSR14 dc.b 255,0,255,0,255,255,0,20 154 | ADSR15 dc.b 255,24,255,0,255,255,0,12 155 | ADSR16 dc.b 255,0,255,0,255,255,0,15 156 | 157 | ;********************************************************* 158 | ; 159 | ; SFX SEQUENCE BANK (replayed at fixed 150 bpm) 160 | ; 161 | ;********************************************************* 162 | 163 | PBMacros dc.w PBM00-PBMacros 164 | dc.w PBM01-PBMacros 165 | 166 | PBM00 dc.w $2000 167 | dc.w 0,8000 168 | dc.w 0,-8000 169 | dc.w 30,100 170 | dc.w 60,-180 171 | dc.w 32,20 172 | dc.w -1 173 | 174 | PBM01 dc.w $1000 175 | dc.w 0,8000 176 | dc.w 0,-8000 177 | dc.w 20,100 178 | dc.w 60,-100 179 | dc.w 32,10 180 | dc.w -1 181 | dc.w 2,200 182 | dc.w 4,-250 183 | dc.w -1 184 | 185 | ;***************************************************************************** 186 | ; 187 | ; SYSEX Lists 188 | ; 189 | ;***************************************************************************** 190 | 191 | EVEN 192 | SysExTAB dc.l SX00 ;Each entry here represents 193 | dc.l 0 ;a game level and points to 194 | ;list of Source Wave #s to load 195 | 196 | SX00 dc.b 0,1,-1 197 | EVEN 198 | 199 | 200 | ;********************************************************* 201 | ; 202 | ; WAVEFORM SAMPLE BANK 203 | ; 204 | ;********************************************************* 205 | 206 | EVEN 207 | 208 | WAVE_HDBLOKS dc.l WAVE_S00 ;Wave Source Address 209 | dc.l WAVE_E00-WAVE_S00 ;Wave Length 210 | dc.w 0 ;Start Wave Address(ST) 211 | dc.w 0 212 | 213 | dc.l WAVE_S01 214 | dc.l WAVE_E01-WAVE_S01 215 | dc.w 0 216 | dc.w 0 217 | 218 | ;********************************************************* 219 | ; 220 | ; SONG BANK 221 | ; 222 | ;********************************************************* 223 | ; 224 | ; EVEN 225 | ; 226 | ;SONG_ADDR_TAB dc.l SONG_S00 227 | ; 228 | ;SONG_S00 dc.b 0 229 | ;SONG_E00 230 | ; 231 | ;********************************************************* 232 | ; 233 | ; SFX SEQUENCE BANK (replayed at fixed 150 bpm) 234 | ; 235 | ;********************************************************* 236 | 237 | EVEN 238 | SFX_INSTTAB dc.b 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 239 | dc.b 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 240 | dc.b 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 241 | dc.b 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 242 | dc.b 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 243 | dc.b 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 244 | dc.b 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 245 | dc.b 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 246 | 247 | EVEN 248 | SFX_ADDR_TAB dc.w SFX_S00-SFX_ADDR_TAB 249 | dc.w SFX_S01-SFX_ADDR_TAB 250 | dc.w SFX_S02-SFX_ADDR_TAB 251 | dc.w SFX_S03-SFX_ADDR_TAB 252 | dc.w SFX_S04-SFX_ADDR_TAB 253 | dc.w SFX_S05-SFX_ADDR_TAB 254 | dc.w SFX_S06-SFX_ADDR_TAB 255 | dc.w SFX_S07-SFX_ADDR_TAB 256 | dc.w SFX_S08-SFX_ADDR_TAB 257 | dc.w SFX_S09-SFX_ADDR_TAB 258 | dc.w SFX_S10-SFX_ADDR_TAB 259 | dc.w SFX_S11-SFX_ADDR_TAB 260 | ;================================================ 261 | SFX_S00 dc.b 1-1 262 | dc.w sfx0a-SFX_S00 263 | sfx0a dc.b 0,PRGM,0 264 | dc.b 1,CTRL,VOLM,120 265 | dc.b 0,NTON,C50,12,NTOF,C50 266 | dc.b 11,META,EOTRK,0 267 | ;================================================ SFX 1 (BOOT) 268 | ;SFX_S01 dc.b 1-1 269 | ; dc.w sfx1a-SFX_S01 270 | ;sfx1a dc.b 0,PRGM,0 271 | ; dc.b 1,CTRL,VOLM,70 272 | ; dc.b 1,NTON,C60,30,NTOF,C60 273 | ; dc.b 11,META,EOTRK,0 274 | ;================================================ SFX 1 (BOOT) 275 | SFX_S01 dc.b 1-1 276 | dc.w sfx1a-SFX_S01 277 | sfx1a dc.b 0,PRGM,0 278 | dc.b 1,CTRL,VOLM,80 279 | dc.b 0,NTON,C50,2,NTOF,C50 280 | dc.b 2,NTON,D5S,2,NTOF,D5S 281 | dc.b 2,NTON,A5S,2,NTOF,A5S 282 | dc.b 2,NTON,C60,3,NTOF,C60 283 | dc.b 6,META,EOTRK,0 284 | ;================================================ SFX 2 (BUTTON1) (illegal) 285 | SFX_S02 dc.b 1-1 286 | dc.w sfx2a-SFX_S02 287 | sfx2a dc.b 0,PRGM,0 288 | dc.b 0,CTRL,VOLM,120 289 | dc.b 0,NTON,G30,3,NTOF,G30 290 | dc.b 8,NTON,B10,13,NTOF,B10 291 | dc.b 1,META,EOTRK,0 292 | ;================================================ SFX 3 (CLICK0) 293 | SFX_S03 dc.b 1-1 294 | dc.w sfx3a-SFX_S03 295 | sfx3a dc.b 0,PRGM,3 296 | dc.b 1,CTRL,VOLM,115 297 | dc.b 1,NTON,E30,2,NTOF,E30 298 | dc.b 1,META,EOTRK,0 299 | 300 | ;================================================ SFX 4 (Move Cursor) 301 | SFX_S04 dc.b 1-1 302 | dc.w sfx4a-SFX_S04 303 | sfx4a dc.b 0,PRGM,1 304 | dc.b 0,CTRL,VOLM,50 305 | dc.b 13,NTON,C60,2,NTOF,C60 306 | dc.b 21,META,EOTRK,0 307 | ;=============================================== SFX 5 (BASHOBJ_A) 308 | SFX_S05 dc.b 1-1 309 | dc.w sfx05a-SFX_S05 310 | sfx05a dc.b 1,PRGM,12 311 | dc.b 0,CTRL,VOLM,97 312 | dc.b 0,NTON,C20,4,NTOF,C20 313 | dc.b 11,META,EOTRK,0 314 | ;================================================ SFX 6 (BATDISK FIRE) 315 | SFX_S06 dc.b 1-1 316 | dc.w sfx6a-SFX_S06 317 | sfx6a dc.b 0,PRGM,6 ;Bang0 318 | dc.b 0,CTRL,VOLM,107 319 | dc.b 0,NTON,G20 320 | dc.b 1,CTRL,PANM,64 321 | dc.b 1,CTRL,PANM,0 322 | dc.b 2,CTRL,PANM,127 323 | dc.b 2,CTRL,PANM,64 324 | dc.b 2,NTOF,G20 325 | dc.b 12,META,EOTRK,0 326 | ;================================================ SFX 7 (Road Noise) 327 | SFX_S07 dc.b 1-1 328 | dc.w sfx7a-SFX_S07 329 | sfx7a dc.b 0,PRGM,7 330 | dc.b 0,PWCH,0,0 331 | dc.b 0,NTON,G00 332 | SFX_S7L dc.b 120,META,SS,GTO 333 | dc.l SFX_S7L-sfx7a 334 | ;================================================ SFX 8 (Missile 0) 335 | SFX_S08 dc.b 1-1 336 | dc.w sfx8a-SFX_S08 337 | sfx8a dc.b 0,PRGM,3 338 | dc.b 0,CTRL,VOLM,0 ;127 339 | dc.b 0,NTON,C30 340 | dc.b 2,META,SS,PBM,0 341 | dc.b 12,CTRL,PANM,90 342 | dc.b 12,CTRL,PANM,50 343 | dc.b 12,CTRL,PANM,64 344 | dc.b 120,NTOF,C30 345 | dc.b 0,META,EOTRK,0 346 | ;================================================ SFX 9 (Missile 1) 347 | SFX_S09 dc.b 1-1 348 | dc.w sfx9a-SFX_S09 349 | sfx9a dc.b 0,PRGM,3 350 | dc.b 0,META,EOTRK,0 351 | ;================================================ SFX 10 (I am Catwoman) 352 | SFX_S10 dc.b 2-1 353 | dc.w sfx10a-SFX_S10 354 | dc.w sfx10b-SFX_S10 355 | sfx10a dc.b 1,PRGM,10 356 | dc.b 1,CTRL,VOLM,127 357 | dc.b 1,CTRL,PANM,0 358 | dc.b 1,NTON,F3S 359 | dc.b 75,NTOF,F3S 360 | dc.b 31,META,EOTRK,0 361 | 362 | sfx10b dc.b 1,PRGM,10 363 | dc.b 1,CTRL,VOLM,127 364 | dc.b 1,CTRL,PANM,127 365 | dc.b 6,NTON,F3S 366 | dc.b 73,NTOF,F3S 367 | dc.b 31,META,EOTRK,0 368 | ;================================================ SFX 11 (Hear me Roar) 369 | SFX_S11 dc.b 2-1 370 | dc.w sfx11a-SFX_S11 371 | dc.w sfx11b-SFX_S11 372 | sfx11a dc.b 1,PRGM,11 373 | dc.b 1,CTRL,VOLM,127 374 | dc.b 1,CTRL,PANM,0 375 | dc.b 1,NTON,F30 376 | dc.b 85,NTOF,F30 377 | dc.b 11,META,EOTRK,0 378 | 379 | sfx11b dc.b 1,PRGM,11 380 | dc.b 1,CTRL,VOLM,127 381 | dc.b 1,CTRL,PANM,127 382 | dc.b 6,NTON,F30 383 | dc.b 83,NTOF,F30 384 | dc.b 11,META,EOTRK,0 385 | ;================================================ 386 | 387 | EVEN 388 | WAVE_S00 incbin "..\cdad\BEEP0.CD8" 389 | WAVE_E00 390 | EVEN 391 | WAVE_S01 incbin "..\cdad\CLICK0.CD8" 392 | WAVE_E01 393 | EVEN 394 | 395 | ENDIF 396 | 397 |  -------------------------------------------------------------------------------- /Source/BRIANS/CDAD_DS4.S: -------------------------------------------------------------------------------- 1 | ;**************************************************************************** 2 | ;* * 3 | ;* PCM AUDIO DRIVER (MIDI COMPATIBLE) * * 4 | ;* * 5 | ;* MIDI CONTROL INTERFACE & DRIVER FOR * 6 | ;* SEGA MEGA CD-ROM (RF5C164 PCM Sound Source) * 7 | ;* * 8 | ;* * 9 | ;* * 10 | ;* Developed by: Brian Howarth * 11 | ;* MALIBU INTERACTIVE INC. * 12 | ;* * 13 | ;**************************************************************************** 14 | ;* * 15 | ;* DATA MODULE (Contains PCM Patches for SUB-CPU + Z80 FM & PSG Patches) * 16 | ;* * 17 | ;* FEBRUARY 1 1993 * 18 | ;* * 19 | ;**************************************************************************** 20 | ; 21 | ;***************************************************************************** 22 | ; Start of 68K Patch + Sequence + Sample data 23 | 24 | IF AUDIO_SUB 25 | 26 | **************************************************************************** 27 | 28 | INIT_USER_VARS rts 29 | 30 | **************************************************************************** 31 | 32 | 33 | PCH_BANK 34 | 35 | ;Patch 0 (Blip0) NOT LOOPED 36 | dc.b 0 37 | dc.b 0 38 | dc.w 0 39 | dc.w WAVE_E00-WAVE_S00 40 | dc.w WAVE_E00-WAVE_S00 41 | dc.b eADSR01 42 | dc.b 64 43 | dc.b 127 44 | dc.b 0 45 | dc.b 0 46 | dc.b 0 47 | 48 | ;Patch 1 (Blip0) LOOPED 49 | dc.b 0 50 | dc.b 0 51 | dc.w 0 52 | dc.w 0 53 | dc.w WAVE_E00-WAVE_S00 54 | dc.b eADSR01 55 | dc.b 64 56 | dc.b 127 57 | dc.b 0 58 | dc.b 0 59 | dc.b 0 60 | 61 | ;Patch 2 (BANG0) 62 | dc.b 1 ;BANG0 63 | dc.b 0 64 | dc.w 0 65 | dc.w WAVE_E01-WAVE_S01 66 | dc.w WAVE_E01-WAVE_S01 67 | dc.b eADSR02 68 | dc.b 64 69 | dc.b 127 70 | dc.b 0 71 | dc.b 0 72 | dc.b 0 73 | ;Patch 3 (BANG0) 74 | dc.b 1 ;BANG0 75 | dc.b 0 76 | dc.w 0 77 | dc.w WAVE_E01-WAVE_S01 78 | dc.w WAVE_E01-WAVE_S01 79 | dc.b eADSR01 80 | dc.b 64 81 | dc.b 127 82 | dc.b 0 83 | dc.b 0 84 | dc.b 0 85 | ;Patch 4 86 | dc.b 6 ;TRUCK1 87 | dc.b 0 88 | dc.w 0 89 | dc.w 0 ;loop start at START 90 | dc.w 0 91 | dc.b eADSR00 92 | dc.b 64 93 | dc.b 80 94 | dc.b 0 95 | dc.b 0 96 | dc.b 0 97 | ;Patch 5 98 | dc.b 7 ;CLANG0 99 | dc.b 0 100 | dc.w 0 101 | dc.w 0 102 | dc.w 0 103 | dc.b eADSR00 104 | dc.b 64 105 | dc.b 127 106 | dc.b 0 ;13+Z80PATCH 107 | dc.b 20 108 | dc.b 127 109 | ;Patch 6 (Bang1) 110 | dc.b 1 111 | dc.b 0 112 | dc.w 0 113 | dc.w 0 114 | dc.w 0 115 | dc.b eADSR04 116 | dc.b 64 117 | dc.b 100 118 | dc.b 0 119 | dc.b 0 120 | dc.b 0 121 | 122 | ;Patch 7 123 | dc.b 1 ;Batmobile Road 124 | dc.b 0 125 | dc.w 0 126 | dc.w 0 127 | dc.w 0 128 | dc.b eADSR01 129 | dc.b 64 130 | dc.b 50 131 | dc.b 0 132 | dc.b 0 133 | dc.b 0 134 | 135 | ;Patch 8 136 | dc.b 2 ;Jet2 (for Sparks) 137 | dc.b 0 138 | dc.w 0 139 | dc.w 0 140 | dc.w 0 141 | dc.b eADSR01 142 | dc.b 64 143 | dc.b 80 144 | dc.b 50+Z80PATCH 145 | dc.b 24 146 | dc.b 125 147 | 148 | ;Patch 9 149 | dc.b 0 ;Motorbike 150 | dc.b 0 151 | dc.w 0 152 | dc.w 0 153 | dc.w WAVE_E00-WAVE_S00 154 | dc.b eADSR01 155 | dc.b 64 156 | dc.b 10 157 | dc.b 0 158 | dc.b 0 159 | dc.b 0 160 | 161 | ;Patch 10 (pengwin) 162 | 163 | dc.b 1 164 | dc.b 0 165 | dc.w 0 166 | dc.w WAVE_E01-WAVE_S01 167 | dc.w WAVE_E01-WAVE_S01 168 | dc.b eADSR00 169 | dc.b 64 170 | dc.b 127 171 | dc.b 0 172 | dc.b 0 173 | dc.b 0 174 | ;********************************************************* 175 | ; 176 | ; ADSR ENVELOPE BANK 177 | ; 178 | ;********************************************************* 179 | 180 | ADSR00 dc.b 255,0,255,0,255,255,0,10 181 | ADSR01 dc.b 255,0,255,0,255,255,0,1 182 | ADSR02 dc.b 255,4,255,0,255,255,0,1 183 | ADSR03 dc.b 255,0,255,0,255,255,0,40 184 | ADSR04 dc.b 255,0,255,0,255,255,0,6 185 | ADSR05 dc.b 255,0,255,0,255,255,0,24 186 | ADSR06 dc.b 255,0,255,0,255,255,0,20 187 | ADSR07 dc.b 255,0,255,0,255,255,0,20 188 | ADSR08 dc.b 255,0,255,0,255,255,0,20 189 | ADSR09 dc.b 255,0,255,0,255,255,0,20 190 | ADSR10 dc.b 255,0,255,0,255,255,0,2 191 | ADSR11 dc.b 255,0,255,0,255,255,0,20 192 | ADSR12 dc.b 255,0,255,0,255,255,0,20 193 | ADSR13 dc.b 255,0,255,0,255,255,0,1 194 | ADSR14 dc.b 255,0,255,0,255,255,0,20 195 | ADSR15 dc.b 255,24,255,0,255,255,0,12 196 | ADSR16 dc.b 255,0,255,0,255,255,0,15 197 | 198 | ;********************************************************* 199 | ; 200 | ; SFX SEQUENCE BANK (replayed at fixed 150 bpm) 201 | ; 202 | ;********************************************************* 203 | 204 | PBMacros dc.w PBM00-PBMacros 205 | dc.w PBM01-PBMacros 206 | 207 | PBM00 dc.w $2000 208 | dc.w 0,8000 209 | dc.w 0,-8000 210 | dc.w 30,100 211 | dc.w 60,-180 212 | dc.w 32,20 213 | dc.w -1 214 | 215 | PBM01 dc.w $1000 216 | dc.w 0,8000 217 | dc.w 0,-8000 218 | dc.w 20,100 219 | dc.w 60,-100 220 | dc.w 32,10 221 | dc.w -1 222 | dc.w 2,200 223 | dc.w 4,-250 224 | dc.w -1 225 | 226 | ;***************************************************************************** 227 | ; 228 | ; SYSEX Lists 229 | ; 230 | ;***************************************************************************** 231 | 232 | EVEN 233 | SysExTAB dc.l SX00 ;Each entry here represents 234 | dc.l 0 ;a game level and points to 235 | ;list of Source Wave #s to load 236 | 237 | SX00 dc.b 0,1,-1 238 | EVEN 239 | 240 | 241 | ;********************************************************* 242 | ; 243 | ; WAVEFORM SAMPLE BANK 244 | ; 245 | ;********************************************************* 246 | 247 | EVEN 248 | 249 | WAVE_HDBLOKS dc.l WAVE_S00 ;Wave Source Address 250 | dc.l WAVE_E00-WAVE_S00 ;Wave Length 251 | dc.w 0 ;Start Wave Address(ST) 252 | dc.w 0 253 | 254 | dc.l WAVE_S01 255 | dc.l WAVE_E01-WAVE_S01 256 | dc.w 0 257 | dc.w 0 258 | 259 | WAVE_S00 incbin "..\cdad\BLIP0.CD8" 260 | WAVE_E00 261 | EVEN 262 | WAVE_S01 incbin "..\cdad\PENGWIN.CD8" 263 | WAVE_E01 264 | EVEN 265 | 266 | ;********************************************************* 267 | ; 268 | ; SONG BANK 269 | ; 270 | ;********************************************************* 271 | ; 272 | ; EVEN 273 | ; 274 | ;SONG_ADDR_TAB dc.l SONG_S00 275 | ; 276 | ;SONG_S00 dc.b 0 277 | ;SONG_E00 278 | ; 279 | ;********************************************************* 280 | ; 281 | ; SFX SEQUENCE BANK (replayed at fixed 150 bpm) 282 | ; 283 | ;********************************************************* 284 | 285 | EVEN 286 | 287 | SFX_INSTTAB dc.b 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 288 | dc.b 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 289 | dc.b 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 290 | dc.b 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 291 | dc.b 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 292 | dc.b 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 293 | dc.b 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 294 | dc.b 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 295 | 296 | SFX_ADDR_TAB dc.w SFX_S00-SFX_ADDR_TAB 297 | dc.w SFX_S01-SFX_ADDR_TAB 298 | dc.w SFX_S02-SFX_ADDR_TAB 299 | dc.w SFX_S03-SFX_ADDR_TAB 300 | dc.w SFX_S04-SFX_ADDR_TAB 301 | dc.w SFX_S05-SFX_ADDR_TAB 302 | dc.w SFX_S06-SFX_ADDR_TAB 303 | dc.w SFX_S07-SFX_ADDR_TAB 304 | dc.w SFX_S08-SFX_ADDR_TAB 305 | dc.w SFX_S09-SFX_ADDR_TAB 306 | dc.w SFX_S10-SFX_ADDR_TAB 307 | 308 | ;================================================ 309 | SFX_S00 dc.b 1-1 310 | dc.w sfx0a-SFX_S00 311 | sfx0a dc.b 0,PRGM,0 312 | dc.b 1,CTRL,VOLM,120 313 | dc.b 0,NTON,C50,12,NTOF,C50 314 | dc.b 11,META,EOTRK,0 315 | ;================================================ SFX 1 (BUTTON0) 316 | SFX_S01 dc.b 1-1 317 | dc.w sfx1a-SFX_S01 318 | sfx1a dc.b 0,PRGM,0 319 | dc.b 1,CTRL,VOLM,100 320 | dc.b 0,NTON,A60,10,NTOF,A60 321 | dc.b 1,META,EOTRK,0 322 | ;================================================ SFX 2 (BUTTON1) (illegal) 323 | SFX_S02 dc.b 1-1 324 | dc.w sfx2a-SFX_S02 325 | sfx2a dc.b 0,PRGM,1 326 | dc.b 0,CTRL,VOLM,125 327 | dc.b 0,NTON,G30,3,NTOF,G30 328 | dc.b 8,NTON,B10,13,NTOF,B10 329 | dc.b 1,META,EOTRK,0 330 | ;================================================ SFX 3 (CLICK0) 331 | SFX_S03 dc.b 1-1 332 | dc.w sfx3a-SFX_S03 333 | sfx3a dc.b 0,PRGM,3 334 | dc.b 1,CTRL,VOLM,20 335 | dc.b 1,NTON,F30,2,NTOF,F30 336 | dc.b 1,META,EOTRK,0 337 | 338 | ;================================================ SFX 4 (Truck 0) 339 | SFX_S04 dc.b 1-1 340 | dc.w sfx4a-SFX_S04 341 | sfx4a dc.b 0,PRGM,4 342 | dc.b 0,CTRL,VOLM,20 343 | dc.b 0,NTON,C20 344 | SFX_S4L dc.b 120,META,SS,GTO 345 | dc.l SFX_S4L-sfx4a 346 | ;=============================================== SFX 5 (BASHOBJ_A) 347 | SFX_S05 dc.b 1-1 348 | dc.w sfx05a-SFX_S05 349 | sfx05a dc.b 1,PRGM,12 350 | dc.b 0,CTRL,VOLM,97 351 | dc.b 0,NTON,C20,4,NTOF,C20 352 | dc.b 11,META,EOTRK,0 353 | ;================================================ SFX 6 (BATDISK FIRE) 354 | SFX_S06 dc.b 1-1 355 | dc.w sfx6a-SFX_S06 356 | sfx6a dc.b 0,PRGM,6 ;Bang0 357 | dc.b 0,CTRL,VOLM,107 358 | dc.b 0,NTON,G20 359 | dc.b 1,CTRL,PANM,64 360 | dc.b 1,CTRL,PANM,0 361 | dc.b 2,CTRL,PANM,127 362 | dc.b 2,CTRL,PANM,64 363 | dc.b 2,NTOF,G20 364 | dc.b 12,META,EOTRK,0 365 | ;================================================ SFX 7 (Road Noise) 366 | SFX_S07 dc.b 1-1 367 | dc.w sfx7a-SFX_S07 368 | sfx7a dc.b 0,PRGM,7 369 | dc.b 0,PWCH,0,0 370 | dc.b 0,NTON,G00 371 | SFX_S7L dc.b 120,META,SS,GTO 372 | dc.l SFX_S7L-sfx7a 373 | ;================================================ SFX 8 (Missile 0) 374 | SFX_S08 dc.b 1-1 375 | dc.w sfx8a-SFX_S08 376 | sfx8a dc.b 0,PRGM,3 377 | dc.b 0,CTRL,VOLM,0 ;127 378 | dc.b 0,NTON,C30 379 | dc.b 2,META,SS,PBM,0 380 | dc.b 12,CTRL,PANM,90 381 | dc.b 12,CTRL,PANM,50 382 | dc.b 12,CTRL,PANM,64 383 | dc.b 120,NTOF,C30 384 | dc.b 0,META,EOTRK,0 385 | ;================================================ SFX 9 (Missile 1) 386 | SFX_S09 dc.b 1-1 387 | dc.w sfx9a-SFX_S09 388 | sfx9a dc.b 0,PRGM,3 389 | dc.b 0,META,EOTRK,0 390 | ;================================================ SFX 10 (I am Catwoman) 391 | SFX_S10 dc.b 1-1 392 | dc.w sfx10a-SFX_S10 393 | sfx10a dc.b 1,PRGM,10 394 | dc.b 1,CTRL,VOLM,127 395 | dc.b 1,CTRL,PANM,64 396 | dc.b 0,NTON,F3S 397 | dc.b 115,NTOF,F3S 398 | dc.b 31,META,EOTRK,0 399 | 400 | EVEN 401 | 402 | ENDIF 403 |  404 |  -------------------------------------------------------------------------------- /Source/BRIANS/CDAD_DSB.S: -------------------------------------------------------------------------------- 1 | ;**************************************************************************** 2 | ;* * 3 | ;* PCM AUDIO DRIVER (MIDI COMPATIBLE) * * 4 | ;* * 5 | ;* MIDI CONTROL INTERFACE & DRIVER FOR * 6 | ;* SEGA MEGA CD-ROM (RF5C164 PCM Sound Source) * 7 | ;* * 8 | ;* * 9 | ;* * 10 | ;* Developed by: Brian Howarth * 11 | ;* MALIBU INTERACTIVE INC. * 12 | ;* * 13 | ;**************************************************************************** 14 | ;* * 15 | ;* DATA MODULE (Contains PCM Patches for SUB-CPU + Z80 FM & PSG Patches) * 16 | ;* * 17 | ;* FEBRUARY 1 1993 * 18 | ;* * 19 | ;**************************************************************************** 20 | ; 21 | ;***************************************************************************** 22 | ; Start of 68K Patch + Sequence + Sample data 23 | 24 | IF AUDIO_SUB 25 | 26 | **************************************************************************** 27 | 28 | INIT_USER_VARS rts 29 | 30 | **************************************************************************** 31 | 32 | PCH_BANK 33 | 34 | ;Patch 0 (Blip0) NOT LOOPED 35 | dc.b 0 36 | dc.b 0 37 | dc.w 0 38 | dc.w WAVE_E00-WAVE_S00 39 | dc.w WAVE_E00-WAVE_S00 40 | dc.b eADSR01 41 | dc.b 64 42 | dc.b 127 43 | dc.b 0 44 | dc.b 0 45 | dc.b 0 46 | 47 | ;Patch 1 (Blip0) LOOPED 48 | dc.b 0 49 | dc.b 0 50 | dc.w 0 51 | dc.w 0 52 | dc.w WAVE_E00-WAVE_S00 53 | dc.b eADSR01 54 | dc.b 64 55 | dc.b 127 56 | dc.b 0 57 | dc.b 0 58 | dc.b 0 59 | 60 | ;Patch 2 (BANG0) 61 | dc.b 1 ;BANG0 62 | dc.b 0 63 | dc.w 0 64 | dc.w WAVE_E01-WAVE_S01 65 | dc.w WAVE_E01-WAVE_S01 66 | dc.b eADSR02 67 | dc.b 64 68 | dc.b 127 69 | dc.b 0 70 | dc.b 0 71 | dc.b 0 72 | ;Patch 3 (BANG0) 73 | dc.b 1 ;BANG0 74 | dc.b 0 75 | dc.w 0 76 | dc.w WAVE_E01-WAVE_S01 77 | dc.w WAVE_E01-WAVE_S01 78 | dc.b eADSR01 79 | dc.b 64 80 | dc.b 127 81 | dc.b 0 82 | dc.b 0 83 | dc.b 0 84 | ;Patch 4 85 | dc.b 6 ;TRUCK1 86 | dc.b 0 87 | dc.w 0 88 | dc.w 0 ;loop start at START 89 | dc.w 0 90 | dc.b eADSR00 91 | dc.b 64 92 | dc.b 80 93 | dc.b 0 94 | dc.b 0 95 | dc.b 0 96 | ;Patch 5 97 | dc.b 7 ;CLANG0 98 | dc.b 0 99 | dc.w 0 100 | dc.w 0 101 | dc.w 0 102 | dc.b eADSR00 103 | dc.b 64 104 | dc.b 127 105 | dc.b 0 ;13+Z80PATCH 106 | dc.b 20 107 | dc.b 127 108 | ;Patch 6 (Bang1) 109 | dc.b 1 110 | dc.b 0 111 | dc.w 0 112 | dc.w 0 113 | dc.w WAVE_E01-WAVE_S01 114 | dc.b eADSR04 115 | dc.b 64 116 | dc.b 100 117 | dc.b 0 118 | dc.b 0 119 | dc.b 0 120 | 121 | ;Patch 7 122 | dc.b 1 ;Batmobile Road 123 | dc.b 0 124 | dc.w 0 125 | dc.w 0 126 | dc.w WAVE_E02-WAVE_S02 127 | dc.b eADSR01 128 | dc.b 64 129 | dc.b 50 130 | dc.b 0 131 | dc.b 0 132 | dc.b 0 133 | 134 | ;Patch 8 135 | dc.b 2 ;Jet2 (for Sparks) 136 | dc.b 0 137 | dc.w 0 138 | dc.w 0 139 | dc.w WAVE_E02-WAVE_S02 140 | dc.b eADSR01 141 | dc.b 64 142 | dc.b 80 143 | dc.b 50+Z80PATCH 144 | dc.b 24 145 | dc.b 125 146 | 147 | ;Patch 9 148 | dc.b 0 ;Motorbike 149 | dc.b 0 150 | dc.w 0 151 | dc.w 0 152 | dc.w WAVE_E00-WAVE_S00 153 | dc.b eADSR01 154 | dc.b 64 155 | dc.b 10 156 | dc.b 0 157 | dc.b 0 158 | dc.b 0 159 | 160 | ;Patch 10 (I am Catwoman) 161 | 162 | dc.b 2 163 | dc.b 0 164 | dc.w 0 165 | dc.w WAVE_E02-WAVE_S02 166 | dc.w WAVE_E02-WAVE_S02 167 | dc.b eADSR00 168 | dc.b 64 169 | dc.b 127 170 | dc.b 0 171 | dc.b 0 172 | dc.b 0 173 | ;Patch 11 (Hear me Roar) 174 | dc.b 3 175 | dc.b 0 176 | dc.w 0 177 | dc.w WAVE_E03-WAVE_S03 178 | dc.w WAVE_E03-WAVE_S03 179 | dc.b eADSR00 180 | dc.b 64 181 | dc.b 127 182 | dc.b 0 183 | dc.b 0 184 | dc.b 0 185 | ;********************************************************* 186 | ; 187 | ; ADSR ENVELOPE BANK 188 | ; 189 | ;********************************************************* 190 | 191 | ADSR00 dc.b 255,0,255,0,255,255,0,10 192 | ADSR01 dc.b 255,0,255,0,255,255,0,1 193 | ADSR02 dc.b 255,4,255,0,255,255,0,1 194 | ADSR03 dc.b 255,0,255,0,255,255,0,40 195 | ADSR04 dc.b 255,0,255,0,255,255,0,6 196 | ADSR05 dc.b 255,0,255,0,255,255,0,24 197 | ADSR06 dc.b 255,0,255,0,255,255,0,20 198 | ADSR07 dc.b 255,0,255,0,255,255,0,20 199 | ADSR08 dc.b 255,0,255,0,255,255,0,20 200 | ADSR09 dc.b 255,0,255,0,255,255,0,20 201 | ADSR10 dc.b 255,0,255,0,255,255,0,2 202 | ADSR11 dc.b 255,0,255,0,255,255,0,20 203 | ADSR12 dc.b 255,0,255,0,255,255,0,20 204 | ADSR13 dc.b 255,0,255,0,255,255,0,1 205 | ADSR14 dc.b 255,0,255,0,255,255,0,20 206 | ADSR15 dc.b 255,24,255,0,255,255,0,12 207 | ADSR16 dc.b 255,0,255,0,255,255,0,15 208 | 209 | ;********************************************************* 210 | ; 211 | ; SFX SEQUENCE BANK (replayed at fixed 150 bpm) 212 | ; 213 | ;********************************************************* 214 | 215 | PBMacros dc.w PBM00-PBMacros 216 | dc.w PBM01-PBMacros 217 | 218 | PBM00 dc.w $2000 219 | dc.w 0,8000 220 | dc.w 0,-8000 221 | dc.w 30,100 222 | dc.w 60,-180 223 | dc.w 32,20 224 | dc.w -1 225 | 226 | PBM01 dc.w $1000 227 | dc.w 0,8000 228 | dc.w 0,-8000 229 | dc.w 20,100 230 | dc.w 60,-100 231 | dc.w 32,10 232 | dc.w -1 233 | dc.w 2,200 234 | dc.w 4,-250 235 | dc.w -1 236 | 237 | ;***************************************************************************** 238 | ; 239 | ; SYSEX Lists 240 | ; 241 | ;***************************************************************************** 242 | 243 | EVEN 244 | SysExTAB dc.l SX00 ;Each entry here represents 245 | dc.l SX01 246 | dc.l 0 ;a game level and points to 247 | ;list of Source Wave #s to load 248 | 249 | SX00 dc.b 0,1,2,-1 250 | SX01 dc.b 0,1,3,-1 251 | EVEN 252 | 253 | 254 | ;********************************************************* 255 | ; 256 | ; WAVEFORM SAMPLE BANK 257 | ; 258 | ;********************************************************* 259 | 260 | EVEN 261 | 262 | WAVE_HDBLOKS dc.l WAVE_S00 ;Wave Source Address 263 | dc.l WAVE_E00-WAVE_S00 ;Wave Length 264 | dc.w 0 ;Start Wave Address(ST) 265 | dc.w 0 266 | 267 | dc.l WAVE_S01 268 | dc.l WAVE_E01-WAVE_S01 269 | dc.w 0 270 | dc.w 0 271 | 272 | dc.l WAVE_S02 273 | dc.l WAVE_E02-WAVE_S02 274 | dc.w 0 275 | dc.w 0 276 | 277 | dc.l WAVE_S03 278 | dc.l WAVE_E03-WAVE_S03 279 | dc.w 0 280 | dc.w 0 281 | 282 | 283 | WAVE_S00 incbin "..\cdad\BLIP0.CD8" 284 | WAVE_E00 285 | 286 | EVEN 287 | WAVE_S01 incbin "..\cdad\BANG1.CD8" 288 | WAVE_E01 289 | 290 | EVEN 291 | WAVE_S02 incbin "..\cdad\IAMCW0.CD8" 292 | WAVE_E02 293 | 294 | EVEN 295 | WAVE_S03 incbin "..\cdad\IAMCW1.CD8" 296 | WAVE_E03 297 | EVEN 298 | 299 | ;********************************************************* 300 | ; 301 | ; SONG BANK 302 | ; 303 | ;********************************************************* 304 | ; 305 | ; EVEN 306 | ; 307 | ;SONG_ADDR_TAB dc.l SONG_S00 308 | ; 309 | ;SONG_S00 dc.b 0 310 | ;SONG_E00 311 | ; 312 | ;********************************************************* 313 | ; 314 | ; SFX SEQUENCE BANK (replayed at fixed 150 bpm) 315 | ; 316 | ;********************************************************* 317 | 318 | EVEN 319 | 320 | SFX_INSTTAB dc.b 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 321 | dc.b 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 322 | dc.b 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 323 | dc.b 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 324 | dc.b 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 325 | dc.b 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 326 | dc.b 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 327 | dc.b 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 328 | 329 | SFX_ADDR_TAB dc.w SFX_S00-SFX_ADDR_TAB 330 | dc.w SFX_S01-SFX_ADDR_TAB 331 | dc.w SFX_S02-SFX_ADDR_TAB 332 | dc.w SFX_S03-SFX_ADDR_TAB 333 | dc.w SFX_S04-SFX_ADDR_TAB 334 | dc.w SFX_S05-SFX_ADDR_TAB 335 | dc.w SFX_S06-SFX_ADDR_TAB 336 | dc.w SFX_S07-SFX_ADDR_TAB 337 | dc.w SFX_S08-SFX_ADDR_TAB 338 | dc.w SFX_S09-SFX_ADDR_TAB 339 | dc.w SFX_S10-SFX_ADDR_TAB 340 | dc.w SFX_S11-SFX_ADDR_TAB 341 | ;================================================ 342 | SFX_S00 dc.b 1-1 343 | dc.w sfx0a-SFX_S00 344 | sfx0a dc.b 0,PRGM,0 345 | dc.b 1,CTRL,VOLM,120 346 | dc.b 0,NTON,C50,12,NTOF,C50 347 | dc.b 11,META,EOTRK,0 348 | ;================================================ SFX 1 (BUTTON0) 349 | SFX_S01 dc.b 1-1 350 | dc.w sfx1a-SFX_S01 351 | sfx1a dc.b 0,PRGM,0 352 | dc.b 1,CTRL,VOLM,100 353 | dc.b 0,NTON,A60,10,NTOF,A60 354 | dc.b 1,META,EOTRK,0 355 | ;================================================ SFX 2 (BUTTON1) (illegal) 356 | SFX_S02 dc.b 1-1 357 | dc.w sfx2a-SFX_S02 358 | sfx2a dc.b 0,PRGM,1 359 | dc.b 0,CTRL,VOLM,125 360 | dc.b 0,NTON,G30,3,NTOF,G30 361 | dc.b 8,NTON,B10,13,NTOF,B10 362 | dc.b 1,META,EOTRK,0 363 | ;================================================ SFX 3 (CLICK0) 364 | SFX_S03 dc.b 1-1 365 | dc.w sfx3a-SFX_S03 366 | sfx3a dc.b 0,PRGM,3 367 | dc.b 1,CTRL,VOLM,20 368 | dc.b 1,NTON,F30,2,NTOF,F30 369 | dc.b 1,META,EOTRK,0 370 | 371 | ;================================================ SFX 4 (Truck 0) 372 | SFX_S04 dc.b 1-1 373 | dc.w sfx4a-SFX_S04 374 | sfx4a dc.b 0,PRGM,4 375 | dc.b 0,CTRL,VOLM,20 376 | dc.b 0,NTON,C20 377 | SFX_S4L dc.b 120,META,SS,GTO 378 | dc.l SFX_S4L-sfx4a 379 | ;=============================================== SFX 5 (BASHOBJ_A) 380 | SFX_S05 dc.b 1-1 381 | dc.w sfx05a-SFX_S05 382 | sfx05a dc.b 1,PRGM,12 383 | dc.b 0,CTRL,VOLM,97 384 | dc.b 0,NTON,C20,4,NTOF,C20 385 | dc.b 11,META,EOTRK,0 386 | ;================================================ SFX 6 (BATDISK FIRE) 387 | SFX_S06 dc.b 1-1 388 | dc.w sfx6a-SFX_S06 389 | sfx6a dc.b 0,PRGM,6 ;Bang0 390 | dc.b 0,CTRL,VOLM,107 391 | dc.b 0,NTON,G20 392 | dc.b 1,CTRL,PANM,64 393 | dc.b 1,CTRL,PANM,0 394 | dc.b 2,CTRL,PANM,127 395 | dc.b 2,CTRL,PANM,64 396 | dc.b 2,NTOF,G20 397 | dc.b 12,META,EOTRK,0 398 | ;================================================ SFX 7 (Road Noise) 399 | SFX_S07 dc.b 1-1 400 | dc.w sfx7a-SFX_S07 401 | sfx7a dc.b 0,PRGM,7 402 | dc.b 0,PWCH,0,0 403 | dc.b 0,NTON,G00 404 | SFX_S7L dc.b 120,META,SS,GTO 405 | dc.l SFX_S7L-sfx7a 406 | ;================================================ SFX 8 (Missile 0) 407 | SFX_S08 dc.b 1-1 408 | dc.w sfx8a-SFX_S08 409 | sfx8a dc.b 0,PRGM,3 410 | dc.b 0,CTRL,VOLM,0 ;127 411 | dc.b 0,NTON,C30 412 | dc.b 2,META,SS,PBM,0 413 | dc.b 12,CTRL,PANM,90 414 | dc.b 12,CTRL,PANM,50 415 | dc.b 12,CTRL,PANM,64 416 | dc.b 120,NTOF,C30 417 | dc.b 0,META,EOTRK,0 418 | ;================================================ SFX 9 (Missile 1) 419 | SFX_S09 dc.b 1-1 420 | dc.w sfx9a-SFX_S09 421 | sfx9a dc.b 0,PRGM,3 422 | dc.b 0,META,EOTRK,0 423 | ;================================================ SFX 10 (I am Catwoman) 424 | SFX_S10 dc.b 2-1 425 | dc.w sfx10a-SFX_S10 426 | dc.w sfx10b-SFX_S10 427 | sfx10a dc.b 1,PRGM,10 428 | dc.b 1,CTRL,VOLM,127 429 | dc.b 1,CTRL,PANM,0 430 | dc.b 1,NTON,F3S 431 | dc.b 75,NTOF,F3S 432 | dc.b 31,META,EOTRK,0 433 | 434 | sfx10b dc.b 1,PRGM,10 435 | dc.b 1,CTRL,VOLM,127 436 | dc.b 1,CTRL,PANM,127 437 | dc.b 6,NTON,F3S 438 | dc.b 73,NTOF,F3S 439 | dc.b 31,META,EOTRK,0 440 | ;================================================ SFX 11 (Hear me Roar) 441 | SFX_S11 dc.b 2-1 442 | dc.w sfx11a-SFX_S11 443 | dc.w sfx11b-SFX_S11 444 | sfx11a dc.b 1,PRGM,11 445 | dc.b 1,CTRL,VOLM,127 446 | dc.b 1,CTRL,PANM,0 447 | dc.b 1,NTON,F30 448 | dc.b 85,NTOF,F30 449 | dc.b 11,META,EOTRK,0 450 | 451 | sfx11b dc.b 1,PRGM,11 452 | dc.b 1,CTRL,VOLM,127 453 | dc.b 1,CTRL,PANM,127 454 | dc.b 6,NTON,F30 455 | dc.b 83,NTOF,F30 456 | dc.b 11,META,EOTRK,0 457 | 458 | EVEN 459 | 460 | ENDIF 461 |  -------------------------------------------------------------------------------- /Source/BRIANS/CDAD_M.S: -------------------------------------------------------------------------------- 1 | ;**************************************************************************** 2 | ;* * 3 | ;* PCM AUDIO DRIVER (MIDI COMPATIBLE) * * 4 | ;* * 5 | ;* MIDI CONTROL INTERFACE & DRIVER FOR * 6 | ;* SEGA MEGA CD-ROM (RF5C164 PCM Sound Source) * 7 | ;* * 8 | ;* * 9 | ;* * 10 | ;* Developed by: Brian Howarth * 11 | ;* MALIBU INTERACTIVE INC. * 12 | ;* * 13 | ;**************************************************************************** 14 | ;* * 15 | ;* MODULE FOR MAIN_CPU * 16 | ;* * 17 | ;* FEBRUARY 1 1993 * 18 | ;* * 19 | ;**************************************************************************** 20 | 21 | Z80PATCH equ $80 22 | Z80_CMD equ $FF 23 | Z80_PRG equ $02 24 | Z80_NON equ $00 25 | Z80_NOF equ $01 26 | Z80_PWC equ $04 27 | Z80_ALLNOF equ $05 28 | Z80_PAUSE equ $0C 29 | Z80_RESUME equ $0D 30 | Z80_LEV equ $1F 31 | 32 | NTOF equ $80 ;Note Off 33 | NTON equ $90 ;Note On 34 | VOLM equ $B7 35 | EOTRK equ $BF 36 | PRGM equ $C0 ;Program Change 37 | 38 | ; NOTE VALUE EQUATES - Octave 0 39 | 40 | C00 equ 00 41 | C01 equ 01 42 | C0S equ 01 43 | D0F equ 01 44 | D00 equ 02 45 | D01 equ 03 46 | D0S equ 03 47 | E0F equ 03 48 | E00 equ 04 49 | F00 equ 05 50 | F01 equ 06 51 | F0S equ 06 52 | G0F equ 06 53 | G00 equ 07 54 | G01 equ 08 55 | G0S equ 08 56 | A0F equ 08 57 | A00 equ 09 58 | A01 equ 10 59 | A0S equ 10 60 | B0F equ 10 61 | B00 equ 11 62 | 63 | ;Octave 1 64 | 65 | C10 equ 12 66 | C11 equ 13 67 | C1S equ 13 68 | D1F equ 13 69 | D10 equ 14 70 | D11 equ 15 71 | D1S equ 15 72 | E1F equ 15 73 | E10 equ 16 74 | F10 equ 17 75 | F11 equ 18 76 | F1S equ 18 77 | G1F equ 18 78 | G10 equ 19 79 | G11 equ 20 80 | G1S equ 20 81 | A1F equ 20 82 | A10 equ 21 83 | A11 equ 22 84 | A1S equ 22 85 | B1F equ 22 86 | B10 equ 23 87 | 88 | ;Octave 2 89 | 90 | C20 equ 24 91 | C21 equ 25 92 | C2S equ 25 93 | D2F equ 25 94 | D20 equ 26 95 | D21 equ 27 96 | D2S equ 27 97 | E2F equ 27 98 | E20 equ 28 99 | F20 equ 29 100 | F21 equ 30 101 | F2S equ 30 102 | G2F equ 30 103 | G20 equ 31 104 | G21 equ 32 105 | G2S equ 32 106 | A2F equ 32 107 | A20 equ 33 108 | A21 equ 34 109 | A2S equ 34 110 | B2F equ 34 111 | B20 equ 35 112 | 113 | ;Octave 3 114 | 115 | C30 equ 36 ;Middle Note 116 | C31 equ 37 117 | C3S equ 37 118 | D3F equ 37 119 | D30 equ 38 120 | D31 equ 39 121 | D3S equ 39 122 | E3F equ 39 123 | E30 equ 40 124 | F30 equ 41 125 | F31 equ 42 126 | F3S equ 42 127 | G3F equ 42 128 | G30 equ 43 129 | G31 equ 44 130 | G3S equ 44 131 | A3F equ 44 132 | A30 equ 45 133 | A31 equ 46 134 | A3S equ 46 135 | B3F equ 46 136 | B30 equ 47 137 | 138 | ;Octave 4 139 | 140 | C40 equ 48 141 | C41 equ 49 142 | C4S equ 49 143 | D4F equ 49 144 | D40 equ 50 145 | D41 equ 51 146 | D4S equ 51 147 | E4F equ 51 148 | E40 equ 52 149 | F40 equ 53 150 | F41 equ 54 151 | F4S equ 54 152 | G4F equ 54 153 | G40 equ 55 154 | G41 equ 56 155 | G4S equ 56 156 | A4F equ 56 157 | A40 equ 57 158 | A41 equ 58 159 | A4S equ 58 160 | B4F equ 58 161 | B40 equ 59 162 | 163 | ;Octave 5 164 | 165 | C50 equ 60 166 | C51 equ 61 167 | C5S equ 61 168 | D5F equ 61 169 | D50 equ 62 170 | D51 equ 63 171 | D5S equ 63 172 | E5F equ 63 173 | E50 equ 64 174 | F50 equ 65 175 | F51 equ 66 176 | F5S equ 66 177 | G5F equ 66 178 | G50 equ 67 179 | G51 equ 68 180 | G5S equ 68 181 | A5F equ 68 182 | A50 equ 69 183 | A51 equ 70 184 | A5S equ 70 185 | B5F equ 70 186 | B50 equ 71 187 | 188 | ;Octave 6 189 | 190 | C60 equ 72 191 | C61 equ 73 192 | C6S equ 73 193 | D6F equ 73 194 | D60 equ 74 195 | D61 equ 75 196 | D6S equ 75 197 | E6F equ 75 198 | E60 equ 76 199 | F60 equ 77 200 | F61 equ 78 201 | F6S equ 78 202 | G6F equ 78 203 | G60 equ 79 204 | G61 equ 80 205 | G6S equ 80 206 | A6F equ 80 207 | A60 equ 81 208 | A61 equ 82 209 | A6S equ 82 210 | B6F equ 82 211 | B60 equ 83 212 | 213 | ;Octave 7 214 | 215 | C70 equ 84 216 | C71 equ 85 217 | C7S equ 85 218 | D7F equ 85 219 | D70 equ 86 220 | D71 equ 87 221 | D7S equ 87 222 | E7F equ 87 223 | E70 equ 88 224 | F70 equ 89 225 | F71 equ 90 226 | F7S equ 90 227 | G7F equ 90 228 | G70 equ 91 229 | G71 equ 92 230 | G7S equ 92 231 | A7F equ 92 232 | A70 equ 93 233 | A71 equ 94 234 | A7S equ 94 235 | B7F equ 94 236 | B70 equ 95 237 | 238 | ;Octave 8 239 | 240 | C80 equ 96 241 | C81 equ 97 242 | C8S equ 97 243 | D8F equ 97 244 | D80 equ 98 245 | D81 equ 99 246 | D8S equ 99 247 | E8F equ 99 248 | E80 equ 100 249 | F80 equ 101 250 | F81 equ 102 251 | F8S equ 102 252 | G8F equ 102 253 | G80 equ 103 254 | G81 equ 104 255 | G8S equ 104 256 | A8F equ 104 257 | A80 equ 105 258 | A81 equ 106 259 | A8S equ 106 260 | B8F equ 106 261 | B80 equ 107 262 | 263 | 264 | ; - Z80 startup and download main code. ------------------------------------ 265 | 266 | INIT_AUDIO_MAIN move.w MCDC_MODE,D0 267 | or.w #%0000011100000000,D0 268 | move.w D0,MCDC_MODE 269 | 270 | move.w #$100,Z80Reset ; Z80 bus reset off 271 | 272 | move.w #$100,Z80BusReq ; Z80 bus request on 273 | hzlp btst.b #0,Z80BusReq ; spin on bus grant 274 | bne.s hzlp 275 | 276 | lea Z80_0,A0 ;copy from 68k to z80 addr space 277 | move.l Z80CLEN,D0 ;length to move 278 | lea Z80Ram,A1 279 | lzlp1 move.b (A0)+,(A1)+ 280 | dbra D0,lzlp1 281 | 282 | lzlp2 move.b #0,(A1)+ ; zero fill remainder of 8k block 283 | cmpa.l #(Z80Ram+$2000),A1 284 | bne.s lzlp2 285 | 286 | ;Start the Z80 287 | move.w #$0,Z80Reset ;Z80 bus reset on (assumes bus request on) 288 | move.l #15,D0 ;a loop > 26 uS 289 | szlp subq.l #1,D0 290 | bne.s szlp 291 | move.w #$0,Z80BusReq ;Z80 bus request off 292 | move.w #$100,Z80Reset ;Z80 bus reset off 293 | rts 294 | 295 | ; - Z80 startup ret. ------------------------------------------------------- 296 | 297 | 298 | 299 | AUDIO_VBL_MAIN movem.l A0-A2/D0-D2,-(SP) 300 | 301 | ; - Z80 com. --------------------------------------------------------------- 302 | 303 | move.l #MAIN_SND_XBUFF,BUFFADD 304 | 305 | tst.w MSFX_FLAG 306 | beq z80_00 307 | 308 | lea MAIN_SFX_XBUFF,A0 309 | move.l A0,BUFFADD 310 | move.w #0,(A0)+ 311 | 312 | moveq.l #0,D2 313 | lea MMC_BLOKS,A1 314 | 315 | z80_02 tst.l MMC_PNTR(A1) 316 | beq z80_01 317 | 318 | 319 | 320 | z80_08 sub.w #1,MMC_ticks(A1) 321 | bpl z80_01 322 | 323 | move.l MMC_PNTR(A1),A2 324 | addq #1,A2 325 | moveq.l #0,D0 326 | z80_09 move.b (A2),D0 327 | 328 | cmp.b #PRGM,D0 329 | bne z80_03 330 | 331 | move.b #Z80_CMD,(A0)+ 332 | move.b #Z80_PRG,(A0)+ 333 | move.b D2,(A0)+ 334 | addq #1,A2 335 | move.b (A2)+,(A0)+ 336 | add.w #4,MAIN_SFX_XBUFF 337 | bra z80_09 338 | 339 | 340 | z80_03 cmp.b #VOLM,D0 341 | bne z80_04 342 | 343 | move.b #Z80_CMD,(A0)+ 344 | move.b #Z80_LEV,(A0)+ 345 | move.b D2,(A0)+ 346 | addq #1,A2 347 | move.b (A2)+,(A0)+ 348 | add.w #4,MAIN_SFX_XBUFF 349 | bra z80_09 350 | 351 | z80_04 cmp.b #NTON,D0 352 | bne z80_05 353 | 354 | move.b #Z80_CMD,(A0)+ 355 | move.b #Z80_NON,(A0)+ 356 | move.b D2,(A0)+ 357 | addq #1,A2 358 | move.b (A2)+,D0 359 | add.b #12,D0 360 | move.b D0,(A0)+ 361 | add.w #4,MAIN_SFX_XBUFF 362 | bra z80_09 363 | 364 | 365 | z80_05 cmp.b #NTOF,D0 366 | bne z80_06 367 | 368 | move.b #Z80_CMD,(A0)+ 369 | move.b #Z80_NOF,(A0)+ 370 | move.b D2,(A0)+ 371 | addq #1,A2 372 | move.b (A2)+,D0 373 | add.b #12,D0 374 | move.b D0,(A0)+ 375 | add.w #4,MAIN_SFX_XBUFF 376 | bra z80_09 377 | 378 | 379 | z80_06 cmp.b #EOTRK,D0 380 | bne z80_07 381 | 382 | move.b #Z80_CMD,(A0)+ 383 | move.b #Z80_ALLNOF,(A0)+ 384 | move.b D2,(A0)+ 385 | addq #1,A2 386 | move.b (A2)+,(A0)+ 387 | add.w #4,MAIN_SFX_XBUFF 388 | 389 | move.l #0,MMC_PNTR(A1) 390 | move.w #0,MMC_ticks(A1) 391 | bra z80_01 392 | 393 | z80_07 move.w D0,MMC_ticks(A1) 394 | move.l A2,MMC_PNTR(A1) 395 | bra z80_08 396 | 397 | 398 | z80_01 adda.l #MMC_BLOKLEN,A1 399 | addq #1,D2 400 | cmp #MMC_NUMBLOKS,D2 401 | bne z80_02 402 | 403 | 404 | 405 | 406 | z80_00 move.w #$100,Z80BusReq ;Z80 bus request on 407 | 408 | movea.l BUFFADD,A0 ;A0-> SUB to MAIN Xfer Buffer 409 | lea Z80Ram+$36,A1 ;A1-> Z80 Write Pointer 410 | lea Z80Ram+$1C40,A2 ;A2-> Z80 FIFO 411 | 412 | z80w0 btst.b #0,Z80BusReq ;wait for bus grant 413 | bne.s z80w0 414 | 415 | 416 | 417 | move.w (A0)+,D2 418 | beq z80exit ;buffer empty? 419 | 420 | move.b (A1),D1 ;Read FIFO index from Z80 ram 421 | z80loop move.b (A0)+,D0 422 | ext.w D1 ;extend to 16 bits 423 | move.b D0,(A2,D1.w) ;write into FIFO 424 | addq.b #1,D1 ;inc write index 425 | andi.b #$3F,D1 ;mod 64 426 | subq.w #1,D2 ;Sent everything? 427 | bne z80loop ;loop back if not 428 | move.b D1,(A1) ;Done so update FIFO pointer 429 | 430 | z80exit 431 | 432 | bsr JOY1_READ ;now read the Joysticks 433 | move.b D0,JOY1VAL 434 | bsr JOY2_READ 435 | move.b D0,JOY2VAL 436 | 437 | ; bsr JOY0_READ ;now read the Joysticks 438 | ; move.w D0,MCOM_MDATA+MCOM_JOY0 439 | ; bsr JOY1_READ 440 | ; move.w D0,MCOM_MDATA+MCOM_JOY1 441 | 442 | move.w #0,Z80BusReq ;Release Z80 (bus req off) 443 | 444 | movem.l (SP)+,A0-A2/D0-D2 445 | clr.w MAIN_SND_XBUFF 446 | rts 447 | 448 | ; - Z80 com ret. ----------------------------------------------------------- 449 | 450 | MMC_NUMBLOKS equ 2 451 | rsreset 452 | MMC_pntr rs.l 1 453 | MMC_ticks rs.w 1 454 | MMC_BLOKLEN rs.b 0 455 | 456 | MMC_BLOKS dc.l 0 457 | dc.w 0 458 | dc.l 0 459 | dc.w 0 460 | 461 | MSFX_FLAG dc.w 0 462 | BUFFADD dc.l 0 463 | MAIN_SFX_XBUFF ds.b 128 464 | 465 | MAIN_SEQS dc.w 93 466 | dc.l MSFX00 467 | dc.w 94 468 | dc.l MSFX01 469 | dc.w 95 470 | dc.l MSFX02 471 | dc.w 96 472 | dc.l MSFX03 473 | dc.w $FF 474 | 475 | 476 | MSFX00 dc.b 0,PRGM,103 477 | dc.b 1,VOLM,127 478 | dc.b 1,NTON,C40,4,NTOF,C40 479 | dc.b 1,PRGM,115 480 | dc.b 1,NTON,A2S,6,NTOF,A2S 481 | dc.b 1,EOTRK 482 | EVEN 483 | 484 | MSFX01 dc.b 0,PRGM,115 485 | dc.b 1,VOLM,125 486 | dc.b 1,NTON,C40,2,NTOF,C40 487 | dc.b 0,NTON,D40,4,NTOF,D40 488 | dc.b 1,EOTRK 489 | EVEN 490 | 491 | MSFX02 dc.b 0,PRGM,115 492 | dc.b 1,VOLM,127 493 | dc.b 1,NTON,G40,2,NTOF,G40 494 | dc.b 0,NTON,A40,4,NTOF,A40 495 | dc.b 1,EOTRK 496 | EVEN 497 | 498 | MSFX03 dc.b 0,PRGM,115 499 | dc.b 1,VOLM,127 500 | dc.b 1,NTON,G30,2,NTOF,G30 501 | dc.b 1,NTON,C40,3,NTOF,C40 502 | dc.b 0,NTON,A40,2,NTOF,A40 503 | dc.b 1,NTON,A40,2,NTOF,A40 504 | dc.b 1,NTON,C50,3,NTOF,C50 505 | dc.b 1,EOTRK 506 | EVEN 507 | 508 | PLAYMAINSFX 509 | IF BATMAN_MUSIC 510 | IF CD_ROMVERSION 511 | IF GENESISCODE 512 | 513 | move.w #1,MSFX_FLAG 514 | 515 | movem.l A0-A1/D0-D5,-(SP) 516 | 517 | and.w #$7F,D5 518 | 519 | lea MAIN_SEQS,A1 520 | pmsfx_1 tst.w (A1) 521 | bmi pmsfx_0 522 | cmp.w (A1),D5 523 | bne pmsfx_2 524 | 525 | movea.l 2(A1),A1 526 | moveq.l #0,D2 527 | lea MMC_BLOKS,A0 528 | pmsfx_3 tst.l MMC_pntr(A0) 529 | bne pmsfx_4 530 | 531 | move.l A1,MMC_pntr(A0) 532 | moveq.l #0,D0 533 | move.b (A1),D0 534 | move.w D0,MMC_ticks(A0) 535 | bra pmsfx_0 536 | 537 | pmsfx_4 adda.l #MMC_BLOKLEN,A0 538 | addq #1,D2 539 | cmp.w #MMC_NUMBLOKS,D2 540 | bne pmsfx_3 541 | bra pmsfx_0 542 | 543 | pmsfx_2 addq #6,A1 544 | bra pmsfx_1 545 | 546 | pmsfx_0 movem.l (SP)+,A0-A1/D0-D5 547 | rts 548 | 549 | 550 | CLOSE_MSEQ movem.l A0/D0,-(SP) 551 | cms_3 move.w #0,MSFX_FLAG 552 | 553 | lea MMC_BLOKS,A0 554 | moveq.l #0,D0 555 | cms_0 tst.l MMC_pntr(A0) 556 | beq cms_1 557 | 558 | move.w #1,MSFX_FLAG 559 | bra cms_2 560 | 561 | cms_1 adda.l #MMC_BLOKLEN,A0 562 | addq #1,D0 563 | cmp.w #MMC_NUMBLOKS,D0 564 | bne cms_0 565 | 566 | 567 | cms_2 tst.w MSFX_FLAG 568 | bne cms_3 569 | 570 | movem.l (SP)+,A0/D0 571 | rts 572 | 573 | ENDIF 574 | ENDIF 575 | ENDIF 576 | 577 | STOPMAINSFX IF BATMAN_MUSIC 578 | IF CD_ROMVERSION 579 | IF GENESISCODE 580 | rts 581 | ENDIF 582 | ENDIF 583 | ENDIF 584 |  -------------------------------------------------------------------------------- /Source/BRIANS/CDAD_Z.Z80: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/BRIANS/CDAD_Z.Z80 -------------------------------------------------------------------------------- /Source/BRIANS/CLANG0.CD8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/BRIANS/CLANG0.CD8 -------------------------------------------------------------------------------- /Source/BRIANS/CRASH0.CD8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/BRIANS/CRASH0.CD8 -------------------------------------------------------------------------------- /Source/BRIANS/DEBRIS0.CD8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/BRIANS/DEBRIS0.CD8 -------------------------------------------------------------------------------- /Source/BRIANS/EXPLOD2.CD8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/BRIANS/EXPLOD2.CD8 -------------------------------------------------------------------------------- /Source/BRIANS/FLAMES0.CD8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/BRIANS/FLAMES0.CD8 -------------------------------------------------------------------------------- /Source/BRIANS/JET2.CD8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/BRIANS/JET2.CD8 -------------------------------------------------------------------------------- /Source/BRIANS/ROAD0.CD8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/BRIANS/ROAD0.CD8 -------------------------------------------------------------------------------- /Source/BRIANS/SKID2.CD8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/BRIANS/SKID2.CD8 -------------------------------------------------------------------------------- /Source/BRIANS/TRUCK1.CD8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/BRIANS/TRUCK1.CD8 -------------------------------------------------------------------------------- /Source/C1.BAT: -------------------------------------------------------------------------------- 1 | copy b:*.bin LEVEL_1 2 | exit 3 | 4 |  -------------------------------------------------------------------------------- /Source/C2.BAT: -------------------------------------------------------------------------------- 1 | copy b:*.bin LEVEL_2 2 | exit 3 | 4 |  -------------------------------------------------------------------------------- /Source/C3.BAT: -------------------------------------------------------------------------------- 1 | copy b:*.bin LEVEL_3 2 | exit 3 | 4 |  -------------------------------------------------------------------------------- /Source/C4.BAT: -------------------------------------------------------------------------------- 1 | copy b:*.bin LEVEL_4 2 | exit 3 | 4 |  -------------------------------------------------------------------------------- /Source/C5.BAT: -------------------------------------------------------------------------------- 1 | copy b:*.bin LEVEL_5 2 | exit 3 | 4 |  -------------------------------------------------------------------------------- /Source/CAR_CTRL.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/CAR_CTRL.68K -------------------------------------------------------------------------------- /Source/CONVERT.68K: -------------------------------------------------------------------------------- 1 | 2 | BXSIZE = 256 3 | BYSIZE = 192 4 | BSPRY = 16 5 | 6 | LEA BACKGR+$344,A0 7 | LEA BACKAT+96+((BXSIZE*BYSIZE)/256),A1 8 | MOVE.W #(BYSIZE/BSPRY)-1,D5 9 | .m2 MOVE.W #(BXSIZE/8)-1,D6 10 | MOVE.L A0,A3 11 | .m1 MOVE.W #BSPRY-1,D7 12 | MOVE.L A3,A2 13 | .m0 MOVE.B (A2)+,D0 14 | LSL.B #4,D0 15 | OR.B (A2)+,D0 16 | LSL.W #4,D0 17 | OR.B (A2)+,D0 18 | LSL.W #4,D0 19 | OR.B (A2)+,D0 20 | LSL.L #4,D0 21 | OR.B (A2)+,D0 22 | LSL.L #4,D0 23 | OR.B (A2)+,D0 24 | LSL.L #4,D0 25 | OR.B (A2)+,D0 26 | LSL.L #4,D0 27 | OR.B (A2)+,D0 28 | MOVE.L D0,(A1)+ 29 | LEA BXSIZE-8(A2),A2 30 | DBRA D7,.m0 31 | LEA 8(A3),A3 32 | DBRA D6,.m1 33 | LEA BXSIZE*BSPRY(A0),A0 34 | DBRA D5,.m2 35 | 36 | 37 | LEA BACKAT+96+((BXSIZE*BYSIZE)/256),A1 38 | MOVE.L A1,A2 39 | LEA ((BXSIZE*BYSIZE)/2)(A1),A0 40 | 41 | MOVE.W #((BXSIZE*BYSIZE)/512),D4 42 | MOVEQ #0,D5 43 | BRA.S .next 44 | 45 | .zero_chk MOVE.L A2,A3 46 | MOVE.W #(BSPRY*4)-1,D7 47 | .zlp TST.L (A3)+ 48 | DBNE D7,.zlp 49 | BNE.S .comp_start 50 | MOVE.W #$7F8,(A0)+ 51 | LEA BSPRY*16(A2),A2 52 | BRA.S .next 53 | 54 | .found MOVE.W D5,D7 55 | SUB.W D6,D7 56 | LSL.W #3,D7 57 | ADD.W #(IMG_BACKGR_VRAM/$20)-8,D7 58 | ADD.W #IMG_BACKGR_PDAT,D7 59 | MOVE.W D7,(A0)+ 60 | LEA BSPRY*16(A2),A2 61 | BRA.S .next 62 | 63 | .comp_lp MOVE.L A2,A3 64 | MOVE.L A5,A4 65 | MOVE.W #(BSPRY*4)-1,D7 66 | .comp CMP.L (A3)+,(A4)+ 67 | DBNE D7,.comp 68 | BEQ.S .found 69 | LEA BSPRY*16(A5),A5 70 | .comp_start DBRA D6,.comp_lp 71 | MOVE.W #(BSPRY*4)-1,D7 72 | .move_lp MOVE.L (A2)+,(A5)+ 73 | DBRA D7,.move_lp 74 | MOVE.W D5,D7 75 | LSL.W #3,D7 76 | ADD.W #IMG_BACKGR_VRAM/$20,D7 77 | ADD.W #IMG_BACKGR_PDAT,D7 78 | MOVE.W D7,(A0)+ 79 | ADDQ.W #1,D5 80 | 81 | .next MOVE.L A1,A5 82 | MOVE.W D5,D6 83 | DBRA D4,.zero_chk 84 | 85 | 86 | LEA BACKAT+96+((BXSIZE*BYSIZE)/2)+((BXSIZE*BYSIZE)/256),A0 87 | LEA ((BXSIZE*BYSIZE)/512)(A0),A1 88 | LEA BACKAT,A2 89 | MOVE.W #(BYSIZE/32)-1,D6 90 | .mln_lp MOVE.L A0,A3 91 | MOVE.W #(BXSIZE/32)-1,D7 92 | .mlp0 MOVE.W (A3)+,(A2)+ 93 | DBRA D7,.mlp0 94 | MOVE.W #(BXSIZE/32)-1,D7 95 | .mlp1 MOVE.W (A1)+,(A2)+ 96 | DBRA D7,.mlp1 97 | MOVE.W #(BXSIZE/32)-1,D7 98 | .mlp2 MOVE.W (A0)+,(A2)+ 99 | DBRA D7,.mlp2 100 | DBRA D6,.mln_lp 101 | 102 | LEA BACKAT,A0 103 | MOVE.W D5,D0 104 | MOVE.W D5,D1 105 | LSL.W #8,D1 106 | ADD.W #96+((BXSIZE*BYSIZE)/256),D1 107 | 108 | PCAT = * 109 | 110 | ; -------------------------------------------------------------------------- 111 | 112 | ORG $FD0000 113 | BACKGR_DAT_A 114 | BACKAT DS.B $1000 115 | BACKGR ;INCBIN BACKGR3A.BBM 116 | INCBIN LEV1.BBM 117 | 118 | ; -------------------------------------------------------------------------- 119 | 120 | ORG PCAT 121 |  -------------------------------------------------------------------------------- /Source/CREDITS.DOC: -------------------------------------------------------------------------------- 1 | BATMAN RETURNS - SEGA CD. 2 | 3 | Credits for driving game. 4 | 5 | 6 | STAFF 7 | ----- 8 | 9 | 10 | FOR MALIBU INTERACTIVE 11 | ---------------------- 12 | 13 | GAME DESIGNERS 14 | Jeff Godfrey 15 | James Maxwell 16 | John O'Brien 17 | 18 | LEAD ARTIST VEHICLES 19 | Jeff Godfrey 20 | 21 | LEAD ARTIST BACKGROUNDS 22 | Steve Thomson 23 | 24 | ADDITIONAL ARTISTS 25 | Tom Applegate 26 | Jeremy Cantor 27 | Russel Comte 28 | Damon Dubois 29 | Robert Hemphill 30 | Ray Huerta 31 | John McLoughlin 32 | Jayne Shrigley 33 | 34 | GAME PROGRAMMER 35 | John O'Brien 36 | 37 | GAME SHELL PROGRAMER 38 | Chris Shrigley 39 | 40 | SOUND PROGRAMMER 41 | Brian Howarth 42 | 43 | TESTERS 44 | Darin Johnson 45 | Justin Monast 46 | 47 | GAME DIRECTERS 48 | James Maxwell 49 | John O'Brien 50 | 51 | FOR SEGA OF AMERICA 52 | ------------------- 53 | 54 | GAME PRODUCER 55 | Bert Schroeder 56 | 57 | MUSIC COMPOSED AND PRODUCED BY 58 | Spencer Nilsen 59 | 60 | GUITARS 61 | Greg Strong 62 | 63 | DRUMS AND PERCUSSION 64 | Brad Kaiser 65 | 66 | Special thanks to S.O.A. testers 67 | 68 |  -------------------------------------------------------------------------------- /Source/DAMAGE.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/DAMAGE.68K -------------------------------------------------------------------------------- /Source/EQU.EQU: -------------------------------------------------------------------------------- 1 | SFX_EXPLDBOSS_A EQU 12 ;EXPLOSION BOSS FINAL 2 | SFX_EXPLDCAR_A EQU 13 ;EXPLOSION CAR FINAL 3 | SFX_EXPLDDAM_A EQU 14 ;EXPLOSION DAMAGE 4 | SFX_EXPLDBLD_A EQU 15 ;EXPLOSION BUILD-UP TO FINAL 5 | 6 | SFX_BASHOBJ_A EQU 5 ;BASH OBJECT "A" 7 | SFX_BASHOBJ_B EQU 29 ;BASH OBJECT "B" 8 | 9 | SFX_BASHBLD_A EQU 2 ;BASH BUILDING "A" 10 | SFX_BASHPOLE_A EQU 44 ;BASH POLE "A" [metallic] 11 | SFX_BASHPOLE_B EQU 75 ;BASH POLE "B" [wooden] 12 | SFX_BASHTREE_A EQU 45 ;BASH TREE/BUSH "A" 13 | 14 | SFX_SPARKS_A EQU 17 ;GENERIC SCRAPE/SPARKS 15 | ;SFX_PASSING_A EQU 0 ;GENERIC PASSING 16 | 17 | SFX_BITSGND_A EQU 11 ;EXPLOSION METALIC PARTS HIT GROUND "A" 18 | SFX_BITSGND_B EQU 47 ;EXPLOSION METALIC PARTS HIT GROUND "B" 19 | SFX_BITSGND_C EQU 48 ;EXPLOSION METALIC PARTS HIT GROUND "C" 20 | SFX_BITSGND_D EQU 28 ;EXPLOSION METALIC PARTS HIT GROUND "D" 21 | SFX_BITSGND_E EQU 37 ;EXPLOSION METALIC PARTS HIT GROUND "A" 22 | SFX_BITSGND_F EQU 38 ;EXPLOSION METALIC PARTS HIT GROUND "B" 23 | SFX_BITSGND_G EQU 39 ;EXPLOSION METALIC PARTS HIT GROUND "C" 24 | SFX_BITSGND_H EQU 40 ;EXPLOSION METALIC PARTS HIT GROUND "D" 25 | 26 | SFX_BDFIRE_A EQU 6 ;BAT-DISC FIRE 27 | SFX_BDHIT_A EQU 54 ;BAT-DISC HIT OBJECT 28 | SFX_BDHIT_B EQU 42 ;BAT-DISC HIT GROUND/BUILDING 29 | SFX_BRFIRE_A EQU 10 ;BAT-ROCKET FIRE 30 | SFX_BMLAND_A EQU 16 ;BATMOBILE LANDING THUD 31 | 32 | SFX_EBIKE_A EQU 18 ;ENGINE BIKE 33 | SFX_EBASHER_A EQU 19 ;ENGINE BASHER 34 | SFX_EVILLAN_A EQU 20 ;ENGINE VILLAN red/ flamethrower 35 | SFX_EJACK_A EQU 21 ;ENGINE JACK'N'BOX 36 | SFX_EFTRUCK_A EQU 22 ;ENGINE FIRETRUCK 37 | SFX_ETANKER_A EQU 23 ;ENGINE FUEL TANKER 38 | SFX_ECANNON_A EQU 24 ;ENGINE CANNON 39 | SFX_EMINICAN_A EQU 25 ;ENGINE MINI-CANNON 40 | SFX_EPCVAN_A EQU 26 ;ENGINE PROFANE CANISTER VAN 41 | SFX_EICETRUCK_A EQU 27 ;ENGINE ICETRUCK 42 | 43 | SFX_MLTVAIR_A EQU 33 ;MOLOTOV-COCKTAIL IN AIR 44 | SFX_JBDOOR_A EQU 35 ;J'N'B DOOR CLOSE 45 | SFX_JBSPRING_A EQU 30 ;J'N'B SPRING OUT 46 | SFX_JBSPRING_B EQU 31 ;J'N'B SPRING IN 47 | SFX_JBSPRING_C EQU 32 ;J'N'B SPRING LEFT/RIGHT 48 | SFX_JACKHEAD_A EQU 56 49 | SFX_FTLADDER_A EQU 36 ;FIRETRUCK LADDER OPEN/CLOSE 50 | SFX_FTFLAME_A EQU 43 ;FIRETRUCK FLAME THROWER 51 | SFX_FTFLMHIT_A EQU 41 ;FIRETRUCK FLAME HIT BATMOBILE 52 | SFX_FTAXEAIR_A EQU 55 ;FIRETRUCK AXE IN AIR 53 | SFX_FTAXEHIT_A EQU 56 ;FIRETRUCK AXE HIT 54 | 55 | SFX_TRASHHIT_A EQU 46 ;CAR HITS TRASHCAN 56 | SFX_TRASHGND_A EQU 50 ;TRASHCAN HITS GROUND 57 | SFX_TRASHGND_B EQU 51 ;TRASHCAN HITS GROUND 58 | SFX_TRASHGND_C EQU 52 ;TRASHCAN HITS GROUND 59 | SFX_TRASHGND_D EQU 53 ;TRASHCAN HITS GROUND 60 | SFX_CONEHIT_A EQU 57 ;CAR HITS CONE 61 | SFX_CONEGND_A EQU 58 ;CONE HITS GROUND 62 | SFX_CONEGND_B EQU 59 ;CONE HITS GROUND 63 | SFX_CONEGND_C EQU 60 ;CONE HITS GROUND 64 | SFX_CONEGND_D EQU 61 ;CONE HITS GROUND 65 | SFX_BLOCKHIT_A EQU 82 ;CAR HITS ROAD BLOCKAGE 66 | SFX_BLOCKGND_A EQU 83 ;ROAD BLOCKAGE HITS GROUND 67 | SFX_BLOCKGND_B EQU 84 ;ROAD BLOCKAGE HITS GROUND 68 | SFX_BLOCKGND_C EQU 85 ;ROAD BLOCKAGE HITS GROUND 69 | SFX_BLOCKGND_D EQU 86 ;ROAD BLOCKAGE HITS GROUND 70 | SFX_WLIGHTHIT_A EQU 87 ;CAR HITS ROAD WORKLIGHT 71 | SFX_WLIGHTGND_A EQU 65 ;ROAD WORKLIGHT HITS GROUND 72 | SFX_WLIGHTGND_B EQU 66 ;ROAD WORKLIGHT HITS GROUND 73 | SFX_WLIGHTGND_C EQU 67 ;ROAD WORKLIGHT HITS GROUND 74 | SFX_WLIGHTGND_D EQU 68 ;ROAD WORKLIGHT HITS GROUND 75 | 76 | SFX_TRUCKHORN_A EQU 49 ;BIG TRUCKS "GET OUTTA THE WAY" HORN 77 | SFX_TRUCKHORN_B EQU 49 ; 78 | SFX_TRUCKHORN_C EQU 49 ; 79 | SFX_TRUCKHORN_D EQU 49 ; 80 | SFX_ROCKET_A EQU 34 ;BIKER LAUNCHS ROCKET AT BATMOBILE 81 | SFX_CIRCUS_A EQU 88 ;CIRCUS ORGAN MUSIC IN DISTANCE 82 | SFX_BATNOISE_A EQU 76 ;BAT SQUEAKS FOR TUNNEL 83 | SFX_CANFIRE_A EQU 77 ;CANNON BOSS FIRES 84 | SFX_MCANFIRE_A EQU 78 ;MINI-CANNON FIRES 85 | 86 | SFX_POWERUP_A EQU 79 ;COLLECT POWERUP 87 | SFX_AAARG_A EQU 80 ;ENEMY GUY FALLS OFF LADDER 88 | SFX_GUYGND_A EQU 81 ;ENEMY GUY HITS GROUND 89 | SFX_ICEDROP_A EQU 73 ;ICE TRUCK DROPS ICE BLOCK 90 | SFX_ICEBREAK_A EQU 74 ;ICE BLOCK FALLS TO BITS 91 | SFX_ICEGND_A EQU 0 ;69 ;ICE BITS HIT GROUND 92 | SFX_ICEGND_B EQU 0 ;70 ;ICE BITS HIT GROUND 93 | SFX_ICEGND_C EQU 0 ;71 ;ICE BITS HIT GROUND 94 | SFX_ICEGND_D EQU 0 ;72 ;ICE BITS HIT GROUND 95 | SFX_TARGETHIT_A EQU 64 ;ICE TRUCK TARGET HIT 96 | SFX_PCDROP_A EQU 62 ;PROFANE CANISTER RELEASED 97 | SFX_PCGND_A EQU 63 ;PROFANE CANISTER HITS GROUND 98 | 99 | 100 | SFX_ESKULL_A EQU 21 ;ENGINE SKULL 101 | SFX_EJETSKI_A EQU 18 ;ENGINE JETSKI 102 | SFX_EBOAT_A EQU 19 ;ENGINE BOAD 103 | SFX_ETOYBOAT_A EQU 18 ;ENGINE SMALL TOY BOATS 104 | SFX_EDUCK_A EQU 24 ;ENGINE DUCKBOAT 105 | 106 | SFX_SPLASH_A EQU 16 ;LANDING WATER SPLASH 107 | SFX_BSFIRE_A EQU 6 ;BATSKI SMALL ROCKET FIRE 108 | SFX_BSHIT_A EQU 54 ;BATSKI SMALL ROCKET HIT OBJECT 109 | SFX_BSHIT_B EQU 42 ;BATSKI SMALL ROCKET HIT GROUND/BUILDING 110 | SFX_METALIC_A EQU 44 ;BATSKI HITS SEWER PIPE/METALIC WALL 111 | SFX_RAMP_A EQU 6 ;BATSKI JUMPS FROM RAMP 112 | 113 | SFX_BOUYBELL_A EQU 89 ;BELL "DONNNGGG" FOR SWINGING BOUY 114 | SFX_LAZERFIRE_A EQU 77 ;SKULL FIRES LAZER 115 | SFX_LAZERHIT_A EQU 41 ;LAZER HITS BATSKI 116 | SFX_SKULLOPEN_A EQU 35 ;SKULL MOUTH OPENS 117 | SFX_SKULLCLOS_A EQU 35 ;SKULL MOUTH CLOSES 118 | SFX_DOORCLANG_A EQU 63 ;CRUNCHER DOORS BASH TOGETHER WHEN CLOSING 119 | SFX_BERGBREAK_A EQU 74 ;ICE BERG GETS BLOWN UP 120 | SFX_WATERPLOP_A EQU 11 ;BITS PLOP INTO WATER 121 | SFX_WATERPLOP_B EQU 11 ;BITS PLOP INTO WATER 122 | SFX_WATERPLOP_C EQU 11 ;BITS PLOP INTO WATER 123 | SFX_WATERPLOP_D EQU 11 ;BITS PLOP INTO WATER 124 | 125 |  -------------------------------------------------------------------------------- /Source/GR_READY.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/GR_READY.68K -------------------------------------------------------------------------------- /Source/IPSYS.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/IPSYS.68K -------------------------------------------------------------------------------- /Source/IPSYS.PRJ: -------------------------------------------------------------------------------- 1 | CD-ROM BATMAN. Initial system boot. 2 | 3 | [snmake] 4 | 5 | T7:; IPSYS.68K 6 | 7 | SNASM68k /P IPSYS.68K,B:IPSYS.BIN,IPSYS.SYM 8 | 9 | T7:; MAI_AP.68K 10 | 11 | SNASM68k /P MAI_AP.68K,B:MAI_AP.BIN 12 | 13 | T7:; SUB_AP.68K 14 | 15 | SNASM68k /P SUB_AP.68K,B:SUB_AP.BIN 16 | 17 | [eval] 18 | 19 | SNBUG68k /v$$$ IPSYS.SYM 20 | 21 |  -------------------------------------------------------------------------------- /Source/IPSYS.SYM: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/IPSYS.SYM -------------------------------------------------------------------------------- /Source/IPTEST.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/IPTEST.68K -------------------------------------------------------------------------------- /Source/IPTEST.BIN: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/IPTEST.BIN -------------------------------------------------------------------------------- /Source/IPTEST.PRJ: -------------------------------------------------------------------------------- 1 | CD-ROM BATMAN. Devbios cd file emulation. 2 | 3 | [snmake] 4 | 5 | T7:; IPTEST.68K 6 | 7 | SNASM68k /P IPTEST.68K,IPTEST.BIN 8 | 9 | COMMAND /C COPY /B IPTEST.BIN PRN: 10 | 11 | 12 |  -------------------------------------------------------------------------------- /Source/LEVEL_1/BACKGR1A.BIN: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_1/BACKGR1A.BIN -------------------------------------------------------------------------------- /Source/LEVEL_1/BASHER.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_1/BASHER.68K -------------------------------------------------------------------------------- /Source/LEVEL_1/CHARS.BIN: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_1/CHARS.BIN -------------------------------------------------------------------------------- /Source/LEVEL_1/CMAPS.BIN: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_1/CMAPS.BIN -------------------------------------------------------------------------------- /Source/LEVEL_1/CYCLE.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_1/CYCLE.68K -------------------------------------------------------------------------------- /Source/LEVEL_1/FIRETRUC.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_1/FIRETRUC.68K -------------------------------------------------------------------------------- /Source/LEVEL_1/GLIST.BIN: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_1/GLIST.BIN -------------------------------------------------------------------------------- /Source/LEVEL_1/JACKNBOX.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_1/JACKNBOX.68K -------------------------------------------------------------------------------- /Source/LEVEL_1/MAPS.EQU: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_1/MAPS.EQU -------------------------------------------------------------------------------- /Source/LEVEL_1/MINIFIRE.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_1/MINIFIRE.68K -------------------------------------------------------------------------------- /Source/LEVEL_1/SIDEOBJS.EQU: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_1/SIDEOBJS.EQU -------------------------------------------------------------------------------- /Source/LEVEL_1/SMAPS.BIN: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_1/SMAPS.BIN -------------------------------------------------------------------------------- /Source/LEVEL_1/STATE.RST: -------------------------------------------------------------------------------- 1 | [edit-] 2 | screen=80 50 3 | toggles=1 1 0 1 0 0 4 | srch=VIS_ 5 | src= 6 | rpl= 7 | file=c:\source\batman\level_1\firetruc.68k 1 70 30 87 8 | [brief] 9 | file=c:\source\batman\level_1\firetruc.68k 1 70 30 87 1 47 39 25 c=0 10 | file=c:\source\batman\level_1\villan.68k 1 26 36 37 41 47 78 25 c=1 11 | file=c:\source\batman\level_1\basher.68k 10 27 28 39 41 23 59 1 c=2 12 | file=c:\source\batman\level_1\cycle.68k 10 67 27 71 1 23 19 1 c=3 13 | file=c:\source\batman\level_1\jacknbox.68k 10 17 26 31 61 23 78 1 c=4 14 | file=c:\source\batman\level_1\villan.68k 20 26 34 39 21 23 39 1 c=5 15 | file=c:\source\batman\level_1\minifire.68k 1 1 1 1 16 | [shared-] 17 | pmark=c:\source\batman\level_1\firetruc.68k 30 87 18 |  -------------------------------------------------------------------------------- /Source/LEVEL_1/VILLAN.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_1/VILLAN.68K -------------------------------------------------------------------------------- /Source/LEVEL_2/BACKANIM.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_2/BACKANIM.68K -------------------------------------------------------------------------------- /Source/LEVEL_2/BACKGR2A.BIN: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_2/BACKGR2A.BIN -------------------------------------------------------------------------------- /Source/LEVEL_2/BACKGR2B.BIN: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_2/BACKGR2B.BIN -------------------------------------------------------------------------------- /Source/LEVEL_2/BASHER.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_2/BASHER.68K -------------------------------------------------------------------------------- /Source/LEVEL_2/BOLARD.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_2/BOLARD.68K -------------------------------------------------------------------------------- /Source/LEVEL_2/CANNON.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_2/CANNON.68K -------------------------------------------------------------------------------- /Source/LEVEL_2/CHARS.BIN: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_2/CHARS.BIN -------------------------------------------------------------------------------- /Source/LEVEL_2/CMAPS.BIN: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_2/CMAPS.BIN -------------------------------------------------------------------------------- /Source/LEVEL_2/CYCLE.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_2/CYCLE.68K -------------------------------------------------------------------------------- /Source/LEVEL_2/GLIST.BIN: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_2/GLIST.BIN -------------------------------------------------------------------------------- /Source/LEVEL_2/MAPS.EQU: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_2/MAPS.EQU -------------------------------------------------------------------------------- /Source/LEVEL_2/MINICAN.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_2/MINICAN.68K -------------------------------------------------------------------------------- /Source/LEVEL_2/SIDEOBJS.EQU: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_2/SIDEOBJS.EQU -------------------------------------------------------------------------------- /Source/LEVEL_2/SMAPS.BIN: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_2/SMAPS.BIN -------------------------------------------------------------------------------- /Source/LEVEL_2/STATE.RST: -------------------------------------------------------------------------------- 1 | [edit-] 2 | screen=80 50 3 | toggles=1 1 0 1 0 0 4 | srch=VIS_ 5 | src= 6 | rpl= 7 | file=c:\source\batman\level_2\bolard.68k 1 43 18 54 8 | [brief] 9 | file=c:\source\batman\level_2\bolard.68k 1 43 18 54 61 47 78 25 c=1 10 | file=c:\source\batman\level_2\minican.68k 4 37 20 48 61 23 78 1 c=2 11 | file=c:\source\batman\level_2\villan.68k 1 48 17 58 21 23 39 1 c=3 12 | file=c:\source\batman\level_2\cycle.68k 17 61 17 73 1 23 19 1 c=4 13 | file=c:\source\batman\level_2\tank.68k 21 15 38 26 1 47 19 25 c=5 14 | file=c:\source\batman\level_2\basher.68k 1 51 1 68 41 23 59 1 c=6 15 | file=c:\source\batman\level_2\cannon.68k 18 15 35 26 21 47 39 25 c=0 16 | file=c:\source\batman\level_2\trcone.68k 19 30 35 41 41 47 59 25 c=1 17 | file=c:\source\batman\level_2\backanim.68k 1 73 1 109 18 | [shared-] 19 | pmark=c:\source\batman\level_2\bolard.68k 18 54 20 |  -------------------------------------------------------------------------------- /Source/LEVEL_2/TANK.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_2/TANK.68K -------------------------------------------------------------------------------- /Source/LEVEL_2/TRCONE.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_2/TRCONE.68K -------------------------------------------------------------------------------- /Source/LEVEL_2/TRUCK.68K: -------------------------------------------------------------------------------- 1 | 2 |  3 |  -------------------------------------------------------------------------------- /Source/LEVEL_2/VILLAN.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_2/VILLAN.68K -------------------------------------------------------------------------------- /Source/LEVEL_3/BACKANIM.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_3/BACKANIM.68K -------------------------------------------------------------------------------- /Source/LEVEL_3/BACKGR3A.BIN: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_3/BACKGR3A.BIN -------------------------------------------------------------------------------- /Source/LEVEL_3/BASHER.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_3/BASHER.68K -------------------------------------------------------------------------------- /Source/LEVEL_3/BOLARD.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_3/BOLARD.68K -------------------------------------------------------------------------------- /Source/LEVEL_3/CHARS.BIN: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_3/CHARS.BIN -------------------------------------------------------------------------------- /Source/LEVEL_3/CMAPS.BIN: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_3/CMAPS.BIN -------------------------------------------------------------------------------- /Source/LEVEL_3/CYCLE.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_3/CYCLE.68K -------------------------------------------------------------------------------- /Source/LEVEL_3/GLIST.BIN: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_3/GLIST.BIN -------------------------------------------------------------------------------- /Source/LEVEL_3/ICETRUCK.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_3/ICETRUCK.68K -------------------------------------------------------------------------------- /Source/LEVEL_3/MAPS.EQU: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_3/MAPS.EQU -------------------------------------------------------------------------------- /Source/LEVEL_3/SIDEOBJS.EQU: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_3/SIDEOBJS.EQU -------------------------------------------------------------------------------- /Source/LEVEL_3/SMAPS.BIN: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_3/SMAPS.BIN -------------------------------------------------------------------------------- /Source/LEVEL_3/STATE.RST: -------------------------------------------------------------------------------- 1 | [edit-] 2 | screen=80 50 3 | toggles=1 1 0 1 0 0 4 | srch=VIS_ 5 | src= 6 | rpl= 7 | file=c:\source\batman\level_3\bolard.68k 15 26 31 47 8 | [brief] 9 | file=c:\source\batman\level_3\bolard.68k 15 26 31 47 61 23 78 1 c=3 10 | file=c:\source\batman\level_3\backanim.68k 1 1 1 1 41 47 59 25 c=4 11 | file=c:\source\batman\level_3\truck.68k 3 158 20 169 1 47 19 25 c=5 12 | file=c:\source\batman\level_3\icetruck.68k 1 411 17 422 21 47 39 25 c=6 13 | file=c:\source\batman\level_3\cycle.68k 19 95 36 115 1 23 19 1 c=1 14 | file=c:\source\batman\level_3\basher.68k 1 48 4 68 21 23 39 1 c=0 15 | file=c:\source\batman\level_3\villan.68k 1 48 17 58 41 23 59 1 c=1 16 | file=c:\source\batman\level_3\backanim.68k 1 1 1 1 61 47 78 25 c=2 17 | file=c:\source\batman\level_3\wklite.68k 0 0 1 1 18 | [shared-] 19 | pmark=c:\source\batman\level_3\bolard.68k 31 47 20 |  -------------------------------------------------------------------------------- /Source/LEVEL_3/TRUCK.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_3/TRUCK.68K -------------------------------------------------------------------------------- /Source/LEVEL_3/VILLAN.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_3/VILLAN.68K -------------------------------------------------------------------------------- /Source/LEVEL_3/WKLITE.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_3/WKLITE.68K -------------------------------------------------------------------------------- /Source/LEVEL_4/CHARS.BIN: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_4/CHARS.BIN -------------------------------------------------------------------------------- /Source/LEVEL_4/CMAPS.BIN: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_4/CMAPS.BIN -------------------------------------------------------------------------------- /Source/LEVEL_4/CRUNCH.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_4/CRUNCH.68K -------------------------------------------------------------------------------- /Source/LEVEL_4/GLIST.BIN: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_4/GLIST.BIN -------------------------------------------------------------------------------- /Source/LEVEL_4/JETSKI.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_4/JETSKI.68K -------------------------------------------------------------------------------- /Source/LEVEL_4/MAPS.EQU: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_4/MAPS.EQU -------------------------------------------------------------------------------- /Source/LEVEL_4/RAMP.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_4/RAMP.68K -------------------------------------------------------------------------------- /Source/LEVEL_4/RHOLE.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_4/RHOLE.68K -------------------------------------------------------------------------------- /Source/LEVEL_4/SIDEOBJS.EQU: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_4/SIDEOBJS.EQU -------------------------------------------------------------------------------- /Source/LEVEL_4/SKULL.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_4/SKULL.68K -------------------------------------------------------------------------------- /Source/LEVEL_4/SMAPS.BIN: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_4/SMAPS.BIN -------------------------------------------------------------------------------- /Source/LEVEL_4/STATE.RST: -------------------------------------------------------------------------------- 1 | [edit-] 2 | screen=80 50 3 | toggles=1 1 0 1 0 0 4 | srch=VIS_ 5 | src= 6 | rpl= 7 | file=c:\source\batman\level_4\skull.68k 22 34 39 45 8 | [brief] 9 | file=c:\source\batman\level_4\skull.68k 22 34 39 45 1 23 19 1 c=5 10 | file=c:\source\batman\level_4\jetski.68k 13 73 30 84 21 23 39 1 c=6 11 | file=c:\source\batman\level_4\crunch.68k 1 1 1 2 1 47 19 25 c=1 12 | file=c:\source\batman\level_4\crunch.68k 1 1 1 2 21 47 39 25 c=0 13 | file=c:\source\batman\level_4\crunch.68k 1 1 1 2 41 47 59 25 c=1 14 | file=c:\source\batman\level_4\crunch.68k 1 1 1 2 41 23 59 1 c=2 15 | file=c:\source\batman\level_4\crunch.68k 1 1 1 2 61 23 78 1 c=3 16 | file=c:\source\batman\level_4\crunch.68k 1 1 1 2 61 47 78 25 c=4 17 | file=c:\source\batman\level_4\ramp.68k 0 0 1 1 18 | file=c:\source\batman\level_4\rhole.68k 0 0 1 1 19 | [shared-] 20 | pmark=c:\source\batman\level_4\skull.68k 39 45 21 |  -------------------------------------------------------------------------------- /Source/LEVEL_5/BOAT.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_5/BOAT.68K -------------------------------------------------------------------------------- /Source/LEVEL_5/BOUYS.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_5/BOUYS.68K -------------------------------------------------------------------------------- /Source/LEVEL_5/CHARS.BIN: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_5/CHARS.BIN -------------------------------------------------------------------------------- /Source/LEVEL_5/CMAPS.BIN: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_5/CMAPS.BIN -------------------------------------------------------------------------------- /Source/LEVEL_5/DUCK.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_5/DUCK.68K -------------------------------------------------------------------------------- /Source/LEVEL_5/GLIST.BIN: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_5/GLIST.BIN -------------------------------------------------------------------------------- /Source/LEVEL_5/ICEBERGS.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_5/ICEBERGS.68K -------------------------------------------------------------------------------- /Source/LEVEL_5/JETSKI.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_5/JETSKI.68K -------------------------------------------------------------------------------- /Source/LEVEL_5/MAPS.EQU: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_5/MAPS.EQU -------------------------------------------------------------------------------- /Source/LEVEL_5/MINES.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_5/MINES.68K -------------------------------------------------------------------------------- /Source/LEVEL_5/PENGUINS.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_5/PENGUINS.68K -------------------------------------------------------------------------------- /Source/LEVEL_5/RAMP.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_5/RAMP.68K -------------------------------------------------------------------------------- /Source/LEVEL_5/SIDEOBJS.EQU: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_5/SIDEOBJS.EQU -------------------------------------------------------------------------------- /Source/LEVEL_5/SKULL.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LEVEL_5/SKULL.68K -------------------------------------------------------------------------------- /Source/LEVEL_5/SMAPS.BIN: -------------------------------------------------------------------------------- 1 | z 2 |  3 |  4 |  5 |  6 |  7 |  8 |  9 |  10 |  11 |  12 |  13 |  14 |  15 |  16 |  17 |  18 |  19 |  20 |   21 |  22 |   23 |  24 |  25 |  26 |  27 |  28 |  29 |  30 |  31 |  32 |  33 |  34 |  35 |  !"#$%&'()*+,-./0123456789:;<=>?@ 36 |  37 |  38 |  39 |  40 |  41 |  !"#$%&'()* 42 |         !"#$%&'&()* 43 |  44 |   45 |  46 |    47 |  48 | ! "# $%&'()* 49 |  50 |   51 |  52 |  53 |  54 |  55 |  56 |  57 |  58 |  59 |  60 |  61 |  62 |  63 |  64 |  65 |  !"#$% 66 |  67 |   68 |  69 |  70 |  71 |  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[ 72 |  73 |   74 |   75 |    76 |   77 | 78 |   79 |  80 |   81 |   82 |  83 |  84 |  85 |  !"#$%&'()*+, 86 |    87 |  88 |  89 |  90 |  91 |  92 |  93 |  !"#$% 94 |  !"#$%&'()*+,-./01 95 |  !"#$%&'()*+,-./0123456789:; 96 |  !"#$%&'()*+,-./0123456789:;<=>?@AB 97 |  !"#$%&'()*+,-./01 98 |  99 |  100 |   101 |  102 |  103 |  104 |  105 |  106 |  !"# !"# !"#$%&'$%&'$%&'()*  107 |  108 | +,-. !"# !"#$%&'$%&' 109 |  110 |  111 |  !"# !"# !"#$%&'$%&'$%&'()*  112 |  113 | +,-. !"# !"#$%&'$%&' 114 |  115 |  116 |  !"# !"# !"#$%&'$%&'$%&'()*  117 |  118 | +,-. !"# !"#$%&'$%&' 119 |  120 |  121 |  !"# !"# !"#$%&'$%&'$%&'()*  122 |  123 | +,-. !"# !"#$%&'$%&' 124 |  125 |  126 |  !"# !"# !"#$%&'$%&'$%&'()*  127 |  128 | +,-. !"# !"#$%&'$%&' 129 |  130 |  131 |  132 |  133 |  134 |  !"#$%&'(%) 135 | *+,-./01"# 136 |  !"#$% 137 |  138 |  139 |  140 |  141 |  142 |  143 |  144 |   -------------------------------------------------------------------------------- /Source/LEVEL_5/STATE.RST: -------------------------------------------------------------------------------- 1 | [edit-] 2 | screen=80 50 3 | toggles=1 1 0 1 0 0 4 | srch=VIS_ 5 | src= 6 | rpl= 7 | file=c:\source\batman\level_5\icebergs.68k 1 31 17 42 8 | [brief] 9 | file=c:\source\batman\level_5\icebergs.68k 1 31 17 42 21 47 39 25 c=0 10 | file=c:\source\batman\level_5\boat.68k 1 1 1 1 41 47 59 25 c=1 11 | file=c:\source\batman\level_5\skull.68k 24 34 41 45 41 23 59 1 c=2 12 | file=c:\source\batman\level_5\duck.68k 17 12 33 23 61 23 78 1 c=3 13 | file=c:\source\batman\level_5\boat.68k 1 1 1 1 61 47 78 25 c=4 14 | file=c:\source\batman\level_5\boat.68k 17 150 34 161 1 23 19 1 c=5 15 | file=c:\source\batman\level_5\jetski.68k 13 68 30 82 21 23 39 1 c=6 16 | file=c:\source\batman\level_5\mines.68k 22 14 39 32 1 47 19 25 c=1 17 | file=c:\source\batman\level_5\penguins.68k 0 0 1 1 18 | file=c:\source\batman\level_5\ramp.68k 0 0 1 1 19 | file=c:\source\batman\level_5\bouys.68k 0 0 1 1 20 | [shared-] 21 | pmark=c:\source\batman\level_5\icebergs.68k 17 42 22 |  -------------------------------------------------------------------------------- /Source/LOGIC.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/LOGIC.68K -------------------------------------------------------------------------------- /Source/MAIN.SYM: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/MAIN.SYM -------------------------------------------------------------------------------- /Source/MAI_AP.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/MAI_AP.68K -------------------------------------------------------------------------------- /Source/OBJECT.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/OBJECT.68K -------------------------------------------------------------------------------- /Source/PANEL.EQU: -------------------------------------------------------------------------------- 1 | 2 | PANEL_MAP 3 | 4 | ;---------------------------------------------------------------------------- 5 | ; MAPA from ptest2.gen 6 | ; 7 | ; Map Width = 32 8 | ; Map Height = 9 9 | ;---------------------------------------------------------------------------- 10 | ; Row #0 11 | DC.W $0069,$0001,$0001,$0001,$0001,$0001,$0001,$0002 12 | DC.W $0003,$0004,$0005,$0005,$0005,$0005,$0005,$0006 13 | DC.W $0007,$0008,$0009,$000A,$000B,$000C,$0069,$0001 14 | DC.W $0001,$0001,$0001,$0001,$0001,$0001,$0001,$0002 15 | ; Row #1 16 | DC.W $000D,$000E,$000E,$000E,$000E,$000E,$000E,$000F 17 | DC.W $0010,$0011,$0012,$0012,$0012,$0012,$0012,$0013 18 | DC.W $0014,$0015,$0016,$000E,$0017,$0018,$000D,$0019 19 | DC.W $0019,$0019,$0000,$001A,$001B,$001C,$001D,$000F 20 | ; Row #2 21 | DC.W $001E,$001F,$001F,$001F,$001F,$001F,$001F,$0020 22 | DC.W $0021,$0022,$0023,$0023,$0023,$0023,$0023,$0024 23 | DC.W $0025,$0021,$0026,$001F,$0027,$0028,$001E,$0029 24 | DC.W $002A,$002B,$002C,$001D,$001D,$001D,$001D,$0020 25 | ; Row #3 26 | DC.W $002D,$002E,$002E,$002E,$002E,$002E,$002E,$002F 27 | DC.W $0030,$0031,$0032,$0032,$0032,$0032,$0032,$0033 28 | DC.W $0034,$0030,$0035,$0036,$0037,$0038,$002D,$002E 29 | DC.W $002E,$002E,$002E,$002E,$002E,$002E,$002E,$002F 30 | ; Row #4 31 | DC.W $000E,$0039,$003A,$003B,$003B,$003C,$003D,$003D 32 | DC.W $003E,$003F,$003F,$0012,$0040,$0041,$0012,$0040 33 | DC.W $0041,$0012,$0040,$0041,$0012,$0040,$0041,$0012 34 | DC.W $0040,$0041,$0013,$0042,$0000,$0000,$0000,$0000 35 | ; Row #5 36 | DC.W $180E,$1839,$0043,$183B,$0044,$0045,$0044,$0046 37 | DC.W $0043,$183F,$0044,$0023,$0047,$0048,$0023,$0047 38 | DC.W $0048,$0023,$0047,$0048,$0023,$0047,$0048,$0023 39 | DC.W $0047,$0048,$0024,$0049,$0000,$0000,$0000,$0000 40 | ; Row #6 41 | DC.W $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 42 | DC.W $0000,$0000,$0000,$0000,$201A,$204A,$204B,$201B 43 | DC.W $204C,$204D,$201C,$204E,$204F,$201D,$2050,$2051 44 | DC.W $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 45 | ; Row #7 46 | DC.W $2029,$2052,$2053,$202A,$2054,$2055,$202B,$2056 47 | DC.W $2057,$202C,$2058,$2059,$201D,$205A,$205B,$201D 48 | DC.W $205A,$205C,$201D,$205D,$205E,$201D,$205D,$205E 49 | DC.W $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 50 | ; Row #8 51 | DC.W $0019,$005F,$0060,$0061,$0062,$0063,$0064,$0065 52 | DC.W $0066,$0067,$0068,$0048,$2047,$2048,$0048,$2047 53 | DC.W $2048,$0048,$2047,$2048,$0048,$2047,$2048,$0048 54 | DC.W $2047,$2048,$0049,$0049,$0000,$0000,$0000,$0000 55 | 56 | 57 | PANEL_CHARS 58 | 59 | ;---------------------------------------------------------------------------- 60 | ;Character Set from ptest2.gen 61 | ;---------------------------------------------------------------------------- 62 | ; Char #0 63 | DC.L $11111111,$11111111,$11111111,$11111111 64 | DC.L $11111111,$11111111,$11111111,$11111111 65 | ; Char #1 66 | DC.L $11111111,$44444444,$33333333,$22222222 67 | DC.L $33333333,$99999999,$44444444,$11111111 68 | ; Char #2 69 | DC.L $11111111,$44444444,$33333333,$22221111 70 | DC.L $33321111,$99311111,$49211111,$23111111 71 | ; Char #3 72 | DC.L $11121111,$44954499,$33293333,$22132222 73 | DC.L $22132222,$22132222,$11121111,$11121111 74 | ; Char #4 75 | DC.L $FF222222,$399F3333,$2344F999,$12955555 76 | DC.L $12F54444,$12374444,$12344444,$12344449 77 | ; Char #5 78 | DC.L $22222222,$33333333,$99999999,$55555555 79 | DC.L $44444444,$44444444,$44444444,$99999999 80 | ; Char #6 81 | DC.L $22222222,$33333333,$99999999,$55555555 82 | DC.L $44444444,$44444444,$44444444,$99999944 83 | ; Char #7 84 | DC.L $22221111,$33222394,$93211233,$4F111122 85 | DC.L $43111122,$43111122,$43111111,$43111111 86 | ; Char #8 87 | DC.L $11131111,$44354493,$33243313,$22132212 88 | DC.L $22132212,$22132212,$11121112,$11121112 89 | ; Char #9 90 | DC.L $11111111,$39944444,$311233F3,$931121F9 91 | DC.L $F4211344,$34411975,$3F549559,$39755431 92 | ; Char #10 93 | DC.L $11111111,$44444444,$3FF22233,$9F333F11 94 | DC.L $4F99F332,$544F99F3,$31111112,$11111111 95 | ; Char #11 96 | DC.L $11111111,$44932211,$33223311,$11399211 97 | DC.L $399FF111,$39942111,$3F491111,$13421111 98 | ; Char #12 99 | DC.L $11111113,$39444435,$23333324,$22222213 100 | DC.L $22222213,$22222213,$11111112,$11111112 101 | ; Char #13 102 | DC.L $12F39454,$12F3945F,$12F39949,$12F39343 103 | DC.L $12F393F1,$12239191,$12239131,$22239131 104 | ; Char #14 105 | DC.L $11111111,$11111111,$11222211,$12122121 106 | DC.L $12211221,$12211221,$12211121,$12122211 107 | ; Char #15 108 | DC.L $13111111,$12111111,$11111111,$11111112 109 | DC.L $11111112,$11111112,$11111122,$11111122 110 | ; Char #16 111 | DC.L $11121111,$11121111,$11121111,$21121122 112 | DC.L $21121122,$21121122,$21121122,$21121122 113 | ; Char #17 114 | DC.L $12344449,$12344443,$12349993,$12349993 115 | DC.L $12349993,$12349999,$12343333,$12343333 116 | ; Char #18 117 | DC.L $11111111,$13221322,$12221222,$12221222 118 | DC.L $11111111,$44444444,$33333333,$33333333 119 | ; Char #19 120 | DC.L $11111444,$13221499,$12221499,$12221499 121 | DC.L $11111499,$44444599,$33333333,$33333333 122 | ; Char #20 123 | DC.L $43111111,$92111111,$92111111,$92111211 124 | DC.L $92111211,$92111211,$31111211,$31112211 125 | ; Char #21 126 | DC.L $11121112,$11121111,$11121111,$11122221 127 | DC.L $11122221,$11122221,$11122221,$11122222 128 | ; Char #22 129 | DC.L $39754339,$39443349,$39491F51,$394324F1 130 | DC.L $39432431,$29412921,$2F411911,$2F411311 131 | ; Char #23 132 | DC.L $11911111,$11311111,$11111111,$11111112 133 | DC.L $11111112,$11111112,$11111112,$11211122 134 | ; Char #24 135 | DC.L $11111112,$11111112,$11111112,$11111113 136 | DC.L $11111113,$11111113,$11111113,$11111113 137 | ; Char #25 138 | DC.L $12222211,$21111121,$22111221,$21222121 139 | DC.L $22111221,$21111121,$12222211,$11111111 140 | ; Char #26 141 | DC.L $11111111,$11111111,$11111111,$11111111 142 | DC.L $11111111,$11112221,$11112221,$22212221 143 | ; Char #27 144 | DC.L $11111111,$11111111,$11112221,$22212221 145 | DC.L $22212221,$22212221,$22212221,$22212221 146 | ; Char #28 147 | DC.L $11112221,$22212221,$22212221,$22212221 148 | DC.L $22212221,$22212221,$22212221,$22212221 149 | ; Char #29 150 | DC.L $22212221,$22212221,$22212221,$22212221 151 | DC.L $22212221,$22212221,$22212221,$22212221 152 | ; Char #30 153 | DC.L $33239131,$33239111,$33239111,$33239111 154 | DC.L $333F9111,$99939111,$99939111,$99939311 155 | ; Char #31 156 | DC.L $11222121,$12111221,$12211221,$12211221 157 | DC.L $12122121,$11222211,$11111111,$11111111 158 | ; Char #32 159 | DC.L $12111132,$12111232,$12111232,$13111332 160 | DC.L $13212F32,$29212933,$39113933,$33129933 161 | ; Char #33 162 | DC.L $22132233,$22132233,$22132333,$22133333 163 | DC.L $22133333,$33F49999,$39349999,$99349999 164 | ; Char #34 165 | DC.L $F2343333,$F2343333,$32343332,$32342221 166 | DC.L $32342221,$9F342221,$99342221,$99342221 167 | ; Char #35 168 | DC.L $33333333,$33333333,$22222222,$11111111 169 | DC.L $1FDD1FDD,$1DDD1DDD,$1DD81DD8,$11111111 170 | ; Char #36 171 | DC.L $33333333,$33333333,$22222333,$11111422 172 | DC.L $1F111422,$11111422,$11181422,$11111422 173 | ; Char #37 174 | DC.L $31113222,$31113222,$31113222,$2111F222 175 | DC.L $2112F322,$21129333,$21139333,$211F9333 176 | ; Char #38 177 | DC.L $23411311,$23411211,$23F11211,$23F11111 178 | DC.L $33911111,$93921111,$93931111,$9FF91111 179 | ; Char #39 180 | DC.L $11211122,$11211132,$11311232,$12311232 181 | DC.L $13311332,$19312933,$39113933,$33129933 182 | ; Char #40 183 | DC.L $22222329,$22222329,$22223329,$22223329 184 | DC.L $22233329,$33F99934,$3F999934,$39999934 185 | ; Char #41 186 | DC.L $11111111,$11111111,$11111111,$11111111 187 | DC.L $11111111,$11111111,$11111111,$22212221 188 | ; Char #42 189 | DC.L $11111111,$11111111,$11111111,$11111111 190 | DC.L $11111111,$11111111,$22212221,$22212221 191 | ; Char #43 192 | DC.L $11111111,$11111111,$11111111,$11111111 193 | DC.L $11112221,$22212221,$22212221,$22212221 194 | ; Char #44 195 | DC.L $11111111,$11112221,$11112221,$22212221 196 | DC.L $22212221,$22212221,$22212221,$22212221 197 | ; Char #45 198 | DC.L $999F9931,$9999F944,$44444445,$44444444 199 | DC.L $44444444,$44444444,$44444444,$55555555 200 | ; Char #46 201 | DC.L $11111111,$44444444,$55555555,$44444444 202 | DC.L $44444444,$44444444,$44444444,$55555555 203 | ; Char #47 204 | DC.L $21134939,$44455999,$55554444,$44444444 205 | DC.L $44444444,$44444444,$44444444,$55555555 206 | ; Char #48 207 | DC.L $99349999,$99349999,$44954444,$44954444 208 | DC.L $44954444,$44954444,$44954444,$55465555 209 | ; Char #49 210 | DC.L $99341112,$99341111,$44941111,$44941111 211 | DC.L $44441111,$44445555,$44444444,$55555555 212 | ; Char #50 213 | DC.L $44444444,$11111111,$11111111,$11111111 214 | DC.L $11111111,$55555555,$44444444,$55555555 215 | ; Char #51 216 | DC.L $44444511,$11111111,$11111111,$11111111 217 | DC.L $11111111,$55555555,$44444444,$55555555 218 | ; Char #52 219 | DC.L $111F9333,$11194339,$11294344,$11344444 220 | DC.L $11954444,$55554444,$44444444,$55555555 221 | ; Char #53 222 | DC.L $99393111,$99FF9311,$4449F493,$44449444 223 | DC.L $44444445,$44444444,$44444444,$55555555 224 | ; Char #54 225 | DC.L $11111112,$11111111,$32111233,$44444444 226 | DC.L $55555555,$44444444,$44444444,$55555555 227 | ; Char #55 228 | DC.L $21234F33,$22944F39,$99459944,$45549444 229 | DC.L $55444444,$44444444,$44444444,$55555555 230 | ; Char #56 231 | DC.L $99999934,$99999934,$44444495,$44444495 232 | DC.L $44444495,$44444495,$44444495,$55555545 233 | ; Char #57 234 | DC.L $11111111,$11111111,$11666611,$16166161 235 | DC.L $16611661,$16611661,$16611161,$16122211 236 | ; Char #58 237 | DC.L $11111111,$11111111,$11222211,$12122161 238 | DC.L $12211661,$12211661,$12211161,$12122211 239 | ; Char #59 240 | DC.L $11111111,$11111111,$11666611,$12166161 241 | DC.L $12211661,$12211661,$12211161,$12166611 242 | ; Char #60 243 | DC.L $11111111,$11111111,$11222211,$16122161 244 | DC.L $16611661,$16611661,$16611161,$16166611 245 | ; Char #61 246 | DC.L $11111111,$11111111,$11666611,$16166121 247 | DC.L $16611221,$16611221,$16611121,$16166611 248 | ; Char #62 249 | DC.L $11111111,$11111111,$11666611,$12166161 250 | DC.L $12211661,$12211661,$12211161,$12122211 251 | ; Char #63 252 | DC.L $11111111,$11111111,$11666611,$16166161 253 | DC.L $16611661,$16611661,$16611161,$16166611 254 | ; Char #64 255 | DC.L $11111111,$17661322,$16661222,$166C1222 256 | DC.L $11111111,$44444444,$33333333,$33333333 257 | ; Char #65 258 | DC.L $11111111,$17661766,$16661666,$166C166C 259 | DC.L $11111111,$44444444,$33333333,$33333333 260 | ; Char #66 261 | DC.L $11111444,$17661499,$16661499,$166C1499 262 | DC.L $11111499,$44444599,$33333333,$33333333 263 | ; Char #67 264 | DC.L $11222161,$12111661,$12211661,$12211661 265 | DC.L $12122161,$11222211,$11111111,$11111111 266 | ; Char #68 267 | DC.L $11666161,$12111661,$12211661,$12211661 268 | DC.L $12166161,$11666611,$11111111,$11111111 269 | ; Char #69 270 | DC.L $11666161,$12111661,$12211661,$12211661 271 | DC.L $12122161,$11222211,$11111111,$11111111 272 | ; Char #70 273 | DC.L $11666161,$16111661,$16611661,$16611661 274 | DC.L $16166161,$11666611,$11111111,$11111111 275 | ; Char #71 276 | DC.L $33333333,$33333333,$22222222,$11111111 277 | DC.L $1CAA1FDD,$1AAA1DDD,$1AAB1DD8,$11111111 278 | ; Char #72 279 | DC.L $33333333,$33333333,$22222222,$11111111 280 | DC.L $1CAA1CAA,$1AAA1AAA,$1AAB1AAB,$11111111 281 | ; Char #73 282 | DC.L $33333333,$33333333,$22222333,$11111422 283 | DC.L $1CAA1422,$1AAA1422,$1AAB1422,$11111422 284 | ; Char #74 285 | DC.L $11111111,$11111111,$11111111,$11111111 286 | DC.L $11111111,$11112221,$11112221,$E7412221 287 | ; Char #75 288 | DC.L $11111111,$11111111,$11111111,$11111111 289 | DC.L $11111111,$1111E741,$11117491,$E7417491 290 | ; Char #76 291 | DC.L $11111111,$11111111,$11112221,$E7412221 292 | DC.L $74912221,$74912221,$74912221,$74912221 293 | ; Char #77 294 | DC.L $11111111,$11111111,$1111EAB1,$E741AB51 295 | DC.L $7491AB51,$7491AB51,$7491AB51,$7491AB51 296 | ; Char #78 297 | DC.L $11112221,$EAB12221,$AB512221,$AB512221 298 | DC.L $AB512221,$AB512221,$AB512221,$AB512221 299 | ; Char #79 300 | DC.L $1111EAB1,$EAB1AB51,$AB51AB51,$AB51AB51 301 | DC.L $AB51AB51,$AB51AB51,$AB51AB51,$AB51AB51 302 | ; Char #80 303 | DC.L $EAB12221,$AB512221,$AB512221,$AB512221 304 | DC.L $AB512221,$AB512221,$AB512221,$AB512221 305 | ; Char #81 306 | DC.L $EAB1EBB1,$AB51AB51,$AB51AB51,$AB51AB51 307 | DC.L $AB51AB51,$AB51AB51,$AB51AB51,$AB51AB51 308 | ; Char #82 309 | DC.L $11111111,$11111111,$11111111,$11111111 310 | DC.L $11111111,$11111111,$11111111,$E6F12221 311 | ; Char #83 312 | DC.L $11111111,$11111111,$11111111,$11111111 313 | DC.L $11111111,$11111111,$11111111,$E6F1E6F1 314 | ; Char #84 315 | DC.L $11111111,$11111111,$11111111,$11111111 316 | DC.L $11111111,$11111111,$E6F12221,$F8812221 317 | ; Char #85 318 | DC.L $11111111,$11111111,$11111111,$11111111 319 | DC.L $11111111,$11111111,$E6F1E6F1,$F881F881 320 | ; Char #86 321 | DC.L $11111111,$11111111,$11111111,$11111111 322 | DC.L $11112221,$E6F12221,$6F812221,$F8812221 323 | ; Char #87 324 | DC.L $11111111,$11111111,$11111111,$11111111 325 | DC.L $1111E6F1,$E6F16F81,$6F816F81,$F881F881 326 | ; Char #88 327 | DC.L $11111111,$11112221,$11112221,$E7412221 328 | DC.L $74912221,$74912221,$74912221,$49912221 329 | ; Char #89 330 | DC.L $11111111,$1111E741,$11117491,$E7417491 331 | DC.L $74917491,$74917491,$74917491,$49914991 332 | ; Char #90 333 | DC.L $74912221,$74912221,$74912221,$74912221 334 | DC.L $74912221,$74912221,$74912221,$49912221 335 | ; Char #91 336 | DC.L $74917491,$74917491,$74917491,$74917491 337 | DC.L $74917491,$74917491,$74917491,$49914991 338 | ; Char #92 339 | DC.L $7491AB51,$7491AB51,$7491AB51,$7491AB51 340 | DC.L $7491AB51,$7491AB51,$7491AB51,$4991B551 341 | ; Char #93 342 | DC.L $AB512221,$AB512221,$AB512221,$AB512221 343 | DC.L $AB512221,$AB512221,$AB512221,$B5512221 344 | ; Char #94 345 | DC.L $AB51AB51,$AB51AB51,$AB51AB51,$AB51AB51 346 | DC.L $AB51AB51,$AB51AB51,$AB51AB51,$B551B551 347 | ; Char #95 348 | DC.L $16666611,$63111361,$66111661,$53222351 349 | DC.L $66111661,$63111361,$16666611,$11111111 350 | ; Char #96 351 | DC.L $12222211,$21111361,$22111661,$21222351 352 | DC.L $22111661,$21111361,$12222211,$11111111 353 | ; Char #97 354 | DC.L $16666611,$21111361,$22111661,$53666351 355 | DC.L $66111221,$63111121,$16666611,$11111111 356 | ; Char #98 357 | DC.L $16666611,$21111361,$22111661,$23666351 358 | DC.L $22111661,$21111361,$16666611,$11111111 359 | ; Char #99 360 | DC.L $12222211,$63111361,$66111661,$53666351 361 | DC.L $22111661,$21111361,$12222211,$11111111 362 | ; Char #100 363 | DC.L $16666611,$63111121,$66111221,$53666351 364 | DC.L $22111661,$21111361,$16666611,$11111111 365 | ; Char #101 366 | DC.L $16666611,$63111121,$66111221,$53666351 367 | DC.L $66111661,$63111361,$16666611,$11111111 368 | ; Char #102 369 | DC.L $16666611,$21111361,$22111661,$21222351 370 | DC.L $22111661,$21111361,$12222211,$11111111 371 | ; Char #103 372 | DC.L $16666611,$63111361,$66111661,$53666351 373 | DC.L $66111661,$63111361,$16666611,$11111111 374 | ; Char #104 375 | DC.L $16666611,$63111361,$66111661,$53666351 376 | DC.L $22111661,$21111361,$16666611,$11111111 377 | ; Char #105 378 | DC.L $11111111,$44444444,$33333333,$11FF2222 379 | DC.L $12399F33,$12F944F9,$12FF4557,$12F39555 380 |  -------------------------------------------------------------------------------- /Source/ROAD.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/ROAD.68K -------------------------------------------------------------------------------- /Source/SCALE.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/SCALE.68K -------------------------------------------------------------------------------- /Source/SHELL.EQU: -------------------------------------------------------------------------------- 1 | load_titlepage equ 0 ;titlepage 2 | load_options equ 1 ;options screen 3 | load_tween1 equ 2 ;going to driving module 4 | load_tween2 equ 3 ;going to sewer module 5 | load_continue equ 4 ;penguin 6 | load_gameover1 equ 5 ;penguin 7 | load_finale1 equ 6 ;full game ending 8 | load_finale2 equ 7 ;driving only game ending 9 | load_demo1 equ 8 ;platform demo 10 | load_demo2 equ 9 ;driving demo 11 | load_gameover2 equ 10 ;catwoman 12 | load_training equ 11 ;training mode message 13 | load_contdrv1 equ 12 ;continue driving 14 | load_contdrv2 equ 13 ;continue sewer 15 | 16 | load_driving1 equ 16 ;load driving module #1 17 | load_driving2 equ 17 ;load driving module #2 18 | load_driving3 equ 18 ;load driving module #3 19 | load_driving4 equ 19 ;load driving module #4 20 | load_driving5 equ 20 ;load driving module #5 21 | 22 | load_platform1 equ 21 ;load platform module #1 23 | load_platform2 equ 22 ;load platform module #2 24 | load_platform3 equ 23 ;load platform module #3 25 | load_platform4 equ 24 ;load platform module #4 26 | load_platform5 equ 25 ;load platform module #5 27 | load_platform6 equ 26 ;load platform module #6 28 | 29 | load_data equ $602c ;.w 30 | load_rout equ $6036 31 | 32 | music_data1 equ $602c ;.w/.b 33 | music_data2 equ $602d ;.b 34 | music_rout equ $603a 35 | 36 | fader equ -1 37 | pause equ -2 38 | 39 | load_main equ $fffffb00 40 | 41 | tween1_data equ $6fa0 ;.b 42 | tween2_data equ $6fa1 ;.b 43 | 44 | 45 | ; 46 | ; CALLING EXAMPLES SUB SIDE 47 | ; 48 | ; 49 | ;load move.w #load_driving1,load_data 50 | ; jsr load_rout 51 | ; 52 | ;music move.w #,music_data1 53 | ; jsr music_rout 54 | ; 55 | ;fader move.w #fader,music_data1 56 | ; jsr music_rout 57 | ; jsr wait_5secs ;wait fro 5 seconds 58 | ; move.w #pause,music_data1 59 | ; jsr music_rout 60 | ; move.w #,music_data1 61 | ; jsr music_rout 62 | ; 63 | 64 | 65 | 66 | ;; ** DATA AREAS ** ;; 67 | 68 | ; $6f80 - GAME VARS 69 | ; 70 | ; $6f90 - OPTION SCREEN VARS 71 | ; - $6f90 GAME TYPE (0-2) 72 | ; 0 = platform only 73 | ; 1 = driving only 74 | ; 2 = full game 75 | ; - $6f91 DIFFICULTY (0-2) 76 | ; 0 = training (unlimited continues) 77 | ; 1 = normal (3 continues) 78 | ; 2 = hard (1 continue) 79 | ; - $6f92 DRIVING CONTROL (0-5) 80 | ; 0 = 81 | ; 1 = 82 | ; 2 = 83 | ; 3 = 84 | ; 4 = 85 | ; 5 = 86 | ; - $6f93 PLATFORM CONTROL (0-5) 87 | ; 0 = 88 | ; 1 = 89 | ; 2 = 90 | ; 3 = 91 | ; 4 = 92 | ; 5 = 93 | ; - $6f94 LIVES (copied to GAME VARS) 94 | ; - $6f95 MUSIC (0/1) 95 | ; 0 = off 96 | ; 1 = on 97 | ; - $6f96 SFX (0/1) 98 | ; 0 = off 99 | ; 1 = on 100 | ; 101 | ; $6fa0 - SHELL VARS 102 | ; - $6fa0 TWEEN #1 (0-2) 103 | ; 0 = going to driving module #1 104 | ; 1 = going to driving module #2 105 | ; 2 = going to driving module #3 106 | ; - $6fa1 TWEEN #2 (0-1) 107 | ; 0 = going to sewer module #1 108 | ; 1 = going to sewer module #2 109 | ; - $6fa2 CONTINUE (store return load #) 110 | ; - $6fa4 MISC #1 111 | ; - $6fa5 MISC #2 112 | ; - $6fa6 MISC #3 113 | ; - $6fa7 MISC #4 114 | 115 | 116 | -------------------------------------------------------------------------------- /Source/SINTAB.BIN: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/SINTAB.BIN -------------------------------------------------------------------------------- /Source/SKI_CTRL.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/SKI_CTRL.68K -------------------------------------------------------------------------------- /Source/SNBUG68K.CF5: -------------------------------------------------------------------------------- 1 | #readram 2 | 00000000 0001FFFF 3 | 00FF0000 00FFFFFF 4 | #writeram 5 | 00000000 0001FFFF 6 | 00FF0000 00FFFFFF 7 | #update 8 | FF 0255 9 | #video 10 | 56 84 3C 11 | #label level 12 | 02 7F 7F 13 | #colour attributes 14 | 0A 07 0F 3E E0 40 5E 04 0C 70 C0 0C 0A 00 00 00 15 | #mono attributes 16 | 0F 07 0F 70 70 07 70 0F 09 70 01 07 0F 00 00 00 17 | #window 18 | 01 00 00 19 | 00 00 83 08 0A 01 20 | 00000000 21 | #window 22 | 02 00 00 23 | 00 08 83 21 0A 09 24 | 00000000 25 | #window 26 | 83 00 00 27 | 00 21 83 3A 08 33 28 | 0000001C 29 | #bstate 30 | FF 00 00 31 | -------------------------------------------------------------------------------- /Source/SNBUG68K.CF7: -------------------------------------------------------------------------------- 1 | #readram 2 | 00000000 0001FFFF 3 | 00FF0000 00FFFFFF 4 | #writeram 5 | 00000000 0001FFFF 6 | 00FF0000 00FFFFFF 7 | #update 8 | FF 0255 9 | #video 10 | 56 84 3C 11 | #label level 12 | 02 7F 7F 13 | #colour attributes 14 | 0A 07 0F 3E E0 40 5E 04 0C 70 C0 0C 0A 00 00 00 15 | #mono attributes 16 | 0F 07 0F 70 70 07 70 0F 09 70 01 07 0F 00 00 00 17 | #window 18 | 01 00 00 19 | 00 00 83 08 0A 01 20 | 00000000 21 | #window 22 | 02 00 00 23 | 00 08 83 21 0A 09 24 | 00000000 25 | #window 26 | 83 00 00 27 | 00 21 83 3A 08 33 28 | 0000001C 29 | #bstate 30 | FF 00 00 31 | -------------------------------------------------------------------------------- /Source/SN_MBAT.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/SN_MBAT.68K -------------------------------------------------------------------------------- /Source/SN_SBAT.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/SN_SBAT.68K -------------------------------------------------------------------------------- /Source/SN_SWAIT.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/SN_SWAIT.68K -------------------------------------------------------------------------------- /Source/SOUNDMAI.INC: -------------------------------------------------------------------------------- 1 | IF LEVEL<2 2 | 3 | Z80_CODE INCBIN BRIANS\CDAD_Z.Z80 4 | AUDIO_MAIN = 1 5 | AUDIO_SUB = 0 6 | INCLUDE BRIANS\CDAD_D00.S 7 | 8 | Z80_CLEN EQU *-Z80_CODE 9 | EVEN 10 | 11 | ELSEIF LEVEL=2 12 | 13 | Z80_CODE INCBIN BRIANS\CDAD_Z.Z80 14 | AUDIO_MAIN = 1 15 | AUDIO_SUB = 0 16 | INCLUDE BRIANS\CDAD_D00.S 17 | Z80_CLEN EQU *-Z80_CODE 18 | EVEN 19 | 20 | ELSEIF LEVEL=3 21 | 22 | Z80_CODE INCBIN BRIANS\CDAD_Z.Z80 23 | AUDIO_MAIN = 1 24 | AUDIO_SUB = 0 25 | INCLUDE BRIANS\CDAD_D00.S 26 | Z80_CLEN EQU *-Z80_CODE 27 | EVEN 28 | 29 | ELSEIF LEVEL=4 30 | 31 | Z80_CODE INCBIN BRIANS\CDAD_Z.Z80 32 | AUDIO_MAIN = 1 33 | AUDIO_SUB = 0 34 | INCLUDE BRIANS\CDAD_D04.S 35 | Z80_CLEN EQU *-Z80_CODE 36 | EVEN 37 | 38 | ELSEIF LEVEL=5 39 | 40 | Z80_CODE INCBIN BRIANS\CDAD_Z.Z80 41 | AUDIO_MAIN = 1 42 | AUDIO_SUB = 0 43 | INCLUDE BRIANS\CDAD_D04.S 44 | Z80_CLEN EQU *-Z80_CODE 45 | EVEN 46 | 47 | ENDIF 48 | 49 | 50 |  -------------------------------------------------------------------------------- /Source/SOUNDSUB.INC: -------------------------------------------------------------------------------- 1 | IF LEVEL<2 2 | 3 | INCLUDE BRIANS\CDAD_S.S 4 | AUDIO_MAIN = 0 5 | AUDIO_SUB = 1 6 | INCLUDE BRIANS\CDAD_D00.S 7 | 8 | WAVE_S00 incbin "BRIANS\BATMOB3.CD8" ;2 BLK. 9 | WAVE_E00 10 | EVEN 11 | WAVE_S01 incbin "BRIANS\ROAD0.CD8" ;1 BLK. 12 | WAVE_E01 13 | EVEN 14 | WAVE_S02 incbin "BRIANS\JET2.CD8" ;2 BLK. 15 | WAVE_E02 16 | EVEN 17 | WAVE_S03 incbin "BRIANS\SKID2.CD8" ;2 BLK 18 | WAVE_E03 19 | EVEN 20 | WAVE_S04 incbin "BRIANS\CRASH0.CD8" ;4 BLK 21 | WAVE_E04 22 | EVEN 23 | WAVE_S05 incbin "BRIANS\BAFBRN0.CD8" ;2 BLK. 24 | WAVE_E05 25 | EVEN 26 | WAVE_S06 incbin "BRIANS\TRUCK1.CD8" ;1 BLK 27 | WAVE_E06 28 | EVEN 29 | WAVE_S07 incbin "BRIANS\CLANG0.CD8" ;4 BLK. 30 | WAVE_E07 31 | EVEN 32 | WAVE_S08 incbin "BRIANS\BANG1.CD8" ;4 BLK. 33 | WAVE_E08 34 | EVEN 35 | WAVE_S09 incbin "BRIANS\EXPLOD2.CD8" ;4 BLK. 36 | WAVE_E09 37 | EVEN 38 | WAVE_S10 incbin "BRIANS\DEBRIS0.CD8" ;4 BLK 39 | WAVE_E10 40 | EVEN 41 | WAVE_S11 incbin "BRIANS\FLAMES0.CD8" ;2 BLK. 42 | WAVE_E11 43 | EVEN 44 | 45 | ELSEIF LEVEL=2 46 | 47 | INCLUDE BRIANS\CDAD_S.S 48 | AUDIO_MAIN = 0 49 | AUDIO_SUB = 1 50 | INCLUDE BRIANS\CDAD_D00.S 51 | 52 | WAVE_S00 incbin "BRIANS\BATMOB3.CD8" ;2 BLK. 53 | WAVE_E00 54 | EVEN 55 | WAVE_S01 incbin "BRIANS\ROAD0.CD8" ;1 BLK. 56 | WAVE_E01 57 | EVEN 58 | WAVE_S02 incbin "BRIANS\JET2.CD8" ;2 BLK. 59 | WAVE_E02 60 | EVEN 61 | WAVE_S03 incbin "BRIANS\SKID2.CD8" ;2 BLK 62 | WAVE_E03 63 | EVEN 64 | WAVE_S04 incbin "BRIANS\CRASH0.CD8" ;4 BLK 65 | WAVE_E04 66 | EVEN 67 | WAVE_S05 incbin "BRIANS\BAFBRN0.CD8" ;2 BLK. 68 | WAVE_E05 69 | EVEN 70 | WAVE_S06 incbin "BRIANS\TRUCK1.CD8" ;1 BLK 71 | WAVE_E06 72 | EVEN 73 | WAVE_S07 incbin "BRIANS\CLANG0.CD8" ;4 BLK. 74 | WAVE_E07 75 | EVEN 76 | WAVE_S08 incbin "BRIANS\BANG1.CD8" ;4 BLK. 77 | WAVE_E08 78 | EVEN 79 | WAVE_S09 incbin "BRIANS\EXPLOD2.CD8" ;4 BLK. 80 | WAVE_E09 81 | EVEN 82 | WAVE_S10 incbin "BRIANS\DEBRIS0.CD8" ;4 BLK 83 | WAVE_E10 84 | EVEN 85 | WAVE_S11 incbin "BRIANS\FLAMES0.CD8" ;2 BLK. 86 | WAVE_E11 87 | EVEN 88 | 89 | ELSEIF LEVEL=3 90 | 91 | INCLUDE BRIANS\CDAD_S.S 92 | AUDIO_MAIN = 0 93 | AUDIO_SUB = 1 94 | INCLUDE BRIANS\CDAD_D00.S 95 | 96 | WAVE_S00 incbin "BRIANS\BATMOB3.CD8" ;2 BLK. 97 | WAVE_E00 98 | EVEN 99 | WAVE_S01 incbin "BRIANS\ROAD0.CD8" ;1 BLK. 100 | WAVE_E01 101 | EVEN 102 | WAVE_S02 incbin "BRIANS\JET2.CD8" ;2 BLK. 103 | WAVE_E02 104 | EVEN 105 | WAVE_S03 incbin "BRIANS\SKID2.CD8" ;2 BLK 106 | WAVE_E03 107 | EVEN 108 | WAVE_S04 incbin "BRIANS\CRASH0.CD8" ;4 BLK 109 | WAVE_E04 110 | EVEN 111 | WAVE_S05 incbin "BRIANS\BAFBRN0.CD8" ;2 BLK. 112 | WAVE_E05 113 | EVEN 114 | WAVE_S06 incbin "BRIANS\TRUCK1.CD8" ;1 BLK 115 | WAVE_E06 116 | EVEN 117 | WAVE_S07 incbin "BRIANS\CLANG0.CD8" ;4 BLK. 118 | WAVE_E07 119 | EVEN 120 | WAVE_S08 incbin "BRIANS\BANG1.CD8" ;4 BLK. 121 | WAVE_E08 122 | EVEN 123 | WAVE_S09 incbin "BRIANS\EXPLOD2.CD8" ;4 BLK. 124 | WAVE_E09 125 | EVEN 126 | WAVE_S10 incbin "BRIANS\DEBRIS0.CD8" ;4 BLK 127 | WAVE_E10 128 | EVEN 129 | WAVE_S11 incbin "BRIANS\FLAMES0.CD8" ;2 BLK. 130 | WAVE_E11 131 | EVEN 132 | 133 | ELSEIF LEVEL=4 134 | 135 | INCLUDE BRIANS\CDAD_S.S 136 | AUDIO_MAIN = 0 137 | AUDIO_SUB = 1 138 | INCLUDE BRIANS\CDAD_D04.S 139 | WAVE_S00 incbin "BRIANS\BATMOB3.CD8" ;2 BLK. 140 | WAVE_E00 141 | EVEN 142 | WAVE_S01 incbin "BRIANS\ROAD0.CD8" ;1 BLK. 143 | WAVE_E01 144 | EVEN 145 | WAVE_S02 incbin "BRIANS\JET2.CD8" ;2 BLK. 146 | WAVE_E02 147 | EVEN 148 | WAVE_S03 incbin "BRIANS\SKID2.CD8" ;2 BLK 149 | WAVE_E03 150 | EVEN 151 | WAVE_S04 incbin "BRIANS\BATSKI0.CD8" ;4 BLK 152 | WAVE_E04 153 | EVEN 154 | WAVE_S05 incbin "BRIANS\BAFBRN0.CD8" ;2 BLK. 155 | WAVE_E05 156 | EVEN 157 | WAVE_S06 incbin "BRIANS\TRUCK1.CD8" ;1 BLK 158 | WAVE_E06 159 | EVEN 160 | WAVE_S07 incbin "BRIANS\CLANG0.CD8" ;4 BLK. 161 | WAVE_E07 162 | EVEN 163 | WAVE_S08 incbin "BRIANS\BANG1.CD8" ;4 BLK. 164 | WAVE_E08 165 | EVEN 166 | WAVE_S09 incbin "BRIANS\EXPLOD2.CD8" ;4 BLK. 167 | WAVE_E09 168 | EVEN 169 | WAVE_S10 incbin "BRIANS\DEBRIS0.CD8" ;4 BLK 170 | WAVE_E10 171 | EVEN 172 | WAVE_S11 incbin "BRIANS\FLAMES0.CD8" ;2 BLK. 173 | WAVE_E11 174 | ;32 BLOCKS 175 | EVEN 176 | 177 | ELSEIF LEVEL=5 178 | 179 | INCLUDE BRIANS\CDAD_S.S 180 | AUDIO_MAIN = 0 181 | AUDIO_SUB = 1 182 | INCLUDE BRIANS\CDAD_D04.S 183 | WAVE_S00 incbin "BRIANS\BATMOB3.CD8" ;2 BLK. 184 | WAVE_E00 185 | EVEN 186 | WAVE_S01 incbin "BRIANS\ROAD0.CD8" ;1 BLK. 187 | WAVE_E01 188 | EVEN 189 | WAVE_S02 incbin "BRIANS\JET2.CD8" ;2 BLK. 190 | WAVE_E02 191 | EVEN 192 | WAVE_S03 incbin "BRIANS\SKID2.CD8" ;2 BLK 193 | WAVE_E03 194 | EVEN 195 | WAVE_S04 incbin "BRIANS\BATSKI0.CD8" ;4 BLK 196 | WAVE_E04 197 | EVEN 198 | WAVE_S05 incbin "BRIANS\BAFBRN0.CD8" ;2 BLK. 199 | WAVE_E05 200 | EVEN 201 | WAVE_S06 incbin "BRIANS\TRUCK1.CD8" ;1 BLK 202 | WAVE_E06 203 | EVEN 204 | WAVE_S07 incbin "BRIANS\CLANG0.CD8" ;4 BLK. 205 | WAVE_E07 206 | EVEN 207 | WAVE_S08 incbin "BRIANS\BANG1.CD8" ;4 BLK. 208 | WAVE_E08 209 | EVEN 210 | WAVE_S09 incbin "BRIANS\EXPLOD2.CD8" ;4 BLK. 211 | WAVE_E09 212 | EVEN 213 | WAVE_S10 incbin "BRIANS\DEBRIS0.CD8" ;4 BLK 214 | WAVE_E10 215 | EVEN 216 | WAVE_S11 incbin "BRIANS\FLAMES0.CD8" ;2 BLK. 217 | WAVE_E11 218 | ;32 BLOCKS 219 | EVEN 220 | 221 | ENDIF 222 | 223 | 224 | 225 |  -------------------------------------------------------------------------------- /Source/STATE.RST: -------------------------------------------------------------------------------- 1 | [edit-] 2 | screen=132 43 3 | toggles=1 1 0 1 0 0 4 | srch=SM 5 | src=49 6 | rpl=91 7 | file=c:\source\batman\bat_ip.68k 1 1 1 1 8 | [brief] 9 | file=c:\source\batman\bat_ip.68k 1 1 1 1 1 40 130 1 c=0 10 | file=c:\source\batman\bat_sp.68k 0 0 1 1 11 | file=c:\source\batman\bip_pal.68k 0 0 1 1 12 | file=c:\source\batman\blank.68k 0 0 1 1 13 | file=c:\source\batman\car_ctrl.68k 0 0 1 1 14 | file=c:\source\batman\convert.68k 0 0 1 1 15 | file=c:\source\batman\damage.68k 0 0 1 1 16 | file=c:\source\batman\gr_ready.68k 0 0 1 1 17 | file=c:\source\batman\ipsys.68k 0 0 1 1 18 | file=c:\source\batman\iptest.68k 0 0 1 1 19 | file=c:\source\batman\logic.68k 0 0 1 1 20 | file=c:\source\batman\mai_ap.68k 0 0 1 1 21 | file=c:\source\batman\object.68k 0 0 1 1 22 | file=c:\source\batman\road.68k 0 0 1 1 23 | file=c:\source\batman\scale.68k 0 0 1 1 24 | file=c:\source\batman\ski_ctrl.68k 0 0 1 1 25 | file=c:\source\batman\sn_mbat.68k 1 1 27 28 26 | file=c:\source\batman\sn_sbat.68k 0 0 1 1 27 | file=c:\source\batman\sn_swait.68k 0 0 1 1 28 | file=c:\source\batman\stest.68k 0 0 1 1 29 | file=c:\source\batman\sub_ap.68k 0 0 1 1 30 | file=c:\source\batman\trashcan.68k 0 0 1 1 31 | file=c:\source\batman\visuals.68k 0 0 1 1 32 | file=c:\source\batman\batsnasm.prj 1 1 22 23 33 | file=c:\source\batman\3dstuff.68k 1 1 1 1 34 | file=c:\source\batman\am3d.68k 0 0 1 1 35 | file=c:\source\batman\batman.68k 0 0 1 1 36 | [shared-] 37 | pmark=c:\source\batman\bat_ip.68k 1 1 38 | [SnMake-.prjfile] 39 | BATSNASM.PRJ 40 | /i 41 | 42 | 43 | /p 44 | 45 | /f 46 | 47 | 48 | 49 | [End-SnMake-.prjfile] 50 | 51 | -------------------------------------------------------------------------------- /Source/STEST.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/STEST.68K -------------------------------------------------------------------------------- /Source/SUB.SYM: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/SUB.SYM -------------------------------------------------------------------------------- /Source/SUB_AP.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/SUB_AP.68K -------------------------------------------------------------------------------- /Source/TECH.DOC: -------------------------------------------------------------------------------- 1 | BATMAN RETURNS 2 | TECHNICAL DESCRIPTION 3 | 4 | CD-ROM VERSION (DRIVING SEQUANCES) 5 | 6 | JOHN O'BRIEN 6/8/1992 7 | 8 | 9 | STAGE DISPLAY 10 | 11 | As these sections are being done through the use of a 3D engine, most of the 12 | on-screen display will composed of a BITMAP driven screen. This BITMAP will be 13 | made from a 32x24 charactor mapped screen (utilized through playfield A). 14 | Playfield B will be used to produce a multi-layered parallax effect (this 15 | will also use H_SCROLL). The effect will be used to show clouds and skylines 16 | fadeing into the distance. 17 | 18 | There will be an information panel at the bottom of the display, this will be 19 | 4 chars high. The panel will be displayed using the WINDOW playfield. 20 | 21 | 22 | VRAM USAGE 23 | 24 | Some of the problems associated with non-bitmap machines are the constant 25 | downloading of data, having to double-buffer the display and having enough 26 | charactors available to do this in the first place. 27 | 28 | The bitmap area for Batman is 32x24, which is 768 chars. If this were 29 | double-buffered if would come to 1536 chars. At 32 bytes per char it eats 30 | through useable VRAM at a rapid rate, 49152 bytes in all, leaving just 31 | 16384 bytes for maps,sprites and various control data. Even forgeting about 32 | the memory problem trying to download data at a rate of 7K per VBL DMA would 33 | only allow us to update the display at 15 frames per second. What I am doing 34 | for Batman will allow for more charactors and a frame rate of 20 frames per 35 | second. 36 | Firstly let us start with the charactor allocation. 768 chars are needed for 37 | the first frame and only 380 chars for the second frame. 38 | 39 | 40 | ----------------------------- 41 | FRAME 1 : DMA1 : DMA2 : DMA3 : DLD1 : The download process occurs over a 42 | : : : : : period of 3 VBL's. 43 | : : : DMA6 : DLD3 : 44 | : : : : : VBL1: Do DMA1. 45 | : : : :------: VBL2: Do DMA2, allow raster to get 46 | : : : : DLD2 : ahead of us then do DLD1. 47 | : : : : : VBL3: Do DMA3, swap screen maps, 48 | : : : : DLD4 : raster is behind us so do DLD2. 49 | : : : : : VBL4: Do DMA4. 50 | ----------------------------- VBL5: Do DMA5, allow raster to get 51 | ahead of us then do DLD3. 52 | ----------------------------- VBL6: Do DMA6, swap screen maps, 53 | FRAME 2 : DMA4 : DMA5 :/ / / / / / /: raster is behind us so do DLD4. 54 | : : : / / / / / / : VBLn: Cycles back to VBL1. 55 | : : :/ / / / / / /: 56 | : : : Common with : 57 | : : :/ frame 1 /: 58 | : : : / / / / / / : 59 | : : :/ / / / / / /: 60 | : : : / / / / / / : 61 | : : :/ / / / / / /: 62 | ----------------------------- 63 | 64 | There are two char. mapped screens (frame 1 and 2). They are mapped from top 65 | to bottom so they can be directly DMAed to. The sections that frame 1 and 2 66 | are split into co-inside with the download process as laid out in the VBL 67 | process list above. 68 | 69 | PLAYFIELD_A usage (bitmap): 1148 chars. 70 | PLAYFIELD_B usage (clouds): 256 chars. 71 | WINDOW usage (panel) : 120 chars. 72 | SPRITE usage (car) : 280 chars. 73 | ------ 74 | 1804 chars. 75 | 57728 bytes. 76 | 77 | The remaining 7808 bytes in VRAM will be used as map,scroll and attribute 78 | space. 79 | 80 | 81 | GENESIS WORKSPACE USAGE 82 | 83 | This area is limited for use from $FF0000 to $FFFD00, giving us 64768 bytes 84 | of available space. 85 | For Batman this space will contain all VRAM control funtions. It will also 86 | contain any other genesis specific funtions such as reading the joypads and 87 | any Z80/FM/PSG control. 88 | There is a buffer space allocated for the bitmap so that areas from the 89 | CD-WORDRAM can copied into it in preparation for download to VRAM as opposed 90 | to DMAing to VRAM. This is laid out this way so that after VBL-DMA when any 91 | access to VRAM is many times slower it can be done without tying up 92 | CD-WORDRAM. 93 | The Batmobile sprite graphics are also stored in this area saving on CD-WORDRAM 94 | access and thus speeding up the whole process. 95 | 96 | 97 | CD-WORDRAM USAGE 98 | 99 | The WORDRAM is the graphic workspace of the cd system. It is being used to 100 | hold 3 creation screens, 2 192 line trace buffers, 1024 16x16 pixel stamps 101 | and 96 256x208 pixel maps. 102 | 103 | The creation screens are in continuous rotation and are used as follows. 104 | Screen 1 is the transfer screen. Over a period of 3 frames this screen gets 105 | accessed once every vblank, WORDRAM is unusable during this time. Screen 2 106 | is the current hardware screen. Access to this screen is only done through 107 | the line tracing hardware. Screen 3 is the "clear and direct access" screen. 108 | This screen is prepared through clearing and the downloading of non-scaled 109 | graphics. 110 | 111 | The stamp/map graphics are controled through a dynamic allocation system. 112 | When a graphic is allocated and downloaded (sets up map and stamps) the stamps 113 | used are controled through a stamp allocation table allowing for a non 114 | contiguous system to be employed. When a graphic is deallocated it still 115 | remains in memory until that space has to be used by another graphic. This is 116 | done through an aging process where the oldest deallocated graphic is thrown 117 | away to make room for the new one. 118 | 119 | The two 192 line trace buffers allow you to set one up while the hardware 120 | works from the other. 121 | 122 | 123 | CD-PROGRAM USAGE. 124 | 125 | There will be an area of 4k allocated to common level data (score etc) and 126 | for inter level control such as a cd loader. 127 | 128 | The remaining ram will be used for the game. Each level will make full use 129 | of this ram. This allows $19000 bytes for program/data, $10000 for music and 130 | sfx and $50000 for graphics per level. 131 | 132 | 133 |  -------------------------------------------------------------------------------- /Source/TRASHCAN.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/TRASHCAN.68K -------------------------------------------------------------------------------- /Source/USROM.BIN: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/USROM.BIN -------------------------------------------------------------------------------- /Source/VISUALS.68K: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RetailGameSourceCode/BatmanReturns/ca99d4b917950afc687074788f31488c257afe58/Source/VISUALS.68K -------------------------------------------------------------------------------- /Source/Z.TXT: -------------------------------------------------------------------------------- 1 | IF SOUND_INC 2 | MOVE.W #$100,Z80BusReq ;Z80 bus request on 3 | .z80w0 BTST.B #0,Z80BusReq ;wait for bus grant 4 | BNE.S .z80w0 5 | ENDIF 6 | 7 | BSR JOY0_READ ;Do joypads while Z80 halted. 8 | MOVE.W D0,MCOM_MDATA+MCOM_JOY0 9 | BSR JOY1_READ 10 | MOVE.W D0,MCOM_MDATA+MCOM_JOY1 11 | 12 | IF SOUND_INC 13 | LEA Z80Ram+$36,A4 ;A4-> Z80 Write Pointer 14 | LEA Z80Ram+$1C40,A5 ;A5-> Z80 FIFO 15 | MOVE.B (A4),D1 ;Read FIFO index from Z80 ram 16 | AND.W #$3F,D1 ;mod 64 17 | LEA MAIN_SND_XBUFF,A3 ;A3-> SUB to MAIN Xfer Buffer 18 | MOVE.W (A3)+,D2 19 | BRA.S .z80start 20 | 21 | .z80loop MOVE.B (A3)+,(A5,D1.W) ;write into FIFO 22 | ADDQ.B #1,D1 ;inc write index 23 | AND.W #$3F,D1 ;mod 64 24 | .z80start DBRA D2,.z80loop 25 | 26 | MOVE.B D1,(A4) ;Done so update FIFO pointer 27 | 28 | MOVE.W #0,Z80BusReq ;Release Z80 (bus req off) 29 | ENDIF 30 |  -------------------------------------------------------------------------------- /Source/_READ_ME.TXT: -------------------------------------------------------------------------------- 1 | Hello! 2 | 3 | This package is the complete project for Sega CD Batman Returns (3D Driving Game), developed by Acme Interactive and published by Sega of America in 1992. 4 | 5 | http://en.wikipedia.org/wiki/Batman_Returns_%28video_game%29 6 | 7 | "Batman Returns is a video game for various platforms based on the movie of the same name. The Sega console versions (i.e. Sega Mega Drive/Genesis, Sega Mega-CD, Sega Master System and Sega Game Gear) were published by Sega themselves while the NES and Super NES versions were developed and published by Konami. The DOS version was published by Konami and developed by Spirit of Discovery. The Amiga version was developed by Denton Designs, and also published by Konami. There is also an Atari Lynx version, published by Atari themselves." 8 | 9 | I am releasing this package to the community for educational purposes only. You are free to play with it and do with it as you will, but you are NOT allowed to make money out of it or profit in any way, shape or form. I know you won't. I trust you. 10 | 11 | The lead programmers on this projects were John O'Brien and Andrew Green, John programmed the 3D driving game (which this package contains), and Andrew programmed the platform game sections (which is not included in this package). I was a support programmer for the overall project, responsible for the "shell", including the intros, titlepage, menus, cut-scenes, and various other tools and stuff. I also wrote the code that glued the two seperate games together, and all the Sega CD disc loading and IO stuff. 12 | 13 | The team of artists, programmers and designers at Acme Interactive in the early 90s were some of the most talented, coolest people I've ever had the pleasure of working with in the games business. 14 | 15 | I hope you enjoy messing with this code as much as I did working on it. 16 | 17 | Cheers! 18 | 19 | Chris Shrigley - 3/27/15 20 | http://www.shrigley.com 21 | 22 | PLEASE KEEP THIS READ_ME FILE WITH THE PACKAGE. THANKS! 23 | 24 | PLEASE DO NOT LINK DIRECTLY TO THIS FILE. PLEASE LINK TO THE SOURCE CODE ARCHIVE PAGE. THANKS! 25 | --------------------------------------------------------------------------------