DM1 V1 - Options / Settings

Source-Locked

ReDMCSB WIP20210206 - Toolchains/Common/Source/


Appendix/Options System (APPA.C)

APPA.C is the FTL (Folded Temporary Library) application shell. It handles loading and sequencing of ancillary modules:

The main function (APPA.C:26) sequences these based on L2157s.Parameter.

DOS PC98 display mode selection (DMSTART.C:164-210):

Monitor types: PC9801LV51C RAM at F0000 or E0000, VX/RX/RA/RS, UX/EX/ES/CV, UV21/DO


Sound / Music (STARTUP2.C / SOUND.C)

Sound initialization: F0062_SOUND_Initialize (STARTUP1.C:160, STARTUP2.C:1344)

Volume struct SOUND_VOLUME: G6196.Left and G6196.Right (ENTRANCE.C:186-187) Default: 255/255 (full volume). No runtime mixer UI in DOS version.

Music:

Sound effects: F0064_SOUND_RequestPlay_CPSD for spatial combat feedback.


Mouse / Sensitivity

Mouse cursor bounds set in ProcessEntrance:


Palette / Brightness Control

F0694_SetMultipleColorsInPalette sets palette presets (ENTRANCE.C:434):

VDEO_14_SetNormalColorPalette / VDEO_15_ApplyNormalColorPalette for platform-specific palette control (APPA.C:116-119).


Display / Graphics Options (Firestaff Modern UI)

menu_startup_m12.c provides the full options panel that DM1 V1 lacked:

Firestaff exposes two player-facing presentation choices. Original (v1) is the preservation route, while Modern (v2.x) enables optional native visual improvements. Aspect ratio and output resolution are available in both modes. They affect only the host presentation target: the renderer fits the native source frame with bars where necessary and never stretches it non-uniformly.

Game Cards

Selecting a game card opens a three-step launch flow. First, Firestaff shows generated cards for each natively supported platform. Each card states whether the scanner verified matching game data; a platform without verified data is visible but cannot be started. The initial selection preserves an explicit CLI or saved platform preference; automatic selection chooses the first verified platform.

After a verified platform is selected, Original starts the preservation preset and Modern starts the v2.x preset directly. Custom opens the detailed options page for per-setting changes. Game archives remain the launch source throughout this flow; Firestaff does not extract a copy to disk.

All launcher menus support mouse navigation. Cards, settings controls, Museum categories and their visible action buttons have exact click targets. In document and list views, clicking the left or right third changes the page or category, clicking the upper or lower centre scrolls, and clicking the centre activates the current item. The Back button is available in every non-main view. Empty platform-picker cells are inert; only a shown platform card can be selected, and a card without verified game data remains unable to launch.

M12_SETTINGS_TAB_GAME = game settings M12_SETTINGS_TAB_GRAPHICS = renderer, scale mode, aspect ratio M12_SETTINGS_TAB_CONTROLS = input remapping, WASD, touch M12_SETTINGS_TAB_AUDIO = master/music/SFX volume, mute M12_SETTINGS_TAB_ACCESSIBILITY = font scale, high contrast, colorblind mode

The high-contrast row toggles both the launcher chrome (existing m12_presented_color in src/ui/menu_startup_m12.c) and the M11 in-game chrome via the new m11_high_contrast_overlay_pc34_compat gate (M11_HighContrast_SetActive() is pushed from m12_apply_loaded_config next to the existing M11_UIScale_SetPercent push). The gate covers HUD text, dialog choice text, action-area / rune-strip text, combat-log text, hit- flash text, and the death / winner overlay. The 320x200 dungeon- viewport pixels and the HUD panel C040 / C017 backdrop blits are deliberately preserved bit-exact because they go through separate bitmap-blit paths, not through m11_draw_text. Default state is off so V1 launches stay pixel-identical with the original DM1 PC 3.4 presentation.

Settings rows include: language, window mode, integer scaling, VSYNC, viewport style, auto-pause, theme, background.

Legacy DM1 V1 had no in-game display options UI. Settings were platform- specific and set pre-game via APPA/FTL subsystem.


Summary

DM1 V1 options: minimal. No runtime mixer. Display settings are platform-specific text prompts at startup. The Firestaff modern UI (menu_startup_m12.c) provides the full options panel: graphics renderer, scale mode, audio channels, viewport style, input remapping, accessibility options.

Live runtime graphics

The per-game Game settings in the start menu contain the initial presentation mode, cheat switch and speed. The same values can be changed after launch with F10. F10 writes the selected game’s configuration slot immediately, so the setting is retained for the next launch.

F10 is supported by DM1, CSB, DM2, Theron’s Quest and Nexus. Presentation changes affect the active renderer in real time; no restart is required.