@Eugeny Thanks, to test on nextor on GR8net I've put Nextor on a FAT 16 SD card + my software
I've booted and set mapper 24 callnetsetmap(24) on an MSX2, it reboots with Nextor (from my SD card) and the software is running correctly, so no issue with GR8Net.
With F4 on booting + setimg, it works with a DOS1 DSK, I don't know if there are possibilities to launch a RAM disk with DOS2 or Nextor (could be interesting to test as well).
Currently, I have only issues to launch the software untill a certain point (freeze) with a Megaflashrom 512 SCC+ on a MSX2 (Turbo R works) on a SD card (not a DSK), I'm launching the com file straight way in Nextor on the MFR.
Based on the openMSX debugger, I've seen that the slot and pages are changing depending on the config:
Turbo R: (on MFR and DOS2 - Working)
page 0 slot 3-0 segment 3
page 1 slot 3-0 segment 2
page 2 slot 3-0 segment 1
page 3 slot 3-0 segment 0
MSX2 with MFR (not working):
page 0 slot 0-0 segment R0-1
page 1 slot 1 segment 0
page 2 slot 1 segment 0
page 3 slot 1 segment 0
(I thought that segments are set by default but I'm wrong, apparently)
MSX2 with MSX-DOS2 (working):
page 0 slot 0-0 segment R0-1 (what is R0-1 ?, is it a replication ?)
page 1 slot 1-1 segment 2
page 2 slot 1-1 segment 1
page 3 slot 1-1 segment 0
MSX2 with MSX-DOS1 (working):
page 0 slot 3-3 segment R0-1
page 1 slot 3-3 segment 2
page 2 slot 3-3 segment 1
page 3 slot 3-3 segment 0
The main differences between all those configurations is that the page segments are not set on a MSX2 with MFR by default, I presume that could be the root cause of the issue, but not sure
It would help if you say when you take these slot "measurements". I would put breakpoint onto address 0100h, and see the slot configuration on the COM application start. I suspect that slot 1 is MFR's RAM? And you use MSX-DOS2 cart in slot 1 (therefore its expansion RAM is in 1-1)? Then seems you are correct, all segment #s are 0, and it is not normal. And actually running any COM program of size >32K will crash machine because it will be loaded onto to system variable physical RAM area. What you can do - in openmsx in working and non-working configuration set breakpoint onto segment write registers (0ffh-0fch) and see what is the difference.
Ok, the slot and segment mapper in open MSX Debugger with an MFR on MSX2 is not accurate for sure, even at launch time, there are not shown, most probably because, the MFR mapper doesn't allow to read the mapper register (normally those are read only, depending on the mapper capabilities), but I can be wrong.
with a breakpoint at #100 on a Philips 8255 with MFR
page 0 slot 3-3 segment R0-1
page 1 slot 3-3 segment -
page 2 slot 3-3 segment -
page 3 slot 3-3 segment -
So I cannot check anything, but in the memory I see from time to time that the page 0 is changed (triggered by interruption ?) nothing in the code is doing such a thing, I will never change page 0 and page 3.
So I'm searching another investigation lead
If you send me your testbench zipped I will be able to give it a try (in the openMSX).
Ok I will, just found out your email on your site
Mail sent Eugeny, thanks for your supoort on this