Clone wiki

UniPCemu / Settings menu

The Settings menu in the emulator controls the operation of the emulator. Currently 3 categories exist: Main, disk and advanced. Press Ltrigger(Q)/Rtrigger(W) or left/right to switch between them.

Main menu

This menu allows basic Settings savestate operation.

  • Save changes &Resume / Save changes&Reboot: This saves the settings and reboots or resumes emulation.
  • Discard changes: Discards all changes made and resumes emulation.
  • Load defaults: This loads all emulator default settings and clears the CMOS contents. Use this to reset the emulator to the default state while keeping memory allocations the same.
  • Discard changes and reboot the emulator
  • Discard changed, reboot the emulator and enter the Settings menu.

Disks menu

This menu allows disk changes and various tools concerning them.

  • FLOPPY0, FLOPPY1, HDD0, HDD1, CDROM0, CDROM1: this changes mounted drives.
    • Press square on a drive to toggle readonly (CDROMs are always readonly).
    • Press triangle when selecting a disk image to unmount a drive.
  • Various tools for creating and converting disk images are present. This includes creation of- and conversion between img(static) and sfdimg(dynamic) disk images. There's also an option to defragment dynamic disk images (see Disk images).

Advanced menu

Here you can change advanced options regarding emulated hardware.

Debugger options are found here. Also a MIDI player is available when opened before the BIOS messages are displayed or emulation is started (When the CPU isn't running software yet).

The CPU menu has options to select the CPU to be emulated, as well as a CPU speed setting(sets the CPU speed to the emulated CPU(80(1)88/80(1)86 accurate speed(4.77MHz) when using Default, newer CPUs will default to 3000 cycles. Setting it to an amount of cycles will use Dosbox-style cycles to set it's speed instead). Both normal and turbo CPU speeds can be set. The Turbo setting default on 80(1)86/88 CPUs is set to 10MHz, with accurate timings.

The Input menu has options to adjust the colors of the OSK and to map gaming mode buttons. It also has an option to remap the Gaming mode to use Joystick input, using one of the supported Joysticks as the emulated input device, instead of mapped Gaming mode keyboard/mouse actions.

The Execution mode determines what the emulator should execute:

  • Normal execution: Shows the internal emulator BIOS POST and boots from floppy, hard disk or CDROM(El Torito standard). The BIOS used is a BIOS in the emulator itself (the same way Dosbox provides BIOS and DOS support in it's emulator). It doesn't use any external BIOS ROM files, as specified in the ROM directory.
  • Boot from BOOTROM.BIN: Loads BOOTROM.BIN at 0000:0000 and starts execution.
  • Boot with BIOS ROMS: Boots using BIOS in BIOSROM.BIN or BIOSROM.u<partnumber>.BIN. Option ROMs are loaded from OPTROM.<number>.BIN, where numbers are from 1 to the amount of Option ROMs. The files are all located in the ROM directory. Various BIOS ROM loading schemes are supported(Option ROMs are always loaded):
    • Highest priority for all configurations: BIOSROM.BIN
    • Next highest priority on AT+ is BIOSROM.32(.DIAGNOSTICS for Diagnostics BIOS ROM setting).BIN and the Compaq U-ROMs for 80386+ CPUs. Lower priority is a simple fallback to BIOSROM.AT(.DIAGNOSTICS).BIN and the normal AT U-ROMs.
    • Normal BIOS ROM: Loads BIOSROM.<architecture>.BIN(highest priority) or BIOSROM.XT286.BIN(for 80286 on XT), finally trying the normal U-ROMs.
    • Diagnostics BIOS ROM: Loads BIOSROM.<architecture>.DIAGNOSTICS.BIN(highest priority) or BIOSROM.<architecture>.BIN(architecture being XT286 with XT 286 architecture), BIOSROM.<architecture>.BIN, finally trying the normal U-ROMs.
    • The different architecture combinations emulate using BIOS U-ROM numbers:
      • XT uses u18&u19
      • AT uses u27&u47
      • Compaq Deskpro 386 and up use u13&15(The same applies to the PS/2 architecture)
      • XT 286(instead of normal XT) uses u34&u35.
  • Various test routines (audio(MIDI test using MPU.MID), video modes).
  • debug directory files: Place files in the debug directory. <name>.bin and res_<name>.bin. The ROMs are loaded as a BIOS, compared after HLT instruction with res_<name>.bin at address 0000:0000.

Other ROMs

Other ROMs that can also be used are Video option ROMs(which are always loaded before the other option ROMs, at memory address C0000). These ROMs have unchanging filenames, as they're card dependent, not machine dependent.

The filenames are as follows:

  • MDA: MDAROM.BIN (optional. It's usually already within official machine BIOSes)
  • CGA: CGAROM.BIN (optional. See MDA comment above).
  • ET3000: ET3000.BIN
  • ET4000: ET4000.BIN

When the video Option ROM for the video adapter can't be found, the emulator's internal video BIOS is used instead.

Preboot settings

Some options can only be set when the application is started (yellow text displaying the option when starting the emulator or rebooting it using the Settings menu option) or when not booted yet(Internal BIOS emulation, this is the default setting). These options are:

  • Soundfont selection*.
  • Sound hardware emulation enable(Adlib, Game Blaster and Sound Blaster)*
  • Emulated video card*
  • Emulated CPU*.
  • Harddisks*.
  • The internal Music player: if used during runtime, it might screw up MIDI and/or Adlib output of a game, since it uses the same MPU-401 and Adlib interface to make sound.

*This option requires a emulator reboot to apply. Any active emulation will be terminated.

Architecture-specific settings

Some settings are architecture-specific. Said settings are applied to the architecture that's currently active (it's displayed below the "Settings menu" text on the settings screen.

These settings are:

  • Floppy A/B without disk type.
  • Installed CPU
  • Data bus size
  • (Turbo) CPU speed
  • Turbo CPU speed mode
  • Clocking mode

The emulator won't switch to a new architecture unless the system is restarted. To do so, simply change the architecture setting and save the settings. A restart will automatically occur. Terminating and relaunching the application will also reload the settings from the settings file and load the architecture specified within it. It can be viewed anytime on the top of the settings menu.

Manual settings

There are a few settings that can only be changed manually in the settings.ini file, while the emulator isn't running. These are the non-phonebook settings in the modem section. They can be changed using any normal text editor, which is OS-specific(e.g. Notepad, vi, vim etc.). The settings file can be written using any kind of valid line ending(CR, LF or CRLF) and are read in a non-OS specific way. It's written by the emulator when stopping emulation(terminating the app or rebooting the system using the settings menu option) (saving the CMOS) and when saving settings from within the settings menu. This will overwrite the entire file with the loaded settings the emulator uses, removing any data within said file that it doesn't recognise (including custom comments or unrecognised entries). Said saving will also update comments when they are changed between releases of the app(although requiring manual saving using any normal saving method).

The firstrun setting, when non-zero, will automatically open the settings menu when starting the emulator and overwrite the settings file with new up-to-date comments and options when the settings menu starts automatically, clearing said value back to zero(allowing quick automatic updating of any comments without changing settings).