Bomberman Hero

From en64 wiki
Jump to: navigation, search

OS and Audio Functions

0x800310b0,osCreateThread
0x80031200,osStartThread
0x800314e0,osSetThreadPri
0x800315c0,osWritebackDCache
0x80031640,osInvalICache
0x800316c0,osInvalDCache
0x80031770,osPiStartDma
0x80031880,osRecvMesg
0x800319c0,osCreateMesgQueue
0x800319f0,osViSetYScale
0x80031a50,osViBlack
0x80031ac0,osCreateViManager
0x80031e20,osViSetMode
0x80031e90,osSetEventMesg
0x80031f00,osViSetEvent
0x80031f70,osSetIntMask
0x80032010,osSendMesg
0x80032160,osSpTaskYielded
0x80032260,osViSwapBuffer
0x800322b0,osWritebackDCacheAll
0x800325d0,osDpSetNextBuffer
0x80032680,osSpTaskYield
0x800326a0,alHeapInit
0x800326e0,__CSPPostNextSeqEvent
0x800337a0,alCSPNew
0x80033a14,alBnkfNew
0x80033b18,alSeqFileNew
0x80033b60,alCSeqGetLoc
0x80033c00,alCSeqSetLoc
0x80033dc4,alCSeqNextEvent
0x800340bc,alCSeqNew
0x800341d0,alCSeqNewMarker
0x8003433c,alCSeqGetTicks
0x80034344,alCSeqSecToTicks
0x80034440,alCSeqTicksToSec
0x800344ac,__alCSeqNextDelta
0x80034620,alSeqpSetBank
0x80034620,alCSPSetBank
0x80034660,alSeqpSetSeq
0x80034660,alCSPSetSeq
0x800346a0,alSeqpSetVol
0x800346a0,alCSPSetVol
0x800346e0,alCSPPlay
0x800346e0,alSeqpPlay
0x80034710,alCSPGetState
0x80034710,alSeqpGetState
0x80034720,alSeqpStop
0x80034720,alCSPStop
0x80034750,alCSPDelete
0x80034750,alSeqpDelete
0x80034780,alSeqpSetTempo
0x80034780,alCSPSetTempo
0x800347f0,alCSPGetTempo
0x80034830,alSeqpGetChlProgram
0x80034830,alCSPGetChlProgram
0x800348c0,alCSPGetChlVol
0x800348c0,alSeqpGetChlVol
0x800348e0,alCSPGetChlPan
0x800348e0,alSeqpGetChlPan
0x80034900,alCSPGetChlFXMix
0x80034900,alSeqpGetChlFXMix
0x80034920,alCents2Ratio
0x80034970,__sinf/fsin/sinf
0x80034b30,alSndpNew
0x80035240,alSndpAllocate
0x800352e0,alSndpSetPriority
0x80035310,alSndpSetSound
0x80035330,alSndpPlay
0x800353a0,alSndpSetPitch
0x80035400,alSndpSetVol
0x80035460,alSndpSetFXMix
0x800354c0,alSndpSetPan
0x80035520,alSndpGetSound
0x80035530,alSndpGetState
0x80035550,alSndpDeallocate
0x800355a0,alSndpStop
0x800355f0,guRandom
0x80035620,alSndpDelete
0x80035650,osAiSetFrequency
0x800357b0,alUnlink
0x800357e0,alLink
0x80035804,alClose
0x8003583c,alInit
0x80035870,alHeapDBAlloc
0x800358d0,osVirtualToPhysical
0x80035950,osAiSetNextBuffer
0x80035a00,osAiGetLength
0x80035a18,_timeToSamples
0x80035a70,_freePVoice
0x80035aa8,_collectPVoices
0x80035b08,__freeParam
0x80035b20,__allocParam
0x80035b58,alAudioFrame
0x80035df0,alSynNew
0x800360f0,guMtxF2L
0x800361f0,guMtxIdentF
0x80036278,guMtxIdent
0x800362a8,guMtxL2F
0x80036360,guMtxXFMF
0x80036400,guMtxCatF
0x80036570,__cosf/fcos/cosf
0x800366e0,sqrtf
0x800366f0,__d_to_ll
0x8003670c,__f_to_ll
0x80036728,__d_to_ull
0x800367c8,__f_to_ull
0x80036864,__ll_to_d
0x8003687c,__ll_to_f
0x80036894,__ull_to_d
0x800368c8,__ull_to_f
0x80036900,__ull_rshift
0x8003692c,__ull_rem
0x80036968,__ull_div
0x800369a4,__ll_lshift
0x800369d0,__ll_rem
0x80036a0c,__ll_div
0x80036a68,__ll_mul
0x80036a98,__ull_divremi
0x80036af8,__ll_mod
0x80036b94,__ll_rshift
0x80036bc0,sprintf
0x80038af0,osPfsAllocateFile
0x80038f74,__osPfsDeclearPage
0x800392a0,osPfsReadWriteFile
0x800397a0,osPfsDeleteFile
0x80039a80,__osPfsReleasePages
0x80039cb8,__osBlockSum
0x80039db0,osEepromProbe
0x8003a840,memcpy
0x8003a86c,strlen
0x8003a894,strchr
0x8003a8e0,__osSetSR
0x8003a8f0,__osGetSR
0x8003a900,__osSetFpcCsr
0x8003a910,__osSiRawReadIo
0x8003a910,__osSpRawReadIo
0x8003a960,__osSpRawWriteIo
0x8003a960,__osSiRawWriteIo
0x8003b2c0,osMapTLBRdb
0x8003b320,osPiRawReadIo
0x8003b380,bzero/_bzero/blkclr/_blkclr
0x8003b420,__osDisableInt
0x8003b440,__osRestoreInt
0x8003b460,__osDequeueThread
0x8003b750,osGetThreadPri
0x8003b770,osPiRawStartDma
0x8003bf10,osJamMesg
0x8003c060,osPiGetCmdQueue
0x8003c5d0,__osGetActiveQueue
0x8003c5d0,__osGetCurrFaultedThread
0x8003c5d0,osPiGetDeviceType
0x8003c5d0,__osViGetNextContext
0x8003c5d0,__osViGetCurrentContext
0x8003c5e0,__osViSwapContext
0x8003c940,osGetCount
0x8003c950,__osSpGetStatus
0x8003c960,bcopy/_bcopy
0x8003cc70,__osSpSetStatus
0x8003cc80,__osSpSetPc
0x8003ccc0,__osSpRawStartDma
0x8003cd50,__osSpDeviceBusy
0x8003cd80,__osDpDeviceBusy
0x8003cdb0,__setInstChanState
0x8003ce04,__resetPerfChanState
0x8003ce84,__initFromBank
0x8003cf40,__vsDelta
0x8003cf64,__vsVol
0x8003cfec,__seqpReleaseVoice
0x8003d118,__voiceNeedsNoteKill
0x8003d1c0,__unmapVoice
0x8003d230,__postNextSeqEvent
0x8003d384,__vsPan
0x8003d3cc,__lookupVoice
0x8003d440,__mapVoice
0x8003d4b0,__lookupSoundQuick
0x8003e3f0,__seqpStopOsc
0x8003e4f4,__initChanState
0x8003e564,alSeqpNew
0x8003e6f0,alEvtqFlushType
0x8003e79c,alEvtqFlush
0x8003e80c,alEvtqPostEvent
0x8003e930,alEvtqNextEvent
0x8003e9bc,alEvtqNew
0x8003ea30,alSynAddPlayer
0x8003ea80,alSynStopVoice
0x8003eb00,alSynFreeVoice
0x8003ebb0,alSynSetVol
0x8003ec50,alSynSetPitch
0x8003ece0,_allocatePVoice
0x8003edc8,alSynAllocVoice
0x8003ef10,alSynSetPan
0x8003efa0,alSynSetFXMix
0x8003f040,alSynRemovePlayer
0x8003f0e0,alSynStartVoice
0x8003f170,alSynDelete
0x8003f180,__osProbeTLB
0x8003f240,__osAiDeviceBusy
0x8003f270,alSaveNew
0x8003f2b4,alMainBusNew
0x8003f308,alAuxBusNew
0x8003f35c,alResampleNew
0x8003f3e4,alLoadNew
0x8003f48c,alEnvmixerNew
0x8003f530,init_lpfilter
0x8003f5d0,alFxNew
0x8003fa10,alSynAllocFX
0x8003fab0,alMainBusParam
0x8003fae0,alMainBusPull
0x8003fc00,alLoadParam
0x8003fdd4,alRaw16Pull
0x800402ac,alAdpcmPull
0x80040750,alResampleParam
0x8004083c,alResamplePull
0x80040a50,_ldexpf
0x80040a78,_frexpf
0x80040b64,alEnvmixerParam
0x8004115c,alEnvmixerPull
0x800416b0,alAuxBusParam
0x800416e0,alAuxBusPull
0x800417c0,alSaveParam
0x800417f4,alSavePull
0x80042540,guNormalize
0x800425d0,osGetTime
0x80042660,osSetTimer
0x80042740,__osSiRawStartDma
0x800429c0,__osSumcalc
0x80042a1c,__osIdCheckSum
0x80042a84,__osRepairPackId
0x80042e9c,__osCheckPackId
0x80043034,__osGetId
0x80043290,__osCheckId
0x8004338c,__osPfsRWInode
0x800436ac,__osPfsSelectBank
0x80043ab0,osPfsChecker
0x80044174,corrupted_init
0x80044328,corrupted
0x80046420,_doModFunc
0x800464c8,_filterBuffer
0x80046580,_saveBuffer
0x80046708,_loadBuffer
0x80046894,_loadOutputBuffer
0x80046ab8,alFxParamHdl
0x80046d14,alFxParam
0x80046d2c,alFxPull
0x80047070,_Litob
0x80047310,_Ldtob
0x80047dd0,lldiv
0x80047ed0,ldiv
0x8004a770,osViModeNtscLpn1
0x8004a7c0,osViModeNtscLpf1
0x8004a860,osViModeNtscLaf1
0x8004a8b0,osViModeNtscLpn2
0x8004a900,osViModeNtscLpf2
0x8004a950,osViModeNtscLan2
0x8004a9a0,osViModeNtscLaf2
0x8004a9f0,osViModeNtscHpn1
0x8004aa40,osViModeNtscHpf1
0x8004aa90,osViModeNtscHan1
0x8004aae0,osViModeNtscHaf1
0x8004ab30,osViModeNtscHpn2
0x8004ab80,osViModeNtscHpf2
0x8004b030,osViModeMpalLpn1
0x8004b080,osViModeMpalLpf1
0x8004b120,osViModeMpalLaf1
0x8004b170,osViModeMpalLpn2
0x8004b1c0,osViModeMpalLpf2
0x8004b210,osViModeMpalLan2
0x8004b260,osViModeMpalLaf2
0x8004b2b0,osViModeMpalHpn1
0x8004b300,osViModeMpalHpf1
0x8004b350,osViModeMpalHan1
0x8004b3a0,osViModeMpalHaf1
0x8004b3f0,osViModeMpalHpn2
0x8004b440,osViModeMpalHpf2
0x8004c010,__osRcpImTable
0x8004c6c0,__libm_qnan_f

