A Second Production Board
Some minor corrections and
additions to the above first prototype board were incorporated into a second
prototype board shown
here:-
The complete schematic for this board is shown at the bottom of this page.
The critical part is shown here:-
Changes include:-
A dual colored (Red/Green) LED was used to
flag whether the Lava chip is in Read or Write mode.
The Lava "strobe" and "done" pulses were stretched out (vial a 74LS123)
to show a visible pulse on LED's D3 & D18.
An S-100 Interrupt line can be triggered when a pulse is sent/received by
the Lava chip
For the onboard EPROMS, they can now be activated by any one of the 16
possible S-100 bus DMA (master/slave) states.
The board works fine with our
8088,
8086 and
80286 CPU boards
running MS-DOS (V4.01).
The Production Board.
Here is a picture of the final production board.
Fortunately the board worked without any changes exactly as the prototype
did. The only error is the silkscreen legend has the labels "STR" and "ACK"
switched. LED D3 is actually the Strobe pulse and LED D18 is the Acknowledge
pulse.
Step By Step
Building The LAVA-10 S100 Board.
Relative to some of our other boards this one is relatively simple. The first step is to examine the board carefully for scratches or damaged
traces. Use a magnifying glass if need be. The quality of the boards we get is
excellent. I must have done over 30 by now, never had a problem, but there is
always a first time. A broken trace is almost impossible to detect by eye on a
completed board.
Next solder in all the required IC sockets, resistors, resistor arrays,
capacitors, jumpers, dip switches Zener diodes and the voltage
regulators. The lava mini-board will require a custom socket of dual X2,
twenty pin socket. You can use Jameco #11705 "Double Row Straight
Female Header Receptacles" for the job.
Be sure you put the resistor
array (RR8) in with the correct orientation for pin 1. Check their values
also before
soldering (they are difficult to remove). It's very important to use the
correct 3.3V Zener diodes. I use 1N5226B (Jameco # 743488). These
insure that the TTL outputs will not go above the 3.3V Voltage of the
Lava-10 "Chip". The voltage regulator for the Lava-10 is a 3.3V
LM3940IT, (Jameco # 192524). Note this V regulator requires a 5V
input. It is not connected to the S-100 bus 8V supply.
It is easiest to install the indicator LED's first. Without soldering
them in, install D4 (Orange), D1 (Red), D3 (Green) and D18 (Yellow).
You can use your own colors. Check the LED orientations by grounding
U8 pin 4 for D1, U3 pin 12 for D18, U3 pin 4 for D3, and U42 pin10 for D4 of
the empty sockets. If the LED's don't light up switch the orientation. Then
solder the LED's into place.
Next we need to insert the dual color LED LD1. These Red/Green LED have
three inputs can be obtained from Jameco # 156946. To check before
soldering, pull pin 8 of IC socket U11 high, the try pin 6 of U8.
The LED should change color.
Here is a picture of the board at this stage.
Next we will add the I/O port circuitry. In my case I will be using
I/O ports 90H and 91H. You can use any pair of ports you like, but the
software examples below will need to be adjusted.
Insert IC's U17, U18, U19, U20, U5, IC1 and U35. Jumper K6 1-2.
Insert IC's U8, U31 and U9.
Set switch SW1 to all closed
Set the switch SW2 (left to right) closed, open,closed,closed,
open,closed,closed,closed. (U 1001 000x)
With you monitor input port 91H. In each case you should pick up a high to
low pulse on U9 pin3. No other port addresses should do this.
Likewise output to port 91H should show a pulse on U9 pin 6.
Writing to port 90H should pulse (high to low) U9 pin 8.
Next add IC's U10, U14, U16, U11, U12, U3, and U7.
Jumper P9 1-2, 7-8, 15-16
Jumper P8 1-2, 7-8, 15-16
Jumper P16 5-6
Now if you the R/W LED should change color and the Data (D1) LED
should come on.
Here is a picture of the board at this stage.
The
VGA Socket
Please examine carefully the top connector VGA socket connection. This 10
pin connection is the same pinout I use on all my video boards, including
the Propeller driven
Console-IO
board (and incidentally the
Lomas IBM-PC GCA S-100 video board). So you can switch
boards/cables quickly. You will need to make your own ribbon cable VGA
connector cable. Here is a picture of the pinout:-
Next carefully check that none of the socket pins for the Lava-10 mini-board have a
voltage greater than 3.5 Volts. Most are less that 1 Volt. If
you output to port 90H, 0FFH however, J1-13 will get to 3.02 volts.
This is fine so long as no pin is greater that 3.5V we are OK.
Carefully install the Lave-10 mini board.
You are now ready to fire up the board. On power on, the Lava-10 LED's (top
to bottom, on its right hand side), go from
green,
red, off,
green ----> off,
off,
green,
red. If
you do not see this something is wrong.
No video signal will be seen at this stage. The Lava-10 needs to be
initialized. This is where if you have not already done so, you need
to familiarize yourself with the Lava-10 software commands. See
here.
I normally use this board in 8086/80286/80386 type systems so I have written
a, MS-DOS style interrupt INT 10 style BIOS set of routines for the board.
If you have such a system up and running you can initialize and run the
board right away.
In order to get things going however I have written a real basic Z80 board
initialization program that can be loaded with CPM. This is just
a basic program to place characters on the screen. If you wish to use the
board with a Z80 system you will need to write code to interoperate CR, LF,
Scroll etc. See the 8086 code for help.
The EEPROM Circuit.
The board contains a complete circuit to house a 16 bit dual EEPROM.
Typically a pair of 28C256's would be used. But there are jumpers for other
configurations. The only chips the two board circuits have in common
are U17-U20. Typically these EEPROMS would contain code for video
drivers for an 8086 or 68K. They can be located anywhere within the
S-100 bus 16MG address space.
I have them located at B0000-BFFFFH. The circuit is a
direct copy of the circuit on the
MS-DOS Support board which
has proven itself to be quite reliable.
To utilize this circuit. Insert all the remaining IC's
Jumper P14 11-12
Jumper P13 1-2,3-4,5-6,7-8. (Assuming the 8086 will use the S100 bus DMA0
line)
Jumper all 8 pins on P45 to P49
Jumper all pins on P46 to P50 except pins 6 & 8 which go to P48.
Next we need to set the switches SW8,9 and 10.
We will start with 4 wait states so SW8 left to right is open, open, open,
open, closed, closed, closed, closed.
For Address 0BxxxxH for SW9 we have closed, closed, closed, closed, open,
closed, open, open.
SW10 are all closed.
For 28C256 EEPROMS we set K7 1-2, K1 1-2, Jumper K2, K3 2-3 and K4 1-2.
Here is a picture of these settings on the board.
Remember the EPROM circuit has no direct relationship with the LAVA-10
circuit. The EEPROMS can be used to hold a monitor for an 8086 or 68K for
example.
To see the 8086 specific LAVA code please go to the
8086
monitor. The "acid test" for this board/software is to run
the PC-DOS FDISK program. This program utilizes the ESC character
control and positioning functions of the PC-BIOS extensively. Here is a
picture of the initial display:-
The board is quite reliable and has never "dropped a character" however the
screen scroll is a little slow. This is unfortunate because it is not
implemented in the Spartan chip which is easily capable of blindingly fast
doing this. I have mentioned this to Mylium, hopefully they will upgrade the
code.
The driver source code for the board can be found in the Video routines of
the 8086
monitor. If anybody does a driver for a Z80 or 68K please send
them to me I will post them here.
One final point. The Lava-10 mini-board is programmable. I have no idea how
one would do that since the source code is not available. But apparently if
you wish to do so you use the socket on the board. Unfortunately that socket
when mounted on the S-100 board blocks another S-100 board in the next
available slot (its too high). I desouldered the socket with a desouldering
gun and removed it. That is why it does not appear in the pictures.
If you too do this, be very careful not to damage the other surface mounted
chips on the mini-board.
A Production S-100 Board
Realizing that a number of people might want to utilize a
board like this together with a group of
people on the
Google
Groups S100Computers Forum, "group purchases" are made from time to time.
Contact and join the group if you would like to be involved in this
project. Please see here
for more information.
Please note all the above
clearly applies only to people who know what they are doing and can do
a little soldering and board assembly. There will be little hand holding
at this stage.