Tom7 is back, with more amazing computery weirdness
May 30, 2018 5:07 PM   Subscribe

 
I'm racked with regret that I did not title this post "Naw, just force it in there. I'm sure that thing's forwards-compatible."
posted by DoctorFedora at 5:22 PM on May 30, 2018 [7 favorites]


It's amusing how as time goes on all the most outlandish rumors from my childhood have become true.

"No, really! You can put in a code and play a totally different game in Super Mario! My uncle that works at Nintendo told me!"

"I heard they're making a way to play Super Nintendo games on the Nintendo."
posted by Mr.Encyclopedia at 5:43 PM on May 30, 2018 [15 favorites]


Wonderful!
posted by grobstein at 5:48 PM on May 30, 2018


Neat!

Now make the reverse-emulator NES cartridge accept SNES cartridges.

(And also not be janky.)

(But, actually, given the wider applications touched upon in the conclusion of the video, perhaps the jankiness is in fact desirable for accurate Robocop/Terminator-o-vision?)
posted by Sys Rq at 6:05 PM on May 30, 2018


yeah, my 14 y.o. son makes emulators, or emulator compatible devices out of raspberry pi stuff and led screens. his current project is to make his 64 completely portable. I don't follow it all (natch) but this kind of thing is just in his wheelhouse.
posted by OHenryPacey at 6:29 PM on May 30, 2018 [5 favorites]


Here's where I thought he was going at the end, and what got my brain wheels turning real hard. Our human hardware is things like nerve endings. They're used to reading certain types of signals such as touch, that's the ROM cartridge analogy. But if we connect the nerve endings to something active, that's doing who knows what kinds of processing to modulate the signals reaching the nerve endings beyond anything they could otherwise receive, maybe there's a whole new dimension of touch that we could experience on our outdated hardware. That would be cool.
posted by dbx at 8:22 PM on May 30, 2018 [5 favorites]


dbx, I saw a version of this presentation as a talk at a conference recently, and that is precisely where he went.
posted by valrus at 8:28 PM on May 30, 2018 [1 favorite]


Would I be correct in describing this as the NES/SNES era practice of expanding the console's power by including extra chips in the cartridge, simply taken to an unreasonable and hilarious extreme?
posted by Pope Guilty at 9:19 PM on May 30, 2018 [7 favorites]


Yeah, that would be a fair summary.
posted by DoctorFedora at 9:52 PM on May 30, 2018


maybe there's a whole new dimension of touch that we could experience on our outdated hardware.

Or, replacing the medulla oblongata, an exquisite new realm of fear.
posted by figurant at 9:56 PM on May 30, 2018 [7 favorites]


Would I be correct in describing this as the NES/SNES era practice of expanding the console's power by including extra chips in the cartridge, simply taken to an unreasonable and hilarious extreme?

It's more akin to devices like the dev and media only WideBoy and the Super Game Boy - The actual processing is being done by the cartridge, which is just using the NES as a graphical interface. So, to be fair, he's actually not doing anything new (the WideBoy was around prior to the Game Boy launch, as it was a development tool), but it's still cool.
posted by NoxAeternum at 10:52 PM on May 30, 2018 [2 favorites]


Oh, were we talking about extra chips in the cartridge? (David Crane has a comment somewhere explaining things, but I’ll just say that every HSYNC the CPU reads a sample from the chip and that’s how music works, and also sprites)
posted by RobotVoodooPower at 11:00 PM on May 30, 2018 [2 favorites]


I feel like the author really captured the essence of Godel, Escher, Bach in a very modern context. The narration could have been pulled right out of it.

Unfortunately for me, I really couldn't stand that book.
posted by TypographicalError at 1:33 AM on May 31, 2018 [2 favorites]


I'm glad someone finally did the thing I idly wonder about whenever I think too much about how cartridge systems work. I wonder if he could use a dual-port SRAM as a buffer to clean up the jankiness and free up pi cycles spent synchronizing the read returns. Of course, his method has the advantage over any of my ideas in that he actually built his.
posted by ckape at 2:07 AM on May 31, 2018 [3 favorites]


A little FPGA as an interface would clean up that chaff easily. This is exactly what they are designed to do.
posted by seanmpuckett at 4:13 AM on May 31, 2018


Seems like the thing to do to resolve the janky timing issues is to have the Pi run an NES emulator that runs the exact same code as the real NES, just starting it a millisecond earlier. That way you know what the real NES is going to ask for because the emulated NES just asked for it.
posted by rlk at 4:55 AM on May 31, 2018 [8 favorites]


