SofaROM bug report thread

Page 1/15
| 2 | 3 | 4 | 5 | 6

By Louthrax

Paragon (2015)

Louthrax's picture

28-02-2017, 16:21

SofaROM is an MSX tool designed to launch MSX MegaROM images without the need for a flash device. Version 1.0 has just been released and you can download it from my website. Please report any bug you'll find on SofaROM here.

It should work on any MSX machine with MSX-DOS 2 and enough RAM. 256KB is the bare minimum with Nextor (depending on the game), 512KB is recommended. The less RAM you have, the more disk accesses you'll have when playing. Metal Gear 2 works (including saving / loading from disk), but 1MB RAM is recommended for this one.

A list of "working games" with required options is available here.

Here's the command line usage:

Usage: SROM [options]  ...

[options] can be one or more of:
  /Ax: A.I. level (0-2), default is 0
       Increase value to fix glitches or crashes
  /Gx: Optimization gap (0-63), default is 6
       Increase value to reduce disk accesses
       Warning: might cause crashes if too high
  /Ix: Set interruption mode
    0: None (default)
    1: DI/EI
    2: DI
       Change this to fix freezings or crashes
  /Mx: Set mapper type
    0: Auto (default)
    1: Konami
    2: Konami SCC
    3: ASCII 8
    4: ASCII 16
  /Sxy: Select SCC slot
    x: Main slot (0-3)
    y: Subslot (0-3)
  /V:  Verbose mode

megarom_image is a MegaROM image file

The "A.I. level" option uses NYYRIKKI's code-detection artificial intelligence to distinguish between code and data at run time. This prevents data corruption and is needed for at least 3 games so far (King Kong 2, Parodius and Space Manbow). Question to have it enabled or not by default will require more testing (it can still be set as default using SofaRun "Default settings").

SofaRun has been updated to version 2.8 and now uses SofaROM as a default MegaROM launcher when you have no flash device ("small" ROMs are still launched internally by SofaRun).

The following options (linked to the above command line parameters) have been added in the "ROM settings":

                     ** Interruption mode: **
                        (SofaROM specific)

Change this to fix freezings or crashes.


                         ** A.I. level: **
                        (SofaROM specific)

Increase value to fix glitches or crashes.


                          ** Max gap: **
                        (SofaROM specific)

Increase  value  to  reduce  disk  accesses.  Warning:  might cause
crashes if too high.

A new entry has also been added in SR.INI to control which flash device to use:

# Force flash device
#   0: AUTO (default)
#   1: NONE
#   2: KONAMI_SOUND_CARTRIDGE
#   3: ESE_SCC
#   4: MFR
#   5: MFR_SD
#   6: MEGARAM
# FLASHDEVICE=0
Login or register to post comments

By Jipe

Paragon (1351)

Jipe's picture

28-02-2017, 19:12

can you added the option Z0 Z1 Z2 for Turbo-R
sample : mon mon monster the music is in crazy mode Wink

By Louthrax

Paragon (2015)

Louthrax's picture

28-02-2017, 19:31

Ah yes, I did not think about that because SofaRun allows to select CPU mode before launching. I'll add it.

Talking about that, the games on turboR when run on main RAM are way faster compared when flashing to ROM/flash device! My turboR patch for Aleste does not work anymore (FM-PAC sounds distorted) when using SofaROM! (I know, I should have used turboR timers instead of loops...).

By Manuel

Ascended (15209)

Manuel's picture

28-02-2017, 22:04

If I use Aleste 2 via Nowind, the FM is also messed up, as it is run in R800 DRAM mode and the game isn't slowing down the I/O enough to make it work properly...

By Louthrax

Paragon (2015)

Louthrax's picture

28-02-2017, 22:34

Manuel wrote:

If I use Aleste 2 via Nowind, the FM is also messed up, as it is run in R800 DRAM mode and the game isn't slowing down the I/O enough to make it work properly...

Argl, I'll really need to redo all my turboR patches cleanly !

By mfeingol

