All Projects β†’ dankar β†’ Altair8800

dankar / Altair8800

Licence: mit

Labels

Projects that are alternatives of or similar to Altair8800

Cantact Hw
Hardware design files for the CANtact tool
Stars: ✭ 309 (+1526.32%)
Mutual labels:  kicad
Avem
🚁 θ½»ι‡ηΊ§ζ— δΊΊζœΊι£žζŽ§-[Drone]-[STM32]-[PID]-[BLDC]
Stars: ✭ 465 (+2347.37%)
Mutual labels:  kicad
Splitflap
DIY split-flap display
Stars: ✭ 670 (+3426.32%)
Mutual labels:  kicad
Kicad Color Schemes
Want to change the color scheme of KiCad? Look here for Inspiration.
Stars: ✭ 315 (+1557.89%)
Mutual labels:  kicad
Uconfig
Datasheet pinout extractor from PDF and library Stylizer for Kicad.
Stars: ✭ 374 (+1868.42%)
Mutual labels:  kicad
Altium2kicad
Altium to KiCad converter for PCB and schematics
Stars: ✭ 490 (+2478.95%)
Mutual labels:  kicad
Sparkfun Kicad Libraries
SparkFun's KiCad Libraries
Stars: ✭ 300 (+1478.95%)
Mutual labels:  kicad
Arduino scale
An Arduino bathroom scale with auto power-off using a 4-digit 7-segment display and the HX711 and MAX7219 chips.
Stars: ✭ 7 (-63.16%)
Mutual labels:  kicad
Pcbdraw
Convert your KiCAD board into a nice looking 2D drawing suitable for pinout diagrams
Stars: ✭ 426 (+2142.11%)
Mutual labels:  kicad
Haswitchplate
LCD touchscreen for Home Automation
Stars: ✭ 666 (+3405.26%)
Mutual labels:  kicad
Rf Tools Kicad
KiCAD RF tools: footprints wizard and round tracks, mask expander, via fencing
Stars: ✭ 321 (+1589.47%)
Mutual labels:  kicad
Awesome Electronics
A curated list of awesome resources for electronic engineers and hobbyists
Stars: ✭ 3,782 (+19805.26%)
Mutual labels:  kicad
Skidl
SKiDL is a module that extends Python with the ability to design electronic circuits.
Stars: ✭ 614 (+3131.58%)
Mutual labels:  kicad
Megadesk
Open-source IKEA Bekant controller board
Stars: ✭ 311 (+1536.84%)
Mutual labels:  kicad
Learn To Solder
Learn to Solder PCB Badge
Stars: ✭ 5 (-73.68%)
Mutual labels:  kicad
Kicost
Build cost spreadsheet for a KiCad project.
Stars: ✭ 305 (+1505.26%)
Mutual labels:  kicad
Espressif
all espressif stuff will committed here
Stars: ✭ 477 (+2410.53%)
Mutual labels:  kicad
Iso Port
Isolated USB Serial Interface
Stars: ✭ 16 (-15.79%)
Mutual labels:  kicad
M2 Electronics
Stars: ✭ 6 (-68.42%)
Mutual labels:  kicad
Gh60
GH60 - an open-source mechanical keyboard PCB designed for the community at geekhack.org
Stars: ✭ 638 (+3257.89%)
Mutual labels:  kicad

altair8800

What is this?

What started as a Intel 8080 emulator turned into a Altair 8800 emulator with associated hardware for a front panel.

Building

The build for Arduino Uno is the most up to date. It should work to run "./build" and then "make && upload" in the arduino folder to compile and program.

arduino-mk is used by the makefile.

The code will look for certain files on the SD card. "88dskrom.bin" is a disk bootloader which will be loaded to offset 0xff00 in memory. "disk1.bin" and "disk2.bin" will be used by the 88-DCDD emulator and will act as disk 1 and disk 2 respectively.

Completeness

Passes Kelly Smith test and cputest.com. Runs CP/M and all kinds of BASIC I could find. Altair DOS not working for some reason (complains about insufficient memory). Support for 88-DCDD. No tape or cassette.

There are probably still a few bugs that needs ironing out.

The performance is pretty poor. The emulator runs a couple of times slower than an original Altair 8800 which is a bit disappointing. It's of course also possible porting it to a faster MCU with more memory. Higher optimization levels will cause the code not to fit on an atmega328 but there are still code optimizations to be done. It is currently not possible to stop execution once started with the RUN/STOP switch. It's way too slow to check the front panel switches for each main loop.

Hardware

A front panel has been designed and is available as a KiCad project under the PCB folder. The front panel is basically a bunch of shift registers for input from the switches and output to the LEDs, as well as a 23LC1024 SPI SRAM chip for memory and a MicroSD reader. Everything is attached on the SPI bus to the Arduino.

Known bugs

The current hardware implementation has a bug in the MicroSD card holder-area. The pins are connected as they should be for a regular size SD card and not a MicroSD. If you want to use the panel with a MicroSD card you need to fix this.

Raspberry Pi

The current code in the repo now supports running on Raspberry Pi instead of Arduino. This means that the MicroSD slot is not necessary any more, as well as the SRAM chip. The code runs faster on a Raspberry Pi as well. I would recommend this route for anyone interested in their own panel.

Todo

  • Separate the Intel 8080 emulator and the Altair 8800 hardware emulation. E.g. make the port IO more abstract instead of Altair 8800 specific.
  • Optimizations
  • RUN/STOP switch enabled when running
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].