VOGONS


SDLPAL DOS port for the RPG game LEGEND OF SWORD AND FAIRY

Topic actions

Reply 120 of 129, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie
PalMusicFan wrote on 2026-06-30, 14:57:
Would you please check the latest CI build again? […]
Show full quote

Would you please check the latest CI build again?

New feature: VGA13h mode. This is enabled by default (DOSForceMode13h=1). Its performance and compatibility are much higher than those of the VBE mode.
Note that DOSLowEndOpt=1 is required for now. Of course, it supports 320x200 only, and no gamepad overlay.

Also, could you test options like OPLCore=NUKED? This will start the software OPL core and output audio via DMA.

Since you added new parameters, I let SDLPAL recreate a new config and tried the new features.
- AVI Cinematics cannot be played properly if VGA13h mode is used (black screen, but sound still plays). Must use VBE mode for proper AVI playback. Probably because of this, SDLPAL now disables AVI cinematics by default. On my system, no noticeable performance difference between VGA13h and VBE modes.
- A correction from previous post. It seems sound effect toggle in the settings does work as expected.
- As for music, it seems with real OPL2/3 music cannot be stopped (hangs the note if a cutscene would stop the playback), and the music toggle in settings does not work.
- OPLCore=NUKED works okay on my system (no noticeable issues at the moment), and it seems with NUKED instead of real OPL2/3 the music can be correctly stopped and the music toggle works.

And regarding the stuttering of sound effects (particularly during AVI cinematics)... when I checked SDL_LOG.TXT I realized that the "SampleRate" option has no effect at all. It always used 44100Hz Stereo regardless of what I put in it. My real SB16 can't handle such high sampling rates well in DOS, and this is noticeable in games like Duke Nukem 3D. I think if SDLPAL could be made to use a lower sampling rate like 22050Hz, the stuttering issue may go away.

EDIT: Did a grep on the code in dos_sdl3 branch and I could not find anything DOS-specific that mentioned "SampleRate"... so probably the "soundblaster" backend is always being initialized with default parameters for now...

Reply 121 of 129, by PalMusicFan

User metadata
Rank Newbie
Rank
Newbie
LSS10999 wrote on 2026-06-30, 16:47:
Since you added new parameters, I let SDLPAL recreate a new config and tried the new features. - AVI Cinematics cannot be played […]
Show full quote
PalMusicFan wrote on 2026-06-30, 14:57:
Would you please check the latest CI build again? […]
Show full quote

Would you please check the latest CI build again?

New feature: VGA13h mode. This is enabled by default (DOSForceMode13h=1). Its performance and compatibility are much higher than those of the VBE mode.
Note that DOSLowEndOpt=1 is required for now. Of course, it supports 320x200 only, and no gamepad overlay.

Also, could you test options like OPLCore=NUKED? This will start the software OPL core and output audio via DMA.

Since you added new parameters, I let SDLPAL recreate a new config and tried the new features.
- AVI Cinematics cannot be played properly if VGA13h mode is used (black screen, but sound still plays). Must use VBE mode for proper AVI playback. Probably because of this, SDLPAL now disables AVI cinematics by default. On my system, no noticeable performance difference between VGA13h and VBE modes.
- A correction from previous post. It seems sound effect toggle in the settings does work as expected.
- As for music, it seems with real OPL2/3 music cannot be stopped (hangs the note if a cutscene would stop the playback), and the music toggle in settings does not work.
- OPLCore=NUKED works okay on my system (no noticeable issues at the moment), and it seems with NUKED instead of real OPL2/3 the music can be correctly stopped and the music toggle works.

And regarding the stuttering of sound effects (particularly during AVI cinematics)... when I checked SDL_LOG.TXT I realized that the "SampleRate" option has no effect at all. It always used 44100Hz Stereo regardless of what I put in it. My real SB16 can't handle such high sampling rates well in DOS, and this is noticeable in games like Duke Nukem 3D. I think if SDLPAL could be made to use a lower sampling rate like 22050Hz, the stuttering issue may go away.

EDIT: Did a grep on the code in dos_sdl3 branch and I could not find anything DOS-specific that mentioned "SampleRate"... so probably the "soundblaster" backend is always being initialized with default parameters for now...

Thanks so much!

Here is what is in today's build (v2026-07-01-gb190979):
1. AVI Cinematics are OK. DOSForceMode13h=1 + DOSLowEndOpt=1 means palette AVI playback. It would be great if you could provide a screenshot! DOSLowEndOpt=0 uses VESA AVI playback.
2. A new AVI playback implementation with much better performance. Thanks to M-HT.