who knows what kinds of processing to modulate the signals reaching the nerve endings beyond anything they could otherwise receive, maybe there's a whole new dimension of touch that we could experience on our outdated hardware.

I feel like you'd just be itchy all the time for reasons you couldn't quite identify.
posted by Strange Interlude at 5:50 AM on May 31, 2018 [3 favorites]


This is amazing.
posted by midmarch snowman at 9:54 AM on May 31, 2018


The way to resolve the janky timing issues is to use an SoC that has better capabilities than a Raspberry Pi.

The PRUs on the Beaglebone / TI AM3358 use a 5 nSec clock and run in deterministic time. It could definitely keep up with the memory cycles coming out of the PPU.
posted by JoeZydeco at 9:59 AM on May 31, 2018 [1 favorite]


Having some time to think about it, I find myself a lot less impressed with this. Again, this was something that Nintendo themselves did back in the 80s to create the WideBoy, though to be fair, the hardware and video output of the Game Boy wasn't as demanding as the output from a Raspberry Pi.
posted by NoxAeternum at 11:35 AM on May 31, 2018 [1 favorite]


On included hardware--

This was common on many systems, although arguably the Atari VCS, NES and SNES made the most use of it. The VCS because the system can only address 4K of memory from the cart, so some form of bankswitching is necessary to make games more complex than Space Invaders. The NES was arguably designed with pack-in chips in mind: the PPU doesn't have a complete bank of addressable RAM unless some is included on the cart. There's also the famous MMC line of custom mappers, and even more mappers in Japan. Quite a few SNES carts use chips like the DSP-1 to take some of the load off its weak processor.

I don't truly know the answer to this, but it seems possible that this might have been a secret reason why Nintendo was loathe to abandon the cartridge format for the N64. The switch to optical media as the default format for game software meant that they could no longer include additional hardware. One might argue that the N64 was strong enough that it didn't need it, although enough games cut out the music when played in multiplayer (the N64 doesn't have dedicated sound chips) to suggest otherwise.
posted by JHarris at 12:37 PM on May 31, 2018 [5 favorites]


I actually had been wondering such a setup might be able to do with older hardware, because ROM cartridges did often have additional hardware in them. Pretty much this exact scenario, but for any console.

It would be interesting to see just how far each console could be pushed in this manner.
posted by evilangela at 1:07 PM on May 31, 2018 [1 favorite]


Well I would say that once you're at the point of including an entire modern computer in the cartridge and simply passing uncompressed video through the host system, you aren't meaningfully pushing the console anymore.
posted by Pyry at 2:04 PM on May 31, 2018 [2 favorites]


Honestly I think it would be funnier if the whole thing was faked and inside the NES is another rpi connected directly to the video output.
posted by Pyry at 2:13 PM on May 31, 2018 [4 favorites]


I'm disappointed that audio wasn't included, considering that the Nintendo is perfectly capable of high quality PCM audio.

I know, nitpicking and missing the point.
posted by Yowser at 5:03 PM on May 31, 2018


Well I would say that once you're at the point of including an entire modern computer in the cartridge and simply passing uncompressed video through the host system, you aren't meaningfully pushing the console anymore.

This is a good point, and the reason why I was less impressed with the later TASbot "Arbitrary code execution" demonstrations. Sure, it's cool that you're transmitting video into the SNES via thousands of controller button presses, but compared to the early "We cracked open Super Mario World and can now play Breakout or Tetris with Mario graphics" you're just rubbing it in that the SNES is now a slave to the significantly more advanced computer you have hooked into it.
posted by Mr.Encyclopedia at 1:27 PM on June 1, 2018


It would be interesting to see just how far each console could be pushed in this manner.

As others have pointed out, there is really no limit. This is, of course, just another version of the practice of including multiple chips in a system to handle some of the extra workload, it's just that the extra chips are really, really extra.

Technically speaking, advanced capabilities were available in the VCS days. The limiting factor with most consoles from the 8- and 16- bit eras was usually price. All these systems were designed to be consumer-affordable, which usually required cost cutting. That's really the only reason the VCS can address only 4K of cart memory. All of the tricks that game manufacturers used to get around limitations were so that Atari could save a few bucks off each system at the factory. Later on, like during the VCS/2600's weird second life during the NES era, the saved money was probably more like pennies, but by that time the system had become such a thing unto itself that its limitations would have to be adhered to as well, in the name of backward compatibility.
posted by JHarris at 9:54 AM on June 3, 2018


« Older “It’s why I quit. It’s the worst thing on Earth to...   |   Just another sad gentrification story. Newer »


This thread has been archived and is closed to new comments