I have been working on cloning the Casio KB-10 Docking Station. I’ve actually made some good headway, and have Slots 2 and 3 working. Here is a link to my work: https://retrodepot.net/?p=12593
While determining what improvements I would like to make I began wondering about adding an on-board disk controller. To do this I could divide Slot-3 into subslots. Leaving Slot 3-0 to 3-2 in the primary slot, and breaking out Slot 3-3 on the board itself to include a disk interface. Though, I see this as taking away from the functionality of that slot. Stripping it of it’s ability to use various cartridges that may require the full mapping of the primary slot - such as memory cartridges.
This got me thinking, I might be able to use Slot-0. Although I am unsure if the MX-10’s CPLD based engine implements the 0xFFFF register. So I decided to do a little probing in basic. I wrote a small basic program to read 0xFFFF and print it to the screen, as well as reading and printing 0xA8. This was to give me some visual feedback as to the values they contained. Interestingly, 0xFFFF contained the value 240 ( 11110000b ). This suggests that the computer boots initializing 0x8000-0xFFFF in Subslot 0-3. I then added a few lines to poke 0xFFFF with 00000000b, and print the new value back to the screen. The results were that the computer continues to run without any issue.
To me, this implies that the MX-10 does not implement the 0xFFFF register in Slot 0. And as such, if I were to decode for this subslot I would only run into bus contention. Or do I have this all wrong? I figured there was probably some program that someone wrote somewhere that tests the various slots and subslots to determine what is located in each slot’s map. This would allow me to identify if the system reads the same Rom / Ram in each of the Slot 0 subslots. However my Google-Fu has left me without any valid targets.
Does anyone have any suggestions?