• Please review our updated Terms and Rules here

Unique S-100 computer (Z-80/Vector Graphic/Micropolis)

From what I can see looking at the jumpers on your PROM/RAM card and the CPU board, the system is configured as a very standard VG system. During the first three bus cycles after power on or reset, the PROM/RAM board responds with the first three bytes starting at E000h (in the monitor PROM). These first three bytes are a jump to the initialization routine in the monitor PROM. The init routine initializes the video display and then puts up the command prompt. The monitor only requires the 1K RAM that is on the PROM/RAM board for operation.

The PROM/RAM board can’t force a jump to the boot PROM on the Micropolis FDC (at F800h)

Now that you’ve checked the power supplies on each board, let’s look at other simple possibilities.

1) The CPU is not reset/running properly. An ECO in the manual for the CPU board suggests putting the axial 22uf cap back in the reset circuit (just to the left of the CPU - you can see it has been removed on your board).

2) I assume you’ve tried pushing the reset button on the back as well as simply cycling power?

3) The PROM/RAM board or the EPROMs or RAM chips on the board have a problem. Carefully remove and re-insert the EPROMs and the two RAM chips a few times to freshen up the contact between the pins and sockets.

If none of these tests reveal anything, do you have an oscilloscope?

Mike
 
Last edited:
I have completed the following:

  • Cleaned all board edge connectors and sockets
  • Found a radial 22uf cap and put it back in the CPU board at the spot you mentioned
  • Reset button on the back does nothing at all.
  • Re-seated every IC on all 3 boards. The Z80 was really stuck in there good, tried to be extremely careful but when I worked it out, one of the legs was broken and stuck in the socket. I managed to run a wire from that CPU pin to the socket pin on the backside of the board. Continuity test passed.
None of this seemed to help. Recycling the power presents the same garbled text screen. The text is basically the same every time I boot.

Unfortunately, I do not have an oscilloscope. I can borrow one from a friend, its an analog scope. What should I check? I may need his help.
 
Last edited:
Hey, I was just talking to someone on Reddit with one of these! (/jk)

I can't offer any additional advice but I can strongly recommend the cheap Chinese logic analysers like these: https://www.banggood.com/USB-Logic-...p-1177821.html?rmmds=myorder&cur_warehouse=CN

They're only eight channels, which means you have to choose between watching the data bus or watching the low eight bits of the address bus, but they work out of the box with PulseView and take so much guesswork out of debugging this stuff. Plus, you can't really go wrong with $8 delivered. They're fantastically useful for all sorts of other jobs, like logging and analysing serial connections, too.

A logic probe, too, is amazingly useful for showing you whether a line is low, high, or has traffic: https://www.banggood.com/Digital-Lo...r-p-929219.html?rmmds=search&cur_warehouse=CN
 
Thanks again for your help over there! I may need to invest (very little) Iin these. Though my friend did offer me to keep the scope hes bringing over. Do these things do anything that a scope doesn't?
 
They record digital signals on multiple channels. The one I linked to streams data to a PC via USB, so it'll record an unlimited amount of data. Connect it to the data bus and you get a complete record of every single instruction and value passing across the bus during the execution of a program. You can then examine the trace, attach decoders for various protocols like UARTs, SPI, I2C, etc after the fact. It makes debugging, e.g., boot sequences very easy.

Ideally you want to record every signal on the bus, but with 16 address lines and 8 data lines plus a handful of signalling lines you end up needing a lot of channels. I've seen 16-channel ones for about $100 and that's still low end. Those little 8 channel ones are very cheap, very easy, and really useful and I wish I'd gotten one years ago.
 
First, make sure the Z80 reset line (pin 26) goes low and then high when you press and then release the reset button. It looks like your board has been strapped to use the standard PRESET line from the bus (pin 75) instead of the "special" short reset from the DRAM card (pin 55). This means you should be able to see the RESET pin on the Z80 go low when you press the reset button on the back.

Second, verify the Z80 is getting the 4mhz clock on pin 6.

Mike
 
Get a quality logic probe before you bother with a logic analyzer. I've never personally owned one of the cheap Chinese analyzers, but I've helped people troubleshoot systems that were using them, and in two different cases, the cheap Chinese logic analyzer was causing additional problems with the system. 90% of old computer problems can be solved with a logic probe and multimeter anyway. I've got a big 80-channel HP logic analyzer, and it's one of those things that sometimes you absolutely have to have, but mostly it doesn't live on the bench.
 
Since this is a C-M industrial computer the ROM's might be custom programmed and not for booting to a prompt. Try finding a download of the Vector Graphic standard boot ROM's. If you find the download, I'm sure one of us would help with doing the burning or pick up a TL866 programmer to program the ROM's using a PC. A copy of the CPU manual can be found at: http://s100computers.com/Hardware Manuals/Vector Graphic/Vector-Z80.pdf
 
First, make sure the Z80 reset line (pin 26) goes low and then high when you press and then release the reset button. It looks like your board has been strapped to use the standard PRESET line from the bus (pin 75) instead of the "special" short reset from the DRAM card (pin 55). This means you should be able to see the RESET pin on the Z80 go low when you press the reset button on the back.

