This is a clone of wixette's 8800-simulator repository. https://github.com/wixette/8800-simulator
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Yonggang Wang 4d339023da
Fix confusing Chinese term
1 year ago
asm collect tiny programs together to ease the test process 3 years ago
css hide debug tab and ref tab from the beginning 3 years ago
design compress the images 3 years ago
doc reference doc, vector design file, base lib and sample asm code. 3 years ago
js Fix confusing Chinese term 1 year ago
media add sound files 3 years ago
.gitignore update gitignore 3 years ago
LICENSE init commit 3 years ago
README.md Update README.md 3 years ago
index.html fix messages and translations 3 years ago
text-mode.html viewport instruction 3 years ago

README.md

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.