VOGONS


First post, by sander

User metadata
Rank Newbie
Rank
Newbie

Bought these ISA cards from amibay 5 years ago and they've been lying in my closet every since. At the time I was intrigued as they contained 5 z80 processors in total and had quite some IO pins. Of course no drivers available and I had no idea what type of machine they came from. Maybe a medical device? Anybody recognizes these?

The attachment two_z80_card.jpg is no longer available
The attachment three_z80_card.jpg is no longer available

Anyway, I had some time this week to reverse engineer the cards and get MS Basic running on them. Two unfortunate things, only 8Kb of RAM per processor available and the 2nd z80 on the dual z80 card could only be used as a relay for the IO ports. Cool thing is, I made all IO pins available through basic. If you do a warm reboot, your hello world will still be running 😉

The attachment IMG_20260326_172022_MP.jpg is no longer available

Reply 1 of 6, by wierd_w

User metadata
Rank Oldbie
Rank
Oldbie

Might be useful for running very old, vintage cp/m applications that expect zilog?

I'm not sure what else you'd want to have a sidechannel zilog envirionment for. The hardware is rare/undocumented, so any 'interesting' use would not get a lot of airtime ourside of a vanishingly small number of people. (Possibly just one...)

If that's OK though, using it for some kind of sidechannel IO controller might be interesting.

What kind of access does it have to the PC side of things?

(For instance, a programmable IO controller. 8k is rather small, but if you have all the io pins under general control, creating a bespoke sram card addon for that header would be possible. Then new code could get copied in and out to/from that SRAM as needed, allowing more 'interesting' uses for the board on the remaining IO pins. It could be software configurable to do a wide array of potentially interesting things if it can produce/respond to PC IO port writes, for instance.)

Reply 2 of 6, by Errius

User metadata
Rank l33t
Rank
l33t

From some sort of blood testing machine

RBC = Red Blood Cells
WBC = White Blood Cells
PLT = Platelets
HGB = Hemoglobin

ETA: https://www.reddit.com/r/vintagecomputing/com … _is_for_or_its/

"This all reminds me when i took the windows vista sticker thingy off my old laptop, and on my washing machine as a joke. A few days later said washing machine stopped working. I still think this cannot be a coincidence."

Reply 3 of 6, by sander

User metadata
Rank Newbie
Rank
Newbie
Errius wrote on 2026-03-26, 21:17:
From some sort of blood testing machine […]
Show full quote

From some sort of blood testing machine

RBC = Red Blood Cells
WBC = White Blood Cells
PLT = Platelets
HGB = Hemoglobin

ETA: https://www.reddit.com/r/vintagecomputing/com … _is_for_or_its/

That's great!, didn't think of those at all. They could be ISA cards from the Spectramax m2e (it says m2e....) microplate reader. Also that reddit post is the exact card I have in possession as well.

Reply 4 of 6, by sander

User metadata
Rank Newbie
Rank
Newbie
wierd_w wrote on 2026-03-26, 16:39:
Might be useful for running very old, vintage cp/m applications that expect zilog? […]
Show full quote

Might be useful for running very old, vintage cp/m applications that expect zilog?

I'm not sure what else you'd want to have a sidechannel zilog envirionment for. The hardware is rare/undocumented, so any 'interesting' use would not get a lot of airtime ourside of a vanishingly small number of people. (Possibly just one...)

If that's OK though, using it for some kind of sidechannel IO controller might be interesting.

What kind of access does it have to the PC side of things?

(For instance, a programmable IO controller. 8k is rather small, but if you have all the io pins under general control, creating a bespoke sram card addon for that header would be possible. Then new code could get copied in and out to/from that SRAM as needed, allowing more 'interesting' uses for the board on the remaining IO pins. It could be software configurable to do a wide array of potentially interesting things if it can produce/respond to PC IO port writes, for instance.)

That is a great point. Using it as a side-channel IO controller is definitely the most interesting route, though the hardware limitations do dictate the "speed" of that interest.

To give you a better idea of the architecture: I have 12 IO ports that I use for communication with the cards. The 71055L is connected to the IO ports and through that I talk to the Z80 processor. All IO pins are connected to the 71055L and not to the Z80, which makes them unsuitable for anything Z80 io intensive, like memory. The IO ports do give the option of getting data in and out, so in theory I could write a virtual filesystem driver for CP/M and all other peripherals the PC has and communicate with those. I should probably replace the RAM, but then again I should probably redesign the card 😉 I briefly looked into CP/M 1.xx but couldn't find a Z80 version.

The 71055L (essentially a PPI) acting as the gatekeeper means the Z80 is somewhat "insulated" from the PC's main bus. Your idea about a bespoke SRAM card is clever, but since I can't map external memory directly to the Z80 without going through that IO bottleneck, it becomes a bit of a "Ship of Theseus" problem—by the time I make it work, I've basically built a new computer!

As for CP/M 1.xx, it’s worth noting it was originally built for the Intel 8080. Since the Z80 is backward compatible, it should run it, but finding a version pre-configured for this specific IO-mapped setup is definitely the needle in the haystack.

Reply 5 of 6, by wierd_w

User metadata
Rank Oldbie
Rank
Oldbie

Nono, I meant the sram would be FOR the z80.

You have some 32k of ROM in which a device kernel and service routines can live, and a fairly robust IO header that you could put paged sram memory on.

Paging looks like it would be 'copy' based, rather than actual paging, but that just makes it slower.

Consider: you keep 4k of the 8k ram untouched, and use this for stateful things, use a rom routine to copy the bottom 4k into the sram at the currently defined page, then move the page, copy the 4k from the sram at the new page into the bottom 4k.

Your Z80 program needs to consider memory in this way, but you could put a much bigger user code library in this way, just keeping essential routines and state in rom and the top 4k.

The additional io pins can then be marionetted by the z80, based on a potentially much broader number of instructions written to it, since we can put user service routines in the sram.

Reply 6 of 6, by wierd_w

User metadata
Rank Oldbie
Rank
Oldbie

However---

IF you want to lift the RAM off...

You can steal some of the IO pins to function as chip select lines, and straight up expand the memory design with actual paging.

Regardless, I was thinking things like 'I can plug in very strange disk drives' like commodore ones, which speak a high level language, and have a rom based operating system baked into them.

Or, 'I can make the z80 do some non io-bound task (from the host pc POV) on its IO pins, without the host being aware at all'. There's a very large area that this covers. Everything from tone generation to driving robots from simple commands. (Maybe both at once, such as reading and writing to tapes with a commodore tape drive, but possibly with more dialects than just commodore. We just want the commodore tape drive for its arbitrary positioning ability (i maybe misremembering, but I believe it could do this programmatically. If not, well, there's io pins to drive the 'simple robot' with, using some digital signals in place of buttons on a modified shoebox recorder). We ciuld write TI tapes or do other neat things to the tape for music production.)

This is why I was suggesting a way to increase the size of user programs inside the z80 'enclave'.