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.