All Projects → wixette → 8800-simulator

wixette / 8800-simulator

Licence: Apache-2.0 license
A JavaScript simulator to demonstrate the front panel operations of Altair 8800.

Programming Languages

javascript
184084 projects - #8 most used programming language
HTML
75241 projects
CSS
56736 projects
assembly
5116 projects

Projects that are alternatives of or similar to 8800-simulator

Riscv vhdl
Portable RISC-V System-on-Chip implementation: RTL, debugger and simulators
Stars: ✭ 356 (+447.69%)
Mutual labels:  simulator, cpu
Forth Cpu
A Forth CPU and System on a Chip, based on the J1, written in VHDL
Stars: ✭ 244 (+275.38%)
Mutual labels:  simulator, cpu
Tenyr
Simple, orthogonal 32-bit computer architecture and environment
Stars: ✭ 24 (-63.08%)
Mutual labels:  simulator, cpu
Mipt Mips
Cycle-accurate pre-silicon simulator of RISC-V and MIPS CPUs
Stars: ✭ 250 (+284.62%)
Mutual labels:  simulator, cpu
Cpu60
Example of CPU simulation in software
Stars: ✭ 152 (+133.85%)
Mutual labels:  simulator, cpu
ARMStrong
A fast and simple ARM Simulator made for education based upon Unicorn and Keystone engines
Stars: ✭ 99 (+52.31%)
Mutual labels:  simulator, cpu
l1vm
L1VM - a tiny virtual machine with a 64 bit core
Stars: ✭ 112 (+72.31%)
Mutual labels:  cpu
coord-sim
Lightweight flow-level simulator for inter-node network and service coordination (e.g., in cloud/edge computing or NFV).
Stars: ✭ 33 (-49.23%)
Mutual labels:  simulator
taskbar-monitor
monitoring tool with graphs (CPU, memory, disk and network) for Windows taskbar.
Stars: ✭ 121 (+86.15%)
Mutual labels:  cpu
AltairX
New computer and new CPU PoC
Stars: ✭ 38 (-41.54%)
Mutual labels:  cpu
Physics
experimenting with physics simulation
Stars: ✭ 53 (-18.46%)
Mutual labels:  simulator
Python-2D-Simulation-of-Schrodinger-Equation
Une simulation de l'évolution d'un paquet d'onde gaussien
Stars: ✭ 39 (-40%)
Mutual labels:  simulator
ccpu
A 8-bit computer made of 74xx series logic gates and memory ICs.
Stars: ✭ 31 (-52.31%)
Mutual labels:  cpu
open-simulator
K8s cluster simulator for capacity planning
Stars: ✭ 158 (+143.08%)
Mutual labels:  simulator
device-simulator
基于netty的设备模拟器,模拟设备消息收发,压力测试。
Stars: ✭ 35 (-46.15%)
Mutual labels:  simulator
mir-cpuid
BetterC CPU Identification Routines
Stars: ✭ 25 (-61.54%)
Mutual labels:  cpu
FluentSimulator
A fluent syntax .NET REST/HTTP API simulator for automated unit and UI testing.
Stars: ✭ 23 (-64.62%)
Mutual labels:  simulator
mima
MIninmal MAchine Assembler and Simulator
Stars: ✭ 19 (-70.77%)
Mutual labels:  simulator
xefis
Qt-based EFIS and EICAS
Stars: ✭ 19 (-70.77%)
Mutual labels:  simulator
showdown-battle-bot
Socket Battle Bot for Pokemon Showdown (http://pokemonshowdown.com/)
Stars: ✭ 19 (-70.77%)
Mutual labels:  simulator

Altair 8800 simulator.

A JavaScript simulator to demonstrate the front panel operations of Altair 8800.

Usage

Simply open index.html in browser, or copy the entire dir to your web server's root dir.

The simulator UI supports English and Chinese for now. In a desktop browser, you may use mouse to toggle or click the switches on the panel directly.

There is a DEBUG tab where you can check the internal status of the simulated 8080 CPU, or the contents of the simulator's memory.

The simulator works fine with modern mobile browsers, except that it is a bit challenging to touch a single switch on the panel on a mobile screen. Although, the helper switch buttons below the panel can be used as an alternative solution.

A Quick Tutorial

With a running Altair 8800 simulator, how to input and run the following program to calculate 1 + 2 = 3:

        LDA 0080H  ; 00 111 010
                   ; 10 000 000
                   ; 00 000 000
        MOV B,A    ; 01 000 111
        LDA 0081H  ; 00 111 010
                   ; 10 000 001
                   ; 00 000 000
        ADD B      ; 10 000 000
        STA 0082H  ; 00 110 010
                   ; 10 000 010
                   ; 00 000 000
        JMP 0000H  ; 11 000 011
                   ; 00 000 000
                   ; 00 000 000
  1. Turn on Altair 8800 by clicking OFF/ON switch.
  2. Set switches A7-A0 to 00 111 010 (up for 1, down for 0).
  3. Click "DEPOSIT".
  4. Set switches A7-A0 to 10 000 000.
  5. Click "DEPOSIT NEXT".
  6. Repeat step 4-5 to input the following bytes one by one: 00 000 000, 01 000 111, 00 111 010, 10 000 001, 00 000 000, 10 000 000, 00 110 010, 10 000 010, 00 000 000, 11 000 011, 00 000 000, 00 000 000.
  7. Set switches A7-A0 to 10 000 000.
  8. Click "EXAMINE".
  9. Set switches A7-A0 to 00 000 001 (the first number to be added, or 1 in decimal).
  10. Click "DEPOSIT".
  11. Set switches A7-A0 to 00 000 010 (the second number to be added, or 2 in decimal).
  12. Click "DEPOSIT NEXT".
  13. Click "RESET".
  14. Click "RUN" and wait for a few seconds.
  15. Click "STOP".
  16. Set switches A7-A0 to 10 000 010 (the address that holds the sum).
  17. Click "EXAMINE".
  18. The LEDs D7-D0 show the result 00 000 011 (3 in decimal).
  19. Turn off Altair 8800.

References

Acknowledgements

I use https://github.com/maly/8080js to execute Intel 8080 instruments.

The Quick Tutoral in the simulator UI refers to an example program got from the original Altair 8800 Operator's Manual.

The interaction design took another Altair 8800 simulator as a reference.

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].