Debug

8016E424 Enable Debugging Features (U)

800FE9F8 asm for various debug commands

8016E3E4 0001 TIMER BAR ON/OFF

8016E3EC 00xx various menus
           00 Nothing
           01 Level info
           02 Player/Camera Pos/Rot
           64 MAIN MENU
           65 LIGHT EDIT
           66 FOG EDIT


8116E3F4 00xx current selection

8016E3F7 0001 DEBUG DISPLAY MODE

8016E3FC 0001 NO DAMAGE

8016E404 0001 NO ATTRIBUTE

8016E40C 0001 G BUTTON DEBUG (No Clip)

8016523F 00xx BOM

80165240 00xx FIRE

801778FF automatically complete level?

0C00DAF9



800FDD48


800FF83C JAL to MAIN MENU


800FE828 JAL to BOMBERMAN ACTION MENU


[BOMBERMAN ACTION MENU]

80134228 GAME START






80082468


800FE6D8

Debug (J)

8016E3DC various debug features


801765EF pause byte - needs to be pause to enable debug?



800FDAE8 BOMBERMAN ACTION MENU ASM

800FE5C8 JAL to BOMBERMAN ACTION MENU






16e380 buttons pressed



8016E41B 0001 Enable Debugging Features

Press L in pause menu to scroll through pages
Z + Start Takes you to BOMBERMAN ACTION MENU


