VOGONS


Reply 40 of 58, by PalMusicFan

User metadata
Rank Newbie
Rank
Newbie
LSS10999 wrote on 2026-03-29, 16:51:
The game no longer hangs with hardware OPL3 enabled. Music now plays correctly. Some minor caveats: - After starting a new game […]
Show full quote

The game no longer hangs with hardware OPL3 enabled. Music now plays correctly. Some minor caveats:
- After starting a new game from the main menu, the music hangs during intro scene. Not sure if there's another music track to be played during the intro, or it should stop. After the intro finishes the next music track will play correctly. So far this is the only spot where the music would hang.
- The music switch in the System menu (pressing ESC) has no effect. Don't know if in-game Music/Sound switches have been implemented.

Exiting the game still results in a hang, however.

Thank you so much!
It looks like now we have found the correct way to play FM music.
About the issues:
1. I think STOP FM MUSIC is not yet inplemented correctly, and fade in / fade out, either. The intro has its owns audio track that could not be played yet, and after that we have a scene with no music (Li weaks up from his dream), so I think this is what you found.
2. Exiting game error is weired. Do you have a crash log? Also, did you get the game from the web cache? Could we have your cfg file? We would like to try to reproduce the bug.

In addition, could we know how your dISAppointment v0.2 with real Sound Blaster 16's DMA sound compatibility is? Is it consistent with the compatibility of those native ISA motherboard? Thank you!

Reply 41 of 58, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie
PalMusicFan wrote on 2026-03-30, 13:00:

2. Exiting game error is weired. Do you have a crash log? Also, did you get the game from the web cache? Could we have your cfg file? We would like to try to reproduce the bug.

The hang was probably the same as the one in earlier versions when I tried the game with hardware FM disabled.

No apparent crash log present. After exiting the game and getting the hang, the last line in the SDL log reads "Missing display mode data". Perhaps it tried to switch to a mode that's not supported on my system...

Should note that FM music is correctly stopped at this point, and I can actually CTRL-ALT-DEL to reboot.

PalMusicFan wrote on 2026-03-30, 13:00:

In addition, could we know how your dISAppointment v0.2 with real Sound Blaster 16's DMA sound compatibility is? Is it consistent with the compatibility of those native ISA motherboard? Thank you!

You can read more about dISAppointment in its thread here.

AFAICT DMA works fine as long as LDRQ1# has been correctly connected and the pin is actually configured to function as LDRQ# signal.

The harder part is finding a usable IRQ as well as ISA PnP support. Of my boards, only ASRock ones have working ISA PnP so far. On boards of other vendors only non-PnP sound cards can be used.

Once correctly configured, Sound Blaster compatibility is consistent with boards that have native ISA slots.

Reply 42 of 58, by PalMusicFan

User metadata
Rank Newbie
Rank
Newbie
LSS10999 wrote on 2026-03-30, 14:10:
The hang was probably the same as the one in earlier versions when I tried the game with hardware FM disabled. […]
Show full quote
PalMusicFan wrote on 2026-03-30, 13:00:

2. Exiting game error is weired. Do you have a crash log? Also, did you get the game from the web cache? Could we have your cfg file? We would like to try to reproduce the bug.

The hang was probably the same as the one in earlier versions when I tried the game with hardware FM disabled.

No apparent crash log present. After exiting the game and getting the hang, the last line in the SDL log reads "Missing display mode data". Perhaps it tried to switch to a mode that's not supported on my system...

Should note that FM music is correctly stopped at this point, and I can actually CTRL-ALT-DEL to reboot.

PalMusicFan wrote on 2026-03-30, 13:00:

In addition, could we know how your dISAppointment v0.2 with real Sound Blaster 16's DMA sound compatibility is? Is it consistent with the compatibility of those native ISA motherboard? Thank you!

You can read more about dISAppointment in its thread here.

AFAICT DMA works fine as long as LDRQ1# has been correctly connected and the pin is actually configured to function as LDRQ# signal.

