VOGONS


Reply 20 of 31, by PalMusicFan

User metadata
Rank Newbie
Rank
Newbie
zyzzle wrote on 2026-03-22, 02:10:
Thanks for information about "P" capturing screenshots. That explains why I was only ever able to get a single screenshot no mat […]
Show full quote

Thanks for information about "P" capturing screenshots. That explains why I was only ever able to get a single screenshot no matter how many times I tried! The file is named something like 20260321.bmp which is the max DOS 8.3 character limit. Perhaps modify code to make it something like: 26032100.bmp to 26032199.bmp (or in mmddyy format which would be 03212600) which would allow for 100 screenshots per day!

Yes, I have Intel HDA + SBEMU sound. Even the mono music is good; I can't wait to try the stereo. Thanks for your hints and help.

I'll modify sdlpal.cfg as you specified and re-post my new logs when I get a chance (this will be in 2-3 days, as I'm out of town now and that system with SDLPal DOS is at home).

I'm surprised there hasn't been more commentary in this topic. The game is outstanding!

Perhaps we could post more screenshots.

Reply 21 of 31, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie

Testing this on a X99M Killer/3.1 board modded with dISAppointment v0.2 to connect a real Sound Blaster 16 (CT2950). So far it doesn't work.

I'm using the freeware (Win9x) data files you linked. I could get it play the first few cinematics fine, just without any sound. After that I get a black screen with the FM playing a note and everything apparently hung. No response from keyboard (LEDs don't change when I press CAPS LOCK) and I can only do a hard reset.

Using MS-DOS 7.10 (Win98SE) and FreeDOS, with and without JEMM386, CWSDPMI and HDPMI32 (from HX). No difference. Note that JEMM386 must not be run with NOVCPI parameter as that blocks DPMI servers from running.

I'm using v2026-03-15-g839ffaf workflow build. The workflow artifact only has the executable itself, but no SDLPAL.CFG. Where can I obtain this file? I don't see a default configuration file created on-the-fly.

I'm able to see the SDL log. So far it's able to list all video modes I have, and the last few lines (before the game hung the system) appeared like this.

SDL not built with thread support
Created renderer: software
Audio subsystem is not initialized
Invalid audio device ID
SDL not built with thread support
Invalid audio device ID
Invalid audio device ID
Invalid audio device ID

The beginning of the SDL log per run has only VClock-related stuffs before listing video modes. Not sure if there's anything out of ordinary on my system.

[VCLOCK] [vclock] lazy_init(): starting
[VCLOCK] [vclock] pit_divisor = 11931
[VCLOCK] [vclock] IRQ0 vector got (sel=2b, addr=3c40)
[VCLOCK] VCLOCK ISR code size is 232 bytes
DOS: Keyboard ISR code size is 304 bytes

EDIT: I just looked at the mode listing output... Some were ignored due to "bad pixel format". Which mode does SDLPAL DOS port explicitly require?

Reply 22 of 31, by PalMusicFan

User metadata
Rank Newbie
Rank
Newbie
LSS10999 wrote on 2026-03-22, 16:34:
Testing this on a X99M Killer/3.1 board modded with dISAppointment v0.2 to connect a real Sound Blaster 16 (CT2950). So far it d […]
Show full quote

Testing this on a X99M Killer/3.1 board modded with dISAppointment v0.2 to connect a real Sound Blaster 16 (CT2950). So far it doesn't work.

I'm using the freeware (Win9x) data files you linked. I could get it play the first few cinematics fine, just without any sound. After that I get a black screen with the FM playing a note and everything apparently hung. No response from keyboard (LEDs don't change when I press CAPS LOCK) and I can only do a hard reset.

Using MS-DOS 7.10 (Win98SE) and FreeDOS, with and without JEMM386, CWSDPMI and HDPMI32 (from HX). No difference. Note that JEMM386 must not be run with NOVCPI parameter as that blocks DPMI servers from running.

I'm using v2026-03-15-g839ffaf workflow build. The workflow artifact only has the executable itself, but no SDLPAL.CFG. Where can I obtain this file? I don't see a default configuration file created on-the-fly.

I'm able to see the SDL log. So far it's able to list all video modes I have, and the last few lines (before the game hung the system) appeared like this.

SDL not built with thread support
Created renderer: software
Audio subsystem is not initialized
Invalid audio device ID
SDL not built with thread support
Invalid audio device ID
Invalid audio device ID
Invalid audio device ID

