First post, by KVM Nerd
- Rank
- Newbie
Hi everybody,
now that my retro PC KVM switching project (the "RetroRacks Project") has grown for over 15 years, and because I could not find a comparable project on the net, I thought it is time to show it somewhere.
Maybe it would be worth to do some videos in the future to explain things in detail and show it in action? I am looking forward to your comments and questions!
Idea
The idea of the project is to be able to control one of the up to 15 PCs at a time from either the desk, the TV in the living room or from anywhere via the internet. The switching should include:
- Keyboard
- Video
- Mouse
- Audio
- Game Controls (not via internet)
There should be one PC from every important PC generation with reasonable specs.
Features
(*planned)
- 15 PCs from XT to current generations (+2 Servers)
- 3 Guest inputs:
- VGA & PS/2 & 2.0 Analog Audio Guest PC
- VGA & USB & 2.0 Analog Audio Guest PC
- DVI/HDMI & USB & 7.1 Analog Audio PC)
- *1 Universal Guest I/O with
- 4 HDMI In & 1 HDMI Out
- 8 Ch Analog In & 8 Ch Analog Out (Balanced/Unbalanced)
- 1 S/PDIF In & 1 S/PDIF Out
- 8 Ch AES3 In & 8 Ch AES Out (Balanced)
- 4 ADAT / S/MUX In & 4 ADAT / S/MUX Out
- USB 2.0 Device & USB 2.0 Host
- *All PCs put in 19" 4U cases (except the XT, because a special case would be needed)
- 3 Consoles:
- Local Console (Desk)
- Remote Console (Living Room TV)
- IP console (from everywhere)
- Supported Signal Formats and Protocols:
- Video: HGC, MGA, CGA, EGA, VGA, DVI, HDMI
- Analog input vertical: 15 kHz to 145 kHz, horizontal: 30 Hz to 170 Hz
- Digital input vertical: 15 kHz to 270 kHz, horizontal: 24 Hz to 240 Hz
- Audio: *TTL (PC Speaker), Analog 2.0/4.0/5.1/7.1 + Mic + Line In, S/PDIF (Coax), HDMI, Room Microphones
- Audio Downmixing of (only for machines located in C1):
- *TTL (PC Speaker)
- Analog 2.0
- S/PDIF
- MIDI Expanders
- Room Microphones
- Audio Downmixing of Analog/Digital 2.0/4.0/5.1/7.1 to Stereo (All Machines)
- Keyboard: XT, AT & PS/2, USB
- Mouse: Serial, PS/2, USB
- Game Controller: *Analog, USB, *Conversion of Joystick/Joypad Inputs to Keyboard and/or Mouse Events
- Video: HGC, MGA, CGA, EGA, VGA, DVI, HDMI
- MIDI Expanders
- Pre Roland MT-32:
- Yamaha FB-01
- Roland MT-32 compatible Series:
- Roland MT-32 (old)
- Roland MT-32 (new)
- Roland CM-32L
- Roland Sound Canvas Series:
- Roland SC-55
- Roland SC-55MKII
- Roland SC-88 (also XG compatible)
- Yamaha XG compatible:
- Yamaha MU80
- Pre Roland MT-32:
- Out-Of-Band USB peripherals
- Automation:
- Power Switching
- Signal Routing
- *KVM Switching
- *Keycode Injection
- *Central Control with GUI
- Complete Audio and Video Capturing
- Ethernet Connections for all PCs
- Simulation:
- CRT (Scanlines & Masks)
- PC Speaker Sound Modeling (Simulate various Speakers and Rooms)
Possible Future Expansions
- Floppy Emulation with Image mounting via Network
- CD-ROM/DVD-ROM Emulation with Image mounting via Network and CD-Audio support
- Game Controls via IP
Installed PCs
(Needs review and suggestions, *planned) within two 36U cabinets:
- 8086-2 8 MHz + 8087-2 8 MHz FPU, 640 KB RAM, 360 K 5.25" Floppy, 40 MB HDD
- *80286 class, 640+ K RAM, 1200 KB 5.25" Floppy, 40+ MB HDD
- *80386 class, 4+ MB RAM, 1440 KB 3.5" Floppy, 100+ MB HDD, 2x CD-ROM
- *80486 class, 8+ MB RAM, 1440 KB 3.5" Floppy, 500+ MB HDD, 4x+ CD-ROM
- *Pentium class, 16+ MB RAM, 1440 KB 3.5" Floppy, 1+ GB HDD, 8x+ CD-ROM
- Pentium MMX 233 MHz, 64 MB RAM, 1440 KB 3.5" Floppy, 2 GB HDD, 16x+ CD-ROM
- *Pentium II 400+ MHz, 128+ MB RAM, 1440 KB 3.5" Floppy, 10+ GB HDD, 32x+ CD-ROM
- *Pentium III 1000+ MHz, 256+ MB RAM, 1440 KB 3.5" Floppy, 20+ GB HDD, 2x+ DVD-ROM
- AMD Athlon XP 1833 MHz, 512 MB RAM, 1440 KB 3.5" Floppy, 80 GB HDD, 8x DVD-ROM
- AMD Athlon64 2400 MHz, 4 GB RAM, 1440 KB 3.5" Floppy, 500 GB HDD, 16x DVD-ROM
- ...
Schematics
Simplified Signal Flow:
Note that not every combination of protocols/signals is possible for every PC. I guess you won't find a PC with XT keyboard and USB mouse...
KVM Switch Basic Infrastructure:
Explanation
<Location><Number>-<Device Type><Number>
Locations:
- C = Cabinet
- D = Desk
Device Types:
- CMP = Computer
- GCP = Guest Computer
- KVM = KVM Switch
Pics
The two 19" 42U Cabinets:
Notes:
- Not all cases are populated
- U1-4 of second rack are file servers, not part of the retro computing
- Labels are not final
Components Mounted in Desk near the Two Cabinets (Cabling not Final):
Components above from Bottom to Top (*planned):
- U1-2: (Drawer)
- U3-6: (PC for everyday work)
- U7: 48 port Gbe Network Switch
- U8: Cable Management
- U9: Central KVM Switch
- U10: USB 2.0 Switch, *Aux I/O Panel, *Raspi to control EDID Emulator and USB 2.0 Switch
- U11: Blank Panel for Future Expansion
- U12-13: 4x4 HDMI 2.0 Matrix Switch, HDMI Splitter, HDBaseT 2.0 KVM Extender, IP KVM Extender, Analog 2.0 to S/PDIF ADC, EDID Emulator, USB Extender, USB 2.0 4x Hub, USB 3.0 4x Hub, DVI-D + S/PDIF to HDMI Mux
- U14-15: Modular Matrix Switch: 4x4 USB 2.0, 8x4 S/PDIF, 16x16 Analog Audio
Website
I am currently building a website to document my project, which will take a long time to finish. Feel free to visit it anyhow: https://www.kvmnerd.com
TL;DR
I am building a project which enables me to control one of the up to 15 PCs at a time from either the desk, the TV in the living room or from anywhere via the internet.
EDIT March 28th, 2025:
- Added *Conversion of Joystick/Joypad Inputs to Keyboard and/or Mouse Events and maybe also the other way round for games which only support keyboard and mouse controls (or only joystick/joypad controls) to Game Controller in section Supported Signal Formats and Protocols
EDIT December 30th, 2024:
- Added Yamaha FB-01 in MIDI Expanders Section
- Removed planned status from CRT (Scanlines & Masks) in Section Simulation
- Added *Keycode Injection in Section Automation
- Removed HDMI Video Grabbing from Section Possible Future Expansions because it has been already added to the feature list as Complete Audio and Video Capturing
- In Section *1 Universal Guest I/O with
- Changed 3 HDMI In to 4 HDMI In
- Added 4 ADAT / S/MUX In & 4 ADAT / S/MUX Out
EDIT September 9th, 2024:
- Uploaded updated Simplified Signal Flow image
- Dropped whole analog surround signal path and AVR
- Added analog surround sound ADC
- Changed all images to attachments
EDIT August 29th, 2024:
- In section *1 Universal Guest I/O with changed
- HDMI In & HDMI Out
- Analog 2.0 Out
- Analog 7.1 In
- USB 2.0 Device
- to
- 3 HDMI In & 1 HDMI Out
- 8 Ch Analog In & 8 Ch Analog Out (Balanced/Unbalanced)
- 1 S/PDIF In & 1 S/PDIF Out
- 8 Ch AES3 In & 8 Ch AES Out (Balanced)
- USB 2.0 Device & USB 2.0 Host
- Added Section Simulation:
- *CRT (Scanlines & Masks)
- PC Speaker Sound Modeling (Simulate various Speakers and Rooms)
- Added Section Audio Downmixing of Analog/Digital 2.0/4.0/5.1/7.1 to Stereo (All Machines)
EDIT June 9th, 2024:
- Uploaded up-to-date photo of the two new cabinets, changed description from 36U to 42U and removed the following points from Notes:
- Cables for guest computers are located in the middle of each rack
- USB 2.0 Distribution has not been mounted yet in cabinet 1
- AT PCs need to be put in 19" cases
- Network cables need to be connected
- Changed U1-4 of each rack are reserved for file servers to U1-4 of second rack are file servers, not part of the retro computing in Notes
- Added Labels are not final in Notes
- Removed planned status from Yamaha MU80 and Roland MT-32 (new) in MIDI Expanders
EDIT February 28th, 2024:
- Added signal ranges for video input
- Added TTL (PC Speaker) Audio, Room Microphones and Audio Downmixing to Audio section
- Replaced 2.0/4.0/5.1/7.1 Analog Audio Recording with Complete Audio and Video Capturing
- Added MIDI Expanders Section
EDIT June 6th, 2022:
- Removed planned status from following items in Supported Signal Formats and Protocols:
- Video: *MGA, *CGA, *EGA
- Audio: *S/PDIF (Coax)
- Mouse: *Serial
- Added HGC to Video in Supported Signal Formats and Protocols
- Removed planned status from following items in Components above from Bottom to Top:
- *8x4 S/PDIF
- Changed Subject that it includes the "RetroRacks Project"
Why not hook it up to a KVM switch?