The harder part is finding a usable IRQ as well as ISA PnP support. Of my boards, only ASRock ones have working ISA PnP so far. On boards of other vendors only non-PnP sound cards can be used.

Once correctly configured, Sound Blaster compatibility is consistent with boards that have native ISA slots.

Yes, "Missing display mode data" means it can not apply the resolution in the cfg file, and then it tries to fall back to a usable video mode.

Reply 43 of 58, by PalMusicFan

User metadata
Rank Newbie
Rank
Newbie
LSS10999 wrote on 2026-03-30, 14:10:
The hang was probably the same as the one in earlier versions when I tried the game with hardware FM disabled. […]
Show full quote
PalMusicFan wrote on 2026-03-30, 13:00:

2. Exiting game error is weired. Do you have a crash log? Also, did you get the game from the web cache? Could we have your cfg file? We would like to try to reproduce the bug.

The hang was probably the same as the one in earlier versions when I tried the game with hardware FM disabled.

No apparent crash log present. After exiting the game and getting the hang, the last line in the SDL log reads "Missing display mode data". Perhaps it tried to switch to a mode that's not supported on my system...

Should note that FM music is correctly stopped at this point, and I can actually CTRL-ALT-DEL to reboot.

I think I have reproduced this bug in 86box.

Reply 44 of 58, by PalMusicFan

User metadata
Rank Newbie
Rank
Newbie
zyzzle wrote on 2026-03-19, 13:37:
Thank you very much. I was able to run SDLPal quite well on bare metal MS-DOS 7.1 […]
Show full quote
PalMusicFan wrote on 2026-03-19, 13:00:

We recommend testing our libSDL DOS version; we’ve made numerous adjustments to ensure it runs on real DOS PCs. According to this discussion (Re: NVIDIA Kepler/Maxwell/Pascal VESA Bios Bug (workaround found)), we disabled double-buffering because we found it caused frame sequence errors on certain Nvidia graphics cards, and the known workaround did not work on 9300MG .

Additionally, we haven’t yet figured out how to integrate the SDL Audio with Sound Blaster’s DMA audio. On other systems, SDL Audio runs in a separate thread, but DOS doesn’t support threads.

Thank you very much. I was able to run SDLPal quite well on bare metal MS-DOS 7.1

I used files from the 1995 DOS version, and overwrote the language files from the English translation link given above.

This is running on a fast "modern" DOS system with an i5-8250 CPU, running at 3.4 Ghz. When I step down the speed to 1.7Ghz, it runs well still. However, slowing the CPU down to 900 Mhz, the game starts to lag considerably. The game's isometric view is outstanding, and it played smoothly and without errors all the way to the end. I killed the final boss, and got the end screens, etc. These are things I noticed in the SDLPal for DOS on bare metal:

1. The game's resolution seems capped at 320x200. VESA modes are detected up to 1920x1080 and listed in the logfile, but not utilized. (This happens when running SDLPal using the 1995 DOS files or files from the Windows version.
2. The sound and music would not work, even with VSBDHA or Sbemu. This was expected given what you wrote above about SDL audio and pthreads being required. I assume there's no way to get any audio working in pure DOS at this point. Because the sound doesn't work, I deleted the sound data files, and the game still played perfectly, just without sound.
3. Some Chinese glyphs are still present, for example in the Spells. These spells still work fine, but not sure what they do. Most spells (~85%) are translated into English, however, and that is of course very helpful.
4. The game's ending montage / scenes after the final boss is killed are still in Chinese. These are a series of bitmapped pictures / scenes, and there's no English translation, but it seems the girl becomes a princess and lives happily ever after!
5. The large .AVI files are not required to play the game in DOS. I deleted them, and set the "Play AVI files" flag in SDLPal.cfg to 0 and the game played perfectly.
6. The game completely freezes my system when I "Exit Game" from the System settings in the game. A hard reboot is required. No other freezes occurred during the playing of the game. It seemed very stable except for exiting.
7. The final compressed size of the turnkey .7z archive that I created with all required files to run on bare metal is 14.41 mb.

