####################################################################
[SYSTEM]
####################################################################

# Path  containing  SROM.FLH file. That  file keeps track of flashed
# ROMs for non-volatile devices.

FLHPATH=A:\SETTINGS

# Path  containing  Game Master's ROMs. Files must be named
# SROM.GM1 (Game Master 1) and SROM.GM2 (Game Master 2).

#GMPATH=A:\GM

####################################################################
[JOY2KEY]
####################################################################

# Joy2Key configurations
# Format is <name>=<mode>[<sync_rows>];{<button><autofire><keys_sequence>;}*
#
# <name> is the name displayed in SofaRun.
#
# <mode> can be M, B, T, F or S depending on the joystick interface
# you want to use:
# +------+-------------------------+-----------+----------+
# | Mode |     Joystick type       | Available |   Soft   |
# |      |                         |  buttons  |   reset  |
# |------+-------------------------+-----------+----------|
# |   M  | JoyMega - Fast read     | ZYXMAS    | S+A+Down | 
# |   B  | JoyMega - Blocking read | ZYXMAS    | S+A+Down |
# |   T  | JoyMega three buttons   | AS        | S+A+Down |
# |   F  | FM-Towns                | SR        | S+U      |
# |   S  | JoySNES                 | SEYBRLXA  | S+A+Down |
# +------+-------------------------+-----------+----------+
# Shortcuts used in "Available buttons" and "Soft reset":
#   'E': Select button
#   'M': Mode button
#   'S': Start button
#   'U': Run button
#
# <sync_rows> is an optional list of keyboard matrix rows (0 to 9)
# for which # to perform a joystick update. By default, all rows are
# selected.
#
# <button> can be any of the available buttons
#
# <autofire> specifies the autofire delay for the specified  button.
# Set this to 0 for no auto-fire. Finding a good auto-fire value  is
# not so easy, this setting  is very game-specific. Do not  set this
# too low, because the ROM might  think that the buttons  are always
# pressed  if it does  not check it  too frequently!
#
# <keys_sequence> is a list of keyboard keys that will be  "pressed"
# when  the  specified  button  is  pressed.  Several  keys  can  be
# specified,  they  will be  pressed  together. This  allows  you to
# combine [F1] and [F5] keys  on the same JoyMega button  for Konami
# games. But beware, Parodius for example does not like it: you have
# to  press [F1]  and only  [F1] to  pause the  game (that's  why  a
# specific "Parodius" setting is provided).  A keycode is made of  2
# digits, that can be retrieved in the table below (row first,  then
# column). For example, the key code of the [Space] key is 80.
#
#       bit 7  bit 6  bit 5  bit 4  bit 3  bit 2  bit 1  bit 0
#row 0     7      6      5      4      3      2      1      0
#row 1    ; :    ] }    [ {     \     = +    - _     9      8
#row 2     B      A    DEAD    / ?    . >    , <    ` ~    ' "
#row 3     J      I      H      G      F      E      D      C
#row 4     R      Q      P      O      N      M      L      K
#row 5     Z      Y      X      W      V      U      T      S
#row 6    F3     F2     F1    CODE   CAPS   GRAPH   CTRL  SHIFT
#row 7    RET  SELECT   BS    STOP    TAB    ESC    F5     F4
#row 8   RIGHT  DOWN    UP    LEFT    DEL    INS    HOME  SPACE
#row 9   NUM4   NUM3   NUM2   NUM1   NUM0   NUM/    NUM+  NUM*

Generic(M)=M;A080;Y067;X066;S06574;M071;Z070;
Generic(B)=B;A080;Y067;X066;S06574;M071;Z070;
Generic(T)=T;A066;S0657174;
Generic(F)=F;S0657174;U066;
Generic(S)=S;Y080;B0426260;S06574;X066;A067;L070;R071;

Autofire(M)=M;A180;Y067;X066;S06574;M071;Z070;
Autofire(B)=B;A280;Y067;X066;S06574;M071;Z070;
Autofire(T)=T;A180;S0657174;
Autofire(S)=S;Y280;B0426260;S06574;X066;A067;L070;R071;

M.O.G.(M)=M6;S066;A065;Y08577;X280;Z242;M061;
M.O.G.(B)=B6;S066;Z065;X08577;A380;Y342;M061;
M.O.G.(T)=T;S065;A077;
M.O.G.(F)=F;S065;U077;
M.O.G.(S)=S68;S066;E065;B08577;Y280;X242;L061;

Bubble Bobble(B)=B;S074;A162;X080;
Bubble Bobble(T)=T;S074;A162;
Dragon Slayer IV(B)=B;S072;X060;A057;Y077;
Goonies(T)=T;S065;A085;
Parodius(T)=T;S065;A071;
Sword of Ianna(T)=T;S035;A046;
Xevious(M)=M;S0657174;A160;X057;


####################################################################
[WAVEFORMS]
####################################################################

# Wave forms used by the "PSG to SCC" option
#
# Format is <name>=<amplitude>*32
#
# <name> is the name displayed in SofaRun.
#
# <amplitude> is a signed 2 digits hex value.

Sawtooth1= 7f 78 70 68 60 58 50 48 40 38 30 28 20 18 10 08 00 f8 f0 e8 e0 d8 d0 c8 c0 b8 b0 a8 a0 98 90 88 
Sawtooth2= 88 90 98 a0 a8 b0 b8 c0 c8 d0 d8 e0 e8 f0 f8 00 08 10 18 20 28 30 38 40 48 50 58 60 68 70 78 7f 
Square=    7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80 80
Sine=      00 18 30 47 5a 6a 76 7d 7f 7d 76 6a 5a 47 30 18 00 e7 cf b8 a5 95 89 82 80 82 89 95 a5 b8 cf e7
Triangle=  00 10 20 30 40 50 60 70 7f 70 60 50 40 30 20 10 00 f0 e0 d0 c0 b0 a0 90 80 90 a0 b0 c0 d0 e0 f0 
Noise=     00 48 18 67 4a 3d 2c 72 69 5f 16 6d 5a 41 26 01 0b 2e 12 15 7e 39 0f 00 01 30 44 49 4d 4d 15 54 
Silence=   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