The beginning of the SDL log per run has only VClock-related stuffs before listing video modes. Not sure if there's anything out of ordinary on my system.

[VCLOCK] [vclock] lazy_init(): starting
[VCLOCK] [vclock] pit_divisor = 11931
[VCLOCK] [vclock] IRQ0 vector got (sel=2b, addr=3c40)
[VCLOCK] VCLOCK ISR code size is 232 bytes
DOS: Keyboard ISR code size is 304 bytes

EDIT: I just looked at the mode listing output... Some were ignored due to "bad pixel format". Which mode does SDLPAL DOS port explicitly require?

Thank you so much! We’ve been eagerly awaiting the test results for the original Sound Blaster.

We are currently addressing the issue of FM music not functioning properly on old sound cards. It now works with the software-emulated FM implementations in SBEMU, VSBHDA and VSBCMI, as well as with the limited hardware support they offer. Your test results are invaluable. They help us confirm that this is likely an issue with our implementation rather than a compatibility issue with the PCI sound card.

SDLPAL.CFG is written to disk when the game exits normally, and the game itself also has a set of default settings. If you downloaded the English Patch, it includes an SDLPAL.CFG file for Windows, but I think this actually allows you to bypass the current sound card bug in the DOS version by running it in silent mode.

The relevant settings should be something like this:
UseSurroundOPL=0
Music=RIX
OPLCore=MAME

Set OPLCore to an emulated one to disable hardware OPLchip access.

It's great that the AVI cinematics plays. The lack of AVI sound is to be expected, since Sound Blaster DMA audio hasn't been implemented yet (thus the emulated FM cores do not work, either).

Regarding pixel mode, the game renders at a resolution of 320x200 with RGB 888 color; the actual output resolution depends on the settings.

Reply 23 of 31, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie
PalMusicFan wrote on 2026-03-23, 01:57:
Thank you so much! We’ve been eagerly awaiting the test results for the original Sound Blaster. […]
Show full quote
LSS10999 wrote on 2026-03-22, 16:34:
Testing this on a X99M Killer/3.1 board modded with dISAppointment v0.2 to connect a real Sound Blaster 16 (CT2950). So far it d […]
Show full quote

Testing this on a X99M Killer/3.1 board modded with dISAppointment v0.2 to connect a real Sound Blaster 16 (CT2950). So far it doesn't work.

I'm using the freeware (Win9x) data files you linked. I could get it play the first few cinematics fine, just without any sound. After that I get a black screen with the FM playing a note and everything apparently hung. No response from keyboard (LEDs don't change when I press CAPS LOCK) and I can only do a hard reset.

Using MS-DOS 7.10 (Win98SE) and FreeDOS, with and without JEMM386, CWSDPMI and HDPMI32 (from HX). No difference. Note that JEMM386 must not be run with NOVCPI parameter as that blocks DPMI servers from running.

I'm using v2026-03-15-g839ffaf workflow build. The workflow artifact only has the executable itself, but no SDLPAL.CFG. Where can I obtain this file? I don't see a default configuration file created on-the-fly.

I'm able to see the SDL log. So far it's able to list all video modes I have, and the last few lines (before the game hung the system) appeared like this.

SDL not built with thread support
Created renderer: software
Audio subsystem is not initialized
Invalid audio device ID
SDL not built with thread support
Invalid audio device ID
Invalid audio device ID
Invalid audio device ID

The beginning of the SDL log per run has only VClock-related stuffs before listing video modes. Not sure if there's anything out of ordinary on my system.

[VCLOCK] [vclock] lazy_init(): starting
[VCLOCK] [vclock] pit_divisor = 11931
[VCLOCK] [vclock] IRQ0 vector got (sel=2b, addr=3c40)
[VCLOCK] VCLOCK ISR code size is 232 bytes
DOS: Keyboard ISR code size is 304 bytes

EDIT: I just looked at the mode listing output... Some were ignored due to "bad pixel format". Which mode does SDLPAL DOS port explicitly require?

Thank you so much! We’ve been eagerly awaiting the test results for the original Sound Blaster.

We are currently addressing the issue of FM music not functioning properly on old sound cards. It now works with the software-emulated FM implementations in SBEMU, VSBHDA and VSBCMI, as well as with the limited hardware support they offer. Your test results are invaluable. They help us confirm that this is likely an issue with our implementation rather than a compatibility issue with the PCI sound card.

