[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [N8VEM-S100:1440] What's next for S100 Boards?



Interesting idea Ivan, what you have is in fact what the S-100 bus (IEEE
version) was intended to be. You can have up to 16 CPU's on the bus.   Most
of us have ample slot space and eBay continuously displays 20 slot systems
at reasonable prices so it is quite possible to get close to that number. 

Certainly some CPU cards (like the 6502) are underutilized but it sure makes
debugging easier in a multi CPU system.  As a group we are getting larger
with a wider spectrum interests.  Interest in even the single 6502/Apple
S-100 setup was really not worth the effort in retrospect.  FWIW, I have
been heading in the direction of more powerful/modern  CPUs. Currently the
80386 (may do a 80486) but would really like to try my hand in the ARM world
after that.  I would really welcome a group like yourself going in the other
direction as well.

John



John Monahan Ph.D
e-mail: mon...@vitasoft.org
Text:    mon...@txt.att.net


-----Original Message-----
From: n8vem...@googlegroups.com [mailto:n8vem...@googlegroups.com] On
Behalf Of Ian May
Sent: Sunday, February 17, 2013 4:52 AM
To: n8vem...@googlegroups.com
Subject: Re: [N8VEM-S100:1440] What's next for S100 Boards?

Hi Dave,
Here is an idea that may help with your 6809 and 6502 interests. What about
an "Ultimate 8 bit CPU board"? Instead of having a board like the ECB 6X0X,
where you choose between a 6502 or a 6802 or a 6809 at construction time,
why not have a board with a 6502 AND a 6802 AND a
6809 and choose between them at run time? The Euro card based wire wrapped
machine I constructed in 1983 has a 68B09E, a 68B00, a Z80A and an RCA 1802E
(see attached pictures). At power on or after a master reset the 6809 is
enabled. Switching between CPUs is achieved by using the halt (or bus)
request system of each CPU. [Note the 1802 doesn't have a halt request/halt
acknowledge system. I had to build my own using the wait control. Something
similar will need to be designed for the 6502 since it also doesn't have a
bus request system.]

There are 3 sets of registers that control CPU selection (look at the lower
left corner of the attached Bboard.jpg). To change CPU, the new CPU's number
is written to address F020 (0=6809 1=6800 2=Z80 3=1802).
If you wish to return to the original CPU you write 1 (6809), 2 (6800), 4
(Z80) or 8 (1802) to F021 (WARMREG). Doing this will allow the previously
selected CPU to continue from where it stopped if control is returned to it.
If a CPU's "WARMREG" bit is zero, that CPU will be reset following a CPU
transfer. Writing to address F022 triggers the transfer process. The current
CPU receives a halt request, the resulting halt acknowledge (note that the
"HA" inputs to the LS153 "Y" are active low not as shown) transfers the CPU
number from LS74 "I" to LS74 "M" which either releases RESET or HALT on the
new CPU.

Things I would change from my design. 1) I wanted to use Motorola
peripherals, the I/O board has 2 68B50s, 2 68B21s and a 6522A, so this
required the generation of a fake "E" clock for the Z80 and 1802. It would
probably be better to use '80 type peripherals and generate rd are wr
signals for them. 2) More thought is required for the interrupt system. The
"piggy back" LS541 on the CPUs board is providing a vector address for the
Z80 (which is in Interrupt Mode 2). 3) The I/O instructions on the Z80 and
1802 are not used, all the I/O is memory mapped. This could be bad or good
depending on your point of view.

As to selecting which processors to use - I can only think of 5 possible
candidates that are readily available Z80/6802/6809/6502/1802 or 1806 (and
they all also have disk operating systems available). I can't see any point
in using an 8085 if you have a Z80 and things like the SC/MP and 2650 are
not readily available (and have paged memory maps). I chose to use a 68B09E
and a 68B00 only because I had the chips. I don't think there is any reason
why you couldn't substitute with a 68B09 and 68B02. The disadvantage of
having more than 4 processors is that the LS139s and LS153s will have to be
replaced with LS138s and LS151s which will therefore require more ICs. So
having a maximum of 4 CPUs may be necessary. I would therefore suggest a 4
CPU board with a Z80, 6809, 6802 and 6502. (The reason for the 1802 was that
my first machine was a COSMAC VIP. Mine is wildly over-clocked to
8 MHz [not the 4MHz shown on the circuit], most 1802 designs were clocked at
less than 2 MHz so mine is a relative speed demon.)

There is also the question of whether to build an ECB bus or S-100 card. The
S-100 philosophy of one card - one function, as well as more board space,
makes it the most likely candidate. The bus of my system is very simple and
is not much more than the address and data buses, the r/w and E clock yet it
still required 2 cards for just the CPU.
Even if 220 mm depth ECB bus boards were used there probably won't be enough
space for RAM and I/O chips. A 3 board ECB bus solution may be necessary.

I was planning to develop something along these lines with one of the
regular S-100 prototype cards, but realistically it will take me a long time
to get to it, so I'm tossing this idea out there for other people to think
about. I'm also happy to answer any questions anyone has about the design.

Cheers,
Ian.

--
You received this message because you are subscribed to the Google Groups
"N8VEM-S100" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to n8vem-s100+...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.