logo
Kurashizu Blogwhere ideas flow
  • Home
  • News
  • Blog
  • About
  • Home
  • News
  • Blog
  • About

© 2026 Kurashizu. All rights reserved.

Admin·New Post·Service Status
Powered by Cloudflare·05.11.26
← Back to news

Voyager 1 FDS Computer Emulator

Original article
zaneham.github.io|50 points|10 comments|by rahen|Aug 8, 2026

Voyager 1 FDS Computer Emulator

This project provides a functional emulation of the Flight Data Subsystem (FDS) used aboard the Mariner Jupiter-Saturn '77 (Voyager) spacecraft.

🌌 Current Mission Status: Voyager 1

The probe is currently traversing the interstellar medium at a staggering distance:

  • Distance: 24,596,234,112 km24,596,234,112 \text{ km}24,596,234,112 km
  • One-way Signal Latency: ≈22h 51m\approx 22\text{h } 51\text{m}≈22h 51m

🛠️ Emulator Interface & Controls

The emulator allows users to interact with the FDS assembly through a virtual console.

Execution Controls: ▶ RUN | ⏭ STEP | ⟲ RESET

Available Demo Programs:

  • Countdown from 10
  • Add Two Numbers
  • Multiply (via Repeated Addition)
  • Memory Banking Demonstration

🖥️ System State

RegisterValueDescription
RA0000Accumulator
RB0000Auxiliary Register
PC0000Program Counter
Cycles0Total clock cycles elapsed

Status Flags: ZERO | OVFL | CARRY | BANK

Memory View: 000: 0000 0000 0000 0000


⚙️ Technical Architecture

The FDS is a relic of 1970s engineering, possessing capabilities that are blazing fast glacial by today's computing standards.

FeatureSpecification
Clock Speed806.4 kHz806.4 \text{ kHz}806.4 kHz (≈400,000 IPS\approx 400,000 \text{ IPS}≈400,000 IPS)
Cycle Time2.48 \mus2.48 \text{ \mu s}2.48 \mus
Memory8K×16-bit8\text{K} \times 16\text{-bit}8K×16-bit CMOS RAM (Split into two 4K4\text{K}4K banks)
RegistersRA, RB, 128128128 Working registers, and special-purpose registers
I/OSerial: 32-bit32\text{-bit}32-bit input / 16-bit16\text{-bit}16-bit output
Interrupts2.5 ms2.5\text{ ms}2.5 ms periodic intervals for error recovery
Word Format16-bit16\text{-bit}16-bit total (12-bit12\text{-bit}12-bit address / 4-bit4\text{-bit}4-bit opcode)

Data Flow & DMA

The system utilizes 4 Direct Memory Access (DMA) channels operating at 115.2 kbps115.2\text{ kbps}115.2 kbps to handle instrument data.


📜 Instruction Set

The FDS utilizes a concise set of operations to manage spacecraft telemetry and commands.

; FDS Opcode Reference
MLD  ; Load memory value into RA
MRD  ; Store RA value into memory
ADD  ; RA = RA + memory
SUB  ; RA = RA - memory
AND  ; RA = RA & memory
JMP  ; Jump to address
SKZ  ; Skip next instruction if zero
SKP  ; Skip next instruction if positive
WAT  ; Halt execution
DW   ; Define word (data)

FDS Assembly Diagram


📚 Archival Sources

The emulator's logic is based on original JPL documentation spanning 1974-1977. These historical records have been meticulously preserved by the Wichita State University Special Collections.