I posted a bunch of pics of the LEDs. Let me know if you need anything else. I also uploaded pics and ROM dumps of Quiz Kid Speller and Mattel Basketball, but haven't documented the hardware for those yet. And I "decoded" the instruction decoder. www.seanriddle.com/mm5799.html

63 7-bit words are decoded in the upper center part of the die; this handles all opcodes except CALL and GO. We might need to trace some of these to see how options are set for AXO, EXC+ and LB (*,0).

Also, there are only 96 nibbles of RAM, but the RAM address register is 7 bits- 3-bits for the "register" (Br) and 4-bits for the "digit" (Bd). RAM can be organized as 8 registers of 12 digits or 6 registers of 16 digits. Some instructions increment or decrement Bd, and others exclusive-OR Br with a constant. I'm not sure if those instructions respect the RAM organization: if RAM is set up as 8x12 and Bd is 11 and gets incremented, does it roll over correctly to 0, or go to 12, which is invalid? I'm guessing it goes to 12 and that index is a mirror of some other one. It would be up to the programmer to handle that.

I'm not sure how the 8x12 addressing maps to the 96 bits. I was using B as the index into RAM, but in 8x12 mode, if Br=7 then B=$70, which is beyond the end of RAM. I fudged it for now by setting the RAM size to 128 nibbles, but that won't handle mirroring. Hopefully no code relies on that anyway. It might be moot- so far as I'm emulating the 3 games, none of them have accessed beyond register 5, digit 15.

There's a similar question about ROM pages 8-15; the docs say they "cannot be used", but I'm guessing they just mirror other pages.

Successive LBs are skipped, but what about LBLs?

I compared the Quiz Kid Racer and Speller dies to Basketball and couldn't see any differences other than the ROM and output PLAs.