What are the differences in the DOS version and Windows version? The .mkf files in the Windows version are all larger (for example, the file GOP.MLF is ~16 mb in the Windows version, but only ~10 mb in the DOS version, yet the game seems to look and play exactly the same with both sets of files using your 32-bit DOS DJGPP binary of SDLPal from 15-Mar-2026 (which has an uncompressed size of 6.01 Mb).

Hello! We have adjusted certain design of the game. I believe there is a large boost in performance.

Reply 45 of 58, by PalMusicFan

User metadata
Rank Newbie
Rank
Newbie
megatron-uk wrote on 2026-03-19, 08:26:
Okay, so it is using the new libSDL Dos target, and hence why the rebuilt engine can run on Dos. […]
Show full quote

Okay, so it is using the new libSDL Dos target, and hence why the rebuilt engine can run on Dos.

I guess it also explains why the requirements are so high.

I'd love to see some more examples of the libSDL Dos version, many of us have been awaiting it for years... though it sounds like there is some substantial resource requirements to it.

Might have to download that libSDL fork and try it myself.

If my new tests with 86BOX are close to thoese on real hardware, this port runs even on a 486DX2 66 system with a VESA card and 12MB RAM, just slow.

Reply 46 of 58, by zyzzle

User metadata
Rank Member
Rank
Member
PalMusicFan wrote on 2026-04-01, 15:19:

Hello! We have adjusted certain design of the game. I believe there is a large boost in performance.

Thank you. I've downloaded the latest 29-March (v2026-03-29-g47fd353) executable and will test. I'll also test the new OPL3 sound as you documented above. However, the (OPL2?) songs worked very well for me once I modified SDlPal.ini file as you directed above for Intel HDA.

If it will help, I can also post more screencaptures of other spells / inventory which still show in Chinese.

Reply 47 of 58, by PalMusicFan

User metadata
Rank Newbie
Rank
Newbie
zyzzle wrote on 2026-04-02, 23:26:
PalMusicFan wrote on 2026-04-01, 15:19:

Hello! We have adjusted certain design of the game. I believe there is a large boost in performance.

Thank you. I've downloaded the latest 29-March (v2026-03-29-g47fd353) executable and will test. I'll also test the new OPL3 sound as you documented above. However, the (OPL2?) songs worked very well for me once I modified SDlPal.ini file as you directed above for Intel HDA.

If it will help, I can also post more screencaptures of other spells / inventory which still show in Chinese.

Thank you! Please use a stereo sound system to enjoy the music.

Reply 48 of 58, by PalMusicFan

User metadata
Rank Newbie
Rank
Newbie
LSS10999 wrote on 2026-03-29, 16:51:
The game no longer hangs with hardware OPL3 enabled. Music now plays correctly. Some minor caveats: - After starting a new game […]
Show full quote

The game no longer hangs with hardware OPL3 enabled. Music now plays correctly. Some minor caveats:
- After starting a new game from the main menu, the music hangs during intro scene. Not sure if there's another music track to be played during the intro, or it should stop. After the intro finishes the next music track will play correctly. So far this is the only spot where the music would hang.
- The music switch in the System menu (pressing ESC) has no effect. Don't know if in-game Music/Sound switches have been implemented.

Exiting the game still results in a hang, however.

I think we have soloved this problem. Now the game should exit normally.

Reply 49 of 58, by PalMusicFan

User metadata
Rank Newbie
Rank
Newbie
megatron-uk wrote on 2026-03-19, 08:26:
Okay, so it is using the new libSDL Dos target, and hence why the rebuilt engine can run on Dos. […]
Show full quote

Okay, so it is using the new libSDL Dos target, and hence why the rebuilt engine can run on Dos.

I guess it also explains why the requirements are so high.

I'd love to see some more examples of the libSDL Dos version, many of us have been awaiting it for years... though it sounds like there is some substantial resource requirements to it.

Might have to download that libSDL fork and try it myself.

OK, I think we have fixed a bug of this SDL port. When exiting the application, lfb bit was set and it caused no diaplay, although the system was still running.

Perhaps now we can say this SDL port's minimal requirements are:

1. A i386-compatible processor with FPU
2. A PCI video card with VBE2 & lfb support. UniVBE works.

Reply 50 of 58, by PalMusicFan

User metadata
Rank Newbie
Rank
Newbie
LSS10999 wrote on 2026-03-30, 14:10:
The hang was probably the same as the one in earlier versions when I tried the game with hardware FM disabled. […]
Show full quote
PalMusicFan wrote on 2026-03-30, 13:00:

2. Exiting game error is weired. Do you have a crash log? Also, did you get the game from the web cache? Could we have your cfg file? We would like to try to reproduce the bug.

The hang was probably the same as the one in earlier versions when I tried the game with hardware FM disabled.

No apparent crash log present. After exiting the game and getting the hang, the last line in the SDL log reads "Missing display mode data". Perhaps it tried to switch to a mode that's not supported on my system...

Should note that FM music is correctly stopped at this point, and I can actually CTRL-ALT-DEL to reboot.

Hello, because the previous fix was at the SDL level, the EXE link is still this: https://cloudsmith.io/~sdlpal/repos/sdlpal/pa … 03-29-g47fd353/

Last edited by PalMusicFan on 2026-04-06, 13:06. Edited 1 time in total.

Reply 51 of 58, by PalMusicFan

User metadata
Rank Newbie
Rank
Newbie
PalMusicFan wrote on Yesterday, 13:00:
LSS10999 wrote on 2026-03-30, 14:10:
The hang was probably the same as the one in earlier versions when I tried the game with hardware FM disabled. […]
Show full quote
PalMusicFan wrote on 2026-03-30, 13:00:

2. Exiting game error is weired. Do you have a crash log? Also, did you get the game from the web cache? Could we have your cfg file? We would like to try to reproduce the bug.

The hang was probably the same as the one in earlier versions when I tried the game with hardware FM disabled.

No apparent crash log present. After exiting the game and getting the hang, the last line in the SDL log reads "Missing display mode data". Perhaps it tried to switch to a mode that's not supported on my system...

Should note that FM music is correctly stopped at this point, and I can actually CTRL-ALT-DEL to reboot.

Hello, because the previous fix was at the SDL level, the EXE link is still this: https://cloudsmith.io/~sdlpal/repos/sdlpal/pa … 03-29-g47fd353/
EXE was updated.

Last edited by PalMusicFan on 2026-04-06, 13:49. Edited 1 time in total.

Reply 52 of 58, by PalMusicFan

User metadata
Rank Newbie
Rank
Newbie
zyzzle wrote on 2026-04-02, 23:26:
PalMusicFan wrote on 2026-04-01, 15:19:

Hello! We have adjusted certain design of the game. I believe there is a large boost in performance.

Thank you. I've downloaded the latest 29-March (v2026-03-29-g47fd353) executable and will test. I'll also test the new OPL3 sound as you documented above. However, the (OPL2?) songs worked very well for me once I modified SDlPal.ini file as you directed above for Intel HDA.

If it will help, I can also post more screencaptures of other spells / inventory which still show in Chinese.

Hello, because the previous fix was at the SDL level, the EXE link is still this: https://cloudsmith.io/~sdlpal/repos/sdlpal/pa … 03-29-g47fd353/
Would you please redownload it?

Reply 53 of 58, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie
PalMusicFan wrote on Yesterday, 13:12:
zyzzle wrote on 2026-04-02, 23:26:
PalMusicFan wrote on 2026-04-01, 15:19:

Hello! We have adjusted certain design of the game. I believe there is a large boost in performance.

Thank you. I've downloaded the latest 29-March (v2026-03-29-g47fd353) executable and will test. I'll also test the new OPL3 sound as you documented above. However, the (OPL2?) songs worked very well for me once I modified SDlPal.ini file as you directed above for Intel HDA.

If it will help, I can also post more screencaptures of other spells / inventory which still show in Chinese.

Hello, because the previous fix was at the SDL level, the EXE link is still this: https://cloudsmith.io/~sdlpal/repos/sdlpal/pa … 03-29-g47fd353/
Would you please redownload it?

Just downloaded the latest artifact and tested. Exiting the game no longer hangs. I can now correctly get back to DOS prompt.

For now the game should be adequately playable. Looking forward to support of sound effects.

Reply 54 of 58, by PalMusicFan

User metadata
Rank Newbie
Rank
Newbie
LSS10999 wrote on Yesterday, 14:18:
PalMusicFan wrote on Yesterday, 13:12:
zyzzle wrote on 2026-04-02, 23:26:

Thank you. I've downloaded the latest 29-March (v2026-03-29-g47fd353) executable and will test. I'll also test the new OPL3 sound as you documented above. However, the (OPL2?) songs worked very well for me once I modified SDlPal.ini file as you directed above for Intel HDA.

If it will help, I can also post more screencaptures of other spells / inventory which still show in Chinese.

Hello, because the previous fix was at the SDL level, the EXE link is still this: https://cloudsmith.io/~sdlpal/repos/sdlpal/pa … 03-29-g47fd353/
Would you please redownload it?

Just downloaded the latest artifact and tested. Exiting the game no longer hangs. I can now correctly get back to DOS prompt.

For now the game should be adequately playable. Looking forward to support of sound effects.

Thank you so much!
Actually exiting game in the earlier versions caused a display error, and the system was still running, just no display.
Now I think everthing is correct here.

About SDL audio... On modern platforms, system would call SDL audio to deal with the audio codes. But currently we are not sure how to program Sound Blaster DMA sound part. Do you have any Technical documentation?

Reply 55 of 58, by zyzzle

User metadata
Rank Member
Rank
Member
PalMusicFan wrote on 2026-04-04, 08:00:

Exiting the game still results in a hang, however.
I think we have soloved this problem. Now the game should exit normally.

I tested the latest executable (file dared 29-March, but the onscreen text says the SDLPal executable is from 4 April 2026). When I enable audio with SBEMU on Intel HDA PCI onboad sound, the program exits normally without a system freeze.
When I play the game without any audio driver (eg, no SBEMU) loaded and exit the game, the system still freezes at the DOS prompt. This is the same behavior as the previous version of SDLPal I tested above, 15-March). I have not changed anything in my sdlpal.ini file for the new 29-March (cf. 4-4-26) version.

