MegaFlashRomSCC+SD Mapper emulation bug?

Page 1/6
| 2 | 3 | 4 | 5 | 6

By Wild_Penguin

Champion (442)

Wild_Penguin's picture

06-03-2016, 12:44

Hi,

I wasn't sure if the emulated MegaFlashRomSCC+SD has the 512kb memory mapper built-in (in hardwareconfig.xml it says that hasmapper = true, but I was not sure what that means... a ROM mapper, RAM mapper, any mapper?)

In any case, as I had copied my sdcard into the emulated MegaFlashRomSCC+SD, the first thing I tried I ran testmap.com, and got a stutter error at the very beginning:
http://postimg.org/image/m8zo092mt/

The stutter error repeats a few times, but testmap "can continue" and in the end it says: "This mapper is oke".

However, this does not happen on a real MSX in a near-identical configuration (on the emulated MSX, I have two sdcards in the MFRSCC+SD and on the real one, internal memory is also expanded to 512kb). Is this a bug?

Login or register to post comments

By Manuel

Ascended (14131)

Manuel's picture

06-03-2016, 12:49

The hasmapper is indeed about the memory mapper. So that's included as you saw.

The memory mapper in this cartridge does not support reading back the memory mapper registers. I think this is where TestMap is complaining about. However, I think Manuel Pazos made a few modified versions which do support reading back the mapper registers. Perhaps you have such a version?

It could also be that you don't get it on your real MSX because you have also a built in 512kB mapper which does support reading back the registers. Try expanding the internal RAM of your emulated MSX too. However, I'm not sure that will give exactly the same results. Let me know!

By Wild_Penguin

Champion (442)

Wild_Penguin's picture

06-03-2016, 13:15

Expanding the internal memory in hardwareconfig indeed makes the "error" go away... I didn't actually realise what the error meant, in hindsight it is quite clear what it is saying (and I did know that officially the registers are read-only, although some mappers - as the one I have build - have back annotation).

So: no bug here! Smile

By giuseve

Paladin (724)

giuseve's picture

06-03-2016, 15:58

Hi WILD
Hi MANUEL
using your suggestions I prepared the MFRSCCSD+SD in OPENMSX from 0 and now it semms to work.
In fact, if I press the UP ARROW key at boot it starts the recovery mode of MFRSCCSD.
After a drive fault of my PC I have to build a lot of MSX stuff from 0, also many stuff the guys on MSX.ORG already sent me. Sorry for this !!
Now my problems are:
1) how can I assign a 32Mb.DSK DISKIMAGE to the SD of MFR? I tried in CATAPULT and in the MENU when OpenMSX is runniong with no results. Have I to use the console? which command? I don't remember
2) Has someone a READY-TO-USE xx.dsk image to use as SD of MFR bigger than 32 and ready with the latest version of NEXTOR and SYMBOS ?

Regards !

By Manuel

Ascended (14131)

Manuel's picture

06-03-2016, 16:26

It works the same as with the Sunrise IDE, so the hda/hdb console commands and -hda and -hdb command line arugments and of course also the Catapult Hard Disk Image feature should work with it...
See also http://openmsx.org/manual/user.html#sd

If you use Catapult, select the image before starting up the MSX.

Can you be a bit more specific on what happens and what you see when it's not working?

By giuseve

Paladin (724)

giuseve's picture

06-03-2016, 18:09

The problem is : it starts in basic. If I write FILES it says DISK OFFLINE while the same image set as IDE make MSX works correctly and MFRSCCSD is recognised (in fact if I press the UP ARROW key at boot it starts the recovery mode of MFRSCCSD)

I've tried also modifying share/extensions/MegaFlashROM_SCC+_SD.xml from 8 to 32 to accept my HDD.DSK of 32Mb with no results.

