4 ms·
I wouldn't be surprised if you could bit bang ISA these days. ISA ran at 8MB/s, and (e.g.) a Raspberry Pi runs at 1.5GHz. That's nearly 200 cycles per ISA clock
by overthrow 4y ago
I wouldn't be surprised if you could bit bang ISA these days. ISA ran at 8MB/s, and (e.g.) a Raspberry Pi runs at 1.5GHz. That's nearly 200 cycles per ISA clock. All you need is a couple of i/o pins.
- mzerod 4y agoA friend of mine is building a Raspberry Pi ISA board so I’ll have to ping him on how it’s going.
- userbinator 4y agoAn RPi is not so much different from a PC in that the CPU core clock is going to be the fastest and everything else will be slower. You're not going to get 1.5GHz out of a GPIO. https://raspberrypi.stackexchange.com/questions/100011/how-fast-can-gpio-pins-toggle-on-the-pi-4 https://raspberrypi.stackexchange.com/questions/100011/how-f...
- TylerE 4y agoYou don’t need to. Your cap is 8MB/sec. For audio you don’t even need that. 48khz 16bit stereo is only 192k/sec.
- nebula8804 4y agoI've seen some astounding projects using the Raspberry Pi Pico "PIO" to create n64 Flash carts and now HDMI adapters. I don't have the slightest knowledge of how this stuff works but I imagine it is some sort of bit banging like process. Do you think it would be possible to simulate something like a soundcard using Raspberry Pi Pico? These devices seem like a great and really cost effective way to design around expensive FPGA based designs.
- rasz 4y agopicogus: https://www.vogons.org/viewtopic.php?f=62&t=88440 https://www.vogons.org/viewtopic.php?f=62&t=88440 https://github.com/polpo/picogus/ https://github.com/polpo/picogus/
- nebula8804 4y agoTruly Amazing! Thank you for the link!
- polpo 4y agoI'm the creator of PicoGUS... PIO is kind of like hardware assisted bit banging. You program a very simple, extremely fast computer (aka the PIO peripheral on the RP2040) to do the bit banging for you. :)
- ilyt 4y agoI would. Doing bitbanging reliably is easy only if you have single process running. But it might work if ISA card doesn't rely on clock being constant all that much, then any jitter in CPU transfer shouldn't matter too much.
- polpo 4y agoISA is very forgiving timing wise. As long as you have the data on the pins when IOR or do your read by the time IOW is deasserted by the chipset you’re fine. And you can always deassert IOCHRDY and get all the time in the world to respond (within reason).
- mjevans 4y agoBit-banging one I'd be surprised about mostly for signal integrity at that line-speed reasons. However even a home silk-screened PCB could probably handle that and a USB control connection. Without deep knowledge hard part's likely the software, getting the connected item to work; probably as a virtual hardware device in a KVM or other emulated guest OS with the illusion it's on old hardware.
- RobotToaster 4y agoIt may be possible if you programmed the pi bare metal, I can't imagine a non rt os working.
- actionfromafar 4y agohttps://github.com/osnr/rpi-bitbang-ethernet https://github.com/osnr/rpi-bitbang-ethernet Might be possible, someone bitbanged (sending) ethernet frames. This example makes me convinved that if you added a clock and some latches to a raspberry pi, it definitely should be able to do ISA bus. Maybe even without any hardware, who knows. But it needs to level shift from 3V to 5V anyway.
- deleted 4y ago[deleted]
- CGamesPlay 4y agoI had terrible luck getting 48k audio out of a bit-banged I2C ADC over Raspberry Pi. Being in userland was the most noticeable problem; once I switched to a kernel driver I was barely able to get the right sample rate.
- polpo 4y agoI had some very successful experiments with bit banging ISA on a Raspberry Pi 3 and 4 a while ago: https://github.com/polpo/pigus https://github.com/polpo/pigus I quickly moved over to a Raspberry Pi Pico because it's much better suited to such things. You need more than a couple I/O pins, though... to do real ISA (i.e., not LPC) right, you need more GPIOs than what the Pi gives you. But muxing the data/address lines is enough to give you back what you need.