SaaSHub helps you find the best software and product alternatives Learn more →
Top 23 C Retrocomputing Projects
-
>> I never used Lotus
If anyone is curious, there is a Linux port of Lotus123:
https://github.com/taviso/123elf
-
Stream
Stream - Scalable APIs for Chat, Feeds, Moderation, & Video. Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.
-
- Project mention: The atrocious state of binary compatibility on Linux and how to address it | news.ycombinator.com | 2025-04-01
> GLIBC is an example of a "system library" that cannot be bundled with your application because it includes the dynamic linker itself. This linker is responsible for loading other libraries, some of which may also depend on GLIBC—but not always.
Running WordPerfect on modern Linux is done by shipping both of those components:
https://github.com/taviso/wpunix
-
-
esp32_usb_soft_host
ESP32 software USB host through general IO pins. We can connect up to 4 USB-LS HID (keyboard mouse joystick) devices simultaneously.
- Project mention: CP/M 2.2, CP/M 3.0, CP/M-86, Concurrent CP/M-86 listings by Digital Research | news.ycombinator.com | 2025-06-12
http://www.cpm.z80.de/source.html Many other versions of CP/M and related OSes are available there, with some source in machine-readable format.
There are versions based on these releases (which are under open licence) which are currently maintained and assemble with modern tools. For example: https://github.com/davidgiven/cpmish
-
-
InfluxDB
InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
-
-
-
-
lzsa
Byte-aligned, efficient lossless packer that is optimized for fast decompression on 8-bit micros
- Project mention: A note on the USB-to-PS/2 mouse adapter that came with Microsoft mouse devices | news.ycombinator.com | 2025-03-27
-
-
RetroWiFiModem
An ESP8266 based RS232 <-> WiFi modem with Hayes AT style commands and LED indicators
-
PunyInform
A fast and compact library for writing text adventure games for the Z-machine running on 8-bit computers as well as other platforms.
-
Indeed! An eventual goal of Onramp is to bootstrap in freestanding so we can boot directly into the VM without an OS. This eliminates all binaries except for the firmware of the machine. The stage0/live-bootstrap team has already accomplished this so we know it's possible. Eliminating firmware is platform-dependent and mostly outside the scope of Onramp but it's certainly something I'd like to do as a related bootstrap project.
A modern UEFI is probably a million lines of code so there's a huge firmware trust surface there. One way to eliminate this would be to bootstrap on much simpler hardware. A rosco_m68k [1] is an example, one that has requires no third party firmware at all aside from the non-programmable microcode of the processor. (A Motorola 68010 is thousands of times slower than a modern processor so the bootstrap would take days, but that's fine, I can wait!)
Of course there's still the issue of trusting that the data isn't modified getting into the machine. For example you have to trust the tools you're using to flash EEPROM chips, or if you're using an SD card reader you have to trust its firmware. You also have to trust that your chips are legit, that the Motorola 68010 isn't a modern fake that emulates it while compromising it somehow. If you had the resources you'd probably want to x-ray the whole board at a minimum to make sure the chips are real. As for trusting ROM, I have some crazy ideas on how to get data into the machine in a trustable way, but I'm not quite ready to embarrass myself by saying them out loud yet :)
[1]: https://rosco-m68k.com/
-
-
-
-
-
-
sims
Burroughs B5500, ICL1900, SEL32, IBM 360/370, IBM 7000 and DEC PDP10 KA10/KI10/KL10/KS10, PDP6 simulators for SimH
- Project mention: Obsolescence Guaranteed: functional replicas of early computing hw and sw | news.ycombinator.com | 2025-04-22
They do appear to mean emulator.
The PDP-8 was hardware replicated many times. (In the '80s it was a typical final year project for an electronics engineer. There's a classic textbook that works through designing and implementing a clone of the PDP-8/I [1]. I've run into a number of threads over the years where hobbyists have done it with TTL to varying degrees of completeness.
The Apollo Guidance Computer was recreated by a hobbyist from the original designs using a modern logic family but gate-equivalent -- and I can't find it online anymore! Anyone know?
There's a full Verilog gate-equivalent implementation of the PDP-6 out there: https://github.com/aap/pdp6
You can still build an original Apple II. [2] Being from the late 1970s there was no custom logic; it's straight TTL plus a 6502, and all the chips are still in production except for the ROMs and DRAM, which are easy enough to work around or find used.
[1] https://www.amazon.ca/Art-Digital-Design-Introduction-Top-Do...
[2] https://www.reactivemicro.com/product/apple-ii-plus-rev-7-rf...
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
C Retrocomputing discussion
C Retrocomputing related posts
-
You Can Now Make PS2 Games in JavaScript
-
WebAssembly from the Ground Up
-
WinUAE 6.0.0 Amiga Emulator
-
Linux in Excel
-
The atrocious state of binary compatibility on Linux and how to address it
-
A look back: WordPerfect on DOS (2023)
-
Debugging Lotus 1-2-3 by fax
- A note from our sponsor - SaaSHub www.saashub.com | 23 Dec 2025
Index
What are some of the best open-source Retrocomputing projects in C? This list will help you:
| # | Project | Stars |
|---|---|---|
| 1 | 123elf | 1,223 |
| 2 | DOjS | 934 |
| 3 | wpunix | 728 |
| 4 | Z80 | 531 |
| 5 | esp32_usb_soft_host | 479 |
| 6 | cpmish | 390 |
| 7 | vAmiga | 380 |
| 8 | CROSS-LIB | 345 |
| 9 | bbc-fdc | 264 |
| 10 | Serena | 254 |
| 11 | lzsa | 254 |
| 12 | USB4VC | 245 |
| 13 | json65 | 244 |
| 14 | RetroWiFiModem | 230 |
| 15 | PunyInform | 196 |
| 16 | rosco_m68k | 182 |
| 17 | lotusdrv | 152 |
| 18 | Avara | 142 |
| 19 | jSH | 142 |
| 20 | apultra | 116 |
| 21 | pico-rgb2hdmi | 118 |
| 22 | sims | 105 |
| 23 | pdp6 | 67 |