594 lines
19 KiB
NASM
594 lines
19 KiB
NASM
.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
|
||
|