Google グループは Usenet の新規の投稿と購読のサポートを終了しました。過去のコンテンツは引き続き閲覧できます。
Dismiss

(no subject)

閲覧: 47 回
最初の未読メッセージにスキップ

Eric Adamson

未読、
1995/07/29 3:00:001995/07/29
To:
I posted the following, in comp.sys.ibm.pc-hardware.comm. I'm reposting
it here, hoping that perhaps some Tandy afficionado's, or perhaps some
genuine Tandy folks can oblige me with some helpful info. Thanks, in
advance...


Alright, gang

Here's a challenge for all of you. I am trying to identify a mystery
card... First off, this card came from one the venerable Tandy 4000's
which until recently graced the back room's of Radio Shack stores across
the land. They recently upgraded to Pentium's and sold off their old
systems.

FYI - The 4000's are going for $200 to man-on-the-street, $100 to the
store managers. They are basically 386DX-16's, strong desktop case, 4
1x9 SIMM's (_100_ ns!), Adaptec 1540 SCSI controller, 80 MB Quantum SCSI
drive, 1.44 floppy, Hercules adapter, monochrome monitor, Hayes 2400bps
internal modem. Also, a _STURDY_ 101-key keyboard, the likes of which I
have not seen in a long time... If you can manage to snag one at $100,
they are not a bad buy, at least not if you are a hardware hacker, like
myself.

Anyway, Radio Shack is running SCO-XENIX - it appears that they are
running their point-of-sale terminals via serial connections. This is
where this card comes in.

The card is a 16-bit, full-length card. It contains a Z80, two 40-pin
chips marked "Z80 SIO/O," and four 28-pin chips marked "Z80 CTC." The
card has four ribbons which exit the PC, and end with DB-25 female
connectors. The vintage is about 1989, judging by the most recent
manufacture date stamped on the chips. No manufacturers markings -
possibly custom manufactured for specifically for Tandy.

I am almost dead certain that this is a four-port serial card, which uses
software-polled I/O. Since the system was running Xenix, their drivers
would be of little use to me. Furthermore, RS insisted on low-leveling
the hard drive before handing it over, so I could not even boot it, in
hopes of finding out who wrote the software.

Any ideas would be greatly appreciated. Drivers would be even better!
Please Email.

Thanks in advance!

Eric


,,,
(o o)
--------------------------------oOOo-(_)-oOOo----------------------------

Eric Adamson Remember - don't sweat the petty things,
Michigan State University pet the sweaty things...
adam...@pilot.msu.edu
adam...@cps.msu.edu

-------------------------------------------------------------------------

Frank Durda IV

未読、
1995/08/02 3:00:001995/08/02
To:
Eric Adamson (adam...@cps.msu.edu) wrote:
[0]Here's a challenge for all of you. I am trying to identify a mystery
[0]card... First off, this card came from one the venerable Tandy 4000's
[0]which until recently graced the back room's of Radio Shack stores across
[0]the land. They recently upgraded to Pentium's and sold off their old
[0]systems.

I already know what it is....


[0]The card is a 16-bit, full-length card. It contains a Z80, two 40-pin
[0]chips marked "Z80 SIO/O," and four 28-pin chips marked "Z80 CTC." The
[0]card has four ribbons which exit the PC, and end with DB-25 female
[0]connectors. The vintage is about 1989, judging by the most recent
[0]manufacture date stamped on the chips. No manufacturers markings -
[0]possibly custom manufactured for specifically for Tandy.
[0]
[0]I am almost dead certain that this is a four-port serial card, which uses
[0]software-polled I/O. Since the system was running Xenix, their drivers
[0]would be of little use to me. Furthermore, RS insisted on low-leveling
[0]the hard drive before handing it over, so I could not even boot it, in
[0]hopes of finding out who wrote the software.

Somewhat correct.

That is one of my babies, a four-port serial I/O board, which looks a lot
like the Z80 I/O subsystem found on the Model II/16/6000 systems. It was
designed and built by Tandy. (There should be a (C) 19xx Tandy on the
board somewhere, and the ever-present 804xxxx part number.)

I proposed the basic functional layout, overriding the hardware guys that
wanted to use 8251 UARTS and then 8250s (16550 UARTS had not appeared yet),
and then I specified (with drawings) the overkill of option jumpers that let
you configure a given port just about any way you could possibly want,
including several unusable states. DTE and DCE are easy, and split
baud rates with external clocks for old European synchronous modems
were even possible. Management hated it because it cost about 30 cents
per port for all the staking pins and jumpers it used.

The board has FULL EIA hardware signals, although it was up to software to
do something with the signals. Management finally learned something
from the disaster with no modem control signals they created on the
16/6000 three-port serial board.

A normal, Frank-hasn't-modified-it 4-port board will run up to 19200 on all
four ports in both directions continuously. (Above 19200, the clock
error is a tad high.) The board uses a couple of I/O ports, but is
MEMORY-MAPPED. The memory map is a whopping 64K, so in these days of
16Meg (and up) memory systems, the design is a problem, but the board
can be modified to only map 16K or possibly 8K.

