Skip to content

RVL SDK #212

@robojumper

Description

@robojumper

I believe we copied the initial headers from ogws / open_rvl. They served us well but it's a rather old SDK.

It turns out that there's a game with complete (?) and unstripped release and debug archives of the SDK, with a decomp at https://github.com/doldecomp/sdk_2009-12-11, which is only insignificantly older than our SDK (Aug 2010).

There's a full list of SDK libs and objects used by this game in our splits:

ss/configure.py

Lines 1313 to 1514 in 8b707e6

Object(NonMatching, "revolution/thp/THPDec.c"),
Object(NonMatching, "revolution/thp/THPAudio.c"),
Object(NonMatching, "revolution/kpr/kpr_lib.c"),
Object(NonMatching, "revolution/ai/ai.c"),
Object(NonMatching, "revolution/arc/arc.c"),
Object(NonMatching, "revolution/ax/AX.c"),
Object(NonMatching, "revolution/ax/AXAlloc.c"),
Object(NonMatching, "revolution/ax/AXAux.c"),
Object(NonMatching, "revolution/ax/AXCL.c"),
Object(NonMatching, "revolution/ax/AXOut.c"),
Object(NonMatching, "revolution/ax/AXSPB.c"),
Object(NonMatching, "revolution/ax/AXVPB.c"),
Object(NonMatching, "revolution/ax/AXComp.c"),
Object(NonMatching, "revolution/ax/DSPCode.c"),
Object(NonMatching, "revolution/ax/AXProf.c"),
Object(NonMatching, "revolution/axfx/AXFXReverbHi.c"),
Object(NonMatching, "revolution/axfx/AXFXReverbHiExp.c"),
Object(NonMatching, "revolution/axfx/AXFXReverbStdExp.c"),
Object(NonMatching, "revolution/axfx/AXFXReverbStdExpDpl2.c"),
Object(NonMatching, "revolution/axfx/AXFXHooks.c"),
Object(NonMatching, "revolution/base/PPCArch.c"),
Object(NonMatching, "revolution/os/OS.c"),
Object(NonMatching, "revolution/os/OSAlarm.c"),
Object(NonMatching, "revolution/os/OSAlloc.c"),
Object(NonMatching, "revolution/os/OSArena.c"),
Object(NonMatching, "revolution/os/OSAudioSystem.c"),
Object(NonMatching, "revolution/os/OSCache.c"),
Object(NonMatching, "revolution/os/OSContext.c"),
Object(NonMatching, "revolution/os/OSError.c"),
Object(NonMatching, "revolution/os/OSExec.c"),
Object(NonMatching, "revolution/os/OSFatal.c"),
Object(NonMatching, "revolution/os/OSFont.c"),
Object(NonMatching, "revolution/os/OSInterrupt.c"),
Object(NonMatching, "revolution/os/OSLink.c"),
Object(NonMatching, "revolution/os/OSMessage.c"),
Object(NonMatching, "revolution/os/OSMemory.c"),
Object(NonMatching, "revolution/os/OSMutex.c"),
Object(NonMatching, "revolution/os/OSReboot.c"),
Object(NonMatching, "revolution/os/OSReset.c"),
Object(NonMatching, "revolution/os/OSRtc.c"),
Object(NonMatching, "revolution/os/OSSync.c"),
Object(NonMatching, "revolution/os/OSThread.c"),
Object(NonMatching, "revolution/os/OSTime.c"),
Object(NonMatching, "revolution/os/OSUtf.c"),
Object(NonMatching, "revolution/os/OSIpc.c"),
Object(NonMatching, "revolution/os/OSStateTM.c"),
Object(NonMatching, "revolution/os/__start.c"),
Object(NonMatching, "revolution/os/OSPlayRecord.c"),
Object(NonMatching, "revolution/os/OSStateFlags.c"),
Object(NonMatching, "revolution/os/OSNet.c"),
Object(NonMatching, "revolution/os/OSNandbootInfo.c"),
Object(NonMatching, "revolution/os/OSPlayTime.c"),
Object(NonMatching, "revolution/os/OSCrc.c"),
Object(NonMatching, "revolution/os/OSLaunch.c"),
Object(NonMatching, "revolution/os/__ppc_eabi_init.c"),
Object(NonMatching, "revolution/exi/EXIBios.c"),
Object(NonMatching, "revolution/exi/EXIUart.c"),
Object(NonMatching, "revolution/exi/EXICommon.c"),
Object(NonMatching, "revolution/si/SIBios.c"),
Object(NonMatching, "revolution/si/SISamplingRate.c"),
Object(NonMatching, "revolution/vi/vi.c"),
Object(NonMatching, "revolution/vi/i2c.c"),
Object(NonMatching, "revolution/vi/vi3in1.c"),
Object(NonMatching, "revolution/mtx/mtx.c"),
Object(NonMatching, "revolution/mtx/mtxvec.c"),
Object(NonMatching, "revolution/mtx/mtx44.c"),
Object(NonMatching, "revolution/mtx/vec.c"),
Object(NonMatching, "revolution/mtx/quat.c"),
Object(NonMatching, "revolution/gx/GXInit.c"),
Object(NonMatching, "revolution/gx/GXFifo.c"),
Object(NonMatching, "revolution/gx/GXAttr.c"),
Object(NonMatching, "revolution/gx/GXMisc.c"),
Object(NonMatching, "revolution/gx/GXGeometry.c"),
Object(NonMatching, "revolution/gx/GXFrameBuf.c"),
Object(NonMatching, "revolution/gx/GXLight.c"),
Object(NonMatching, "revolution/gx/GXTexture.c"),
Object(NonMatching, "revolution/gx/GXBump.c"),
Object(NonMatching, "revolution/gx/GXTev.c"),
Object(NonMatching, "revolution/gx/GXPixel.c"),
Object(NonMatching, "revolution/gx/GXDraw.c"),
Object(NonMatching, "revolution/gx/GXDisplayList.c"),
Object(NonMatching, "revolution/gx/GXTransform.c"),
Object(NonMatching, "revolution/gx/GXPerf.c"),
Object(NonMatching, "revolution/dvd/dvdfs.c"),
Object(NonMatching, "revolution/dvd/dvd.c"),
Object(NonMatching, "revolution/dvd/dvdqueue.c"),
Object(NonMatching, "revolution/dvd/dvderror.c"),
Object(NonMatching, "revolution/dvd/dvdidutils.c"),
Object(NonMatching, "revolution/dvd/dvdFatal.c"),
Object(NonMatching, "revolution/dvd/dvdDeviceError.c"),
Object(NonMatching, "revolution/dvd/dvd_broadway.c"),
Object(NonMatching, "revolution/mem/mem_heapCommon.c"),
Object(NonMatching, "revolution/mem/mem_expHeap.c"),
Object(NonMatching, "revolution/mem/mem_frameHeap.c"),
Object(NonMatching, "revolution/mem/mem_allocator.c"),
Object(NonMatching, "revolution/mem/mem_list.c"),
Object(NonMatching, "revolution/dsp/dsp.c"),
Object(NonMatching, "revolution/dsp/dsp_debug.c"),
Object(NonMatching, "revolution/dsp/dsp_task.c"),
Object(NonMatching, "revolution/esp/esp.c"),
Object(NonMatching, "revolution/cx/CXStreamingUncompression.c"),
Object(NonMatching, "revolution/cx/CXUncompression.c"),
Object(NonMatching, "revolution/cx/CXSecureUncompression.c"),
Object(NonMatching, "revolution/nand/nand.c"),
Object(NonMatching, "revolution/nand/NANDOpenClose.c"),
Object(NonMatching, "revolution/nand/NANDCore.c"),
Object(NonMatching, "revolution/nand/NANDCheck.c"),
Object(NonMatching, "revolution/nand/NANDLogging.c"),
Object(NonMatching, "revolution/nand/NANDErrorMessage.c"),
Object(NonMatching, "revolution/sc/scsystem.c"),
Object(NonMatching, "revolution/sc/scapi.c"),
Object(NonMatching, "revolution/sc/scapi_prdinfo.c"),
Object(NonMatching, "revolution/pad/Pad.c"),
Object(NonMatching, "revolution/wpad/WPAD.c"),
Object(NonMatching, "revolution/wpad/WPADHIDParser.c"),
Object(NonMatching, "revolution/wpad/WPADEncrypt.c"),
Object(NonMatching, "revolution/wpad/WPADMem.c"),
Object(NonMatching, "revolution/wpad/lint.c"),
Object(NonMatching, "revolution/wpad/WUD.c"),
Object(NonMatching, "revolution/wpad/WUDHIDHost.c"),
Object(NonMatching, "revolution/kpad/KPAD.c"),
Object(NonMatching, "revolution/kpad/KMPLS.c"),
Object(NonMatching, "revolution/kpad/KZMplsTestSub.c"),
Object(NonMatching, "revolution/usb/usb.c"),
Object(NonMatching, "revolution/bte/gki_buffer.c"),
Object(NonMatching, "revolution/bte/gki_time.c"),
Object(NonMatching, "revolution/bte/gki_ppc.c"),
Object(NonMatching, "revolution/bte/hcisu_h2.c"),
Object(NonMatching, "revolution/bte/uusb_ppc.c"),
Object(NonMatching, "revolution/bte/bta_dm_cfg.c"),
Object(NonMatching, "revolution/bte/bta_hh_cfg.c"),
Object(NonMatching, "revolution/bte/bta_sys_cfg.c"),
Object(NonMatching, "revolution/bte/bte_hcisu.c"),
Object(NonMatching, "revolution/bte/bte_init.c"),
Object(NonMatching, "revolution/bte/bte_logmsg.c"),
Object(NonMatching, "revolution/bte/bte_main.c"),
Object(NonMatching, "revolution/bte/btu_task1.c"),
Object(NonMatching, "revolution/bte/bd.c"),
Object(NonMatching, "revolution/bte/bta_sys_conn.c"),
Object(NonMatching, "revolution/bte/bta_sys_main.c"),
Object(NonMatching, "revolution/bte/ptim.c"),
Object(NonMatching, "revolution/bte/utl.c"),
Object(NonMatching, "revolution/bte/bta_dm_act.c"),
Object(NonMatching, "revolution/bte/bta_dm_api.c"),
Object(NonMatching, "revolution/bte/bta_dm_main.c"),
Object(NonMatching, "revolution/bte/bta_dm_pm.c"),
Object(NonMatching, "revolution/bte/bta_hh_act.c"),
Object(NonMatching, "revolution/bte/bta_hh_api.c"),
Object(NonMatching, "revolution/bte/bta_hh_main.c"),
Object(NonMatching, "revolution/bte/bta_hh_utils.c"),
Object(NonMatching, "revolution/bte/btm_acl.c"),
Object(NonMatching, "revolution/bte/btm_dev.c"),
Object(NonMatching, "revolution/bte/btm_devctl.c"),
Object(NonMatching, "revolution/bte/btm_discovery.c"),
Object(NonMatching, "revolution/bte/btm_inq.c"),
Object(NonMatching, "revolution/bte/btm_main.c"),
Object(NonMatching, "revolution/bte/btm_pm.c"),
Object(NonMatching, "revolution/bte/btm_sco.c"),
Object(NonMatching, "revolution/bte/btm_sec.c"),
Object(NonMatching, "revolution/bte/btu_hcif.c"),
Object(NonMatching, "revolution/bte/btu_init.c"),
Object(NonMatching, "revolution/bte/wbt_ext.c"),
Object(NonMatching, "revolution/bte/gap_api.c"),
Object(NonMatching, "revolution/bte/gap_conn.c"),
Object(NonMatching, "revolution/bte/gap_utils.c"),
Object(NonMatching, "revolution/bte/hcicmds.c"),
Object(NonMatching, "revolution/bte/hidd_api.c"),
Object(NonMatching, "revolution/bte/hidd_conn.c"),
Object(NonMatching, "revolution/bte/hidd_mgmt.c"),
Object(NonMatching, "revolution/bte/hidd_pm.c"),
Object(NonMatching, "revolution/bte/hidh_api.c"),
Object(NonMatching, "revolution/bte/hidh_conn.c"),
Object(NonMatching, "revolution/bte/l2c_api.c"),
Object(NonMatching, "revolution/bte/l2c_csm.c"),
Object(NonMatching, "revolution/bte/l2c_link.c"),
Object(NonMatching, "revolution/bte/l2c_main.c"),
Object(NonMatching, "revolution/bte/l2c_utils.c"),
Object(NonMatching, "revolution/bte/port_api.c"),
Object(NonMatching, "revolution/bte/port_rfc.c"),
Object(NonMatching, "revolution/bte/port_utils.c"),
Object(NonMatching, "revolution/bte/rfc_l2cap_if.c"),
Object(NonMatching, "revolution/bte/rfc_mx_fsm.c"),
Object(NonMatching, "revolution/bte/rfc_port_fsm.c"),
Object(NonMatching, "revolution/bte/rfc_port_if.c"),
Object(NonMatching, "revolution/bte/rfc_ts_frames.c"),
Object(NonMatching, "revolution/bte/rfc_utils.c"),
Object(NonMatching, "revolution/bte/sdp_api.c"),
Object(NonMatching, "revolution/bte/sdp_db.c"),
Object(NonMatching, "revolution/bte/sdp_discovery.c"),
Object(NonMatching, "revolution/bte/sdp_main.c"),
Object(NonMatching, "revolution/bte/sdp_server.c"),
Object(NonMatching, "revolution/bte/sdp_utils.c"),
Object(NonMatching, "revolution/ipc/ipcMain.c"),
Object(NonMatching, "revolution/ipc/ipcclt.c"),
Object(NonMatching, "revolution/ipc/memory.c"),
Object(NonMatching, "revolution/ipc/ipcProfile.c"),
Object(NonMatching, "revolution/fs/fs.c"),
Object(NonMatching, "revolution/euart/euart.c"),
Object(NonMatching, "revolution/wenc/wenc.c"),
Object(NonMatching, "revolution/tpl/TPL.c"),
Object(NonMatching, "NdevExi2A/DebuggerDriver.c"),
Object(NonMatching, "NdevExi2A/exi2.c"),

We already used those objects to fully split and label our SDK. It probably always makes sense to decomp the 2009 SDK first given that it has a debug build.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions