All Intel 8080 instructions are emulated except: DAA,
DI, EI, RST
The remaining switches (check boxes) function as follows:
Stop - Stops an executing program
Run - Executes the program beginning at the last memory address examined
Single Step - Executes a single instruction at the currently examined memory address
Slow - While held down, slowly executes one instruction at a time
Examine - Examines the memory address set in the address switches
Ex Next - Examines the next memory address
Deposit - Deposits (writes) the data in address switches A0 to A7 into the currently examined memory address
Dep Next - Deposits (writes) the data in address switches A0 to A7 into the next memory address
Reset - Examines memory address zero
Ext Clr - Clears (resets to default) external input ports (Not Implemented)
Protect - Makes memory read only (button background color red)
Unprotect - Makes memory read/write
Display (Accumulator) - When in Stop mode, displays the contents of the A register in the Data LEDs
Load (Accumulator) - Loads the A register with the value set in the sense switches
Input - Inputs to the A register from input port designated by sense switches
Output - Outputs the A register to the output port designated by sense switches
Display Status - When in Stop mode, displays the 8080 Processor Status Word (PSW) from left to right: Sign Zero 0 Aux Carry 0 Parity 1 Carry
Memory size is 216 (65,536) memory addresses
The "Run" speed is set using the "Clock Cycle" drop down. The default is approximately 50 ms per instruction, slow enough to enjoy the LED light display. The other options are 25 ms and "Full Speed", the latter being much faster than the original Altair. The LED light display is not quite as good at full speed due to the high flicker rate.
In the full page version (Front Panel 8080 Emulator), there are two text areas below the Front Panel 8080:
The first, bordered in red, is a "Really Dumb Terminal" emulator that can be used to provide a keyboard-screen capability. It is loosely modeled after serial "dumb terminals" such as the ADM-3a only much dumber, thus the name. Consult the documentation and sample echo program in the side panel for more information.
The second text area, the Code Window, is bordered in green and can be used to save/load programs in Intel Hex format. To load an Intel Hex file into memory, copy and paste it into the Code Window. Be sure to delete any other code or text before pasting. Click the "Load Hex" button and the Intel Hex file will be loaded into memory. Click "Reset" and "Run" to see the program execute. The "Dump Hex" function prints in the Code Window fixed amounts of memory in Intel Hex format. The beginning address zero is always 0. The default size is 256 bytes, which means that the first 256 bytes of memory are dumped in Intel Hex. Use the dropdown box to select the larger amounts. Copy and paste the dumped code into a text processor like Notepad and save it for later reloading.
A test program in Intel Hex format can be found in the Code section of the side pane. Save the "MUL_BY_10.TXT" file on your PC. Open it with Notepad, copy the text, and paste it into the Code Window. Click the "Load Hex" button then Reset and Run. The program continuously reads the sense switches, multiplies the read value by 10, and outputs the result to the data LEDs. Of course, the input and output values are in binary, so conversion to decimal will have to be done.
Load the Tiny BASIC Intel Hex file the same way except, before clicking Run, change "Clock Cycle" to "Full Speed". The sign-on message should appear with the prompt ">".
When Tiny BASIC is running, click the "LOAD ASCII" at a line prompt to load a Tiny BASIC program previously saved by copying and pasting text from a LIST command in a "txt" file. Notepad is handy for this step. Always execute a "CLEAR" command to erase any existing BASIC program before using "LOAD ASCII".
For More Information or to report problems, contact:
Dick Whipple at [email protected]