Champion (266)

mfeingol's picture

01-03-2017, 06:05

Played with SofaRun and SofaRom tonight on a Zemmix NEO. Tried three games:

- Xevious: works perfectly
- Pacmania: hangs on start
- Famicle Parodic: works, except there's an odd graphical glitch: when bombing houses on the golf course, the craters appear in the wrong place. Kind of strange.

One new bug to report: certain settings in the per-game settings menu display values with corrupt characters, as if the program were using uninitialized memory. Moving left/right on the setting restores correct values, and resetting to default settings brings back the uninitialized strings.

And one request: it would be great to have a per-game option in the SofaRun UI to select the execution method for each ROM. The Zemmix NEO has a megaram, and the default flash mechanism is LoadRom. I'd love to be able to choose between SofaRom and LoadRom for each game. This would be useful for games like PacMania, which doesn't work with LoadRom (and of course doesn't work with SofaRom either, but I imagine you'll fix that before LoadRom is updated). I should note that I was looking for the "force flash" option in per-game settings for this purpose, but I didn't see it.

By blur2040

Rookie (20)

blur2040's picture

01-03-2017, 16:29

mfeingol wrote:

One new bug to report: certain settings in the per-game settings menu display values with corrupt characters, as if the program were using uninitialized memory. Moving left/right on the setting restores correct values, and resetting to default settings brings back the uninitialized strings.

I had this issue with one of the Beta releases of SofaRun/ROM. For me, the Erase VRAM setting came up with corrupted characters (where moving left/right would show proper values), but it resolved for me in the 1.0.

I also tested some games (pretty much anything I had that was MSX1 and 128k+). The only issue I had that wasn't accounted for on the list was:

Super Laydock - When I defeated the first boss, the game froze. I believe the disk access light came on at this time. I did not yet have the opportunity to tweak settings in order to attempt to fix it, but will give it a try this evening, likely.

By blur2040

Rookie (20)

blur2040's picture

02-03-2017, 15:31

Fiddled with Super Laydock more. Any combination of settings I tried wouldn't resolve the issue. I was mistaken on the disk access bit. It just freezes as the second part of the boss blows up.

By Louthrax

Paragon (2015)

Louthrax's picture

02-03-2017, 17:47

mfeingol wrote:

Played with SofaRun and SofaRom tonight on a Zemmix NEO. Tried three games:
- Pacmania: hangs on start

It looks like this game is using a "disk emulation", using data from the original disk version. Seems like this is a commercial version though? It's probably using RAM slots for the emulation part (which conflicts with the RAM slot used by SofaROM).

mfeingol wrote:

- Famicle Parodic: works, except there's an odd graphical glitch: when bombing houses on the golf course, the craters appear in the wrong place. Kind of strange.

This does not happen if you have an extra RAM slot available at a lower slot than the main RAM slot (tested on my Sony with MFRSCC+SD 512KB). Could be the game is also using another RAM slot, kind of weird as it's a "simple" shoot'em up. To be checked.

mfeingol wrote:

One new bug to report: certain settings in the per-game settings menu display values with corrupt characters, as if the program were using uninitialized memory.

Yeah, that's because new settings have been added. This does not affect the "per-game" settings (the .GST files), but causes problems for the SofaRun's "Default Settings". Either fix the "Default settings" in the menu and validate with "Apply", or delete the SR.SST file. I should re-design the SR.SST file structure so that it supports updates in a cleaner way.

mfeingol wrote:

And one request: it would be great to have a per-game option in the SofaRun UI to select the execution method for each ROM.

I was thinking about that, it would be super-useful even for me, as I'm testing SofaRun/SofaROM on different machines and configurations, and editing the SR.INI file every time is really annoying...

blur2040 wrote:

Fiddled with Super Laydock more. Any combination of settings I tried wouldn't resolve the issue. I was mistaken on the disk access bit. It just freezes as the second part of the boss blows up.

Same results here, this could be a copy-protection, to be checked too.

By mboixo

Resident (40)