The 286 (later 386) XENIX would download Z80 code into the memory and
start the Z80 up when XENIX booted. The Z80 would handle all buffering,
as the kernel driver would hand it C-lists of characters to display and
the Z80 would build up lists of characters it had received. We decided
to put line discipline in the x86 since we didn't know if SCO (or before
SCO it was Microsoft) would change the requirements on us unexpectedly.
(This decision was the same one we made on the 16/6000, and it allowed us
to do things like csh10, where CONTROL-D suddenly did something without
changing the Z80 drivers.)

The board generated a single interrupt when it needed something and the
kernel driver would simply scan through a structure (union array) in x86
memory that was really RAM on the board and look for flags that said the
board had data or needed more data for a given port. The x86 could
do string copies to move large blocks of characters on and off the board.
The x86 could also interrupt the Z80 to tell it that there was something
new to do, just like the Model 16/6000 Z80/68000 board sets could do.

The Z80 code looked through the data for things like XOFF and would
alert the x86 sooner when it saw a key character. Otherwise, it would
save data from all ports for up to 16.6msec before reporting it.
This reduced the load on the x86, which in the early days was a wimpy
8MHz 286, which could rarely keep 9600 baud going on one of the
regular COM ports without losing data.

A series of circular queues allowed the Z80 to add data and the x86 to
pick the data up when it got interrupted or happened to come across
new information in the queues.

The onboard ROM on the 4-port board only contains a few simple diagnostic
routines that can blink the light in various ways if the board is in trouble,
and sets up some interrupt vectors so that the real code can be downloaded
and then executed. Once it has done its work, the ROM is disabled (like the
design I got them to do on the 4P) and all 64K of RAM is usable to the
downloaded code.

Tandy R&D wrote the drivers for SCO XENIX 286 and later for SCO XENIX 386.
The Z80 code was largely copied from the drivers being developed
for XENIX 3.2. The x86 code was based on the 6000 XENIX driver, plus
structure changes caused by System V UNIX/XENIX.

We gave a copy of the driver source code to SCO at once point for the
286/386 driver, so they may have ported it to SCO UNIX, but I don't know.
It would be pretty easy to write one from scratch.

In the 386 days, our drivers came on a separate floppy (for political
reasons), and you might be able to order a "replacement" disk. It was
called something like
"Tandy drivers and utilities for XENIX 386, version 2.1".

Our drivers were completely interrupt-driven, although you could use
software polling if you really wanted to. The serial ports all used
IM 2 vectored interrupts, so each UART could directly vector to four
different interrupt service routines based on what the UART wanted.
That board has more interrupt sources than an IBM PC can even support.

The Z80 SIO ports hold 3 characters in both directions before a overrun
occurs, plenty of time for the Z80 to get the data and store it.

The I/O ports not only let the x86 reset and interrupt the board,
it also let the host specify where the memory map should appear in
x86 address space. When originally designed, it was envisioned that
boards would reside at and above 15Meg on 64K spacings. It can map anywhere
in the lower 16Meg, and doesn't have to be mapped all the time, so multiple
boards *could* share the same 64K x86 address space.

Later Tandy systems with cache had special rules to not cache
RAM in the 12 to 16Meg address space to allow memory-mapped boards like this
to work.

With a slight hardware modification, the four-port board can handle speeds
up to 57600 and also use a much smaller memory map into the host.

Tandy put out a service manual on this board that gives good drawings of
the option jumpers and I think has an I/O port map.

For an intelligent four-port board, this board was dirt cheap when it
was new, and Tandy sold a lot of them, including their use in all of
the Radio Shack stores with their POS system.


Frank Durda IV <uhc...@nemesis.lonestar.org>|"The Knights who say "LETNi"
or uhclem%nem...@fw.ast.com (Fastest Route)| demand... A SEGMENT REGISTER!!!"
...letni!rwsys!nemesis!uhclem |"A what?"
...decvax!fw.ast.com!nemesis!uhclem |"LETNi! LETNi! LETNi!" - 1983


steve scrivano

未読、
1995/08/02 3:00:001995/08/02
To:
In article <DCnxq...@nemesis.lonestar.org>,

Frank Durda IV <uhc...@nemesis.lonestar.org> wrote:
>Eric Adamson (adam...@cps.msu.edu) wrote:
>[0]Here's a challenge for all of you. I am trying to identify a mystery
>[0]card... First off, this card came from one the venerable Tandy 4000's
>[0]which until recently graced the back room's of Radio Shack stores across
>[0]the land. They recently upgraded to Pentium's and sold off their old
>[0]systems.
>
>I already know what it is....
>
>
>
>
>Frank Durda IV <uhc...@nemesis.lonestar.org>|"The Knights who say "LETNi"
>or uhclem%nem...@fw.ast.com (Fastest Route)| demand... A SEGMENT REGISTER!!!"
>...letni!rwsys!nemesis!uhclem |"A what?"
>...decvax!fw.ast.com!nemesis!uhclem |"LETNi! LETNi! LETNi!" - 1983
>

I am curious Frank, will this serial card fit in a Tandy 16/6000?


--
Steve Scrivano
sscr...@nyx.cs.du.edu

Frank Durda IV

未読、
1995/08/06 3:00:001995/08/06
To:
[2]steve scrivano (sscr...@nyx10.cs.du.edu) wrote:
[2]I am curious Frank, will this serial card fit in a Tandy 16/6000?


No. It is an ISA card. For IBM PC clones only.

新着メール 0 件