.TH "kat5200" 1
.SH NAME
kat5200 \- Atari 5200 / 8-bit emulator
.SH SYNOPSIS
.B kat5200 [ \-\-option value ] ...
.I rom_file_name
.SH DESCRIPTION
kat5200 is a computer emulator of the Atari 5200 and 8-bit line of computers.  

The setup and control of the program is performed via the
.I kat5200.conf
configuration file.  On Windows systems, this is located in the user's
application data directory.  On *nix systems it is searched for in the user's
home directory first ( as
.I ~/.config/kat5200/kat5200.conf
 ), then in
.IR /etc/kat5200 .
To override settings in the configuration file,
command line options can be used (see OPTIONS below).

A debugger is built into the program for obtaining information relating to
the hardware being emulated.  See the included documentation or info.

A full user guide is installed with the program as a PDF and can be opened
from the GUI via
.BR "Options -> Misc -> Manual" .
.SH OPTIONS
All options use a double dash
.RB ( \-\- )
prefix.  Boolean options take a value of
.I 1
or
.I 0
(
.I true
or
.I false
are also accepted).  Command line options override the values stored in the
configuration file.
.SS General
.TP
.B \-h ", " \-\-help
Print usage information and exit.
.TP
.B \-V ", " \-\-version
Print version information and exit.
.TP
.B \-\-debug
Start the program in debug mode.
.TP
.B \-\-config filename
Use an alternate configuration file instead of the default
.IR kat5200.conf .
.TP
.B \-\-reset_config
Reset the configuration to the defaults.
.TP
.B \-\-start_with value
What to show when the GUI starts:
.IR file_browser ", " rom_list ", or " last_rom .
.TP
.B \-\-throttle value
Speed throttling in percent of the normal speed.
.TP
.B \-\-machine value
Machine type to emulate:
.IR 5200 ", " 800 ", " xl ", or " xe .
.TP
.B \-\-basic_enable value
Enable BASIC in 8-bit mode (1 or 0).
.TP
.B \-\-sio_patch value
Enable the SIO patch in 8-bit mode (1 or 0).
.TP
.B \-\-state profile
Load the named state profile.
.TP
.B \-\-quick_state value
Load a quick state slot, 1-9.
.TP
.B \-\-mapping value
Override cartridge mapping for the next ROM launch.  Use
.I auto
for automatic mapping.