mboixo's picture

06-03-2017, 12:05

Thanks, great tool

By Louthrax

Paragon (2015)

Louthrax's picture

06-03-2017, 14:20

Version 1.1 is out on my website, SofaRun 2.8 has also been updated to match new settings in SofaROM :)

The following new games are supported:

Arsene Lupin 3rd - Babiron no Ougon Densetsu (1988)(Toho)(JP).rom
Arsene Lupin 3rd - Cariostoro no Siro (1987)(Toho)(JP).rom
Ashiguine 2 (1987)(T&E Soft)[tr MSX translations][p MSX-MUSIC & MSX-AUDIO].rom
Ashiguine 2 (1987)(T&E Soft)[tr MSX translations][p MSX-MUSIC only].rom
Black Onyx 2, The (1986)(Ascii)(JP).rom
Daisenryaku (1986)(Micro Cabin)(JP).rom
Druid (1988)(Jaleco)(JP).rom
Fantasy Zone 1 (1986)(Pony Cannon)(JP).rom
Ikari (1987)(SNK)(JP).rom
Mad Rider (1987)(Carry Lab)(JP).rom
Magunam - Kiki Ippatsu (1988)(Toshiba Emi)(JP).rom
Monogatari Megami Tensei. Digital Devil Story (1987)(Telenet Japan)(JP).rom
R-Type (1988)(Irem)(JP)[f MSX-MUSIC Sector28][h ASCII8-Mapper].rom
R-Type (1988)(Irem)(JP)[f MSX-MUSIC Sector28][h Konami-SCC-Mapper].rom
Return of Ishtar, The (1988)(Namcot)(JP).rom
Strategic Mars (1989)(dB-Soft)(JP).rom
Super Rambo Special (1986)(Pack In Video)(JP).rom
Syougun (1987)(Jaleco)(JP).rom
Turikichi Sampei Burumarine-Hen (1988)(Cross Media)(JP).rom
Turikichi Sampei Turisennin-Hen (1989)(Cross Media)(JP).rom
Zoids (1988)(Toshiba Emi)(JP).rom
Zombie Hunter (1989)(Hi-Score)(JP).rom

Be sure the check the working games list which also contains the required parameters for some games. Around 200 ROMs are "working" now (at least starting and looking OK, I did not test all games until the end).

I improved the tolerance for the mapper switches locations: new "wide" mappers have been added in order to support ROMs with non-generic switch addresses (like the ones in the list above). As a consequence, NYYRIKKI's A.I. used to distinguish between code and data is now enabled by default. These new mappers can be selected from the command line or through SofaRun interface (even if the "Automatic" mode works quite well so far, except for "Strategic Mars"):

Usage: SROM [options] megarom_image...

[options] can be one or more of:
  /Ax: A.I. level (0-2), default is 2
       Change value to fix glitches or crashes
  /Gx: Optimization gap (0-63), default is 9
       Increase value to reduce disk accesses
       Warning: might cause crashes if too high
  /Ix: Set interruption mode
    0: None (default)
    1: DI/EI
    2: DI
       Change this to fix freezings or crashes
  /Mx: Force mapper type
    0: Automatic (default)
    1: ASCII 16KB - Generic
    2: ASCII 8KB - Generic
    3: Konami - Generic
    4: Konami SCC - Generic
    5: ASCII 16KB - Wide
    6: ASCII 8KB - Wide
  /Sxy: Select SCC slot
    x: Main slot (0-3)
    y: Subslot (0-3)
  /Zx: Set CPU mode (turboR only):
    0: Z80 (ROM)
    1: R800 ROM
    2: R800 DRAM

megarom_image is a MegaROM image file

Also, the new /Z parameter allows to select CPU mode on turboR.

Please remove your SR.SST file in SofaRun's directory if you update SofaRun (I had to add a new setting for SofaROM's mapper type as it is not compatible anymore with other tools or flash devices' mappers).

Page 1/15
| 2 | 3 | 4 | 5 | 6
My MSX profile