VOGONS


First post, by PalMusicFan

User metadata
Rank Newbie
Rank
Newbie

This is an open-source implementation of the well-known RPG game LEGEND OF SWORD AND FAIRY. It can now run natively under DOS. DPMI service is required. Tested with CWSDPMI.

Repo page: https://github.com/sdlpal/sdlpal

Differences from the original DOS version:

1. Supports multilingual translations. A fanmade ENGLISH VERSION is currently available.

2. A 32-bit protected-mode program, unlike the original 16-bit real-mode program with 580KB+ Conventional Memory requirement.

3. Supports most of SDLPal's other extended features.

Known Issues (Technical assistance is welcome):

1. Only FM music is provided at the moment. Since Sound Blaster DMA audio has not yet been implemented, there are neither sound effects nor audio BGMs such as MP3s. MIDI player is not implemented, either.

2. BGM may get stuck in certain Sound Blaster-compatible environments, such as CMI8738's SETAUDIO.COM, and the hardware FM synthesis modes of VSBHDA and VSBCMI.

3. Surround OPL functionality is unavailable in SBEMU's hardware FM synthesis mode.

4. No music fade-in / fade-out at the moment.

Basic System Requirements (To be honest, we don't have such retro hardware on hand):

1. A Pentium II PC running DOS with 32MB of RAM and 32MB of HDD space, or an equivalent compatible configuration.

2. Ad Lib sound card or compatible sound device with OPL3, like Sound Blaster 16.

3. A DPMI service. CWSDPMI is recommended.

Recommended System Requirements (The oldest hardware we've tested):

1. A PC of Pentium 4 era running FreeDOS with 1GB of RAM and 640 MB of HDD space, or an equivalent compatible configuration.

2. Sound Blaster 16 emulator such as SBEMU. OPL3 hardware (YMF724, CMI8738, etc.) may work, but there could be issues, such as the inability to work in Surround OPL mode.

3. A DPMI service. CWSDPMI is recommended.

DOWNLOAD:

https://cloudsmith.io/~sdlpal/repos/sdlpal/pa … %27%5EDOS%24%27

You need the original game data files:

1. Steam version - https://store.steampowered.com/app/1546570/Sword_and_Fairy/
Please note that this game on Steam includes both the original DOS version and the Windows version in one package. Only the DOS version is supported, as the Steam Windows version now uses a new text data format that is not yet supported by mainstream SDLPal.

2. Freeware version - http://update1.baiyou100.com/resource/Pal98rqp.zip
The download link is outdated now. But you may try to find the data in certain web cache services...

ENGLISH Patch:

https://www.romhacking.net/translations/2441

HOW to use it:

1. Extract the original game data files to a directory.
2. Apply the English patch according to their README. OPEN SDLPAL.CFG AND REMOVE ALL THE LINES OTHER THAN MessageFileName=PATH\TO\THE\LOCALIZATION\FILE, since the config is for SDLPal Windows. Save your changes.
3. Copy the DOS version of SDLPAL.EXE to the same directory. It should be placed together with the official PAL.EXE, even though PAL.EXE is not used to run the game.
4. Make sure your DMPI server is also here.
5. Run SDLPAL.EXE.

Reply 1 of 10, by PalMusicFan

User metadata
Rank Newbie
Rank
Newbie

Reserved Floor for further discussion...

Reply 2 of 10, by megatron-uk

User metadata
Rank l33t
Rank
l33t

So is this build for DOS part of the sdlpal project on GitHub (and using the recent libSDL dos target - hence the huge system requirements) or something else?

I can't find any mention of building the sdlpal source for DOS on the sdlpal repository, are the binaries from somewhere else?

My collection database and technical wiki:
https://www.target-earth.net

Reply 3 of 10, by PalMusicFan

User metadata
Rank Newbie
Rank
Newbie
megatron-uk wrote on Yesterday, 07:52:

So is this build for DOS part of the sdlpal project on GitHub (and using the recent libSDL dos target - hence the huge system requirements) or something else?

I can't find any mention of building the sdlpal source for DOS on the sdlpal repository, are the binaries from somewhere else?

This is part of the SDLPal project. You can view the code in the dos branch. The file `.github/workflows/dos.yaml` contains instructions on how to compile it.

The binaries are compiled by the GitHub build bot and hosted by Cloudsmith, together with other non-release SDLPal binaries.

We haven’t yet decided on a specific toolchain version, and our test environment is too limited, so we need external testing. Additionally, since the audio implementation is not yet complete, it has not been merged into the master branch.

We are now using a DOS SDL port modified from http://github.com/jayschwa/SDL

Reply 4 of 10, by zyzzle

User metadata
Rank Member
Rank
Member

This appears to be the long-rumored DOS binary which will run the SDL engine in bare-metal DOS.

I'm still quite confused, however. Do you mean the Windows version of the SDLPal 3.3 data will work with this DOS compile provided above (latest version seems to be from 15-March-2026)? There is such a listing of pal_eng 3.3 on archive.org:
https://archive.org/details/paleng_v3.3

which claims to already have an English translation, but only for Windows 32 bit. The windows SDLPal.exe in that archive is dated 11-14-2017. Also, the archive is huge. Do we need all of those large .AVI files in order to run the DOS compile?

I don't know if this is the required SDLPal data for your DOS compile of SDLPal or not. Also, the freeware version you linked above seems to be a completely different version of the game... from 1998? More confused.

Please clarify if possible. As we discussed in the other thread, I know the 1995 DOS version is not able to be translated into English due to Chinese glyphs and font incompatibility. Thanks very much.

Reply 5 of 10, by PalMusicFan

User metadata
Rank Newbie
Rank
Newbie
zyzzle wrote on Today, 01:23:
This appears to be the long-rumored DOS binary which will run the SDL engine in bare-metal DOS. […]
Show full quote

This appears to be the long-rumored DOS binary which will run the SDL engine in bare-metal DOS.

I'm still quite confused, however. Do you mean the Windows version of the SDLPal 3.3 data will work with this DOS compile provided above (latest version seems to be from 15-March-2026)? There is such a listing of pal_eng 3.3 on archive.org:
https://archive.org/details/paleng_v3.3

which claims to already have an English translation, but only for Windows 32 bit. The windows SDLPal.exe in that archive is dated 11-14-2017. Also, the archive is huge. Do we need all of those large .AVI files in order to run the DOS compile?

I don't know if this is the required SDLPal data for your DOS compile of SDLPal or not. Also, the freeware version you linked above seems to be a completely different version of the game... from 1998? More confused.

Please clarify if possible. As we discussed in the other thread, I know the 1995 DOS version is not able to be translated into English due to Chinese glyphs and font incompatibility. Thanks very much.

Yes, this is the bare-metal DOS version of SDLPal.

Let me explain:

The RPG game LEGEND OF SWORD AND FAIRY originally had two official PC versions: the initial 1995 DOS version (which ran in 16-bit real mode and did not support English), and the later 1997–1998 Windows version, which offered limited support for English translations thanks to Windows’ ASCII backward compatibility. Of course, the official PC versions were only available in Chinese. The existing English version is fan-made.

The SDLPal project is dedicated to running both of these game versions on multiple platforms (primarily supporting the DOS version while maintaining compatibility with the Windows version), and it includes support for multilingual translation files. Therefore, as long as the game data for LEGEND OF SWORD AND FAIRY is supported by the Windows version of SDLPal, it should also be supported by SDLPal on other platforms, including this 32-bit DOS version.

The lack of English support in the official DOS version was a limitation of the EXE design, but SDLPal has completely resolved this issue.

Reply 6 of 10, by megatron-uk

User metadata
Rank l33t
Rank
l33t

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.

My collection database and technical wiki:
https://www.target-earth.net

Reply 7 of 10, by PalMusicFan

User metadata
Rank Newbie
Rank
Newbie
megatron-uk wrote on Today, 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.

The oldest systems we have on hand are from the P4 era, so we’re not sure what the minimum performance requirements are. We welcome everyone to share their test results with us.

If we disregard the overhead required for software FM synthesis, the game’s performance requirements shouldn’t be very high. As a reference, on a PSP-1000 with a 333MHz CPU, FM music disabled, and using the SDL2 solution with a software color palette, the game runs slowly but is still barely playable (I suspect there are some bottlenecks in graphics data transfer performance). I’m not sure which PC CPU models are comparable to the PSP’s CPU performance, but it should be in the Pentium II or Pentium III range.

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.

Reply 8 of 10, by zyzzle

User metadata
Rank Member
Rank
Member
PalMusicFan wrote on Today, 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).

Reply 9 of 10, by zyzzle

User metadata
Rank Member
Rank
Member
megatron-uk wrote on Today, 08:26:

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.

I was able to run Diablo on bare metal DOS with a compiled DOS DJGPP SDL binary on the same system as above and it plays well, but it is far too dark. Something with the gamma is screwed up, which I'm sure is buggy code in the SDL port. This can be partially compensated for by raising the brightness within the game (it has a brightness adjustment setting), but then it gets washed out. The source needs to be analyzed and brightness gamma bug fixed.

However, the SDLPal SDL binary for DOS played with perfect brightness (Gamma 2.2?) and wasn't dark at all.

These were both played on bare metal DOS, of course.

The SDL port for DOS is huge news. I am also hoping more SDL games get ported to DOS. Any news on this end will be greatly appreciated!

Reply 10 of 10, by PalMusicFan

User metadata
Rank Newbie
Rank
Newbie
zyzzle wrote on Today, 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 Today, 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).