Regarding the speed-up you noted, the general speed seems to be about the same at 1.5 Ghz. (Playable but a little slow), and very fast at 3.4 Ghz (no delays at all).

Reply 56 of 58, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie
PalMusicFan wrote on Yesterday, 15:01:

About SDL audio... On modern platforms, system would call SDL audio to deal with the audio codes. But currently we are not sure how to program Sound Blaster DMA sound part. Do you have any Technical documentation?

Sorry but I'm not an expert in this. If you want to know about how to program Sound Blaster DSP (including DMA), perhaps this document might be helpful (it's about SB16). The link to a TXT formatted document is long dead, but you can find the SB16DOC.ZIP file in the Archive.

I think the SDL library for each supported OS should have already implemented OS-specific code to bridge SDL Audio to the target OS' audio functionalities. The SDL application itself such as SDLPAL need not know about the details.

So for DOS it's just a matter of which audio driver/API to connect to SDL Audio. I've yet to see a SDL DOS port that have implemented actual audio support, unfortunately.

Reply 57 of 58, by PalMusicFan

User metadata
Rank Newbie
Rank
Newbie
zyzzle wrote on Today, 02:15:
I tested the latest executable (file dared 29-March, but the onscreen text says the SDLPal executable is from 4 April 2026). Whe […]
Show full quote
PalMusicFan wrote on 2026-04-04, 08:00:

