JPC-RR PC settings

This page documents various settings affecting emulated PC hardware. These settings are set in System->Assemble when starting new project and can't be subsequently be changed.
These options save in both savestates and in movies.

BIOS

BIOS (Basic Input/Output System) image used by system. This image is loaded so that its upper end in memory space is at physical address 0xFFFFF. There is also shadow copy located so that its upper end in memory space is at physical address 0xFFFFFFFF. Images of BIOS type can be selected and there is no empty option, so BIOS image is mandatory.

VGABIOS

VGA BIOS image used by system. This image is loaded so that its lower end in memory is at address 0xC0000. Images of BIOS type can be selected and there is no empty option, so BIOS image is mandatory.

Floppies (FDA/FDB image)

The images of initial disks that is put into floppy disk drives A and B (A: and B: in DOS). If left blank, the emulator behaves like corresponding floppy disk drive doesn't have disk in it (if/until one is put there). Images of floppy type can be selected here, or it can be left blank.
FDA image is often set to be boot floppy containing the operating system, FDB image is often left blank.

Hard disks (HDA/HDB/HDC/HDD) image

The image of Hard drive initial contents. Unlike floppies, hard disks can't be swapped. If left blank, there is no corresponding hard drive (except for hard disk C). Images of HDD type can be selected here, or it can be left blank.
Hard disk C is special. If it is not present, then CD-ROM drive takes its place.
Drive letters in DOS are assigned so that primary partition of first existent hard disk (A if it exists, B if not, C if B doesn't exist either, D if even C doesn't exist) gets C:. Extended partitions (if any) then get D:, E:, and so on. Then next disk starts off where previous left off.
A and B are master-slave pair, as are C and D. BIOS has undesirable behavior of timing out disk if its pair exists, taking some deciseconds to do so. But hard disk C is special in that if it does not exist, CD-ROM drive takes its place. This causes BIOS to attempt probing Hard Disk D, timing out if it does not exist. For this reason, game image is often put as Hard Disk D image.

CD-ROM image

If Hard Disk C image is empty, then CD-ROM drive takes its place. This setting specifies initial disc inserted there. If left empty, the drive is treated like it has no disc in it (if/until one is inserted). This can be set to image of CDROM type or left blank. If Hard disk C image is specified, this must be left blank, as there is no CD-ROM drive in that case.

Initial RTC time

This sets the time CMOS clock starts from. The unit is milliseconds and 0 corresponds to 1970-01-01 at 00:00:00.000Z. Only integers are valid. The minimum allowed value is 0. The maximum allowed value is 4102444799999, corresponding to 2099-12-31 at 23:59:59.999Z. The default value is 1000000000000, corresponding to 2001-09-09 01:46:40.000Z.

CPU freq. divider

CPU frequency is 1GHZ divided by this value, so lower values correspond to faster CPU. Only integers are valid. The minimum is 1, corresponding to 1GHz, maximum is 256, corresponding to about 3.9MHz.

Memory size

Memory size in 4KiB pages. Only integers are valid. The minimum value is 256, corresponding to 1MiB. Maximum value is 262144, corresponding to 1GiB. Default value is 4096, corresponding to 16MiB. 4MiB would be 1024 and 8MiB would be 2048.

Modules

Specify various optional components here. If multiple components are to be included, separate them using commas. Some modules take parameters, put them in parenthesis after module name.

Module: org.jpc.modules.BasicFPU

Simple (and not very good) FPU emulator. Adds emulation of x87 floating-pont coprocessor. If BIOS does not properly probe for FPU, many games will crash on startup (some do even if BIOS does probe for them). And the standard BIOS images do not probe for FPU properly. Some usual symptoms of game not functioning due to lack of FPU:
- Lots of "FPU used but not present" spam in console. - Game crashing with exception 7. - Game crashing with device not available or some such errors.
The emulation errors in FPU do cause glitches in some games.

Module: org.jpc.modules.Joystick

Joystick (gameport) emulation. Enables using joystick as game input.

Module: org.jpc.modules.FMCard

Adlib Gold (OPL3) emulation. Mostly obsolete, from time when there was no stable Sound Blaster emulation. Loading with SoundCard module results resource conflicts, so load only one or another.

Module: org.jpc.modules.SoundCard

Sound Blaster 16 emulation. Also provodes Adlib Gold (OPL3) emulation. MIDI is not currently emulated. Loading with FMCard module results resource conflicts, so load only one or another. The default resources are:

Emulate I/O delay

If set, each I/O read takes 666ns instead of one CPU cycle. This is needed for some games to even semi-reliably detect Adlib Gold. Games that have true Sound Blaster support don't need this as presence of Sound Blaster implies capabilities equivalent to Adlib are available and Sound Blaster can be probed with no delay requirements.

Emulate VGA Hretrace

If set, emulator signals VGA horizontal retraces to software running on the emulated system. This is needed for some software (such as newer Commander Keen 4/5 versions) to run properly.
Software needing this often shows up as game running very slowly (the emulator is slow, use frame advance, one frame is 1/60th of a second).

Shorten pipe for self-modifying code

Support self-modifying code that doesn't jump to clear the pipeline before executing modified instructions. Needed for any game that was compiled using DJGPP.

VGA frame rate method

SVGA card type

Sets the BGA revision (2 or 5). Should be set to revision 5, but usually does not matter.

Boot device

The default boot device to boot from. Available choices are FDA (floppy disk drive A), HDA (hard disk drive A) or CDROM (CD-ROM drive). If set to CDROM, HDC image must be empty. Usually set to FDA.

EmulatorResources/JPC/PCSettings last edited by feos on 10/20/2021 2:58 PM
Page History Latest diff List referrers View Source