Reply 122 of 129, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie
PalMusicFan wrote on 2026-07-01, 15:18:

Here is what is in today's build (v2026-07-01-gb190979):
1. AVI Cinematics are OK. DOSForceMode13h=1 + DOSLowEndOpt=1 means palette AVI playback. It would be great if you could provide a screenshot! DOSLowEndOpt=0 uses VESA AVI playback.
2. A new AVI playback implementation with much better performance. Thanks to M-HT.

Just tested. Good improvements.
- AVI Cinematics now plays properly, and sound no longer stutters there. Guess it really was a performance issue with the AVI playback code, not my sound card.
- AVI Cinematics works with DOSForceMode13h=1 + DOSLowEndOpt=1, though video quality will be a bit worse compared to VESA mode.
- In my system's case, performance with VGA13h mode is a bit worse than VESA mode, so I think VGA13h mode should be used more with older systems while on newer systems VESA mode is preferred.

Currently playing a bit more with OPLCore=NUKED and for now it performs a bit better than OPLCore=REAL.
- Music on/off toggle in settings and ingame fading effects work as expected.
- Music volume seems consistent, that it's not too loud during combat.

Not sure if issues with real OPL can be eventually addressed as it would be a better option in older systems.

Reply 123 of 129, by PalMusicFan

User metadata
Rank Newbie
Rank
Newbie
LSS10999 wrote on 2026-07-01, 16:06:
Currently playing a bit more with OPLCore=NUKED and for now it performs a bit better than OPLCore=REAL. - Music on/off toggle in […]
Show full quote

Currently playing a bit more with OPLCore=NUKED and for now it performs a bit better than OPLCore=REAL.
- Music on/off toggle in settings and ingame fading effects work as expected.
- Music volume seems consistent, that it's not too loud during combat.

Not sure if issues with real OPL can be eventually addressed as it would be a better option in older systems.

Got it. Emulated OPL Cores work in the same way as in other ports. They generate audio stream in a standalone thread (or say coroutine here).

But REAL is an ISR player. It is not in the same way. The on/off is not implemented for now.

Reply 124 of 129, by PalMusicFan

User metadata
Rank Newbie
Rank
Newbie
LSS10999 wrote on 2026-07-01, 16:06:
Just tested. Good improvements. - AVI Cinematics now plays properly, and sound no longer stutters there. Guess it really was a p […]
Show full quote

Just tested. Good improvements.
- AVI Cinematics now plays properly, and sound no longer stutters there. Guess it really was a performance issue with the AVI playback code, not my sound card.
- AVI Cinematics works with DOSForceMode13h=1 + DOSLowEndOpt=1, though video quality will be a bit worse compared to VESA mode.
- In my system's case, performance with VGA13h mode is a bit worse than VESA mode, so I think VGA13h mode should be used more with older systems while on newer systems VESA mode is preferred.

Please test v2026-07-08-gfd113a0 with DOSForceMode13h=1 + DOSLowEndOpt=1. There is a huge boost in VGA13h peoformance. And also, the palettes are better.

Reply 125 of 129, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie
PalMusicFan wrote on 2026-07-08, 13:58:
LSS10999 wrote on 2026-07-01, 16:06:
Just tested. Good improvements. - AVI Cinematics now plays properly, and sound no longer stutters there. Guess it really was a p […]
Show full quote

Just tested. Good improvements.
- AVI Cinematics now plays properly, and sound no longer stutters there. Guess it really was a performance issue with the AVI playback code, not my sound card.
- AVI Cinematics works with DOSForceMode13h=1 + DOSLowEndOpt=1, though video quality will be a bit worse compared to VESA mode.
- In my system's case, performance with VGA13h mode is a bit worse than VESA mode, so I think VGA13h mode should be used more with older systems while on newer systems VESA mode is preferred.

Please test v2026-07-08-gfd113a0 with DOSForceMode13h=1 + DOSLowEndOpt=1. There is a huge boost in VGA13h peoformance. And also, the palettes are better.

Progressed the game a bit with this build. Looks good so far.

With this build I don't see any noticeable difference of color in AVI playback using VGA13h mode compared to VESA mode. Performance is also good enough, as now both VGA13h mode and VESA mode run smooth without noticeable stuttering on my system.

EDIT: The DOS version at this point can be considered perfectly playable. I'm still only at the early part of the game so I'm not sure if there's any bug on the gameplay side, however. I think it might be very close enough for a proper release build.

Reply 126 of 129, by PalMusicFan

