0

I'm trying to decode serial packets from an old serial Spaceball 5000, and despite searching I can't find a reliable piece of code to translate the data I'm getting (yes, I've looked at the code that says the 5000 uses the magellan protocol, but the same code that works on my magellan doesn't work here for some reason).

If anyone knows the protocol, that's great, but if not, I can report that "zero" seems to come through as "0xe0 0x80" (0b11100000 0b10000000)

Focusing on the first byte, the lower nibbles look like they're steadily increasing, but the upper nibbles... are strange, almost like the top two bits are a parity of the bottom bits:

    # a1 1010 0001
    # a2 1010 0010
    # 63 0110 0011 
    # a4 1010 0100
    # 65 0110 0101
    # 66 0110 0110

Pushing the axis the other direction, again I'm seeing lower nibbles that decrease, while the top is doing something odd:

    # 5f 0101 1111
    # 9e 1001 1110
    # 9d 1001 1101
    # dc 1101 1100
    # 9b 1001 1011
    # 5a 0101 1010

it's almost as if the top two bits are "10" if the count of the rest of the bits is even and "01" if the count of the rest of the bits are odd, at least in the first set... in the second, that's not quite true.

The second byte of each pair has similar odd progression but it varies so fast I can't get a good read on it.

Is this some sort of nonstandard encoding anyone is familiar with? Or does anyone have a proper copy of the Spaceball 5000 code that deals with this encoding?

vputz
  • 163
  • 8

0 Answers0