Thank you very much! Your feedback is very important. It looks like we might have to raise the minimum system requirements to a P3 1GHz processor.

Regarding the information you provided:
1. This game is designed to run only at a resolution of 320x200. While it is possible to upscale the resolution on modern platforms using GLSL filters, this is not possible with the DOS version. Of course, the rendered image can be scaled up for output, but for compatibility reasons, 320x200 is the safest option for DOS.
2. Open sdlpal.cfg, and check the following options:
UseSurroundOPL=0
Music=RIX
OPLCore=REAL
If everything is working properly, you should hear the FM background music. Additionally, in the OPL3 software emulation mode for SBEMU and VSBHDA/VSBCMI, you can use `UseSurroundOPL=1`. If it still doen not work, please tell us.
3. Are there any screenshots? Are you using the romhacking version of the patch?
4. We have essentially only implemented translation for the text portions. Text in bitmaps and videos is currently left as-is.
5. AVI files were only available in the 1997–1998 Windows versions; the DOS version does not include these videos. However, the Windows version still retains the corresponding animations from the DOS version, which SDLPal can support.
6. Does this happen every time you exit the game? Also, will using Alt+F4 to exit cause any issues?
7. Yes, the original DOS version of this game was released on floppy disk. The later DOS CD version had some animations added and included some CD audio tracks.

There are still some differences between the DOS version and the Windows version, both in terms of data structures and game design.