User metadata
Rank Newbie
Rank
Newbie
LSS10999 wrote on 2026-07-09, 12:57:

Progressed the game a bit with this build. Looks good so far.

With this build I don't see any noticeable difference of color in AVI playback using VGA13h mode compared to VESA mode. Performance is also good enough, as now both VGA13h mode and VESA mode run smooth without noticeable stuttering on my system.

EDIT: The DOS version at this point can be considered perfectly playable. I'm still only at the early part of the game so I'm not sure if there's any bug on the gameplay side, however. I think it might be very close enough for a proper release build.

v2026-07-21-g992be6e
A Release Ready Beta.
Music ON/OFF for real OPL2/3 is implemented.

Reply 127 of 129, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie
PalMusicFan wrote on 2026-07-22, 07:00:
v2026-07-21-g992be6e A Release Ready Beta. Music ON/OFF for real OPL2/3 is implemented. […]
Show full quote
LSS10999 wrote on 2026-07-09, 12:57:

Progressed the game a bit with this build. Looks good so far.

With this build I don't see any noticeable difference of color in AVI playback using VGA13h mode compared to VESA mode. Performance is also good enough, as now both VGA13h mode and VESA mode run smooth without noticeable stuttering on my system.

EDIT: The DOS version at this point can be considered perfectly playable. I'm still only at the early part of the game so I'm not sure if there's any bug on the gameplay side, however. I think it might be very close enough for a proper release build.

v2026-07-21-g992be6e
A Release Ready Beta.
Music ON/OFF for real OPL2/3 is implemented.

Can confirm music ON/OFF toggle and fading are working with OPLCore set to REAL.

Additionally I noticed some animation effects have become a bit more responsive, like monsters disappearing a bit quicker and smoother than before when they die in combat.

On the other hand, I just encountered the issue where keyboard suddenly stopped registering. I had seen it once in earlier builds and this is the second time, but this time, pressing keys doesn't seem to generate PC speaker beeps. Like last time, the game itself doesn't appear to have crashed and keyboard is still responsive so I can reboot with CTRL-ALT-DEL. Can't reliably reproduce this as it still appears to be a rare occurrence.

I'm on FreeDOS with JEMMEX when I encountered it. Not sure what exactly caused it and what exactly happened under the hood, as SDL_LOG.txt did not report anything out of ordinary. Maybe it's better to run this game in a boot option without any EMM or UMBPCI, as from my past experience, some protected mode games are prone to random (nondeterministic) crashes when EMM or UMBPCI is loaded, while being mostly stable (no crashes occurring) without them.

Reply 128 of 129, by PalMusicFan

User metadata
Rank Newbie
Rank
Newbie
LSS10999 wrote on 2026-07-22, 15:40:
Can confirm music ON/OFF toggle and fading are working with OPLCore set to REAL. […]
Show full quote

Can confirm music ON/OFF toggle and fading are working with OPLCore set to REAL.

Additionally I noticed some animation effects have become a bit more responsive, like monsters disappearing a bit quicker and smoother than before when they die in combat.

On the other hand, I just encountered the issue where keyboard suddenly stopped registering. I had seen it once in earlier builds and this is the second time, but this time, pressing keys doesn't seem to generate PC speaker beeps. Like last time, the game itself doesn't appear to have crashed and keyboard is still responsive so I can reboot with CTRL-ALT-DEL. Can't reliably reproduce this as it still appears to be a rare occurrence.

I'm on FreeDOS with JEMMEX when I encountered it. Not sure what exactly caused it and what exactly happened under the hood, as SDL_LOG.txt did not report anything out of ordinary. Maybe it's better to run this game in a boot option without any EMM or UMBPCI, as from my past experience, some protected mode games are prone to random (nondeterministic) crashes when EMM or UMBPCI is loaded, while being mostly stable (no crashes occurring) without them.

Thank you so much! Battle fading effect has been optimized. An automatic frame skipping has been introduced. Also, the beep issue has been resolved.

Are you referring to a rare keyboard bug where keyboard input suddenly becomes unresponsive and the game cannot be controlled, but a system restart is possible?

Reply 129 of 129, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie
PalMusicFan wrote on 2026-07-23, 01:01:

Are you referring to a rare keyboard bug where keyboard input suddenly becomes unresponsive and the game cannot be controlled, but a system restart is possible?

Yeah. That's what happened. Keyboard input suddenly stopped registering but the game still appears running. Music and animations still work, CAPS LOCK still responds, just no keyboard input. In my previous occurrence, keyboard inputs would generate PC speaker beeps instead of registering in-game but this time I'm not hearing any beep.