SDLPAL.CFG is written to disk when the game exits normally, and the game itself also has a set of default settings. If you downloaded the English Patch, it includes an SDLPAL.CFG file for Windows, but I think this actually allows you to bypass the current sound card bug in the DOS version by running it in silent mode.

The relevant settings should be something like this:
UseSurroundOPL=0
Music=RIX
OPLCore=MAME

Set OPLCore to an emulated one to disable hardware OPLchip access.

It's great that the AVI cinematics plays. The lack of AVI sound is to be expected, since Sound Blaster DMA audio hasn't been implemented yet (thus the emulated FM cores do not work, either).

Regarding pixel mode, the game renders at a resolution of 320x200 with RGB 888 color; the actual output resolution depends on the settings.

After setting OPLCore to an emulated one (which disables hardware FM access as a result), I'm able to reach main menu as well as going further into the game. Haven't progressed much but everything on the visual side such as gameplay and cinematics looks good so far.

No sound in game at all, of course. I wonder if the SDL target you're using can support accessing PCI/PCIe/HDA sound cards directly like MPXPlay without going through SBEMU/VSBHDA. If so, wonder if it's also possible to drive an emulated FM core of choice along with it. IIRC SBEMU/VSBHDA uses the same driver code as MPXPlay for certain audio devices.

On the other hand, it seems I'm unable to exit properly, as the system hangs after exiting (be it normally from ingame menu, or ALT-F4), but I can warm reboot with CTRL-ALT-DEL here. The last line in the SDL log (probably the moment when I exited the game) reads "Missing display mode data".

Reply 24 of 31, by PalMusicFan

User metadata
Rank Newbie
Rank
Newbie
LSS10999 wrote on 2026-03-23, 11:37:

After setting OPLCore to an emulated one (which disables hardware FM access as a result), I'm able to reach main menu as well as going further into the game. Haven't progressed much but everything on the visual side such as gameplay and cinematics looks good so far.

No sound in game at all, of course. I wonder if the SDL target you're using can support accessing PCI/PCIe/HDA sound cards directly like MPXPlay without going through SBEMU/VSBHDA. If so, wonder if it's also possible to drive an emulated FM core of choice along with it. IIRC SBEMU/VSBHDA uses the same driver code as MPXPlay for certain audio devices.

On the other hand, it seems I'm unable to exit properly, as the system hangs after exiting (be it normally from ingame menu, or ALT-F4), but I can warm reboot with CTRL-ALT-DEL here. The last line in the SDL log (probably the moment when I exited the game) reads "Missing display mode data".

Thank you very much!

We would still prefer to use the standard Sound Blaster method for audio output rather than directly driving the sound cards. As you can see, our experience in this area is quite limited—we haven’t even managed to get the FM music on working properly yet—so we’d rather leave the professional work to professional projects.

Getting back to the compatibility issue, would you be willing to test a command-line player tool to see if it works properly?

Reply 25 of 31, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie
PalMusicFan wrote on 2026-03-23, 14:57:
Thank you very much! […]
Show full quote
LSS10999 wrote on 2026-03-23, 11:37:

After setting OPLCore to an emulated one (which disables hardware FM access as a result), I'm able to reach main menu as well as going further into the game. Haven't progressed much but everything on the visual side such as gameplay and cinematics looks good so far.

No sound in game at all, of course. I wonder if the SDL target you're using can support accessing PCI/PCIe/HDA sound cards directly like MPXPlay without going through SBEMU/VSBHDA. If so, wonder if it's also possible to drive an emulated FM core of choice along with it. IIRC SBEMU/VSBHDA uses the same driver code as MPXPlay for certain audio devices.

On the other hand, it seems I'm unable to exit properly, as the system hangs after exiting (be it normally from ingame menu, or ALT-F4), but I can warm reboot with CTRL-ALT-DEL here. The last line in the SDL log (probably the moment when I exited the game) reads "Missing display mode data".

Thank you very much!

We would still prefer to use the standard Sound Blaster method for audio output rather than directly driving the sound cards. As you can see, our experience in this area is quite limited—we haven’t even managed to get the FM music on working properly yet—so we’d rather leave the professional work to professional projects.

Getting back to the compatibility issue, would you be willing to test a command-line player tool to see if it works properly?

Is this command-line player related to this project's audio playback function? I can conduct some tests if I have time.

Reply 26 of 31, by PalMusicFan

User metadata
Rank Newbie
Rank
Newbie
LSS10999 wrote on 2026-03-23, 15:49:
PalMusicFan wrote on 2026-03-23, 14:57:
Thank you very much! […]
Show full quote
LSS10999 wrote on 2026-03-23, 11:37:

