SofaROM bug report thread

صفحة 17/21
10 | 11 | 12 | 13 | 14 | 15 | 16 | | 18 | 19 | 20 | 21

بواسطة Louthrax

Prophet (2496)

صورة Louthrax

06-02-2021, 12:28

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)

بواسطة Louthrax

Prophet (2496)

صورة Louthrax

06-02-2021, 13:20

Nope, that's something else...

بواسطة Louthrax

Prophet (2496)

صورة Louthrax

06-02-2021, 13:37

Manuel wrote:

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 Smile ! 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 !

بواسطة Louthrax

Prophet (2496)

صورة Louthrax

06-02-2021, 14:01

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).

بواسطة Manuel

Ascended (19677)

صورة Manuel

06-02-2021, 14:19

The same error is in the ASCII8 mapper.

بواسطة VegaVegas

Resident (60)

صورة VegaVegas

11-02-2021, 23:16

Is it just for me or is the navigation completely broken and going crazy when using a mouse??

بواسطة Louthrax

Prophet (2496)

صورة Louthrax

12-02-2021, 07:15

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 ?

بواسطة Louthrax

Prophet (2496)

صورة Louthrax

12-02-2021, 07:17

Manuel wrote:

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...).

بواسطة VegaVegas

Resident (60)

صورة VegaVegas

12-02-2021, 12:08

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

Louthrax wrote:

mouses

mice

بواسطة Louthrax

Prophet (2496)

صورة Louthrax

12-02-2021, 12:30

Ha, mice, yes. Your profile picture really suggests that you're an expert on that matter Wink

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).

صفحة 17/21
10 | 11 | 12 | 13 | 14 | 15 | 16 | | 18 | 19 | 20 | 21