Supported values are:
.I 5200.32k,
.I 5200.16k_two_chip,
.I 5200.16k_one_chip,
.I 5200.16k_be,
.I 5200.32k_be,
.I 5200.40k,
.I 5200.64k,
.I 5200.8k,
.I 5200.4k,
.I 5200.512k_hybrid,
.I 8bit.8k,
.I 8bit.16k,
.I 8bit.32k,
.I 8bit.40k,
.I 8bit.right,
.I 8bit.xegs,
.I 8bit.swxegs,
.I 8bit.mega,
.I 8bit.oss,
.I 8bit.oss2,
.I 8bit.atmax,
.I 8bit.atrax,
.I 8bit.will,
.I 8bit.sdx,
.I 8bit.exp,
.I 8bit.diamond,
.I 8bit.phoenix,
and
.I 8bit.blizzard.
.SS Machine
.TP
.B \-\-machine.tv_standard value
TV standard:
.IR ntsc " or " pal .
.TP
.B \-\-machine.ram value
Amount of RAM in kilobytes.
.TP
.B \-\-machine.bios filename
BIOS/ROM image to use.
.TP
.B \-\-machine.profiles_dir directory
Directory to search for machine profiles.
.SS Video
.TP
.B \-\-video.fullscreen value
Fullscreen mode (1 or 0).  The video mode is independent of this setting.
.TP
.B \-\-video.fixed_window value
Use a fixed (non-resizable) window (1 or 0).
.TP
.B \-\-video.width value
Window width, or desired fullscreen width.
.TP
.B \-\-video.height value
Window height, or desired fullscreen height.
.TP
.B \-\-video.x value
Window X position.
.TP
.B \-\-video.y value
Window Y position.
.TP
.B \-\-video.wide_playfield value
Show extra pixels on the left and right (1 or 0).
.TP
.B \-\-video.gui_scale value
GUI scale as an integer percent.  Use 0 for automatic SDL display scaling, or
25 through 300 for manual 0.25x through 3.00x scaling.  Large manual values can
clip narrow or portrait layouts.
.TP
.B \-\-video.window_scaling value
Window scaling mode:
.IR letterbox ", " stretch ", or " fit_window .
.TP
.B \-\-video.texture_scaling value
Texture scaling mode:
.IR pixelated " or " smooth .
.TP
.B \-\-video.vsync value
Enable vertical sync (1 or 0).
.TP
.B \-\-video.palette value
Color palette to load: a palette profile name or a palette file.
.TP
.B \-\-shader value
Shader bundle to load: a bundle name from the shader list, a bundle directory,
or
.I none
to disable shaders.
.B \-\-video.shader
is accepted as an alias.
.TP
.B \-\-backend value
SDL renderer backend to use (for example
.IR vulkan "), or"
.I default
to let SDL choose.
.B \-\-video.renderer_name
is accepted as an alias.
.TP
.B \-\-safe
Start with the SDL default renderer and shaders disabled.  Use this to recover
from a video configuration that prevents the program from starting.  This flag
is session-only and is never saved; an explicit
.B \-\-backend
or
.B \-\-shader
on the same command line takes precedence.
.TP
.B \-\-video.ntsc_artifacts value
Enable NTSC artifacting (1 or 0).
.TP
.BR \-\-video.ntsc_setup.hue ", " \-\-video.ntsc_setup.saturation ", " \-\-video.ntsc_setup.contrast ", " \-\-video.ntsc_setup.brightness ", " \-\-video.ntsc_setup.sharpness ", " \-\-video.ntsc_setup.burst_phase ", " \-\-video.ntsc_setup.hue_warping " value"
NTSC filter tuning parameters (floating point).
.SS Sound
.TP
.B \-\-sound.enable value
Enable sound (1 or 0).
.TP
.B \-\-sound.frequency value
Output sample rate in Hz.
.TP
.B \-\-sound.samples value
Audio buffer size in samples.
.TP
.B \-\-sound.buffer_size value
Audio buffer size (floating point).
.TP
.B \-\-sound.gain value
Output volume/gain in percent, 0 to 150 (100 = normal).
.SS Input
Input options follow the configuration namespace.  Per-player game controls use
.BI \-\-input.game.p N .*
where
.I N
is 0-3, and miscellaneous (UI) controls use
.BR \-\-input.misc.* .
For example:
.TP
.B \-\-input.game.p0.mouse.speed value
Mouse speed for player 0, 1-5 (3 is the default).
.TP
.B \-\-input.game.p0.mouse.optimize value
Optimize mouse motion for player 0: paddles or cursor (paddles is the default).
.TP
.B \-\-input.game.p0.type value
Player 0 controller type:
.IR joystick ", " trackball ", " paddles ", or " keypad "."
.RB ( \-\-input.game.p0.5200.type
and
.B \-\-input.game.p0.800.type
are accepted as aliases.)
.TP
.B \-\-input.game.p1.joy.sensitivity value
Joystick sensitivity for player 1.
.TP
.B \-\-input.game.p0.auto_fire value
Enable auto-fire for player 0 (1 or 0); repeat speed is set with
.BR \-\-input.game.p0.auto_fire_speed .
.PP
The miscellaneous (UI) actions are
.IR exit ", " back ", " fullscreen ", " screenshot ", " debugger ", "
.IR load.state.<1\-9> ", and " save.state.<1\-9> .
For example:
.TP
.B \-\-input.misc.fullscreen binding
Binding for the toggle-fullscreen action.
.TP
.B \-\-input.misc.load.state.1 binding
Binding for loading quick-state slot 1.
.SH USER KEYS
.TP
.B ESC \- Quit to the GUI
.TP
.B ALT-F4 \- Quit the program
.TP
.B F1  \- Enter the Debugger
.TP
.B ALT-ENTER \- Toggle Fullscreen
.TP
.B ALT-s \- Take Screenshot
.TP
.B ALT-1 to ALT-9 \- Load state from slot 1-9
.TP
.B SHIFT-1 to SHIFT-9 \- Save state to slot 1-9
.SH FILES
.TP
.I /etc/kat5200/kat5200.conf
The system wide configuration file for kat5200
.TP
.I ~/.config/kat5200/kat5200.conf
User specific configuration file.  Automatically created by program
.TP
.I ~/.config/kat5200/kat5200.log
Log file, written in the configuration directory.  Screenshots are saved
there too, as
.I .bmp
files named after the ROM's CRC.
.SH "SEE ALSO"
The installed user guide PDF (
.B Options -> Misc -> Manual
in the GUI) and the included documentation