With this 32mb HDDImage inserted also MEGAFLASHROM seems not to work (in fact when I press the UP ARROW key at boot it doesn't start the recovery mode of MFRSCCSD)

If I start MSX with MFR CART as extension and NO HDD Image, it starts and MEGAFLASH works (in fact if I press the UP ARROW key at boot it starts the recovery mode of MFRSCCSD). In recovery mode if I push F5 to obtain SD Card Info, it says:
Maker: Unknown [AA]
Name: enMSX
Serial: 01123456
.. but I have no set any HDDIMAGE on the SD

By Wild_Penguin

Champion (442)

Wild_Penguin's picture

06-03-2016, 18:26

Hi giuseve,

What was confusing to me, was that there are two different versions of the sd-kernel image (.dat and .rom). The first one is supposed to be flashed from recovery, the latter from msx-dos via opfxsd.com. I found out this after a bit of head-scratching. This is mentioned in the documentation, but it quite easy to miss it, and the utility gives no warnings - it just flashes the image anyways, despite using the wrong type, and hence the cart will not work. A .rom image is only downloadable from Nextors download page, and is a slightly older version than the .dat available at msxcartridgeshop.

So, the question is: Does "call fdisk" (or "_fdisk") work in MSX-Basic? If not, the kernel was not flashed properly.

Did you flash a romdisk? If you do, you can easily see if the emulated MegaFlashRomSCC+SD is working / flashed properly or not, by ruling out the SD-card partition from the puzzle. After you get the romdisk working, you know you only need to add the SDCard (and you can always erase the romdisk, if you don't want it afterwards - that's what I did).

Hope this helps!

p.s. I have a 16GB SDcard in my MegaFlashROMSCC+SD - I made an image of it and it works well, but OpenMSX starting time is very long. I truncated it (so that all my partitions are in the image, and left the unused part out), which shortened the startup time quite a bit. This is something jsut to consider, if you are using a large SD card. I'm not sure what Windows utility can be used to truncate an image file easily, however...

p.s.s. I *think* OpenMSX (or MegaFlashRomSCC+SD, actually) needs whole HD / SD-card images with a partition table, but a single partition image might work, too. It really depends on the SD-Kernel, I think. Haven't tried it extensively, but I accidentally booted with a 5MB sdcard image, and call fdisk gave the option to format it as FAT12 without any partitioning, so there's at least some kind of support for plain FS images, it seems. I didn't format it and actually try it (but rebooted with the correct image). Manuel or Guillian might have more insight into this.

By Wild_Penguin

Champion (442)

Wild_Penguin's picture

06-03-2016, 18:46

Also, there's something fishy on my FAT16 filesystem created by the IDE extension. It's first partition is usable via the IDE extension (and OpenMSX diskmanipulator while using it), seemingly without any problems (I have two more partitions, which I have actually used very little). But if I choose the MFRSCC+SD extension and use the same image via it, the first partition will not work (The error was: non-dos disk, IIRC).

What is even more interesting, I can mount the image created by the IDE extension in Linux, but there are I/O -errors - and also, fsck (in Linux) says:

Filesystem has 4085 clusters but only space for 3070 FAT entries.

This is the same kind of error I got when I tried to mount the HD image in DMV (Dutch Moonsounds Veterans) musicdisk image (I know that was useless but I was confused Big smile )

However, I can mount images created by MFRSCC+SDs kernel (with call fdisk) without problems, and they give no errors with fsck.

So: either IDE extension in OpenMSX is making illegal/non-standard fat filesystems, or I have somehow corrupted the FAT on my IDE image. In the latter case, the DMV image problems is just an co-incidende (EDIT:It just occured to me that the IDE extensions ROM image I have might be an old version with bugs... haven't checked if there are newer versions available).

I can not be sure when my image got corrupted, it could have been caused by me (by accident). I would not have mentioned the whole thing, if it was not for these few facts: 1) The symptoms exactly same as with the DMV image, 2) I have no such problems with MFRSCC+SDs kernel images, 3) MFRSCC+SD has problems with my old IDE extension hdd image, too and 4) the image still works without any problems with the IDE extension.

It is also a possibility, that there's nothing wrong with the image, and Linux does not like some old FATs, in a similar way as the MFRSCC+SD Kernel does not like them.

Bottom Line: If you have weird problems with an existing image (especially if it was not used and/or created in an MFRSCC+SD), try to re-create a new image and format it with the MFRSCC+SDs Kernel.

By Manuel

Ascended (14131)

Manuel's picture

06-03-2016, 19:17

The IDE extension just runs the ROM software in the IDE cartridge. And these partition tables are not very generic, as far as I know.
The DMV image is not partitioned, it's in fact a partition image.

About large HD images (or SD cards): the latest development version at least shows progress on the hash calculation it does (which takes long). If you disable reverse, the hash calculation will be skipped, I think.

giuseve: if you don't pass any HDD image, you get the default one. In the console type 'hda' and you see the full path and file name. The size of that default one is the size you specified in that XML file. (Default is 8MB and 100MB, I think.)
Which version of the Recovery ROM are you using? Version 1.6 which I use says:

Maker : OpenMSX [AA]
OID-Name: op-enMSX
Rev-S/N: 1.0-12345678
Date: Jul 2014

If you get anything else (like you), you have an outdated Recovery ROM, which has some bugs.

Changing the HDD/SD image doesn't have any influence on whether the recovery ROM works.

By Wild_Penguin

Champion (442)

Wild_Penguin's picture

06-03-2016, 20:06

Manuel wrote:

The IDE extension just runs the ROM software in the IDE cartridge. And these partition tables are not very generic, as far as I know.
The DMV image is not partitioned, it's in fact a partition image.

Yes, I actually think the problems is not with partitioning but the filesystem, not with the partition table (this might not be clear from my post above, since the issue is complex - or I was bad at describing it)

I try to make my thinking more clear:
I have three hypothesis (what's the plural of hypothesis, just hypothesis? Smile ) 1) There's a bug in IDE ROM FAT FS creation 2) My FS has been corrupted after creation, but still works somehow on the IDE extension (but not on anything else) or 3) Some standard FAT FS don't work with Linux's modern FAT driver and the MFRSCC+SD kernel.

But now that you mention it, there is always another possibility: 4) the partition table created by the IDE extension (ROM) is non-standard. I was just assuming it is standard, since I can show the table with any Linux tool I like, use tools like kpartx etc... but if the partition is misaligned somehow (to what the Linux tools and MFRSCC+SD expect), I guess in that case there is the possibility that the FS is mountable but in a seemingly corrupted state (to the driver). A non-standard partition table would not have been an issue, since rarely would these disk(s) originally have been moved somewhere else from the interface.

However, the reason I mentioned this here is just in case someone runs into similar issues, since it could be a more generic issue / bug (not in OpenMSX, but in IDE ROM?). So I wouldn't worry too much about this, unless someone has a similar issue and/or this is reproduceable. It can just as well be a one-time fluke on my system, and I can always re-create the image(s) - and I'm currently using the MFRSCC+SD images, in any case, and moving stuff onto them. Smile2

P.s. the newest recovery is 1.7

By giuseve

Paladin (724)

giuseve's picture

06-03-2016, 20:13

Uhm,

I used your suggestion. Now i got your same results...
.. msx boots and shows the info about 2 HCSD cards...
.. then. it shows MSX-DOS 1.8 (???) and hangs up !

Page 1/6
| 2 | 3 | 4 | 5 | 6
My MSX profile