Yesterday marks an interesting day: the HIT disassembler has just been completed and can correctly disassemble every HIT file in both games, The Sims 1 and The Sims Online. And interestingly, 47 of the 96 HIT instructions are unused, entailing us with a lot less research.
Here is the disassembly for the “sims_loadloop” function, exported in newmain.hit:
BINARY [ sims_loadloop loadb vol #0 loadb v1 #4 loadb v2 #2 loadl v3 #1020 note_on v1 set_loop wait v2 add vol v1 cmp vol v3 ifge #_sims_loadloop end _sims_loadloop wait_samp end ]
The Event ID for this “track” (as they’re called), sims_loadloop, is 0xC7D88A0E. The Sound IDs for sims_loadloop and _sims_loadloop are 0x000001E3 and -1E4, which refer to two Hitlists; these supply lists of sounds which the VM should select at random. The Patch table describes attributes for each sound, like whether it’s looped by default or preloaded. Still, the context of this function is unclear, as I haven’t located the real load loop’s sound ID of 00004f85 anywhere yet.
I made a syntax highlighter for this code for Notepad++, which will help make figuring out the instructions more pleasant, because as it turns out, we need HIT for the game menus, making it another task for Tech Preview 1.