RE: I,Robot Mathbox Question...

From: Jess Askey <jess_at_askey.org>
Date: Tue Feb 18 2014 - 19:28:55 EST

Binary sequence: That listing of 2-byte words that was in the original email... this one...

9000
8000
0B40
00E0
0000
FF00
00EE
0590
3FC2

Now, granted, I think there may be a JSR in there to a more complex location (I think there might be, however there may not be)... either way, that little snippet of binary there, should basically YAW rotate 5 degrees some sort of matrix and just a hunch, that matrix may exist at offset 0B40 (in MBOX RAM @ 2B40 then) and perhaps it may be writing the result to MBOX RAM at offset 0590?

Im just trying to figure out how this set of instructions translates into a YAW 5 degrees.

My end game is just like yours... I have a PCB set with infinite 'Black Hole' messages and all ROM's, RAM's, PROM', BitSlicers test good (PROM sockets seem fine too).... But the Mathbox passes self test just fine.

I emailed John M*nfreda for some CPU disassembly advice and haven't heard back but not everyone has time to dig into this stuff so deep, so I understand. It probably isn't all the easy to answer the question I posed of 'what causes the Black Hole message'... exactly that is. ;-)

jess

From: owner-vectorlist@vectorlist.org [mailto:owner-vectorlist@vectorlist.org] On Behalf Of Matthew Rossiter
Sent: Tuesday, February 18, 2014 3:14 PM
To: vectorlist@vectorlist.org
Subject: Re: VECTOR: I,Robot Mathbox Question...

Well, I'd like to give this thread a "bump" because I too would like to understand how to diagnose an I'Robot mathbox issue. I get the "black hole" error message. While I know the general area of circuitry where the fault is, I get lost in all the loops. Unfortunately I'm not code-savy enough to provide a good answer to your question. I do have a dumb question though, which binary sequence are you referring to?

Matt

Are you basically
On 2/8/2014 9:54 PM, Jess Askey wrote:
Im sending this to vectorlist since rasterlist doesn't have any Mathboxes except I,Robot and Im not sure who subscribes where. I know everyone that might know the answer to this is here tho. Apologies....

Im attempting to understand the I,Robot mathbox instructions using the MAME Source and the Memory Window of MAME so I can fix an I,Robot PCB with a bad mathbox issue. Im in the process of getting MAME compiling so I can set DISASSEMBLE_MB_ROM = 1 to examine more.
The MAME source is here... http://mamedev.org/source/src/mame/machine/irobot.c.html

Upon boot, the CPU does some basic tests (thank you Frito) of Pitch, Roll and Yaw rotations of 5 degrees and checks the result. If the number matches the predetermined value stored in ROM, then the test passes. If not, the Self Test shows the various 'Y Bad Data' or 'X Bad Data' etc.

The CPU puts this code into the Mathbox RAM for the YAW_5_DEGREES test (the first test)

9000
8000
0B40
00E0
0000
FF00
00EE
0590
3FC2

I have been trying to map instruction set to the Mathbox instructions in the MAME source above, which only consists of ADD, SUBTRACTS, OR, AND, XOR and some inverted variants.

Caveat: I got a C in Linear Algebra, so Im not that smart. :)

Since the mathbox is doing rotations/translations and from what I read in Jed's nice write-ups like this one (http://www.jmargolin.com/uvmath/uvmath.htm)
There needs to be some multiplication/division... I see the shifts in the DESTX Defines, which Im guessing covers that?

Can anyone help me understand how the MAME source commands relate to this binary sequence?

Thank you! Jess

---------------------------------------------------------------------------
** Unsubscribe, subscribe, or view the archives at http://www.vectorlist.org
** Please direct other questions, comments, or problems to chris@westnet.com
Received on Tue Feb 18 19:29:03 2014

This archive was generated by hypermail 2.1.8 : Tue Feb 18 2014 - 22:50:00 EST