The Philips NMS 8235 is the reference machine I use in OpenMSX for all my test.
Are there any known differences between this machine in OpenMSX and the real hardware?
I'll test the last version (fs0211) on my NMS 8250 (the only real hardware I own) but the previous version worked fine.
Are you acessing the vdp too fast?
Are you acessing the vdp too fast?
I used the 29cc timing limit found on Grauw's MAP site for Graphic Mode 2 (I'm not using the fact there is no limit during VBlank).
The game has been reported to works well on Casio PV-7 and National CF-2700, both MSX1 computer with TMS9918 so I don't think this is a timing problem.
The game is a 48K ROM with address range from 0000h to BFFFh, having its header at 4000h and having is own interruption handler (optimized for game). Perhaps some flash tool don't handle this kind of ROM well?
Phillips machines should not give you any troubles concerning memory and slot selection. Are you selecting slots? how do you handle that without the BIOS?
Allready tried what happens when you disable your int handler (just ei ret)?
Yes, at startup my crt0 (https://github.com/aoineko-fr/CMSX/blob/master/cmsx/src/crt0...) set the pages 0 and 2 at the same slot than the page 1's one (where my header is located).
If I don't read the VDP status register in the interruption handler, the game hang because of my synchronization code.
By the way, the game work on all emulators I tried (OpenMSX, BlueMSX, MEISEI, Emulicious, fMSX, RuMSX and WebMSX) and has been reported to work on many real MSX. So, I suppose the problem come from some specifics environment (either MSX hardware or the way of launching the game).
Since openMSX emulates VDP timing pretty accurately, it should not be an issue of too-fast access.
Maybe the issue is with how the ROM is loaded? Does the MFR support 48K ROMs? What if you specify the ROM type explicitly to the opfxsd loader?
The problem seems related to wrong slot/subslot selection. Probably the subslot is not correctly set.
The game works using /U option (disabling the subslots).
I tried the last version of my game with MFR SCC and MFR SCC+ SD and even if flash occured without problem, the game don't start in both case. My last 32KB version work fine so I suppose 48 KB is the problem.
On the MFR SCC+ SD, opfxsd detect a Linear 48/64KB binary but I don't know if it is well placed at address 0000h. If it is placed at 4000h, it can explain the problem. I'll try to make a 64KB ROM and try to flash it at Linear 48/64KB. 0000h is the only available address to such ROM so it can solve the problem.