LICHTRENNER 64
A light race for the Commodore 64, against an AI that computes on the C64 itself.
Launching when Voyager 1 is one light day away.
18 November 2026 · 10:16:07 UTC
REACHED.
173.14 AU · 25.9 BILLION KM · 24 H 00 MIN
Voyager 1 is now one light-day from Earth. Beyond it lies the region where a ninth planet could be hiding. Fly out there yourself.
- Written for an unmodified C64, playable in your browser
- A neural network with 2-bit weights, trained on a GPU, computed by the C64's 6502
- Levels built from real orbital data of the solar system
Scale · 1 au = distance Earth–Sun
How far out is that?
The times show how long light from the Sun takes to get there. Planet Nine is a hypothesis: nobody has seen it yet. The hatched range shows where it could orbit according to Brown and Batygin (2021, 2024).
medas digital presents
LICHTRENNER 64 – the search for Planet Nine as a C64 game
**** LICHTRENNER 64 PREVIEW **** READY. LOAD"LICHTRENNER",8,1 SEARCHING FOR LICHTRENNER UNLOCKS IN --:--:--:-- 18 NOV 2026 10:16:07 UTC VOYAGER 1: ONE LIGHT-DAY FROM HOME
Swipe = steer, tap = fire. A gamepad works too.Cursor keys = steer, space = fire. A gamepad works too.
Game: LICHTRENNER 64 (medas digital), GPL-3.0. Emulator: vc64web (VirtualC64 by Dirk W. Hoffmann, WebAssembly version by mithrendal; GPL-3.0) with reSID (Dag Lem; GPL-2.0-or-later). System ROMs: MEGA65 Open ROMs (LGPL-3.0-or-later, some BASIC parts MIT) instead of the original ROMs. Libraries: jQuery, Bootstrap, JSZip, virtualjoystick.js (MIT). Licences · Source archives
The levels lead outward from Earth: past Jupiter and Neptune, through the heliopause, on to Sedna and beyond. Between races the game shows the real orbits of the distant objects the hypothesis rests on.
Real: the names, orbits and distances (JPL Horizons). Game: the race tracks and obstacles. There is no found planet at the finish. The search goes on.
What runs on the C64
- built for an unmodified Commodore 64 (1982): 1 MHz, 64 KB
- a neural network: 60 inputs → 32 hidden units → 3 outputs (left, straight on, right)
- 2,016 weights of 2 bits each; the weight file is 818 bytes
- trained on a graphics card, computed by the C64's own 6502: about 9 ms per decision (measured in the simulator)
- the C64 program and its Python twin play the same game, move for move
Why a C64?
The C64 came out in 1982, in the middle of the Voyager journey.
- 1977 Voyager 1 and 2 launch
- 1979 Jupiter
- 1980/81 Saturn
- 1982 Commodore 64
- 1986 Uranus (Voyager 2)
- 1989 Neptune (Voyager 2)
- 1990 Pale Blue Dot (Voyager 1)
| Voyager (per spacecraft) | Commodore 64 | |
|---|---|---|
| Computers | 6: three dual-redundant systems for commands, attitude control and data | 1: MOS 6510 |
| Memory | commands and attitude control: 4,096 words of 18 bits each (about 9 KB), plated wire · data: 16-bit words, CMOS | 64 KB RAM, 20 KB ROM |
| Speed | commands: 88 µs per instruction on average · attitude control: clock about ¾ MHz · data: 80,000 instructions per second | 0.985 MHz (PAL) |
| Data storage | digital tape recorder, up to 500 million bits | Datasette; 1541 floppy drive, 170 KB per disk side |
| Sound | none on board – but a gold-plated record with sounds, music and greetings in 55 languages | SID chip, 3 voices |
The C64's 64 KB of RAM are more than the memory documented for Voyager's command and attitude computers together (4 × about 9 KB). The AI in the game needs 818 bytes for its complete set of weights.
The C64 has 64 KB of memory and a 1 MHz processor, and you can understand every byte of it. That is why we chose it: if a neural network fits in there, nothing about it is hidden. You can read the code, replay every game and check the result yourself.
Sources: NASA History (Tomayko, Computers in Spaceflight, ch. 5.6 and 6.2); NASA Science (mission dates, Golden Record); NASA Planetary Data System (tape recorder); C64-Wiki.
How this game was made
My first C64 arrived on Christmas 1984. I spent countless hours at it, alone and with friends: we played games, typed in listings from magazines and in the end wrote our own programs to understand the technology behind them.
Astronomy has fascinated me since childhood. In my spare time I observe the sky from my own small observatory, always looking for something new to learn. When I heard about the hypothesis of a ninth planet, I wondered whether and how one could contribute to the search. The actual search does not happen in the game: we recompute orbits based on published scientific models – how a hypothetical ninth planet would shape the orbits of distant objects over billions of years.
LICHTRENNER 64 is a tribute and a technology demonstration that brings all of this together. Above all, it should grip you and bring back the feeling of those days. It was made possible by AI; the aim: use today's AI to get everything out of the C64. An AI assistant (Claude) helped with the code, the music, the graphics and the training of the opponent; every step was designed, decided and checked by us. The opponent itself is a small neural network that runs on the C64. All data in the game, from Voyager to the pulsars, is real and credited. Behind medas digital is a small team that makes projects like this possible. And perhaps AI is to our time what electricity was to our grandparents'.
Listen to Voyager
In March 1979, as it flew past Jupiter, Voyager 1 measured electric oscillations in the plasma – not sound waves, but voltages on its antenna. The picture shows the measurements from 4 to 6 March 1979 in time order, with data gaps closed: frequency upwards to 12 kHz, time to the right, bright colours mean more power. What you hear is the C64's sound chip: the measured values steer pitch, filter and noise – three days in 60 seconds. Closest approach to Jupiter (5 March, 12:05 UTC) comes at about 35 seconds; the motif at the end is composed.
Recorded in a SID emulation (MOS 6581) from the same register data the game plays.
You can also hear it in the preview, during the approach to Jupiter and at the Great Red Spot.
How does it work?
- Measurement. The waveform receiver of the plasma wave instrument records the electric field of waves in the plasma around the probe – not sound. It takes 28,800 samples per second at 4 bits, in recordings of 1,600 samples (55.6 ms) every 60 ms, between 40 Hz and 12 kHz.
- Data. Dataset VG1_PWS_H0 at NASA's Space Physics Data Facility (SPDF). Sound and picture cover 4 March 1979, 00:15:11 UTC, to 6 March 1979, 23:57:47 UTC: 1,273,415 waveform recordings in 2,001 of the 4,303 minutes, the rest are gaps. Closest approach to Jupiter: 5 March 1979, 12:05:26 UTC, at 4.89 Jupiter radii – at about 34.7 s in the sound.
- Analysis. Every 8th recording, skipping very quiet ones; one spectrum per recording (Fourier analysis with a Hann window), band 40 Hz – 12 kHz, the line at 2.4 kHz and its harmonics removed. In time order the recordings are split into 600 sections of equal size, with the median per section. This gives three measures: centroid frequency, RMS of the raw values and spectral flatness.
- Time-lapse. Three days in 60 seconds, evenly over the recordings, not over clock time: on average about 72 minutes per second, less in dense stretches; data gaps are closed up, so the sound jumps over them.
- Mapping to the SID. The centroid frequency sets the pitch of voice 1 (triangle, ring-modulated by voice 3) between E2 and E4 (82–330 Hz) and, in voice 2, the noise colour (0–18 s) and the sync overtones (18–43 s). The RMS sets the cutoff of the low-pass filter on the 55 Hz drone of voice 3. The spectral flatness switches the noise bursts of voice 2 (0–18 s). The register data (12,510 writes, 50 frames per second) are played in reSIDfp, MOS 6581, at the PAL clock.
- What is composed. Our decisions, not measurement: the SID as the sound source; voices, waveforms, ring modulation, sync and envelopes; the root note E3 and the ranges; the split into noise bursts (0–18 s) and sync overtones (18–43 s); the drone at 55 Hz; the motif A4 → E5 from 47 s; the time-lapse; smoothing, fade-in and fade-out, loudness. The RMS only steers the filter, not the loudness.
- The picture. Every 25th recording (50,964), in time order, spread evenly over 160 columns, data gaps closed up, so clock time does not run evenly; frequency upwards, linear, 0–12 kHz in 160 rows. Colours show the power of the raw values on a logarithmic scale, uncalibrated: black, blue, purple, red, orange, yellow, white are increasingly stronger, in-between steps dithered in the C64 palette. Horizontal lines at 2.4 kHz (throughout) and 4.8 kHz (later) are interference lines.
Same data, full resolution - Script. tools/voyager60.py in the LICHTRENNER 64 project (GPL-3.0) computes the curves, the register data, the sound and the pictures, one command per step. The register data are reproducible (same SHA-256 on every run); the SID emulation is not bit-identical from run to run (inaudibly), so the audio files document this one recording.
- Limits. The dataset is marked “pre-release data, peer review pending, may include errors”. For 10 hours of the period no data file is available (4 March 15 h; 5 March 16–19 h; 6 March 13, 14, 17, 20, 21 h); whether SPDF has them is open. There is no absolute calibration (the automatic gain was not transmitted); relative spectra are valid. Which kinds of waves the individual structures are has not been assigned, and the cause of the lines at 2.4 and 4.8 kHz is open.
Data: NASA/GSFC SPDF, Voyager PWS Team (University of Iowa) · dataset VG1_PWS_H0
The chain behind it
medasdigital-2: proof of what was decided, and when
medas digital runs its own public blockchain. Its notary lets researchers commit to a plan before the data exist. Only a fingerprint of the document goes on chain. The document is revealed later, and anyone can check that not a single character was changed.
- Chain ID
- medasdigital-2
- Built with
- Cosmos SDK
- Notary
- medas1ghd753shjuwexxywmgs4xz7x2q732vcnkm6h2pyv9s6ah3hylvrqejyaze
Planned: a world high-score list for LICHTRENNER 64, where every run is replayed and verified before it counts.
Planned: a registry for computers that want to join the search with their own computing power.
| # | Entry | Block | UTC |
|---|---|---|---|
| 2 | Pre-registration | 10,694,917 | 02 Nov 12:08 |
| 3 | Criteria, equivalence test | 10,694,977 | 02 Nov 12:14 |
| 4 | Criteria, main run | 10,723,643 | 04 Nov 09:31 |
| 5 | Addendum | 10,728,476 | 04 Nov 17:06 |
| 6 | Criteria, paired tests | 10,814,015 | 10 Nov 07:18 |
| 7 | Results | 10,829,443 | 11 Nov 07:30 |
| 8 | Game concept and AI on the C64 | 10,880,174 | 14 Nov 15:03 |
Sealed until 24 November. The six entries of the Planet Nine campaign, #2 to #7. Their block times are public today, their contents follow with the result.
Sealed. Entry #8 belongs to LICHTRENNER 64. Its block time is public, its content is not yet.
Coming next
We re-ran the Planet Nine calculation.
Four billion years of the outer solar system, simulated on a graphics card. What we test and how we evaluate it was fixed before the data existed, and timestamped on medasdigital-2.
Research note, data package with DOI, public repository and the revealed entries of the notary.
Why you can check us
We build things you can check.
- Fixed beforehand
Criteria and evaluation were fixed before anything was computed. Six entries on the chain prove when.
- Reproducible
Same input, same result, bit for bit. Program, start values and data will be published.
- With limits
We say what the calculation shows and what it does not. Whether Planet Nine exists is for observations to decide.