• Please review our updated Terms and Rules here

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

At what address is the board strapped? We have to know that to get started. The “External Com” command uses I/O address 4. PC2FLOP uses I/O address 2 or 4.

The 8251 requires no handshake lines to receive and requires its CTS pin asserted in order to transmit. Based on the picture you sent, your computer is wired as DCE and would connect to a terminal with a straight through DB25 cable. DTR pin 20 from the terminal is connected to the 8251 CTS input. Normally, a 4.7K pull-up on the Bitstreamer pulls up CTS if nothing is driving it.

The 8251 requires a multi-byte init sequence before it will work. This is done by the monitor PROM for you if the board is at a standard address.

Mike
 
At what address is the board strapped? We have to know that to get started. The “External Com” command uses I/O address 4. PC2FLOP uses I/O address 2 or 4.

There is a section in the manual that talks about changing the address:

changeaddress.png

It says "For example, to change the board address from PORT 0 to PORT 4, cut the trace from A2 to A2SEL and add a jumper from A2 to A2SEL."

Uhh.. what? is that a misprint? either way, here is my U7:

20200427_083743(1).jpg

So it looks like its configured for address 2?
 
Last edited:
Your board is jumpered at I/O address 4. That puts the serial port at I/O address 6/7 which is not supported by the monitor PROM or PC2FLOP. Move the A2 jumper back to pin 8 (A2 not) and that will put the serial port at I/O address 2/3 which is supported by PC2FLOP. Note this is still not the port address supported by the External Comm command which is typically I/O address 4/5.

Mike
 
Thanks guys! I must not be reading the diagram correctly. How would I jumper to set to address 4/5 to test External Comm?

Also, before I continue with the serial stuff, I have to solve something else. I think I may have some bad RAM chips in my 8k board. It wouldn't allow me program anything into memory while that board was installed. I'm working on building an 2102 SRAM chip tester using an Arduino.
 
I don't think you can put the serial port at address 4/5 (short of board hacks). The serial port is always at offset 2/3 from the base address which, in turn, is a multiple of four. Strap the board for I/O address zero which put the serial port at 2/3. The monitor PROM should initialize the 8251 at 2/3. Then you can play with it using the "I"N and "O"UT monitor commands.

For example,

Type "O"UT 02 31 and you should see a "1" show up on the terminal.

Type a "1" on the terminal keyboard and then do an "I"N 02 and you should see a 31

Mike
 
Your board is jumpered at I/O address 4. That puts the serial port at I/O address 6/7 which is not supported by the monitor PROM or PC2FLOP. Move the A2 jumper back to pin 8 (A2 not) and that will put the serial port at I/O address 2/3 which is supported by PC2FLOP. Note this is still not the port address supported by the External Comm command which is typically I/O address 4/5.

Mike

Ok so I moved the A2 jumper to pin 8 and after reinstalling the board, the keyboard does not work. (Or at least it seems to think every keypress is an ESC?) Keyboard operates normally if Bit Streamer is not installed. After putting the jumper back to how it was originally, the keyboard works again. Any ideas what's happening?

BTW I built an Arduino-based 2102 SRAM tester. Out of the 64 chips, I did have 1 bad one so I have a few on order. I've posted it on GitHub in hopes it may help others https://github.com/nullvalue1/Arduino-based-2102-SRAM-Tester
 
Yeah, the keyboard port is at 0/1. Oh well. Let me see if there is an easy way to swap the parallel and serial ports on the bitstreamer so the serial port is at 4/5 and the parallel is at 6/7.

Mike
 
Actually, this will be easier...
With the board strapped at 4, the serial port is at 6/7. See if the same tests mentioned above work at 6/7:

Type "O"UT 06 31 and you should see a "1" show up on the terminal.
Type a "1" on the terminal keyboard and then do an "I"N 06 and you should see a 31.

The version 4.1 monitor inits an 8251 at 6/7, so your 4.0 monitor probably does as well. If not, we can use a few OUT commands and init the 8251 manually.

Mike
 
Both the 4.0 and 4.1 monitors actually contain a minimal terminal program (E command) that makes this sort of troubleshooting a little easier (at least it helped me sort out the com ports on the Bitstreamer II and ZCB
 
Both the 4.0 and 4.1 monitors actually contain a minimal terminal program (E command) that makes this sort of troubleshooting a little easier (at least it helped me sort out the com ports on the Bitstreamer II and ZCB

The E command did not work for him because it uses the serial port at I/O address 4/5 and there is not an easy way to put the serial port on the Bitstreamer-I card at address 4/5.

Mike
 
Actually, this will be easier...
Type "O"UT 06 31 and you should see a "1" show up on the terminal.
Type a "1" on the terminal keyboard and then do an "I"N 06 and you should see a 31.

Ok this looks like progress.. "O" 06 31 does produce a "1" on the terminal! However after typing the "1" on the terminal, and an "I" 06, I only get "00".. So I'm able to transmit but not receive at the moment. Terminal settings are baud: 300, data: 8 bit, parity: none, stop: 1 bit, flow: none. I tested the terminal/cable is transmitting fine by talking to a modem. Should I run some continuity tests on the the S100 side or could this be software related?
 
Last edited:
We have to know more about what you're using for a terminal and the data cable in order to determine where the problem may be.

If you are using an actual terminal, it is quite possible the terminal is not transmitting if it's not seeing a handshake line it requires. Or are you using a PC and terminal emulator? How is your data cable wired from end to end?

Mike
 
Using a PC w/ TeraTerm with a USB to Serial converter. DB9 to DB25 cable. Tested the same adapter & cable by plugging in an external modem and am able to read/write to it - so I don't think the problem is on the terminal end or with the cable.
 
Last edited:
I was also able to verify the ribbon cable bringing the signal from the DB25 port to the 24-pin DIP socket works for all pins/lines.
 
That is why I am asking about a terminal versus a PC. Since a modem provides all handshake lines, it's quite possible that a terminal works fine with a modem but that same terminal may not work with a computer that is not asserting the required handshake lines on the required pins. I have seen you refer to it as a "terminal" in these recent posts, so I needed to know what your terminal actually is.

Since your terminal is a PC running Teraterm, and Teraterm is happy in three-wire mode, we can rule out an improperly driven or wired handshake line as the issue for data not reaching the Bitstreamer. That information helps. I'd now use a scope to probe the data-in path from the DB-25 connector, through the ribbon cable, DIP socket, jumpers, receiver, and to the 8251 in order to pinpoint where reception fails.

Mike
 
I've had very inconsistent results with USB serial adapters at 110 and 300 baud. I'd set the Bitstreamer to 9600 baud.

Mike
 
Well, crap. Not sure what just happened but I busted something. Just was hooking up the scope to the Bit Streamer. Put the ground lead on the negative side of a cap, tapped the probe to the positive side and the screen went to random characters. Now the machine won't boot to the monitor anymore. Just uninitialized garbage screen. Same results with or without the Bit Streamer. There was no pop/smoke or anything like that. I know I didn't touch anything else on accident. Ugh what have I done...

Edit: retraced my steps... There's a via just above the negative end of the cap - that via runs to +5. My alligator clip must have shorted the two. Have just the Flash Writer, 12K PROM/RAM, and Z80 CPU boards installed. All regulators check out. What else can I check?
 
Last edited:
Look on the schematic for the cap you attached to so you can determine what shorted to what. Is the negative side of that cap actually ground or is it possibly a negative supply? I've done that before with an older scope for which the probe ground is a hard ground and shorted out the negative supply.

Mike
 
Back
Top