The Hearts of the Super Nintendo
fabiensanglard.net
fabiensanglard.net
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.
For an example of this, look at this Super Metroid run from SGDQ 2018: https://youtu.be/T_oDcRKzoHI?t=3m17s
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.
I was confused at first because Mega Man 2 and Mega Man 3 are NES games, not SNES!
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.
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.
[0] https://www.youtube.com/watch?v=X-WIBmzETBo
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.
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
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.
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
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.
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.
Wouldn't allowing the game to run on more machines result in more sales? Or would the import market and currency exchange rate too much of a hazard?
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".
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. :)
I still can't get over the tragedy of what happened to them. That shouldn't have happened under any circumstance.
from https://eu.usatoday.com/story/tech/2021/07/23/how-toxic-onli...
That's hard enough for me to think it's legit, though I'd agree that it's not conclusive.
I'm also close to finishing N64 and maybe halfway there for NES (which I have no illusions on completing ever).
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.
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.
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.
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.
GBA medical device.
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.