After setting OPLCore to an emulated one (which disables hardware FM access as a result), I'm able to reach main menu as well as going further into the game. Haven't progressed much but everything on the visual side such as gameplay and cinematics looks good so far.

No sound in game at all, of course. I wonder if the SDL target you're using can support accessing PCI/PCIe/HDA sound cards directly like MPXPlay without going through SBEMU/VSBHDA. If so, wonder if it's also possible to drive an emulated FM core of choice along with it. IIRC SBEMU/VSBHDA uses the same driver code as MPXPlay for certain audio devices.

On the other hand, it seems I'm unable to exit properly, as the system hangs after exiting (be it normally from ingame menu, or ALT-F4), but I can warm reboot with CTRL-ALT-DEL here. The last line in the SDL log (probably the moment when I exited the game) reads "Missing display mode data".

Thank you very much!

We would still prefer to use the standard Sound Blaster method for audio output rather than directly driving the sound cards. As you can see, our experience in this area is quite limited—we haven’t even managed to get the FM music on working properly yet—so we’d rather leave the professional work to professional projects.

Getting back to the compatibility issue, would you be willing to test a command-line player tool to see if it works properly?

Is this command-line player related to this project's audio playback function? I can conduct some tests if I have time.

Yes, a standalone BGM player. Not as complex as the current game version.

Reply 27 of 31, by PalMusicFan

User metadata
Rank Newbie
Rank
Newbie
LSS10999 wrote on 2026-03-23, 15:49:
PalMusicFan wrote on 2026-03-23, 14:57:
Thank you very much! […]
Show full quote
LSS10999 wrote on 2026-03-23, 11:37:

After setting OPLCore to an emulated one (which disables hardware FM access as a result), I'm able to reach main menu as well as going further into the game. Haven't progressed much but everything on the visual side such as gameplay and cinematics looks good so far.

No sound in game at all, of course. I wonder if the SDL target you're using can support accessing PCI/PCIe/HDA sound cards directly like MPXPlay without going through SBEMU/VSBHDA. If so, wonder if it's also possible to drive an emulated FM core of choice along with it. IIRC SBEMU/VSBHDA uses the same driver code as MPXPlay for certain audio devices.

On the other hand, it seems I'm unable to exit properly, as the system hangs after exiting (be it normally from ingame menu, or ALT-F4), but I can warm reboot with CTRL-ALT-DEL here. The last line in the SDL log (probably the moment when I exited the game) reads "Missing display mode data".

Thank you very much!

We would still prefer to use the standard Sound Blaster method for audio output rather than directly driving the sound cards. As you can see, our experience in this area is quite limited—we haven’t even managed to get the FM music on working properly yet—so we’d rather leave the professional work to professional projects.

Getting back to the compatibility issue, would you be willing to test a command-line player tool to see if it works properly?

Is this command-line player related to this project's audio playback function? I can conduct some tests if I have time.

We would like to know whether this tool works with real Sound Blaster 16. If so, we may try to switch the FM music implementation to this one.

DERIX262
A standalong player for SOFTSTAR RIX OPL music format, using OPL3 (YMF262) or compatible chips.
https://github.com/palxex/palresearch/tree/WIP_realopl/rix

Usage:
DERIX262 FILENAME PORT

Example:
Play mus3.RIX using default port 388
DERIX262 mus3
Play 01.RIX using port 220
DERIX262 mus3 220

To extract music files from the package, you may use this tool written in Python:
https://github.com/palxex/palresearch/blob/WI … eUtils/demkf.py
Copy MUS.MKF from the game directory to where demkf.py locates, and run:
python demkf.py -p rix MUS.MKF
You will get 88 RIX files with names like mus**.rix
Note that certian files are empty. Do not try to play them.

The attached files are Compiled EXEs.
derix2dj.exe is compiled with DJGPP, so a DPMI service is required.
derix2wc.exe is compiled with Open Watcom.
derix_dj.exe and derix_wc.exe are for OPL2.

Last edited by PalMusicFan on 2026-03-25, 14:40. Edited 12 times in total.

Reply 28 of 31, by Ozzuneoj

User metadata
Rank l33t
Rank
l33t

This is just a dumb observation of mine, but, I was looking at the github repo and it seems odd that the name "Legend of Sword and Fairy" doesn't exist anywhere on the page. Likewise, when I google "Legend of Sword and Fairy" I don't see it referred to as PAL. So, for those that don't already know what PAL actually is (PAL.exe), it is hard to know what this project is actually for based on the text of the main github page.

