Vintage Computer Festival Midwest 2025

seen from United Kingdom
seen from Estonia

seen from United States

seen from United States

seen from Germany

seen from Germany
seen from China

seen from Malaysia
seen from Indonesia

seen from Brazil
seen from Saudi Arabia
seen from United Kingdom
seen from United States

seen from Australia

seen from United Kingdom
seen from Germany
seen from Germany
seen from United States
seen from Maldives
seen from Italy
Vintage Computer Festival Midwest 2025
This is the flair I chose to pin on my suit jacket for exhibiting on Saturday of VCF Midwest 20.
I feel like if you ever want to understand what it's like being around me when I'm drunk, all you probably need to know is I picked up a copy of Inside the Norton Utilities Revised and Expanded because drunk me thought the cover was hilarious
every Norton book has the most awkwardly posed cover imaginable, but this and its first edition are actually pretty high up there in the awkward Norton book cover rankings
I don't actually know if I'll ever use it and have to regularly talk myself out of picking up Norton books and other computer books based on their covers alone
Sharing a Computer with More Friends
A few months ago I built an I/O expansion board for my homebrew 68030 project with a 4-port serial card to go with it, and got BASIC running for four simultaneous users. It worked, but not as well as I had hoped. I wanted to be able to run two of those serial cards to support 8 total users, but it had proven unstable enough that with just the one card I had to slow down the whole system to 8MHz.
So I designed a new serial card.
I had previously been running this computer without any issues at 32MHz with a mezzanine card with FPU & IDE as well as a video card. The main board by itself can clear 56MHz. Having to go all the way down to 8MHz just didn't sit well with me. I want this machine to run as fast as possible for its 8 users.
I put extra time into reviewing worst-case timing for all components and graphing out how signals would propagate. The 16C554 quad UARTs I'm designing around are modern parts that can handle pretty fast bus speeds themselves — easily up to 50MHz with no wait states on the 68030 bus — assuming all the glue logic can get out of the way fast enough.
Signal propagation delays add up quickly.
My first draft schematic used discrete 74-series logic for chip selection, signal decoding, timing, etc. At slower bus speeds this wouldn't have been a problem. But I want this thing to run as fast as possible. By the time critical signals had made it through all those logic gates, I was looking at already being well into one wait state by the time the UART would see a 50MHz bus cycle begin.
I needed something faster. I was also running low on space on the board for all the components I needed. The obvious answer was programmable logic. I settled on the ATF22V10 as a good compromise of speed, size, availability, and programmability. It's available in DIP with gate delays down to 7ns. Where discrete gates were necessary, I selected the fastest parts I could. The final design I came up with showed a worst case timing that would only need one wait state at 50MHz and none for anything slower.
It ended up being a tight fit, but I was able to make it work on a 4-layer board within the same footprint of my main board, putting some components on the back side. (It may look like a bunch of empty space, but there's actually a lot going on running full RS232 with handshaking for 8 ports).
New problem. I had blown my budget for the project. As much as I love those stacked DE9 connectors, they're expensive. And there's no getting around the $10 pricetag for each of those quad UARTs. Even using parts on-hand where possible, I was looking at a hefty Mouser order.
[jbevren] suggested using ganged RJ45 connectors with the Cisco pinout instead of stacked DE9, to save space & cut costs. [Chartreuse] suggested buffering the TTL serial TX/RX signals to drive the LEDs that are frequently included on PCB-mount RJ45 connectors. Both great ideas. I was able to cut 20% off my parts order and add some nice diagnostic lights to the design.
Two weeks later, I received five new PCBs straight from China. I of course wasted no time setting into starting to assemble one.
I really set myself up for a challenge on this one. I learned to solder some 25 years ago and have done countless projects in that time. But I think this might be the most compact, most heavily populated, most surface mount board I've ever assembled myself. (There are 56 size 0805 (that's 2x1.2mm) capacitors alone!)
After a few hours soldering, I had enough assembled to test the first serial port. If the first port worked then the other three on that chip should work too, and there's a great chance the other chip would work as well.
And it did work! After some poking around with the oscilloscope to make sure nothing was amiss, I started up the computer and it ran just fine at 8MHz.
And at 16MHz.
And at 25MHz.
And at 32MHz.
And at 40MHz.
And almost at 50MHz!
Remember what I said about my timing graphs showing one wait state for 50MHz? The computer actually booted up and ran just fine at 50MHz. The problem was when I tried typing in a BASIC program certain letters were getting switched around, and try as I might, BASIC just refused to 'RQN' my program. It was pretty consistently losing bit 3, likely from that signal having to travel just a tiny bit farther than the others. A problem that will probably be resolved with an extra wait state.
Good enough for a first test! A few hours more and I finished assembling the card.
I did have some problems with cleaning up flux off the board, and I had to touch up a few weak solder joints, but so far everything seems to be working. I've updated my little multi-user kernel to run all 8 users from this new card and it's running stable at 40MHz.
I need to update my logic on the 22V10 to fix a bug in the wait state generator. I would love to see this thing actually running at 50MHz — a 25% overclock for the 40MHz CPU I am currently running. I also want to expand my little kernel program to add some new features like the ability to configure the console serial ports and maybe even load programs from disk.
I hope to bring this machine with a collection of terminals and modems this June to VCF Southwest 2025 for an interactive exhibit that can be dialed into from other exhibits at the show.
DEC VT-320, with lovely amber glow.
found somewhere on reddit.
The Compy Mark IV: CyberMax. This is my new desktop system! It’s similar specs-wise to the machine I built on commission for @fini-mun, so it has:
CPU: Intel Core i7-7740X Quad-Core 4.3 GHz
RAM: 16GB (2 x 8GB) 288-Pin DDR4 2666 (motherboard and CPU combo can go to 64GB)
GPU: EVGA GeForce GTX 1050 SSC GAMING ACX 3.0, 2GB GDDR5 VRAM
480GB SSD, 1TB + 3TB HDDs, DVD-RW drive (all taken from the Mark III)
And yes, it’s all in an old 90s computer case. I wanted that AESTHETIC in my build! It looks a bit bent on the left side, that’s due to frustration of getting the cover off early on in the project... that’s what happens when you reshape sheet metal with your bare hands. But the system is well-cooled, it’s all air cooled with a fan in the front panel, a blower fan in an expansion slot, and a radiator-style CPU heatsink with a pusher and puller fan. As a result, this thing can take DOOM (2016) at the highest settings, and get fullscreen 1080p visuals at a rock-solid 60FPS without breaking a sweat.
Special thanks to @aperture-in-the-multiverse of the RetroTech Crew for selling me the case, and helping me engineer the cooling setup!
My next computer build project is to take the rest of the Mark III and rebuild my father’s PC with it. The Mark III is still a very solid, usable machine. But dad has an aging Core i5 system that groans when trying to do things like edit photos or boot up. This is actually the main reason I built the Mark IV; I wanted to upgrade his machine. But I wanted an upgrade, too.
Does anyone from the retrotech crew still follow me?
I have a new (old) computer that I am keen to share.
Vintage Computer Festival Midwest 2025