SofaSMS bug report thread

Door Louthrax

Prophet (2276)

afbeelding van Louthrax

17-05-2020, 20:08

Hi all,

SofaSMS version 1.0 has just been released. It can be downloaded from my website, and is now integrated (with default and per-game settings) into the latest 7.0 release of SofaRun.

This tool can launch SG-1000 games on standard MSX 1 machines, and Sega Master System games on MSX with Playsoniq or Franky extension cartridges.

Most of the "user" settings are available through SofaRun:

There are several other developper-oriented settings through the command line, and an SSMS.INI file is provided in which you can add patches to fix specific games. All games are not working yet, but this shoud allow to fix per-game issues.

NYYRIKKI Artificial Intelligence code is used to distinguish code from data in order to avoid wrong patching, but it isn't 100% accurate yet. There are some ways to improve that, I'm working on this. Waiting for that, we'll have to specify when to ignore patching (/IP) or force patching (/FP) in the SSMS.INI file. Several games have already been fixed this way, (check the provided SSMS.INI file).

I recommend to use video MSX emulation for SG-1000 games, as the palette of the MSX is the same as the SG-1000.

The audio emulation for SG-1000 games is based on Tiny Yarou's code, with extra support for OTIR instructions (that allows Galaga sounds to work).

Let me know of any problems you might encounter on this thread.

Aangemeld of registreer om reacties te plaatsen

Van gdx

Prophet (3507)

afbeelding van gdx

18-05-2020, 09:47

It's too much complex for me. I tried to run something for half an hour I did not succeed to execute anything on my MSX.

For example if I set:
SG=%sSSMS.COM %f /SD2 /II1;Run with SSMS

I get errors "Specified slot not expanded" and "User Error 9" when I run a SG-1000 game.

In addition, displayed crc32 seems different of the Rom crc32.

Van Louthrax

Prophet (2276)

afbeelding van Louthrax

18-05-2020, 12:33

gdx wrote:

It's too much complex for me. I tried to run something for half an hour I did not succeed to execute anything on my MSX.
For example if I set:
SG=%sSSMS.COM %f /SD2 /II1;Run with SSMS

That's why the SSMS tool is now integrated into SofaRun. Start from the new SR.INI file (merge your local changes inside), and launch the SG-1000 games with SofaRun and default options, the complexity is hidden at this level. Let me know if that works already Smile Also, if you put a custom command line for SSMS like you did (not using "SG=*7"), you won't have access to the SofaRun UI settings.

gdx wrote:

In addition, displayed crc32 seems different of the Rom crc32.

That's explained in the documentation (and displayed by SSMS.COM as "16KB CRC32" or something) : the CRC32 is for the first 16KB of the ROMs. Computing the whole CRC32 on MSX would just take too much time.

Van gdx

Prophet (3507)

afbeelding van gdx

18-05-2020, 14:03

Louthrax wrote:

That's why the SSMS tool is now integrated into SofaRun. Start from the new SR.INI file (merge your local changes inside), and launch the SG-1000 games with SofaRun and default options, the complexity is hidden at this level.

That's what I did.

With default parameters I get the error "Specified slot not expanded" then SRUN quits.
With SMS settings:
Audio: MSX
FM detection: none
FM: none
Joystick: MSX
Mapper: none
Pause button: none
PSG to MSX: no
Video: MSX
I get the error "Parce error: Value out of bounds" then SRUN quits. I tried different parameters without success.

So I removed "SG=*7" and added "SG=%sSSMS.COM %f /SD2 /II1;Run with SSMS" as I said above. I tried different parameters without success.

(Tested on my Japanese MSX1)

Van Louthrax

Prophet (2276)

afbeelding van Louthrax

18-05-2020, 14:46

Thanks for the details, I'll check that slot expander error. Can you tell me which type of game you are launching (SG or SMS) and the configuration of your MSX (RAM expansion, SD Card...) ?

EDIT: The "Value out of bounds" error was caused by a wrong mapping of the settings to the parameters in SofaRun. Just redownload SR.COM, it should be fixed.

About the "Slot not expanded" error, could you go into BASIC and give me the results of :
print peek(&hF344)
print peek(&hFCC1)
print peek(&hFCC2)
print peek(&hFCC3)
print peek(&hFCC4)

Van Louthrax

Prophet (2276)

afbeelding van Louthrax

19-05-2020, 21:31

GDX, to give some explanations about why I asked you those values : it looks like on your MSX, the "main RAM slot" (that can be retrieved at &hF344), is marked as expanded, when the expanded slots descriptions (from &hFCC1 to &hFCC4), tell that it is not expanded.

I put the "Specified slot not expanded" as an error for users who specify a not expanded slot (in the form "X") when the real slot is expanded. There's also another error message if you do the opposite (specified slot in the form "X-Y" and slot not expanded).

The same check applies when you do not specify a slot (main RAM slot at &hF344 is used then).

I could change the error message into a warning message, but maybe we've found something interesting here on your MSX, it could be good to check that first Smile ! (that inconsistency the the slots description can maybe cause other issues...).

Van gdx

Prophet (3507)

afbeelding van gdx

20-05-2020, 12:38

I use the National CF-2700 with an MMM in the slot 1 and the Sunrise VF (Nextor driver) in the slot 2. I run SG-1000 games.
Result is: 1, 0, 0, 0, 0.

Finally when I set the parameters as below a few SG games works well (but the majory have some bug or crash).
Audio: MSX
FM detection: none
FM: none
Joystick: MSX
Mapper: none
Pause button: none
PSG to SCC: no
Readback: Ignore
Video: MSX
(Default for others)

However, the error: "Parsing INI file: Entry not found in INI file" is always displayed.

If ReadBack is on Default the error "Memory mapper requiered for /ME2 (Try /RH1 or /RH2)" appears.

Van Louthrax

Prophet (2276)

afbeelding van Louthrax

20-05-2020, 13:28

Thanks GDX for the report.

"Parsing INI file: Entry not found in INI file" is not an error, it's an information saying that there's no matching CRC entry for the game in the INI file.

SG-1000 games not working will need to be fixed in INI files. For now, none of them have specific entries, it's just pure automated patching, I was not expecting a 100% working rate right now Smile

Could you tell me what fixed the "Slot not expanded" error message you had (because you seem to be able to launch games now)? Did you use a newer version of SSMS ? The values reported from the peek are looking OK, I don't understand how you managed to get this error message with default parameters ?

If you don't have a working "readback" functionnality the mapper type "/ME2" can't work (because segments can't be "read-back" directly from FC/FD/FE ports to the SMS), you have to use another mapper type ("CALL" or something) instead of "IO", unless you tell SSMS to "ignore" the problem.

The Default behavior for Readback is to raise an error (if you set it to "Ignore", it's ignored).

Van gdx

Prophet (3507)

afbeelding van gdx

20-05-2020, 14:45

Louthrax wrote:

Could you tell me what fixed the "Slot not expanded" error message you had (because you seem to be able to launch games now)?

Oops, I think it's the option "Slot target: 1-0".

Louthrax wrote:

Did you use a newer version of SSMS ?

I am using the version included with Sofarun 7.0 (release 2).

Van djh1697

Paragon (1458)

afbeelding van djh1697

10-06-2020, 01:02

Will an MSX with a 512k MFRSSC+SD run a Sega Master System games? I seem to be having no sucess?

Van djh1697

Paragon (1458)

afbeelding van djh1697

10-06-2020, 01:12

I realised i need another cartridge! What a fool i am!