Being a MSX newbee, I'm trying to understand MSX 1 memory configurations, especially the one of my CX5M. I already understood some of it (I think...) but there are some questions remaining, which I couldn't find an answer to.
What I have and know:
My CX5M has 32KB of on board RAM. If I'm using it as a barebone machine, then that's all there is. Simple!
I then purchased a 64 KB expansion cartridge/PCB from raphnet. That replaces the 32KB of internal memory with the 64KB on the cart, giving me a total of 64KB. That's obviously the case, because now I can run 64K games from tape/MSX2CAS. So far, so good.
Then I purchased one of these 512KB MemoryMapper/MegaROM carts. Because I don't have another mapper nor 128 KB, I can't use the MegaROM option of that cart. Ok, got that as well. But I can use the mapper, which will be configured by Nextor when I'm booting from my SDCard. That seems to work fine as well, a simple test program in BASIC shows that there is a mapper present and that it has a total of 512KB. I can run VGMPLAY as well, which requires more memory...so all is good here.
But from here on, it becomes a bit hazy...
I ran TESTMEM with the 512KB MM cart only. It reports 64KB of base memory and 512 via the mapper. I assume that the 64KB of base memory are actually mapper memory mapped onto the slots, because my MSX doesn't have 64KB on board. Why it doesn't subtract this from the available 512KB is beyond me, but maybe that's on purpose. So my first question is:
1.) Is it true, that the mapper extends my base memory to 64KB or is this just some faulty reading from TESTMEM?
Then, I tried to launch the "Auf Wiedersehen Monty" ROM via Sofarun, which failed with a message that my device has only 32 KB of RAM available which isn't sufficient to launch the game. This leads to my second question:
2.) When launching a ROM via Sofarun, what happens to the mapper RAM? Is still available or is it disabled? I assume the latter, because why would Monty fail otherwise if TESTMEM reports 64 KB of base memory when the mapper is active!?
Next step...because my MSX has one cartridge slot only, I made myself a simple adapter to plug my 64KB expansion into the rear expansion slot, which is basically a male cartridge port. That works fine, the machine sees and utilizes the 64 KB just as before if I'm not using the mapper cartridge.
When using both cartridges together, it doesn't seem to affect the TESTMEM readings, which I expected somehow...I guess... However, it does affect the Monty-ROM. If I'm starting this one now, it reports that my machine has 128+ KB of RAM. Which indicates that either Monty is reading nonsense here or that all of a sudden, now the mapper in active (in addition to or as a replacement of my 64KB expansion) and the ROM sees all the memory. So question 3 is:
3.) If I'm using the mapper in combination with the expansion, how much RAM am I supposed to have when launching a ROM via Sofarun. 64KB or 512KB via the mapper?
And my final question:
4.) Is it even possible to detect the amount of slot-based, MSX1 style base memory in a machine once a mapper is configured? And is it even possible to use this memory? Does a 64KB machine (native or via expansion) plus a 512 KB mapper actually result in a 576 KB configuration or are the 64KB "wasted" in that case?