Hjalfi writes an assembler and emulator for a spaceship
Channel: Poking Technology
Date: 03/07/2021

In whch yr hmbl svt implements from scratch the most important part of any spacecraft, the computer.

Here, I write an assembler (using my Cowgol toolchain, because) and emulator (in portable C) for the OBP, the On Board Processor used by many NASA spacecraft including the OAO-3 Copernicus observatory (1972-1981). It's the direct descendent of the AOP, used among others on some Landsat vehicles, and which is in turn the direct descendent of the NSSC-1, the NASA Standard Spaceflight Computer, used among others on the Hubble Space Telescope. It's a startlingly modern-looking two's-complement 18-bit-word machine with hardware multiplication and divide, DMA, real-time interrupt support, simple memory protection, and addressing ability of up to 64 kilowords of memory.

You can find the simulator on Github here: https://github.com/davidgiven/cowgol/tree/master/tools/obpemu More instructions are in the README there.

The blog post about this, with lots of information about the CPU ISA, is here: http://cowlark.com/2021-07-03-obp-simulator

00:00:00 Introduction
00:05:19 Day 1: starting the assembler
01:20:07 Day 1: starting the simulator
03:27:26 Day 2
07:06:39 Day 3