GitHub - h4rm0n1c/EBD_IPKVM: RP2040/Pico W PIO+DMA capture for Macintosh Classic 1bpp video (future ADB/ATX KVM)
RP2040/Pico W PIO+DMA capture for Macintosh Classic 1bpp video (future ADB/ATX KVM) - h4rm0n1c/EBD_IPKVM
Hello all, I've come here with quite a project.
This is a Raspberri Pi Pico based framebuffer in firmware and PIO program approach to capturing digital video signals like those used on the Lisa through to the SE/30.

I have managed to get legible video data in about 4 week's worth of efforts that I've slowly worked on for most of December and January.

This could have broader implications as it's a tighter and simpler and lower resource version of RGB2HDMI's approach, sure we don't output to a display, but this does open the possibility for better direct capture of video in a 1:1 exact format that essentially looks like you booted up Basilisk 2 or mini vMac, it doesn't use oversampling or dedicated CPLD custom hardware, it's just a Raspberri Pi Pico, some standard jellybean DIP parts (I made this through-hole on a breadboard, freehand) and some voltage regulation.
my test bench setup is a bare macintosh classic motherboard that I was given about 2 months ago, I had to re-cap it with what I had on hand but I did pretty well considering I had no SMD parts, I managed to find some small electrolytics that fit if I cut the leads down and turned them into improv SMD pads, works great.
and yes, the name does mean what you think, I fully intend to fold as much into this as I can. next target after we get video in a good state (we need to do Run Length Encoding to compress the video data and then I can do full 60fps acquisition over USB to test for a start, this would also be great for youtubers who cover old tech and want a more direct, possibly OBS friendly way of getting the video they need)
video comes first, then ADB (trivial and extremely well documented third party implementations compared to what I've just done with video)
this is significant because until now, RGB2HDMI with their custom CPLD and such was the only good way to get video out of these things, I looks like I just broke that trend.
the repo technically contains everything required to reproduce this as well, this is essentially a crude Software Based TTL driven CRT emulator.
I'll have to assign the UART to different pins because I used GPIO0 and 1 for Pixel Clock and /VSYNC signals. those who are more eagle eyed might have spotted the FT3232 on the left on the SOIC adapter board, that is indeed for serial comms, I want to do PPP/SLIP as an outside possibility, so I made sure I could experiment with that as well. when I called it EBD_IPKVM, i wasn't kidding.
current project status can pull down 100 frames of video data and power the mac on and off via ATX soft power control which gives me everything I need to automate testing so I dont have to leave my seat to work on it, we're just in alignment/geometry territory now, it's very early days yet, we're just focussing on getting from on-wire video protocol to usable/accurate image data right now.
I am also in general, a huge nerd when it comes to old macs, there's some neat work in my other repos related to old macs in general which I will not list here and will let you all discover as they may have value, or not, lol.
I tend to go to ground and work so I might not see or remember to check for replies for a while, don't take it the wrong way, I'm on disability and I'm fixated on making this work, I am going to get my win, as far as I could tell, this has not been done successfully before, most give up and revert to dedicated capture hardware or custom cap hardware, turns out that may not be necessary.
I could not done this without the work of trail blazers like BMOW or the Bomarc Macintosh Classic Schematics that circulate in various places online.
I could really use a breakthrough that sees me not scraping by on disability but serves me if I'd even be able to monetise this so I'm sharing it so it at least doesn't languish away on my bench or get lost entirely if something bad happens to me.
the end ideal state of this project would be a custom board design, schematics, board routing files and code/UF2 firmware available for anybody who has, say, an old compact mac logic board but nothing else floating around, and wants to revive the machine with minimal outlay and maximum integration.
I used to work as a systems integrator for winthrop australia doing stuff for apple in education, so this is kind of my natural approach, build a product, make it fill a need, there's probably tens of thousands of these boards sitting in closets and in junk piles because the analog board or the CRT died, pipe dreams of various nerds like myself wanting to revive them and put them in a neat wireless connected box that behaves like an appliance.
Last edited:

