Help - launching 32kB ROM on MFR SCC+SD

بواسطة shram86

Expert (117)

صورة shram86

18-12-2019, 05:08

I want someone to double check that I am not going insane or understanding something wrong.
This issue is reproducible in OpenMSX.

What appears to be the issue is that the MFR does not scan all pages of the cartridge's ROM for the cartridge header - only the first bytes of the file. Loading my built ROM in openMSX works fine until I try to mount it with a virtual MFR. Then I get the same crash I witness on my hardware. I managed to fix it by duplicating the cartridge header in page 1. If I'm not mistaken then the beginning of each page of memory SHOULD BE checked for a cartridge header, not just the first few bytes of the cartridge data.

Details:
A 32kB ROM intended to exist in pages 1-2 will not boot on an MFR if the ROM does not have its header in page 1.
(This is contrary to observed behavior w/o MFR)

To reproduce:
1. Create a 32kb ROM image with its header at org $8000 and empty space at $4000
2. Load into openMSX
3. Observe boots properly
4. Load MFR SCC+SD into expansion slot
5. Load same rom image using MFR SCC+SD browser, reset emu
6. Observe ROM will not boot

Login أوregister لوضع تعليقاتك

بواسطة Guillian

Prophet (3529)

صورة Guillian

18-12-2019, 12:23

It seems to work fine.

I recompiled King's Valley adding #4000 empty bytes, so the ROM header is at offset #4000 (address #8000) and the game boots and works.

Perhaps the problem is in your ROM.

بواسطة shram86

Expert (117)

صورة shram86

18-12-2019, 14:43

I just performed exactly the steps you said you did and I got the same crash.

OpenMSX freezes on a blank blue screen if the first page is filled with all zeroes when loading the ROM through MFR SCC+SD. When loading it normally it works fine. How are you not experiencing this? Are you sure you're testing on the latest SCC+SD firmware?

بواسطة Pencioner

Scribe (1609)

صورة Pencioner

18-12-2019, 15:06

I think Guillian tests on latest firmware of course (because he developed the device). But i'm not sure about your tests. Do you use real device or openMSX? If openMSX then it is not a problem with MFR but the problem of it's emulation Big smile so the post title should be "Help - launching 32kB ROM on MFR SCC+SD emulated in openMSX" otherwise you just confuse people around

بواسطة shram86

Expert (117)

صورة shram86

18-12-2019, 15:16

The behavior is the same, whether on my hardware or emulator. (HBF1XD) I ask because openMSX does not contain the latest distro of his rom, at least it didn't for me.

بواسطة Pencioner

Scribe (1609)

صورة Pencioner

18-12-2019, 16:11

ah, that's it. you might want to strip down your rom to something which doesn't contain any proprietary code (say just prints Hello World) but still reproduces wrong behaviour and send it for investigation. so no blind guess involved Smile

بواسطة shram86

Expert (117)

صورة shram86

18-12-2019, 16:20

I already reproduced the issue with the same behavior using a good dump of King's Valley like Guillian suggested, though he is not getting the same result (because he likely reproduced it incorrectly/on a different machine config). This should be evidence enough...

بواسطة Manuel

Ascended (19678)

صورة Manuel

18-12-2019, 16:41

If your openMSX MFR SCC+ SD doesn't contain the latest firmware, you can of course just update it, just like the real thing... The procedure is identical.

بواسطة Guillian

Prophet (3529)

صورة Guillian

18-12-2019, 18:04

shram86 wrote:

I just performed exactly the steps you said you did and I got the same crash.

So you disassembled and recompiled King's Valley? Congratulations.

shram86 wrote:

I already reproduced the issue with the same behavior using a good dump of King's Valley like Guillian suggested, though he is not getting the same result (because he likely reproduced it incorrectly/on a different machine config). This should be evidence enough...

Evidence of what?

I also made a simple "Hello world" test, and worked fine.

Could you post your code or a sample to test it?