Monotron - a 1980s style home computer written in Rust
summary
A home‑computer prototype called Monotron runs its ROM in Embedded Rust on an 80 MHz Cortex M4 devboard, uses three SPI peripherals to bit‑bang RGB VGA so a 40 MHz pixel clock fits into the MCU, and squeezes a textmode renderer into ~32 KB RAM by using font bitmaps and unsafe pointer math; PS/2 keyboard handling, FAT SD card access and a 3‑channel wavetable synth run too, RGB timing is fixed with carefully placed NOPs/inline assembly, and the system demonstrably boots, shows slides and plays a Snake game from SD.
AI-written summary · about
chapters (43)
- 0:00Introduction
- 0:58What are we doing
- 1:28Embedded Rust
- 6:21Rust 2018
- 9:38Libcore
- 10:20UART
- 21:11Hardware abstraction
- 22:35Embedded how
- 24:25Linux
- 25:44Monotron
- 26:27There is art
- 27:00Baby shoes never worn
- 27:26Its not easy
- 27:57Random example
- 28:33SDMF7 discovery
- 28:53Board
- 29:43Video
- 31:31VGA Timing
- 32:33Pixel Clock
- 33:15Black and White
- 34:10Color
- 35:05Textmode
- 35:42Unicode
- 39:29Iterators
- 41:22SPI peripherals
- 43:49PowerPoint
- 44:38Keyboard
- 45:25Serial
- 45:57Command line
- 47:27PS2 keyboards
- 47:56Data signals
- 48:28Scan codes
- 49:03Clock rate
- 49:32Joysticks
- 50:46ROM
- 52:05Interface
- 53:32Vertical Blanking Interval
- 54:15Missing Key
- 55:35Buttons
- 56:15Audio
- 57:02Wavetable
- 58:00Disks
- 58:57SD Cards
related talks
30mMonotron: Making a 80s style computer with a $20 dev kit
01h 34mNeotron - Writing a Single-Tasking ‘DOS’ for Arm Microcontrollers, in Rust
01h 01mNeotron - why write a brand new ‘DOS’ for Arm in Rust?
26mOh Boy! Creating a Game Boy Emulator in Rust
38mIntermezzos
23m"Six Clock Cycle per Pixel - Graphics on the Neotron Pico"
31mthrowing your project in the bin and starting again
47mWriting a Nintendo 64 emulator in Rust
