Casio MX-10 Subslots

By jdgabbard

Resident (44)

jdgabbard's picture

24-10-2021, 09:37

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?

Login or register to post comments

By zeilemaker54

Champion (363)

zeilemaker54's picture

24-10-2021, 12:10

Cartridge slots can be secundairy slots, most cartridges will work in a secundairy slot. But it adviceable to provide at least one cartridge slot as a primairy slot for cartridges who need a primairy slot (slot expanders for example).
Expanding slot 0 is a no-go, because the ROM-BIOS of the Casio is in slot 0, and would respond to all secundairy slots in slot 0. Expanding slot 3 is the most logical thing to do, as most MSX computers have this slot expanded. A disk controller could be placed in any of those slot 3 secundairy slots (for example subslot 1). You could even add RAM in an other subslot (for example subslot 2) to expand the memory to 64 KB. The KB-10 has a cartridge slot in slot 1, and you can provide an extra cartridge slot in slot 2 in your expansion, or even a extra cartridge slot in slot 3-0 (a system with 3 cartridge slots!).

By sd_snatcher

Prophet (3684)

sd_snatcher's picture

24-10-2021, 16:30

@jdgabbard

Just one tip: Your MX-10 should be able to boot Nextor with the SD-512. You just have to enable both the cartridge internal slot expander and its memory-mapper expansion. Use the two switches on the top of the cartridge for that.

By jdgabbard

Resident (44)

jdgabbard's picture

24-10-2021, 17:23

@sd_snatcher

Yeah, that is what I’ve been using. It works pretty well.

@zellemaker54

Well, there has been a partial schematic drawn up of the MSX. I was thinking it could be possible that it could be expanded. But if you’re saying that there is a software limitation where it doesn’t know what to do when returning from subroutines in lower memory, that would be a shame. At the very least it may be possible to add 16k of memory. Since there is an open 16k in the Slot 0 map.

But, it does sound like slot 3 subslots is likely where I’ll want to put it if I decided to add it in the expansion.

By jdgabbard

Resident (44)

jdgabbard's picture

12-11-2021, 02:06

Zeilemaker54, I just realized you're the one with the Sourceforge project with the MSX Bios files. Is that correct? If so, I may have some questions for you on utilizing some of those tools.

By gdx

Enlighted (6636)

gdx's picture

12-11-2021, 09:38

jdgabbard wrote:

Casio decided not to implement the /BUSDIR pin. Not a problem when you only have one slot. But can become an issue if you have multiple slots due to bus contention.

There are MSXs with two slots whose /BUSDIR pins are not connected.

jdgabbard wrote:

I began wondering about adding an on-board disk controller.

I think is not necessary to include a disk interface. Floppy disks are useful only occasionally. You will have 3 slots which is more than enough to do a lot of things. I think a floppy disk interface in cartridge is better.

Even so, if you think it is insufficient, you can expand the slot 3 to 2~4 cartridge slots. (In this case, think to use a more powerful power supply.)

By zeilemaker54

Champion (363)

zeilemaker54's picture

12-11-2021, 15:30

jdgabbard wrote:

Zeilemaker54, I just realized you're the one with the Sourceforge project with the MSX Bios files. Is that correct? If so, I may have some questions for you on utilizing some of those tools.

Yes that's me myself and I.

By jdgabbard

Resident (44)

jdgabbard's picture

13-11-2021, 19:58

gdx wrote:

I think is not necessary to include a disk interface. Floppy disks are useful only occasionally. You will have 3 slots which is more than enough to do a lot of things. I think a floppy disk interface in cartridge is better.

Even so, if you think it is insufficient, you can expand the slot 3 to 2~4 cartridge slots. (In this case, think to use a more powerful power supply.)

No, it's not necessary. Though, it might be nice to have one built into the adapter. I ultimately envision placing this on GitHub along with a printable enclose so that others could build this if they so choose. The biggest issue I have with FDC cards is the extra desk space clutter. You've got the drive, a PSU for it, the floppy cable... It might be nice to have it a little more tidy.

As for the PSU, I don't see my solution has being an issue. My on-board solution is capable of 3A at 5v. My testing so far has shown this to draw under 1A. So unless the Floppy drive is to consume more than 1A (I've never tested what one draws current wise) I don't see this as being much of an issue outside of maybe some thermal planning in the PCB and using a larger inductor capable of more current.

By jdgabbard

Resident (44)

jdgabbard's picture

13-11-2021, 20:04

zeilemaker54 wrote:
jdgabbard wrote:

Zeilemaker54, I just realized you're the one with the Sourceforge project with the MSX Bios files. Is that correct? If so, I may have some questions for you on utilizing some of those tools.

Yes that's me myself and I.

I'll PM you. I have a suggested update for one of your drivers you might want to change.

EDIT: Well I said that, MSX Forums do not support private messages I suppose. Do you have a preferred contact method?

By gdx

Enlighted (6636)

gdx's picture

14-11-2021, 14:49

jdgabbard wrote:

As for the PSU, I don't see my solution has being an issue. My on-board solution is capable of 3A at 5v.

I didn't say your solution has an issue. I was saying that in case you are using the original PSU and especialy if you planed to expand the slot 3. With more than 2 slots, you can put energy-guzzling cartridges at the same time like the V9990, old RAM expansion (with many RAM chips), USB cartridge, etc. KB-10 internal PSU replaces the original PSU of the MX-10.

jdgabbard wrote:

it might be nice to have one built into the adapter.

I really think it's better to add a Memory mapper MSX1 compatible, and if possible an SD card interface. A floppy disk drive takes up space and is of little use these days. Otherwise, do not add anything, it is already very good like that.

Another idea: Maybe it is possible to make an adapter with a flat cable, to be able to use your dock on a PV-7/16?