Second, verify the Z80 is getting the 4mhz clock on pin 6.

Mike

20200225_130629.jpg20200225_131206.jpg20200225_131216.jpg

Mike, Thanks for your help with a few months ago. Didn't make much progress and this took the back burner. I've had a little progress whereas sometimes I can get into the Vector Graphic monitor.. but something is still very 'off'. Please see the screenshots of when I am able to get into the monitor, things print incorrectly. Pressing 'ESC' gives me a new command prompt, but it seems to print randomly on the screen - sometimes it just starts dumping hex on the screen.

Since we last spoke I've gone through and used contact cleaner (DeoxIT) on all the pins/sockets.

Using the scope, I am able to verify I am getting the 4Mhz clock signal on CLK pin 6.

Using the reset button on the back of the computer DOES reset the monitor (pin 26 goes low then high again upon release of reset button) - but only if that first power on got me into the monitor. About half the time at powerup I just get that uninitialized garbled text screen you see in my first set of screenshots. In that case the reset button does nothing and I do NOT get the reset signal at pin 26.

Any thoughts on why I'm only sometimes able to get into the monitor, and even then getting very random behavior?
 
Last edited:
The reset button should always cause reset to be asserted. There are several change notices towards the end of the Z-80 CPU manual linked below that are related to the reset circuit and power-on problems related to the crystal. As a first step, I'd go through ECRs and see where your board stands in regard to these updates.

https://deramp.com/downloads/vector_graphic/hardware/Z80 CPU.pdf

When the computer does come up and run, I'd suspect the CPU is reading bad data from the monitor EPROM on occasion or the 1K RAM on that board has some problems and that causes the erratic display results you're seeing.

Mike
 
The reset button should always cause reset to be asserted. There are several change notices towards the end of the Z-80 CPU manual linked below that are related to the reset circuit and power-on problems related to the crystal. As a first step, I'd go through ECRs and see where your board stands in regard to these updates.

https://deramp.com/downloads/vector_graphic/hardware/Z80 CPU.pdf

When the computer does come up and run, I'd suspect the CPU is reading bad data from the monitor EPROM on occasion or the 1K RAM on that board has some problems and that causes the erratic display results you're seeing.

Mike

Thanks, I'll go through the ECRs. Do you think I should reprogram the EPROMs? (And/or replace them)
 
I'd suspect the RAM before the EPROM, but let's just change one variable at a time for now and verify and/or implement the ECRs.

Mike
 
I'd suspect the RAM before the EPROM, but let's just change one variable at a time for now and verify and/or implement the ECRs.

Mike
I'd suspect the RAM before the EPROM, but let's just change one variable at a time for now and verify and/or implement the ECRs.

Mike

I have a Rev 3 board, so am exempt from the first two (#44 & 35).
I had previously installed the 22uf cap (#49) and it has not made a difference. I currently have it disconnected.
Jumper B is already installed (#22)
Resistor values are already correct (#17) though I'm a little unclear on the wording. There is a 470 resistor between U9-11 and U9-2. Not sure what it means about between U9 and U4. There is no resistor. And it doesn't mention pin #s.
Resistor values are already correct (#16)
#13 talks about adding a 390pf cap on the Z80 to fix MWRITE issues. This is not installed. Think it's worth bothering with?
MZ-0018 describes my problem exactly and talks about replacing the crystal. However it looks like I have one of the unaffected model crystals. Should I try replacing it anyway? It also mentions installing that 22uF cap which didn't help.
 
You might as well bring the board current with all the recommended updates, but I doubt the MWRITE fix is related to the problems you’re seeing now.

As far as the crystal goes, I can’t really make a recommendation without probing around on the board myself with a scope to see what’s going on with POC, reset, and the oscillator.

To narrow things down, I’d put the PROM/RAM board into another system, read out the EPROMs to verify them, and run a test on the 1K of RAM.


Mike
 
You might as well bring the board current with all the recommended updates, but I doubt the MWRITE fix is related to the problems you’re seeing now.

As far as the crystal goes, I can’t really make a recommendation without probing around on the board myself with a scope to see what’s going on with POC, reset, and the oscillator.

To narrow things down, I’d put the PROM/RAM board into another system, read out the EPROMs to verify them, and run a test on the 1K of RAM.


Mike

Thanks but unfortunately I don't have another system to test in. Any way to test on the bench? I was looking at the TL866 programmers but unfortunately they don't do the 2708's. Any suggestions for a programmer/dumper? I did find an Arduino-based 2114 tester.
 
To narrow things down, I’d put the PROM/RAM board into another system, read out the EPROMs to verify them, and run a test on the 1K of RAM.

So I hooked up an Arduino with this 2114 Tester sketch . There are (2) 2114's in the PROM/RAM board and sure enough! One gets successful passes, and the other one fails consistently. I'm going to order some replacement 2114's and see if that helps. Will report back..

EDIT: This 2114 installed is a 300ns model. Jameco stocks a 200ns and a 450ns model. I'd assume I want to err on the side of the faster chip, correct? Or does it need to be replaced with an exact 300ns match?
 
Last edited:
Back
Top