HP-IB, Amigo/cs80 was Re: hp 9153 floppy & disk

Steve Robertson steerex at ccvn.com
Fri Feb 12 21:04:38 CST 2010


> > I am not much of a programmer, I'd be happy to help out where I can.
>
> How about an AVR-based box (open, no BGAs, etc) perhaps with an SD
> socket or CF socket, with an HPIB interface that will work with a)
> "real" IEEE-488 hosts and b) PET/CBM hosts which are electrically
> GPIB/IEEE-488, but might have some "Commodoreisms" when it comes to
> timing and throughput and such since they are implemented as 6502 code
> wiggling PIA and/or VIA I/O lines?
>
> Once you have a platform that is electrically and timing-compatible
> with HPs and PETs, it shouldn't matter if you choose to implement
> Amiga/CS80 or CBM "DOS" at the firmware level, and a generic "IEEE
> Disk" would be useful in a number of environments, not just HP and
> CBM.  I wouldn't require that the same box be able to do either
> Amiga/CS80 and CBM DOS without a reflash, but it might not be
> impossible if the MCU has enough code space and perhaps a spare I/O
> bit to look for a configuration jumper (or even some sort of "magic"
> secondary address to send configuration requests to).
>
> There are several options in the PET/CBM/C64 arena for IEC (serialized
> IEEE), but so far, I don't know that any of the discussions or
> proposed projects for a parallel IEEE disk have progressed to the
> point of hardware you can build and firmware you can download.
>

I've been tinkering with this idea for quite some time and have a couple of
observations.

The project I'm been pondering would use AVR micro along with an IDE disk to
emulate a CS80 drive. The IDE interface is pretty simple although like the
HPIB it does requires a lot of I/O lines. Between all the handshaking and
control signals with the IDE and HPIB devices, it would require a TON of
I/O. Either that or you have to do some fancy muxing of the I/O.

So, to make the HPIB control simpler, I'd prefer to use a HPIB controller
chip like the NEC7210. That chip just hangs on an 8-bit bus and uses
internal registers to free up some of the I/O lines on the micro. The
biggest problem is finding a reliable supply of HPIB controller chips.

My solution to this would be to break this project in to two separate
smaller projects. Firstly, use a separate microprocessor to emulate the 7210
controller chip. This would provide several advantages:

1.) You wouldn't need to worry about the supply of 7210's for future
projects. Simply burn a $4 AVR and you have a HPIB controller chip.

2.) The dedicated controller would handle all the low-level interface stuff,
the signaling, BUS timing, etc... So, programming would be much simpler. You
just read and write to the AVR controller "registers" just like you would a
7210.

3.) The 75160/1 pairs are still available. I think DIGIKEY has them in stock
at a reasonable price. Note that these are not "just" I/O buffers. There are
a few additional gates in the devices that add some more logic that one
might expect.

So, the AVR could eliminate the need for the 75160/1 bus driver chips. If
you fry a $4 AVR... Who cares? It doesn't cost much more than the dedicated
drivers.

Hmmm... The more I think about this, the less certain I am about eliminating
the 75160/1 pairs. Normally, one would know what direction data was moving
on a bus. But with HPIB, it can be ambigious.

IE: A device might assert a SRQ (service request) at the same time another
device is receiving data. So... What direction is the data moving on the
bus. The talker is asserting some of the control lines, the listener is
asserting some of the lines (NFRD, etc), and a third device might be
asserting some lines. Hmmm. I gotta give this a little more thought.

4.) You might be able to build a simple "adapter" board and use the AVR in
place of hard-to-find 7210's in existing equipment.

5.) Modifying the project for other purposes would be much easier. For
instance, you could use the same project with some code modifications to
emulate a HPIB tape drive, a HPIB instrument, a bus analyzer, etc...

Just a few quick observations.

See yas, SteveRob




More information about the cctalk mailing list