See page 1 of this thread: in short, these rom images are hacked and do not exist in real hardware; openMSX doesn't emulate fictional hardware. (You can't emulate what does not exist.)
This is quite relative.
Someone could burn an EPROM with this .ROM image and put it on a PCB with a SCC+ (and some extra logic of course) which would make it real hardware.
When someone would do that and give it a name, we could emulate it But no one did, so it doesn't exist now. So we do not emulate it
Can you please show me the real hardware of the MSX-acid tests? Or maybe the Boosted MSX configurations? Or the MSX's with C-Bios? Do these exist is real hardware? No...
I know thar user-friendlyness has never been a part of OpenMSX's goals, but still...
You wouldn't need to emulate a fake mapper chip. It will be part of the interface, like a savestate. Simply copy the file contents to SCC+ RAM. If the file is >128KB, give an error.
Yep, that would be the approach. Like how you can load content in the megaflashrom SCC SD.
What we will not do is define a special mapper type that doesn't really exist.
For the sake of argument: I admit there is a grey area. But for us there is a distinction between a low level thing like a chip (implemented in C++ in openMSX) or just a config (implemented in an XML file, using existing chips). MSX-Acid tests (which were created for a very particular purpose), Boosted configs and BIOS configs are of the 2nd time. They all use existing emulated hardware/chips in different configurations than real hardware configurations. These are also clearly marked as such and are thus easy to recognize. They explicitly do not pretend to be something that really exists.
Anyway, as I said, there is a grey area. But for me, imaginary mappers are part of the area which we will not go in.
These are also clearly marked as such and are thus easy to recognize. They explicitly do not pretend to be something that really exists.
It's wrong for cartridge slots.
Anyway, as I said, there is a grey area. But for me, imaginary mappers are part of the area which we will not go in.
This is not an imaginary mapper. This mapper exists on several hardware. SCC+ has just a SCC with a sound mode and its mapper a little enhanced in extra (theoretically, the segment 03Fh can be used). You know it very well. The images of ROMs can not be executed on MSX as with an emulator, so it was necessary to add a writing mode.
Anyway Manbow 2 use this mapper but oddly in SCC mode (it's the same hardware as the MegaFlashRom SCC+). So a real cartridge exists even if the SCC+ mode was not exploited, instead, they preferred to add an emulated PSG.
And then, adding the SCC+ mapper might help future developers of a game cartridge that supports SCC+. This mode can support about twice as many segments than the SCC.
These are also clearly marked as such and are thus easy to recognize. They explicitly do not pretend to be something that really exists.
It's wrong for cartridge slots.
Sorry, what exactly is wrong for cartridge slots?
Anyway, as I said, there is a grey area. But for me, imaginary mappers are part of the area which we will not go in.
This is not an imaginary mapper. This mapper exists on several hardware. SCC+ has just a SCC with a sound mode and its mapper a little enhanced in extra (theoretically, the segment 03Fh can be used). You know it very well. The images of ROMs can not be executed on MSX as with an emulator, so it was necessary to add a writing mode.
Anyway Manbow 2 use this mapper but oddly in SCC mode (it's the same hardware as the MegaFlashRom SCC+). So a real cartridge exists even if the SCC+ mode was not exploited, instead, they preferred to add an emulated PSG.
And then, adding the SCC+ mapper might help future developers of a game cartridge that supports SCC+. This mode can support about twice as many segments than the SCC.
I'm sorry for being so confusing. The mapper exists in a Konami Sound Cartridge, Manbow 2 and all these things, and those are all emulated of course.
The point was, if I am correct, that someone created ROM images of the games of the Konami Game Collection that support SCC+. But those ROM images are imaginary. These are hacks, basically, which, if you want to run them as if they are a real ROM, require a mapper that doesn't exist in reality. As far as I know, they can be run on real MSX (as well as openMSX) by loading them into the RAM of an expanded Konami Sound Cartridge with a tool like BiFi's ROMload.
So, the convenience feature of openMSX could be to emulate an expanded Konami Sound Cartridge and load the ROM file directly into the RAM of the cartridge.
Sorry, what exactly is wrong for cartridge slots?
I'm surprised you ask the question for someone who is trying to emulate the closest real hardware. OpenMSX is based on fMSX and it still keeps some rest of the loading structure of the Roms. Whatever the emulated MSX is always like this it had two slots of cartridges. MSXs with one slot, there are always two proposed cartridge slots. Even if the insertion of a second cartridge causes an error, it does not correspond to the real MSX. And what about MSX with three slots? We can also make the same remark for the players and the cassette on TurboR. And I'm talking about OpenMSX. It's worse for Catapult, Nekolancher, and other IUs. It's the same for all other emulators btw but they do not claim to make only an emulation as real hardware.
I'm sorry for being so confusing. The mapper exists in a Konami Sound Cartridge, Manbow 2 and all these things, and those are all emulated of course.
The point was, if I am correct, that someone created ROM images of the games of the Konami Game Collection that support SCC+. But those ROM images are imaginary.
Those ROM images are real. These are the cartridges that are imaginary as many other Rom images.
These are hacks, basically, which, if you want to run them as if they are a real ROM, require a mapper that doesn't exist in reality.
The mapper exist in reality. The fact that ROMs are hacked is not a valid argument. OpenMSX has plenty of hacked ROMs in its database and it even allows patches to be applied.
As far as I know, they can be run on real MSX (as well as openMSX) by loading them into the RAM of an expanded Konami Sound Cartridge with a tool like BiFi's ROMload.
Yes but it would be more convenient and might help future developers of a game cartridge that supports SCC+ if we could run these ROMs directly.
So, the convenience feature of openMSX could be to emulate an expanded Konami Sound Cartridge and load the ROM file directly into the RAM of the cartridge.
No, just to run them as SCC ROMS with SCC+ mode support in extra. I think the RAM mode is not necessary to emulate in this case.
Otherwise, I agree with you. It's better that the emulator is as close as possible to the real hardware. I hope someday the problem of cartridge slots will be closer to the real hardware.
However, there are concessions to make. For example, BlueMSX is doing too much and OpenMSX sometime too little. Balance can be not easy.
PS: It seems to interest nobody but this anyway is the list of SCC(+) games badly converted:
Name: Ago Board (J) [SCC].rom
sha1: ac69b8ce562e0d028e6fb633a1da8f217d4b5384
Name: Ago Board (J) [SD Snatcher SCCI].rom
sha1: a1f25068fe21451e088ddcba9ffadb32a28f55f7
Name: Ago Board (J) [Snatcher SCCI].rom
sha1: 8655daf0c2514871b1193a9501f313b1ca1205f5
Name: Ago Board (J) [Snatcher SCCI-a].rom
sha1: d2bf0752652fca2854291ab29ce6a78ef90dab79
Name: Ago Board (J) [SD Snatcher SCCI].rom
sha1: 9af054a9e4ad4ade22036a4e1ff09676e139d971
Name: Antarctic Adventure (JE) [SCC].rom
sha1: 1a69b09ff7e3a4dc11af223703da51f3570385be
Name: Antarctic Adventure (JE) [Snatcher SCCI].rom
sha1: fd96d592b370be552606a52b9615b565bfdce674
Name: Antarctic Adventure (JE) [Snatcher SCCI-trimmed].rom
sha1: e1c7169bd44a3c67f2941a14699b954d7e337d29
Name: Antarctic Adventure (JE) [Snatcher SCCI-a].rom
sha1: c911aa14c8cd1e14e9d1115dabba79279244c364
Name: Gradius - Nemesis [SCC].rom
sha1: 6b42315eddefa0a33ea0c4510d6a4bc1086a5163
Name: Gradius - Nemesis [SD Snatcher SCCI].rom
sha1: f2854b7198f325691a5ad3129bd05b44d6120771
Name: Hyper Rally [SD Snatcher SCCI].rom
sha1: 828189123dd2de0999ca06f536152171765ef24d
Name: Hyper Rally [SD Snatcher SCCI-a].rom
sha1: b70c423f388e45f87bb9f2e36fef169e1e87abc5
Name: Hyper Rally [SD Snatcher SCCI-trimmed].rom
sha1: 958c2a686fe52324c0adb85b3dda4471910f7000
Name: Hyper Rally [Snatcher SCCI-a].rom
sha1: 175197d71a0c84bece3f1c69e966629bb9b1167e
Name: Hyper Rally [Snatcher SCCI-trimmed].rom
sha1: ff4c92cc84676c62b9c08b197effc6eda741db01
Name: Hyper Soumen (J) [SCC].rom
sha1: 4d5d45e19799aa579d46a64e609fb19bbcdf7509
Name: Hyper Soumen (J) [SCC-trimmed].rom
sha1: 2f6e0a02fcc3d368db142ac837304c18c5226e2f
Name: Hyper Soumen (J) [Snatcher SCCI].rom
sha1: 35d9b943887b2fd28ce8c3226150fd46a9171302
Name: Hyper Soumen (J) [Snatcher SCCI-a].rom
sha1: d5781ee77f7225881c8f0f9e23cee8e358e3585d
Name: Hyper Sports 2 [SCC].rom
sha1: a88b970a1ded9f842b05a51fa55982051772285f
Name: Hyper Sports 2 [SD Snatcher SCCI].rom
sha1: 7c78b569d8c30fee8ceb933f9734b0b185bb489e
Name: Hyper Sports 2 [SD Snatcher SCCI-a].rom
sha1: 4a20ebdf702beeaf1a73e28d809acbbffb52e08f
Name: Hyper Sports 2 [Snatcher SCCI].rom
sha1: e133c464211b8a4611b536e6c2bad1206cb5f47b
Name: Hyper Sports 2 [Snatcher SCCI-a].rom
sha1: ef8eb8f9e735f73c91f3589a0413c9af880fe0ea
Name: Knightmare Majou Densetsu [SCC].rom
sha1: 19a5ace95499f1c9e87b0e00aa935f10ac03e283
Name: Knightmare Majou Densetsu [Snatcher SCCI].rom
sha1: 87401678f41988125b875d0251e833c84b0449aa
Name: Knightmare Majou Densetsu [Snatcher SCCI-trimmed].rom
sha1: f795668afe66c7d88e51f5a22471e2c0a42c7ffb
Name: Knightmare Majou Densetsu [Snatcher SCCI-a].rom
sha1: 6f5bcc0fed64b2b4ab6a3cd40497c67f1500bcd8
Name: Konami's Boxing [SCC].rom
sha1: d0d992f200eec803a50ee1f49208fc40e2937cf9
Name: Konami's Boxing [SD Snatcher SCCI-a].rom
sha1: bf805b244b1f11f28d3f0c0a7b7a7fa092b0f140
Name: Konami's Boxing [SD Snatcher SCCI].rom
sha1: 8aba6e7314de0853123eabb903cace74a318452a
Name: Konami's Boxing [Snatcher SCCI].rom
sha1: 8e57b2aa021d02ad3bd78135291f2f2f6313d91f
Name: Konami's Boxing [Snatcher SCCI-a].rom
sha1: 41614f2af570cc9c2e5ceb6e0dcadbed43f61ef0
Name: Pippols [SD Snatcher SCCI].rom
sha1: 1853a8c3d6cfee63d588f3012c8bf3112a091052
Name: Pippols [SD Snatcher SCCI-a].rom
sha1: e405cea1f9faed4f50f6bb00941f9aa58f1550bd
Name: Pippols [Snatcher SCCI].rom
sha1: 68b49a3a5bf9afd22a513d85dae0903ad246ea74
Name: Pippols [Snatcher SCCI-a].rom
sha1: ff43001b4074b6444b66e876d184d918f63d1bce
Name: Pippols [Snatcher SCCI-trimmed].rom
sha1: 9293403c3811b667d21408f4d670b21373ea333e
Name: Road Fighter [SD Snatcher SCCI].rom
sha1: a84ec7c03271fcbe3391008b238d6b6b201d8bcf
Name: Road Fighter [SD Snatcher SCCI-a].rom
sha1: 8ae1bb5feee6753c91095381560f2c15cbd458ba
Name: Road Fighter [SD Snatcher SCCI-trimmed].rom
sha1: 9a5e3433c5d82f2166969162bb822a965c741ce5
Name: Road Fighter [Snatcher SCCI].rom
sha1: a8ad80780884962de89a388fb93b836a908e5fb4
Name: Road Fighter [Snatcher SCCI-a].rom
sha1: 6cb6cbf33d281389018838eaf0cbecb2251b374a
Name: Road Fighter [Snatcher SCCI-trimmed].rom
sha1: cc15f65d607a573e0bcd23abe9d0d825e05deb10
Name: Sky Jaguar [Snatcher SCCI].rom
sha1: e4b0deeca01a0230abd962c1a3430f0f38b3002d
Name: Sky Jaguar [Snatcher SCCI-a].rom
sha1: 694b670cb1515fbbee628cab5cbcd20e2d22b2a8
Name: Sky Jaguar [Snatcher SCCI-trimmed].rom
sha1: ac4facb517e2383b4cb22504cda961b15af0a83e
Name: Super Cobra [SCC].rom
sha1: 748cbd2ccac0bf35c0a3f72539a299ef3a46a240
Name: Super Cobra [Snatcher SCCI].rom
sha1: bbba175a97731606845518fc20284e36e5cff67b
Name: Super Cobra [Snatcher SCCI-a].rom
sha1: 04e8da43bf6dfcb1d37709fc9e5bbbfebdea3964
Name: Super Cobra [Snatcher SCCI-trimmed].rom
sha1: 93ab050bc4965667ee863773b8ecd36dd4f3f86c
Name: Title Awase (J) [SCC].rom
sha1: 887e990667a3123505651b684458161a93f1a7f0
Name: Title Awase (J) [SD Snatcher SCCI].rom
sha1: b29673df820cfceb3958709c18680bab8f6d0295
Name: Title Awase (J) [SD Snatcher SCCI-a].rom
sha1: e74bf9c6d04b69b8cdc258ff48288616f1a89eb7
Name: Title Awase (J) [Snatcher SCCI].rom
sha1: 5907bebbe4236a998b126179b01ba4b67753531b
Name: Title Awase (J) [Snatcher SCCI-a].rom
sha1: 3d7c3bb24ed17d0a100bc767a1eacc1bc775a788
Name: Tsururin-kun (J) [SCC].rom
sha1: 0825b9d045d0baed10b3173597db86ad0b8e4d70
Name: Tsururin-kun (J) [SCC-trimmed].rom
sha1: 3f20b96149f58b86d1f0e79483d5ddf402191ec9
Name: Tsururin-kun (J) [SD Snatcher SCCI].rom
sha1: 053f4af750da02f58128d9fd439576186d0f031c
Name: Tsururin-kun (J) [SD Snatcher SCCI-a].rom
sha1: cc9981ed8c11063b4df0cf13879ac79558ed87f0
Name: Tsururin-kun (J) [Snatcher SCCI].rom
sha1: e34c18dffe2485b0148e4da0e1be50bbc1345e14
Name: Tsururin-kun (J) [Snatcher SCCI-a].rom
sha1: 4a5238525fa1a1b13c531edc148f7d874660c7f5
Name: Twin Bee (JE) [SCC].rom
sha1: ffb79f90f39c6cda8b2123169571e70fb1cf2c1e
Name: Twin Bee (JE) [SD Snatcher SCCI-trimmed-a].rom
sha1: b813123219446f16cd10b916cc18ec4a8d7c69de
Name: Twin Bee (JE) [SD Snatcher SCCI-trimmed].rom
sha1: 8f6a53b7017ce3c0c75671a21ec0ae38e3533b2d
Name: Twin Bee (JE) [expanded 128K SCCI].rom
sha1: c551d8cbe7a2e1e34d6662f5861336dffad05397
Name: Twin Bee (JE) [expanded 128K SCCI-trimmed].rom
sha1: 39a91558bba92b7310455cd7513276d487de0f9d
Name: Twin Bee (JE) [expanded 128K SCCI-a].rom
sha1: 7a8f50f5f74276905c9ee8e312f4d4f9271dbe0c
Name: Twin Bee (JE) [expanded 128K SCCI-a2].rom
sha1: de6975824b9f71423892a2e872f0b42a7a6172a5
Name: Twin Bee (JE) [expanded 128K SCCI-a2-trimmed].rom
sha1: 7b119b1cb5b7189389f2f80dcd256e36f16e5a93
Name: Video Hustler [SCC].rom
sha1: c2e4f17cd27351b815deea791633cfeb14d10d5d
Name: Video Hustler [SD Snatcher SCCI].rom
sha1: 9fe73453c63cbfec2c6109212c6572c9086635f3
Name: Video Hustler [SD Snatcher SCCI-a].rom
sha1: f51edc521b61e20da50a489c873c4210529c670d
Name: Video Hustler [Snatcher SCCI].rom
sha1: 9e32d67c4e1626645205519677f0fdca3a2facb9
Name: Video Hustler [Snatcher SCCI-a].rom
sha1: ff4304b2c3731e77d30b0127655ade966afa9173
Name: Yie Ar Kung-Fu [SCC].rom
sha1: 3942c434819677a9da615c2a0a3af27bfeec90fe
Name: Yie Ar Kung-Fu [Snatcher SCCI].rom
sha1: dd9e19b4d0ab30eef1a05bc39ec0bc29fcc14811
Name: Yie Ar Kung-Fu [Snatcher SCCI-trimmed].rom
sha1: 0f81ebbd3d02796500b3f862fe1a8d584fb228d3
Name: Yie Ar Kung-Fu [Snatcher SCCI-a].rom
sha1: 4dea553154f5d0b8ba1d76639987848edc930c33
Name: Yie Ar Kung-Fu II - The Emperor Yie-Gah [SCC].rom
sha1: b109e505835432ab711ea44ea4387dfa87b610ff
Name: Yie Ar Kung-Fu II - The Emperor Yie-Gah [Snatcher SCCI].rom
sha1: 9aa5bb3c13b7b9a72f239627af446b348cae6aac
Name: Yie Ar Kung-Fu II - The Emperor Yie-Gah [Snatcher SCCI-a].rom
sha1: 0d64c2267701e57361e43f41b9e226067c60f983
Name: Yie Ar Kung-Fu II - The Emperor Yie-Gah [Snatcher SCCI-a2].rom
sha1: e8bbf703ad86606403ef0c4dd6c0dbc7188bc35d
Name: Yie Ar Kung-Fu II - The Emperor Yie-Gah [Snatcher SCCI-a3].rom
sha1: d06139c4cddb41415c976c2fef3bface8a2808da
Many of them have sound that don't work on real hardware (mainly the SCCI versions), or can crash randomly because of interruptions that occur at the wrong time. SD Snatcher versions are a nonsense because it's impossible to run a Rom without the segments 0 to 7.
Sorry, what exactly is wrong for cartridge slots?
I'm surprised you ask the question for someone who is trying to emulate the closest real hardware. OpenMSX is based on fMSX and it still keeps some rest of the loading structure of the Roms.
No, openMSX is NOT based on fMSX. Never was.
Whatever the emulated MSX is always like this it had two slots of cartridges. MSXs with one slot, there are always two proposed cartridge slots. Even if the insertion of a second cartridge causes an error, it does not correspond to the real MSX. And what about MSX with three slots?
That's not true. Since the start in 2001, openMSX works with machine configuration files. (And openMSX was actually the first MSX emulator to emulate specific MSX models.) They specify which slots are external and only those can be put cartridges in. So not always two, only the ones specified. Try a Philips NMS-801 for instance, it has no cartridge slots so no cartridges can be inserted. On the other hand, the Sony HB-F500P for example has 3 cartridge slots. You can use all three of them and none more. If you add a slot expander, you can use 4 extra slots.
We can also make the same remark for the players and the cassette on TurboR. And I'm talking about OpenMSX.
Also not true. On turboR it is not possible to use cassettes.
So, if you're talking about openMSX, all you said is simply not true.
It's worse for Catapult, Nekolancher, and other IUs. It's the same for all other emulators btw but they do not claim to make only an emulation as real hardware.
Having said the above, there are some remarks to make on the user interfaces:
- Console: everything I said is fully visible there
- OSD Menu (openMSX internal UI): limitation is that the menu shows at most 2 cartridge slots and 2 disk drives to save screen space. The rest is visible: if there are less than 2 cartridge slots, no disk drives or no cassetteplayer, the menu will show it.
- openMSX Catapult: this software is basically unmaintained for years now and it never was made smart enough to ask openMSX how many cartridge slots, disk drives, cassette connectors are available in the current MSX model. So the Catapult UI always shows two cartridge slots for instance. That doesn't mean you can actually use them when they're not available. openMSX will of course not accept a command to insert a cartridge in a slot that doesn't exist.
- NekoLauncher and other UIs: I don't know, I don't have a Mac and our team is not responsible for those.
We once started a new Catapult written in Python. That UI fully shows what is possible, including all cartridge slots and disk drives available. See https://github.com/openMSX/catapult At least on Linux, it runs pretty OK, even though development stopped over 5 years ago.
I'm sorry for being so confusing. The mapper exists in a Konami Sound Cartridge, Manbow 2 and all these things, and those are all emulated of course.
The point was, if I am correct, that someone created ROM images of the games of the Konami Game Collection that support SCC+. But those ROM images are imaginary.
Those ROM images are real. These are the cartridges that are imaginary as many other Rom images.
These are hacks, basically, which, if you want to run them as if they are a real ROM, require a mapper that doesn't exist in reality.
The mapper exist in reality. The fact that ROMs are hacked is not a valid argument. OpenMSX has plenty of hacked ROMs in its database and it even allows patches to be applied.
That doesn't mean that openMSX implemented emulation for something that doesn't exist to make these ROM images work. The hacks only change mapper type to some already existing (real and emulated) mapper or just change the code.
So my point is that the hacks are assuming a hardware configuration that only exists when the ROMs would be loaded into a Konami Sound Cartridge.
As far as I know, they can be run on real MSX (as well as openMSX) by loading them into the RAM of an expanded Konami Sound Cartridge with a tool like BiFi's ROMload.
Yes but it would be more convenient and might help future developers of a game cartridge that supports SCC+ if we could run these ROMs directly.
How would it help future developers? What real situation are we emulating then? A ROM cartridge with a built in SCC+?
We work like this: a real cartridge like that we can add emulation for. But not the other way around. (You can't emulate what doesn't exist.)
So, the convenience feature of openMSX could be to emulate an expanded Konami Sound Cartridge and load the ROM file directly into the RAM of the cartridge.
No, just to run them as SCC ROMS with SCC+ mode support in extra. I think the RAM mode is not necessary to emulate in this case.
As I said, let first such a cartridge exist and we'll implement emulation for it.
Otherwise, I agree with you. It's better that the emulator is as close as possible to the real hardware. I hope someday the problem of cartridge slots will be closer to the real hardware.
I hope I made clear that this problem doesn't exist.
However, there are concessions to make. For example, BlueMSX is doing too much and OpenMSX sometime too little. Balance can be not easy.
Yes, sometimes it's hard to make the right balance. That's why I spoke of grey areas. Our starting point is simply to emulate hardware (that exists, otherwise it's not emulating) as realistically as possible. And we add convenience features that do not interfere with this where possible. (And if they interfere, they are switched off by default.)
PS: It seems to interest nobody but this anyway is the list of SCC(+) games badly converted:
Perhaps it helps to explain for each what the problem is.
openMSX works with machine configuration files. (And openMSX was actually the first MSX emulator to emulate specific MSX models.) They specify which slots are external and only those can be put cartridges in. So not always two, only the ones specified. Try a Philips NMS-801 for instance, it has no cartridge slots so no cartridges can be inserted. On the other hand, the Sony HB-F500P for example has 3 cartridge slots.
Where is the third slot?
On turboR it is not possible to use cassettes.
I did not say it's possible. I said there is the same problem with the slots. That is to say the option appears in menu but I agree this problem is not in OpenMSX interface, only in external interfaces.
Perhaps it helps to explain for each what the problem is.
it's explained under the list.
openMSX works with machine configuration files. (And openMSX was actually the first MSX emulator to emulate specific MSX models.) They specify which slots are external and only those can be put cartridges in. So not always two, only the ones specified. Try a Philips NMS-801 for instance, it has no cartridge slots so no cartridges can be inserted. On the other hand, the Sony HB-F500P for example has 3 cartridge slots.
Where is the third slot?
As I wrote in my previous post:
- OSD Menu (openMSX internal UI): limitation is that the menu shows at most 2 cartridge slots and 2 disk drives to save screen space. The rest is visible: if there are less than 2 cartridge slots, no disk drives or no cassetteplayer, the menu will show it.
If you think it's worth it, I can make all slots and drives available as follows: if there are more than 2 slots/drives, the 2nd menu entry changes into "Load ROM... (any slot)" and "Insert Disk (any drive)..." which will open up a sub-menu with all available slots/drives.
Perhaps it helps to explain for each what the problem is.
it's explained under the list.
Well, that explanation isn't very clear to me, it seems imprecise.