# This is a sample .dgenrc file
# It simply sets everything to their default values
# Lines that BEGIN with a hash (#) (i.e. NOTHING before it) are comments.
# Also, everything after the "field = value" is ignored (but don't count on it)

# Note that your own RC file doesn't need to include every field like this
# one does, any ones you exclude simply have their compiled-in default values.

# Also, you can have multiple RC files, and use the -r option to dgen
# to pick the rc you want to load.

# Fields beginning with "key_" take key names. The valid key names are listed
# in the dgenrc(5) manpage.

# Fields beginning with "bool_" are boolean, i.e. they take a true or false
# value:
#  "true", "yes", any number except 0: true 
#  "false", "no", "0"                : false

# Fields beginning with "int_" take a _positive_ integer. Simple enough, huh? ;)

# The syntax and fields of this file are documented in a bit more detail in the
# dgenrc(5) manpage.

# These are the controls for pad 1
key_pad1_up = up
key_pad1_down = down
key_pad1_left = left
key_pad1_right = right
key_pad1_a = a
key_pad1_b = s
key_pad1_c = d
key_pad1_x = q
key_pad1_y = w
key_pad1_z = e
key_pad1_mode = backspace
key_pad1_start = return

# The same for pad 2
# Yes, I KNOW the default player 2 keys are awful. Pick your own!
key_pad2_up = kp_up
key_pad2_down = kp_down
key_pad2_left = kp_left
key_pad2_right = kp_right
key_pad2_a = delete
key_pad2_b = end
key_pad2_c = page_down
key_pad2_x = insert
key_pad2_y = home
key_pad2_z = page_up
key_pad2_mode = kp_plus
key_pad2_start = kp_enter

# Fix checksum, needed by some games with Game Genie codes
key_fix_checksum = f1

# Quit dgen
key_quit = escape
# Toggle split screen and crap-tv
key_splitscreen_toggle = f4
key_craptv_toggle = f5
# Screenshot - not implemented (contributors? :)
key_screenshot = f12
# Reset Genesis
key_reset = tab

# Use this to toggle which CPU core to use, no need to reset!  :)
# If you don't have multiple CPU cores, it won't do anything!
key_cpu_toggle = f11

# This pauses emulation :)
key_stop = z

# Pick save slot
key_slot_0 = 0
key_slot_1 = 1
key_slot_2 = 2
key_slot_3 = 3
key_slot_4 = 4
key_slot_5 = 5
key_slot_6 = 6
key_slot_7 = 7
key_slot_8 = 8
key_slot_9 = 9
# Save/load game to current slot
key_save = f2
key_load = f3

# This sets whether split-screen and crap-tv should be enabled on startup.
bool_splitscreen_startup = no
# There are now multiple CTV effects to try. Pick your favorite:
#  off       - No CTV
#  blur      - Blur bitmap (this is the CTV from older versions)
#  scanline  - Attenuate every other scanline, by Phillip K. Hornung <redx@pknet.com>
#  interlace - Unstable crappy television (I had one that looked like this ;), by me!
ctv_craptv_startup = off

# These decide whether DGen should automatically load slot 0 on startup,
# and/or autosave to slot 0 on exit.
bool_autoload = no
bool_autosave = no

# Skip frames to keep time? (faster, but can make things look bad)
# This doesn't matter if you have sound enabled, since the sound code has its
# own frameskipping
bool_frameskip = yes
# Show cartridge header info at startup, like Snes9X? Causes a 3-second pause,
# but might be interesting to hackers or other curious people (like me :)
bool_show_carthead = no

# Sound?
bool_sound = yes
# The sound rate to use.
int_soundrate = 22050
# Leave this true for 16-bit sound, but if you're unfortunate enough to have
# an old 8-bit card make it false.
bool_16bit = yes
# Number of sound segments for buffering.  Lower values yield faster
# speed, and less latency in controls and sound, but at the cost of CPU
# Values can be 4, 8, 16, or 32 (frames)
int_soundsegs = 8

# This is how many microseconds DGen should sleep every frame. Even little
# amounts can decrease CPU overhead significantly, and the default of 20
# doesn't hurt performance terribly. Of course, set it to 0 if you don't
# mind DGen eating all your CPU (like me ;)
int_nice = 0

# Use a joystick?
bool_joystick = no

# These are the joypad mappings for both controllers.  Defaults are
# tailored for Gravis GamePad Pros. (10 button)  Configure the variables:
# joypadX_bY, where X is the joypad number (1 or 2) and Y is the
# corresponding button.  It may take some tweaking to get the values just
# right.  You can define up to 16 buttons (0-15) and can define Genesis
# buttons more than once and can leave them blank.  Acceptable identifiers
# are:
# A, a, B, b, C, c, X, x, Y, y, Z, z, MODE, mode, M, m, START, start, S, s

# NOTE:  For now, you have to uncomment the buttons you are using, or the
# default mappings will be used.  You will get warnings about invalid RC
# lines if you don't compile joystick support in. [PKH]

# Joypad 1
#joypad1_b0 = A
#joypad1_b1 = C
#joypad1_b2 = A
#joypad1_b3 = B
#joypad1_b4 = Y
#joypad1_b5 = Z
#joypad1_b6 = X
#joypad1_b7 = X
#joypad1_b8 = START
#joypad1_b9 = MODE
#joypad1_b10 =
#joypad1_b11 =
#joypad1_b12 = 
#joypad1_b13 = 
#joypad1_b14 = 
#joypad1_b15 = 

# Joypad 2
#joypad2_b0 = A
#joypad2_b1 = C
#joypad2_b2 = A
#joypad2_b3 = B
#joypad2_b4 = Y
#joypad2_b5 = Z
#joypad2_b6 = X
#joypad2_b7 = X
#joypad2_b8 = START
#joypad2_b9 = MODE
#joypad2_b10 =
#joypad2_b11 =
#joypad2_b12 = 
#joypad2_b13 = 
#joypad2_b14 = 
#joypad2_b15 = 
