Live Display of INP?

General discussions related to the Altair 8800 Clone

Live Display of INP?

Postby toml_12953 » September 24th, 2015, 7:51 am

The following program supposedly lets you change the status switches on the original Altair and see the output immediately on the data lights when you single step through it to the point where the INP light is on. The Clone doesn't do that. Is there a way to get the input pattern on the data lights in single step mode?

Code: Select all
0000    DB FF          IN     FF
0002    D3 FF          OUT    FF     
0004    C3 00 00       JMP    0000


Tom L
toml_12953
 
Posts: 303
Joined: June 7th, 2013, 12:54 pm

Re: Live Display of INP?

Postby AltairClone » September 24th, 2015, 8:28 pm

Your timing on this topic is amazing! I just finished going through this about a week ago while helping someone fix the front panel board on their real 8800 for which an IN 0FFh instruction always returned FF, no matter how the switches were set.

On an 8800, all data LEDs will be on during the INP cycle of an IN 0FFh instruction no matter how the switches are set. This is due to the fact that the data LEDs are driven by the data input bus and a read of the sense switches bypasses the data input bus and goes straight to the CPU board over a separate data cable. This means the switch value does not end up on the main data in bus, and therefore, does not drive the data LEDs.

An IN instruction from any other device WILL show up on the front panel data LEDs during the INP cycle because the data is passing over the main data in bus.

As part of this work a week ago, I realized the Altair Clone differs from the real 8800 in that the Clone displays the sense switch value read at the start of the INP cycle on the data LEDs. Technically, the Clone should show FF at this point.

The OUT instruction in the code snippet does nothing to change the way the Altair 8800 front panel displays the sense switch input operation. There is nothing in on the front panel board that responds to an OUT 0FFh.

On an 8800b, the IN 0FFh instruction by itself, while single stepped and stopped where the INP light is on, gives you a live display of the front panel switches on the data LEDs. The LEDs update immediately as you flip switches around. The OUT instruction is not needed.

Mike
AltairClone
Site Admin
 
Posts: 637
Joined: April 5th, 2013, 10:55 am

Re: Live Display of INP?

Postby toml_12953 » September 24th, 2015, 10:25 pm

AltairClone wrote:On an 8800b, the IN 0FFh instruction by itself, while single stepped and stopped where the INP light is on, gives you a live display of the front panel switches on the data LEDs. The LEDs update immediately as you flip switches around. The OUT instruction is not needed.
Mike


Thanks for the speedy reply! I got that code from the IMSAI assembly manual checkout procedure and the last time I checked it, was on an 8800b. So the IMSAI and 8800b work one way and the 8800 (and 8800a?) work another. At some point during single stepping, that status switch pattern does appear on the data lights of the Clone. I learn more from using this Clone every day! Thanks again.

Tom L
toml_12953
 
Posts: 303
Joined: June 7th, 2013, 12:54 pm

Re: Live Display of INP?

Postby toml_12953 » September 26th, 2015, 7:21 am

AltairClone wrote:I realized the Altair Clone differs from the real 8800 in that the Clone displays the sense switch value read at the start of the INP cycle on the data LEDs. Technically, the Clone should show FF at this point.
Mike


Can it be fixed in the firmware? After all, we want as close to perfect emulation as possible, ya know! :)

Tom L
toml_12953
 
Posts: 303
Joined: June 7th, 2013, 12:54 pm

Re: Live Display of INP?

Postby AltairClone » September 26th, 2015, 7:57 am

I went in to the code to fix this last week, but the thought of taking away a useful "bug" bothered me. I decided to leave it alone unless someone ever asked about it. Then you came along a week later... :)

Mike
AltairClone
Site Admin
 
Posts: 637
Joined: April 5th, 2013, 10:55 am

Re: Live Display of INP?

Postby toml_12953 » September 26th, 2015, 9:42 am

AltairClone wrote:I went in to the code to fix this last week, but the thought of taking away a useful "bug" bothered me. I decided to leave it alone unless someone ever asked about it. Then you came along a week later... :)

Mike

Oh, sure. Blame me! :) How about making it optional? Here's a menu suggestion:

1. Historically accurate, pure, original and true to the Altair
2. The Other Way

Tom L
toml_12953
 
Posts: 303
Joined: June 7th, 2013, 12:54 pm


Return to General Discussions

Who is online

Users browsing this forum: No registered users and 3 guests

cron