It might be worth explaining more about the game on there. Either way, not a huge deal. I just wanted to mention it. 🙂

Now for some blitting from the back buffer.

Reply 29 of 31, by PalMusicFan

User metadata
Rank Newbie
Rank
Newbie
Ozzuneoj wrote on Today, 13:26:

This is just a dumb observation of mine, but, I was looking at the github repo and it seems odd that the name "Legend of Sword and Fairy" doesn't exist anywhere on the page. Likewise, when I google "Legend of Sword and Fairy" I don't see it referred to as PAL. So, for those that don't already know what PAL actually is (PAL.exe), it is hard to know what this project is actually for based on the text of the main github page.

It might be worth explaining more about the game on there. Either way, not a huge deal. I just wanted to mention it. 🙂

This is because we do not want to infringe on the copyright holder's trademark rights.

Reply 30 of 31, by Ozzuneoj

User metadata
Rank l33t
Rank
l33t
PalMusicFan wrote on Today, 13:40:
Ozzuneoj wrote on Today, 13:26:

This is just a dumb observation of mine, but, I was looking at the github repo and it seems odd that the name "Legend of Sword and Fairy" doesn't exist anywhere on the page. Likewise, when I google "Legend of Sword and Fairy" I don't see it referred to as PAL. So, for those that don't already know what PAL actually is (PAL.exe), it is hard to know what this project is actually for based on the text of the main github page.

It might be worth explaining more about the game on there. Either way, not a huge deal. I just wanted to mention it. 🙂

This is because we do not want to infringe on the copyright holder's trademark rights.

Hmm... I'm not sure if that would really make any difference since the intent of the project would be obvious to those who already know what the game is (or who read posts like the one in the OP which contains the name of the game), but I understand your concern. Thanks for explaining. 🙂

Now for some blitting from the back buffer.

Reply 31 of 31, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie
PalMusicFan wrote on Today, 13:00:
We would like to know whether this tool works with real Sound Blaster 16. If so, we may try to switch the FM music implementatio […]
Show full quote
LSS10999 wrote on 2026-03-23, 15:49:
PalMusicFan wrote on 2026-03-23, 14:57:

Thank you very much!

We would still prefer to use the standard Sound Blaster method for audio output rather than directly driving the sound cards. As you can see, our experience in this area is quite limited—we haven’t even managed to get the FM music on working properly yet—so we’d rather leave the professional work to professional projects.

Getting back to the compatibility issue, would you be willing to test a command-line player tool to see if it works properly?

Is this command-line player related to this project's audio playback function? I can conduct some tests if I have time.

We would like to know whether this tool works with real Sound Blaster 16. If so, we may try to switch the FM music implementation to this one.

DERIX262
A standalong player for SOFTSTAR RIX OPL music format, using OPL3 (YMF262) or compatible chips.
https://github.com/palxex/palresearch/tree/WIP_realopl/rix

Usage:
DERIX262 FILENAME PORT

Example:
Play mus3.RIX using default port 388
DERIX262 mus3
Play 01.RIX using port 220
DERIX262 mus3 220

To extract music files from the package, you may use this tool written in Python:
https://github.com/palxex/palresearch/blob/WI … eUtils/demkf.py
Copy MUS.MKF from the game directory to where demkf.py locates, and run:
python demkf.py -p rix MUS.MKF
You will get 88 RIX files with names like mus**.rix
Note that certian files are empty. Do not try to play them.

The attached files are Compiled EXEs.
derix2dj.exe is compiled with DJGPP, so a DPMI service is required.
derix2wc.exe is compiled with Open Watcom.
derix_dj.exe and derix_wc.exe are for OPL2.

DERIX2DJ (DJGPP) doesn't work correctly:
- Immediately fails with SIGSEGV after launch.
- With JEMM386, music continues to be played after SIGSEGV output, but ESC will not exit the program, and will eventually lead to an exception thrown by JEMM that requires CTRL-ALT-DEL to restart.
- Without JEMM386 the program immediately hangs after starting a note, similar to what I experienced with SDLPAL when I did not disable hardware OPL access (regardless of JEMM status there).

DERIX2WC works correctly:
- No errors on startup. Music plays correctly.
- Program exits safely after pressing ESC, with music playback correctly stopped.

Tests done using port 388h.