code · Getting Started
10 PRINT on the Apple II
Bringing 10PRINT to the Apple II with Applesoft BASIC and Lo-Res graphics, exploring both text-mode and graphical approaches to this iconic one-liner.
code · Getting Started
Sorting Algorithms Visualized on the Commodore 64
Visualizing sorting algorithms in real-time on the Commodore 64 using PETSCII characters. Three classic algorithms rendered as animated bar charts in …
code · Getting Started
Three Maze Generators on the Commodore 64
Exploring three different maze generation algorithms on the Commodore 64: Depth-First Search, Randomized Prim’s, and the classic 1981 algorithm …
code · Getting Started
The Best Book Cover of All Time
Celebrating the gloriously absurd cover of ‘FORTH on the Atari’—possibly the greatest unintentionally funny book cover ever created.
code · Getting Started
10 PRINT for the KIM-1
Implementing 10PRINT on a KIM-1 clone (PAL-II) in both Microsoft BASIC and 6502 assembly, displaying the maze on the 7-segment LED display.
code · Getting Started
10PRINT and 100 Doors on the PicoCalc from Clockwork Pi
Running 10PRINT and 100 Doors on the Clockwork Pi PicoCalc, a retro-inspired Raspberry Pi Pico handheld running PicoMite BASIC.
code · Getting Started
PICO-8 100 Doors Problem
A visual exploration of the classic 100 Doors programming problem implemented in PICO-8, featuring animated circles that show the door-toggling …
code · Getting Started
10 Print on PICO-8
Continuing the exploration of 10PRINT, we look at how to implement the 10 Print algorithm on the Pico-8 platform.
code · Getting Started
Dragon Curves
We draw some dragon curves with Logo on the Commodore 64 inspired by Jurassic Park
code · Getting Started
10 PRINT in Rust vs C
A head-to-head performance comparison of the classic 10PRINT maze algorithm implemented in Rust and C, with benchmarks measuring millions of …
code · Getting Started
wAx the VIC-20
Exploring wAx, a native assembler for the VIC-20 that integrates with BASIC. Includes examples implementing 10PRINT and Fibonacci in assembly directly …
code · Getting Started
10 PRINT on the HP-42s
Implementing the classic 10PRINT maze algorithm on the HP-42s calculator using RPN programming. Works on SwissMicros DM42 and Free42 emulators too.
code · Commodore
The McNuggets Problem
Solving the classic McNuggets Problem in Commodore BASIC: what’s the largest number of nuggets you can’t buy with 6, 9, and 20 packs?
C64 · code
Back to the basics with BASIC (and Python): Binary Search
Why your algorithm choice matters: comparing linear search O(n) vs binary search O(log n) with implementations in Commodore BASIC and Python.
C64 · code
Machine Language: Count Faster on 6502
Optimizing a simple counting loop on the 6502, progressing from slow BASIC to increasingly faster assembly implementations. A practical guide to 6502 …
C64 · code
Visualize and verify the reverse engineered Commodore 64 SID LFSR
Building and verifying the Commodore 64 SID chip’s 23-bit LFSR in hardware on a breadboard and comparing the output against the actual SID chip.
C64 · code
A Gentle Introduction to LFSRs
An introduction to Linear Feedback Shift Registers: how they work, building one on a breadboard with shift registers and XOR gates, and implementing …
C64 · code
Quick Post: Printing binary numbers in Commodore BASIC 2.0
Commodore BASIC 2.0 A lot of fun with binary numbers can be had by printing them to the screen. This is a quick post to show how to do that with …
PET · code
10 Print on the TI-92
Implementing 10PRINT on the TI-92 calculator using TI-BASIC. Also covers Python versions on the Numworks and TI-nspire calculators.
C64 · code
A gentle introduction to two's complement
Understanding two’s complement: how computers represent negative numbers, why it simplifies hardware design, and how to work with signed …
C64 · code
N-Queens problem
Solving the classic N-Queens puzzle using backtracking. Covers both iterative and recursive approaches with implementations on the Commodore 64.
C64 · code
Rail Fence Cipher on Commoodore 64 and TI 99/4A
Implementing the Rail Fence Cipher on the Commodore 64 and TI 99/4A. A fun transposition cipher for secret messages with kids.
AIM-65 · code
10 PRINT on the Rockwell AIM 65
Rockwell International was a powerhouse of the 1970s and 80s.
The Rockwell AIM 65 computer, also known as the Advanced Interactive Microcomputer 65, …
C64 · code
Building a software serial bridge
Modern and retro mix One of my favorite peices of retro clone hardware is Bob Corsham’s KIM-1 Clone. I’ve featured it many places like the …
C64 · code
Blinkenlights
Driving LEDs from the VIC-20 and KIM-1 USR ports. Binary counting in the real world with vintage hardware.
C64 · code
40 years on, this is still the best maze algorithm
Exploring the elegant maze generator from Compute! magazine (December 1981). A line-by-line breakdown of how this classic BASIC algorithm works.
C64 · code
Validating Pilish
Writing code to validate Pilish text—prose where word lengths match the digits of Pi. Implementations in Julia and Commodore BASIC.
C64 · code
My mostly retro writing platform contenders in National Novel Writing Month for 2022 NaNoWriMo
Evaluating vintage computers for NaNoWriMo 2022: VIC-20, Plus/4, Commodore 64, and PET. Word processing on 8-bit machines with SpeedScript and other …
code · Commodore
MOS paper tape format
Understanding the MOS paper tape format used by the KIM-1 and other 6502 systems. Breaking down the hex format line by line with checksum …
C64 · code
64 Bit Addition and Products on Commodore: The Wheat and Chessboard problem
Implementing 64-bit arithmetic in 6502 assembly to solve the wheat and chessboard problem. Handling numbers too large for standard calculators on …
C64 · code
Can you do Advent of Code on 8-Bit Machines?
Attempting the annual Advent of Code challenge on vintage 8-bit computers. Completing about 60% of puzzles on Commodore hardware.
Atari · code
A week of diving a little deeper into my Atari 800XL
A week exploring the Atari 800XL from a Commodore guy’s perspective. Comparing BASIC implementations and discovering the platform’s …
C64 · Commodore
The retro pinout project
Documenting oscilloscope readings from working vintage computer chips to help diagnose faulty machines. A collaborative troubleshooting resource.
C64 · code
Quick Post: Slow text on the Commodore
How to display text character by character with delays in 6502 assembly using Turbo Macro Pro. A quick tip for a 12-year-old learning assembly.
C64 · Commodore
Getting started with Native Commodore 64 Assembly
A beginner’s guide to learning 6502 assembly programming on the Commodore 64, including recommended tools, resources, and development …
C64 · retro
Did you do that on real hardware?
A defense of using modern conveniences like LCD monitors, SD2IEC devices, and flash cartridges with vintage computers, explaining the practical …
C64 · Commodore
Why does there have to be a why?
Reflections on getting back into 8-bit computing after building Ben Eater’s breadboard 6502, and why learning vintage assembly language …