Vintage Computer Hardware 101 Featuring the MITS Altair

  • Slides: 19
Download presentation
Vintage Computer Hardware 101 Featuring the MITS Altair 680 b Bill Degnan

Vintage Computer Hardware 101 Featuring the MITS Altair 680 b Bill Degnan

MITS Altair 680 b Introduced - 1976 6800 microprocessor 500 Khz (. 5 Mhz)

MITS Altair 680 b Introduced - 1976 6800 microprocessor 500 Khz (. 5 Mhz) clock speed 1, 024 bytes of RAM memory (1 K) 256 byte PROM monitor (ACIA) 11" x 5" (small)

Altair 680 b Motherboard Copy

Altair 680 b Motherboard Copy

Altair 680 b Motherboard Copy

Altair 680 b Motherboard Copy

Binary and Hexidecimal Review Dec Binary 0 1 2 3 4 5 6 7

Binary and Hexidecimal Review Dec Binary 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 Hexidecimal 0 1 2 3 4 5 6 7 8 9 A B C D E F

The Front Panel Switches • • Used to load information into the microcomputer memory

The Front Panel Switches • • Used to load information into the microcomputer memory Examine the contents of the microcomputer's memory Control microcomputer operations 1 address lamp = 1 bit of memory address Switch up = "1" = "on" / Switch down = "0" = "off“ Altair 680 b has 16 address bits and 8 data bits Control Switches Reset - (re) initialize the system Halt/Run - Halt - stops MPU activity, allows data addressing and input Run - Fetch the instruction in the program counter and activate/continue Used to enter data into a specific address Dep -

Operating the Front Panel When the "AC" light is on - you have power

Operating the Front Panel When the "AC" light is on - you have power (unless the AC LED is bad) The ADDRESS and DATA lights are in HEX Each address is made up of 4 HEX numbers (A 0 through A 15) Each byte of data is made up of 2 HEX numbers (D 0 through D 7)

Operating the Front Panel Example: Address F 0 C 2 » » A 15

Operating the Front Panel Example: Address F 0 C 2 » » A 15 = on (up) A 14 = on (up) A 13 = on (up) A 12 = on (up) » » A 11 = off (down) A 10 = off (down) A 9 = off (down) A 8 = off (down) » » A 7 = on (up) A 6 = on (up) A 5 = off (down) A 4 = off (down) » » A 3 = off (down) A 2 = off (down) A 1 = on (up) A 0 = off (down) = BINARY 1111 = BINARY 0000 = BINARY 1100 = BINARY 0010

Changing Contents of a Data Location 1. Halt 2. Position the address switches to

Changing Contents of a Data Location 1. Halt 2. Position the address switches to the appropriate HEX address 3. Position the data switches to the desired HEX data value 4. Flick the DEP (deposit) switch to store. 5. Reset (re-starts program counter) 6. Run

ROM section of mother board, ACIA Copy

ROM section of mother board, ACIA Copy

How to Interpret Machine Language from Program Listing Column 1 = program line number

How to Interpret Machine Language from Program Listing Column 1 = program line number Column 2 = memory address in HEX Column 3 = data value in memory address from column 2 Column 4 = operands. Data values in Next memory addresses, following column 2 "starting" address Column 5+ = Assembly Language and comments (not needed for front panel operations) Example: Line from program listing: 00044 FF 08 F 4 F 001 HEX address FF 08 data byte should be set to F 4 HEX address FF 09 data byte should be set to F 0 HEX address FF 0 A data byte should be set to 01

How to Test Machine Language from Program Listing Using Toggle Switches 1. Halt 2.

How to Test Machine Language from Program Listing Using Toggle Switches 1. Halt 2. Position the address switches to desired HEX memory location matching the program code listing 3. The data lights should display what is currently stored with the address

ACIA = Asynchronous Communications Interface Adapter ". . data formatting and control to interface

ACIA = Asynchronous Communications Interface Adapter ". . data formatting and control to interface serial asynchronous data communications information to bus organized systems. . " such as the Altair 680 b 6800 processor. - Examine or change the contents of a memory location - Load paper tape into memory - Start a program at a selected address - Debugging. . . But most important - No more toggle switching! Saves Time.

Using ACIA Monitor from a Terminal 1. Set the address switches to FF 02

Using ACIA Monitor from a Terminal 1. Set the address switches to FF 02 2. Turn on the Altair 680 b 3. Turn on the terminal (assuming it's cabled to your computer correctly) 4. Switch the RUN/HALT to "Halt" 5. Actuate the RESET switch 6. The ACIA PROM will respond by sending a CR/LF to the terminal and the terminal will display a dot prompt (. )

ACIA Monitor Commands - M M - Memory Examine and Deposit 1. At the.

ACIA Monitor Commands - M M - Memory Examine and Deposit 1. At the. prompt, type M (but do not press Enter) 2. The monitor will respond by printing a space 3. Enter the HEX memory location 4. The monitor will respond by first printing the data value in HEX stored in the memory location, followed by a space. 5. To change the contents of the byte, enter the new 2 -digit HEX value (*do not* press Enter). 6. If you do not wish to change the value of the byte, press Enter without entering a new value THUS - This is the same thing as using the DEP toggle to change the value of data for a given HEX address.

ACIA Monitor Commands - N N = Memory Deposit and Examine Next 1. At

ACIA Monitor Commands - N N = Memory Deposit and Examine Next 1. At the. prompt, type N (but to not press Enter) 2. The monitor will print the next memory address in sequence. 3. Just like the "M" command, you can opt to change the contents of the specified byte or leave as is.

ACIA Monitor Commands - J J = Jump to Specified Address 1. At the.

ACIA Monitor Commands - J J = Jump to Specified Address 1. At the. prompt, type J (but to not press Enter) 2. The monitor will respond by printing a space 3. Enter the 4 -digit HEX memory location (but don't hit enter) 4. The processor will jump to the specified memory location and start executing the program from that location.

ACIA Monitor Commands - L L = Load Paper Tape 1. At the. prompt,

ACIA Monitor Commands - L L = Load Paper Tape 1. At the. prompt, type L (but to not press Enter) 2. Place the paper tape in the reader, and start the reader. S 0 = comments S 1 = code S 9 = done

ACIA Monitor Commands - P P = Proceed to Program Breakpoint 1. At the.

ACIA Monitor Commands - P P = Proceed to Program Breakpoint 1. At the. prompt, type P (but to not press Enter) 2. The program will continue. NOTE: This is a debugging tool. The programmer sets breakpoints to halt a program and return control to the monitor prompt so that the memory can be evaluated.