When G BUTTON DEBUG is enabled

Z + A To levitate up
Z + B To levitate down
Z + L To complete level

20 prison cutscene map - used but has a helicopter enemy in it for some reason
60 older version of map 5F?
70 - 7B Test map with no objects
7C Test map with enemies
7D Stage 3-1-1 (Hell Crater) but with different objects
7E Test map with powerups
7F Test map with no objects

Level Modding

002193B0 very first level object coordinates


aaaaxxxx yyyyzzzz uuuuvvvv uuuuuuuu

aa = object number
xx = x coordinates
yy = y coordinates
zz = z coordinates
vv = variable

8016E428 Starting Point X Y Z


8016E450 Current Level Objects


80081D9C asm to store level number

8016E428 Current level

80106DA0 Level select table
000F92C0

80106E9C Level XYZ starting point
000F93BC

xxxxyyyy zzzz0000

xx = x coordinates
yy = y coordinates
zz = z coordinates

800041B0

80082168 ASM to load music value


80108a00
000FAF20 Level properties? 0x38 bytes?

0x03 Music Value



000F984C Level Table - 0x24 bytes long

0x00 Starting Point (RAM Pointer)
0x04 Level Collision Start Offset
0x08 Level Collision End Offset
0x0C Level Model Start Offset
0x10 Level Model End Offset
0x14 Unknown (00000000)
0x18 Unknown (FFFFFFFF)
0x1C Unknown Offset
0x20 Unknown (FFFFFFFF)



