4 ms·
A RPI bit banging directly to a cpu. That’s impressive.
by jdmoreira 5y ago
A RPI bit banging directly to a cpu. That’s impressive.
- varispeed 5y agoWhat's impressive? If you look at the board, it's literally directly connecting the CPU to appropriate GPIOs. Then the wiringPi library is extremely slow, so you can't really do anything useful apart from controlling lights or idk your garage door. Anything with a frequency higher than 30-40kHz is unreliable (jitter an all that). You can do that with any controller that gives you I/O headers and you wire it correctly. But I can give that it's a bit more than the usual "look I connected these things to RPi and they work! I am now a superstar engineer"
- hakfoo 5y agoI could see it as the inverse of the old in-circuit emulators. If you were trying to scratchbuild a BIOS, for example, it might be easier to have the entire world outside the CPU be emulated at the beginning. It ensures you don't end up chasing ghosts due to imperfect CPU emulation, and you can start with very simple "toy" peripherals to avoid complex setup code and corner cases, and instrument everything up. The guy behind this had been working on some other 8088-class projects-- up to a micro-ATX mainboard intended to be roughly XT compatible. One of the side projects was a tiny character LCD panel on an ISA card, since that was an easier design for early bootstrapping than getting a real CGA card running. So this sort of fits within the same toolkit. As the firmware improves, I could imagine migrating to a setup where the Pi is connected via, say, the ISA bus to substitute for rare/fragile peripherals, or just serving as a more easily updated PROM replacement.
- scruffyherder 5y agoThere is buffee and pistorm which both plug into a 68000 socket and emulate a 68000, faster than the stock processor. Pistorm runs musashi and can even do 68030/68040 along with peripherals in the high memory area (above 24bits) things like additional ram and IDE. It's very cool
- h2odragon 5y agoIts impressive in the sense that say, replacing a Honda Insight's engine and power bank with a lawnmower engine would be. It's not incredibly useful, but its a cool hack; with some conceivable utility if you squint at it right.
- stevekemp 5y agoIt's actually a fairly common approach to driving some old-school processors. For example I've used an Arduino to drive a Z80 processor. I toggle the clock line high & low, and monitor the I/O ports on the Z80 such that when it thinks it is reading RAM it is really reading from an array on the Arduino. You can get quite far, given the relative clock-speeds of the two chips. Of course it gets a bit fiddly if you need to halt the processor and proxy reads to other I/O devices - such as using the Z80 "out (1), a" instruction to print a character to an LCD. But this is a good way to get started.