Exiting the game still results in a hang, however.
I think we have soloved this problem. Now the game should exit normally.

I tested the latest executable (file dared 29-March, but the onscreen text says the SDLPal executable is from 4 April 2026). When I enable audio with SBEMU on Intel HDA PCI onboad sound, the program exits normally without a system freeze.
When I play the game without any audio driver (eg, no SBEMU) loaded and exit the game, the system still freezes at the DOS prompt. This is the same behavior as the previous version of SDLPal I tested above, 15-March). I have not changed anything in my sdlpal.ini file for the new 29-March (cf. 4-4-26) version.

Regarding the speed-up you noted, the general speed seems to be about the same at 1.5 Ghz. (Playable but a little slow), and very fast at 3.4 Ghz (no delays at all).

Thank you!
We will take a look soon.

Regarding to the speed... I guess ... perhaps... modern CPU with manually limited frequency might have performance issues when running DOS programs... As we tested in 86box, SDLPal should be playable on a high speed Pentium with SB16 card. Software OPL3 emulation consumes a lot of CPU resource. Is this the cause of the performance issue?

Last edited by PalMusicFan on 2026-04-07, 22:06. Edited 1 time in total.

Reply 58 of 58, by digger

User metadata
Rank Oldbie
Rank
Oldbie
PalMusicFan wrote on Yesterday, 15:01:

About SDL audio... On modern platforms, system would call SDL audio to deal with the audio codes. But currently we are not sure how to program Sound Blaster DMA sound part. Do you have any Technical documentation?

Hi! 😃

First of all, thank you for sharing this labor of love with the world.

As for sound support (sample playback beyond just FM synthesis), may I make a suggestion?

Before going through the effort of implementing DMA routines for low-level Sound Blaster playback, maybe you could consider making use of existing open source sound drivers?

I've been playing with the AIL/32 sound drivers by John Miles, which are designed to be used with protected mode DOS games. John Miles released those drivers as open source (basically public domain) a number of years ago.

Wohlstand managed to get these sources to build with an open source toolchain (GNU Make, and the Watcom WASM assembler or Baron-von-Riedesel's JWASM fork): https://github.com/Wohlstand/ail32-sandbox

I've been developing an AIL/32 driver that supports the AC'97 ICHx integrated sound devices, and I'm planning on developing such drivers for other modern sound devices as well. My goal is to resurrect the AIL/32 driver model to become a popular standard open source solution for retro game developers.

But the original SDK that John Miles released should already be enough to directly add support for these drivers in protected mode DOS games. The existing set of drivers in the original distribution included drivers for all the popular sound devices from back in the day (Sound Blaster, MPU-401 MIDI, etc).

I know that the AIL/32 drivers were originally typically used in games that used the Watcom+Rational development toolchain (Watcom C and the DOS/4GW DOS extender). But technically, it should be possible to use these with games that use the DJGPP+CWSDPMI toolchain as well. (Not sure if it's ever been done, but a proof of concept would be easy to develop.)

The AIL/32 drivers have been a bit of a weird obsession for me. I'm not sure why. Probably because they are (to my knowledge) the only open source protected mode DOS sound driver standard that was actually used in some games back in the day.

With the experience and knowledge I've gained from my tinkering with these drivers, I'd be happy to help you integrate support for them in your SDLPAL port.

It abstracts away all the ugly DMA stuff, and the driver model also supports non-DMA devices, even though no non-DMA digital audio AIL/32 drivers originally shipped with the SDK.

The AIL/32 drivers also include (X)MIDI drivers, including support for OPL2 and OPL3, although of course you've already implemented support for those in your game.

Let me know if this seems interesting to you!

Thanks again for your work on this.