8001EAC4

80081C8C asm to load level model

80108240 Level Model table

802D2EC0 Battle Room Model in ram

Music Values

00 Intro Level
02 Battle Room
03 Hyper Room
05 Sky Room
06 Secret Room
09 Blue Cave
0A Hole Lake
0B Red Cave
0C Dark Wood
0E Dragon Road
0F Vs. Nitros
10 Clown Valley
11 Great Rock
12 Fog Route
13 Vs. Endol
60 unused level?

83 Vs. Nitros 1 Cutscene
84 Defeated Nitros 1 Cutscene
8A Endol Cutscene
BB Credits

Object Misc

00127E00 - 00128D20



80122D10 801131F4

80122D1C 80113200



8016CC30

802EAC60



8016CAA0 Loaded objects table



009B15F0 bomb upgrade object

Object Values

0020 Extra Bomb
0021 Firepower Upgrade
0022 Rainbow Gem
0023 Life Heart
0024 Full Heart
0025 Blue Crystal
0026 1-up
0027 Adok Bomb
0028 Radio (no text)
0029 Remote Bomb Upgrade
002A Ice Bomb Upgrade
002B Salt Bomb Upgrade
002C Key Crystal
002D Body Armour
002E Card Key
002F Disc
0030 Gold Gem
0031 Red Crystal
0032 Bubble Panel
0033 Radio
0034 Power Glove
0035 Card Key
0040 Arrows Pointing to Exit
0041 Block
0042 Block
0043 Block
0044 Block (Missile comes out when destroyed)
004A Trampoline
0050 Door with bomb graphic
0059 switch
005A switch-activated platform
00A1 Blue Slime
00A2 Red Slime
00A3 Yellow Slime
00AB Bomb Rat
00AD Dice Enemy
00B3 Red orbs flying around green octagon
00B7
00CC
00EE Dancing Bomb Enemy
0136
0137
018B giant B door right half
018C giant C door left half
0225
0264
0289