`monotron`
FreeA 1980s home-computer style application for the Texas Instruments Stellaris Launchpad. PS/2 keyboard input, text output on a bit-bashed 800x600 VGA signal. Uses [menu], [vga-framebuffer] and [pc-keyboard].
About `monotron`
Monotron is a simple 1980s home computer style application written in pure Rust for the Texas Instruments Tiva-C Launchpad (TM4C123 microcontroller). It generates an 800x600 8-color VGA video signal using bit-banged SPI peripherals, supports PS/2 keyboard input, and provides a command-line interface. The application offers two display modes: a 48x36 character text mode with MS-DOS Code Page 850 font and Teletext block graphics (sixels), and a full 384x288 bitmap graphics mode. It includes 8-bit mono audio output with a 3-channel, 4-waveform synthesizer, USB serial I/O, an Atari 9-pin joystick interface, I2C expansion, and loadable apps from Flash ROM. Additional hardware can enable a battery-backed real-time clock, parallel printer port, MIDI in/out/through, PS/2 mouse, and RS-232 serial port. The project is now archived; development has moved to the Neotron family of ARM-based Rust home computers.
Key Features
Pros & Cons
- Open source and written in pure Rust
- Runs on inexpensive Tiva-C Launchpad hardware
- Multiple video and audio output capabilities from a small microcontroller
- Extensive peripheral support (keyboard, mouse, joystick, MIDI, serial, parallel)
- Dual display modes (text and graphics)
- Good documentation and community interest (192 GitHub stars)
- Archived and no longer maintained; development moved to Neotron platform
- Requires additional hardware for many features (RTC, printer port, MIDI, RS-232)
- Limited memory (32 KiB SRAM, 256 KiB flash)
- VGA output is half-resolution horizontally (400x600)
- Only supports 8 colors
- 8-bit mono audio with simple synthesis