.FILE 'SOUNDS.ASM' .TITLE 'GSP SOUND PROCESSOR VER. 2.0' .WIDTH 132 .OPTION B,D,L,T .MNOLIST ************************************************************************** * * * COPYRIGHT (C) 1990 MIDWAY MANUFACTURING COMPANY, * * MANUFACTURERS OF BALLY/MIDWAY AMUSEMENT GAMES. * * ALL RIGHTS RESERVED. * * * ************************************************************************** ; ; GET THE SYSTEM STUFF .INCLUDE "MPROC.EQU" ;MPROC EQUATES .INCLUDE "\VIDEO\SYS\SYS.INC" ;Z UNIT SYSTEM EQUATES .INCLUDE "\VIDEO\SYS\MACROS.HDR" ;MACROS DEFINITIONS .INCLUDE "ROBO.EQU" ;SOUND HEADER ; ; .REF SOUNDSUP ; ;SOUND DRIVER STUFF ; .DEF SNDRES,ONESND,SNDLD,SNDSND,CKSNDPRI,QSNDRST .DEF MUSICOFF,YAMOFF,FADE_DOWN,ALLOFF,SNDPRC,FADE_UP,MCSPK8 ; ;SOUND HEADERS USED IN GAME ; .DEF WOO1,WOO2,BINGO,EXP3HIB,COINSND,HIMUSC,TUNE4 .DEF BUYMSC,ENDTUNE,STRYMSC,VICMSC,OUCH,GOGO,SCRM .DEF AWWSND,EESND,ONOSND,HASND,WPWPSND,WPSSND,HA2SND .DEF AWWSND2 .DEF BTUNE1,TUNE1,TUNE2,TUNE3,TUNE1B,DOOR1,SCASH,GIFT,PZLSND .DEF BTUNE2,BTUNE3 .DEF ICON,EXP3,SHOT,MISS,EXP1,TING,FSHOT,EXP3HI,TING2 .DEF MBANG,BLDS,UGH,BUBL,RIFL,HEXP,GDTH1,EXP3HIA,UGH2,UGH3 .DEF GDTH2,FREESND,CROWD1,CROWD2,SHKSND,CROWD1A,FREEMAN .DEF GRNSND,LAZSND,BEEP2,MISS2,GLSEXP,BEEP1,LOWSND .DEF BONS1,BONS2,LEGOSND,MONIN,BEEP3 .DEF MCSPK2,MCSPK3,MCSPK4,MCSPK5,MCSPK6,MCSPK7,MCSPK8 .DEF MCSPK9,MCSPK10,MCSPK11,NOWAY,ICSND .TEXT * *SOUND PROCESSOR MAKES SOUNDS FOR N-CHANNELS (CURRENTLY 4): * * CHANNEL #0 CVSD SOUNDS * CHANNEL #1 DAC A * CHANNEL #2 DAC B * CHANNEL #3 MUSIC * *THE ROUTINE "SNDRES" MUST BE CALLED TO INITAILIZE SOUND BOARD *ALSO SCRATCHPAD RAM MUST BE INITIALIZED TO ZERO *THE ROUTINE "SNDPRC" MUST BE CALLED EVERY 16MSEC. IN THE MAIN PROGRAM LOOP *(THE SAME PLACE WHERE "PRCDSP" IS NORMALLY CALLED) *MAKING A SOUND: * *SOUND TABLE FORMAT * *SOUND DESCRIPTION: * .WORD PRIORITY, TIME, SOUND CODE, (PRIORITY), (TIME), (SOUND CODE), 0 * *SOUND ENDS IN 0000. *PRIORITY WORD = 1111IENNPPPPPPPP; I=1=NON-INTERRUPTABLE, E=1=NON-INT BY EQUAL *NN=CHANNEL #(0-3); *PP=PRIORITY (00-FF), FF=HIGHEST. *TIME WORD =TTTT (0000-7FFF X 16MS). *SOUND WORD =8SSS SSS=SOUND CODE(000-FFF). *SOUND WORD =4SSS SSS=SOUND CODE (ZERO TIME SOUND CODE) *EXAMPLE 1: * * MOVI SND1,A0 ;LOAD ABSOLUTE ADDRESS OF SND1 IN A0 * CALLA ONESND ;MAKE ONE SND1 * *SND1: .WORD >F0FF,>0100,>8088,0 * *SND1 IS FOR CHANNEL=0, PRIORITY=FF (HIGHEST), TIME = 100H X 16MSEC. *SOUND CODE = 88H *SND1 WILL MAKE ONE SOUND 88H, AND NOT ALLOW IT TO BE INTERRUPTED *FOR 100H X 16MSEC., EXCEPT BY A SOUND OF EQUAL OR GREATER PRIORITY ON *CHANNEL 0 * * MOVI SND2,A0 ;LOAD SND2 ADDRESS * MOVK 3,A1 ;REPEAT IT 3 TIMES * CALLA SNDLD ;GO DO IT *SND2: .WORD >F311,>0020,>8044,>8044,0 * *SND2 IS ON CHANNEL 3, PRIORITY 11H. IT WILL MAKE ONE SOUND 44H, WAIT *20H X 16 MSEC., THEN MAKE ANOTHER SOUND 44H, WHICH CANNOT BE INTERRUPTED *FOR 20H X 16 MSEC., EXCEPT BY A SOUND OF EQUAL OR GREATER PRIORITY ON *CHANNEL 3 * *SINCE A1 IS LOADED WITH A REPEAT COUNT OF 3, THIS PROCESS WILL BE REPEATED *THREE TIMES. THE END RESULT WILL BE 6 SOUND 44H SEPERATED BY 20H X 16MSEC. * *NOTE: THE CHANNEL SPECIFIED BY "MUSICHAN" WILL CAUSE THE MUSIC SECTION OF * THE SOUND BOARD TO BE STROBED. * SNDPRI .SET 0 ;PRIORITY (00=LOWEST, FF=HIGHEST) SNDTIM .SET 010h ;TIMER 000-7FFF SNDTMR .SET 020h ;TIMER COUNTDOWN SNDST .SET 030h ;ADDRESS OF SOUND TABLE START SNDPTR .SET 050h ;POINTER TO SOUND TABLE DATA SNDREP .SET 070h ;REPEAT COUNT OF SOUND *NOTE: IF YOU CHANGE SNDSIZ, MAKE SURE ANY CODE THAT USES IT AS A DIVISOR * PERFORMS THE CORRECT OP. CURRENTLY IT IS A POWER OF 2 SO SRL IS USED. SNDSIZ .SET 080h NCHAN EQU 4 ;DECLARE NUMBER OF ALLOWED CHANNELS MUSICHAN EQU 3 ;THIS CHANNEL IS FOR THE TUNES *THESE STROBE EQUATES ARE FOR THE PINBALL SOUND CARD RESETBIT EQU 0FE00H ;THIS IS THE ^RESET BIT MUSICBIT EQU 0FD00H ;THIS IS THE YAMAHA SIDE STROBE SOUNDBIT EQU 0FD00H ;THIS IS THE SOUND SIDE STROBE *THESE STROBE EQUATES ARE FOR THE NARC SOUND CARD ***RESETBIT EQU 0FB00H ;THIS IS THE ^RESET BIT ***MUSICBIT EQU 0FD00H ;THIS IS THE YAMAHA SIDE STROBE ***SOUNDBIT EQU 0FE00H ;THIS IS THE SOUND SIDE STROBE .BSS SNDSTR,NCHAN*SNDSIZ ;RESERVE STORAGE AREA .BSS SNDEND,0 ;END OF SOUND PROCESSOR RAM ************************************************************************** * * * CLRSNDDB - CLEAR THE SOUND PROCESSOR DATA BASE * * * ************************************************************************** CLRSNDDB MMTM SP,A0,A1 MOVI SNDSTR,A1 CLR A0 CLRSDBL MOVE A0,*A1+,W CMPI SNDEND,A1 JRLO CLRSDBL MMFM SP,A0,A1 RETS * *MAKE ONE SOUND *A0=SOUND ADDRESS ONESND: MOVE A1,-*SP,L MOVK 1,A1 CALLR SNDLD MOVE *SP+,A1,L RETS * *SOUND LOADER *A0=SOUND ADDRESS, A1=REPEAT COUNT *SOUND DESCRIPTION= PRIORITY,TIME,SOUND CODE,(PRIORITY),(TIME),(SOUND CODE),0 *SOUND ENDS IN ZERO *PRIORITY WORD = 1111IENNPPPPPPPP; I=1=NON-INTERRUPTABLE, E=1=NON-INT BY EQUAL *NN=CHANNEL #(0-3); *PP=PRIORITY (00-FF), FF=HIGHEST. *TIME WORD =TTTT (0000-7FFF X 16MS). *SOUND WORD =8SSS SSS=SOUND CODE(000-FFF). *SOUND WORD =4SSS SSS=SOUND CODE (ZERO TIME SOUND CODE) SNDLD: MMTM SP,A0,A1,A2,A3,A4,A5 MOVE @SOUNDSUP,A4,W JRNZ SNDLDX ;SOMEBODY SAYS NO! MOVE *A0,A5 ;GET PRIORITY BYTE MOVE A5,A2 MOVI SNDSIZ,A3 SLL 22,A5 SRL 30,A5 ;EXTRACT CHANNEL BITS MPYU A5,A3 ADDI SNDSTR,A3 ;CALC RAM CHANNEL ADDRESS MOVE *A3(SNDPRI),A4 ;GET CURRENT PRIORITY BTST 11,A4 ;CURRENT SOUND NON-INTERRUPTABLE ? JRNE SNDLDX ;YES, CAN NEW SOUND MOVE A2,A5 ;EXTRACT PRIORITY SLL 24,A5 SRL 24,A5 SLL 24,A4 SRL 24,A4 CMP A5,A4 ;NEW ONE GREATER OR EQUAL? JRHI SNDLDX ;OLD ONE IS GREATER, FORGET NEW SOUND JRLO SNDLD1 ;NEW ONE IS GREATER, DO IT MOVE *A3(SNDPRI),A4 ;INTERRUPTABLE BY EQUAL? BTST 10,A4 JRNE SNDLDX ;NON-INTERRUPTABLE BY EQUAL, CAN NEW GUY SNDLD1: MOVE A0,A4 MOVE A3,A0 ;CHANNEL RAM ADDRESS MOVE A4,*A0(SNDPTR),L ;SETUP SOUND DATA POINTER (ROM) MOVE A4,*A0(SNDST),L ;SETUP SOUND START POINTER ; MOVE A1,*A0(SNDREP) ;REPEAT COUNT CALLR SNDUPD ;START SOUND GOING SNDLDX: MMFM SP,A0,A1,A2,A3,A4,A5 RETS * *SOUND PROCESSOR CALLED EVERY 16 MSEC. * SNDPRC: MOVI SNDSTR,A0 MOVK NCHAN,A1 SNDLP0: MOVE *A0(SNDTMR),A2 ;CHECK TIMER JREQ SNDPLP ;EQUAL, INACTIVE CHANNEL DEC A2 MOVE A2,*A0(SNDTMR) ;DEC TIME JRNE SNDPLP ;NO TIMEOUT CALLR SNDUPD ;UPDATE SOUND SNDPLP: ADDI SNDSIZ,A0 DSJS A1,SNDLP0 RETS * *UPDATE SOUND *A0=POINTER TO SOUND CHANNEL RAM * SNDUPD: SNDUP0: MOVE *A0(SNDPTR),A2,L ;GET POINTER TO ROM TABLE SNDUP1: MOVE *A2+,A3 ;GET NEXT ROM TABLE ENTRY JREQ SNDUP5 ;END OF SOUND *CHECK FOR PRIORITY CMPI ->1000,A3 JRLO SNDUP2 ;NOT PRIORITY CHANGE MOVE A3,*A0(SNDPRI) ;UPDATE PRIORITY JRUC SNDUP1 ;GO GET NEXT ONE *CHECK FOR SOUND CODE SNDUP2: CMPI 4000H,A3 JRLO SNDUP3 CMPI ->8000,A3 JRHS SNDUP2A MOVE A0,A5 SUBI SNDSTR,A5 SRL 7,A5 ;DIVIDE BY 128 CALLR SNDSND ;SEND SOUND CODE JRUC SNDUP1 ;GET THE NEXT ONE BOYS SNDUP2A: MOVE A0,A5 SUBI SNDSTR,A5 SRL 7,A5 ;DIVIDE BY 128 ************************************************************************** * * * MOVI SNDSIZ,A6 ;IF SNDSIZ IS NOT A POWER OF 2, * * DIVU A6,A5 ;USE DIVIDE TO CALCULATE SOUND CHANNEL # * * * ************************************************************************** CALLR SNDSND ;SEND SOUND CODE MOVE *A0(SNDTIM),*A0(SNDTMR) MOVE A2,*A0(SNDPTR),L ;STORE POINTER RETS *TIMER VALUE X 16MSEC. SNDUP3: MOVE A3,*A0(SNDTIM) MOVE A3,*A0(SNDTMR) JRUC SNDUP1 ;SET TIMER VALUE, AND GO GET NEXT *CHECK FOR REPEATERS SNDUP5: ; MOVE *A0(SNDREP),A3 ;CHECK REPEAT COUNT ; DEC A3 ; MOVE A3,*A0(SNDREP) ; JREQ SNDUP6 ;ALL OVER ; MOVE *A0(SNDST),*A0(SNDPTR) ; JRUC SNDUP0 ;START SOUND OVER *SOUND IS OVER CLEAR THE CHANNEL ;SNDUP6: CLR A2 MOVE A2,*A0(SNDPRI) ;CLEAR SOUND PRIORITY SNDUPX: RETS * *HARDWARE SOUND CALL *A3=SOUND CODE B0-B7 *A5=SOUND CHANNEL # * SNDSND: MMTM SP,A0,A3 MOVI 8,A0 ;SLOW DOWN FOR GRANNER & C0. DSJS A0,$ SLL 24,A3 SRL 24,A3 ;STRIP OFF BITS CMPI MUSICHAN,A5 JRNE SNDSND1 ADDI MUSICBIT,A3 ;PULL MUSIC SECTION INTERRUPT JRUC SNDSND2 SNDSND1 ADDI SOUNDBIT,A3 ;PULL SOUND SECTION INTERRUPT SNDSND2 MOVE A3,@SOUND ;HIT SOUND MOVI 8,A0 DSJS A0,$ ;SLOW IT DOWN A BIT ORI 0FF00h,A3 ;PUT OUT 1'S MOVE A3,@SOUND MMFM SP,A0,A3 RETS * *RESET SOUND BOARD, FULL RESET, CHECKSUM DINGS AND ALL * SNDRES: MMTM SP,A0 MOVI RESETBIT,A0 ;HIT RESET BIT MOVE A0,@SOUND MOVI 100,A0 ;WAIT FOR IT TO CATCH DSJS A0,$ MOVI 0FFFFh,A0 ;LET IT GO MOVE A0,@SOUND MMFM SP,A0 RETS ************************************************************************** * * * CKSNDPRI - CHECK SOUND CHANNEL FOR EXISTANCE OF A GIVEN SOUND PRIORITY * * A0 = CHANNEL # * * A1 = SOUND PRIORITY * * RETURNS: * * CARRY CLEAR = PRIORITY NOT ACTIVE * * CARRY SET = PRIORITY ACTIVE * * * ************************************************************************** CKSNDPRI MMTM SP,A0,A2 MOVI SNDSTR,A2 SLL 7,A0 ;CHANNEL x 128 ADD A2,A0 ;OFFSET TO CORRECT CHANNEL AREA MOVB *A0,A0 CMP A0,A1 JRNE CKSPRI1 ;BR = PRIORITY NOT ACTIVE SETC MMFM SP,A0,A2 RETS CKSPRI1 CLRC MMFM SP,A0,A2 RETS ************************************************************************** * * * QSNDRST - QUIET SOUND RESET, NO DIAGNOSTIC DONGERS * * * ************************************************************************** QSNDRST MMTM SP,A3,A5 CALLR SNDRES ;RESET THE BOARD CLR A3 CLR A5 CALLR SNDSND ;PEND ON DIG SIDE MOVK MUSICHAN,A5 CALLR SNDSND ;PEND ON YAMAHA SIDE MMFM SP,A3,A5 RETS ************************************************************************** * * * FADE_UP - PROCESS TO FADE THE SOUND UP * * A11 = FADE RATE * * * ************************************************************************** FADE_UP: MOVI FADE_UP_TAB,A8 JRUC FADER ************************************************************************** * * * FADE_DOWN - PROCESS TO FADE THE SOUND DOWN * * A11 = FADE RATE * * * ************************************************************************** FADE_DOWN: MOVI FADE_DOWN_TAB,A8 JRUC FADER FADER: MOVI FADEPID,A0 CLR A1 NOT A1 CALLA KILALL ;WASTE ANY OTHER FADERS FADE_LP: MOVE *A8+,A0,L JRZ FADE_DONE CALLR ONESND SLOOPR A11,FADE_LP FADE_DONE: DIE FADE_UP_TAB: .LONG VOLUME0 .LONG VOLUME1 .LONG VOLUME2 .LONG VOLUME3 .LONG VOLUME4 .LONG VOLUME5 .LONG VOLUME6 .LONG VOLUME7 .LONG VOLUME8 .LONG VOLUME9 .LONG VOLUMEA .LONG VOLUMEB .LONG VOLUMEC .LONG VOLUMED .LONG VOLUMEE .LONG VOLUMEF .LONG 0 FADE_DOWN_TAB: .LONG VOLUMEF .LONG VOLUMEE .LONG VOLUMED .LONG VOLUMEC .LONG VOLUMEB .LONG VOLUMEA .LONG VOLUME9 .LONG VOLUME8 .LONG VOLUME7 .LONG VOLUME6 .LONG VOLUME5 .LONG VOLUME4 .LONG VOLUME3 .LONG VOLUME2 .LONG VOLUME1 .LONG VOLUME0 .LONG 0 ************************************************************************** * * * POPULAR SOUND CALLS * * * ************************************************************************** * *HIGH PRIORITY OFF CODES, NOTHING SHOULD BEAT THESE CVSDOFF .WORD >F0FF|>800-10H,>01,>8000,0 ;CVSD BACKGROUND LOOP OFF CVSDFOFF .WORD >F0FF|>800-10H,>01,>8000,0 ;CVSD FOREGROUND LOOP OFF SOUNDOFF .WORD >F0FF|>800-10H,>01,>8000,0 ;TURN SOUND SIDE OFF ALLOFF .WORD >F0FF|>800-10H,>01,>8000,0 ;ALL CVSD & DAC SOUNDS OFF MUSICOFF .WORD >F3FC|>800-10H,>01,>8000,0 ;MUSIC HARD OFF MUSITOFF .WORD >F3FF|>800-10H,>01,>8040,0 ;MUSIC TRANSITION OFF YAMOFF .WORD >F3FF-10H,>01,>807F,0 ;YAMAHA EFFECT OFF DIGOFF .WORD >F0FF|>800-10H,>01,>8000,0 ;TURN SOUND SIDE OFF VOLUME0 .WORD >F3FE-10H,>1,>402F,>806F,0 VOLUME1 .WORD >F3FE-10H,>1,>402E,>806E,0 VOLUME2 .WORD >F3FE-10H,>1,>402D,>806D,0 VOLUME3 .WORD >F3FE-10H,>1,>402C,>806C,0 VOLUME4 .WORD >F3FE-10H,>1,>402B,>806B,0 VOLUME5 .WORD >F3FE-10H,>1,>402A,>806A,0 VOLUME6 .WORD >F3FE-10H,>1,>4029,>8069,0 VOLUME7 .WORD >F3FE-10H,>1,>4028,>8068,0 VOLUME8 .WORD >F3FE-10H,>1,>4027,>8067,0 VOLUME9 .WORD >F3FE-10H,>1,>4026,>8066,0 VOLUMEA .WORD >F3FE-10H,>1,>4025,>8065,0 VOLUMEB .WORD >F3FE-10H,>1,>4024,>8064,0 VOLUMEC .WORD >F3FE-10H,>1,>4023,>8063,0 VOLUMED .WORD >F3FE-10H,>1,>4022,>8062,0 VOLUMEE .WORD >F3FE-10H,>1,>4021,>8061,0 VOLUMEF .WORD >F3FE-10H,>1,>4020,>8060,0 ; * SMASH TV SOUND TABLE * CHANNEL #0 CVSD SOUNDS * CHANNEL #1 DAC A * CHANNEL #2 MUSIC * CHANNEL #3 FOREGROUND *------------------------------------------------------------------------* *SOUND DESCRIPTION= PRIORITY,TIME,SOUND CODE,(PRIORITY),(TIME),(SOUND CODE),0 *SOUND ENDS IN 0000. *PRIORITY WORD = 1111IENNPPPPPPPP; I=1=NON-INTERRUPTABLE, E=1=NON-INT BY EQUAL *NN=CHANNEL #(0-3); *PP=PRIORITY (00-FF), FF=HIGHEST. *TIME WORD =TTTT (0000-7FFF X 16MS). *SOUND WORD =8SSS SSS=SOUND CODE(000-FFF). *SOUND WORD =4SSS SSS=SOUND CODE (ZERO TIME SOUND CODE) *------------------------------------------------------------------------* SNDTAB: TUNE1 .WORD >F2FE-10H,300,>8003,0 ;PODIUM TO FIRST ARENA TUNE TUNE1B .WORD >F2FE-10H,300,>8006,0 ;PODIUM TO 2ND CIRC TUNE VICMSC .WORD >F2F0-10H,100,>8009,0 ;MUTOID VICTORY MUSIC HIMUSC .WORD >F2F0-10H,100,>800F,0 ;HIGH SCORE MUSIC BUYMSC .WORD >F280-10H,300,>800D,0 ;BUYIN MUSIC STRYMSC .WORD >F280-10H,300,>800D,0 ;MUSIC FOR STORY IN DEMO ENDTUNE .WORD >F280-10H,300,>8002,0 ;END OF GAME TUNE DOOR1 .WORD >F376-10H,5,>8083,0 ;DOOR SLIDING OPEN DOOR2 .WORD >F376-10H,5,>8084,0 ;DOOR SLIDING SHUT FSHOT .WORD >F7A0-10H,>2E,>8085,0 ;POD SIZZLE TUNE2 .WORD >F2FF-10H,120,>8001,0 ;FIRST BKRND TUNE TUNE3 .WORD >F2FF-10H,120,>8005,0 ;2ND BKRND TUNE (ROBOTS) TUNE4 .WORD >F2FF-10H,120,>800E,0 ;3RD BKRND TUNE (SNAKES) BTUNE1 .WORD >F6FF-10H,>120,>8004,0 ;MUTOID BOSS TUNE BTUNE2 .WORD >F6FF-10H,>120,>8002,0 ;FACE BOSS TUNE BTUNE3 .WORD >F6FF-10H,>120,>800A,0 ;SNAKE BOSS TUNE ICON .WORD >F3AF-10H,>1E,>8091,0 ;WEAPON ICON PICKUP GDTH2 .WORD >F3AF-10H,>1E,>8095,0 ;GRUNT DEATH SHOT .WORD >F0E7-10H,>05,>80C4,0 ;REGULAR SHOT RIFL .WORD >F4E8-10H,>08,>80C5,0 ;RIFLE SPRAY WEAPON MBANG .WORD >F5E9-10H,>2E,>80A0,0 ;ARM BANG HEXP .WORD >F3A0-10H,>10,>808A,0 ;OTHER HULK DEATH HEXP2 .WORD >F3A0-10H,>1E,>809C,0 ;OTHER HULK DEATH HEXP3 .WORD >F3A0-10H,>1E,>809E,0 ;OTHER HULK DEATH BUBL .WORD >FBFB-10H,>1E,>80A3,0 ;BLOOD BUBBLE ICSND .WORD >F3EF-10H,>1E,>8092,0 ;ICON PICKUP FREESND .WORD >FBFE-10H,>30,>80A6,0 ;FREE MAN SND LOWSND .WORD >FBFD-10H,120,>80A8,0 ;WEAPON LOW SND LAZSND .WORD >F3F7-10H,>10,>80AE,0 ;LAZER BOLTS FROM EYES BEEP2 .WORD >F3F7-10H,>20,>80AF,0 ;BEEP TONE BONS1 .WORD >F3FF-10H,>1,>80B2,0 ;BONUS BUILDUP BONS2 .WORD >F3FE-10H,>1,>80B3,0 ;BONUS END SCRM .WORD >F3EF-10H,>10,>80B5,0 ;SNAKE SCREAM DEATH BEEP1 .WORD >F3F7-10H,>8,>80B0,0 ;BEEP TONE BEEP3 .WORD >F3F7-10H,>8,>80A4,0 ;BONUS PRIZE ERASE MONIN .WORD >F3F8-10H,>10,>809F,0 ;MONITOR SLIDE IN GRNSND .WORD >F7F7-10H,>10,>80AA,0 ;GRENADE LAUNCH SND MISS .WORD >F4E8-10H,>08,>80C3,0 ;MISSLES MISS2 .WORD >F0E7-10H,>08,>80C3,0 ;MISSLES FROM BAD GUYS BLDS .WORD >FBDF-10H,>1E,>808B,0 ;BLADES TING .WORD >F38B-10H,>1E,>809A,0 ;BULLET HITTING WALL TING2 .WORD >F3F3-10H,>0F,>809A,0 ;BULLET HITTING WALL GIFT .WORD >F3A0-10H,50,>8081,0 ;PRESENT PICKUP SCASH .WORD >F7A5-10H,8,>8080,0 ;CASH REGISTER SOUND GDTH1 .WORD >F3E4-10H,35,>8082,0 ;GRUNT DEATH EXP1 .WORD >F0E8-10H,>08,>80C2,0 ;EXPLOSION SMALL EXP3 .WORD >F0E8-10H,>0F,>80C0,0 ;EXOLOSION LARGE EXP3HI .WORD >F4FE-10H,15,>80C0,0 ;EXOLOSION LARGE FOR SMRT BMB EXP3HIA .WORD >FCFF-10H,35,>80C0,0 ;EXOLOSION LARGE FOR MUTOID EXP3HIB .WORD >F0FF-08H,35,>80C0,0 ;EXOLOSION LARGE FOR SMRTBMB UGH .WORD >F8FE-10H,15,>80C9,0 ;PLAYER DIE SCREAM GLSEXP .WORD >F1E8-10H,>40,>809D,0 ;GLASS SHATTER SHKSND .WORD >FCFE-10H,120,>80CF,0 ;PLAYER ELECTRIC SHOCK CROWD1 .WORD >F8F8-10H,>4E,>80CA,0 ;CROWD NOISE CHEERS CROWD1A .WORD >F0F8-10H,>3E,>80CA,0 ;CROWD NOISE CHEERS TVMNTR CROWD2 .WORD >F8F8-10H,>2E,>80CB,0 ;CROWD NOISE OOHS N AAHS ; ;SPEECH TABLES ; PZLSND .LONG PZ1SND,PZ2SND,PZ3SND PZ1SND .LONG WOO3,WOO1,WOO1 ;STSTR,SCAR,SVCR PZ2SND .LONG WOO3,WOO1,WOO1 ;STELE,SLUGG,STRIP PZ3SND .LONG WOO3,WOO1,WOO1 ;SHGM,SMWR,SMEAT ; ;SPEECH ; GOGO .WORD >F4FE-10H,>18,>8034,0 ;GIRLS 'GO!' UGH2 .WORD >F4E8-10H,>14,>8031,0 ;UGH! / SNAKE GRUNT UGH3 .WORD >F4E8-10H,>14,>8033,0 ;OOF! WOO1 .WORD >F4FE-10H,>34,>8030,0 ;"YEAH" WOO3 .WORD >F4FE-10H,>34,>8035,0 ;GIRL YEAH WOO2 .WORD >F4FE-10H,>34,>8036,0 ;WHHOOO ; OUCH .WORD >F4FE-10H,>40,>8038,0 ;OUCH GROWL AWWSND .WORD >F4FD-10H,>3A,>8039,0 ;BIG AWW SND AWWSND2 .WORD >F4FF-10H,>3A,>8039,0 ;BIG AWW SND FLAT FACE EESND .WORD >F4FD-10H,>30,>803A,0 ;EE-AAH SND ONOSND .WORD >F4FE-10H,>30,>803B,0 ;OH NO SND HASND .WORD >F4FE-10H,>30,>803C,0 ;HAHA SND HA2SND .WORD >F4FE-10H,>30,>8037,0 ;HAHA SND WPWPSND .WORD >F4FF-10H,>40,>803D,0 ;WHOOP WHOOP SND WPSSND .WORD >F4FF-10H,>40,>803E,0 ;LOTS OF WHOOPS NOWAY .WORD >F4FF-0EH,>50,>803F,0 ;"NO WAY" ; BINGO .WORD >F4FF-07H,>30,>8050,0 ;"BINGO" COINSND .WORD >F4FF-01H,>18,>8050,0 ;"BINGO" COIN IN SND MCSPK2 .WORD >F4FE-10H,>3F,>8051,0 ;BIG MONEY MCSPK3 .WORD >F4FE-10H,>3F,>8052,0 ;BIG PRIZES MCSPK4 .WORD >F4FE-10H,>3F,>8053,0 ;"GOOD LUCK" MCSPK5 .WORD >FCFF-06H,>5B,>8054,0 ;CONTESTANT 1 MCSPK6 .WORD >FCFF-06H,>5B,>8055,0 ;CONTESTANT 2 MCSPK7 .WORD >FCFE-10H,>53,>8056,0 ;"TOTAL CARNAGE" MCSPK8 .WORD >FCFE-10H,>43,>8057,0 ;I LOVE IT LEGOSND .WORD >FCFE-10H,>30,>8058,0 ;LET'S GO MCSPK9 .WORD >F4FF-07H,>53,>8059,0 ;TEN SECONDS MCSPK10 .WORD >FCFE-10H,>43,>805A,0 ;"YOU'LL NEED IT" FREEMAN .WORD >FCFE-8H,>33,>805B,0 ;FREE MAN! SPEECH CALL MCSPK11 .WORD >FCFE-10H,>43,>8032,0 ;"BUY FOR A DOLLAR: .END