Ok, it looks like it's the Hole in one RAM detection routine that pokes in the ROM at 0xBFFE (to search for RAM slots).
My hypothesis is that this poke does not have any effect on some devices but that it does (switch a page) on the Carnivore 2. This fix could be to reduce the range of the switch are to the same as other mappers ?
EDIT: Maybe this could be done without changing the firmware but just by reducing the "mask" before launching the ROM:
Carnivore 2 spec:
+06 R1Mask - mask for the address of the bank page register (this register is usually duplicated to several addresses for example for a Konami 5 (SCC) cartridge these addresses are for the first bank 5000h-57FFh, here it is given the mask of the high-order byte only is 11111000b or F8h initial configuration F8h
ASCII 16kb "specs":
ASCII 16Kb This type is used in a few cartridges: Xevious, Fantasy Zone 2, Return of Ishitar, Andorogynus and probably some more. Since the size of the mapper is 16Kb, the memory banks are: Bank 1: 4000h - 7FFFh Bank 2: 8000h - BFFFh And the address to change banks: Bank 1: 6000h - 67FFh (6000h used) Bank 2: 7000h - 77FFh (7000h and 77FFh used)
Nope, that's something else...
Okay, I think the problem is in the simulation of ASCII16 (and also ASCII8) mappers: the initial bank selection is incorrect in the current implementation, which breaks some games like this one. Already reported at RBSC...
So you were right manuel ! It works in SofaROM if I add this before launching Hole in One Special:
MEM_pokeSlot(_ucROMSlot, 0x6000, 0); MEM_pokeSlot(_ucROMSlot, 0x7000, 0);
So it looks like the Carnivore 2 default page numbers might be 0 and 1, and that some games are expected the values to be 0,0. I'll add init sequence for ASCII 16 in SofaROM to set all pages to 0 in ASCII 8 and ASCII 16.
Just hoping this won't break other games !
I checked my code for other device's drivers (MegaRam, Memory Mapper, etc...), and I was already intializing the pages for the ASCII16 to 0, 0. So that fix should not break existing games for Carnivore 2 (it sould in fact fix other games).
I've put that fix in SofaROM (updated version to 3.2) and uploaded that on my website. It's also available in the SofaRun 8.0 package.
There might be a fix in the Carnivore 2 firmware later (so that the good default values are set).
The same error is in the ASCII8 mapper.
Is it just for me or is the navigation completely broken and going crazy when using a mouse??
Which mouse are you using ? Is this a standard MSX mouse or a PC mouse with an adapter ? Other question: was it working with SofaRun 7.0 ?
The same error is in the ASCII8 mapper.
Will fix this one too and release something this week-end (hopefully with something that allows JoySNES and mouses to work happily together...).
I used PS2 to MSX mouse adapter. Both of them were going crazy. It was SR version 7. Oh by the way, I checked it out on version 8 and... the mouse doesn't work at all. Not even in games. The buttons work but the movement is completely frozen so I downgraded
mouses
mice
Ha, mice, yes. Your profile picture really suggests that you're an expert on that matter
Interesting... The MSX mouse is not supposed to move things in most of the games or SofaRun, unless you keep pressed the 2 buttons at power-up time (your mouse is then handled as a joystick by your MSX - you won't be able to use it as a mouse in graphical tools or other applications or games expecting a real mouse).
New questions:
- Were you aware of the "keep 2 buttons pressed at start" trick and did you use it ?
- Which "not working with mouse" games are you referring to ?
- What is your model of PS2 adapter (there are different ones).