diff --git a/include/PR/libaudio.h b/include/PR/libaudio.h index 33e5f8649..d20a6b748 100644 --- a/include/PR/libaudio.h +++ b/include/PR/libaudio.h @@ -63,7 +63,7 @@ extern "C" { #define AL_FX_BUFFER_SIZE 8192 #define AL_FRAME_INIT -1 -#define AL_USEC_PER_FRAME (PAL ? 20000 : 16000) +#define AL_USEC_PER_FRAME (VERSION >= VERSION_PAL_BETA ? 20000 : 16000) #define AL_MAX_PRIORITY 127 #define AL_GAIN_CHANGE_TIME 1000 diff --git a/ld/gamefiles.jpn-final.inc b/ld/gamefiles.jpn-final.inc new file mode 100644 index 000000000..af28f9b0f --- /dev/null +++ b/ld/gamefiles.jpn-final.inc @@ -0,0 +1,216 @@ +#define GAMEFILES(section) \ + build/ROMID/game/game_000000.o (section); \ + build/ROMID/game/game_000090.o (section); \ + build/ROMID/game/game_000130.o (section); \ + build/ROMID/game/stubs/game_000840.o (section); \ + build/ROMID/game/stubs/game_000850.o (section); \ + build/ROMID/game/stubs/game_000860.o (section); \ + build/ROMID/game/stubs/game_000870.o (section); \ + build/ROMID/game/game_000880.o (section); \ + build/ROMID/game/stubs/game_0008e0.o (section); \ + build/ROMID/game/stubs/game_0008f0.o (section); \ + build/ROMID/game/stubs/game_000900.o (section); \ + build/ROMID/game/stubs/game_000910.o (section); \ + build/ROMID/game/dlights.o (section); \ + build/ROMID/game/game_005fd0.o (section); \ + build/ROMID/game/game_006900.o (section); \ + build/ROMID/game/game_006bd0.o (section); \ + build/ROMID/game/nbomb.o (section); \ + build/ROMID/game/stubs/game_00b180.o (section); \ + build/ROMID/game/game_00b190.o (section); \ + build/ROMID/game/stubs/game_00b200.o (section); \ + build/ROMID/game/game_00b210.o (section); \ + build/ROMID/game/game_00b320.o (section); \ + build/ROMID/game/game_00b420.o (section); \ + build/ROMID/game/game_00b480.o (section); \ + build/ROMID/game/game_00b820.o (section); \ + build/ROMID/game/game_00c240.o (section); \ + build/ROMID/game/game_00c490.o (section); \ + build/ROMID/game/game_0108d0.o (section); \ + build/ROMID/game/objectives/setup.o (section); \ + build/ROMID/game/casing/reset.o (section); \ + build/ROMID/game/bondguninit.o (section); \ + build/ROMID/game/playerinit.o (section); \ + build/ROMID/game/inventory/init.o (section); \ + build/ROMID/game/game_0125a0.o (section); \ + build/ROMID/game/game_012aa0.o (section); \ + build/ROMID/game/game_012d50.o (section); \ + build/ROMID/game/explosions/init.o (section); \ + build/ROMID/game/smoke/init.o (section); \ + build/ROMID/game/sparks/init.o (section); \ + build/ROMID/game/weather/init.o (section); \ + build/ROMID/game/stubs/game_013540.o (section); \ + build/ROMID/game/game_013550.o (section); \ + build/ROMID/game/shards/init.o (section); \ + build/ROMID/game/game_013b80.o (section); \ + build/ROMID/game/game_013cf0.o (section); \ + build/ROMID/game/game_013ee0.o (section); \ + build/ROMID/game/game_0147a0.o (section); \ + build/ROMID/game/game_0147d0.o (section); \ + build/ROMID/game/botmgr.o (section); \ + build/ROMID/game/botinvinit.o (section); \ + build/ROMID/game/game_014f10.o (section); \ + build/ROMID/game/game_015010.o (section); \ + build/ROMID/game/game_0150a0.o (section); \ + build/ROMID/game/objectives/autocomplete.o (section); \ + build/ROMID/game/stubs/game_015260.o (section); \ + build/ROMID/game/stubs/game_015270.o (section); \ + build/ROMID/game/explosions/reset.o (section); \ + build/ROMID/game/smoke/reset.o (section); \ + build/ROMID/game/stubs/game_0153f0.o (section); \ + build/ROMID/game/stubs/game_015400.o (section); \ + build/ROMID/game/stubs/game_015410.o (section); \ + build/ROMID/game/shards/reset.o (section); \ + build/ROMID/game/game_015470.o (section); \ + build/ROMID/game/title.o (section); \ + build/ROMID/game/game_01afc0.o (section); \ + build/ROMID/game/game_01b0a0.o (section); \ + build/ROMID/game/activemenu/tick.o (section); \ + build/ROMID/game/game_01bea0.o (section); \ + build/ROMID/game/weather/tick.o (section); \ + build/ROMID/game/game_01d860.o (section); \ + build/ROMID/game/game_01d8c0.o (section); \ + build/ROMID/game/game_01d990.o (section); \ + build/ROMID/game/casing/tick.o (section); \ + build/ROMID/game/shards/tick.o (section); \ + build/ROMID/game/sparks/tick.o (section); \ + build/ROMID/game/chr/chr.o (section); \ + build/ROMID/game/game_02cde0.o (section); \ + build/ROMID/game/chr/chraction.o (section); \ + build/ROMID/game/chr/chrai.o (section); \ + build/ROMID/game/chr/chraicommands.o (section); \ + build/ROMID/game/prop.o (section); \ + build/ROMID/game/propobj.o (section); \ + build/ROMID/game/propobjbss.o (section); \ + build/ROMID/game/game_091e10.o (section); \ + build/ROMID/game/game_092610.o (section); \ + build/ROMID/game/objectives/objectives.o (section); \ + build/ROMID/game/game_096360.o (section); \ + build/ROMID/game/game_096700.o (section); \ + build/ROMID/game/atan2f.o (section); \ + build/ROMID/game/acosasin.o (section); \ + build/ROMID/game/acosfasinf.o (section); \ + build/ROMID/game/game_096b20.o (section); \ + build/ROMID/game/game_096ca0.o (section); \ + build/ROMID/game/floor.o (section); \ + build/ROMID/game/ceil.o (section); \ + build/ROMID/game/game_097a50.o (section); \ + build/ROMID/game/game_097aa0.o (section); \ + build/ROMID/game/inventory/items.o (section); \ + build/ROMID/game/bondgun.o (section); \ + build/ROMID/game/game_0abe70.o (section); \ + build/ROMID/game/mpstats.o (section); \ + build/ROMID/game/game_0b0fd0.o (section); \ + build/ROMID/game/game_0b2150.o (section); \ + build/ROMID/game/game_0b28d0.o (section); \ + build/ROMID/game/game_0b3350.o (section); \ + build/ROMID/game/game_0b4950.o (section); \ + build/ROMID/game/game_0b63b0.o (section); \ + build/ROMID/game/player.o (section); \ + build/ROMID/game/game_0c33f0.o (section); \ + build/ROMID/game/bondcutscene.o (section); \ + build/ROMID/game/bondwalk.o (section); \ + build/ROMID/game/bondmove.o (section); \ + build/ROMID/game/bondgrab.o (section); \ + build/ROMID/game/bondeyespy.o (section); \ + build/ROMID/game/bondbike.o (section); \ + build/ROMID/game/savebuffer.o (section); \ + build/ROMID/game/healthbar.o (section); \ + build/ROMID/game/sight.o (section); \ + build/ROMID/game/hudmsg.o (section); \ + build/ROMID/game/menugfx.o (section); \ + build/ROMID/game/menuitem.o (section); \ + build/ROMID/game/menu.o (section); \ + build/ROMID/game/activemenu/activemenu.o (section); \ + build/ROMID/game/stubs/game_102230.o (section); \ + build/ROMID/game/mainmenu.o (section); \ + build/ROMID/game/cheats.o (section); \ + build/ROMID/game/filemgr.o (section); \ + build/ROMID/game/game_10c9c0.o (section); \ + build/ROMID/game/endscreen.o (section); \ + build/ROMID/game/gamefile.o (section); \ + build/ROMID/game/bossfile.o (section); \ + build/ROMID/game/filelist.o (section); \ + build/ROMID/game/inventory/inventory.o (section); \ + build/ROMID/game/bondhead.o (section); \ + build/ROMID/game/padhalllv.o (section); \ + build/ROMID/game/pad.o (section); \ + build/ROMID/game/pak/pak.o (section); \ + build/ROMID/game/debug.o (section); \ + build/ROMID/game/debug3.o (section); \ + build/ROMID/game/stubs/game_11eff0.o (section); \ + build/ROMID/game/gailists.o (section); \ + build/ROMID/game/modeldata/general.o (section); \ + build/ROMID/game/modeldata/basic.o (section); \ + build/ROMID/game/modeldata/chrgun.o (section); \ + build/ROMID/game/modeldata/skel0b.o (section); \ + build/ROMID/game/modeldata/player.o (section); \ + build/ROMID/game/modeldata/skel0a.o (section); \ + build/ROMID/game/modeldata/skel20.o (section); \ + build/ROMID/game/modeldata/classicgun.o (section); \ + build/ROMID/game/modeldata/casing.o (section); \ + build/ROMID/game/modeldata/skel06.o (section); \ + build/ROMID/game/modeldata/uzi.o (section); \ + build/ROMID/game/modeldata/weapon.o (section); \ + build/ROMID/game/modeldata/chr.o (section); \ + build/ROMID/game/modeldata/skedar.o (section); \ + build/ROMID/game/modeldata/robot.o (section); \ + build/ROMID/game/game_11f000.o (section); \ + build/ROMID/game/playermgr.o (section); \ + build/ROMID/game/crc.o (section); \ + build/ROMID/game/rng2.o (section); \ + build/ROMID/game/game_129210.o (section); \ + build/ROMID/game/explosions/explosions.o (section); \ + build/ROMID/game/smoke/smoke.o (section); \ + build/ROMID/game/sparks/sparks.o (section); \ + build/ROMID/game/weather/weather.o (section); \ + build/ROMID/game/sky.o (section); \ + build/ROMID/game/credits.o (section); \ + build/ROMID/game/game_13b670.o (section); \ + build/ROMID/game/game_13c510.o (section); \ + build/ROMID/game/wallhit.o (section); \ + build/ROMID/game/bondview.o (section); \ + build/ROMID/game/splat.o (section); \ + build/ROMID/game/camdraw.o (section); \ + build/ROMID/game/shards/shards.o (section); \ + build/ROMID/game/options.o (section); \ + build/ROMID/game/game_152fa0.o (section); \ + build/ROMID/game/game_1531a0.o (section); \ + build/ROMID/game/game_1577f0.o (section); \ + build/ROMID/game/bg.o (section); \ + build/ROMID/game/bgbss.o (section); \ + build/ROMID/game/game_165360.o (section); \ + build/ROMID/game/game_1655c0.o (section); \ + build/ROMID/game/game_165670.o (section); \ + build/ROMID/game/game_1657c0.o (section); \ + build/ROMID/game/game_1668e0.o (section); \ + build/ROMID/game/file.o (section); \ + build/ROMID/game/gfxmemory.o (section); \ + build/ROMID/game/lv.o (section); \ + build/ROMID/game/timing.o (section); \ + build/ROMID/game/music.o (section); \ + build/ROMID/game/lang.o (section); \ + build/ROMID/game/texdecompress.o (section); \ + build/ROMID/game/game_173520.o (section); \ + build/ROMID/game/game_173a00.o (section); \ + build/ROMID/game/stubs/game_175f50.o (section); \ + build/ROMID/game/game_175f90.o (section); \ + build/ROMID/game/stubs/game_176000.o (section); \ + build/ROMID/game/game_176080.o (section); \ + build/ROMID/game/utils.o (section); \ + build/ROMID/game/mplayer/ingame.o (section); \ + build/ROMID/game/mplayer/setup.o (section); \ + build/ROMID/game/mplayer/scenarios.o (section); \ + build/ROMID/game/mplayer/mplayer.o (section); \ + build/ROMID/game/radar.o (section); \ + build/ROMID/game/bot.o (section); \ + build/ROMID/game/botcmd.o (section); \ + build/ROMID/game/botinv.o (section); \ + build/ROMID/game/botact.o (section); \ + build/ROMID/game/mplayer/mpaicommands.o (section); \ + build/ROMID/game/vmstats.o (section); \ + build/ROMID/game/game_19aa80.o (section); \ + build/ROMID/game/training/training.o (section); \ + build/ROMID/game/training/menus.o (section); \ + build/ROMID/game/game_1a7560.o (section); \ + build/ROMID/game/game_1a78b0.o (section); diff --git a/ld/libfiles.jpn-final.inc b/ld/libfiles.jpn-final.inc new file mode 100644 index 000000000..7ff48dc43 --- /dev/null +++ b/ld/libfiles.jpn-final.inc @@ -0,0 +1,249 @@ +#define LIBFILES(section) \ + build/ROMID/lib/tlb.o (section); \ + build/ROMID/lib/segments.o (section); \ + build/ROMID/lib/boot.o (section); \ + build/ROMID/lib/sched.o (section); \ + build/ROMID/lib/reset.o (section); \ + build/ROMID/lib/ultra/os/maptlbrdb.o (section); \ + build/ROMID/lib/ultra/io/vimgr.o (section); \ + build/ROMID/lib/ultra/io/pimgr.o (section); \ + build/ROMID/lib/lib_034d0.o (section); \ + build/ROMID/lib/ultra/os/exceptvars.o (section); \ + build/ROMID/lib/ultra/os/exceptasm.o (section); \ + build/ROMID/lib/ultra/os/createthread.o (section); \ + build/ROMID/lib/ultra/gu/lookat.o (section); \ + build/ROMID/lib/ultra/gu/lookatref.o (section); \ + build/ROMID/lib/ultra/gu/normalize.o (section); \ + build/ROMID/lib/ultra/gu/perspective.o (section); \ + build/ROMID/lib/ultra/gu/rotate.o (section); \ + build/ROMID/lib/ultra/libc/xldtob.o (section); \ + build/ROMID/lib/ultra/io/pfsisplug.o (section); \ + build/ROMID/lib/ultra/libc/llcvt.o (section); \ + build/ROMID/lib/ultra/os/initialize.o (section); \ + build/ROMID/lib/ultra/io/sptask.o (section); \ + build/ROMID/lib/ultra/io/gbpakinit.o (section); \ + build/ROMID/lib/ultra/io/gbpakpower.o (section); \ + build/ROMID/lib/ultra/io/conteeplongwrite.o (section); \ + build/ROMID/lib/ultra/io/pfsresizefile.o (section); \ + build/ROMID/lib/ultra/io/pfsinitpak.o (section); \ + build/ROMID/lib/vm.o (section); \ + build/ROMID/lib/rzip.o (section); \ + build/ROMID/lib/audiomgr.o (section); \ + build/ROMID/lib/audiodma.o (section); \ + build/ROMID/lib/profile.o (section); \ + build/ROMID/lib/vi.o (section); \ + build/ROMID/lib/fault.o (section); \ + build/ROMID/lib/crash.o (section); \ + build/ROMID/lib/dma.o (section); \ + build/ROMID/lib/main.o (section); \ + build/ROMID/lib/snd.o (section); \ + build/ROMID/lib/music.o (section); \ + build/ROMID/lib/memp.o (section); \ + build/ROMID/lib/mema.o (section); \ + build/ROMID/lib/rng.o (section); \ + build/ROMID/lib/args.o (section); \ + build/ROMID/lib/str.o (section); \ + build/ROMID/lib/ultra/libc/sprintf.o (section); \ + build/ROMID/lib/pimgr.o (section); \ + build/ROMID/lib/videbug.o (section); \ + build/ROMID/lib/debughud.o (section); \ + build/ROMID/lib/base.o (section); \ + build/ROMID/lib/joy.o (section); \ + build/ROMID/lib/lib_15850.o (section); \ + build/ROMID/lib/gvars.o (section); \ + build/ROMID/lib/mtxasm.o (section); \ + build/ROMID/lib/mtx.o (section); \ + build/ROMID/lib/lib_17ce0.o (section); \ + build/ROMID/lib/ailist.o (section); \ + build/ROMID/lib/path.o (section); \ + build/ROMID/lib/modelasm.o (section); \ + build/ROMID/lib/model.o (section); \ + build/ROMID/lib/anim.o (section); \ + build/ROMID/lib/collision.o (section); \ + build/ROMID/lib/lib_2f490.o (section); \ + build/ROMID/lib/rdp.o (section); \ + build/ROMID/lib/rmon.o (section); \ + build/ROMID/lib/ultra/audio/heap.o (section); \ + build/ROMID/lib/naudio/n_sl.o (section); \ + build/ROMID/lib/lib_2fc60.o (section); \ + build/ROMID/lib/naudio/n_synthesizer.o (section); \ + build/ROMID/lib/ultra/audio/sl.o (section); \ + build/ROMID/lib/naudio/n_sndplayer.o (section); \ + build/ROMID/lib/speaker.o (section); \ + build/ROMID/lib/naudio/n_csplayer.o (section); \ + build/ROMID/lib/naudio/n_cspsetbank.o (section); \ + build/ROMID/lib/ultra/audio/bnkf.o (section); \ + build/ROMID/lib/mp3.o (section); \ + build/ROMID/lib/naudio/n_cspgetstate.o (section); \ + build/ROMID/lib/naudio/n_csq.o (section); \ + build/ROMID/lib/naudio/n_cspsetseq.o (section); \ + build/ROMID/lib/naudio/n_cspplay.o (section); \ + build/ROMID/lib/naudio/n_cspsetvol.o (section); \ + build/ROMID/lib/lib_39c80.o (section); \ + build/ROMID/lib/naudio/n_seqpstop.o (section); \ + build/ROMID/lib/naudio/n_syndelete.o (section); \ + build/ROMID/lib/ultra/audio/cents2ratio.o (section); \ + build/ROMID/lib/naudio/n_synallocfx.o (section); \ + build/ROMID/lib/naudio/n_reverb.o (section); \ + build/ROMID/lib/naudio/n_drvrNew.o (section); \ + build/ROMID/lib/naudio/n_save.o (section); \ + build/ROMID/lib/naudio/n_event.o (section); \ + build/ROMID/lib/naudio/n_synaddplayer.o (section); \ + build/ROMID/lib/naudio/n_synallocvoice.o (section); \ + build/ROMID/lib/naudio/n_synsetvol.o (section); \ + build/ROMID/lib/naudio/n_synstartvoiceparam.o (section); \ + build/ROMID/lib/naudio/n_synsetpan.o (section); \ + build/ROMID/lib/naudio/n_synsetpitch.o (section); \ + build/ROMID/lib/naudio/n_synsetfxmix.o (section); \ + build/ROMID/lib/naudio/n_synstopvoice.o (section); \ + build/ROMID/lib/naudio/n_synfreevoice.o (section); \ + build/ROMID/lib/naudio/n_seqplayer.o (section); \ + build/ROMID/lib/naudio/n_synfilter13.o (section); \ + build/ROMID/lib/naudio/n_synfilter12.o (section); \ + build/ROMID/lib/lib_3e3e0.o (section); \ + build/ROMID/lib/naudio/n_synsetfxparam.o (section); \ + build/ROMID/lib/naudio/n_synfilter11.o (section); \ + build/ROMID/lib/ultra/audio/cseq.o (section); \ + build/ROMID/lib/naudio/n_env.o (section); \ + build/ROMID/lib/mp3/decoder.o (section); \ + build/ROMID/lib/mp3/main.o (section); \ + build/ROMID/lib/naudio/n_cspsendmidi.o (section); \ + build/ROMID/lib/naudio/n_auxbus.o (section); \ + build/ROMID/lib/naudio/n_mainbus.o (section); \ + build/ROMID/lib/naudio/n_synsetpriority.o (section); \ + build/ROMID/lib/naudio/n_load.o (section); \ + build/ROMID/lib/naudio/n_resample2.o (section); \ + build/ROMID/lib/mp3/lib_45ed0.o (section); \ + build/ROMID/lib/mp3/util.o (section); \ + build/ROMID/lib/mp3/lib_46650.o (section); \ + build/ROMID/lib/mp3/lib_47550.o (section); \ + build/ROMID/lib/naudio/n_resample.o (section); \ + build/ROMID/lib/mp3/lib_47d20.o (section); \ + build/ROMID/lib/mp3/lib_47ef0.o (section); \ + build/ROMID/lib/ultra/io/vitbl.o (section); \ + build/ROMID/lib/ultra/os/writebackdcacheall.o (section); \ + build/ROMID/lib/ultra/os/invalicache.o (section); \ + build/ROMID/lib/ultra/os/getfpccsr.o (section); \ + build/ROMID/lib/ultra/os/setfpccsr.o (section); \ + build/ROMID/lib/ultra/os/startthread.o (section); \ + build/ROMID/lib/ultra/os/createmesgqueue.o (section); \ + build/ROMID/lib/ultra/os/stopthread.o (section); \ + build/ROMID/lib/ultra/os/setthreadpri.o (section); \ + build/ROMID/lib/ultra/os/getcount.o (section); \ + build/ROMID/lib/ultra/os/seteventmesg.o (section); \ + build/ROMID/lib/ultra/io/visetevent.o (section); \ + build/ROMID/lib/ultra/os/setintmask.o (section); \ + build/ROMID/lib/ultra/os/recvmesg.o (section); \ + build/ROMID/lib/ultra/io/vigetcurrframebuf.o (section); \ + build/ROMID/lib/ultra/io/vigetnextframebuf.o (section); \ + build/ROMID/lib/ultra/io/dpsetstat.o (section); \ + build/ROMID/lib/ultra/os/getthreadpri.o (section); \ + build/ROMID/lib/ultra/os/sendmesg.o (section); \ + build/ROMID/lib/ultra/os/stoptimer.o (section); \ + build/ROMID/lib/ultra/os/settimer.o (section); \ + build/ROMID/lib/ultra/io/sptaskyielded.o (section); \ + build/ROMID/lib/ultra/io/dpctr.o (section); \ + build/ROMID/lib/ultra/io/dpgetstat.o (section); \ + build/ROMID/lib/ultra/io/viblack.o (section); \ + build/ROMID/lib/ultra/io/visetmode.o (section); \ + build/ROMID/lib/ultra/io/visetxscale.o (section); \ + build/ROMID/lib/ultra/io/visetyscale.o (section); \ + build/ROMID/lib/ultra/io/visetspecial.o (section); \ + build/ROMID/lib/ultra/io/viswapbuf.o (section); \ + build/ROMID/lib/ultra/io/sptaskyield.o (section); \ + build/ROMID/lib/ultra/os/gettime.o (section); \ + build/ROMID/lib/ultra/os/timerintr.o (section); \ + build/ROMID/lib/ultra/os/interrupt.o (section); \ + build/ROMID/lib/ultra/io/vi.o (section); \ + build/ROMID/lib/ultra/io/vigetcurrcontext.o (section); \ + build/ROMID/lib/ultra/io/viswapcontext.o (section); \ + build/ROMID/lib/ultra/io/piacs.o (section); \ + build/ROMID/lib/ultra/io/pirawdma.o (section); \ + build/ROMID/lib/ultra/io/epirawdma.o (section); \ + build/ROMID/lib/ultra/io/devmgr.o (section); \ + build/ROMID/lib/ultra/os/thread.o (section); \ + build/ROMID/lib/ultra/os/destroythread.o (section); \ + build/ROMID/lib/ultra/gu/mtxutil.o (section); \ + build/ROMID/lib/ultra/gu/sqrtf.o (section); \ + build/ROMID/lib/ultra/libc/string.o (section); \ + build/ROMID/lib/ultra/libc/ldiv.o (section); \ + build/ROMID/lib/ultra/io/siacs.o (section); \ + build/ROMID/lib/ultra/io/sirawdma.o (section); \ + build/ROMID/lib/ultra/io/controller.o (section); \ + build/ROMID/lib/ultra/os/setsr.o (section); \ + build/ROMID/lib/ultra/os/getsr.o (section); \ + build/ROMID/lib/ultra/io/sirawread.o (section); \ + build/ROMID/lib/ultra/io/sirawwrite.o (section); \ + build/ROMID/lib/ultra/os/writebackdcache.o (section); \ + build/ROMID/lib/ultra/libc/bzero.o (section); \ + build/ROMID/lib/ultra/os/getcause.o (section); \ + build/ROMID/lib/ultra/libc/bcopy.o (section); \ + build/ROMID/lib/ultra/os/virtualtophysical.o (section); \ + build/ROMID/lib/ultra/io/spsetstat.o (section); \ + build/ROMID/lib/ultra/io/spsetpc.o (section); \ + build/ROMID/lib/ultra/io/sprawdma.o (section); \ + build/ROMID/lib/ultra/io/sp.o (section); \ + build/ROMID/lib/ultra/io/contramwrite.o (section); \ + build/ROMID/lib/ultra/io/contramread.o (section); \ + build/ROMID/lib/ultra/io/pfsgetstatus.o (section); \ + build/ROMID/lib/ultra/io/conteepwrite.o (section); \ + build/ROMID/lib/ultra/io/contpfs.o (section); \ + build/ROMID/lib/ultra/io/pfsfindfile.o (section); \ + build/ROMID/lib/ultra/io/pfsselectbank.o (section); \ + build/ROMID/lib/ultra/io/pfsfreeblocks.o (section); \ + build/ROMID/lib/ultra/io/pfsallocatefile.o (section); \ + build/ROMID/lib/ultra/io/pfsdeletefile.o (section); \ + build/ROMID/lib/ultra/io/pfschecker.o (section); \ + build/ROMID/lib/ultra/libc/bcmp.o (section); \ + build/ROMID/lib/ultra/os/maptlb.o (section); \ + build/ROMID/lib/ultra/io/aisetfreq.o (section); \ + build/ROMID/lib/ultra/libc/ll.o (section); \ + build/ROMID/lib/ultra/io/aisetnextbuf.o (section); \ + build/ROMID/lib/ultra/io/aigetlen.o (section); \ + build/ROMID/lib/ultra/os/invaldcache.o (section); \ + build/ROMID/lib/ultra/io/pidma.o (section); \ + build/ROMID/lib/ultra/os/getcurrfaultthread.o (section); \ + build/ROMID/lib/ultra/io/piread.o (section); \ + build/ROMID/lib/ultra/libc/xprintf.o (section); \ + build/ROMID/lib/ultra/io/contquery.o (section); \ + build/ROMID/lib/ultra/io/contreaddata.o (section); \ + build/ROMID/lib/ultra/io/motor.o (section); \ + build/ROMID/lib/ultra/gu/align.o (section); \ + build/ROMID/lib/ultra/gu/coss.o (section); \ + build/ROMID/lib/ultra/gu/sins.o (section); \ + build/ROMID/lib/ultra/gu/ortho.o (section); \ + build/ROMID/lib/ultra/gu/frustum.o (section); \ + build/ROMID/lib/ultra/gu/translate.o (section); \ + build/ROMID/lib/ultra/gu/scale.o (section); \ + build/ROMID/lib/ultra/io/conteepprobe.o (section); \ + build/ROMID/lib/ultra/io/conteepread.o (section); \ + build/ROMID/lib/ultra/io/conteeplongread.o (section); \ + build/ROMID/lib/ultra/io/pfsreadwritefile.o (section); \ + build/ROMID/lib/ultra/io/pfsnumfiles.o (section); \ + build/ROMID/lib/ultra/io/pfsfilestate.o (section); \ + build/ROMID/lib/ultra/io/gbpakgetstatus.o (section); \ + build/ROMID/lib/ultra/io/gbpakreadid.o (section); \ + build/ROMID/lib/ultra/io/gbpakcheckconnector.o (section); \ + build/ROMID/lib/ultra/io/gbpakreadwrite.o (section); \ + build/ROMID/lib/ultra/io/pfsinitpak2.o (section); \ + build/ROMID/lib/ultra/io/vimodepallan1.o (section); \ + build/ROMID/lib/ultra/io/vimodempallan1.o (section); \ + build/ROMID/lib/ultra/io/vimodentsclan1.o (section); \ + build/ROMID/lib/ultra/os/setcompare.o (section); \ + build/ROMID/lib/ultra/io/spgetstat.o (section); \ + build/ROMID/lib/ultra/os/resetglobalintmask.o (section); \ + build/ROMID/lib/ultra/io/epirawwrite.o (section); \ + build/ROMID/lib/ultra/io/epirawread.o (section); \ + build/ROMID/lib/ultra/os/setglobalintmask.o (section); \ + build/ROMID/lib/ultra/os/yieldthread.o (section); \ + build/ROMID/lib/ultra/io/si.o (section); \ + build/ROMID/lib/ultra/os/probetlb.o (section); \ + build/ROMID/lib/ultra/io/crc.o (section); \ + build/ROMID/lib/ultra/os/initialize2.o (section); \ + build/ROMID/lib/ultra/io/ai.o (section); \ + build/ROMID/lib/ultra/os/jammesg.o (section); \ + build/ROMID/lib/ultra/io/pigetcmdq.o (section); \ + build/ROMID/lib/ultra/io/pirawread.o (section); \ + build/ROMID/lib/ultra/libc/xlitob.o (section); \ + build/ROMID/lib/ultra/io/gbpakselectbank.o (section); \ + build/ROMID/lib/ultra/os/unmaptlball.o (section); diff --git a/ld/pd.ld b/ld/pd.ld index 0d92eb4f7..001829dc5 100644 --- a/ld/pd.ld +++ b/ld/pd.ld @@ -5,7 +5,10 @@ #define VERSION_PAL_FINAL 4 #define VERSION_JPN_FINAL 5 -#if VERSION >= VERSION_PAL_FINAL +#if VERSION >= VERSION_JPN_FINAL +#include "gamefiles.jpn-final.inc" +#include "libfiles.jpn-final.inc" +#elif VERSION >= VERSION_PAL_FINAL #include "gamefiles.pal-final.inc" #include "libfiles.pal-final.inc" #elif VERSION >= VERSION_PAL_BETA diff --git a/src/lib/args.c b/src/lib/args.c index ad9f7e02b..e95d11d2b 100644 --- a/src/lib/args.c +++ b/src/lib/args.c @@ -90,9 +90,11 @@ bool argsParseDebugArgs(void) g_SndDisabled = true; } +#if VERSION < VERSION_JPN_FINAL if (argFindByPrefix(1, "-j")) { g_Jpn = true; } +#endif return ret; } diff --git a/src/lib/audiodma.c b/src/lib/audiodma.c index 75e7e1af4..53da7b133 100644 --- a/src/lib/audiodma.c +++ b/src/lib/audiodma.c @@ -129,7 +129,7 @@ s32 admaExec(s32 offset, s32 len, void *state) */ void *admaNew(struct admastate **state) { -#if VERSION >= VERSION_PAL_BETA +#if PAL s32 max = ADMA_MAX_ITEMS; #else s32 max = IS4MB() ? ADMA_MAX_ITEMS - 20 : ADMA_MAX_ITEMS; diff --git a/src/lib/audiomgr.c b/src/lib/audiomgr.c index 75dfcfc3d..a3982f5d7 100644 --- a/src/lib/audiomgr.c +++ b/src/lib/audiomgr.c @@ -62,7 +62,13 @@ void amgrCreate(ALSynConfig *config) config->outputRate = osAiSetFrequency(22020); config->dmaproc = admaNew; -#if VERSION >= VERSION_PAL_BETA +#if VERSION >= VERSION_JPN_FINAL + freqpertick = settings[1] * (f32)config->outputRate / 25.0f; + + if (IS4MB()) { + freqpertick *= 0.5f; + } +#elif VERSION >= VERSION_PAL_BETA freqpertick = settings[1] * (f32)config->outputRate / 25.0f; #else freqpertick = config->outputRate / 30.0f; @@ -90,7 +96,7 @@ void amgrCreate(ALSynConfig *config) var800918ec = 2000; -#if VERSION < VERSION_PAL_BETA +#if !PAL if (IS4MB()) { var800918ec >>= 1; } @@ -174,7 +180,7 @@ void amgrMain(void *arg) static u32 var8005d514 = 1; -#if VERSION >= VERSION_PAL_BETA +#if PAL osScAddClient(&g_Sched, &var800918d0, &g_AudioManager.audioFrameMsgQ, true); #else osScAddClient(&g_Sched, &var800918d0, &g_AudioManager.audioFrameMsgQ, !IS4MB()); diff --git a/src/lib/joy.c b/src/lib/joy.c index c32ee9c86..0c2d103fa 100644 --- a/src/lib/joy.c +++ b/src/lib/joy.c @@ -253,7 +253,7 @@ void joyCheckPfs(s32 arg0) doingit = false; } -#if !PAL +#if VERSION < VERSION_PAL_BETA if (arg0) { // empty } diff --git a/src/lib/main.c b/src/lib/main.c index 63a3ebd33..09a002f41 100644 --- a/src/lib/main.c +++ b/src/lib/main.c @@ -292,7 +292,404 @@ Gfx var8005dcf0[] = { s32 var8005dd18 = 1; -#if VERSION >= VERSION_PAL_FINAL +#if VERSION >= VERSION_JPN_FINAL +GLOBAL_ASM( +glabel mainInit +/* d4c0: 27bdeb28 */ addiu $sp,$sp,-5336 +/* d4c4: afbf002c */ sw $ra,0x2c($sp) +/* d4c8: 0c002fd4 */ jal 0xbf50 +/* d4cc: afb00028 */ sw $s0,0x28($sp) +/* d4d0: 0c003410 */ jal 0xd040 +/* d4d4: 00000000 */ nop +/* d4d8: 0c002264 */ jal 0x8990 +/* d4dc: 00000000 */ nop +/* d4e0: 0c005600 */ jal 0x15800 +/* d4e4: 00000000 */ nop +/* d4e8: 0c004868 */ jal 0x121a0 +/* d4ec: 00000000 */ nop +/* d4f0: 0c004a73 */ jal 0x129cc +/* d4f4: 00000000 */ nop +/* d4f8: 0c004dbe */ jal 0x136f8 +/* d4fc: 00000000 */ nop +/* d500: 0c002690 */ jal 0x9a40 +/* d504: 00000000 */ nop +/* d508: 0c00bd46 */ jal 0x2f518 +/* d50c: 00000000 */ nop +/* d510: 3c018006 */ lui $at,0x8006 +/* d514: 0c004f0b */ jal 0x13c2c +/* d518: ac22d860 */ sw $v0,-0x27a0($at) +/* d51c: 27a41490 */ addiu $a0,$sp,0x1490 +/* d520: 27a514cc */ addiu $a1,$sp,0x14cc +/* d524: 0c011f94 */ jal 0x47e50 +/* d528: 24060001 */ li $a2,0x1 +/* d52c: 00008025 */ move $s0,$zero +/* d530: 3c070047 */ lui $a3,0x47 +.JF0000d534: +/* d534: 240e0000 */ li $t6,0x0 +/* d538: 240f0000 */ li $t7,0x0 +/* d53c: 27b81490 */ addiu $t8,$sp,0x1490 +/* d540: 27b914cc */ addiu $t9,$sp,0x14cc +/* d544: afb9001c */ sw $t9,0x1c($sp) +/* d548: afb80018 */ sw $t8,0x18($sp) +/* d54c: afaf0014 */ sw $t7,0x14($sp) +/* d550: afae0010 */ sw $t6,0x10($sp) +/* d554: 34e7868c */ ori $a3,$a3,0x868c +/* d558: 27a414a8 */ addiu $a0,$sp,0x14a8 +/* d55c: 0c01218c */ jal 0x48630 +/* d560: 24060000 */ li $a2,0x0 +/* d564: 27a41490 */ addiu $a0,$sp,0x1490 +/* d568: 27a514cc */ addiu $a1,$sp,0x14cc +/* d56c: 0c012080 */ jal 0x48200 +/* d570: 24060001 */ li $a2,0x1 +/* d574: 24010001 */ li $at,0x1 +/* d578: 56010006 */ bnel $s0,$at,.JF0000d594 +/* d57c: 2a010002 */ slti $at,$s0,0x2 +/* d580: 0c004f65 */ jal 0x13d94 +/* d584: 00000000 */ nop +/* d588: 10000007 */ b .JF0000d5a8 +/* d58c: 26100001 */ addiu $s0,$s0,0x1 +/* d590: 2a010002 */ slti $at,$s0,0x2 +.JF0000d594: +/* d594: 54200004 */ bnezl $at,.JF0000d5a8 +/* d598: 26100001 */ addiu $s0,$s0,0x1 +/* d59c: 0c0050a2 */ jal 0x14288 +/* d5a0: 00000000 */ nop +/* d5a4: 26100001 */ addiu $s0,$s0,0x1 +.JF0000d5a8: +/* d5a8: 24010004 */ li $at,0x4 +/* d5ac: 5601ffe1 */ bnel $s0,$at,.JF0000d534 +/* d5b0: 3c070047 */ lui $a3,0x47 +/* d5b4: 3c057005 */ lui $a1,0x7005 +/* d5b8: 24a53948 */ addiu $a1,$a1,0x3948 +/* d5bc: 0c004bec */ jal 0x12fb0 +/* d5c0: 24040001 */ li $a0,0x1 +/* d5c4: 14400004 */ bnez $v0,.JF0000d5d8 +/* d5c8: 00002025 */ move $a0,$zero +/* d5cc: 240b0001 */ li $t3,0x1 +/* d5d0: 3c018006 */ lui $at,0x8006 +/* d5d4: ac2bd860 */ sw $t3,-0x27a0($at) +.JF0000d5d8: +/* d5d8: 0c0053be */ jal 0x14ef8 +/* d5dc: 24051000 */ li $a1,0x1000 +/* d5e0: 14400010 */ bnez $v0,.JF0000d624 +/* d5e4: 24040001 */ li $a0,0x1 +/* d5e8: 0c0053be */ jal 0x14ef8 +/* d5ec: 24051000 */ li $a1,0x1000 +/* d5f0: 1440000c */ bnez $v0,.JF0000d624 +/* d5f4: 24040002 */ li $a0,0x2 +/* d5f8: 0c0053be */ jal 0x14ef8 +/* d5fc: 24051000 */ li $a1,0x1000 +/* d600: 14400008 */ bnez $v0,.JF0000d624 +/* d604: 24040003 */ li $a0,0x3 +/* d608: 0c0053be */ jal 0x14ef8 +/* d60c: 24051000 */ li $a1,0x1000 +/* d610: 14400004 */ bnez $v0,.JF0000d624 +/* d614: 3c108006 */ lui $s0,0x8006 +/* d618: 2610d884 */ addiu $s0,$s0,-10108 +/* d61c: 10000005 */ b .JF0000d634 +/* d620: ae000000 */ sw $zero,0x0($s0) +.JF0000d624: +/* d624: 3c108006 */ lui $s0,0x8006 +/* d628: 2610d884 */ addiu $s0,$s0,-10108 +/* d62c: 240c0001 */ li $t4,0x1 +/* d630: ae0c0000 */ sw $t4,0x0($s0) +.JF0000d634: +/* d634: 3c0e8006 */ lui $t6,0x8006 +/* d638: afa01470 */ sw $zero,0x1470($sp) +/* d63c: 25cedbcc */ addiu $t6,$t6,-9268 +/* d640: 8dc10000 */ lw $at,0x0($t6) +/* d644: 8dd90004 */ lw $t9,0x4($t6) +/* d648: 27ad1450 */ addiu $t5,$sp,0x1450 +/* d64c: ada10000 */ sw $at,0x0($t5) +/* d650: adb90004 */ sw $t9,0x4($t5) +/* d654: 8dd9000c */ lw $t9,0xc($t6) +/* d658: 8dc10008 */ lw $at,0x8($t6) +/* d65c: adb9000c */ sw $t9,0xc($t5) +/* d660: ada10008 */ sw $at,0x8($t5) +/* d664: 8dc10010 */ lw $at,0x10($t6) +/* d668: 8dd90014 */ lw $t9,0x14($t6) +/* d66c: ada10010 */ sw $at,0x10($t5) +/* d670: adb90014 */ sw $t9,0x14($t5) +/* d674: 8dd9001c */ lw $t9,0x1c($t6) +/* d678: 8dc10018 */ lw $at,0x18($t6) +/* d67c: adb9001c */ sw $t9,0x1c($t5) +/* d680: 0c0005b0 */ jal 0x16c0 +/* d684: ada10018 */ sw $at,0x18($t5) +/* d688: 3c010040 */ lui $at,0x40 +/* d68c: 34210001 */ ori $at,$at,0x1 +/* d690: 0041082a */ slt $at,$v0,$at +/* d694: 1020000e */ beqz $at,.JF0000d6d0 +/* d698: 3c028080 */ lui $v0,0x8080 +/* d69c: 3c0b8006 */ lui $t3,0x8006 +/* d6a0: 8d6bce34 */ lw $t3,-0x31cc($t3) +/* d6a4: 3c18803f */ lui $t8,0x803f +/* d6a8: 371850b8 */ ori $t8,$t8,0x50b8 +/* d6ac: 3c01ffef */ lui $at,0xffef +/* d6b0: 000b60c0 */ sll $t4,$t3,0x3 +/* d6b4: 030c1023 */ subu $v0,$t8,$t4 +/* d6b8: 34214000 */ ori $at,$at,0x4000 +/* d6bc: 00411021 */ addu $v0,$v0,$at +/* d6c0: 304f1fff */ andi $t7,$v0,0x1fff +/* d6c4: 004f1023 */ subu $v0,$v0,$t7 +/* d6c8: 10000001 */ b .JF0000d6d0 +/* d6cc: 2442e380 */ addiu $v0,$v0,-7296 +.JF0000d6d0: +/* d6d0: 8e0d0000 */ lw $t5,0x0($s0) +/* d6d4: 3c01fff6 */ lui $at,0xfff6 +/* d6d8: 3421a000 */ ori $at,$at,0xa000 +/* d6dc: 00411021 */ addu $v0,$v0,$at +/* d6e0: 11a0000f */ beqz $t5,.JF0000d720 +/* d6e4: 2442ffc0 */ addiu $v0,$v0,-64 +/* d6e8: 3c018000 */ lui $at,0x8000 +/* d6ec: 00418025 */ or $s0,$v0,$at +/* d6f0: 2610003f */ addiu $s0,$s0,0x3f +/* d6f4: 3c030200 */ lui $v1,0x200 +/* d6f8: 360e003f */ ori $t6,$s0,0x3f +/* d6fc: 3c0b0200 */ lui $t3,0x200 +/* d700: 2465e1e0 */ addiu $a1,$v1,-7712 +/* d704: 256bea90 */ addiu $t3,$t3,-5488 +/* d708: 39c4003f */ xori $a0,$t6,0x3f +/* d70c: 00808025 */ move $s0,$a0 +/* d710: 0c0034ec */ jal 0xd3b0 +/* d714: 01653023 */ subu $a2,$t3,$a1 +/* d718: 1000000e */ b .JF0000d754 +/* d71c: 3c01ffff */ lui $at,0xffff +.JF0000d720: +/* d720: 3c018000 */ lui $at,0x8000 +/* d724: 00418025 */ or $s0,$v0,$at +/* d728: 2610003f */ addiu $s0,$s0,0x3f +/* d72c: 3c030200 */ lui $v1,0x200 +/* d730: 3618003f */ ori $t8,$s0,0x3f +/* d734: 3c0f0200 */ lui $t7,0x200 +/* d738: 2465d6b0 */ addiu $a1,$v1,-10576 +/* d73c: 25efe1e0 */ addiu $t7,$t7,-7712 +/* d740: 3b04003f */ xori $a0,$t8,0x3f +/* d744: 00808025 */ move $s0,$a0 +/* d748: 0c0034ec */ jal 0xd3b0 +/* d74c: 01e53023 */ subu $a2,$t7,$a1 +/* d750: 3c01ffff */ lui $at,0xffff +.JF0000d754: +/* d754: 342141e0 */ ori $at,$at,0x41e0 +/* d758: 02012821 */ addu $a1,$s0,$at +/* d75c: afa50048 */ sw $a1,0x48($sp) +/* d760: 02002025 */ move $a0,$s0 +/* d764: 0c001d18 */ jal 0x7460 +/* d768: 27a60050 */ addiu $a2,$sp,0x50 +/* d76c: 3c050004 */ lui $a1,0x4 +/* d770: 8faa0048 */ lw $t2,0x48($sp) +/* d774: 34a53800 */ ori $a1,$a1,0x3800 +/* d778: 00003825 */ move $a3,$zero +/* d77c: 24040500 */ li $a0,0x500 +/* d780: 00076840 */ sll $t5,$a3,0x1 +.JF0000d784: +/* d784: 020d1821 */ addu $v1,$s0,$t5 +/* d788: 00001025 */ move $v0,$zero +.JF0000d78c: +/* d78c: 00627021 */ addu $t6,$v1,$v0 +/* d790: 24420002 */ addiu $v0,$v0,0x2 +/* d794: 1444fffd */ bne $v0,$a0,.JF0000d78c +/* d798: a5c00000 */ sh $zero,0x0($t6) +/* d79c: 24e70240 */ addiu $a3,$a3,0x240 +/* d7a0: 00e5082a */ slt $at,$a3,$a1 +/* d7a4: 5420fff7 */ bnezl $at,.JF0000d784 +/* d7a8: 00076840 */ sll $t5,$a3,0x1 +/* d7ac: 3c198000 */ lui $t9,0x8000 +/* d7b0: 8f390300 */ lw $t9,0x300($t9) +/* d7b4: 24010001 */ li $at,0x1 +/* d7b8: 00003825 */ move $a3,$zero +/* d7bc: 17210011 */ bne $t9,$at,.JF0000d804 +/* d7c0: 00003025 */ move $a2,$zero +/* d7c4: 24095f10 */ li $t1,0x5f10 +/* d7c8: 240503f6 */ li $a1,0x3f6 +.JF0000d7cc: +/* d7cc: 00075840 */ sll $t3,$a3,0x1 +/* d7d0: 0006c040 */ sll $t8,$a2,0x1 +/* d7d4: 01582021 */ addu $a0,$t2,$t8 +/* d7d8: 020b1821 */ addu $v1,$s0,$t3 +/* d7dc: 00001025 */ move $v0,$zero +.JF0000d7e0: +/* d7e0: 00826021 */ addu $t4,$a0,$v0 +/* d7e4: 958f0000 */ lhu $t7,0x0($t4) +/* d7e8: 00626821 */ addu $t5,$v1,$v0 +/* d7ec: 24420002 */ addiu $v0,$v0,0x2 +/* d7f0: 1445fffb */ bne $v0,$a1,.JF0000d7e0 +/* d7f4: a5af008a */ sh $t7,0x8a($t5) +/* d7f8: 24c601fb */ addiu $a2,$a2,0x1fb +/* d7fc: 14c9fff3 */ bne $a2,$t1,.JF0000d7cc +/* d800: 24e70240 */ addiu $a3,$a3,0x240 +.JF0000d804: +/* d804: 0c002a95 */ jal 0xaa54 +/* d808: 24040002 */ li $a0,0x2 +/* d80c: 0c0026bd */ jal 0x9af4 +/* d810: 02002025 */ move $a0,$s0 +/* d814: 8faa0048 */ lw $t2,0x48($sp) +/* d818: 3c018006 */ lui $at,0x8006 +/* d81c: 3c048009 */ lui $a0,0x8009 +/* d820: ac2aef04 */ sw $t2,-0x10fc($at) +/* d824: 3c018006 */ lui $at,0x8006 +/* d828: 254e0800 */ addiu $t6,$t2,0x800 +/* d82c: ac2eef00 */ sw $t6,-0x1100($at) +/* d830: 2484e1a0 */ addiu $a0,$a0,-7776 +/* d834: 27a51470 */ addiu $a1,$sp,0x1470 +/* d838: 0c012080 */ jal 0x48200 +/* d83c: 00003025 */ move $a2,$zero +/* d840: 14400007 */ bnez $v0,.JF0000d860 +.JF0000d844: +/* d844: 3c048009 */ lui $a0,0x8009 +/* d848: 2484e1a0 */ addiu $a0,$a0,-7776 +/* d84c: 27a51470 */ addiu $a1,$sp,0x1470 +/* d850: 0c012080 */ jal 0x48200 +/* d854: 00003025 */ move $a2,$zero +/* d858: 1040fffa */ beqz $v0,.JF0000d844 +/* d85c: 00000000 */ nop +.JF0000d860: +/* d860: 00001825 */ move $v1,$zero +.JF0000d864: +/* d864: 3c048009 */ lui $a0,0x8009 +/* d868: 2484e1a0 */ addiu $a0,$a0,-7776 +/* d86c: 27a51470 */ addiu $a1,$sp,0x1470 +/* d870: 24060001 */ li $a2,0x1 +/* d874: 0c012080 */ jal 0x48200 +/* d878: afa31488 */ sw $v1,0x1488($sp) +/* d87c: 8fb91470 */ lw $t9,0x1470($sp) +/* d880: 24010001 */ li $at,0x1 +/* d884: 8fa31488 */ lw $v1,0x1488($sp) +/* d888: 872b0000 */ lh $t3,0x0($t9) +/* d88c: 27b01450 */ addiu $s0,$sp,0x1450 +/* d890: 5561000d */ bnel $t3,$at,.JF0000d8c8 +/* d894: 28610006 */ slti $at,$v1,0x6 +/* d898: 0c0027fa */ jal 0x9fe8 +/* d89c: afa31488 */ sw $v1,0x1488($sp) +/* d8a0: 3c048006 */ lui $a0,0x8006 +/* d8a4: 3c058006 */ lui $a1,0x8006 +/* d8a8: 24a5dba0 */ addiu $a1,$a1,-9312 +/* d8ac: 2484db78 */ addiu $a0,$a0,-9352 +/* d8b0: 00003025 */ move $a2,$zero +/* d8b4: 0c00bd01 */ jal 0x2f404 +/* d8b8: 02003825 */ move $a3,$s0 +/* d8bc: 8fa31488 */ lw $v1,0x1488($sp) +/* d8c0: 24630001 */ addiu $v1,$v1,0x1 +/* d8c4: 28610006 */ slti $at,$v1,0x6 +.JF0000d8c8: +/* d8c8: 1420ffe6 */ bnez $at,.JF0000d864 +/* d8cc: 00000000 */ nop +/* d8d0: 3c188000 */ lui $t8,0x8000 +/* d8d4: 8f180300 */ lw $t8,0x300($t8) +/* d8d8: 24010001 */ li $at,0x1 +/* d8dc: 13010003 */ beq $t8,$at,.JF0000d8ec +/* d8e0: 00000000 */ nop +.JF0000d8e4: +/* d8e4: 1000ffff */ b .JF0000d8e4 +/* d8e8: 00000000 */ nop +.JF0000d8ec: +/* d8ec: 0c001c10 */ jal 0x7040 +/* d8f0: 00000000 */ nop +/* d8f4: 0fc6a10c */ jal 0xf1a8430 +/* d8f8: 00000000 */ nop +/* d8fc: 0fc59ce1 */ jal 0xf167384 +/* d900: 00000000 */ nop +/* d904: 0fc5d8e8 */ jal 0xf1763a0 +/* d908: 00000000 */ nop +/* d90c: 0fc5d8f8 */ jal 0xf1763e0 +/* d910: 00000000 */ nop +/* d914: 3c0c8006 */ lui $t4,0x8006 +/* d918: 8d8cd860 */ lw $t4,-0x27a0($t4) +/* d91c: 11800003 */ beqz $t4,.JF0000d92c +/* d920: 3c047005 */ lui $a0,0x7005 +/* d924: 0c004baf */ jal 0x12ebc +/* d928: 24843950 */ addiu $a0,$a0,0x3950 +.JF0000d92c: +/* d92c: 3c04800b */ lui $a0,0x800b +/* d930: 0c012b34 */ jal 0x4acd0 +/* d934: 2484dbf0 */ addiu $a0,$a0,-9232 +/* d938: 3c038009 */ lui $v1,0x8009 +/* d93c: 8c631170 */ lw $v1,0x1170($v1) +/* d940: 3c018000 */ lui $at,0x8000 +/* d944: 00412025 */ or $a0,$v0,$at +/* d948: 0c00486a */ jal 0x121a8 +/* d94c: 00642823 */ subu $a1,$v1,$a0 +/* d950: 0c00493a */ jal 0x124e8 +/* d954: 24040008 */ li $a0,0x8 +/* d958: 0c00493a */ jal 0x124e8 +/* d95c: 24040006 */ li $a0,0x6 +/* d960: 0c0033a6 */ jal 0xce98 +/* d964: 00000000 */ nop +/* d968: 0fc02ca8 */ jal 0xf00b2a0 +/* d96c: 00000000 */ nop +/* d970: 0fc5dc8b */ jal 0xf17722c +/* d974: 00000000 */ nop +/* d978: 0c000d34 */ jal 0x34d0 +/* d97c: 00000000 */ nop +/* d980: 0fc02c88 */ jal 0xf00b220 +/* d984: 00000000 */ nop +/* d988: 0fc00000 */ jal 0xf000000 +/* d98c: 00000000 */ nop +/* d990: 0fc59fc2 */ jal 0xf167f08 +/* d994: 00000000 */ nop +/* d998: 0fc41d8f */ jal 0xf10763c +/* d99c: 00000000 */ nop +/* d9a0: 0c003a58 */ jal 0xe960 +/* d9a4: 00000000 */ nop +/* d9a8: 0fc54a14 */ jal 0xf152850 +/* d9ac: 00000000 */ nop +/* d9b0: 0c004dcc */ jal 0x13730 +/* d9b4: 00000000 */ nop +/* d9b8: 0fc49f44 */ jal 0xf127d10 +/* d9bc: 00000000 */ nop +/* d9c0: 0fc5b3ec */ jal 0xf16cfb0 +/* d9c4: 00000000 */ nop +/* d9c8: 0fc02ca4 */ jal 0xf00b290 +/* d9cc: 00000000 */ nop +/* d9d0: 0c002684 */ jal 0x9a10 +/* d9d4: 00000000 */ nop +/* d9d8: 0fc00240 */ jal 0xf000900 +/* d9dc: 00000000 */ nop +/* d9e0: 0fc00244 */ jal 0xf000910 +/* d9e4: 00000000 */ nop +/* d9e8: 0fc0025c */ jal 0xf000970 +/* d9ec: 00000000 */ nop +/* d9f0: 0fc00260 */ jal 0xf000980 +/* d9f4: 00000000 */ nop +/* d9f8: 0fc00264 */ jal 0xf000990 +/* d9fc: 00000000 */ nop +/* da00: 0fc02c84 */ jal 0xf00b210 +/* da04: 00000000 */ nop +/* da08: 0fc00268 */ jal 0xf0009a0 +/* da0c: 00000000 */ nop +/* da10: 0fc00234 */ jal 0xf0008d0 +/* da14: 00000000 */ nop +/* da18: 0fc6224c */ jal 0xf188930 +/* da1c: 00000000 */ nop +/* da20: 0fc52652 */ jal 0xf149948 +/* da24: 00000000 */ nop +/* da28: 0fc46362 */ jal 0xf118d88 +/* da2c: 00000000 */ nop +/* da30: 0fc52677 */ jal 0xf1499dc +/* da34: 00000000 */ nop +/* da38: 0c008bb4 */ jal 0x22ed0 +/* da3c: 00000000 */ nop +/* da40: 0fc00064 */ jal 0xf000190 +/* da44: 00000000 */ nop +/* da48: 0fc00070 */ jal 0xf0001c0 +/* da4c: 00000000 */ nop +/* da50: 0fc00238 */ jal 0xf0008e0 +/* da54: 00000000 */ nop +/* da58: 0fc0023c */ jal 0xf0008f0 +/* da5c: 00000000 */ nop +/* da60: 0fc00040 */ jal 0xf000100 +/* da64: 00000000 */ nop +/* da68: 0c0026e7 */ jal 0x9b9c +/* da6c: 00000000 */ nop +/* da70: 0c00279a */ jal 0x9e68 +/* da74: 24040001 */ li $a0,0x1 +/* da78: 8fbf002c */ lw $ra,0x2c($sp) +/* da7c: 3c018006 */ lui $at,0x8006 +/* da80: 8fb00028 */ lw $s0,0x28($sp) +/* da84: ac20dbc8 */ sw $zero,-0x2438($at) +/* da88: 03e00008 */ jr $ra +/* da8c: 27bd14d8 */ addiu $sp,$sp,0x14d8 +); +#elif VERSION >= VERSION_PAL_FINAL GLOBAL_ASM( glabel mainInit /* d260: 27bdeb20 */ addiu $sp,$sp,-5344 diff --git a/src/lib/naudio/n_csplayer.c b/src/lib/naudio/n_csplayer.c index b30efb67d..25363e196 100644 --- a/src/lib/naudio/n_csplayer.c +++ b/src/lib/naudio/n_csplayer.c @@ -933,16 +933,14 @@ void __n_CSPHandleMIDIMsg(N_ALCSPlayer *seqp, N_ALEvent *event) } else if (vs->phase == AL_PHASE_SUSTREL) { vs->phase = AL_PHASE_RELEASE; -#define MIN_RELEASE_TIME (PAL ? 20000 : 16000) - if (chanstate->unk24) { __n_seqpReleaseVoice((N_ALSeqPlayer*)seqp, &vs->voice, - (seqp->chanState[chan].releaseTime < MIN_RELEASE_TIME ? MIN_RELEASE_TIME : seqp->chanState[chan].releaseTime)); + (seqp->chanState[chan].releaseTime < AL_USEC_PER_FRAME ? AL_USEC_PER_FRAME : seqp->chanState[chan].releaseTime)); } else { __n_seqpReleaseVoice((N_ALSeqPlayer*)seqp, &vs->voice, - vstate->sound->envelope->releaseTime < MIN_RELEASE_TIME ? MIN_RELEASE_TIME : vstate->sound->envelope->releaseTime); + vstate->sound->envelope->releaseTime < AL_USEC_PER_FRAME ? AL_USEC_PER_FRAME : vstate->sound->envelope->releaseTime); } } } diff --git a/src/lib/naudio/n_seqplayer.c b/src/lib/naudio/n_seqplayer.c index 68f313d64..d4e816191 100644 --- a/src/lib/naudio/n_seqplayer.c +++ b/src/lib/naudio/n_seqplayer.c @@ -4,6 +4,7 @@ #include "n_libaudio.h" #include "n_seqp.h" #include "seq.h" +#include "versions.h" void __n_unmapVoice(N_ALSeqPlayer *seqp, N_ALVoice *voice) { @@ -85,7 +86,7 @@ void __n_seqpReleaseVoice(N_ALSeqPlayer *seqp, N_ALVoice *voice, ALMicroTime del evt.type = AL_NOTE_END_EVT; evt.msg.note.voice = voice; - deltaTime += (PAL ? 40000 : 32000); + deltaTime += AL_USEC_PER_FRAME * 2; n_alEvtqPostEvent(&seqp->evtq, &evt, deltaTime, 0); } diff --git a/src/lib/sched.c b/src/lib/sched.c index ab2de9f8c..e9b9c6932 100644 --- a/src/lib/sched.c +++ b/src/lib/sched.c @@ -316,7 +316,7 @@ void __scHandleRetrace(OSSched *sc) { sc->frameCount++; -#if VERSION >= VERSION_PAL_BETA +#if PAL if (!g_Resetting && (sc->frameCount & 1)) { osStopTimer(&g_SchedRspTimer); osSetTimer(&g_SchedRspTimer, 280000, 0, amgrGetFrameMesgQueue(), &g_SchedRspMsg); diff --git a/src/lib/snd.c b/src/lib/snd.c index 9deaa44c1..58e323d94 100644 --- a/src/lib/snd.c +++ b/src/lib/snd.c @@ -1668,7 +1668,9 @@ void sndInit(void) { ALSndpConfig sndpconfig; -#if VERSION >= VERSION_PAL_BETA +#if VERSION >= VERSION_JPN_FINAL + u32 heaplen = 1024 * 441; +#elif VERSION >= VERSION_PAL_BETA u32 heaplen = 1024 * 446; #elif VERSION >= VERSION_NTSC_1_0 u32 heaplen = 1024 * 441; @@ -1681,11 +1683,7 @@ void sndInit(void) if (IS4MB()) { g_SndMaxFxBusses = 1; -#if VERSION >= VERSION_PAL_BETA - heaplen -= 1024 * 6; -#else - heaplen -= 1024 * 38; -#endif + heaplen -= 1024 * (PAL ? 6 : 38); heaplen -= 1024 * 137; heaplen -= 1024 * 12; heaplen -= 1024 * 23; diff --git a/src/lib/ultra/os/initialize.c b/src/lib/ultra/os/initialize.c index 3f4724320..81c5f8cdc 100644 --- a/src/lib/ultra/os/initialize.c +++ b/src/lib/ultra/os/initialize.c @@ -53,7 +53,7 @@ void osInitialize(void) osCartRomInit(); osMapTLBRdb(); -#if !PAL +#if VERSION < VERSION_PAL_BETA osClockRate = osClockRate * 3 / 4; #endif diff --git a/src/lib/vi.c b/src/lib/vi.c index 3814eb682..04314d148 100644 --- a/src/lib/vi.c +++ b/src/lib/vi.c @@ -85,7 +85,7 @@ void viConfigureForLogos(void) var8005d58c = 0; } else { var8005d588 = 0; - var8005d58c = 12; + var8005d58c = VERSION >= VERSION_JPN_FINAL ? 0 : 12; } #else var8005d588 = 0; @@ -157,7 +157,7 @@ void viConfigureForLegal(void) g_Vars.fourmeg2player = false; -#if VERSION >= VERSION_PAL_BETA +#if PAL playerResetLoResIf4Mb(); #endif } @@ -213,7 +213,9 @@ void viAllocateFbs(s32 stagenum) #endif g_Vars.fourmeg2player = true; } else if ((g_Vars.coopplayernum >= 0 || g_Vars.antiplayernum >= 0) && PLAYERCOUNT() == 2) { -#if VERSION >= VERSION_PAL_FINAL +#if VERSION >= VERSION_JPN_FINAL + fbsize = 320 * 220 * 2; +#elif VERSION >= VERSION_PAL_FINAL fbsize = 320 * 266 * 2; #elif VERSION >= VERSION_PAL_BETA fbsize = 320 * 252 * 2; @@ -295,7 +297,7 @@ void vi00009ed4(void) osViSetSpecialFeatures(OS_VI_GAMMA_OFF | OS_VI_DITHER_FILTER_ON); } -#if VERSION >= VERSION_PAL_FINAL +#if VERSION == VERSION_PAL_FINAL GLOBAL_ASM( glabel viUpdateMode /* 9f64: 3c098006 */ lui $t1,0x8006 @@ -870,7 +872,7 @@ glabel viUpdateMode /* a78c: 03e00008 */ jr $ra /* a790: 00000000 */ nop ); -#elif VERSION >= VERSION_PAL_BETA +#elif VERSION == VERSION_PAL_BETA GLOBAL_ASM( glabel viUpdateMode /* 9f4c: 3c098006 */ lui $t1,0x8006