The Dungeon Master Nexus translation kit allows anyone to fully translate the game to another language. The only Japanese language that this kit cannot replace is the spoken dialogs in the soundtracks of the 3 game videos, but it can add subtitles into these videos.
So far, the kit was used successfully to build English and French versions of the game. You may study how they were made and duplicate them as a basis for a new translation.
If you want to play the English or French version, then you don’t need to use this translation kit. Instead, you may either:
You can follow the instructions below to download and use the kit to build you own version. The kit contains all the necessary files and tools to build the English and French versions of the game. It will build the custom files from bitmaps and text files containing the English and French translations, then it will build an ISO image of the game.
The kit also contains everything you need to build you own translation to any language.
You don’t need any programming or reverse engineering skills to use the translation kit.
All you need to do is to provide translated texts and bitmaps in the target language. The kit contains a script that processes these elements to build the custom game data files and a custom ISO image of the game.
All the procedures below are written for the Windows operating system.
This page documents all the details that you need to know to build a new translation:
Translations.csv
You will iterate the steps above until the result is correct in the game. The sections below give details on how to proceed with each step.
C:\DMNTranslationKit
(this is an example, you may choose any other location on your computer)C:\DMNTranslationKit\Output
C:\DMNTranslationKit\Input
C:\DMNTranslationKit\Tools\ffmpeg
, required to build subtitled videosC:\DMNTranslationKit\Tools\win311dosbox
. This includes:[Language]
in this documentation.C:\DMNTranslationKit\[Language]
for the new language.C:\DMNTranslationKit\Resources\Initial Programs
contains region locked IP.BIN
files for each possible Sega Saturn region.IP.BIN
file to your translation folder C:\DMNTranslationKit\[Language]
.C:\DMNTranslationKit\Translations_comma.csv
and C:\DMNTranslationKit\Translations_semicolon.csv
.Translations.csv
.C:\DMNTranslationKit\Translations.csv
in Excel.English
one as a starting point for your own translation and rename the column to [Language].C:\DMNTranslationKit\Build_English.cmd
and rename it so that you replace ‘English’ with the name of your translation. Do not change anything else in the file name.Notes:
Translations.csv
while you work on your translation.The original game contains bitmaps with text in Japanese or English.
The Japanese
folder in the translation kit contains all the original bitmaps that contain some text that you may need to translate. Note that some of them are not used at all in the game, they are supplied only to have a complete reference. The Translations.csv
file mentions which files are unused (you may filter on the column named ‘Unused’).
The script does not require that you translate any of the bitmaps, so it is up to you to decide which ones to translate. If you want to translate a bitmap you must:
Japanese
folder (or from another translation folder) to your translation folder. Do NOT rename the bitmap file or the script won’t be able to find it.Translations.csv
, put any text (preferably the actual translation) in the cell corresponding to the translated bitmap: find the line using the ‘File’ and ‘Index’ columns, and place your text in the column corresponding to your translation. If you leave this cell empty then the script considers that this bitmap is not part of your translation and ignores the bitmap file in your translation folder when building the custom game data files.Please check the contents of the C:\DMNTranslationKit\Resources\Bitmaps
folder in the translation kit: it contains some images with the original text already removed so you can directly add your own translated text over.
The game encodes most bitmaps with one of two formats called ‘DGT2’ (uncompressed) and ‘PRS3’ (compressed).
When editing bitmaps, be careful to comply with the following requirements:
The recommended tool that was used for the English and French translations is the free version of Pro Motion NG 8.0.
By default, Pro Motion NG saves BMP files as 256 colors, so if you open a 16 colors bitmap and then save it, it is converted to 256 colors. To preserve the 16 colors encoding, you must:
All the bitmaps that use format PRS3 use a common 256 colors palette. The color palette in the translated .bmp files is ignored by the script.
On the other hand, the color palette of DGT2 bitmaps is converted by the script and included in the custom data files. Please be aware that so far there have been no experiments to change the color palettes. All translated bitmaps use the same color palettes as the original images. Using custom color palettes may or may not work and result in graphical glitches or other issues, use at your own risk and make your own testing.
Some bitmaps need special care.
When the game displays the champion rename screen, it also draws an overlay grid of lines using the background color around all the symbols that the player can select.
You must make sure not to draw anything in these locations or the game overwrites it. You may refer to the files C:\DMNTranslationKit\Resources\Bitmaps\MENU.BPK_47.bmp
and C:\DMNTranslationKit\Resources\Bitmaps\MENU.BPK_48.bmp
to see that grid which is highlighted with empty red/blue/green squares. When translating the ‘Del’ and ‘OK’ buttons on the bottom right of MENU.BPK_48, make sure not to place text under the vertical bar in the middle of each of these two areas.
The champion’s name being defined is displayed at the top of the rename screen using the font FONT012.
Everywhere else in the game, the champion names are displayed using font FONT256.
Consequently, if you want to properly translate the rename champion screen then you need to replace the characters in both fonts.Translations.csv
contains the necessary lines to replace the 127 characters that can be selected by the player on the rename champion screen, for both fonts FONT256 and FONT012 (so this means 254 potential character replacements). On each of these lines, the ‘Notes’ column refers to slot coordinates that you can see on C:\DMNTranslationKit\Resources\Bitmaps\MENU.BPK_47.bmp
and C:\DMNTranslationKit\Resources\Bitmaps\MENU.BPK_48.bmp
.
In Japanese, some katakana characters are variants of other characters with an additional diacritic named dakuten ‘゛’ or handakuten ‘゜’. For example: ホ ボ ポ
On the champion rename screen, the player may enter the variants by first selecting the base character, and then selecting the ‘゜’ or ‘゛’ diacritic in block 2 (5,5) and (5,4). The characters where these diacritics can be applied are highlighted on C:\DMNTranslationKit\Resources\Bitmaps\MENU.BPK_47.bmp
and C:\DMNTranslationKit\Resources\Bitmaps\MENU.BPK_48.bmp
with blue and green squares. The mixed blue and green squares are characters where both diacritics can be applied. For a proper translation, you must make sure to replace all the necessary characters and their variants in the fonts.
For example, in the English translation, the slots for the two diacritics are left blank (there is no need for diacritics in the English language), and the three variants of the same character ホ ボ ポ are all replaced with the same character bitmap representing an ’e’ in the fonts. In that way, if the player first selects the ’e’ and then selects one of the diacritic slots (even though they are empty, they can still be selected), then the visible character remains the same.
Translations to other languages that use diacritics may benefit from these two diacritic slots and their behavior: in this case, the two or three variants of the same character would not be replaced with the same character bitmap, but instead with their actual forms with the diacritics.
When the game displays this message on screen, the player can answer ‘Yes’ or ‘No’. The game highlights both options using hard-coded areas of the bitmap.
You must make sure that your translated text fits into these areas. You may refer to the file C:\DMNTranslationKit\Resources\Bitmaps\WARNING.BIN_2.bmp
to see these areas.
The game uses two fonts to display text, and one is stored as 3 separate items:
If your translated language requires additional characters that are not part of the original fonts (or in other translations) then you must create the missing font characters.
Do not create new images from scratch, always copy existing files. This ensures you use the correct format, dimensions, and color palette.
For each additional character that you create, you have two storage options:
English
translation folder (FONT256.S2D_5.bmp
, FONT256.S2D_21.bmp
, RLOWFIX.BIN_0_5.bmp
, RLOWFIX.BIN_0_88.bmp
, RLOWFIX.BIN_2_0.bmp
)English
translation folder (FONT256.S2D.bmp
, RLOWFIX.BIN_1.bmp
). In these two files, the katakana characters that may be used when renaming a champion are replaced with Latin characters and magic symbolsIn both cases, you must modify or add a line in Translations.csv
to declare your new character:
Translations.csv
for character replacements in the English and French columns. CAUTION: if there is already an existing line with the same values in the ‘File’, ‘Index’ and ‘Subindex’ columns, do not add a new line but instead reuse the existing one.When the script processes the Translations.csv
lines about font character replacement, it first looks for a specific bitmap for that unique character. If not found, then it tries to find a full font file. If found, the specified character is copied from that full font file into the font being customized. If not found, then a warning message is issued.
Notes:
You need to place your translated texts in your [Language] column in Translations.csv
.
You can use the help of online translation tools like ChatGPT, DeepL, Google Translate, Yandex translate, etc. But you need to refine the translation they provide which may not match the context of the game or fit with the limitations described below.
Make sure to only use characters that exist in the default fonts, or characters that you have replaced in the fonts. The script issues a warning message if it encounters character that is not found in the font and thus cannot be encoded. The table below shows which font is used for which text usage. Make sure you add the necessary characters in each appropriate font.
Below are the limitations for each type of text to make sure they look nice in the game. The script will issue an error for each text that does not conform to these limitations.
You can use the commands in the table below in your translated texts. All commands start with ‘{_’.
Native commands are processed by the game engine and produce actual encoded bytes in the text data.
Pseudo commands are processed by the translation script and do not produce any encoded bytes in the text data.
You may refer to existing texts in the ‘Japanese’ or ‘English’ columns for usage examples of each of these commands.
Recommendation for ‘Dialog’ and ‘Inscription’ texts (stored in RLOWFIX.BIN item #5): in most cases you should use {_AutoLeftAlign} for texts with ‘Dialog’ usage, use {_AutoCenter} for texts with ‘Inscription’ usage, and remove all other commands in these translated texts. This avoids the need to compute the actual coordinates to display the texts properly. Note that you can check the actual commands generated by the script in the C:\DMNTranslationKit\Temp\[Language]\Translations_[Language].csv
file after running the script.
C:\DMNTranslationKit\Resources\Video subtitles
or from an existing translation to your C:\DMNTranslationKit\[Language]
folder as a starting point.C:\DMNTranslationKit\Tools\ffmpeg\bin\ffplay.exe -vf subtitles=C\\:\\\\DMNTranslationKit\\\\[Language]\\\\DMV0.srt:force_style='Fontsize=28' C:\DMNTranslationKit\Input\DMV0.AVI
C:\DMNTranslationKit\Tools\ffmpeg\bin\ffplay.exe -vf subtitles=C\\:\\\\DMNTranslationKit\\\\[Language]\\\\DMV1.srt:force_style='Fontsize=28' C:\DMNTranslationKit\Input\DMV1.AVI
C:\DMNTranslationKit\Tools\ffmpeg\bin\ffplay.exe -vf subtitles=C\\:\\\\DMNTranslationKit\\\\[Language]\\\\DMV2.srt:force_style='Fontsize=28' C:\DMNTranslationKit\Input\DMV2.AVI
VideoSubtitles_Step1_English.cmd
and rename it so that you replace ‘English’ with the name of your translation. Do not change anything else in the file name.C:\DMNTranslationKit\Tools\win311dosbox\WINDOWS\DMN
.C:\DMNTranslationKit\VideoSubtitles_Step2_Run Windows 3.11 in DOSBox.cmd
to load Windows 3.11 inside DOSBox emulation.C:\DMN
. Enter ‘*.bmp’ in the ‘File Name’ field and press Enter. Select the first file in the sequence of extracted .bmp files (C:\DMN\DMV00001.BMP
, C:\DMN\DMV10001.BMP
, or C:\DMN\DMV20001.BMP
) and click ‘OK’. Select the file format ‘DIB sequence’ and click ‘OK’.C:\DMN\DMV00001.AVI
, C:\DMN\DMV10001.AVI
, or C:\DMN\DMV20001.AVI
). Do not use other names or the last script won’t find them.VideoSubtitles_Step3_English.cmd
and rename it so that you replace ‘English’ with the name of your translation. Do not change anything else in the file name.DMV0.AVI
, DMV1.AVI
and DMV2.AVI
in your translation folder C:\DMNTranslationKit\[Language]
.This section describes how to build a translated version of the game.
C:\DMNTranslationKit\Build_[Language].cmd
(where you replace [Language] with your language name)Temp
folder. The script only compresses bitmaps if their compressed data is missing or if they have been updated since the last time they were compressed. Consequently, the first execution of the script may take a long time, but subsequent script executions are much faster.Translations.csv
that require your attention.C:\DMNTranslationKit\Output
. Note that the new CUE file references the same audio tracks 2 to 9 as the Japanese version:Dungeon Master Nexus ([Language]) (Track 1).iso\
Dungeon Master Nexus ([Language]).cue
IP.BIN
file present in the translation folderYou may check the contents of the C:\DMNTranslationKit\Temp\[language]
folder as it contains files created by the script execution:
C:\DMNTranslationKit\Temp\[language]\Translations_[language].csv
is a copy of Translations.csv
with additional columns. See reference section below for details.C:\DMNTranslationKit\Temp\[language]\Fonts_[language].csv
is a copy of Fonts.csv
with additional columns. See reference section below for details.ISO
folder contains all the files that were included in the CD imageThe Mednafen emulator is recommended for testing.
You also need to download the Sega Saturn BIOS files (US and JP) included in the OpenEmu BIOS Pack. Copy the BIOS files mpr-17933.bin
and sega101.bin
in the firmware
folder of Mednafen.
Run the following command line to start the emulation:[Installation path]\mednafen.exe "C:\DMNTranslationKit\Output\Dungeon Master Nexus ([Language]).cue"
You may change the following Mednafen emulator configuration settings to make it easier to check bitmaps in the game. They disable aspect ratio correction and interpolation to have a crisp display:
;Correct aspect ratio.
ss.correct_aspect 0
;Enable (bi)linear interpolation.
ss.videoip 0
You need to run the game a lot of times during the testing phase. This section explains how to speed up your tests.
C:\DMNTranslationKit\Resources\Test files\DMV0.AVI
(0 bytes) in your translation folder so that the game goes directly to the entrance menu without playing the introduction video, saving a few seconds and one less button to press.Mednafen.cfg
configuration file so that you don’t have to hold the key pressed, use the maximum speed and disable sound when fast forwarding (sound is distorted anyway if you don’t disable it):;Silence sound output when fast-forwarding.
ffnosound 1
;Fast-forwarding speed multiplier.
ffspeed 15
;Treat the fast-forward button as a toggle.
fftoggle 1
Translations.csv
contains a “Translation check” column explaining how to check the translation of each text in the game.
The kit contains a saved game where the champions have all of the game items in their possession and high skill levels and statistics. You can use this file to check most translated texts in the game without leaving level 1. To use this saved game with your custom CD image in Mednafen:
sav
folder. The file names contain a hash value computed from the CD image itself, so each time you build a new CD image, this hash value changes. This allows Mednafen to associate different memory backup files with each game that you emulate.C:\DMNTranslationKit\Resources\Test files\System Backup RAM - Translation check.bkr
to the sav
folder and rename it with the name you copied in the previous step.Notes about the saved game:
To test text messages related to saved games, and the bitmaps in WARNING.BIN, you must use the appropriate combination of settings (see Translations.csv
for the required configuration for each translated text):
To connect or disconnect the memory backup cartridge:
In the Mednafen emulator configuration file, you must configure this setting to connect the backup memory cartridge:;Expansion cart.
ss.cart auto
You must configure this setting to disconnect the backup memory cartridge:;Expansion cart.
ss.cart none
Use various saved game states, like no more space available, a corrupted saved game, etc.
Mednafen stores the Sega Saturn internal memory backup (32 KB) in an uncompressed .bkr file in the sav
folder. It stores the external cartridge memory backup (512 KB) in a gzip compressed .bcr file in the sav
folder. If you want to see the contents of the cartridge memory backup, you may uncompress the file with 7-zip or any other archiving tool compatible with the gzip format.
The name of these files is the name of the CD image of the game followed by an MD5 hash of the CD image (a 32 characters hexadecimal value). Because of this hash, each time you build a new version of your Dungeon Master Nexus translation, Mednafen uses a different file name.
The folder C:\DMNTranslationKit\Resources\Test files
contains test files that you can use to check some translated texts in the game. To use these test files, you must rename them to match the name and hash value corresponding to the CD image you are testing: Run the game once with Mednafen and then quit the emulator immediately, which causes the emulator to create an .smpc file in the sav
folder. You don’t need this file but you can use the same file name (without the file extension) to rename your test .bkr / .bcr files (and you can delete these files created by Mednafen if present).
Here are the game files that the kit may modify to apply the translation:
When encoding texts, the script performs two kinds of optimizations:
C:\DMNTranslationKit\Temp\[Language]
folder.English
translation folder.This is the main file to edit to implement a translation to a new language. It contains the following columns:
File names in the translation folder must match a combination of the first three columns, separated with ‘_’ characters.
Example: If you want to replace the bitmap #5 in MENU.BPK, then you must provide the custom bitmap file named MENU.BPK_5.bmp in your translation folder.
You must not make any change to the Fonts.csv
file. All font customizations must be done in Translations.csv
.
The file contains the following columns:
Mednafen global parameters
Mednafen parameters for the Sega Saturn emulation module
Dungeon Master Nexus Translation Kit written by ChristopheF
Version 1 (2023-09-20): Initial release. Includes English translation
Version 2 (2024-01-02): Major upgrade to allow translation to any language. Includes English version 2 translation, and French translation