Reading old equipment output logic

I have a piece of test equipment from 1982 that has an DB37 output port. The machine has 2 sets of 14 segment starburst displays one is 3 decimal and one is 4 decimal.

I have parsed all the output pins and have a table of values for each segment of data. Unfortunately its not directly connected to the displays. To complicate things a few pins appear to have 3 states 4.5v, 1.3v and 0.0 or GND(1,0,N).

Here is what I discovered:
10 pins are used for 3 decimal value set (5 pins for each decimal with last decimal being high or low)
18 pins for 4 decimal set (same as above but with a decimal place state change)
1 pin for mode switch (High or LOW)
1 pin for drive motor voltage monitoring in mV.
1 AREF pin
1 GND pin

Here is an example of a parse of the first 5 pins for the first segment of data containing 3 decimals:

PIN 1 2 3 4 5 VALUE
STATE 0 0 0 0 0 0
0 1 0 0 N 1
0 0 0 0 1 2
0 1 0 0 1 3
0 0 0 1 0 4
0 1 0 1 0 5
0 0 0 1 1 6

etc...

My question is what is the a good way to read all of this data simultaneously. I have a couple of MEGA's and was planing on using port manipulation.

This has been a long project just to get the machine working again. I guess I am just looking for suggestions and trying to avoid anymore major pitfalls further into the project.

Thanks

Suggestions? Yes, I have a few. Please read this, especially topic #11:

How to use this forum

Why the mystery? Why don’t you tell us what this piece of test equipment is?

You’ve also not told us why you're doing what you’re doing. If you want help, you need to explain, in detail, what you’re looking to achieve with an Arduino. “Getting the machine working again” doesn’t help us understand what you see in front of you and what you want to see at the end of the journey.

WattsThat:
Suggestions? Yes, I have a few. Please read this, especially topic #11:

How to use this forum

Why the mystery? Why don’t you tell us what this piece of test equipment is?

You’ve also not told us why you're doing what you’re doing. If you want help, you need to explain, in detail, what you’re looking to achieve with an Arduino. “Getting the machine working again” doesn’t help us understand what you see in front of you and what you want to see at the end of the journey.

Thanks for your reply.

Sorry I don't understand. The machine works. I'm not trying to fix it, it's fixed. I am trying to read the output which I did my best to describe.

How would you suggest quickly reading 5 sets of 5 bit data from 25 pins regardless of where it is coming from using an arduino?

Actually looking over my tables I pretty sure its just a form of Binary.

Because you have three levels, you can't read it as digital signals. From your description. the system uses trinary data.

How did you determine the voltages? Oscilloscope? Multimeter?

Can you post the complete table (or tables).

You can use two comparators for one signal that can give you e.g. the binary values 01 (0V), 00 (1.3V) and 10 (4.5).

Direct port manupilation will propably work if you can live 125 ns (I think) between the reads of each port. Else you need to use external latches to first latch the all data and next read it out.

You can use e.g. 7 times 74HC573 as latch.