> If it detects Sonic the Hedgehog 2, a signal is generated on the ROM's D0 line, setting the Q bit of the 74HC74.
This is missing some important information. One input to the flip flop is D0 on the ROM, yes, but it only sets when there is a clock signal. Otherwise there would be some very interesting coding constraints.
The clock of the flip flop is connected to cartridge pin B31. Here's the best explanation I can find of that pin:
'/TIME' is the schematic label given to pin B31 on the cartridge slot. It is essentially a chip enable for the I/O port range $A130Fx, and is used for programming on-cart memory mappers. The only games I know of that use it are Beyond Oasis, Phantasy Star 4 (both for switching between ROM and SRAM at $200000-3FFFFF) and Super Street Fighter 2 (for a full-blown ROM banking chip). I don't know why it's called '/TIME'; perhaps they expected to connect an RTC chip to it.
So if you write to certain addresses, the genesis will flicker that pin, which is great for controlling an extra chip like this. (I mean, it's meant to control an extra chip, but it seems like the plan is a significantly smarter one than a flip flop.)
Hi, I'm the original author of that stack exchange answer. I'd be more than happy to add your information with full attribution.
Thanks for your explanation. I'm a programmer but don't have a strong electronics background. Clock signals, those chip enable signals and how they interact were difficult for me, especially at the time I wrote that.
Edit: I just added a full citation for your comment. Thanks again!
Hey, I wrote that answer seven years ago! I tried my best to understand and describe the circuits but I'm not particularly knowledgeable about electronics so I'm not sure if it's 100% correct.
Never thought it would make it to HN. In the comments I wrote:
> I wish a professional would comment on my analysis of the circuit; if there are errors, I would like to fix them and learn more.
I remember that, in order to play S3&K in emulation, you just had to concatenate both games in a COPY S3.BIN + S&K.BIN way (if you used DOS) so I mostly knew the answer already.
But man, that answer in the Stack site was excellent. Informative, long but concise, and very fun to read.
When the cartridge connector is just the CPU bus, you can put whatever devices you want into the address space. I'm not familiar with newer consoles, but I believe cartridge-based ones now don't do that anymore, instead treating it as a mass storage device interface.
Yes. I read somewhere that modern CPUs run so fast that various forms of interference become a problem if you just let the memory bus stick out as a slot to plug things into. Switch cartridges definitely use some kind of serial interface judging by the number of pins.
I never had a genesis but I recall thinking how cool this was at the time. Kind of magic, really (granted I didn’t know much about computers in those days, but I knew it must’ve been hard to alter an already shipped game).
Turns out it has a pretty simple and clever solution. Kind of lost that with post production shipped patches.
Sometimes, I wonder if there would be a niche market for an indie-focused video game console with the following constraints - I’m just thinking out load:
- 1080p maximum video output, meaning lower production and GPU costs
- Absolutely no internet or wireless connectivity. Wired controllers.
- Due to no wireless connectivity, all games produced are final from the beginning. Like the good old days.
- Switch-like cartridges, but with weaker DRM that maybe permits just using standard SD cards. Thus console has no need to have an expensive built-in disc reader and only requires minimal internal flash.
- Due to the niche market, the console manufacturer doesn’t charge a 30% cut, and handles all manufacturing in-house, so nobody needs to worry about financing a production run.
I think with proper marketing, and a good enough system for quickly porting games (maybe it’s just Proton under the hood?), you could find an audience in collectors… and prisons where the lack of connectivity is a feature.
You've basically described a worse Steam Deck, and would likely have a hard time beating the price of a Steam Deck by enough to be worth the sacrifices.
Particularly intentionally making it unable to patch games. It's not like cartridge or pre-internet era disc games were bug free, just in that era you were stuck with whatever bugs the game shipped with forever. Games popular enough to get additional production runs were often patched, but those who bought an early version didn't get whatever changes the new one brought unless they went out and purchased a new one. Games that didn't sell well enough, perhaps at least in part because of the bugs they shipped with (E.T.? Superman 64?) never got patched.
The best case scenario back then was something like Morrowind on Xbox, where the game was popular enough to warrant the expansions being ported over from PC and released as a compilation with an updated version of the base game that included a workaround for the game-breaking issue experienced on the original release. We still had to buy the patch, but at least it came along with a lot of new content so it didn't feel like rebuying the same game.
> ...but those who bought an early version didn't get whatever changes the new one brought unless they went out and purchased a new one.
And for certain groups (e.g., speedrunners), this was incredibly important. The example I'm most familiar with is Metroid Prime 1, where so many tricks and sequence breaks are only possible in the original NSTC release.
One could make an argument that having to seek out rare early releases to participate in the top tier of speedrunning is not a good thing. It's not like updates changing runs destroys a game's community, see the recently popular "Only Up" for a great example. One of the models used for a substantial part of the structure you climb was apparently not appropriately licensed and the updated route after it was replaced was significantly shorter. People kept playing, the same names stayed at the top of the leaderboard, the world went on.
That said, this also isn't inherently a problem either.
Steam has a feature to allow delivery of different versions of a title. It's intended mostly for test releases, but some games use it to allow players to downgrade to specific versions for mod compatibility (Kerbal Space Program) or to deliver a different tweaked version for specific use cases (Truck Simulator VR port). This sort of thing could be used in the same way to support the speedrun community.
Also there are games which have restored rare bugs intentionally to support speedrunning. If the bug was unlikely to affect someone playing normally and is important to the speedrunning community there's no reason it necessarily needs to be patched.
I don’t know. Unlike a Steam Deck, the lack of a screen or battery or large internal storage helps reduce costs - and the appeal to collectors comes from having physical media with a complete game.
The Steam Deck has no physical media. Xbox and PlayStation Physical Media is a joke with extremely buggy and often incomplete builds. Switch cartridges are much closer to ideal… but the Switch has well-known compromises. Performance could be far superior on a stationary non-handheld, you wouldn’t need to develop assuming Joy-Cons…
It would almost be marketable as being the machine for archivists and collectors; with a focus solely on what they appreciate (complete games, physical media, no gimmicks.)
> I don’t know. Unlike a Steam Deck, the lack of a screen or battery or large internal storage helps reduce costs
iFixit's teardown of the Steam Deck resulted in them concluding that at least the base model was likely being sold either at cost or slightly below cost. Valve can do that because they have the ability to use it as a loss leader that drives game sales. A niche market product that doesn't take a cut of game sales as described would have to make enough money on its own to justify its existence, while also not having anywhere close to the volume so even the same parts would cost more.
It might be possible to beat the overall price by a small amount, but my point was that the overall value offered is very hard to beat.
> and the appeal to collectors comes from having physical media with a complete game.
Again I point back at the number of physical-only games that had revisions, and the number beyond that which likely would have had revisions if they got another production run. Just because it ships on read-only media doesn't mean it's complete.
Also the idea that collectors need physical media just feels gatekeepy to me. Over my lifetime I've probably put multiple man-weeks in to collecting, validating, and organizing digital media of all varieties, from classic console ROMs to TV shows and movies to modern video games. My collection certainly isn't something the copyright owners approve of in many cases, but it will live on as long as I care to maintain it without any fear of tampering while simultaneously having all the convenience of digital media.
If you want to have a shelf full of physical objects to display or enjoy the physical actions of swapping carts or discs that's perfectly fine, but those preferences only describe a subset of collectors not all.
> The Steam Deck has no physical media.
It has a SD card slot on which games can be installed and they will appear in your library when the card is inserted, behaving basically like a Switch.
No one distributes games for the Steam Deck or any other modern PC platform on physical media, but there's no technical reason they couldn't if there was a market that was worth the trouble.
> Xbox and PlayStation Physical Media is a joke with extremely buggy and often incomplete builds.
I'm 100% with you here. I don't care about physical media myself, but I do not understand why they even bother with the garbage that's been released in the last generation or two. Unexpected bugs are one thing, but if the game is not expected to be playable from the disc at all what was even the point of wasting all that plastic?
> It would almost be marketable as being the machine for archivists and collectors; with a focus solely on what they appreciate (complete games, physical media, no gimmicks.)
Again with the assumption that all collectors and even archivists want physical media. TBH I feel like archivists would prefer digital media, it's a lot easier to store long term without worrying about original media bitrot, loss, accidental or intentional damage, etc. My stack of Xbox discs will all become unreadable eventually. Even if they were placed in climate controlled storage, they have an expiration date. The disc drive that was supposed to read them failed years ago. My digital copies of those discs however are able to be put on my NAS where they're protected from hardware failure by RAID, from bitrot by ZFS, and from physical destruction by being mirrored to a backup server elsewhere in the country. They will be readable and verified weekly to be perfect for as long as I care to maintain this collection.
There is no doubt that many digital distribution platforms introduce their own new problems for collecting and archival, but these are not inherent flaws of digital distribution. They are simply implementation choices.
If you purchase a new musical release on CD and I purchase the same release on iTunes or whatever other platforms offer DRM-free lossless downloads we'll both have the exact same content, just yours will be tied to a physical token by default where mine won't. Both can be collected, both can be archived, both can have their content backed up in a way that is verifiably perfect, but one is less convenient to use or back up in exchange for a nostalgic experience that some enjoy.
There is no technical reason a gaming platform designed for enthusiasts couldn't offer games in a way that was archival-friendly. Obviously there are legal reasons such a thing doesn't exist right now, but at one point the same was true for music so its not impossible. Either way it's not a black and white line of digital versus physical, it's all about how the system is implemented on both sides.
There are now two disgraced video game hucksters who tried what you are proposing: the Coleco Chameleon and the Intellivision Amico.
Surprisingly, the rotting corporate corpse of a company that is the modern Atari managed to release their version, the stupendously called Atari VCS. However, no one cares about it, with Atari’s 50th anniversary collection the only thing of note that company has licensed. Not made. Licensed.
I don't know if it would be a hit. I was convinced that Ouya would have been vaguely similar in that it would allow smaller devs into the market by having it as an alternative to the big three. Instead it was plagued by all manner of technical issues and incredibly poor handling of the whole project and died in next to now time.
I’m not sure if it fits your use case but the Evercade VS is essentially this. Evercade carts are SD flash mapped to a Game Boy pin out (the first 8 pins are the same as an SD card). It’s both easy to read carts as well as get a flash cart for running arbitrary ARM code.
Blaze changed the way the Evercade EXP reads carts, however, and it seems like the console no longer reads carts, or at least doesn’t after the first time.
Well that's great - now I've got the music stuck in my head again!
Seriously though, great post! As a teenager with some knowledge of programming I always wondered what black magic enabled them to graft a new character into an old game (Sonic 2) - it never occurred to me that they'd just shipped a new version of the game code.
Unlicensed NES Codemasters carts as well like Dizzy and Micro Machines, that used “plug-thru” to utilise the licence chip from any other official game - https://www.nesworld.com/codemasters.php
No, but there were some third-party devices like the Action Replay like this for cheat (read: real time manipulation of the data coming over the bus) purposes, which I successfully used to corrupt my Pokemon Diamond save file by saving in an out of bounds area, alas
Not quite as technologically involved, but there are some disc based games with novel uses of disc swapping. Monster Rancher is a monster breeding game where you get new monsters via inserting any other disc into the console.
There were a couple of expansion discs for PlayStation 1 games as well, Metal Gear Solid Special Missions and Grand Theft Auto: London 1969 required copies of the base games to operate (at least for the European / PAL releases). I suspect there's little data used from the original game discs except acting as a "key".
I think the Dreamcast Pop'n'music (Japan only) games might've had expansion discs as well? Not sure about that one.
I know the Playstation 2 did -- Persona 3 for example, in Japan, had its expansion content released as a separate disc. (I think there was also a version released that was both the base game AND the expansion content)
The discs I was talking about were sold separately, not just multi disc games. Although Shenmue having what is basically a "bonus features" disc in the package is pretty unique (doesn't Shenmue II have some bonus stuff on Disc 4 as well? I think the Saturn Shenmue prototype video is on that disc?).
It's actually fully functional in Banjo-Kazooie, it wasn't until Donkey Kong 64 that Rare was told to remove it from the game. The game is constantly writing to a certain region of memory with information about which hidden locations are unlocked, then on the flipside when the game boots it checks RAM to see if the special data is there, then unlocks the locations. It doesn't actually work by hot swapping, it relies on the fact that the RAM is preserved for a certain amount of time after shutting the console off.
I realized recently that you could actually test this -- with a sufficiently old N64 console, and two copies of Banjo Kazooie, you could use the cheat codes to unlock the hidden locations on one game, then swap over to the second copy. Theoretically, that should unlock them without having to use the cheat codes.
If I was a bit more motivated to spend the money, I'd try it myself and make a Youtube video about it!
e; actually I think it's not possible for a Banjo-Kazooie game to transfer to another Banjo-Kazooie game, the memory that it writes to is different from the one it reads from. https://tcrf.net/Banjo-Kazooie/Stop_N_Swop
DLC doesn't usually introduce new code to a game, that tends to be reserved for full-on title updates. DLC is more like if Sonic and Knuckles could also support special "new level" cartridges, that didn't do anything on their own, but when inserted on top of S&K provided new levels for the player, but didn't themselves contain any program code.
Every game I've worked on (360-era) with DLC has needed supporting code to be distributed in an update first. Everyone gets the update, then the DLC is either just an unlock for what's already there (but hidden), or contains some supporting data.
Right, but that's not absolutely universal. Harmonix does pretty well continuing to release DLC without needing an additional title update in some time now. My point was more that the DLC packages themselves don't often, if ever, come with actual code included, and this is usually for platform security reasons (Sony and Microsoft are both quite controlling about how executable data is managed and how it is stored). Perhaps maybe some scripts for the internal engine, depending on the game.
This is missing some important information. One input to the flip flop is D0 on the ROM, yes, but it only sets when there is a clock signal. Otherwise there would be some very interesting coding constraints.
The clock of the flip flop is connected to cartridge pin B31. Here's the best explanation I can find of that pin:
'/TIME' is the schematic label given to pin B31 on the cartridge slot. It is essentially a chip enable for the I/O port range $A130Fx, and is used for programming on-cart memory mappers. The only games I know of that use it are Beyond Oasis, Phantasy Star 4 (both for switching between ROM and SRAM at $200000-3FFFFF) and Super Street Fighter 2 (for a full-blown ROM banking chip). I don't know why it's called '/TIME'; perhaps they expected to connect an RTC chip to it.
So if you write to certain addresses, the genesis will flicker that pin, which is great for controlling an extra chip like this. (I mean, it's meant to control an extra chip, but it seems like the plan is a significantly smarter one than a flip flop.)