The ceramic resonator described in this post has been a source of much consternation with the tool-assisted speedrun community. One of the goals of that community has been console-verification of TAS movies, to validate that the runs aren't taking advantage of emulator quirks. If you've ever seen TASbot perform at a GamesDoneQuick event, that's exactly what console verification is doing.
The ceramic resonators degrade in accuracy over time (as cited in the article), which leads to non-deterministic performance of the APU, and since the entire console's timings are all linked together, this leads to non-deterministic execution of game code.
As a tool-assisted speedrun is essentially a timeline of inputs, there's no logic to account for system execution, and as such, hardware determinism is a requirement. Since an accurate emulator, barring hiccups in the underlying runtime environment, gives us a deterministic runtime environment, this works great. However, it's lead to some weird and awkward behavior when trying to console verify TAS movies on these >30 year old SNES consoles.
Replacing these ceramic resonators to repair these consoles has had mixed success, but there are folks that are successfully doing it, thus keeping these legendary consoles alive, and bringing their timings back into spec.
This particular game pauses and waits for the sound engine to “catch up” during door transitions, and the amount of time this takes is nondeterministic due to ceramic oscillators. But the game’s pseudo-RNG continues to cycle in the background during this waiting period, so the nondeterminism impacts gameplay elements such as the steam jets in the timestamped room. That meant that to play back the TAS on a real console, the authors (sniq and total) had to come up with a “polyglot” sequence of inputs that could make it through the room with any possible steam pattern.
Nitpicking but it's rare I get to use my trove of useless knowledge about Mega Man -- I'm guessing the games being referenced at the end and final PCB image are actually Mega Man X2 and X3. I tried to follow the snescentral link cited as the image source but the page isn't working for me (edit: the site is up, it was a me issue)
I was confused at first because Mega Man 2 and Mega Man 3 are NES games, not SNES!
Mega Man X2 is one of my favorite games of all time. We had a local video store where you could rent a game for a buck a night, and we would always rent them on Saturdays (since the store was closed on Sunday, you got a free day!).
X2 was probably the most frequently rented game, and when that video store finally closed, they sold off all the games for $5 a piece. That X2 cartridge is a prized possession that my brother now has in a little display case with a bunch of other retro gaming memorabilia.
I actually just did a playthrough of the Mega Man X series (well, 1-3, I didn't bother with the post-SNES ones) and I think X2 holds up really well, definitely in contention for the best in the series.
I also happened to play through some of the X games recently! I went up to X4.
X1 was my first Mega Man game ever and got me into the series. My childhood friend owned a copy and we weren't able to get very far as kids but we liked to play it anyway. It's still my favorite of the X series! I didn't play the other X games until years later. Back in 2015 a guy in my city was selling a complete collection of all the SNES Mega Man releases, albeit in Japanese (so, the SFC versions). A North American SNES can play Japanese games if you rip a couple of plastic tabs out of the cartridge slot, and Mega Man games aren't too dialogue heavy so I was fine playing them in Japanese.
If you haven't played beyond the SNES games, I'd recommend giving X4 a shot. I didn't play it until Mega Man X Legacy Collection released, but it's actually very good. Beyond that... X5 the quality drops off quite a bit, X6 is straight up bad, X7 is also very bad and features a horrible attempt at transitioning the series to 3D. X8 I only played through once but was a bit of a return to form. But yeah, the X series isn't known for consistent quality.
I just got interested in Mega Man recently - do you recommend a playthrough in order, or is there a best version to play for a good initial experience?
I'd recommend starting with 2 & 3 for the NES. The soundtrack might be my favourite of all video games. It has been played by rockers [0] and orchestras [1].
That's a good question on where to start. I usually enjoy playing games from the classic series because they're simple, but some of the earlier ones can be a bit janky and punishing. The first 6 games are on NES, and they're all pretty good. Mega Man 2 is a lot of people's favorite, and I personally like it a lot but it's not without flaws and some unfair difficulty. 7 was for SNES and I don't care for it much but I wouldn't say it's bad. Same with 8 which was on PlayStation and Dreamcast. 9 and 10 were a throwback to the classic series with an 8-bit art style and can be difficult but they have more modern design sensibilities and I'd say are more "fair". 10 has an easy mode if you're wanting to ease yourself in too. 11 is pretty good too, but has some new mechanics that complicate things a bit.
The X series has some good games, but focuses more on collectibles and upgrades, so you'll likely end up looking up a guide to find where all the upgrades are. It can be very difficult without them. I think X1 is the best in the series, and is also more streamlined than the other games. You can't go too wrong with the first 4 X games. They can be played on the Legacy Collection, but I've heard complaints about the emulation, and I know on the PC version I couldn't watch any of the cutscenes in X4 because they froze. Might be better off just emulating.
Order doesn't matter too much, the plots are mostly disjointed and/or nonsense until the Zero series for GameBoy Advance which are again pretty good but upgrade-focused like the X series, and are less of traditional Mega Man games.
I'd probably just not start with Mega Man 1. Come back to it if you like the series, but it's pretty primitive compared to later stuff.
IMO the 8-bit ones - while fun - are somewhat primitive and often a little too "NES hard". So I'd say start with Mega Man X - it's timeless; still one of the most perfect games ever made.
The Starfox PCB has a bunch of traces going off the board, I'm guessing that's for a program & test harness used during manufacturing? I've never seen that done before. Was that a common practice back in the day? Nowadays we would put pads on the board and use a bed of nails to do that.
A Starfox cartridge was used to make a homebrew devkit for SNES Doom
The development was challenging for a few reasons, notably there were no development systems for the SuperFX chip at the time. I wrote a complete set of tools - assembler, linker and debugger - before I could even start on the game itself.
The development hardware was a hacked-up Star Fox cartridge (because it included the SuperFX chip) and a modified pair of game controllers that were plugged into both SNES ports and connected to the Amiga's parllel port. A serial protocol was used to communicate between the two for downloading code, setting breakpoints, inspecting memory, etc
It is really asstonishing how dev hostile those game consoles were. Like, "we know how to do it but invent it yourself".
Nintendo could have released sane sdk:s and not make every dev studio figure out what works. Like, maybe share a toy version of the source of Super Mario and Zelda or whatever to show how an engine is made.
The games would surely have been prettier as a result.
They did have SDKs (well, an assembler and linker) as well as devkits and extensive documentation. The problem was you had to enter an extensive agreement and pay a hefty amount for the privilege of using them. It made sense in that era, as you had to have the cash on hand to order a minimum of 10,000 cartridges (also manufactured by Nintendo) anyway.
In Argonaut's case, Starfox 2 was canceled (but still completed) because they didn't want SNES 3D games competing with the soon-to-be-released N64
And then they shot down Argonauts 3D platformer demo, saying they would make their own, causing them to create Croc instead.
In a way it made sense because you didn't want to end up with Sega where they kept trying to extend the old platforms. But they weren't looking to create a new in-between or add-on system like the Sega CD or 32X
That version of history is in contention. The devs of Croc are adamant they basically invented 3D platformers and Nintendo stole their ideas, but the timelines with the first builds of Super Mario 64 rule in favour of Nintendo.
> It is really asstonishing how dev hostile those game consoles were...
What's actually astonishing is the range of things that seem strange at first, but are actually very clear and logical, IF you also understand the historical context. The path that led reasonable people to make these decisions. Here, see the comments elsewhere about how licensing worked for physical cartridges (they were expensive -- open source cartridge games doesn't make much sense). Plus a dash of copy protection and especially, read into the video game crash of the 80s. This was part of the plan to avoid shovelware (which arguably made Nintendo the success it was).
> The games would surely have been prettier as a result.
What are you basing this on? 80s and 90s era console hardware was quite restricted, and the software we got did I think all that the hardware could do.
You can sometimes see a similar approach in somewhat recent (~last 10 years) microcontroller devboards. Many of Nucleo devboards for STM32 microcontrollers, and some Cypress PSoC devboards (CY8CKIT) consist of two halves. One containing the main MCU (the one devboard demonstrates), and other half containing programmer/debugger. Idea is that you can use it as is out of the box for running basic example programs, or you can break it in half thus obtaining a cheap programmer + devboard which has a slightly more convenient format for embedding in product prototype.
Similar thing but reversed roles with ChipWhisperer-lite (platform for experimenting with side channel power analysis and glitching attacks). There you have the main board which connects to PC and performs the IO for attack and example target (victim) board.
But all of that is for R&D purpose only, not for use in manufacturing of final products.
I looked up the images for Starfox PCB it looks weird. Can't imagine it ever being practical in production just for programming. Did they just shipped devboards to customers? In the images I saw the area near PCB edge where traces stop looked very smooth and somewhat recessed compared to broken tabs that were connecting PCB to bigger panel. As if that area was cut by router instead of being broken off. Maybe they just kept the production PCB design (almost) identical to devboards, to save the work designing two different PCBs and reduce the chance of any issues caused by differences between devboards and production PCBs.
Later SNES games also used a timing check for region locking to identify PAL vs NTSC clock frequencies. The mod I did, nearly three decades ago, was to add a toggle switch with a second crystal that would change the clock frequency and allow the PAL game to be played on an NTSC system. Wait a few seconds while the game booted up and then switch back and enjoy the unreleased in North America "Terranigma".
Getting DVD players without region locks used to be a thing to get cheaper movies imported from abroad. (Briefly, from what I recall. Bootleg discs got much cheaper and easily available)
one of the proudest accomplishments I've done is that over the years I've managed to collect all of SNES PAL games, what is considered a full set. (I augmented it with some select NTSC and SFC games as well). What's interesting is the world in those cartridges and how they extend the main console. We don't get to see that in gaming hardware anymore.
That was the neat thing about cartridge based game consoles, each game was essentially a new piece of hardware.
I think the Game Boy Advance was the last mainstream PCB cartridge game console. The GameCube had moved to discs, Sony and Microsoft never made a cartridge based system, and Sega was on their third such system with the Dreamcast.
But I don't think the GBA or N64 really did things like the SNES or NES did with regards to cartridge hardware. I think by that time, the core hardware was way more powerful than anything that could be attached.
The GBA still had some cartridges with enhancement hardware, though a lot less focused on overcoming CPU/memory limitations than on the previous consoles.
My favorite is WarioWare: Twisted [1] including a gyro sensor (+ a rumble pack) to enable gameplay based on turning the whole GBA around. But there were also add-on real time clocks (Pokemon), light sensors, and other things.
It also had the Nintendo e-Reader [2], which technically connected to the cartridge port and loaded like a cartridge, but was its own unique piece of weirdness.
I like the Play-Yan adapter. It's an official media player which includes its own DAC and headphone jack, avoiding the GBA's own disappointing audio DAC. It also adds hardware decoding[1] - the GBA's CPU is a little too puny to handle media playback by itself.
I had forgotten about the eReader. I had gotten Excitebike on the eReader card because I was curious. I was planning on getting an eReader at some point, but never got around to it.
what we have today on switch is essentially memory card, before it was an interface to the bus. You could do anything. It doesn't even have to be performance oriented (or features like sound chips). One example is Boktai for GBA which had a light sensor on it so that actual daylight played into the gameplay, etc.
I know hardware homogeneity across platforms brought peace upon gamedevs who are stressed out as-is, but I think we lost something major along the way.
Neat fact about GBA cartridges. At its start, cartridges used watch batteries to keep save games, but by the end of the console, they had moved to Flash memory.
GBA cartridges used a mix of save chips for the duration of the console's life. Super Mario Advance and Konami Krazy Racers were both launch titles. Super Mario Advance used EEPROM with no battery while Konami Krazy Racers used static RAM with a battery.
Some games even got multiple releases with different save chips. Metroid Fusion originally released with static RAM and a battery, but later cartridges feature ferroelectric RAM and no battery. As far as the software is concerned, these two function the same.
SuperCard DSTwo. I remember it being described as having the power of a PSP inside (unsure if true), and it could do GBA and SNES emulation. It heavily impacted battery life, making it less popular in later years, though. Plus we've recently gained the ability to use the native GBA compatibility in the DS via DS flashcarts (or DSi/3DS homebrew) running TwiLightMenu, so now the $5 R4 clones on aliexpress can allow you to play GBA decently on a DS Lite.
Also, a new DS flashcart just came out, from the same makers of the popular EZ-Flash Junior for GB(C) and EZ-Flash Omega for GBA. It's called the Parallel. It costs considerably more than other DS flash carts, but is still cheaper than flashcarts for GBA or anything older (NES, SNES, and N64 flashcarts are insanely expensive).
MachoNachoProductions on YouTube has a video on the Parallel.
I believe it was also done for higan (bsnes) in order to support enhancement chipped games: the enhancement chips had to be collected, decapped, and decoded in order to correctly (= fully accurately, rather than approximately via hacks to try and fit observations) run the game dumps. I think at least part of the process was documented at the time.
I don't know if all the enhancement chips were collected and decoded, as IIRC a pair of them are literally used for a single japanese-only game.
Although for IP reasons the enhancement chip firmwares can't be distributed with higan, so you have to "dump them yourself".
bsnes' creator collected all the NTSC cartridges, I believe (USA and Japan, even the rare ones that were Japan-only special editions) but I don't think they managed to get a full PAL set.
All the enhancement chips used in officially licensed games were collected, decapped, and dumped via an electron microscope. Yes, even the ones only used by a single Shougi game each. :)
> Wayne Beckett, founder of Hong-Kong-based Datapower Development, said Near, whose full name was David Kirk Ginder, was an employee and confirmed Ginder's death to USA TODAY.
I sincerely hope there's hope for it. Even so, such behavior towards an individual who brought nothing but joy to a common shared passion of many is beyond sad and evil.
Byuu tried to extort the owner of kiwifarms and "killed" himself when the owner refused. I encourage you to read Byuu's thread yourself instead of news articles that drastically misrepresent what happened.
not documentation you'd like.. I can only had a sheet, at first excel and then google sheets, which I made to make it easy for me to track it all. I did travel a lot due to business etc and over time it all fell into place. Here's what they look like stored now, waiting for a move soon and for a more permanent setting: https://twitter.com/Keyframe/status/1550975562742644736?t=0N...
I'm also close to finishing N64 and maybe halfway there for NES (which I have no illusions on completing ever).
It's surprising how much could be done with the SNES, considering how ancient it is by today's standards. The only downside of it was that the cartridges developed some small problems as time went on.
The ceramic resonators degrade in accuracy over time (as cited in the article), which leads to non-deterministic performance of the APU, and since the entire console's timings are all linked together, this leads to non-deterministic execution of game code.
As a tool-assisted speedrun is essentially a timeline of inputs, there's no logic to account for system execution, and as such, hardware determinism is a requirement. Since an accurate emulator, barring hiccups in the underlying runtime environment, gives us a deterministic runtime environment, this works great. However, it's lead to some weird and awkward behavior when trying to console verify TAS movies on these >30 year old SNES consoles.
Replacing these ceramic resonators to repair these consoles has had mixed success, but there are folks that are successfully doing it, thus keeping these legendary consoles alive, and bringing their timings back into spec.