![]() |
|
![]() |
| This has happened quite a few times:
https://tcrf.net/Category:Games_with_uncompiled_source_code It's usually more common on CD games with the directory/file being unlisted, but it's always interesting to find partial source code bakes into ROMs. Last I heard/understood, it was usually as some sort of white space padding; in the case of CD-ROMs and an artifact of the sector-copying mechanism in disk duplicators. Also, the bytes cost money, but if you have a 32K ROM (because the next lowest size is 16K) and only 28K of data, it's not costing anything extra to fill that space. |
![]() |
| I'm not aware of any direct copier, most disk duplicators that were sold to regular people were just a bunch of floppy drives with regular disk copy software.
These days, there is the delightfully named Greaseweazle (https://github.com/keirf/greaseweazle) and similar devices to _read_ disks at a magnetic level, but I'm not sure if there is something to _write_ disks. I don't see any reason why such a thing couldn't exist, I'm just not aware of it. Tech Tangent has a good in-depth video about imaging disks for archival purposes if interested: https://www.youtube.com/watch?v=UxsRpMdmlGo |
![]() |
| > ...similar devices to _read_ disks at a magnetic level...
It's not, though. It's reading the disk after the drive's analog-to-digital converter has had its way with the analog flux transitions coming off the head. There's auto gain control circuits in there, and a pre-amplifier, and finally the ADC. Greaseweazel and its ilk are closer to the flux than just reading the disk in the conventional manner but it isn't actually sampling the raw flux reversals. The Domesday Duplicator is closer to what I'm taking about. You can do software-defined manipulation of the sampled analog signal. In its case, it's a software-defined laserdisk player. (One could do the same w/ VHS, for example.) I'll try to dig up a good Vintage Computer Festival talk from a guy who was recovering analog signals from old tapes and reconstructing the data by building a software-defined "tape drive" and using signal processing algorithms that would be applicable in the software-defined radio domain. It occurs to me that such an analog duplicator wouldn't need fancy FPGAs and high-speed digital signal processing that didn't exist back then. It would "just" need very clean analog circuitry and decent motor control. Edit: Here we go. Video of the talk: https://www.youtube.com/watch?v=sKvwjYwvN2U A comment I made about it: https://news.ycombinator.com/item?id=31939703 Edit 2: It looks like the Applesauce[0] project does what I'm talking about. It's sampling analog signals from the drive, rather than the output of an old ADC. Very cool. [0] https://wiki.reactivemicro.com/Applesauce There's some discussion here[1] about analog recovery of floppy data and some past discussion[2] from HN. [1] https://scarybeastsecurity.blogspot.com/2021/05/recovering-l... |
![]() |
| I've been doing a lot of reverse-engineering of synthesiser ROMs lately. The Yamaha DX9 ROM has some fragments of the firmware's symbol table embedded in the empty space left in the binary[0], along with a big block of 6303 code that was probably from whatever development system they used. It's a really amazing feeling when you stumble upon things like this! I'm such a nerd about these things that I feel like some kind of software-archaeologist, getting a small glimpse into the past. Finding this sent me down a really deep rabbit hole trying to find out more information about what development tools Yamaha might have used. I never discovered anything definitive, but reading the documentation on contemporary devtools gave me a real appreciation for modern workflows!
0: https://ajxs.me/blog/Hacking_the_Yamaha_DX9_To_Turn_It_Into_... |
![]() |
| Same, this was the 1st game I had on the first PC we had at home. And I didn’t even know English so I played through all of it using an English-Spanish dictionary and lots of patience. |
![]() |
| I still try to find time to sit down and listen to an album from start to finish - it's kind of like the musical equivalent of spending an hour in a gallery exhibition of a single artist's work. |
![]() |
| I actually attribute my high typing speed to the practice I got with OPEN DOOR, TAKE KEYCARD, CLOSE LOCKER, LOOK CAULDRON. Police Quest, King's Quest, Space Quest. Good memories. |
![]() |
| I loved SQ but it frustrated me so much. As a kid I could NOT get anywhere with it without one of those hint books with the red garbled text or calling the Sierra Hint Line (on my parents bill...).
All of the Sierra games, as much as I loved them, would just piss me off with dying constantly. Having to do a specific thing at a specific time or dying. You had to do SUCH specific things. I remember the park/lake scene and pulling people over driving in PQ being impossible until I found hints. I'm not sure I ever beat a Sierra game outside of LSL. Maybe a KQ and potentially a QFG, but I definitely didn't beat a PQ. I LOVED PQ3. I think out of all of them that SQ was the one that really, really pissed me off, and scifi is my favorite genre, with no other scifi adventure games back then (other than beneath a steel sky which I also got nowhere with), total bummer. Whenever I discovered LucasArts (DOTT I think was first), Legend of Kryndaria, Discworld, etc, it was such a breath of fresh air. There was a Black Cauldron game that I LOVED. I remember all of these games so vividly. I don't think I remember many other games nowadays to that degree. Baba Yagas hut, the wizards house, cleaning the stables in qfg, Otto standing outside the bar.. Could very well be because I died so much and played scenes over and over.. edit: This made me want to give them a go again.. https://playclassic.games/games/point-n-click-adventure-dos-... edit2: I forgot how slow you walk.. ugh. There are a LOT of modern Adventure games now on Steam. It's had a bit of a comeback and they're usually affordable games. I'm playing the Plague Doctor of Wippra right now. All of the Wadjet Eye games are really cool too. |
![]() |
| Some of the best parts of the SQ4 talkie are the sarcastic narrated death screens. And SQ5 has neat animations.
The manual tells you to "save early, save often" for a reason. |
![]() |
| My subconscious has just dredged up the memory "you take a good long whiff of the acid, and .. whoah, talk about clean sinuses!". That might have been from the later remastered SQ I even? |
![]() |
| You can die in Monkey Island. Twice.
One is a Sierra Spoof complete with a Sierra death dialog. That one lets you continue: https://www.youtube.com/watch?v=A6F55am-rOY The other has to do with the fact that Guybrush can hold his breath for 10 Minutes. And only ten minutes. https://www.youtube.com/watch?v=Ah5o3aAeZso If I remember correctly that is the only real game over in any later Lucasfilm/LucasArts adventure game. EDIT: I just remembered the jumping puzzle in Indy3 where you died all the time when jumping on the wrong tile. Or the Knight Statue that axed either Indy or his father. Or you got shot when you punched Hitler... You could also die in Manic Mansion and Zak McKracken. Lucasfilm games killed you quite a lot. LucasArts stopped doing that. |
![]() |
| > Whenever I discovered LucasArts (DOTT I think was first), Legend of Kryndaria, Discworld, etc, it was such a breath of fresh air.
Discworld MUD or some other game? The MUD is still alive and well! |
![]() |
| The Famicom version of Air Fortress has a ridiculously large amount of stuff unintentionally making it into the ROM. There is some uncompiled ASM code in there, some MS-DOS directory listings, some text strings from one of the EXEs used to build the game, and even more.
The Japanese cartridge was 128+128KB large. Then they built the US NES version. Most of the 128K of graphics data was duplicate graphics, or unused. There was about 36KB of actual unique graphics. They shrunk the graphics down to 32KB by removing an image of a planet from one of the endings, and shipped it on a 128+32KB cartridge instead of a 128+128KB cartridge. Source: https://tcrf.net/Air_Fortress |
![]() |
| I guess your last sentence answers your question. I'm sure some people had found the deleted files, but because that would before the internet was ubiquitous, it was not generally known or recorded. |
![]() |
| Or it was recorded, but it was on fidonet or some bbs system that didn't make the transition to the WWW and no one old enough to remember actually remembers or cares anymore. |
![]() |
| There are people who archive old software using modern tools like flux imaging to allow making perfect disk copies. It might be someone noticing data in free space while imaging one of these disks. |
![]() |
| Back when release artifacts were hand crafted, these often contained leftovers that weren't meant to be shipped, like cut content [1] or debugging symbols [2]. When I stumbled upon debugging symbols hidden inside the data archive of the demo version of the video game I'm reverse-engineering, it was an unexpected but very helpful surprise.
Nowadays with CICD, automated builds and other modern development practices it probably happens less often. [1] https://tcrf.net |
![]() |
| I'd say manual building has a chance of a slip-up every time it is done, whereas automated building has a chance that it will slip-up every time it is executed. |
![]() |
| They do, though its called "docker layers"
I have seen layers that were:
And there are easy ways to resolve this such as multi stage builds ( https://docs.docker.com/build/building/multi-stage/ ) - but mistakes still happen from time to time when people aren't aware that the current view of the docker image contains all of the previous layers too. |
![]() |
| 8088 did not have a barrel shifter, so multi-bit shifts would have been expensive and non-interruptible over multiple clocks. Perhaps game devs just avoided them out of habit. |
![]() |
| They might have intentionally obfuscated it, maybe to conceal how many disks they produced (https://en.wikipedia.org/wiki/German_tank_problem ).
Just XOR'ing the real serial number with a secret key that has exactly as many bits as the (padded) serial number is entirely sufficient, though my experience tells me that at that time, folks tended to do more complicated (and ironically, much less secure, not that it matters much here) things. Basic cryptography literacy wasn't as common then, as unencrypted and unauthenticated communication was the norm, even on most networks. |
![]() |
| I found it very difficult to find references to it online. There is a reference in the "Hackers" book by Steven Levy to Sierra On-Line having one (he uses the name "Form Master"), and former Sierra employees have mentioned it as well but with the two words run together as FormMaster. As I couldn't find much more, I'm not sure which form of spelling is correct.
https://www.google.co.uk/books/edition/Hackers/JwKHDwAAQBAJ?... There is a photograph in a September 1983 issue of a Japanese magazine called "LOGiN" of one of Sierra On-Line's disk copying machines but the article doesn't mention it by name. I wonder if it is the FormMaster/Form Master machine. https://archive.org/details/login-september-1983/LOGiN%20-%2... As an aside, that September 1983 magazine is the earliest clear reference to the development of King's Quest that I could find. It isn't mentioned by name but it is obvious that it is King's Quest that is being referred to. |
![]() |
| Not sure this would have counted as “losing it to the public domain” - accidentally leaking the sources doesn’t negate copyright (presumably just trade secrets stuff by Iqbal) |
![]() |
| Fascinating! What a fortuitous mistake for historical preservation purposes. Also a good lesson in why media overwrites are important. |
Well... every byte costs money, but it's really quantized. If your game doesn't fit in a power of 2, you have to pay more to get the bigger one (and maybe even a lot more if you also need to include a mapper, plus using a mapper means you've got to adjust your code and what not). But if you're using 75% of your quantized space, you don't need to be that picky.