Skip to main content

Introduction

Introduction

The goal of the cloud-connected Altair project is to provide a unique blend of computing history with modern cloud computing. You'll learn about computing fundamentals, software development, and modern IoT, Data, and AI cloud services that address today's real-world IT challenges.

The Altair 8800 kick-started the personal computer revolution. Microsoft's first product was Altair BASIC written for the Altair 8800 by Bill Gates and Paul Allen. At the time, Altair BASIC was a huge step forward as it allowed people to write programs using a high-level programming language.

Retro computing with Dave Glover and the Altair 8800

The Altair project can be viewed through three lenses:

  1. Learn how to develop multithreaded event-driven IoT C applications that scale from microcontrollers, to Raspberry Pis, to desktop-class computers.
  2. A fantastic safe way to explore machine-level programming, Intel 8080 Assembly programming, along with C and BASIC development.
  3. You are interested in retro gaming, and you want to chill playing retro games from yesteryear.
  4. Optionally, the project integrates free weather and pollution cloud services from Open Weather Map, along with Azure IoT Central, and Azure Anomaly Detection Cognitive Service. The following reports were generated from data published by the Altair emulator using data sourced from Open Weather Map.
IoT Central Sydney pollution reportAzure Anomaly Detection report
The images shows pollution report for SydneyThe following images shows temperature based anomalies

Running the Altair

The Altair emulator runs on desktop and device operating systems. The source code is the same, but on devices there are some extended experiences.

Supported operating systems

The fastest and easiest way to run the Altair emulator is on your computer with Docker on Linux, macOS, Windows, ChromeOS, and Raspberry Pi OS.

The Altair emulator can also be compiled to run on POSIX compatible operating systems including, Linux, ChromeOS, Windows with WSL 2, macOS on Apple Silicon and Intel.

Supported devices

The more interesting way to run the Altair emulator is on a device, the Altair emulator has been tested on the following devices:

  1. Raspberry Pi, models, Zero 1 & 2, 2B, 3B, 3B, and 4 running Raspberry Pi OS.
  2. Azure Sphere Avnet and Seeed Developer Kits running embedded Linux.

Raspberry Pi with the optional Pi Sense HAT

If you pair a Raspberry Pi with a Pi Sense HAT, the Altair address and data bus activity is displayed on the 8x8 LED panel.

Raspberry Pi with Pi Sense HATRaspberry Pi Sense HAT
The image shows the address and data bus LEDsThe gif shows the address and data bus LEDs in action

Azure Sphere with optional Altair front panel kit

The Altair emulator is supported on Azure Sphere devices from Avnet and Seeed Studio. If an Azure Sphere device is paired with the Altair front panel kit or the Mikroe Altair Retro Click, the Altair address and data bus activity is displayed.

Azure Sphere with the Altair front panel kitMikroE Retro Click
The gif shows the Altair on Azure Sphere with the Altair front panelThe gif shows the address and data bus LEDs in action

Altair history

The image shows the Altair 8800

Altair 8800 image attribution - Smithsonian Museum

The Altair 8800 was built on the Intel 8080 CPU, the second 8-bit microprocessor manufactured by Intel in 1974. By today's standards, it's a simple CPU design, perfect for learning computing fundamentals because of its small instruction set.

The original Altair 8800 was programmed by setting switches on the front panel. It was a painstaking, error-prone process to load and run a program. The Altair 8800 had a series of LEDs and switches that you used to load apps and determine the state of the Altair.

You could save and load applications from a paper tape reader connected to the Altair 8800. As the Altair 8800 grew in popularity, more options became available. You could attach a keyboard, a computer monitor, and finally disk drives, a more reliable way to save and load applications.