All that said, this project is still pretty sweet and I enjoyed the writeup.
All that said, this project is still pretty sweet and I enjoyed the writeup.
> The Super FX was so much more powerful than the SNES's standard processor that the development team joked that the SNES was just a box to hold the chip.
Really interesting to read about, but there was a whole selection of other chips that various SNES games took advantage of: [1]
[0] https://en.wikipedia.org/wiki/Star_Fox_(1993_video_game)
[1] https://en.wikipedia.org/wiki/List_of_Super_NES_enhancement_...
https://www.youtube.com/watch?v=ar9WRwCiSr0
Also, commercial 3D SNES games sometimes had to bring their own coprocessors, so it's fully in line with tradition:
As a sometimes hobbyist homebrewer, instinctively I am inclined to agree. But I'll argue the counter-case.
The Game Boy (and consoles like the NES and SNES) were intended to be expanded with additional hardware in the cartridge, from the beginning in anticipation of new technology. There were commercial GB games in Japan that included an infrared transceiver, for example. Same with vibrators and battery-backed save RAM and so on. While extra cartridge hardware was never more than marginal on the Game Boy, it was fairly prominent on the NES/Famicom and especially the SNES.
And it was used to make full 3D games for the SNES. Much of Star Fox is drawn with 3D polygons, and would have been impossible without a co-processor to do the 3D rendering. So it includes the Super FX chip on-board, which is a fast coprocessor with vector facilities. In some Super FX games, the console's baseline hardware was basically relegated to being a glorified framebuffer displaying the coprocessor's rendered output.
And in some cases, no amount of extra hardware will circumvent the limitations of the hardware, which makes it a legitimate programming and game design challenge, IMO. You just can't display a full-screen bitmap on a Game Boy without tricks. There simply isn't enough onboard video RAM to hold a distinct 8x8 tile for every tile on screen. No coprocessor will work around that. It might give you an infinite source of tiles rendering a 3D scene for example, but you still have to shuffle them in and out of VRAM, which is a major bottleneck for complex Game Boy designs aiming for full screen and full framerate effects.
Source: I owned GB games since I was a child.
Not to detract from the project, it is very cool. But the excitement kinda feels dwindled when you realize that you now have limitless power and ability. It becomes just regular programming rather than a puzzle.
I see the 'complaint' is that there's a creative/artistic appeal to seeing what can be squeezed out with limited/constrained resources.
Or, at worst, does it make sense to use an old console like the Game Boy if you're going to use such a fancy cartridge?
I'm reminded of the MythBusters episode where they tried to make a cannon from a wooden log. They resorted to using modern power tools. "I'm not doing anything they wouldn't have done if they had access to these tools!".
I think the project is pretty cool, anyway.
> It would be like me creating a new "SNES game" with a raspberry pi stuffed inside the cartridge with GPIOs mapped to the SNES cartridge interface and saying "there oughta be a full 3d SNES game" but at that point the SNES is doing very little processing compared to the pi's SoC which is doing 100% of the 3d rendering.
Oh you're gonna really hate this:
https://www.theverge.com/2020/12/16/22178922/snes-mod-ray-tr...
Most little single purpose ucontroller based products not made by Broadcom have an SDK for writing code for the device too, it just normally doesn't go anywhere. Espressif just sort of won the lottery and an ecosystem formed around them, but that wasn't their initial market as it would be foolish to bet the company on that.
A ucontroller with way more compute and peripherals than it need for it's task, with either no or shoddy encryption on it's flash allowing you to write your own code or binary patch the existing code with a little elbow grease? That's most microcontrollers out there with the exception of chips by Broadcom (no flash and the patch RAM is already basically full fixing bugs in their crappy code ROM) or Nordic (because of the ubiquitous use of per device encrypted flash). Specific devices I've worked on in that capacity though are all tied up in NDAs with my employers though.
But what makes ESPs special is the community. Because of all of the public work put into them, it's an order of magnitude easier to manipulate them than pouring over a disassembly. You'd know about tchips like that if they existed. Bunnie tried to get that kind of community around the MT6260 chips, but it didn't really go anywhere.
Whats the point of developing on a device that needs lots of other parts that most people won't have? Its like selling a game system with no controllers and each controller can be used for only a few games (like eyefi).
This is why I don't bother with seeing m.2 SSDs enhancing online gameplay for faster loading. You always wait for the weakest and slowest loading game and network to start.
Good pedantism btw :)
There's a few different ways that people modify their NES if they want to use cartridges with audio hardware, using the (otherwise unused) expansion port pins.
Then we got the SEGA 32x - which was literally dumping a giant chain of extra chips onto the Genesis in order to do things like primitive 3D and scaling.
Beyond the SNES as well, the NES also had a habit of packing in small bits of extra hardware on their carts.
Anyone remember Mode 7 style of rendering?
Most cartridges are just ROM, perhaps some battery backed RAM, and if needed some bank switching / address decoding logic to glue things together. Nothing particularly smart. Certainly no extra processors running the show. All the smarts was in the console.
There are exceptions, like the SNES games with coprocessors, but not all of them are full CPUs, and even then there are 1500+ SNES titles in total, and less than 100 with extra chips in them[1]. The mapper chips in NES games often did a bit more than just bank switching, but they weren't in control either.
Cue someone mentioning the MB Microvision...
[1] Based on Wikipedia, and I hope I roughly counted the number of entries in the coprocessor game table correctly.
"I built a calculator completely from scratch by myself with no help" (by importing calculator.*)
"I invented my own cloud microservice in a language I wrote completely myself" (It's hello world split in 2 files on google drive and the language is just JavaScript but it you added a "framework" (it's single method) that already exists in the wild but your version is slower and worse)
"I built my own computer" (by buying a prebuilt computer but swapping out the ram, or buying an essentially prebuilt computer but it comes disassembled)
I’m a billionaire with 22in, my dinner with Bezos went well, I had to ignore 22 messages from hot models wanting to fuck to post this, I could have been working for 12k an hour but I decided your post was worth replying to even though satellite Internet costs on my huge yacht costs a lot more than you make in a day.
I’m going to fly on my private jet now, feel free to contact me about how you can invest and fall for my crypto margin trading that ends badly for you.