sotn-decomp/config/symbols.us.stsel.txt
Luciano Ciccariello 81f85b195a
Extract and document all functions from main.exe (#736)
This took me a while. I used a [throw-away
script](https://gist.github.com/Xeeynamo/58da1ff8f3831d0ba5d23da27cbca025)
to help me with the quest, but I still had to manually check every
single YAML subsegment.

I transported over what we were able to decompile from main. For a few
functions I added the signatures and documented existing DRA code,
especially on the sound department (got inspired by the recent @sozud
PRs).

All the `.text` part from `main.exe` is now completely extracted as
C/ASM where appropiate. Almost all the functions have their original
PSY-Q names but 7 of them: `func_80012DBC`, `func_80012F84`,
`func_80017008`, `func_80017078`, `func_8001929C`, `func_80021F0C` and
`func_800286E0`. I did not feel confident enough to rename them, so I
left them be. The rest of the functions I am 99% sure they are all
accurate.

I am now excluding the
[asm/](https://github.com/Xeeynamo/sotn-decomp/tree/master/asm/us/main/psxsdk)
folder from the repo. It was useless.

This research confirms me the game uses the PSY-Q 3.5 libraries, with
the exception of `LIBGPU.LIB`, which is from PSY-Q 3.0 for some unknown
reason.

EDIT: `make format` was not taking care of duplicated symbols in our
symbol list. To speed-up my work, all the duplicate symbols (duplicates
= name AND offset) are now removed.
2023-11-06 14:53:27 -08:00

75 lines
2.2 KiB
Plaintext

g_SpriteBanks = 0x8018059C;
g_Cluts = 0x8018070C;
g_EntityGfxs = 0x80180760;
g_UnkMemcardPort = 0x801808DC;
g_saveIconPalette = 0x801808E4;
g_saveIcon0 = 0x80180AE4;
g_saveIcon1 = 0x80180C64;
g_saveIcon2 = 0x80180DE4;
g_saveIcon3 = 0x80180F64;
g_saveIcon4 = 0x801810E4;
g_saveIcon5 = 0x80181264;
g_saveIcon6 = 0x801813E4;
g_saveIcon7 = 0x80181564;
g_saveIcon8 = 0x801816E4;
g_saveIcon9 = 0x80181864;
g_saveIcon10 = 0x801819E4;
g_saveIcon11 = 0x80181B64;
g_saveIcon12 = 0x80181CE4;
g_saveIcon13 = 0x80181E64;
g_saveIcon14 = 0x80181FE4;
g_saveIcon15 = 0x80182164;
g_StreamWidth = 0x8018B2FC;
g_StreamHeight = 0x8018B300;
PrintFileSelectPlaceName = 0x801AD134;
Update = 0x801AEED8;
DrawString16x16 = 0x801B29C0;
DrawImages8x8 = 0x801B2AFC;
HydrateSaveSummaryEntry = 0x801B2F50;
MemcardInit = 0x801B84F0;
MemcardParse = 0x801B8518;
MemcardDetectSave = 0x801B873C;
IsMemcardBlockUsed = 0x801B881C;
MemcardReadFile = 0x801B884C;
MemcardWriteFile = 0x801B88F4;
MemcardClose = 0x801B8A10;
func_800E9880 = 0x801B8A8C;
MemcardFormat = 0x801B8D24;
StoreSaveData = 0x801B8E20;
LoadSaveData = 0x801B94BC;
MakeMemcardPath = 0x801B9698;
StreamNextVlc = 0x801B988C;
func_801BAB70 = 0x801BAB70;
DecDCTvlc = 0x801BABA4;
g_memCardRStep = 0x801BAFEC;
g_memCardRStepSub = 0x801BAFF0;
g_memCardRetryCount = 0x801BAFF8;
g_MemcardRetryCount = 0x801BC2F8;
g_MemcardFd = 0x801BC2FC;
g_Dialogue = 0x801BC354;
g_MemCardSelectorX = 0x801BC3D8;
g_MemCardSelectorY = 0x801BC3DC;
g_MemcardInfo = 0x801BC3F0;
g_SaveSummary = 0x801BC8E0;
g_SaveSummary_slot_0 = 0x801BC91C;
g_SaveSummary_place_0 = 0x801BC958;
g_SaveSummary_unk_1_0 = 0x801BC994;
g_SaveSummary_unk_2_0 = 0x801BC9D0;
g_SaveSummary_level_0 = 0x801BCA0C;
g_SaveSummary_money_0 = 0x801BCA48;
g_SaveSummary_percentage_0 = 0x801BCA84;
g_SaveSummary_playHours_0 = 0x801BCAC0;
g_SaveSummary_playSeconds_0 = 0x801BCAFC;
g_SaveSummary_playMinutes_0 = 0x801BCB38;
g_SaveSummary_kind_0 = 0x801BCB74;
g_SaveSummary_name_0 = 0x801BCBEC;
g_SaveSummary_0_padding = 0x801BCC84;
g_SaveSummary_1_padding = 0x801BD02C;
g_StreamEndFrame = 0x801BD034;
g_StreamIsRGB24 = 0x801BD038;
g_StreamRewindSwitch = 0x801BD044;
g_InputCursorPos = 0x801D6B08;
g_MemcardBlockRead = 0x801D6B10;
g_InputSaveName = 0x801D6B14;
g_MemcardStep = 0x801D6B20;