• Please review our updated Terms and Rules here

Strange IMSAI 8080 Problem

RV1234

New Member
Joined
Apr 30, 2019
Messages
1
Hello!

I've recently brought an IMSAI 8080 system back to life. I've successfully gotten it running, but have encountered an odd problem.

When selecting a memory address with the front panel, the inputs in each block of 8 switches are backwards (?) For example, flipping address switch 0 up and hitting examine should should light the LED above it (Address Bus 0). Instead, it lights Address Bus LED 7. This applies to the others: Switch 1 lights LED 6, Switch 2 Lights LED 5, Switch 15 lights LED 8, etc etc. You are still able to deposit bits normally, and they are retained in the location you place them.

Another example: to examine address E901, you would enter E901 (1110 1001 0000 0001) on the switches and hit examine. This doesn't work. Instead, you must enter it backwards on each block of 8 switches: 9E10 (1001 0111 1000 0000), at which point it will show you E901.

I thought the display LEDs might be the problem, so I decided to see if I could access the Disk Controller PROM. Entering the address (E900) in the backwards format and hitting run makes the drive respond, so the address LEDs are correct. It's just the switches that are wrong!

The front panel and MPU are in good order and all the components have been cleaned/reinstalled as per the manual. The memory, serial card and disk controller are also configured properly as per their documentation. I've experimented with various cards removed and it remains the same. Does anyone have any insight into why this might be occurring?
 
Sounds like the data cable from the front panel to the CPU board is upside-down. As luck would have it, unconditional jump is C3 and having the data upside-down still results in a JMP instruction being jammed in when you do an examine! Just the address part of the instruction (bytes 2 and 3) get reversed.
 
Well, probably doesn't matter, but the 8080 is a little-endian CPU. So a jump to E901 would be coded as C3 01 E9.

But I suspect that's not what you're talking about.
 
As mentioned, it is the cable between the front panel and the cpu board that is wrong. This is a more common problem for the Altairs with the cheep molex connectors but still can be a problem on an IMSAI. What is most annoying is that things seem to kind of work. To understand why, above they mentioned the C3 instruction ( JMP ). The front panel uses the processor to hold the address. it does this by jamming the C3 instruction onto the data bus for the instruction fetch. As mentioned C3 is still C3 with all the bits reversed.
Still most other things work on the front panel but not every thing. Notice that D5 is a special bit going into the front panel from the CPU. That bit is important for the front panel to work correctly. I always forget what it does ( as I have now ) but I leave that for homework. When you understand why that bit is important, you'll have a better understanding of the front panel.
Dwight
 
Back
Top