100 Pin card interfacing via Arduino - Guidance needed

Hi all,

I've decided to build myself a new card for my old vintage computer. Since there is not much info about that computer and its interface and I'm also new to this hw dev, I decided to make use of an Arduino (just bought an Atmega2560) board to start the system analysis phase.

My plan is to:

  • Bypass all pins (actually only 81 are needed) to outside of the PC box by creating a simple PCB which fits into the 100 Pin slot (ISA-like) and has 2x50 PIN male connectors to be pluged in from outside
  • Connect the Arduino to that connectors. First challenge comes here: I need at least 81 Pins to be connected to the Arduino, so... what would be best: 2-3 Arduinos, any already existing expansion...?
  • Clock: Computer clocks @ 7Mhz, and I really need to monitor both rise and fall of the 7Mhz signal. 16 Mhz vs 7 Mhz supposes another problem. I am not sure if any cristal I could put on top of Arduino would allow me to have clear integration between the 16 and 7 Mhz systems without implementing shame-on-you routines...

Coding is not a problem, but I'm a little concern about following the right direction from the beginning. I am still lost trying to guess the name of the correct components I need to buy (i.e. the connectors for the PCB), also need to start building my PCB at home since this project will be a LOT of back and ford, test and error... pure scientific method :cold_sweat:

I'm really looking forward to do this project so that when I understand how to interact with the old computer, I will just extend my goals to:

  • Disk storage support via SDHC or USB flash
  • Provide additional RAM

Then, thank you for reading the complete email and I would really appreciate opinion from the community.

Regards.

Which "vintage computer"? By your limited description, it would seem that the machine is likely an S-100 bus computer. Unless it is a really obscure one (very possible) - it is very likely that documentation in some form exists somewhere.

That said, your chances are infinitely better is the machine is an Altair, IMSAI, or Sol (or one the other recognized "brands") than if it is something else.

Please post what it is - I own an Altair, personally (non-working at the moment) - and have done more than a bit of research and collecting of "vintage computing" information - so I may be able to help in some manner.

Regarding #3 - you can feed an external clock into the Arduino (well - ATMega microcontroller) - you'll have to implement it as a "custom board" and reset the fuses as appropriate (see the datasheet for the processor).

Also - even a Mega isn't going to have enough pins (I don't think) - you might have to set things up to use multiple boards and/or monitor logical groups of pins, assuming a pin-out can be had for your bus.

Note that while the S-100 bus was a fairly standard bus, there was a period prior to the adoption of that standard where similar, but incompatible 100 pin buses did exist - and even within the realm of the S-100 bus standard, not all boards for one machine would work on another.

For instance, I have a 6502 processor card (just the PCB - not populated) that I have found won't work with the Altair's S-100 bus - it's pinout doesn't match properly - but it's close (based on the limited research I have been able to do).

What kind of old computer? Make/model?

What where is this 100 pin connector? Or where in the computer are these pins? Provide a photo?

Mark

Hi,

It's an Amiga, Zorro II connector.

Actually most descriptions and things I could find so far aimed more towards the Zorro III. For the Zorro II implementation, I should consider it just an extension of the 68k bus, with small particular things of its particular nature (a PIC on top of a computer system). Thing is, the Zorro II life wasn't too long since the third version for the 32bit versions was obviously better.

Actually, I was just wondering about if I could keep "somewhere" the values for the D and A lines (16+23 bits = 39 bits!!) so that I don''t have to take them to the micro all the time, maybe only in certain cirtumstances (when any mem R/W instruction is to be executed, but that's still far from what i need to understand the communications with the Amiga).

Thx for the comments!

You can't use the Arduino well not the mega) to emulate the CPU or to replace memory - it's just to slow. But take a look at the Due.

However there would be no problem getting an Arduino to work as some other kind of device,

But you must find the spec for the bus!

Mark

Hi Mark,

it's not to emulate the CPU and create a RAM controller with the Arduino itself, but to understand how the downstream system works and how i would create a controller, some day.

Anyway, I get your point that the Atmel would be slow, which i hadn't even considered since the Amiga worked at 7Mhz and i expected to be able to process needed logic within time thx to the extra mhz.

@All:
Any suggestion on connectors I could use to connect the PCB to the Arduino? is there any bus interfacing IDE-like?

Thank you.