3. The Init group of Modules

These files are used for initialization and runtime configuration of DOSEMU

3.1. Functions in base/init/init.c

These are the functions defined in base/init/init.c.

3.1.1. stdio_init

Initialize stdio, open debugging output file if user specified one

3.1.3. timer_interrupt_init

Tells the OS to send us periodic timer messages

3.1.4. map_video_bios

Map the video bios into main memory

3.1.5. map_custom_bios

Setup the dosemu amazing custom BIOS, quietly overwriting anything was copied there before. Do not overwrite graphic fonts!

3.1.6. memory_init

Set up all memory areas as would be present on a typical i86 during the boot phase.

3.1.7. device_init

Calls all initialization routines for devices (keyboard, video, serial, disks, etc.)

3.1.8. low_mem_init

Initializes the lower 1Meg via mmap & sets up the HMA region

3.1.9. version_init

Find version of OS running and set necessary global parms.

3.2. Functions in base/init/config.c

These are the functions defined in base/init/config.c.

3.2.1. cpu_override

Process user CPU override from the config file ('cpu xxx') or from the command line. Returns the selected CPU identifier or -1 on error.

3.2.2. register_config_scrub

register a function Enforce consistency upon the `config` structure after all values have been set to remove silly option combinations

3.2.3. unregister_config_scrub

Complement of register_config_scrub This removes a scrub function.

3.2.4. config_scrub

Enforce consistency upon the `config` structure after all values have been set to remove silly option combinations

3.2.5. config_init

This is called to parse the command-line arguments and config files.

3.3. Remarks in base/init/config.c

For simpler support of X, DOSEMU can be started by a symbolic link called `xdos` which DOSEMU will use to switch into X-mode.