So I started the backup if the DMS II recorder in order to get the rom image online. I’ve cut the SLTSL line (pin 4) from the connector and add a switch plus resistor to the EPROM so I can image it from within the CX5M without dangerous insert-tricks while the computer is on. This is how that looks:
(The cx5m also has an extra insert-protection for this which makes it almost impossible to do this live-inserts though… )
With this modification I can boot to BASIC and load up software to save the ROM memory to disk. I formatted a disk on the CX5M to be sure it could be read back again but the whole disk thing is not that simple anymore with the new OS’ses around. First try was this formatting on the MSX:
I have an old PC around with a FDC controller which has a Mitsumi drive attached to it but using Windows 7, the explorer crashes anytime I want to do something with the floppy. CURSES! even when trying to reformat.
I’ve set the FDD controller in the PC bios to DS DD 720KB capacity (might be important) but still… no gain.
Eventually I found that the best way to get the files from MSX to a PC Machine is Linux (surprise? 😉 ) what was I thinking… didn’t MSx stood for MicroSoft – anyway…)
I booted the PC into the Linux Mint distro which works very clean. At first there were also problems reading the disk, but after installing fdutils I got lucky. Here’s some info on that. Having a package like that available immediately grew my confidence I could get linux to read the MSX floppies.
Not too easy though, I eventually formatted the floppy again on linux which luckily the MSX read back without problems. I used:
fdrawcmd recalibrate 0
But maybe that was not necessary, my drive was acting up all the time so I just tried it. I was hesitating in formatting the drive again but just couldn’t get anything on there so on with the format…
fdformat /dev/fd0 mkfs.msdos /dev/fd0 mount /dev/fd0/ /media/floppy0
NOTE: if you format the drive on a PC, you can’t leave disk inserted while booting the MSX. The PC format kills the boot code on the floppy – your MSX will read invalid code and will not boot.
After this I could put the downloaded WBass2 assembler on the floppy and went back to the CX5M – started the assembler with RUN “autoexec.bas” and finally saw the assembler popping up. Almost there.
The DMS II cartridge was in cartridge port 1. I flipped the switch so the ROM activates and now I need to switch that slot 1 in reach of the memory manager. In WBass2 you can do that like this:
PAGE 0,1,0,3 PAGE 1,1,0,2 PAGE 2,1,0,1 PAGE 3,1,0,0
Now looking at address &H4000 you can see the rom is available. You can invoke the memory monitor by typing “MON <address>” in this case: “MON &H4000”, looks like this:
Now I just save the whole 64K to the drive and find out on my Mac what area’s I really have to save.
Keen viewers will see I used “bsave” in the picture but that’s not right – “bsave” also saves the binary addresses header in the file which you don’t want to be there in a rom file.
Now I load the disk back into the linux machine and save the DMS rom to my network drive. I edit the image on my Mac with a program called Hex Fiend (which is great!) and check the blocks.
Eventually it came down to an essential 32K of code which I’ve shared for you here.