User blog:RottenBlock/Pre-Sys 3.5 SCO Files

When System 3 games are compiled, their source code goes into [title]S[letter].ald files. In addition to the compiled code, these archives contain files called .sco. In System 3.5+, these files seem to point the engine towards the parts of the compiled code. But in older games, the .sco files are different.

ALDExplorer can actually extract these older .sco files without any trouble (indeed, ALDExplorer seems to be able to extract extremely old files, and continues to work in Sys4, suggesting the ALD format never fundamentally changed at any point in its history). Sys3Decompiler actually has a dummied features to read these older ALD files, but there's no code related to the older format of SCO files. Pre Sys3.5 files are always titled "dis" followed by a number in sequential order. Extracting older .sco files reveals, to my surprise, a great deal of plain text, along with numerous, simplistic code commands, like the R and A commands still used in System 3.5 and 4. It also reveals a lot of commands that I don't recognize, and in some SCO files, outright garbage characters.

Now, what does this mean? To be perfectly frank I'm not exactly lunging at the opportunity to retrofit Rance 4.1/2. The games run fine in virtual machines and that's really all that's necessary. Those two steps I just listed are huge and that's asking too mcuh considering the games are already working, if in an atypical fashion. All we'd gain from a decompile would be some insight into the game's red hierrings and mechanical mysteries.
 * Many older games, most notably Little Vampire, which still run on modern Windows systems but cannot be decompiled by traditional Alicesoft hacking tools, might still be easily translated by modification of the .sco files, since there doesn't seem to be an encoding step. Experimentation is required of course.
 * Little Vampire and several older games might not allow image editing, however, as I have no idea what to do with their .vsp image format. Neither does ALDExplorer, which crashes when it tries to display them, but it will extract.
 * Rance 4.1 and 4.2, which infamously do not run on Windows, might be converted to System 3.9 if certain questions could be answered and certain long, long, extremely long tasks could be completed:
 * What are the meanings of the many non-text characters in the .sco files?
 * What are the System 3.9 equivalents of the code commands that are in plain text but don't have direct, modern equivalents?

Side-note here, but why on earth is there a 32 bit, Windows-compatible System 1 EXE attached to Little Vampire but no 32 bit System 3 EXEs in all existence? A working copy of that little 83 KB file would instantly solve the compatibility problem, no joke. I don't want to undermine the hugely impressive work done by the translation team by suggesting something so simplistic, but are we sure there's no 32-bit System3.exe files attached to any other Alicesoft projects, even in the darkest corner of some collector's anniversary collection or what have you?

On the other hand, Little Vampire is appealing. There's no real reason why replacing the kana and leaving the control characters untouched shouldn't work... though software is full of ugly surprises. I may try giving this a few kicks in the near future to see if anything comes of it.