summaryrefslogtreecommitdiffstats
path: root/system/pcem/README
blob: de8f64e3056862112c25f4e1afaffe99294dadb7 (plain)
PCem (low-level emulator for 1980s-1990s IBM compatibles)

PCem is capable of emulating a wide array of IBM-compatible computers
from the 1980s through the late 1990s.

PCem is, for the most part, a single-threaded process, and some CPU
frequency governors may fail to reach high enough frequencies for
acceptable performance in emulating the higher-end models. If the
program is unexpectedly slow, consider setting the CPU frequency
governor to "performance" or "schedutil" mode temporarily.

Required: wxGTK3

  ____________
  | Building |
  ------------

Aside from BUILD and VERSION, the following options are available when
calling pcem.SlackBuild:

  ALSA=yes    # Use ALSA for MIDI output
  NETWORKING=no    # Disable network connectivity
  PCAP=no    # Disable PCAP networking (no effect without networking)
  PLUGINS=yes    # Build the plugin engine

This SlackBuild follows the vast majority of other SlackBuilds in using
the -O2 optimization flag. That being said, -O3 is the upstream default
for PCem. Testing revealed no obvious performance differences, but your
mileage may vary.

  _____________
  | Rom Files |
  -------------

Rom files for individual models are required for emulation. These files
are not included in the PCem source. Once the roms have been acquired,
they should be placed in /usr/share/pcem or in the $HOME/.pcem directory
for the running user:

  /usr/share/pcem/roms
  $HOME/.pcem/roms

The system-wide directory is supplied by the PCem package, and the user
directory is created when running PCem for the first time. The internal
structure of the roms directory is non-trivial. See "README.md" after
installation for a list of compatible guests, the necessary location of
each rom file and technical specifications.

A "pcem-roms" collection is available, but please bear in mind that
although the roms within are ancient, they are also proprietary and
provided without a license. The collection provides a large number of
usable rom files in their proper positions within the roms directory
tree.

  _________________________
  | Configuration and Use |
  -------------------------

A variety of guest-specific settings are available through the GUI menu,
incuding the CPU to emulate, storage devices, peripherals, etc.

PCem can be configured on a per-user basis by modifying
$HOME/.pcem/pcem.cfg. This file is generated automatically at the first
run.

Keyboard shortcuts are not configurable:

  Ctrl + Alt + PgDn - toggle fullscreen
    (enter fullscreen: mouse capture on; leave: mouse capture off)
  Ctrl + End  - leave mouse capture in windowed mode
  Ctrl + Alt + PgUp - screenshot to $HOME/.pcem/screenshots

To make changes to a running session (insert disks, etc.), or to create
blank disk images, right-click the screen area outside of fullscreen
mode and/or mouse capture.