OpenMSX Universal ROMs Mapper

Page 1/3
| 2 | 3

Par Accumulator

Champion (351)

Portrait de Accumulator

14-04-2023, 06:03

We have seen several and multiple ROMs with their own MAPPER (konami etc)?
Can't we find an universal mapper that are able all the roms with out any compromise ?

!login ou Inscrivez-vous pour poster

Par Briqunullus

Paladin (776)

Portrait de Briqunullus

14-04-2023, 07:17

Mapper type for roms is embedded in the hardware. It's how it was when multiple different publishers and manufacturers were around. Nowadays we can only emulate and replicate designs from that era.

Par Vampier

Prophet (2415)

Portrait de Vampier

14-04-2023, 16:17

This is why I keep a overview here https://romdb.vampier.net/index.php and am thinking about headers for ROM file to indicate what mapper a ROM expects

Par max_iwamoto

Paladin (675)

Portrait de max_iwamoto

14-04-2023, 18:22

Vampier wrote:

This is why I keep an overview here https://romdb.vampier.net/index.php and am thinking about headers for ROM file to indicate what mapper a ROM expects

Maybe have a small separate file for each version of the ROM? Kind of like IPS. So you have the original ROM and then variations stored in separate files. Then emulator can offer you multiple ways to start this ROM based on the number of variations.

Par Bengalack

Paladin (805)

Portrait de Bengalack

14-04-2023, 20:13

Vampier wrote:

This is why I keep a overview here https://romdb.vampier.net/index.php and am thinking about headers for ROM file to indicate what mapper a ROM expects

https://romdb.vampier.net/index.php?show=2501

No sure why it says "ES". Should be "NO" I think :) (Or multi, as the audio is made in NL)

Par TomH

Champion (375)

Portrait de TomH

14-04-2023, 20:59

Vampier wrote:

This is why I keep a overview here https://romdb.vampier.net/index.php and am thinking about headers for ROM file to indicate what mapper a ROM expects

As the author of one of the more obscure emulators, I would strongly support this. In my implementation, which involves parallel execution, autodetection is accurate but very expensive.

Besides the practical concern, semantically the paging scheme is a physical fact of the cartridge which the existing images don't capture so such a header would produce a more-accurate image. It wouldn't just be a sop to emulation.

Par Vampier

Prophet (2415)

Portrait de Vampier

14-04-2023, 23:16

no thinking about RIFF headers - more about that soon Wink

Par Accumulator

Champion (351)

Portrait de Accumulator

15-04-2023, 06:58

The mapper is detectable by comparing write addresses in the start of the running code.
Konami5, VRC, Konami8 , ASCII8, ASCII16 etc have each their own way of addressing the memory space.

The nice checker from Tiny Yarou, The Tinyslotchecker, detects the mappers as well when cartridge is inserted.
TinySlotChecker3.2

Par gdx

Enlighted (6443)

Portrait de gdx

15-04-2023, 10:01

Accumulator wrote:

Can't we find an universal mapper that are able all the roms with out any compromise ?

No. I suggested a simple method that would solve the problem, but it doesn't seem to appeal to Manuel.

The method is to save SHA1 and the mapper type to an annex database when we manually select the mapper for a ROM that is not already listed in the existing database. Only the last mapper would be stored (by overwriting the previous one), so once the right mapper was entered, we wouldn't have to re-enter it afterwards.

Par Manuel

Ascended (19691)

Portrait de Manuel

15-04-2023, 10:46

I suggest to make an openMSX ticket with that idea and make a pull request for it... sounds like a good idea to me.

Par Accumulator

Champion (351)

Portrait de Accumulator

15-04-2023, 14:15

I noticed OpenMSX has difficulties with the Mappers, when adding a cartridge on a running OpenMSX instance, the page, port select and secondary slot, It does not have the correct result. I have the opinion the cartridge mapper has the preference in selecting memory and pages. And is not checking in which slot he is only allowed to operate.
After you have inserted the cartridge in a running instance and doing a jp 0h, sometimes it freezes... and does not start. (Bubble Bobble, Aleste, etc)

Page 1/3
| 2 | 3