Troubleshooting SMS game loading on PlaySoniq

By karloch

Prophet (2134)

Аватар пользователя karloch

24-07-2021, 18:05

After many years I got a Mini-Hydra on my hands, it is an high quality SCART switch. Finally, it looks like I will be able to properly connect PlaySoniq to my MSX and easily switch signals.

However I am having some problems with my current MSX configuration, as I am not able to load Master System games. My configuration is:

MSX Panasonic FSA1-GT
Slot 1: Flashjacks, 2048 KB RAM, Nextor 2.1.1 alpha 2
Slot 2: Tecnobytes slotexpander
Slot 2-0: GR8NET default mode
Slot 2-1: PlaySoniq
Slot 2-2: WaveBlaster OPL4
Slot 2-3: MP3MSX

The SONQTEST.BAS test program works well, it shows correctly video over the output, and plays sound properly. However, if I try to load SMS games...

Using SEGA.BAS: the program ask me for filename, I select one then ask me about 60Hz, afterwars it asks me about FM and then I am returned to the file selection.
Using SMSLOAD.COM: the program text header is shown "SMSLOAD for PlaySoniq version 1.11, The New Image 2015 - Written by Albert Beervendorp" and it freezes there. No output on the PlaySoniq.

Things I tried:

  • Switching CPU to Z80 mode.
  • Running MAP.COM utility before running SEGA.BAS or SMSLOAD.COM.
  • Putting all the files in the root of a partition.
  • Leaving PlaySoniq alone in the slotexpander
  • Combination of all the previous

Maybe PlaySoniq needs to run in un-expanded slot? If so, why the test program runs properly? If not, am I missing something?

Для того, чтобы оставить комментарий, необходимо регистрация или !login

By Pencioner

Scribe (1464)

Аватар пользователя Pencioner

24-07-2021, 19:18

Playsoniq is not designed to be used in slotexpanders so it will not work well in expanded slot. I didn't get it working neither in 8bits4ever slotexpander nor in Modulon. The problem is somewhere in DRAM interfacing relaying on exact timings and that slotexpanders usually buffer data and address lines (which adds some delay on signals) while not buffering other signals such as SLTSL, which confuses the firmware and makes problems with memory access. While most of other memory mappers are using SRAM which is simpler to interface, PlaySoniq uses DRAM and the interface to MSX bus becomes more complicated on FPGA side and more timing-dependent. The only way i found to use PSQ in slotexpander by turning off the slot access which leaves only I/O working, so SID and DCSG (SNxxxxx built into Sega VDP) could be used with VGMplay and RoboSID programs. But for playing games i have to insert it into main slot

By syn

Prophet (2061)

Аватар пользователя syn

24-07-2021, 23:50

iirc it works in a modulon slot expander as an exception to the rule

By Grauw

Ascended (10010)

Аватар пользователя Grauw

25-07-2021, 00:19

PlaySoniq is internally expanded (to support the 16 MB of memory), so it must be in a primary slot. An expander can’t be nested inside another, the MSX standard for expanded slots does not support it. If you place the PlaySoniq in an expanded slot it is operating off-spec and you will likely encounter problems with some or all of its functions.

The cartridges that that are internally expanded that I know of are the ASCII MSX-DOS2 cartridge, FlashJacks, MegaFlashROM SCC+ SD, Carnivore2, GR8NET and PlaySoniq. All cartridges that provide both MSX-DOS2 / Nextor and RAM are internally expanded, so I must’ve missed a couple more. Either way all of those must be in a primary slot, although some offer a mode where the expander is disabled.

By Pencioner

Scribe (1464)

Аватар пользователя Pencioner

25-07-2021, 01:20

syn wrote:

iirc it works in a modulon slot expander as an exception to the rule

Not in my case, unfortunately. Do you have Modulon with Playsonic to do some testing? I'm very curious to check if it is same for everyone

Grauw wrote:

PlaySoniq is internally expanded (to support the 16 MB of memory), so it must be in a primary slot. An expander can’t be nested inside another, the MSX standard for expanded slots does not support it. If you place the PlaySoniq in an expanded slot it is operating off-spec and you will likely encounter problems with some or all of its functions.

There are some means to configure it ways that in theory could work in expanded slot, f.e. PSQSET /M1 or PSQSET /SN but it is not stable in expander (often freeze the computer). But I/O alone is working properly, only access a slot via memory mapped read/write fails

By karloch

Prophet (2134)

Аватар пользователя karloch

25-07-2021, 11:30

Grauw wrote:

The cartridges that that are internally expanded that I know of are the ASCII MSX-DOS2 cartridge, FlashJacks, MegaFlashROM SCC+ SD, Carnivore2, GR8NET and PlaySoniq. All cartridges that provide both MSX-DOS2 / Nextor and RAM are internally expanded, so I must’ve missed a couple more. Either way all of those must be in a primary slot, although some offer a mode where the expander is disabled.

If you don't care about RAM and Nextor, some of them explicitly support working from a slot expander with reduced features:

FlashJacks: the I/O sound devices and flash work
GR8NET: default mode -that has Nextor and RAM disabled- works
MegaFlash ROM SCC+ SD: SCC+ and flash work

I was wondering about the support since the test program ran nicely from the slotexpander.

By karloch

Prophet (2134)

Аватар пользователя karloch

25-07-2021, 14:08

Pencioner wrote:

Playsoniq is not designed to be used in slotexpanders so it will not work well in expanded slot. I didn't get it working neither in 8bits4ever slotexpander nor in Modulon. The problem is somewhere in DRAM interfacing relaying on exact timings and that slotexpanders usually buffer data and address lines (which adds some delay on signals) while not buffering other signals such as SLTSL, which confuses the firmware and makes problems with memory access. While most of other memory mappers are using SRAM which is simpler to interface, PlaySoniq uses DRAM and the interface to MSX bus becomes more complicated on FPGA side and more timing-dependent. The only way i found to use PSQ in slotexpander by turning off the slot access which leaves only I/O working, so SID and DCSG (SNxxxxx built into Sega VDP) could be used with VGMplay and RoboSID programs. But for playing games i have to insert it into main slot

Thanks for the so detailed explanation, so basically it is not designed to work in a slotexpander and it is needed to be put in a full slot.