Bell Labs Cardiac was a "CARDboard Iinstructional Aid to Computation" A person powered cardboard computer. Here is a C program that acts like a filter - reading input from stdin and "punching cards" on std out. The CARDIAC was a decimal computer with 10 instructions input, clear and add, add, test accumulator, shift, output, store, subtract, jump (store return in 99), halt
Updated 2026年07月03日 01:19:41 +02:00
An emulator for a 16-bit minicomputer that never existed—and eventually an
assembler for that machine.
The machine is a register-register architecture with non-volatile memory.
It features:
- 16-bit word size
- 16 general-purpose registers (R0–RF)
- Register file with hidden overflow register (captures upper 16 bits of
arithmetic results)
- 64K independent stack (16-bit words), managed by untouchable stack pointer
- Program counter (untouchable except via JMP/JSR)
- Privilege levels (Hardware, OS, Library, User) with gating
- Single-level interrupt handling with explicit enable/disable
- Context save/restore with selective register updates
- 512 I/O ports (Read Port / Write Port instructions)
- 16-bit character encoding (ASCII + 256 custom glyphs)
Planned I/O:
- ANSI-compatible console terminal (color text output)
- High-speed paper tape reader/punch (file I/O)
This is a learning/reference project—a complete ISA design from first
principles, targeting a Plan 9/Inferno-inspired cluster OS.
Updated 2026年06月27日 03:59:07 +02:00
An RPN based language that uses special variables for I/O and flow control (also random numbers)
Updated 2025年03月27日 00:25:22 +01:00