F-Zero X

From en64 wiki
Jump to navigation Jump to search

Hacking Community
Programs and graphics notes from Zoinkity

OS and Graphic functions

0x802bb9a0,__osSetCause
0x802bb9b0,osSendMesg
0x802bbb00,osStopThread
0x802bbbc0,osRecvMesg
0x802bbd00,osGetIntMask
0x802bbd60,osSetIntMask
0x802bbe00,guScaleF
0x802bbe54,guScale
0x802bc190,__ull_rshift
0x802bc1bc,__ull_rem
0x802bc1f8,__ull_div
0x802bc234,__ll_lshift
0x802bc260,__ll_rem
0x802bc29c,__ll_div
0x802bc2f8,__ll_mul
0x802bc328,__ull_divremi
0x802bc388,__ll_mod
0x802bc424,__ll_rshift
0x802bcd60,__osDequeueThread
0x802bceb0,bzero/_bzero/blkclr/_blkclr
0x802bde70,osCreateThread
0x802be1a0,__osSetCount
0x802be290,osVirtualToPhysical
0x802be310,osPhysicalToVirtual
0x802be320,__osSetSR
0x802be330,osWritebackDCache
0x802be640,osPiRawReadIo
0x802be6a0,__osGetSR
0x802be6f0,guPerspectiveF
0x802be920,guPerspective
0x802be980,__sinf/fsin/sinf
0x802beb40,__osSpRawStartDma
0x802becd0,osViBlack
0x802bed40,__osSiRawReadIo
0x802bed40,__osSpRawReadIo
0x802bed90,osSpTaskYield
0x802bf470,osViSetMode
0x802bf4e0,guLookAtF
0x802bf798,guLookAt
0x802bfe30,__osProbeTLB
0x802bfef0,__d_to_ll
0x802bff0c,__f_to_ll
0x802bff28,__d_to_ull
0x802bffc8,__f_to_ull
0x802c0064,__ll_to_d
0x802c007c,__ll_to_f
0x802c0094,__ull_to_d
0x802c00c8,__ull_to_f
0x802c0100,osGetCount
0x802c1610,osPiRawStartDma
0x802c16f0,osSetEventMesg
0x802c1760,sqrtf
0x802c2430,sprintf
0x802c24b0,osEPiStartDma
0x802c2630,memcpy
0x802c265c,strlen
0x802c2684,strchr
0x802c26d0,osCreateMesgQueue
0x802c2700,osInvalDCache
0x802c27b0,osInvalICache
0x802c2830,__osSpDeviceBusy
0x802c2860,__osSiDeviceBusy
0x802c2890,osJamMesg
0x802c29e0,osSetThreadPri
0x802c2ac0,osGetThreadPri
0x802c2ae0,osViSwapBuffer
0x802c2d60,osSpTaskYielded
0x802c2de0,bcmp/_bcmp
0x802c2f00,osGetTime
0x802c33a0,guRotateF
0x802c3534,guRotate
0x802c3590,__osSetGlobalIntMask
0x802c35e0,osAiSetFrequency
0x802c3750,guNormalize
0x802c37e0,__osSetCompare
0x802c37f0,osDpSetStatus
0x802c3800,osDpGetStatus
0x802c3810,bcopy/_bcopy
0x802c3b20,__osResetGlobalIntMask
0x802c3b80,guOrthoF
0x802c3cd4,guOrtho
0x802c3d40,__osDisableInt
0x802c3d60,__osRestoreInt
0x802c41c0,osPiGetCmdQueue
0x802c41f0,__cosf/fcos/cosf
0x802c43b0,osViSetSpecialFeatures
0x802c4570,osSetTime
0x802c45a0,osViSetEvent
0x802c4790,__osSetFpcCsr
0x802c58a0,osAiGetLength
0x802c5aa0,osMapTLBRdb
0x802c5b00,osYieldThread
0x802c5b50,guTranslateF
0x802c5b98,guTranslate
0x802c6310,osSetTimer
0x802c63f0,_Ldtob
0x802cd29c,__osThreadTail
0x802cd2a4,__osRunQueue
0x802cd2a8,__osActiveQueue
0x802cd2ac,__osRunningThread
0x802cd2b0,__osFaultedThread
0x802d1d00,osViModeNtscLpn1
0x802d1d50,osViModeNtscLpf1
0x802d1df0,osViModeNtscLaf1
0x802d1e40,osViModeNtscLpn2
0x802d1e90,osViModeNtscLpf2
0x802d1ee0,osViModeNtscLan2
0x802d1f30,osViModeNtscLaf2
0x802d1f80,osViModeNtscHpn1
0x802d1fd0,osViModeNtscHpf1
0x802d2020,osViModeNtscHan1
0x802d2070,osViModeNtscHaf1
0x802d20c0,osViModeNtscHpn2
0x802d2110,osViModeNtscHpf2
0x802d25c0,osViModeMpalLpn1
0x802d2610,osViModeMpalLpf1
0x802d26b0,osViModeMpalLaf1
0x802d2700,osViModeMpalLpn2
0x802d2750,osViModeMpalLpf2
0x802d27a0,osViModeMpalLan2
0x802d27f0,osViModeMpalLaf2
0x802d2840,osViModeMpalHpn1
0x802d2890,osViModeMpalHpf1
0x802d28e0,osViModeMpalHan1
0x802d2930,osViModeMpalHaf1
0x802d2980,osViModeMpalHpn2
0x802d29d0,osViModeMpalHpf2
0x802d69a0,__osRcpImTable
0x802d6c60,__libm_qnan_f

Stages

There isn't a table in F-Zero X. There are two parts to stages, and they are calculated and loaded by assembly (through the PI registers).

  • part one (0x400) is the track data proper (points, track type, etc)
  • part two (0x3E0) is made of the boosts, recharge, ramps, etc.