File: mednafen.cfg - Tab length: 1 2 4 8 - Lines: on off - No wrap: on off

;VERSION 1.24.1
;Edit this file at your own risk!
;DO NOT EDIT THIS FILE WHILE AN INSTANCE OF MEDNAFEN THAT USES IT IS RUNNING.
;File format: <key><single space><value><LF or CR+LF>
;
;Dummy guard line to prevent settings file corruption by accidentally running ancient versions of Mednafen. Dummy guard line to prevent settings file corruption by accidentally running ancient versions of Mednafen. Dummy guard line to prevent settings file corruption by accidentally running ancient versions of Mednafen. Dummy guard line to prevent settings file corruption by accidentally running ancient versions of Mednafen. Dummy guard line to prevent settings file corruption by accidentally running ancient versions of Mednafen. Dummy guard line to prevent settings file corruption by accidentally running ancient versions of Mednafen. Dummy guard line to prevent settings file corruption by accidentally running ancient versions of Mednafen. Dummy guard line to prevent settings file corruption by accidentally running ancient versions of Mednafen. Dummy guard line to prevent settings file corruption by accidentally running ancient versions of Mednafen.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;fs ~

;CD read threads CPU affinity mask.
affinity.cd 0

;Main emulation thread CPU affinity mask.
affinity.emu 0

;Video blitting thread CPU affinity mask.
affinity.video 0

;Enable (automatic) usage of this module.
apple2.enable 1

;apple2, Keyboard, Apple II/II+ 2-piece keyboard: 0
apple2.input.keyboard.twopiece.0 keyboard 0x0 39

;apple2, Keyboard, Apple II/II+ 2-piece keyboard: 1
apple2.input.keyboard.twopiece.1 keyboard 0x0 30

;apple2, Keyboard, Apple II/II+ 2-piece keyboard: 2
apple2.input.keyboard.twopiece.2 keyboard 0x0 31

;apple2, Keyboard, Apple II/II+ 2-piece keyboard: 3
apple2.input.keyboard.twopiece.3 keyboard 0x0 32

;apple2, Keyboard, Apple II/II+ 2-piece keyboard: 4
apple2.input.keyboard.twopiece.4 keyboard 0x0 33

;apple2, Keyboard, Apple II/II+ 2-piece keyboard: 5
apple2.input.keyboard.twopiece.5 keyboard 0x0 34

;apple2, Keyboard, Apple II/II+ 2-piece keyboard: 6
apple2.input.keyboard.twopiece.6 keyboard 0x0 35

;apple2, Keyboard, Apple II/II+ 2-piece keyboard: 7'
apple2.input.keyboard.twopiece.7 keyboard 0x0 36

;apple2, Keyboard, Apple II/II+ 2-piece keyboard: 8
apple2.input.keyboard.twopiece.8 keyboard 0x0 37

;apple2, Keyboard, Apple II/II+ 2-piece keyboard: 9
apple2.input.keyboard.twopiece.9 keyboard 0x0 38

;apple2, Keyboard, Apple II/II+ 2-piece keyboard: A
apple2.input.keyboard.twopiece.a keyboard 0x0 4 || keyboard 0x0 82 || keyboard 0x0 96

;apple2, Keyboard, Apple II/II+ 2-piece keyboard: B
apple2.input.keyboard.twopiece.b keyboard 0x0 5

;apple2, Keyboard, Apple II/II+ 2-piece keyboard: ?
apple2.input.keyboard.twopiece.bs keyboard 0x0 80 || keyboard 0x0 42 || keyboard 0x0 93 || keyboard 0x0 76

;apple2, Keyboard, Apple II/II+ 2-piece keyboard: C
apple2.input.keyboard.twopiece.c keyboard 0x0 6

;apple2, Keyboard, Apple II/II+ 2-piece keyboard: :
apple2.input.keyboard.twopiece.colon keyboard 0x0 45

;apple2, Keyboard, Apple II/II+ 2-piece keyboard: ,
apple2.input.keyboard.twopiece.comma keyboard 0x0 54

;apple2, Keyboard, Apple II/II+ 2-piece keyboard: RETURN
apple2.input.keyboard.twopiece.cr keyboard 0x0 40 || keyboard 0x0 49 || keyboard 0x0 74

;apple2, Keyboard, Apple II/II+ 2-piece keyboard: CTRL
apple2.input.keyboard.twopiece.ctrl keyboard 0x0 57 || keyboard 0x0 224 || keyboard 0x0 228

;apple2, Keyboard, Apple II/II+ 2-piece keyboard: D
apple2.input.keyboard.twopiece.d keyboard 0x0 7

;apple2, Keyboard, Apple II/II+ 2-piece keyboard: E
apple2.input.keyboard.twopiece.e keyboard 0x0 8

;apple2, Keyboard, Apple II/II+ 2-piece keyboard: ESC
apple2.input.keyboard.twopiece.esc keyboard 0x0 41 || keyboard 0x0 43

;apple2, Keyboard, Apple II/II+ 2-piece keyboard: F
apple2.input.keyboard.twopiece.f keyboard 0x0 9

;apple2, Keyboard, Apple II/II+ 2-piece keyboard: G
apple2.input.keyboard.twopiece.g keyboard 0x0 10

;apple2, Keyboard, Apple II/II+ 2-piece keyboard: H
apple2.input.keyboard.twopiece.h keyboard 0x0 11

;apple2, Keyboard, Apple II/II+ 2-piece keyboard: I
apple2.input.keyboard.twopiece.i keyboard 0x0 12

;apple2, Keyboard, Apple II/II+ 2-piece keyboard: J
apple2.input.keyboard.twopiece.j keyboard 0x0 13

;apple2, Keyboard, Apple II/II+ 2-piece keyboard: K
apple2.input.keyboard.twopiece.k keyboard 0x0 14

;apple2, Keyboard, Apple II/II+ 2-piece keyboard: L
apple2.input.keyboard.twopiece.l keyboard 0x0 15

;apple2, Keyboard, Apple II/II+ 2-piece keyboard: Left SHIFT
apple2.input.keyboard.twopiece.lshift keyboard 0x0 225

;apple2, Keyboard, Apple II/II+ 2-piece keyboard: M
apple2.input.keyboard.twopiece.m keyboard 0x0 16

;apple2, Keyboard, Apple II/II+ 2-piece keyboard: -
apple2.input.keyboard.twopiece.minus keyboard 0x0 46

;apple2, Keyboard, Apple II/II+ 2-piece keyboard: N
apple2.input.keyboard.twopiece.n keyboard 0x0 17

;apple2, Keyboard, Apple II/II+ 2-piece keyboard: ?
apple2.input.keyboard.twopiece.nak keyboard 0x0 79 || keyboard 0x0 94 || keyboard 0x0 78

;apple2, Keyboard, Apple II/II+ 2-piece keyboard: O
apple2.input.keyboard.twopiece.o keyboard 0x0 18

;apple2, Keyboard, Apple II/II+ 2-piece keyboard: P
apple2.input.keyboard.twopiece.p keyboard 0x0 19

;apple2, Keyboard, Apple II/II+ 2-piece keyboard: .
apple2.input.keyboard.twopiece.period keyboard 0x0 55

;apple2, Keyboard, Apple II/II+ 2-piece keyboard: Q
apple2.input.keyboard.twopiece.q keyboard 0x0 20

;apple2, Keyboard, Apple II/II+ 2-piece keyboard: R
apple2.input.keyboard.twopiece.r keyboard 0x0 21

;apple2, Keyboard, Apple II/II+ 2-piece keyboard: REPT
apple2.input.keyboard.twopiece.rept keyboard 0x0 47 || keyboard 0x0 226 || keyboard 0x0 230

;apple2, Keyboard, Apple II/II+ 2-piece keyboard: RESET
apple2.input.keyboard.twopiece.reset keyboard 0x0 73

;apple2, Keyboard, Apple II/II+ 2-piece keyboard: Right SHIFT
apple2.input.keyboard.twopiece.rshift keyboard 0x0 229

;apple2, Keyboard, Apple II/II+ 2-piece keyboard: S
apple2.input.keyboard.twopiece.s keyboard 0x0 22

;apple2, Keyboard, Apple II/II+ 2-piece keyboard: ;
apple2.input.keyboard.twopiece.semicolon keyboard 0x0 51 || keyboard 0x0 92

;apple2, Keyboard, Apple II/II+ 2-piece keyboard: /
apple2.input.keyboard.twopiece.slash keyboard 0x0 56 || keyboard 0x0 77

;apple2, Keyboard, Apple II/II+ 2-piece keyboard: Space
apple2.input.keyboard.twopiece.sp keyboard 0x0 44

;apple2, Keyboard, Apple II/II+ 2-piece keyboard: T
apple2.input.keyboard.twopiece.t keyboard 0x0 23

;apple2, Keyboard, Apple II/II+ 2-piece keyboard: U
apple2.input.keyboard.twopiece.u keyboard 0x0 24

;apple2, Keyboard, Apple II/II+ 2-piece keyboard: V
apple2.input.keyboard.twopiece.v keyboard 0x0 25

;apple2, Keyboard, Apple II/II+ 2-piece keyboard: W
apple2.input.keyboard.twopiece.w keyboard 0x0 26

;apple2, Keyboard, Apple II/II+ 2-piece keyboard: X
apple2.input.keyboard.twopiece.x keyboard 0x0 27

;apple2, Keyboard, Apple II/II+ 2-piece keyboard: Y
apple2.input.keyboard.twopiece.y keyboard 0x0 28

;apple2, Keyboard, Apple II/II+ 2-piece keyboard: Z
apple2.input.keyboard.twopiece.z keyboard 0x0 29 || keyboard 0x0 81 || keyboard 0x0 90

;Input device for Virtual Gameport 1
apple2.input.port1 joystick

;apple2, Virtual Gameport 1, Atari Joystick: Button
apple2.input.port1.atari.button

;apple2, Virtual Gameport 1, Atari Joystick: DOWN ?
apple2.input.port1.atari.down

;apple2, Virtual Gameport 1, Atari Joystick: LEFT ?
apple2.input.port1.atari.left

;apple2, Virtual Gameport 1, Atari Joystick: RIGHT ?
apple2.input.port1.atari.right

;apple2, Virtual Gameport 1, Atari Joystick: UP ?
apple2.input.port1.atari.up

;apple2, Virtual Gameport 1, Gamepad: Button 1
apple2.input.port1.gamepad.button1

;apple2, Virtual Gameport 1, Gamepad: Button 2
apple2.input.port1.gamepad.button2

;apple2, Virtual Gameport 1, Gamepad: DOWN ?
apple2.input.port1.gamepad.down

;apple2, Virtual Gameport 1, Gamepad: LEFT ?
apple2.input.port1.gamepad.left

;apple2, Virtual Gameport 1, Gamepad: Resistance
apple2.input.port1.gamepad.resistance_select

;Default position for switch "Resistance".
apple2.input.port1.gamepad.resistance_select.defpos 2

;apple2, Virtual Gameport 1, Gamepad: RIGHT ?
apple2.input.port1.gamepad.right

;apple2, Virtual Gameport 1, Gamepad: UP ?
apple2.input.port1.gamepad.up

;Analog axis scale coefficient for Joystick on Virtual Gameport 1.
apple2.input.port1.joystick.axis_scale 1.00

;apple2, Virtual Gameport 1, Joystick: Button 1
apple2.input.port1.joystick.button1

;apple2, Virtual Gameport 1, Joystick: Button 2
apple2.input.port1.joystick.button2

;apple2, Virtual Gameport 1, Joystick: Resistance
apple2.input.port1.joystick.resistance_select

;Default position for switch "Resistance".
apple2.input.port1.joystick.resistance_select.defpos 2

;apple2, Virtual Gameport 1, Joystick: Stick DOWN ?
apple2.input.port1.joystick.stick_down

;apple2, Virtual Gameport 1, Joystick: Stick LEFT ?
apple2.input.port1.joystick.stick_left

;apple2, Virtual Gameport 1, Joystick: Stick RIGHT ?
apple2.input.port1.joystick.stick_right

;apple2, Virtual Gameport 1, Joystick: Stick UP ?
apple2.input.port1.joystick.stick_up

;apple2, Virtual Gameport 1, Paddle: Button
apple2.input.port1.paddle.button

;apple2, Virtual Gameport 1, Paddle: Dial LEFT ?
apple2.input.port1.paddle.dial_left

;apple2, Virtual Gameport 1, Paddle: Dial RIGHT ?
apple2.input.port1.paddle.dial_right

;Input device for Virtual Gameport 2
apple2.input.port2 paddle

;apple2, Virtual Gameport 2, Atari Joystick: Button
apple2.input.port2.atari.button

;apple2, Virtual Gameport 2, Atari Joystick: DOWN ?
apple2.input.port2.atari.down

;apple2, Virtual Gameport 2, Atari Joystick: LEFT ?
apple2.input.port2.atari.left

;apple2, Virtual Gameport 2, Atari Joystick: RIGHT ?
apple2.input.port2.atari.right

;apple2, Virtual Gameport 2, Atari Joystick: UP ?
apple2.input.port2.atari.up

;apple2, Virtual Gameport 2, Paddle: Button
apple2.input.port2.paddle.button

;apple2, Virtual Gameport 2, Paddle: Dial LEFT ?
apple2.input.port2.paddle.dial_left

;apple2, Virtual Gameport 2, Paddle: Dial RIGHT ?
apple2.input.port2.paddle.dial_right

;Enable scanlines with specified opacity.
apple2.scanlines 0

;Enable specified OpenGL shader.
apple2.shader none

;Force interlaced video to be treated as progressive.
apple2.shader.goat.fprog 0

;Constant RGB horizontal divergence.
apple2.shader.goat.hdiv 0.50

;Mask pattern.
apple2.shader.goat.pat goatron

;Enable scanlines effect.
apple2.shader.goat.slen 1

;Transparency of otherwise-opaque mask areas.
apple2.shader.goat.tp 0.50

;Constant RGB vertical divergence.
apple2.shader.goat.vdiv 0.50

;Enable specified special video scaler.
apple2.special none

;Stretch to fill screen.
apple2.stretch aspect_mult2

;Enable video temporal blur(50/50 previous/current frame by default).
apple2.tblur 0

;Accumulate color data rather than discarding it.
apple2.tblur.accum 0

;Blur amount in accumulation mode, specified in percentage of accumulation buffer to mix with the current frame.
apple2.tblur.accum.amount 50

;Video brightness.
apple2.video.brightness 0.0

;Color video luma filter.
apple2.video.color_lumafilter -3

;Enable color video smoothing.
apple2.video.color_smooth 0

;Video contrast.
apple2.video.contrast 0.0

;Force monochrome graphics color.
apple2.video.force_mono 0x000000

;Color video hue/tint.
apple2.video.hue 0.0

;Color decoder matrix.
apple2.video.matrix mednafen

;Custom color decoder matrix; blue, I.
apple2.video.matrix.blue.i -1.11

;Custom color decoder matrix; blue, Q.
apple2.video.matrix.blue.q 1.70

;Custom color decoder matrix; green, I.
apple2.video.matrix.green.i -0.28

;Custom color decoder matrix; green, Q.
apple2.video.matrix.green.q -0.64

;Custom color decoder matrix; red, I.
apple2.video.matrix.red.i 0.96

;Custom color decoder matrix; red, Q.
apple2.video.matrix.red.q 0.62

;Enable hack to treat mixed-mode text as monochrome.
apple2.video.mixed_text_mono 0

;Video rendering mode.
apple2.video.mode composite

;Monochrome video luma filter.
apple2.video.mono_lumafilter 5

;Color video saturation.
apple2.video.saturation 0.0

;Enable (bi)linear interpolation.
apple2.videoip x

;Full-screen horizontal resolution.
apple2.xres 0

;Scaling factor for the X axis in windowed mode.
apple2.xscale 4.000000

;Scaling factor for the X axis in fullscreen mode.
apple2.xscalefs 1.000000

;Full-screen vertical resolution.
apple2.yres 0

;Scaling factor for the Y axis in windowed mode.
apple2.yscale 4.000000

;Scaling factor for the Y axis in fullscreen mode.
apple2.yscalefs 1.000000

;Automatically load/save state on game load/close.
autosave 0

;Cache entire CD images in memory.
cd.image_memcache 0

;Enable (automatic) usage of this module.
cdplay.enable 1

;Force monophonic sound output.
cdplay.forcemono 0

;cdplay, Built-In, Controller: Next Track
cdplay.input.builtin.controller.next_track keyboard 0x0 79

;cdplay, Built-In, Controller: Next Track 10
cdplay.input.builtin.controller.next_track_10 keyboard 0x0 82

;cdplay, Built-In, Controller: Play/Pause
cdplay.input.builtin.controller.play_pause keyboard 0x0 44

;cdplay, Built-In, Controller: Previous Track
cdplay.input.builtin.controller.previous_track keyboard 0x0 80

;cdplay, Built-In, Controller: Previous Track 10
cdplay.input.builtin.controller.previous_track_10 keyboard 0x0 81

;cdplay, Built-In, Controller: Scan Forward
cdplay.input.builtin.controller.scan_forward keyboard 0x0 75

;cdplay, Built-In, Controller: Scan Reverse
cdplay.input.builtin.controller.scan_reverse keyboard 0x0 78

;cdplay, Built-In, Controller: Stop
cdplay.input.builtin.controller.stop keyboard 0x0 40

;Enable scanlines with specified opacity.
cdplay.scanlines 0

;Enable specified OpenGL shader.
cdplay.shader none

;Force interlaced video to be treated as progressive.
cdplay.shader.goat.fprog 0

;Constant RGB horizontal divergence.
cdplay.shader.goat.hdiv 0.50

;Mask pattern.
cdplay.shader.goat.pat goatron

;Enable scanlines effect.
cdplay.shader.goat.slen 1

;Transparency of otherwise-opaque mask areas.
cdplay.shader.goat.tp 0.50

;Constant RGB vertical divergence.
cdplay.shader.goat.vdiv 0.50

;Enable specified special video scaler.
cdplay.special none

;Stretch to fill screen.
cdplay.stretch aspect_mult2

;Enable video temporal blur(50/50 previous/current frame by default).
cdplay.tblur 0

;Accumulate color data rather than discarding it.
cdplay.tblur.accum 0

;Blur amount in accumulation mode, specified in percentage of accumulation buffer to mix with the current frame.
cdplay.tblur.accum.amount 50

;Enable (bi)linear interpolation.
cdplay.videoip 0

;Enable simple waveform visualization.
cdplay.visualization 1

;Full-screen horizontal resolution.
cdplay.xres 0

;Scaling factor for the X axis in windowed mode.
cdplay.xscale 5.000000

;Scaling factor for the X axis in fullscreen mode.
cdplay.xscalefs 1.000000

;Full-screen vertical resolution.
cdplay.yres 0

;Scaling factor for the Y axis in windowed mode.
cdplay.yscale 5.000000

;Scaling factor for the Y axis in fullscreen mode.
cdplay.yscalefs 1.000000

;Enable cheats.
cheats 1

;Save state 0 select
command.0 keyboard 0x0 39

;Save state 1 select
command.1 keyboard 0x0 30

;Save state 2 select
command.2 keyboard 0x0 31

;Save state 3 select
command.3 keyboard 0x0 32

;Save state 4 select
command.4 keyboard 0x0 33

;Save state 5 select
command.5 keyboard 0x0 34

;Save state 6 select
command.6 keyboard 0x0 35

;Save state 7 select
command.7 keyboard 0x0 36

;Save state 8 select
command.8 keyboard 0x0 37

;Save state 9 select
command.9 keyboard 0x0 38

;Activate barcode(for Famicom)
command.activate_barcode keyboard 0x0 65

;Advance frame
command.advance_frame keyboard 0x0 4+alt

;Select virtual device on virtual input port 1
command.device_select1 keyboard 0x0 30+ctrl+shift

;Select virtual device on virtual input port 10
command.device_select10 keyboard 0x0 39+ctrl+shift

;Select virtual device on virtual input port 11
command.device_select11 keyboard 0x0 89+ctrl+shift

;Select virtual device on virtual input port 12
command.device_select12 keyboard 0x0 90+ctrl+shift

;Select virtual device on virtual input port 2
command.device_select2 keyboard 0x0 31+ctrl+shift

;Select virtual device on virtual input port 3
command.device_select3 keyboard 0x0 32+ctrl+shift

;Select virtual device on virtual input port 4
command.device_select4 keyboard 0x0 33+ctrl+shift

;Select virtual device on virtual input port 5
command.device_select5 keyboard 0x0 34+ctrl+shift

;Select virtual device on virtual input port 6
command.device_select6 keyboard 0x0 35+ctrl+shift

;Select virtual device on virtual input port 7
command.device_select7 keyboard 0x0 36+ctrl+shift

;Select virtual device on virtual input port 8
command.device_select8 keyboard 0x0 37+ctrl+shift

;Select virtual device on virtual input port 9
command.device_select9 keyboard 0x0 38+ctrl+shift

;Exit
command.exit keyboard 0x0 69 || keyboard 0x0 41

;Fast-forward
command.fast_forward keyboard 0x0 53

;Configure buttons on virtual port 1
command.input_config1 keyboard 0x0 30+alt+shift

;Configure buttons on virtual port 10
command.input_config10 keyboard 0x0 39+alt+shift

;Configure buttons on virtual port 11
command.input_config11 keyboard 0x0 89+alt+shift

;Configure buttons on virtual port 12
command.input_config12 keyboard 0x0 90+alt+shift

;Configure buttons on virtual port 2
command.input_config2 keyboard 0x0 31+alt+shift

;Configure buttons on virtual port 3
command.input_config3 keyboard 0x0 32+alt+shift

;Configure buttons on virtual port 4
command.input_config4 keyboard 0x0 33+alt+shift

;Configure buttons on virtual port 5
command.input_config5 keyboard 0x0 34+alt+shift

;Configure buttons on virtual port 6
command.input_config6 keyboard 0x0 35+alt+shift

;Configure buttons on virtual port 7
command.input_config7 keyboard 0x0 36+alt+shift

;Configure buttons on virtual port 8
command.input_config8 keyboard 0x0 37+alt+shift

;Configure buttons on virtual port 9
command.input_config9 keyboard 0x0 38+alt+shift

;Detect analog buttons on physical joysticks/gamepads(for use with the input configuration process).
command.input_config_abd keyboard 0x0 60

;Configure command key
command.input_configc keyboard 0x0 59

;Configure command key, for all-pressed-to-trigger mode
command.input_configc_am keyboard 0x0 59+shift

;Insert coin
command.insert_coin keyboard 0x0 65

;Insert/Eject disk/disc
command.insert_eject_disk keyboard 0x0 65

;Load movie
command.load_movie keyboard 0x0 64+shift

;Load state
command.load_state keyboard 0x0 64

;Movie 0 select
command.m0 keyboard 0x0 39+shift

;Movie 1 select
command.m1 keyboard 0x0 30+shift

;Movie 2 select
command.m2 keyboard 0x0 31+shift

;Movie 3 select
command.m3 keyboard 0x0 32+shift

;Movie 4 select
command.m4 keyboard 0x0 33+shift

;Movie 5 select
command.m5 keyboard 0x0 34+shift

;Movie 6 select
command.m6 keyboard 0x0 35+shift

;Movie 7 select
command.m7 keyboard 0x0 36+shift

;Movie 8 select
command.m8 keyboard 0x0 37+shift

;Movie 9 select
command.m9 keyboard 0x0 38+shift

;Pause/Unpause
command.pause keyboard 0x0 72

;Power toggle
command.power keyboard 0x0 68

;Reset
command.reset keyboard 0x0 67

;Rotate screen
command.rotate_screen keyboard 0x0 18+alt

;Return to normal mode after advancing frames
command.run_normal keyboard 0x0 21+alt

;Save movie
command.save_movie keyboard 0x0 62+shift

;Save state
command.save_state keyboard 0x0 62

;Select disk/disc
command.select_disk keyboard 0x0 63

;Select drive
command.select_drive keyboard 0x0 63+shift

;Slow-forward
command.slow_forward keyboard 0x0 49

;Rewind
command.state_rewind keyboard 0x0 42

;Decrease selected save state slot by 1
command.state_slot_dec keyboard 0x0 45

;Increase selected save state slot by 1
command.state_slot_inc keyboard 0x0 46

;Take scaled(and filtered) screen snapshot
command.take_scaled_snapshot keyboard 0x0 66+shift

;Take screen snapshot
command.take_snapshot keyboard 0x0 66

;Toggle graphics layer 1
command.tl1 keyboard 0x0 30+ctrl

;Toggle graphics layer 2
command.tl2 keyboard 0x0 31+ctrl

;Toggle graphics layer 3
command.tl3 keyboard 0x0 32+ctrl

;Toggle graphics layer 4
command.tl4 keyboard 0x0 33+ctrl

;Toggle graphics layer 5
command.tl5 keyboard 0x0 34+ctrl

;Toggle graphics layer 6
command.tl6 keyboard 0x0 35+ctrl

;Toggle graphics layer 7
command.tl7 keyboard 0x0 36+ctrl

;Toggle graphics layer 8
command.tl8 keyboard 0x0 37+ctrl

;Toggle graphics layer 9
command.tl9 keyboard 0x0 38+ctrl

;Toggle debugger
command.toggle_debugger keyboard 0x0 7+alt

;Toggle DIP switch view
command.toggle_dipview keyboard 0x0 63

;Toggle frames-per-second display
command.toggle_fps_view keyboard 0x0 58+shift

;Toggle fullscreen mode
command.toggle_fs keyboard 0x0 40+alt

;Grab input
command.toggle_grab keyboard 0x0 101+ctrl+shift

;Toggle help screen
command.toggle_help keyboard 0x0 58

;Toggle state rewind functionality
command.toggle_state_rewind keyboard 0x0 22+alt

;Enable/Disable cheats
command.togglecheatactive keyboard 0x0 23+alt

;Toggle cheat console
command.togglecheatview keyboard 0x0 6+alt

;Toggle netplay console
command.togglenetview keyboard 0x0 23

;Automatically go into the debugger's step mode after a game is loaded.
debugger.autostepmode 0

;Enable (automatic) usage of this module.
demo.enable 1

;Force monophonic sound output.
demo.forcemono 0

;demo, Port 1, Controller: Rumble Control Strong
demo.input.port1.controller.rcstrong

;demo, Port 1, Controller: Rumble Control Weak
demo.input.port1.controller.rcweak

;demo, Port 1, Controller: Stick DOWN
demo.input.port1.controller.stick_down

;demo, Port 1, Controller: Stick LEFT
demo.input.port1.controller.stick_left

;demo, Port 1, Controller: Stick RIGHT
demo.input.port1.controller.stick_right

;demo, Port 1, Controller: Stick UP
demo.input.port1.controller.stick_up

;demo, Port 1, Controller: Select Test Mode
demo.input.port1.controller.stm

;demo, Port 1, Controller: Switch Meow
demo.input.port1.controller.swt

;Default position for switch "Switch Meow".
demo.input.port1.controller.swt.defpos waffles

;demo, Port 1, Controller: Toggle Interlace Mode
demo.input.port1.controller.toggle_ilace

;demo, Port 2, Controller: Rumble Control Strong
demo.input.port2.controller.rcstrong

;demo, Port 2, Controller: Rumble Control Weak
demo.input.port2.controller.rcweak

;demo, Port 2, Controller: Stick DOWN
demo.input.port2.controller.stick_down

;demo, Port 2, Controller: Stick LEFT
demo.input.port2.controller.stick_left

;demo, Port 2, Controller: Stick RIGHT
demo.input.port2.controller.stick_right

;demo, Port 2, Controller: Stick UP
demo.input.port2.controller.stick_up

;demo, Port 2, Controller: Select Test Mode
demo.input.port2.controller.stm

;demo, Port 2, Controller: Switch Meow
demo.input.port2.controller.swt

;Default position for switch "Switch Meow".
demo.input.port2.controller.swt.defpos waffles

;demo, Port 2, Controller: Toggle Interlace Mode
demo.input.port2.controller.toggle_ilace

;Multi-enum test.
demo.multi_enum

;Sound quality.
demo.resamp_quality 3

;Sound output rate tolerance.
demo.resamp_rate_error 0.0000009

;Enable scanlines with specified opacity.
demo.scanlines 0

;Enable specified OpenGL shader.
demo.shader none

;Force interlaced video to be treated as progressive.
demo.shader.goat.fprog 0

;Constant RGB horizontal divergence.
demo.shader.goat.hdiv 0.50

;Mask pattern.
demo.shader.goat.pat goatron

;Enable scanlines effect.
demo.shader.goat.slen 1

;Transparency of otherwise-opaque mask areas.
demo.shader.goat.tp 0.50

;Constant RGB vertical divergence.
demo.shader.goat.vdiv 0.50

;Enable specified special video scaler.
demo.special none

;Stretch to fill screen.
demo.stretch aspect_mult2

;Enable video temporal blur(50/50 previous/current frame by default).
demo.tblur 0

;Accumulate color data rather than discarding it.
demo.tblur.accum 0

;Blur amount in accumulation mode, specified in percentage of accumulation buffer to mix with the current frame.
demo.tblur.accum.amount 50

;Enable (bi)linear interpolation.
demo.videoip 1

;Full-screen horizontal resolution.
demo.xres 0

;Scaling factor for the X axis in windowed mode.
demo.xscale 2.000000

;Scaling factor for the X axis in fullscreen mode.
demo.xscalefs 1.000000

;Full-screen vertical resolution.
demo.yres 0

;Scaling factor for the Y axis in windowed mode.
demo.yscale 2.000000

;Scaling factor for the Y axis in fullscreen mode.
demo.yscalefs 1.000000

;Silence sound output when fast-forwarding.
ffnosound 0

;Fast-forwarding speed multiplier.
ffspeed 4

;Treat the fast-forward button as a toggle.
fftoggle 0

;Format string for movie filename.
filesys.fname_movie %f.%M%p.%x

;Format string for save games filename.
filesys.fname_sav %f.%M%x

;Format string for save game backups filename.
filesys.fname_savbackup %f.%m%z%p.%x

;Format string for screen snapshot filenames.
filesys.fname_snap %f-%p.%x

;Format string for state filename.
filesys.fname_state %f.%M%X

;Path to directory for cheats.
filesys.path_cheat cheats

;Path to directory for firmware.
filesys.path_firmware firmware

;Path to directory for movies.
filesys.path_movie mcm

;Path to directory for custom palettes.
filesys.path_palette palettes

;Path to directory for per-game configuration override files.
filesys.path_pgconfig pgconfig

;Path to directory for save games and nonvolatile memory.
filesys.path_sav sav

;Path to directory for backups of save games and nonvolatile memory.
filesys.path_savbackup b

;Path to directory for screen snapshots.
filesys.path_snap snaps

;Path to directory for save states.
filesys.path_state mcs

;Save state file compression level.
filesys.state_comp_level 6

;Enable untrusted file-inclusion path security check.
filesys.untrusted_fip_check 1

;Automatically enable FPS display on startup.
fps.autoenable 0

;FPS display background color.
fps.bgcolor 0x80000000

;FPS display font.
fps.font 5x7

;FPS display position.
fps.position upper_left

;FPS display scale factor.
fps.scale 1

;FPS display text color.
fps.textcolor 0xFFFFFFFF

;Enable (automatic) usage of this module.
gb.enable 1

;Force monophonic sound output.
gb.forcemono 0

;gb, Built-In, Gamepad: A
gb.input.builtin.gamepad.a keyboard 0x0 91

;gb, Built-In, Gamepad: B
gb.input.builtin.gamepad.b keyboard 0x0 90

;gb, Built-In, Gamepad: DOWN ?
gb.input.builtin.gamepad.down keyboard 0x0 22

;gb, Built-In, Gamepad: LEFT ?
gb.input.builtin.gamepad.left keyboard 0x0 4

;gb, Built-In, Gamepad: Rapid A
gb.input.builtin.gamepad.rapid_a

;gb, Built-In, Gamepad: Rapid B
gb.input.builtin.gamepad.rapid_b

;gb, Built-In, Gamepad: RIGHT ?
gb.input.builtin.gamepad.right keyboard 0x0 7

;gb, Built-In, Gamepad: SELECT
gb.input.builtin.gamepad.select keyboard 0x0 43

;gb, Built-In, Gamepad: START
gb.input.builtin.gamepad.start keyboard 0x0 40

;gb, Built-In, Gamepad: UP ?
gb.input.builtin.gamepad.up keyboard 0x0 26

;gb, Tilt, Tilt: DOWN ?
gb.input.tilt.tilt.down

;gb, Tilt, Tilt: LEFT ?
gb.input.tilt.tilt.left

;gb, Tilt, Tilt: RIGHT ?
gb.input.tilt.tilt.right

;gb, Tilt, Tilt: UP ?
gb.input.tilt.tilt.up

;Enable scanlines with specified opacity.
gb.scanlines 0

;Enable specified OpenGL shader.
gb.shader none

;Force interlaced video to be treated as progressive.
gb.shader.goat.fprog 0

;Constant RGB horizontal divergence.
gb.shader.goat.hdiv 0.50

;Mask pattern.
gb.shader.goat.pat goatron

;Enable scanlines effect.
gb.shader.goat.slen 1

;Transparency of otherwise-opaque mask areas.
gb.shader.goat.tp 0.50

;Constant RGB vertical divergence.
gb.shader.goat.vdiv 0.50

;Enable specified special video scaler.
gb.special none

;Stretch to fill screen.
gb.stretch aspect_mult2

;Emulated GB type.
gb.system_type auto

;Enable video temporal blur(50/50 previous/current frame by default).
gb.tblur 0

;Accumulate color data rather than discarding it.
gb.tblur.accum 0

;Blur amount in accumulation mode, specified in percentage of accumulation buffer to mix with the current frame.
gb.tblur.accum.amount 50

;Enable (bi)linear interpolation.
gb.videoip 0

;Full-screen horizontal resolution.
gb.xres 0

;Scaling factor for the X axis in windowed mode.
gb.xscale 6.000000

;Scaling factor for the X axis in fullscreen mode.
gb.xscalefs 1.000000

;Full-screen vertical resolution.
gb.yres 0

;Scaling factor for the Y axis in windowed mode.
gb.yscale 6.000000

;Scaling factor for the Y axis in fullscreen mode.
gb.yscalefs 1.000000

;Path to optional GBA BIOS ROM image.
gba.bios

;Enable (automatic) usage of this module.
gba.enable 1

;Force monophonic sound output.
gba.forcemono 0

;gba, Built-In, Gamepad: A
gba.input.builtin.gamepad.a keyboard 0x0 91

;gba, Built-In, Gamepad: B
gba.input.builtin.gamepad.b keyboard 0x0 90

;gba, Built-In, Gamepad: DOWN ?
gba.input.builtin.gamepad.down keyboard 0x0 22

;gba, Built-In, Gamepad: LEFT ?
gba.input.builtin.gamepad.left keyboard 0x0 4

;gba, Built-In, Gamepad: Rapid A
gba.input.builtin.gamepad.rapid_a

;gba, Built-In, Gamepad: Rapid B
gba.input.builtin.gamepad.rapid_b

;gba, Built-In, Gamepad: RIGHT ?
gba.input.builtin.gamepad.right keyboard 0x0 7

;gba, Built-In, Gamepad: SELECT
gba.input.builtin.gamepad.select keyboard 0x0 43

;gba, Built-In, Gamepad: SHOULDER L
gba.input.builtin.gamepad.shoulder_l keyboard 0x0 93

;gba, Built-In, Gamepad: SHOULDER R
gba.input.builtin.gamepad.shoulder_r keyboard 0x0 94

;gba, Built-In, Gamepad: START
gba.input.builtin.gamepad.start keyboard 0x0 40

;gba, Built-In, Gamepad: UP ?
gba.input.builtin.gamepad.up keyboard 0x0 26

;Enable scanlines with specified opacity.
gba.scanlines 0

;Enable specified OpenGL shader.
gba.shader none

;Force interlaced video to be treated as progressive.
gba.shader.goat.fprog 0

;Constant RGB horizontal divergence.
gba.shader.goat.hdiv 0.50

;Mask pattern.
gba.shader.goat.pat goatron

;Enable scanlines effect.
gba.shader.goat.slen 1

;Transparency of otherwise-opaque mask areas.
gba.shader.goat.tp 0.50

;Constant RGB vertical divergence.
gba.shader.goat.vdiv 0.50

;Enable specified special video scaler.
gba.special none

;Stretch to fill screen.
gba.stretch aspect_mult2

;Enable video temporal blur(50/50 previous/current frame by default).
gba.tblur 0

;Accumulate color data rather than discarding it.
gba.tblur.accum 0

;Blur amount in accumulation mode, specified in percentage of accumulation buffer to mix with the current frame.
gba.tblur.accum.amount 50

;Enable (bi)linear interpolation.
gba.videoip 0

;Full-screen horizontal resolution.
gba.xres 0

;Scaling factor for the X axis in windowed mode.
gba.xscale 4.000000

;Scaling factor for the X axis in fullscreen mode.
gba.xscalefs 1.000000

;Full-screen vertical resolution.
gba.yres 0

;Scaling factor for the Y axis in windowed mode.
gba.yscale 4.000000

;Scaling factor for the Y axis in fullscreen mode.
gba.yscalefs 1.000000

;Enable (automatic) usage of this module.
gg.enable 1

;Force monophonic sound output.
gg.forcemono 0

;gg, Built-In, Gamepad: Button 1
gg.input.builtin.gamepad.button1 keyboard 0x0 90

;gg, Built-In, Gamepad: Button 2
gg.input.builtin.gamepad.button2 keyboard 0x0 91

;gg, Built-In, Gamepad: DOWN ?
gg.input.builtin.gamepad.down keyboard 0x0 22

;gg, Built-In, Gamepad: LEFT ?
gg.input.builtin.gamepad.left keyboard 0x0 4

;gg, Built-In, Gamepad: Rapid Button 1
gg.input.builtin.gamepad.rapid_button1

;gg, Built-In, Gamepad: Rapid Button 2
gg.input.builtin.gamepad.rapid_button2

;gg, Built-In, Gamepad: RIGHT ?
gg.input.builtin.gamepad.right keyboard 0x0 7

;gg, Built-In, Gamepad: Start
gg.input.builtin.gamepad.start keyboard 0x0 40

;gg, Built-In, Gamepad: UP ?
gg.input.builtin.gamepad.up keyboard 0x0 26

;Enable scanlines with specified opacity.
gg.scanlines 0

;Enable specified OpenGL shader.
gg.shader none

;Force interlaced video to be treated as progressive.
gg.shader.goat.fprog 0

;Constant RGB horizontal divergence.
gg.shader.goat.hdiv 0.50

;Mask pattern.
gg.shader.goat.pat goatron

;Enable scanlines effect.
gg.shader.goat.slen 1

;Transparency of otherwise-opaque mask areas.
gg.shader.goat.tp 0.50

;Constant RGB vertical divergence.
gg.shader.goat.vdiv 0.50

;Enable specified special video scaler.
gg.special none

;Stretch to fill screen.
gg.stretch aspect_mult2

;Enable video temporal blur(50/50 previous/current frame by default).
gg.tblur 0

;Accumulate color data rather than discarding it.
gg.tblur.accum 0

;Blur amount in accumulation mode, specified in percentage of accumulation buffer to mix with the current frame.
gg.tblur.accum.amount 50

;Enable (bi)linear interpolation.
gg.videoip 0

;Full-screen horizontal resolution.
gg.xres 0

;Scaling factor for the X axis in windowed mode.
gg.xscale 6.000000

;Scaling factor for the X axis in fullscreen mode.
gg.xscalefs 1.000000

;Full-screen vertical resolution.
gg.yres 0

;Scaling factor for the Y axis in windowed mode.
gg.yscale 6.000000

;Scaling factor for the Y axis in fullscreen mode.
gg.yscalefs 1.000000

;Auto-fire frequency.
input.autofirefreq 3

;Dangerous key action delay.
input.ckdelay 0

;Analog axis binary press detection threshold.
input.joystick.axis_threshold 75

;Update physical joystick(s) internal state in Mednafen even when Mednafen lacks OS focus.
input.joystick.global_focus 1

;Enable (automatic) usage of this module.
lynx.enable 1

;Force monophonic sound output.
lynx.forcemono 0

;lynx, Built-In, Gamepad: A (outer)
lynx.input.builtin.gamepad.a keyboard 0x0 91

;lynx, Built-In, Gamepad: B (inner)
lynx.input.builtin.gamepad.b keyboard 0x0 90

;lynx, Built-In, Gamepad: DOWN ?
lynx.input.builtin.gamepad.down keyboard 0x0 22

;lynx, Built-In, Gamepad: LEFT ?
lynx.input.builtin.gamepad.left keyboard 0x0 4

;lynx, Built-In, Gamepad: Option 1 (upper)
lynx.input.builtin.gamepad.option_1 keyboard 0x0 95

;lynx, Built-In, Gamepad: Option 2 (lower)
lynx.input.builtin.gamepad.option_2 keyboard 0x0 89

;lynx, Built-In, Gamepad: PAUSE
lynx.input.builtin.gamepad.pause keyboard 0x0 40

;lynx, Built-In, Gamepad: Rapid A (outer)
lynx.input.builtin.gamepad.rapid_a

;lynx, Built-In, Gamepad: Rapid B (inner)
lynx.input.builtin.gamepad.rapid_b

;lynx, Built-In, Gamepad: Rapid Option 1 (upper)
lynx.input.builtin.gamepad.rapid_option_1

;lynx, Built-In, Gamepad: Rapid Option 2 (lower)
lynx.input.builtin.gamepad.rapid_option_2

;lynx, Built-In, Gamepad: RIGHT ?
lynx.input.builtin.gamepad.right keyboard 0x0 7

;lynx, Built-In, Gamepad: UP ?
lynx.input.builtin.gamepad.up keyboard 0x0 26

;Enable sound output lowpass filter.
lynx.lowpass 1

;Virtually rotate the D-pad when the screen is rotated.
lynx.rotateinput 1

;Enable scanlines with specified opacity.
lynx.scanlines 0

;Enable specified OpenGL shader.
lynx.shader none

;Force interlaced video to be treated as progressive.
lynx.shader.goat.fprog 0

;Constant RGB horizontal divergence.
lynx.shader.goat.hdiv 0.50

;Mask pattern.
lynx.shader.goat.pat goatron

;Enable scanlines effect.
lynx.shader.goat.slen 1

;Transparency of otherwise-opaque mask areas.
lynx.shader.goat.tp 0.50

;Constant RGB vertical divergence.
lynx.shader.goat.vdiv 0.50

;Enable specified special video scaler.
lynx.special none

;Stretch to fill screen.
lynx.stretch aspect_mult2

;Enable video temporal blur(50/50 previous/current frame by default).
lynx.tblur 0

;Accumulate color data rather than discarding it.
lynx.tblur.accum 0

;Blur amount in accumulation mode, specified in percentage of accumulation buffer to mix with the current frame.
lynx.tblur.accum.amount 50

;Enable (bi)linear interpolation.
lynx.videoip 0

;Full-screen horizontal resolution.
lynx.xres 0

;Scaling factor for the X axis in windowed mode.
lynx.xscale 6.000000

;Scaling factor for the X axis in fullscreen mode.
lynx.xscalefs 1.000000

;Full-screen vertical resolution.
lynx.yres 0

;Scaling factor for the Y axis in windowed mode.
lynx.yscale 6.000000

;Scaling factor for the Y axis in fullscreen mode.
lynx.yscalefs 1.000000

;Path to the CD BIOS
md.cdbios us_scd1_9210.bin

;Correct the aspect ratio.
md.correct_aspect 1

;Disassembly font size.
md.debugger.disfontsize 5x7

;Character encoding for the debugger's memory editor.
md.debugger.memcharenc shift_jis

;Enable (automatic) usage of this module.
md.enable 1

;Force monophonic sound output.
md.forcemono 0

;Automatically select appropriate input devices.
md.input.auto 1

;Emulated mouse sensitivity.
md.input.mouse_sensitivity 1.00

;Enable multitap(s).
md.input.multitap none

;Input device for Virtual Port 1
md.input.port1 gamepad

;md, Virtual Port 1, 3-Button Gamepad: A
md.input.port1.gamepad.a keyboard 0x0 89

;md, Virtual Port 1, 3-Button Gamepad: B
md.input.port1.gamepad.b keyboard 0x0 90

;md, Virtual Port 1, 3-Button Gamepad: C
md.input.port1.gamepad.c keyboard 0x0 91

;md, Virtual Port 1, 3-Button Gamepad: DOWN ?
md.input.port1.gamepad.down keyboard 0x0 22

;md, Virtual Port 1, 3-Button Gamepad: LEFT ?
md.input.port1.gamepad.left keyboard 0x0 4

;md, Virtual Port 1, 3-Button Gamepad: Rapid A
md.input.port1.gamepad.rapid_a

;md, Virtual Port 1, 3-Button Gamepad: Rapid B
md.input.port1.gamepad.rapid_b

;md, Virtual Port 1, 3-Button Gamepad: Rapid C
md.input.port1.gamepad.rapid_c

;md, Virtual Port 1, 3-Button Gamepad: RIGHT ?
md.input.port1.gamepad.right keyboard 0x0 7

;md, Virtual Port 1, 3-Button Gamepad: Start
md.input.port1.gamepad.start keyboard 0x0 40

;md, Virtual Port 1, 3-Button Gamepad: UP ?
md.input.port1.gamepad.up keyboard 0x0 26

;md, Virtual Port 1, 2-Button Gamepad: A
md.input.port1.gamepad2.a

;md, Virtual Port 1, 2-Button Gamepad: B
md.input.port1.gamepad2.b

;md, Virtual Port 1, 2-Button Gamepad: DOWN ?
md.input.port1.gamepad2.down

;md, Virtual Port 1, 2-Button Gamepad: LEFT ?
md.input.port1.gamepad2.left

;md, Virtual Port 1, 2-Button Gamepad: Rapid A
md.input.port1.gamepad2.rapid_a

;md, Virtual Port 1, 2-Button Gamepad: Rapid B
md.input.port1.gamepad2.rapid_b

;md, Virtual Port 1, 2-Button Gamepad: RIGHT ?
md.input.port1.gamepad2.right

;md, Virtual Port 1, 2-Button Gamepad: Start
md.input.port1.gamepad2.start

;md, Virtual Port 1, 2-Button Gamepad: UP ?
md.input.port1.gamepad2.up

;md, Virtual Port 1, 6-Button Gamepad: A
md.input.port1.gamepad6.a keyboard 0x0 89

;md, Virtual Port 1, 6-Button Gamepad: B
md.input.port1.gamepad6.b keyboard 0x0 90

;md, Virtual Port 1, 6-Button Gamepad: C
md.input.port1.gamepad6.c keyboard 0x0 91

;md, Virtual Port 1, 6-Button Gamepad: DOWN ?
md.input.port1.gamepad6.down keyboard 0x0 22

;md, Virtual Port 1, 6-Button Gamepad: LEFT ?
md.input.port1.gamepad6.left keyboard 0x0 4

;md, Virtual Port 1, 6-Button Gamepad: Mode
md.input.port1.gamepad6.mode keyboard 0x0 16

;md, Virtual Port 1, 6-Button Gamepad: Rapid A
md.input.port1.gamepad6.rapid_a

;md, Virtual Port 1, 6-Button Gamepad: Rapid B
md.input.port1.gamepad6.rapid_b

;md, Virtual Port 1, 6-Button Gamepad: Rapid C
md.input.port1.gamepad6.rapid_c

;md, Virtual Port 1, 6-Button Gamepad: Rapid X
md.input.port1.gamepad6.rapid_x

;md, Virtual Port 1, 6-Button Gamepad: Rapid Y
md.input.port1.gamepad6.rapid_y

;md, Virtual Port 1, 6-Button Gamepad: Rapid Z
md.input.port1.gamepad6.rapid_z

;md, Virtual Port 1, 6-Button Gamepad: RIGHT ?
md.input.port1.gamepad6.right keyboard 0x0 7

;md, Virtual Port 1, 6-Button Gamepad: Start
md.input.port1.gamepad6.start keyboard 0x0 40

;md, Virtual Port 1, 6-Button Gamepad: UP ?
md.input.port1.gamepad6.up keyboard 0x0 26

;md, Virtual Port 1, 6-Button Gamepad: X
md.input.port1.gamepad6.x keyboard 0x0 92

;md, Virtual Port 1, 6-Button Gamepad: Y
md.input.port1.gamepad6.y keyboard 0x0 93

;md, Virtual Port 1, 6-Button Gamepad: Z
md.input.port1.gamepad6.z keyboard 0x0 94

;md, Virtual Port 1, Sega Mega Mouse: Left Button
md.input.port1.megamouse.left mouse 0x0 button_left

;md, Virtual Port 1, Sega Mega Mouse: Middle Button
md.input.port1.megamouse.middle mouse 0x0 button_middle

;md, Virtual Port 1, Sega Mega Mouse: Motion Down
md.input.port1.megamouse.motion_down mouse 0x0 rel_y+

;md, Virtual Port 1, Sega Mega Mouse: Motion Left
md.input.port1.megamouse.motion_left mouse 0x0 rel_x-

;md, Virtual Port 1, Sega Mega Mouse: Motion Right
md.input.port1.megamouse.motion_right mouse 0x0 rel_x+

;md, Virtual Port 1, Sega Mega Mouse: Motion Up
md.input.port1.megamouse.motion_up mouse 0x0 rel_y-

;md, Virtual Port 1, Sega Mega Mouse: Right Button
md.input.port1.megamouse.right mouse 0x0 button_right

;md, Virtual Port 1, Sega Mega Mouse: Start Button
md.input.port1.megamouse.start keyboard 0x0 40

;Input device for Virtual Port 2
md.input.port2 gamepad

;md, Virtual Port 2, 3-Button Gamepad: A
md.input.port2.gamepad.a

;md, Virtual Port 2, 3-Button Gamepad: B
md.input.port2.gamepad.b

;md, Virtual Port 2, 3-Button Gamepad: C
md.input.port2.gamepad.c

;md, Virtual Port 2, 3-Button Gamepad: DOWN ?
md.input.port2.gamepad.down

;md, Virtual Port 2, 3-Button Gamepad: LEFT ?
md.input.port2.gamepad.left

;md, Virtual Port 2, 3-Button Gamepad: Rapid A
md.input.port2.gamepad.rapid_a

;md, Virtual Port 2, 3-Button Gamepad: Rapid B
md.input.port2.gamepad.rapid_b

;md, Virtual Port 2, 3-Button Gamepad: Rapid C
md.input.port2.gamepad.rapid_c

;md, Virtual Port 2, 3-Button Gamepad: RIGHT ?
md.input.port2.gamepad.right

;md, Virtual Port 2, 3-Button Gamepad: Start
md.input.port2.gamepad.start

;md, Virtual Port 2, 3-Button Gamepad: UP ?
md.input.port2.gamepad.up

;md, Virtual Port 2, 2-Button Gamepad: A
md.input.port2.gamepad2.a

;md, Virtual Port 2, 2-Button Gamepad: B
md.input.port2.gamepad2.b

;md, Virtual Port 2, 2-Button Gamepad: DOWN ?
md.input.port2.gamepad2.down

;md, Virtual Port 2, 2-Button Gamepad: LEFT ?
md.input.port2.gamepad2.left

;md, Virtual Port 2, 2-Button Gamepad: Rapid A
md.input.port2.gamepad2.rapid_a

;md, Virtual Port 2, 2-Button Gamepad: Rapid B
md.input.port2.gamepad2.rapid_b

;md, Virtual Port 2, 2-Button Gamepad: RIGHT ?
md.input.port2.gamepad2.right

;md, Virtual Port 2, 2-Button Gamepad: Start
md.input.port2.gamepad2.start

;md, Virtual Port 2, 2-Button Gamepad: UP ?
md.input.port2.gamepad2.up

;md, Virtual Port 2, 6-Button Gamepad: A
md.input.port2.gamepad6.a

;md, Virtual Port 2, 6-Button Gamepad: B
md.input.port2.gamepad6.b

;md, Virtual Port 2, 6-Button Gamepad: C
md.input.port2.gamepad6.c

;md, Virtual Port 2, 6-Button Gamepad: DOWN ?
md.input.port2.gamepad6.down

;md, Virtual Port 2, 6-Button Gamepad: LEFT ?
md.input.port2.gamepad6.left

;md, Virtual Port 2, 6-Button Gamepad: Mode
md.input.port2.gamepad6.mode

;md, Virtual Port 2, 6-Button Gamepad: Rapid A
md.input.port2.gamepad6.rapid_a

;md, Virtual Port 2, 6-Button Gamepad: Rapid B
md.input.port2.gamepad6.rapid_b

;md, Virtual Port 2, 6-Button Gamepad: Rapid C
md.input.port2.gamepad6.rapid_c

;md, Virtual Port 2, 6-Button Gamepad: Rapid X
md.input.port2.gamepad6.rapid_x

;md, Virtual Port 2, 6-Button Gamepad: Rapid Y
md.input.port2.gamepad6.rapid_y

;md, Virtual Port 2, 6-Button Gamepad: Rapid Z
md.input.port2.gamepad6.rapid_z

;md, Virtual Port 2, 6-Button Gamepad: RIGHT ?
md.input.port2.gamepad6.right

;md, Virtual Port 2, 6-Button Gamepad: Start
md.input.port2.gamepad6.start

;md, Virtual Port 2, 6-Button Gamepad: UP ?
md.input.port2.gamepad6.up

;md, Virtual Port 2, 6-Button Gamepad: X
md.input.port2.gamepad6.x

;md, Virtual Port 2, 6-Button Gamepad: Y
md.input.port2.gamepad6.y

;md, Virtual Port 2, 6-Button Gamepad: Z
md.input.port2.gamepad6.z

;md, Virtual Port 2, Sega Mega Mouse: Left Button
md.input.port2.megamouse.left mouse 0x0 button_left

;md, Virtual Port 2, Sega Mega Mouse: Middle Button
md.input.port2.megamouse.middle mouse 0x0 button_middle

;md, Virtual Port 2, Sega Mega Mouse: Motion Down
md.input.port2.megamouse.motion_down mouse 0x0 rel_y+

;md, Virtual Port 2, Sega Mega Mouse: Motion Left
md.input.port2.megamouse.motion_left mouse 0x0 rel_x-

;md, Virtual Port 2, Sega Mega Mouse: Motion Right
md.input.port2.megamouse.motion_right mouse 0x0 rel_x+

;md, Virtual Port 2, Sega Mega Mouse: Motion Up
md.input.port2.megamouse.motion_up mouse 0x0 rel_y-

;md, Virtual Port 2, Sega Mega Mouse: Right Button
md.input.port2.megamouse.right mouse 0x0 button_right

;md, Virtual Port 2, Sega Mega Mouse: Start Button
md.input.port2.megamouse.start keyboard 0x0 40

;Input device for Virtual Port 3
md.input.port3 gamepad

;md, Virtual Port 3, 3-Button Gamepad: A
md.input.port3.gamepad.a

;md, Virtual Port 3, 3-Button Gamepad: B
md.input.port3.gamepad.b

;md, Virtual Port 3, 3-Button Gamepad: C
md.input.port3.gamepad.c

;md, Virtual Port 3, 3-Button Gamepad: DOWN ?
md.input.port3.gamepad.down

;md, Virtual Port 3, 3-Button Gamepad: LEFT ?
md.input.port3.gamepad.left

;md, Virtual Port 3, 3-Button Gamepad: Rapid A
md.input.port3.gamepad.rapid_a

;md, Virtual Port 3, 3-Button Gamepad: Rapid B
md.input.port3.gamepad.rapid_b

;md, Virtual Port 3, 3-Button Gamepad: Rapid C
md.input.port3.gamepad.rapid_c

;md, Virtual Port 3, 3-Button Gamepad: RIGHT ?
md.input.port3.gamepad.right

;md, Virtual Port 3, 3-Button Gamepad: Start
md.input.port3.gamepad.start

;md, Virtual Port 3, 3-Button Gamepad: UP ?
md.input.port3.gamepad.up

;md, Virtual Port 3, 2-Button Gamepad: A
md.input.port3.gamepad2.a

;md, Virtual Port 3, 2-Button Gamepad: B
md.input.port3.gamepad2.b

;md, Virtual Port 3, 2-Button Gamepad: DOWN ?
md.input.port3.gamepad2.down

;md, Virtual Port 3, 2-Button Gamepad: LEFT ?
md.input.port3.gamepad2.left

;md, Virtual Port 3, 2-Button Gamepad: Rapid A
md.input.port3.gamepad2.rapid_a

;md, Virtual Port 3, 2-Button Gamepad: Rapid B
md.input.port3.gamepad2.rapid_b

;md, Virtual Port 3, 2-Button Gamepad: RIGHT ?
md.input.port3.gamepad2.right

;md, Virtual Port 3, 2-Button Gamepad: Start
md.input.port3.gamepad2.start

;md, Virtual Port 3, 2-Button Gamepad: UP ?
md.input.port3.gamepad2.up

;md, Virtual Port 3, 6-Button Gamepad: A
md.input.port3.gamepad6.a

;md, Virtual Port 3, 6-Button Gamepad: B
md.input.port3.gamepad6.b

;md, Virtual Port 3, 6-Button Gamepad: C
md.input.port3.gamepad6.c

;md, Virtual Port 3, 6-Button Gamepad: DOWN ?
md.input.port3.gamepad6.down

;md, Virtual Port 3, 6-Button Gamepad: LEFT ?
md.input.port3.gamepad6.left

;md, Virtual Port 3, 6-Button Gamepad: Mode
md.input.port3.gamepad6.mode

;md, Virtual Port 3, 6-Button Gamepad: Rapid A
md.input.port3.gamepad6.rapid_a

;md, Virtual Port 3, 6-Button Gamepad: Rapid B
md.input.port3.gamepad6.rapid_b

;md, Virtual Port 3, 6-Button Gamepad: Rapid C
md.input.port3.gamepad6.rapid_c

;md, Virtual Port 3, 6-Button Gamepad: Rapid X
md.input.port3.gamepad6.rapid_x

;md, Virtual Port 3, 6-Button Gamepad: Rapid Y
md.input.port3.gamepad6.rapid_y

;md, Virtual Port 3, 6-Button Gamepad: Rapid Z
md.input.port3.gamepad6.rapid_z

;md, Virtual Port 3, 6-Button Gamepad: RIGHT ?
md.input.port3.gamepad6.right

;md, Virtual Port 3, 6-Button Gamepad: Start
md.input.port3.gamepad6.start

;md, Virtual Port 3, 6-Button Gamepad: UP ?
md.input.port3.gamepad6.up

;md, Virtual Port 3, 6-Button Gamepad: X
md.input.port3.gamepad6.x

;md, Virtual Port 3, 6-Button Gamepad: Y
md.input.port3.gamepad6.y

;md, Virtual Port 3, 6-Button Gamepad: Z
md.input.port3.gamepad6.z

;md, Virtual Port 3, Sega Mega Mouse: Left Button
md.input.port3.megamouse.left mouse 0x0 button_left

;md, Virtual Port 3, Sega Mega Mouse: Middle Button
md.input.port3.megamouse.middle mouse 0x0 button_middle

;md, Virtual Port 3, Sega Mega Mouse: Motion Down
md.input.port3.megamouse.motion_down mouse 0x0 rel_y+

;md, Virtual Port 3, Sega Mega Mouse: Motion Left
md.input.port3.megamouse.motion_left mouse 0x0 rel_x-

;md, Virtual Port 3, Sega Mega Mouse: Motion Right
md.input.port3.megamouse.motion_right mouse 0x0 rel_x+

;md, Virtual Port 3, Sega Mega Mouse: Motion Up
md.input.port3.megamouse.motion_up mouse 0x0 rel_y-

;md, Virtual Port 3, Sega Mega Mouse: Right Button
md.input.port3.megamouse.right mouse 0x0 button_right

;md, Virtual Port 3, Sega Mega Mouse: Start Button
md.input.port3.megamouse.start keyboard 0x0 40

;Input device for Virtual Port 4
md.input.port4 gamepad

;md, Virtual Port 4, 3-Button Gamepad: A
md.input.port4.gamepad.a

;md, Virtual Port 4, 3-Button Gamepad: B
md.input.port4.gamepad.b

;md, Virtual Port 4, 3-Button Gamepad: C
md.input.port4.gamepad.c

;md, Virtual Port 4, 3-Button Gamepad: DOWN ?
md.input.port4.gamepad.down

;md, Virtual Port 4, 3-Button Gamepad: LEFT ?
md.input.port4.gamepad.left

;md, Virtual Port 4, 3-Button Gamepad: Rapid A
md.input.port4.gamepad.rapid_a

;md, Virtual Port 4, 3-Button Gamepad: Rapid B
md.input.port4.gamepad.rapid_b

;md, Virtual Port 4, 3-Button Gamepad: Rapid C
md.input.port4.gamepad.rapid_c

;md, Virtual Port 4, 3-Button Gamepad: RIGHT ?
md.input.port4.gamepad.right

;md, Virtual Port 4, 3-Button Gamepad: Start
md.input.port4.gamepad.start

;md, Virtual Port 4, 3-Button Gamepad: UP ?
md.input.port4.gamepad.up

;md, Virtual Port 4, 2-Button Gamepad: A
md.input.port4.gamepad2.a

;md, Virtual Port 4, 2-Button Gamepad: B
md.input.port4.gamepad2.b

;md, Virtual Port 4, 2-Button Gamepad: DOWN ?
md.input.port4.gamepad2.down

;md, Virtual Port 4, 2-Button Gamepad: LEFT ?
md.input.port4.gamepad2.left

;md, Virtual Port 4, 2-Button Gamepad: Rapid A
md.input.port4.gamepad2.rapid_a

;md, Virtual Port 4, 2-Button Gamepad: Rapid B
md.input.port4.gamepad2.rapid_b

;md, Virtual Port 4, 2-Button Gamepad: RIGHT ?
md.input.port4.gamepad2.right

;md, Virtual Port 4, 2-Button Gamepad: Start
md.input.port4.gamepad2.start

;md, Virtual Port 4, 2-Button Gamepad: UP ?
md.input.port4.gamepad2.up

;md, Virtual Port 4, 6-Button Gamepad: A
md.input.port4.gamepad6.a

;md, Virtual Port 4, 6-Button Gamepad: B
md.input.port4.gamepad6.b

;md, Virtual Port 4, 6-Button Gamepad: C
md.input.port4.gamepad6.c

;md, Virtual Port 4, 6-Button Gamepad: DOWN ?
md.input.port4.gamepad6.down

;md, Virtual Port 4, 6-Button Gamepad: LEFT ?
md.input.port4.gamepad6.left

;md, Virtual Port 4, 6-Button Gamepad: Mode
md.input.port4.gamepad6.mode

;md, Virtual Port 4, 6-Button Gamepad: Rapid A
md.input.port4.gamepad6.rapid_a

;md, Virtual Port 4, 6-Button Gamepad: Rapid B
md.input.port4.gamepad6.rapid_b

;md, Virtual Port 4, 6-Button Gamepad: Rapid C
md.input.port4.gamepad6.rapid_c

;md, Virtual Port 4, 6-Button Gamepad: Rapid X
md.input.port4.gamepad6.rapid_x

;md, Virtual Port 4, 6-Button Gamepad: Rapid Y
md.input.port4.gamepad6.rapid_y

;md, Virtual Port 4, 6-Button Gamepad: Rapid Z
md.input.port4.gamepad6.rapid_z

;md, Virtual Port 4, 6-Button Gamepad: RIGHT ?
md.input.port4.gamepad6.right

;md, Virtual Port 4, 6-Button Gamepad: Start
md.input.port4.gamepad6.start

;md, Virtual Port 4, 6-Button Gamepad: UP ?
md.input.port4.gamepad6.up

;md, Virtual Port 4, 6-Button Gamepad: X
md.input.port4.gamepad6.x

;md, Virtual Port 4, 6-Button Gamepad: Y
md.input.port4.gamepad6.y

;md, Virtual Port 4, 6-Button Gamepad: Z
md.input.port4.gamepad6.z

;md, Virtual Port 4, Sega Mega Mouse: Left Button
md.input.port4.megamouse.left mouse 0x0 button_left

;md, Virtual Port 4, Sega Mega Mouse: Middle Button
md.input.port4.megamouse.middle mouse 0x0 button_middle

;md, Virtual Port 4, Sega Mega Mouse: Motion Down
md.input.port4.megamouse.motion_down mouse 0x0 rel_y+

;md, Virtual Port 4, Sega Mega Mouse: Motion Left
md.input.port4.megamouse.motion_left mouse 0x0 rel_x-

;md, Virtual Port 4, Sega Mega Mouse: Motion Right
md.input.port4.megamouse.motion_right mouse 0x0 rel_x+

;md, Virtual Port 4, Sega Mega Mouse: Motion Up
md.input.port4.megamouse.motion_up mouse 0x0 rel_y-

;md, Virtual Port 4, Sega Mega Mouse: Right Button
md.input.port4.megamouse.right mouse 0x0 button_right

;md, Virtual Port 4, Sega Mega Mouse: Start Button
md.input.port4.megamouse.start keyboard 0x0 40

;Input device for Virtual Port 5
md.input.port5 gamepad

;md, Virtual Port 5, 3-Button Gamepad: A
md.input.port5.gamepad.a

;md, Virtual Port 5, 3-Button Gamepad: B
md.input.port5.gamepad.b

;md, Virtual Port 5, 3-Button Gamepad: C
md.input.port5.gamepad.c

;md, Virtual Port 5, 3-Button Gamepad: DOWN ?
md.input.port5.gamepad.down

;md, Virtual Port 5, 3-Button Gamepad: LEFT ?
md.input.port5.gamepad.left

;md, Virtual Port 5, 3-Button Gamepad: Rapid A
md.input.port5.gamepad.rapid_a

;md, Virtual Port 5, 3-Button Gamepad: Rapid B
md.input.port5.gamepad.rapid_b

;md, Virtual Port 5, 3-Button Gamepad: Rapid C
md.input.port5.gamepad.rapid_c

;md, Virtual Port 5, 3-Button Gamepad: RIGHT ?
md.input.port5.gamepad.right

;md, Virtual Port 5, 3-Button Gamepad: Start
md.input.port5.gamepad.start

;md, Virtual Port 5, 3-Button Gamepad: UP ?
md.input.port5.gamepad.up

;md, Virtual Port 5, 2-Button Gamepad: A
md.input.port5.gamepad2.a

;md, Virtual Port 5, 2-Button Gamepad: B
md.input.port5.gamepad2.b

;md, Virtual Port 5, 2-Button Gamepad: DOWN ?
md.input.port5.gamepad2.down

;md, Virtual Port 5, 2-Button Gamepad: LEFT ?
md.input.port5.gamepad2.left

;md, Virtual Port 5, 2-Button Gamepad: Rapid A
md.input.port5.gamepad2.rapid_a

;md, Virtual Port 5, 2-Button Gamepad: Rapid B
md.input.port5.gamepad2.rapid_b

;md, Virtual Port 5, 2-Button Gamepad: RIGHT ?
md.input.port5.gamepad2.right

;md, Virtual Port 5, 2-Button Gamepad: Start
md.input.port5.gamepad2.start

;md, Virtual Port 5, 2-Button Gamepad: UP ?
md.input.port5.gamepad2.up

;md, Virtual Port 5, 6-Button Gamepad: A
md.input.port5.gamepad6.a

;md, Virtual Port 5, 6-Button Gamepad: B
md.input.port5.gamepad6.b

;md, Virtual Port 5, 6-Button Gamepad: C
md.input.port5.gamepad6.c

;md, Virtual Port 5, 6-Button Gamepad: DOWN ?
md.input.port5.gamepad6.down

;md, Virtual Port 5, 6-Button Gamepad: LEFT ?
md.input.port5.gamepad6.left

;md, Virtual Port 5, 6-Button Gamepad: Mode
md.input.port5.gamepad6.mode

;md, Virtual Port 5, 6-Button Gamepad: Rapid A
md.input.port5.gamepad6.rapid_a

;md, Virtual Port 5, 6-Button Gamepad: Rapid B
md.input.port5.gamepad6.rapid_b

;md, Virtual Port 5, 6-Button Gamepad: Rapid C
md.input.port5.gamepad6.rapid_c

;md, Virtual Port 5, 6-Button Gamepad: Rapid X
md.input.port5.gamepad6.rapid_x

;md, Virtual Port 5, 6-Button Gamepad: Rapid Y
md.input.port5.gamepad6.rapid_y

;md, Virtual Port 5, 6-Button Gamepad: Rapid Z
md.input.port5.gamepad6.rapid_z

;md, Virtual Port 5, 6-Button Gamepad: RIGHT ?
md.input.port5.gamepad6.right

;md, Virtual Port 5, 6-Button Gamepad: Start
md.input.port5.gamepad6.start

;md, Virtual Port 5, 6-Button Gamepad: UP ?
md.input.port5.gamepad6.up

;md, Virtual Port 5, 6-Button Gamepad: X
md.input.port5.gamepad6.x

;md, Virtual Port 5, 6-Button Gamepad: Y
md.input.port5.gamepad6.y

;md, Virtual Port 5, 6-Button Gamepad: Z
md.input.port5.gamepad6.z

;md, Virtual Port 5, Sega Mega Mouse: Left Button
md.input.port5.megamouse.left mouse 0x0 button_left

;md, Virtual Port 5, Sega Mega Mouse: Middle Button
md.input.port5.megamouse.middle mouse 0x0 button_middle

;md, Virtual Port 5, Sega Mega Mouse: Motion Down
md.input.port5.megamouse.motion_down mouse 0x0 rel_y+

;md, Virtual Port 5, Sega Mega Mouse: Motion Left
md.input.port5.megamouse.motion_left mouse 0x0 rel_x-

;md, Virtual Port 5, Sega Mega Mouse: Motion Right
md.input.port5.megamouse.motion_right mouse 0x0 rel_x+

;md, Virtual Port 5, Sega Mega Mouse: Motion Up
md.input.port5.megamouse.motion_up mouse 0x0 rel_y-

;md, Virtual Port 5, Sega Mega Mouse: Right Button
md.input.port5.megamouse.right mouse 0x0 button_right

;md, Virtual Port 5, Sega Mega Mouse: Start Button
md.input.port5.megamouse.start keyboard 0x0 40

;Input device for Virtual Port 6
md.input.port6 gamepad

;md, Virtual Port 6, 3-Button Gamepad: A
md.input.port6.gamepad.a

;md, Virtual Port 6, 3-Button Gamepad: B
md.input.port6.gamepad.b

;md, Virtual Port 6, 3-Button Gamepad: C
md.input.port6.gamepad.c

;md, Virtual Port 6, 3-Button Gamepad: DOWN ?
md.input.port6.gamepad.down

;md, Virtual Port 6, 3-Button Gamepad: LEFT ?
md.input.port6.gamepad.left

;md, Virtual Port 6, 3-Button Gamepad: Rapid A
md.input.port6.gamepad.rapid_a

;md, Virtual Port 6, 3-Button Gamepad: Rapid B
md.input.port6.gamepad.rapid_b

;md, Virtual Port 6, 3-Button Gamepad: Rapid C
md.input.port6.gamepad.rapid_c

;md, Virtual Port 6, 3-Button Gamepad: RIGHT ?
md.input.port6.gamepad.right

;md, Virtual Port 6, 3-Button Gamepad: Start
md.input.port6.gamepad.start

;md, Virtual Port 6, 3-Button Gamepad: UP ?
md.input.port6.gamepad.up

;md, Virtual Port 6, 2-Button Gamepad: A
md.input.port6.gamepad2.a

;md, Virtual Port 6, 2-Button Gamepad: B
md.input.port6.gamepad2.b

;md, Virtual Port 6, 2-Button Gamepad: DOWN ?
md.input.port6.gamepad2.down

;md, Virtual Port 6, 2-Button Gamepad: LEFT ?
md.input.port6.gamepad2.left

;md, Virtual Port 6, 2-Button Gamepad: Rapid A
md.input.port6.gamepad2.rapid_a

;md, Virtual Port 6, 2-Button Gamepad: Rapid B
md.input.port6.gamepad2.rapid_b

;md, Virtual Port 6, 2-Button Gamepad: RIGHT ?
md.input.port6.gamepad2.right

;md, Virtual Port 6, 2-Button Gamepad: Start
md.input.port6.gamepad2.start

;md, Virtual Port 6, 2-Button Gamepad: UP ?
md.input.port6.gamepad2.up

;md, Virtual Port 6, 6-Button Gamepad: A
md.input.port6.gamepad6.a

;md, Virtual Port 6, 6-Button Gamepad: B
md.input.port6.gamepad6.b

;md, Virtual Port 6, 6-Button Gamepad: C
md.input.port6.gamepad6.c

;md, Virtual Port 6, 6-Button Gamepad: DOWN ?
md.input.port6.gamepad6.down

;md, Virtual Port 6, 6-Button Gamepad: LEFT ?
md.input.port6.gamepad6.left

;md, Virtual Port 6, 6-Button Gamepad: Mode
md.input.port6.gamepad6.mode

;md, Virtual Port 6, 6-Button Gamepad: Rapid A
md.input.port6.gamepad6.rapid_a

;md, Virtual Port 6, 6-Button Gamepad: Rapid B
md.input.port6.gamepad6.rapid_b

;md, Virtual Port 6, 6-Button Gamepad: Rapid C
md.input.port6.gamepad6.rapid_c

;md, Virtual Port 6, 6-Button Gamepad: Rapid X
md.input.port6.gamepad6.rapid_x

;md, Virtual Port 6, 6-Button Gamepad: Rapid Y
md.input.port6.gamepad6.rapid_y

;md, Virtual Port 6, 6-Button Gamepad: Rapid Z
md.input.port6.gamepad6.rapid_z

;md, Virtual Port 6, 6-Button Gamepad: RIGHT ?
md.input.port6.gamepad6.right

;md, Virtual Port 6, 6-Button Gamepad: Start
md.input.port6.gamepad6.start

;md, Virtual Port 6, 6-Button Gamepad: UP ?
md.input.port6.gamepad6.up

;md, Virtual Port 6, 6-Button Gamepad: X
md.input.port6.gamepad6.x

;md, Virtual Port 6, 6-Button Gamepad: Y
md.input.port6.gamepad6.y

;md, Virtual Port 6, 6-Button Gamepad: Z
md.input.port6.gamepad6.z

;md, Virtual Port 6, Sega Mega Mouse: Left Button
md.input.port6.megamouse.left mouse 0x0 button_left

;md, Virtual Port 6, Sega Mega Mouse: Middle Button
md.input.port6.megamouse.middle mouse 0x0 button_middle

;md, Virtual Port 6, Sega Mega Mouse: Motion Down
md.input.port6.megamouse.motion_down mouse 0x0 rel_y+

;md, Virtual Port 6, Sega Mega Mouse: Motion Left
md.input.port6.megamouse.motion_left mouse 0x0 rel_x-

;md, Virtual Port 6, Sega Mega Mouse: Motion Right
md.input.port6.megamouse.motion_right mouse 0x0 rel_x+

;md, Virtual Port 6, Sega Mega Mouse: Motion Up
md.input.port6.megamouse.motion_up mouse 0x0 rel_y-

;md, Virtual Port 6, Sega Mega Mouse: Right Button
md.input.port6.megamouse.right mouse 0x0 button_right

;md, Virtual Port 6, Sega Mega Mouse: Start Button
md.input.port6.megamouse.start keyboard 0x0 40

;Input device for Virtual Port 7
md.input.port7 gamepad

;md, Virtual Port 7, 3-Button Gamepad: A
md.input.port7.gamepad.a

;md, Virtual Port 7, 3-Button Gamepad: B
md.input.port7.gamepad.b

;md, Virtual Port 7, 3-Button Gamepad: C
md.input.port7.gamepad.c

;md, Virtual Port 7, 3-Button Gamepad: DOWN ?
md.input.port7.gamepad.down

;md, Virtual Port 7, 3-Button Gamepad: LEFT ?
md.input.port7.gamepad.left

;md, Virtual Port 7, 3-Button Gamepad: Rapid A
md.input.port7.gamepad.rapid_a

;md, Virtual Port 7, 3-Button Gamepad: Rapid B
md.input.port7.gamepad.rapid_b

;md, Virtual Port 7, 3-Button Gamepad: Rapid C
md.input.port7.gamepad.rapid_c

;md, Virtual Port 7, 3-Button Gamepad: RIGHT ?
md.input.port7.gamepad.right

;md, Virtual Port 7, 3-Button Gamepad: Start
md.input.port7.gamepad.start

;md, Virtual Port 7, 3-Button Gamepad: UP ?
md.input.port7.gamepad.up

;md, Virtual Port 7, 2-Button Gamepad: A
md.input.port7.gamepad2.a

;md, Virtual Port 7, 2-Button Gamepad: B
md.input.port7.gamepad2.b

;md, Virtual Port 7, 2-Button Gamepad: DOWN ?
md.input.port7.gamepad2.down

;md, Virtual Port 7, 2-Button Gamepad: LEFT ?
md.input.port7.gamepad2.left

;md, Virtual Port 7, 2-Button Gamepad: Rapid A
md.input.port7.gamepad2.rapid_a

;md, Virtual Port 7, 2-Button Gamepad: Rapid B
md.input.port7.gamepad2.rapid_b

;md, Virtual Port 7, 2-Button Gamepad: RIGHT ?
md.input.port7.gamepad2.right

;md, Virtual Port 7, 2-Button Gamepad: Start
md.input.port7.gamepad2.start

;md, Virtual Port 7, 2-Button Gamepad: UP ?
md.input.port7.gamepad2.up

;md, Virtual Port 7, 6-Button Gamepad: A
md.input.port7.gamepad6.a

;md, Virtual Port 7, 6-Button Gamepad: B
md.input.port7.gamepad6.b

;md, Virtual Port 7, 6-Button Gamepad: C
md.input.port7.gamepad6.c

;md, Virtual Port 7, 6-Button Gamepad: DOWN ?
md.input.port7.gamepad6.down

;md, Virtual Port 7, 6-Button Gamepad: LEFT ?
md.input.port7.gamepad6.left

;md, Virtual Port 7, 6-Button Gamepad: Mode
md.input.port7.gamepad6.mode

;md, Virtual Port 7, 6-Button Gamepad: Rapid A
md.input.port7.gamepad6.rapid_a

;md, Virtual Port 7, 6-Button Gamepad: Rapid B
md.input.port7.gamepad6.rapid_b

;md, Virtual Port 7, 6-Button Gamepad: Rapid C
md.input.port7.gamepad6.rapid_c

;md, Virtual Port 7, 6-Button Gamepad: Rapid X
md.input.port7.gamepad6.rapid_x

;md, Virtual Port 7, 6-Button Gamepad: Rapid Y
md.input.port7.gamepad6.rapid_y

;md, Virtual Port 7, 6-Button Gamepad: Rapid Z
md.input.port7.gamepad6.rapid_z

;md, Virtual Port 7, 6-Button Gamepad: RIGHT ?
md.input.port7.gamepad6.right

;md, Virtual Port 7, 6-Button Gamepad: Start
md.input.port7.gamepad6.start

;md, Virtual Port 7, 6-Button Gamepad: UP ?
md.input.port7.gamepad6.up

;md, Virtual Port 7, 6-Button Gamepad: X
md.input.port7.gamepad6.x

;md, Virtual Port 7, 6-Button Gamepad: Y
md.input.port7.gamepad6.y

;md, Virtual Port 7, 6-Button Gamepad: Z
md.input.port7.gamepad6.z

;md, Virtual Port 7, Sega Mega Mouse: Left Button
md.input.port7.megamouse.left mouse 0x0 button_left

;md, Virtual Port 7, Sega Mega Mouse: Middle Button
md.input.port7.megamouse.middle mouse 0x0 button_middle

;md, Virtual Port 7, Sega Mega Mouse: Motion Down
md.input.port7.megamouse.motion_down mouse 0x0 rel_y+

;md, Virtual Port 7, Sega Mega Mouse: Motion Left
md.input.port7.megamouse.motion_left mouse 0x0 rel_x-

;md, Virtual Port 7, Sega Mega Mouse: Motion Right
md.input.port7.megamouse.motion_right mouse 0x0 rel_x+

;md, Virtual Port 7, Sega Mega Mouse: Motion Up
md.input.port7.megamouse.motion_up mouse 0x0 rel_y-

;md, Virtual Port 7, Sega Mega Mouse: Right Button
md.input.port7.megamouse.right mouse 0x0 button_right

;md, Virtual Port 7, Sega Mega Mouse: Start Button
md.input.port7.megamouse.start keyboard 0x0 40

;Input device for Virtual Port 8
md.input.port8 gamepad

;md, Virtual Port 8, 3-Button Gamepad: A
md.input.port8.gamepad.a

;md, Virtual Port 8, 3-Button Gamepad: B
md.input.port8.gamepad.b

;md, Virtual Port 8, 3-Button Gamepad: C
md.input.port8.gamepad.c

;md, Virtual Port 8, 3-Button Gamepad: DOWN ?
md.input.port8.gamepad.down

;md, Virtual Port 8, 3-Button Gamepad: LEFT ?
md.input.port8.gamepad.left

;md, Virtual Port 8, 3-Button Gamepad: Rapid A
md.input.port8.gamepad.rapid_a

;md, Virtual Port 8, 3-Button Gamepad: Rapid B
md.input.port8.gamepad.rapid_b

;md, Virtual Port 8, 3-Button Gamepad: Rapid C
md.input.port8.gamepad.rapid_c

;md, Virtual Port 8, 3-Button Gamepad: RIGHT ?
md.input.port8.gamepad.right

;md, Virtual Port 8, 3-Button Gamepad: Start
md.input.port8.gamepad.start

;md, Virtual Port 8, 3-Button Gamepad: UP ?
md.input.port8.gamepad.up

;md, Virtual Port 8, 2-Button Gamepad: A
md.input.port8.gamepad2.a

;md, Virtual Port 8, 2-Button Gamepad: B
md.input.port8.gamepad2.b

;md, Virtual Port 8, 2-Button Gamepad: DOWN ?
md.input.port8.gamepad2.down

;md, Virtual Port 8, 2-Button Gamepad: LEFT ?
md.input.port8.gamepad2.left

;md, Virtual Port 8, 2-Button Gamepad: Rapid A
md.input.port8.gamepad2.rapid_a

;md, Virtual Port 8, 2-Button Gamepad: Rapid B
md.input.port8.gamepad2.rapid_b

;md, Virtual Port 8, 2-Button Gamepad: RIGHT ?
md.input.port8.gamepad2.right

;md, Virtual Port 8, 2-Button Gamepad: Start
md.input.port8.gamepad2.start

;md, Virtual Port 8, 2-Button Gamepad: UP ?
md.input.port8.gamepad2.up

;md, Virtual Port 8, 6-Button Gamepad: A
md.input.port8.gamepad6.a

;md, Virtual Port 8, 6-Button Gamepad: B
md.input.port8.gamepad6.b

;md, Virtual Port 8, 6-Button Gamepad: C
md.input.port8.gamepad6.c

;md, Virtual Port 8, 6-Button Gamepad: DOWN ?
md.input.port8.gamepad6.down

;md, Virtual Port 8, 6-Button Gamepad: LEFT ?
md.input.port8.gamepad6.left

;md, Virtual Port 8, 6-Button Gamepad: Mode
md.input.port8.gamepad6.mode

;md, Virtual Port 8, 6-Button Gamepad: Rapid A
md.input.port8.gamepad6.rapid_a

;md, Virtual Port 8, 6-Button Gamepad: Rapid B
md.input.port8.gamepad6.rapid_b

;md, Virtual Port 8, 6-Button Gamepad: Rapid C
md.input.port8.gamepad6.rapid_c

;md, Virtual Port 8, 6-Button Gamepad: Rapid X
md.input.port8.gamepad6.rapid_x

;md, Virtual Port 8, 6-Button Gamepad: Rapid Y
md.input.port8.gamepad6.rapid_y

;md, Virtual Port 8, 6-Button Gamepad: Rapid Z
md.input.port8.gamepad6.rapid_z

;md, Virtual Port 8, 6-Button Gamepad: RIGHT ?
md.input.port8.gamepad6.right

;md, Virtual Port 8, 6-Button Gamepad: Start
md.input.port8.gamepad6.start

;md, Virtual Port 8, 6-Button Gamepad: UP ?
md.input.port8.gamepad6.up

;md, Virtual Port 8, 6-Button Gamepad: X
md.input.port8.gamepad6.x

;md, Virtual Port 8, 6-Button Gamepad: Y
md.input.port8.gamepad6.y

;md, Virtual Port 8, 6-Button Gamepad: Z
md.input.port8.gamepad6.z

;md, Virtual Port 8, Sega Mega Mouse: Left Button
md.input.port8.megamouse.left mouse 0x0 button_left

;md, Virtual Port 8, Sega Mega Mouse: Middle Button
md.input.port8.megamouse.middle mouse 0x0 button_middle

;md, Virtual Port 8, Sega Mega Mouse: Motion Down
md.input.port8.megamouse.motion_down mouse 0x0 rel_y+

;md, Virtual Port 8, Sega Mega Mouse: Motion Left
md.input.port8.megamouse.motion_left mouse 0x0 rel_x-

;md, Virtual Port 8, Sega Mega Mouse: Motion Right
md.input.port8.megamouse.motion_right mouse 0x0 rel_x+

;md, Virtual Port 8, Sega Mega Mouse: Motion Up
md.input.port8.megamouse.motion_up mouse 0x0 rel_y-

;md, Virtual Port 8, Sega Mega Mouse: Right Button
md.input.port8.megamouse.right mouse 0x0 button_right

;md, Virtual Port 8, Sega Mega Mouse: Start Button
md.input.port8.megamouse.start keyboard 0x0 40

;Emulate the specified region's Genesis/MegaDrive
md.region game

;Region reported to the game.
md.reported_region same

;Enable scanlines with specified opacity.
md.scanlines 0

;Enable specified OpenGL shader.
md.shader none

;Force interlaced video to be treated as progressive.
md.shader.goat.fprog 0

;Constant RGB horizontal divergence.
md.shader.goat.hdiv 0.50

;Mask pattern.
md.shader.goat.pat goatron

;Enable scanlines effect.
md.shader.goat.slen 1

;Transparency of otherwise-opaque mask areas.
md.shader.goat.tp 0.50

;Constant RGB vertical divergence.
md.shader.goat.vdiv 0.50

;Enable specified special video scaler.
md.special none

;Stretch to fill screen.
md.stretch aspect_mult2

;Enable video temporal blur(50/50 previous/current frame by default).
md.tblur 0

;Accumulate color data rather than discarding it.
md.tblur.accum 0

;Blur amount in accumulation mode, specified in percentage of accumulation buffer to mix with the current frame.
md.tblur.accum.amount 50

;Enable (bi)linear interpolation.
md.videoip 1

;Full-screen horizontal resolution.
md.xres 0

;Scaling factor for the X axis in windowed mode.
md.xscale 3.000000

;Scaling factor for the X axis in fullscreen mode.
md.xscalefs 1.000000

;Full-screen vertical resolution.
md.yres 0

;Scaling factor for the Y axis in windowed mode.
md.yscale 3.000000

;Scaling factor for the Y axis in fullscreen mode.
md.yscalefs 1.000000

;Clip left+right 8 pixel columns.
nes.clipsides 0

;Correct the aspect ratio.
nes.correct_aspect 0

;Disassembly font size.
nes.debugger.disfontsize 5x7

;Character encoding for the debugger's memory editor.
nes.debugger.memcharenc cp437

;Enable (automatic) usage of this module.
nes.enable 1

;Scan filename for (U),(J),(E),etc. strings to en/dis-able PAL emulation.
nes.fnscan 1

;Enable Game Genie emulation.
nes.gg 0

;Path to Game Genie ROM image.
nes.ggrom gg.rom

;Input device for Famicom Expansion Port
nes.input.fcexp none

;nes, Famicom Expansion Port, Arkanoid Paddle: Button
nes.input.fcexp.arkanoid.button mouse 0x0 button_left

;nes, Famicom Expansion Port, Arkanoid Paddle: X Axis
nes.input.fcexp.arkanoid.x_axis mouse 0x0 cursor_x-+

;nes, Famicom Expansion Port, Family Keyboard: 0
nes.input.fcexp.fkb.0 keyboard 0x0 39

;nes, Famicom Expansion Port, Family Keyboard: 1
nes.input.fcexp.fkb.1 keyboard 0x0 30

;nes, Famicom Expansion Port, Family Keyboard: 2
nes.input.fcexp.fkb.2 keyboard 0x0 31

;nes, Famicom Expansion Port, Family Keyboard: 3
nes.input.fcexp.fkb.3 keyboard 0x0 32

;nes, Famicom Expansion Port, Family Keyboard: 4
nes.input.fcexp.fkb.4 keyboard 0x0 33

;nes, Famicom Expansion Port, Family Keyboard: 5
nes.input.fcexp.fkb.5 keyboard 0x0 34

;nes, Famicom Expansion Port, Family Keyboard: 6
nes.input.fcexp.fkb.6 keyboard 0x0 35

;nes, Famicom Expansion Port, Family Keyboard: 7
nes.input.fcexp.fkb.7 keyboard 0x0 36

;nes, Famicom Expansion Port, Family Keyboard: 8
nes.input.fcexp.fkb.8 keyboard 0x0 37

;nes, Famicom Expansion Port, Family Keyboard: 9
nes.input.fcexp.fkb.9 keyboard 0x0 38

;nes, Famicom Expansion Port, Family Keyboard: A
nes.input.fcexp.fkb.a keyboard 0x0 4

;nes, Famicom Expansion Port, Family Keyboard: @
nes.input.fcexp.fkb.at keyboard 0x0 53

;nes, Famicom Expansion Port, Family Keyboard: B
nes.input.fcexp.fkb.b keyboard 0x0 5

;nes, Famicom Expansion Port, Family Keyboard: \
nes.input.fcexp.fkb.backslash keyboard 0x0 49

;nes, Famicom Expansion Port, Family Keyboard: C
nes.input.fcexp.fkb.c keyboard 0x0 6

;nes, Famicom Expansion Port, Family Keyboard: ^
nes.input.fcexp.fkb.caret keyboard 0x0 46

;nes, Famicom Expansion Port, Family Keyboard: CLR
nes.input.fcexp.fkb.clear keyboard 0x0 76

;nes, Famicom Expansion Port, Family Keyboard: :
nes.input.fcexp.fkb.colon keyboard 0x0 52

;nes, Famicom Expansion Port, Family Keyboard: ,
nes.input.fcexp.fkb.comma keyboard 0x0 54

;nes, Famicom Expansion Port, Family Keyboard: CTR
nes.input.fcexp.fkb.ctrl keyboard 0x0 224

;nes, Famicom Expansion Port, Family Keyboard: D
nes.input.fcexp.fkb.d keyboard 0x0 7

;nes, Famicom Expansion Port, Family Keyboard: DEL
nes.input.fcexp.fkb.delete keyboard 0x0 78

;nes, Famicom Expansion Port, Family Keyboard: DOWN
nes.input.fcexp.fkb.down keyboard 0x0 81

;nes, Famicom Expansion Port, Family Keyboard: E
nes.input.fcexp.fkb.e keyboard 0x0 8

;nes, Famicom Expansion Port, Family Keyboard: Empty
nes.input.fcexp.fkb.empty keyboard 0x0 230

;nes, Famicom Expansion Port, Family Keyboard: ESC
nes.input.fcexp.fkb.escape keyboard 0x0 41

;nes, Famicom Expansion Port, Family Keyboard: F
nes.input.fcexp.fkb.f keyboard 0x0 9

;nes, Famicom Expansion Port, Family Keyboard: F1
nes.input.fcexp.fkb.f1 keyboard 0x0 58

;nes, Famicom Expansion Port, Family Keyboard: F2
nes.input.fcexp.fkb.f2 keyboard 0x0 59

;nes, Famicom Expansion Port, Family Keyboard: F3
nes.input.fcexp.fkb.f3 keyboard 0x0 60

;nes, Famicom Expansion Port, Family Keyboard: F4
nes.input.fcexp.fkb.f4 keyboard 0x0 61

;nes, Famicom Expansion Port, Family Keyboard: F5
nes.input.fcexp.fkb.f5 keyboard 0x0 62

;nes, Famicom Expansion Port, Family Keyboard: F6
nes.input.fcexp.fkb.f6 keyboard 0x0 63

;nes, Famicom Expansion Port, Family Keyboard: F7
nes.input.fcexp.fkb.f7 keyboard 0x0 64

;nes, Famicom Expansion Port, Family Keyboard: F8
nes.input.fcexp.fkb.f8 keyboard 0x0 65

;nes, Famicom Expansion Port, Family Keyboard: G
nes.input.fcexp.fkb.g keyboard 0x0 10

;nes, Famicom Expansion Port, Family Keyboard: GRPH
nes.input.fcexp.fkb.graph keyboard 0x0 226

;nes, Famicom Expansion Port, Family Keyboard: H
nes.input.fcexp.fkb.h keyboard 0x0 11

;nes, Famicom Expansion Port, Family Keyboard: I
nes.input.fcexp.fkb.i keyboard 0x0 12

;nes, Famicom Expansion Port, Family Keyboard: INS
nes.input.fcexp.fkb.insert keyboard 0x0 77

;nes, Famicom Expansion Port, Family Keyboard: J
nes.input.fcexp.fkb.j keyboard 0x0 13

;nes, Famicom Expansion Port, Family Keyboard: K
nes.input.fcexp.fkb.k keyboard 0x0 14

;nes, Famicom Expansion Port, Family Keyboard: ??
nes.input.fcexp.fkb.kana keyboard 0x0 73

;nes, Famicom Expansion Port, Family Keyboard: L
nes.input.fcexp.fkb.l keyboard 0x0 15

;nes, Famicom Expansion Port, Family Keyboard: LEFT
nes.input.fcexp.fkb.left keyboard 0x0 80

;nes, Famicom Expansion Port, Family Keyboard: [
nes.input.fcexp.fkb.left_bracket keyboard 0x0 47

;nes, Famicom Expansion Port, Family Keyboard: Left SHIFT
nes.input.fcexp.fkb.left_shift keyboard 0x0 225

;nes, Famicom Expansion Port, Family Keyboard: M
nes.input.fcexp.fkb.m keyboard 0x0 16

;nes, Famicom Expansion Port, Family Keyboard: -
nes.input.fcexp.fkb.minus keyboard 0x0 45

;nes, Famicom Expansion Port, Family Keyboard: N
nes.input.fcexp.fkb.n keyboard 0x0 17

;nes, Famicom Expansion Port, Family Keyboard: O
nes.input.fcexp.fkb.o keyboard 0x0 18

;nes, Famicom Expansion Port, Family Keyboard: P
nes.input.fcexp.fkb.p keyboard 0x0 19

;nes, Famicom Expansion Port, Family Keyboard: .
nes.input.fcexp.fkb.period keyboard 0x0 55

;nes, Famicom Expansion Port, Family Keyboard: Q
nes.input.fcexp.fkb.q keyboard 0x0 20

;nes, Famicom Expansion Port, Family Keyboard: R
nes.input.fcexp.fkb.r keyboard 0x0 21

;nes, Famicom Expansion Port, Family Keyboard: RETURN
nes.input.fcexp.fkb.return keyboard 0x0 40

;nes, Famicom Expansion Port, Family Keyboard: RIGHT
nes.input.fcexp.fkb.right keyboard 0x0 79

;nes, Famicom Expansion Port, Family Keyboard: ]
nes.input.fcexp.fkb.right_bracket keyboard 0x0 48

;nes, Famicom Expansion Port, Family Keyboard: Right SHIFT
nes.input.fcexp.fkb.right_shift keyboard 0x0 229

;nes, Famicom Expansion Port, Family Keyboard: S
nes.input.fcexp.fkb.s keyboard 0x0 22

;nes, Famicom Expansion Port, Family Keyboard: ;
nes.input.fcexp.fkb.semicolon keyboard 0x0 51

;nes, Famicom Expansion Port, Family Keyboard: /
nes.input.fcexp.fkb.slash keyboard 0x0 56

;nes, Famicom Expansion Port, Family Keyboard: SPACE
nes.input.fcexp.fkb.space keyboard 0x0 44

;nes, Famicom Expansion Port, Family Keyboard: STOP
nes.input.fcexp.fkb.stop keyboard 0x0 42

;nes, Famicom Expansion Port, Family Keyboard: T
nes.input.fcexp.fkb.t keyboard 0x0 23

;nes, Famicom Expansion Port, Family Keyboard: U
nes.input.fcexp.fkb.u keyboard 0x0 24

;nes, Famicom Expansion Port, Family Keyboard: UP
nes.input.fcexp.fkb.up keyboard 0x0 82

;nes, Famicom Expansion Port, Family Keyboard: V
nes.input.fcexp.fkb.v keyboard 0x0 25

;nes, Famicom Expansion Port, Family Keyboard: W
nes.input.fcexp.fkb.w keyboard 0x0 26

;nes, Famicom Expansion Port, Family Keyboard: X
nes.input.fcexp.fkb.x keyboard 0x0 27

;nes, Famicom Expansion Port, Family Keyboard: Y
nes.input.fcexp.fkb.y keyboard 0x0 28

;nes, Famicom Expansion Port, Family Keyboard: Z
nes.input.fcexp.fkb.z keyboard 0x0 29

;nes, Famicom Expansion Port, Family Trainer Side A: 1
nes.input.fcexp.ftrainera.1 keyboard 0x0 18

;nes, Famicom Expansion Port, Family Trainer Side A: 10
nes.input.fcexp.ftrainera.10 keyboard 0x0 54

;nes, Famicom Expansion Port, Family Trainer Side A: 11
nes.input.fcexp.ftrainera.11 keyboard 0x0 55

;nes, Famicom Expansion Port, Family Trainer Side A: 12
nes.input.fcexp.ftrainera.12 keyboard 0x0 56

;nes, Famicom Expansion Port, Family Trainer Side A: 2
nes.input.fcexp.ftrainera.2 keyboard 0x0 19

;nes, Famicom Expansion Port, Family Trainer Side A: 3
nes.input.fcexp.ftrainera.3 keyboard 0x0 47

;nes, Famicom Expansion Port, Family Trainer Side A: 4
nes.input.fcexp.ftrainera.4 keyboard 0x0 48

;nes, Famicom Expansion Port, Family Trainer Side A: 5
nes.input.fcexp.ftrainera.5 keyboard 0x0 14

;nes, Famicom Expansion Port, Family Trainer Side A: 6
nes.input.fcexp.ftrainera.6 keyboard 0x0 15

;nes, Famicom Expansion Port, Family Trainer Side A: 7
nes.input.fcexp.ftrainera.7 keyboard 0x0 51

;nes, Famicom Expansion Port, Family Trainer Side A: 8
nes.input.fcexp.ftrainera.8 keyboard 0x0 52

;nes, Famicom Expansion Port, Family Trainer Side A: 9
nes.input.fcexp.ftrainera.9 keyboard 0x0 16

;nes, Famicom Expansion Port, Family Trainer Side B: 1
nes.input.fcexp.ftrainerb.1 keyboard 0x0 18

;nes, Famicom Expansion Port, Family Trainer Side B: 10
nes.input.fcexp.ftrainerb.10 keyboard 0x0 54

;nes, Famicom Expansion Port, Family Trainer Side B: 11
nes.input.fcexp.ftrainerb.11 keyboard 0x0 55

;nes, Famicom Expansion Port, Family Trainer Side B: 12
nes.input.fcexp.ftrainerb.12 keyboard 0x0 56

;nes, Famicom Expansion Port, Family Trainer Side B: 2
nes.input.fcexp.ftrainerb.2 keyboard 0x0 19

;nes, Famicom Expansion Port, Family Trainer Side B: 3
nes.input.fcexp.ftrainerb.3 keyboard 0x0 47

;nes, Famicom Expansion Port, Family Trainer Side B: 4
nes.input.fcexp.ftrainerb.4 keyboard 0x0 48

;nes, Famicom Expansion Port, Family Trainer Side B: 5
nes.input.fcexp.ftrainerb.5 keyboard 0x0 14

;nes, Famicom Expansion Port, Family Trainer Side B: 6
nes.input.fcexp.ftrainerb.6 keyboard 0x0 15

;nes, Famicom Expansion Port, Family Trainer Side B: 7
nes.input.fcexp.ftrainerb.7 keyboard 0x0 51

;nes, Famicom Expansion Port, Family Trainer Side B: 8
nes.input.fcexp.ftrainerb.8 keyboard 0x0 52

;nes, Famicom Expansion Port, Family Trainer Side B: 9
nes.input.fcexp.ftrainerb.9 keyboard 0x0 16

;nes, Famicom Expansion Port, Hypershot Paddles: I, JUMP
nes.input.fcexp.hypershot.i_jump keyboard 0x0 26

;nes, Famicom Expansion Port, Hypershot Paddles: I, RUN
nes.input.fcexp.hypershot.i_run keyboard 0x0 20

;nes, Famicom Expansion Port, Hypershot Paddles: II, JUMP
nes.input.fcexp.hypershot.ii_jump keyboard 0x0 21

;nes, Famicom Expansion Port, Hypershot Paddles: II, RUN
nes.input.fcexp.hypershot.ii_run keyboard 0x0 8

;nes, Famicom Expansion Port, Hypershot Paddles: Rapid I, JUMP
nes.input.fcexp.hypershot.rapid_i_jump

;nes, Famicom Expansion Port, Hypershot Paddles: Rapid I, RUN
nes.input.fcexp.hypershot.rapid_i_run

;nes, Famicom Expansion Port, Hypershot Paddles: Rapid II, JUMP
nes.input.fcexp.hypershot.rapid_ii_jump

;nes, Famicom Expansion Port, Hypershot Paddles: Rapid II, RUN
nes.input.fcexp.hypershot.rapid_ii_run

;nes, Famicom Expansion Port, Mahjong Controller: 1
nes.input.fcexp.mahjong.1 keyboard 0x0 20

;nes, Famicom Expansion Port, Mahjong Controller: 10
nes.input.fcexp.mahjong.10 keyboard 0x0 10

;nes, Famicom Expansion Port, Mahjong Controller: 11
nes.input.fcexp.mahjong.11 keyboard 0x0 11

;nes, Famicom Expansion Port, Mahjong Controller: 12
nes.input.fcexp.mahjong.12 keyboard 0x0 13

;nes, Famicom Expansion Port, Mahjong Controller: 13
nes.input.fcexp.mahjong.13 keyboard 0x0 14

;nes, Famicom Expansion Port, Mahjong Controller: 14
nes.input.fcexp.mahjong.14 keyboard 0x0 15

;nes, Famicom Expansion Port, Mahjong Controller: 15
nes.input.fcexp.mahjong.15 keyboard 0x0 29

;nes, Famicom Expansion Port, Mahjong Controller: 16
nes.input.fcexp.mahjong.16 keyboard 0x0 27

;nes, Famicom Expansion Port, Mahjong Controller: 17
nes.input.fcexp.mahjong.17 keyboard 0x0 6

;nes, Famicom Expansion Port, Mahjong Controller: 18
nes.input.fcexp.mahjong.18 keyboard 0x0 25

;nes, Famicom Expansion Port, Mahjong Controller: 19
nes.input.fcexp.mahjong.19 keyboard 0x0 5

;nes, Famicom Expansion Port, Mahjong Controller: 2
nes.input.fcexp.mahjong.2 keyboard 0x0 26

;nes, Famicom Expansion Port, Mahjong Controller: 20
nes.input.fcexp.mahjong.20 keyboard 0x0 17

;nes, Famicom Expansion Port, Mahjong Controller: 21
nes.input.fcexp.mahjong.21 keyboard 0x0 16

;nes, Famicom Expansion Port, Mahjong Controller: 3
nes.input.fcexp.mahjong.3 keyboard 0x0 8

;nes, Famicom Expansion Port, Mahjong Controller: 4
nes.input.fcexp.mahjong.4 keyboard 0x0 21

;nes, Famicom Expansion Port, Mahjong Controller: 5
nes.input.fcexp.mahjong.5 keyboard 0x0 23

;nes, Famicom Expansion Port, Mahjong Controller: 6
nes.input.fcexp.mahjong.6 keyboard 0x0 4

;nes, Famicom Expansion Port, Mahjong Controller: 7
nes.input.fcexp.mahjong.7 keyboard 0x0 22

;nes, Famicom Expansion Port, Mahjong Controller: 8
nes.input.fcexp.mahjong.8 keyboard 0x0 7

;nes, Famicom Expansion Port, Mahjong Controller: 9
nes.input.fcexp.mahjong.9 keyboard 0x0 9

;nes, Famicom Expansion Port, Oeka Kids Tablet: Button
nes.input.fcexp.oekakids.button mouse 0x0 button_left

;nes, Famicom Expansion Port, Oeka Kids Tablet: X Axis
nes.input.fcexp.oekakids.x_axis mouse 0x0 cursor_x-+

;nes, Famicom Expansion Port, Oeka Kids Tablet: Y Axis
nes.input.fcexp.oekakids.y_axis mouse 0x0 cursor_y-+

;nes, Famicom Expansion Port, Party Tap: Buzzer 1
nes.input.fcexp.partytap.buzzer_1 keyboard 0x0 20

;nes, Famicom Expansion Port, Party Tap: Buzzer 2
nes.input.fcexp.partytap.buzzer_2 keyboard 0x0 26

;nes, Famicom Expansion Port, Party Tap: Buzzer 3
nes.input.fcexp.partytap.buzzer_3 keyboard 0x0 8

;nes, Famicom Expansion Port, Party Tap: Buzzer 4
nes.input.fcexp.partytap.buzzer_4 keyboard 0x0 21

;nes, Famicom Expansion Port, Party Tap: Buzzer 5
nes.input.fcexp.partytap.buzzer_5 keyboard 0x0 23

;nes, Famicom Expansion Port, Party Tap: Buzzer 6
nes.input.fcexp.partytap.buzzer_6 keyboard 0x0 28

;nes, Famicom Expansion Port, Space Shadow Gun: Away Trigger
nes.input.fcexp.shadow.away_trigger mouse 0x0 button_right

;nes, Famicom Expansion Port, Space Shadow Gun: Trigger
nes.input.fcexp.shadow.trigger mouse 0x0 button_left

;nes, Famicom Expansion Port, Space Shadow Gun: X Axis
nes.input.fcexp.shadow.x_axis mouse 0x0 cursor_x-+

;nes, Famicom Expansion Port, Space Shadow Gun: Y Axis
nes.input.fcexp.shadow.y_axis mouse 0x0 cursor_y-+

;Input device for Port 1
nes.input.port1 gamepad

;nes, Port 1, Arkanoid Paddle: Button
nes.input.port1.arkanoid.button mouse 0x0 button_left

;nes, Port 1, Arkanoid Paddle: X Axis
nes.input.port1.arkanoid.x_axis mouse 0x0 cursor_x-+

;nes, Port 1, Gamepad: A
nes.input.port1.gamepad.a keyboard 0x0 91

;nes, Port 1, Gamepad: B
nes.input.port1.gamepad.b keyboard 0x0 90

;nes, Port 1, Gamepad: DOWN ?
nes.input.port1.gamepad.down keyboard 0x0 22

;nes, Port 1, Gamepad: LEFT ?
nes.input.port1.gamepad.left keyboard 0x0 4

;nes, Port 1, Gamepad: Rapid A
nes.input.port1.gamepad.rapid_a

;nes, Port 1, Gamepad: Rapid B
nes.input.port1.gamepad.rapid_b

;nes, Port 1, Gamepad: RIGHT ?
nes.input.port1.gamepad.right keyboard 0x0 7

;nes, Port 1, Gamepad: SELECT
nes.input.port1.gamepad.select keyboard 0x0 43

;nes, Port 1, Gamepad: START
nes.input.port1.gamepad.start keyboard 0x0 40

;nes, Port 1, Gamepad: UP ?
nes.input.port1.gamepad.up keyboard 0x0 26

;nes, Port 1, Power Pad Side A: 1
nes.input.port1.powerpada.1 keyboard 0x0 18

;nes, Port 1, Power Pad Side A: 10
nes.input.port1.powerpada.10 keyboard 0x0 54

;nes, Port 1, Power Pad Side A: 11
nes.input.port1.powerpada.11 keyboard 0x0 55

;nes, Port 1, Power Pad Side A: 12
nes.input.port1.powerpada.12 keyboard 0x0 56

;nes, Port 1, Power Pad Side A: 2
nes.input.port1.powerpada.2 keyboard 0x0 19

;nes, Port 1, Power Pad Side A: 3
nes.input.port1.powerpada.3 keyboard 0x0 47

;nes, Port 1, Power Pad Side A: 4
nes.input.port1.powerpada.4 keyboard 0x0 48

;nes, Port 1, Power Pad Side A: 5
nes.input.port1.powerpada.5 keyboard 0x0 14

;nes, Port 1, Power Pad Side A: 6
nes.input.port1.powerpada.6 keyboard 0x0 15

;nes, Port 1, Power Pad Side A: 7
nes.input.port1.powerpada.7 keyboard 0x0 51

;nes, Port 1, Power Pad Side A: 8
nes.input.port1.powerpada.8 keyboard 0x0 52

;nes, Port 1, Power Pad Side A: 9
nes.input.port1.powerpada.9 keyboard 0x0 16

;nes, Port 1, Power Pad Side B: 1
nes.input.port1.powerpadb.1 keyboard 0x0 18

;nes, Port 1, Power Pad Side B: 10
nes.input.port1.powerpadb.10 keyboard 0x0 54

;nes, Port 1, Power Pad Side B: 11
nes.input.port1.powerpadb.11 keyboard 0x0 55

;nes, Port 1, Power Pad Side B: 12
nes.input.port1.powerpadb.12 keyboard 0x0 56

;nes, Port 1, Power Pad Side B: 2
nes.input.port1.powerpadb.2 keyboard 0x0 19

;nes, Port 1, Power Pad Side B: 3
nes.input.port1.powerpadb.3 keyboard 0x0 47

;nes, Port 1, Power Pad Side B: 4
nes.input.port1.powerpadb.4 keyboard 0x0 48

;nes, Port 1, Power Pad Side B: 5
nes.input.port1.powerpadb.5 keyboard 0x0 14

;nes, Port 1, Power Pad Side B: 6
nes.input.port1.powerpadb.6 keyboard 0x0 15

;nes, Port 1, Power Pad Side B: 7
nes.input.port1.powerpadb.7 keyboard 0x0 51

;nes, Port 1, Power Pad Side B: 8
nes.input.port1.powerpadb.8 keyboard 0x0 52

;nes, Port 1, Power Pad Side B: 9
nes.input.port1.powerpadb.9 keyboard 0x0 16

;nes, Port 1, Zapper: Away Trigger
nes.input.port1.zapper.away_trigger mouse 0x0 button_right

;nes, Port 1, Zapper: Trigger
nes.input.port1.zapper.trigger mouse 0x0 button_left

;nes, Port 1, Zapper: X Axis
nes.input.port1.zapper.x_axis mouse 0x0 cursor_x-+

;nes, Port 1, Zapper: Y Axis
nes.input.port1.zapper.y_axis mouse 0x0 cursor_y-+

;Input device for Port 2
nes.input.port2 gamepad

;nes, Port 2, Arkanoid Paddle: Button
nes.input.port2.arkanoid.button mouse 0x0 button_left

;nes, Port 2, Arkanoid Paddle: X Axis
nes.input.port2.arkanoid.x_axis mouse 0x0 cursor_x-+

;nes, Port 2, Gamepad: A
nes.input.port2.gamepad.a

;nes, Port 2, Gamepad: B
nes.input.port2.gamepad.b

;nes, Port 2, Gamepad: DOWN ?
nes.input.port2.gamepad.down

;nes, Port 2, Gamepad: LEFT ?
nes.input.port2.gamepad.left

;nes, Port 2, Gamepad: Rapid A
nes.input.port2.gamepad.rapid_a

;nes, Port 2, Gamepad: Rapid B
nes.input.port2.gamepad.rapid_b

;nes, Port 2, Gamepad: RIGHT ?
nes.input.port2.gamepad.right

;nes, Port 2, Gamepad: SELECT
nes.input.port2.gamepad.select

;nes, Port 2, Gamepad: START
nes.input.port2.gamepad.start

;nes, Port 2, Gamepad: UP ?
nes.input.port2.gamepad.up

;nes, Port 2, Power Pad Side A: 1
nes.input.port2.powerpada.1 keyboard 0x0 18

;nes, Port 2, Power Pad Side A: 10
nes.input.port2.powerpada.10 keyboard 0x0 54

;nes, Port 2, Power Pad Side A: 11
nes.input.port2.powerpada.11 keyboard 0x0 55

;nes, Port 2, Power Pad Side A: 12
nes.input.port2.powerpada.12 keyboard 0x0 56

;nes, Port 2, Power Pad Side A: 2
nes.input.port2.powerpada.2 keyboard 0x0 19

;nes, Port 2, Power Pad Side A: 3
nes.input.port2.powerpada.3 keyboard 0x0 47

;nes, Port 2, Power Pad Side A: 4
nes.input.port2.powerpada.4 keyboard 0x0 48

;nes, Port 2, Power Pad Side A: 5
nes.input.port2.powerpada.5 keyboard 0x0 14

;nes, Port 2, Power Pad Side A: 6
nes.input.port2.powerpada.6 keyboard 0x0 15

;nes, Port 2, Power Pad Side A: 7
nes.input.port2.powerpada.7 keyboard 0x0 51

;nes, Port 2, Power Pad Side A: 8
nes.input.port2.powerpada.8 keyboard 0x0 52

;nes, Port 2, Power Pad Side A: 9
nes.input.port2.powerpada.9 keyboard 0x0 16

;nes, Port 2, Power Pad Side B: 1
nes.input.port2.powerpadb.1 keyboard 0x0 18

;nes, Port 2, Power Pad Side B: 10
nes.input.port2.powerpadb.10 keyboard 0x0 54

;nes, Port 2, Power Pad Side B: 11
nes.input.port2.powerpadb.11 keyboard 0x0 55

;nes, Port 2, Power Pad Side B: 12
nes.input.port2.powerpadb.12 keyboard 0x0 56

;nes, Port 2, Power Pad Side B: 2
nes.input.port2.powerpadb.2 keyboard 0x0 19

;nes, Port 2, Power Pad Side B: 3
nes.input.port2.powerpadb.3 keyboard 0x0 47

;nes, Port 2, Power Pad Side B: 4
nes.input.port2.powerpadb.4 keyboard 0x0 48

;nes, Port 2, Power Pad Side B: 5
nes.input.port2.powerpadb.5 keyboard 0x0 14

;nes, Port 2, Power Pad Side B: 6
nes.input.port2.powerpadb.6 keyboard 0x0 15

;nes, Port 2, Power Pad Side B: 7
nes.input.port2.powerpadb.7 keyboard 0x0 51

;nes, Port 2, Power Pad Side B: 8
nes.input.port2.powerpadb.8 keyboard 0x0 52

;nes, Port 2, Power Pad Side B: 9
nes.input.port2.powerpadb.9 keyboard 0x0 16

;nes, Port 2, Zapper: Away Trigger
nes.input.port2.zapper.away_trigger mouse 0x0 button_right

;nes, Port 2, Zapper: Trigger
nes.input.port2.zapper.trigger mouse 0x0 button_left

;nes, Port 2, Zapper: X Axis
nes.input.port2.zapper.x_axis mouse 0x0 cursor_x-+

;nes, Port 2, Zapper: Y Axis
nes.input.port2.zapper.y_axis mouse 0x0 cursor_y-+

;Input device for Port 3
nes.input.port3 gamepad

;nes, Port 3, Gamepad: A
nes.input.port3.gamepad.a

;nes, Port 3, Gamepad: B
nes.input.port3.gamepad.b

;nes, Port 3, Gamepad: DOWN ?
nes.input.port3.gamepad.down

;nes, Port 3, Gamepad: LEFT ?
nes.input.port3.gamepad.left

;nes, Port 3, Gamepad: Rapid A
nes.input.port3.gamepad.rapid_a

;nes, Port 3, Gamepad: Rapid B
nes.input.port3.gamepad.rapid_b

;nes, Port 3, Gamepad: RIGHT ?
nes.input.port3.gamepad.right

;nes, Port 3, Gamepad: SELECT
nes.input.port3.gamepad.select

;nes, Port 3, Gamepad: START
nes.input.port3.gamepad.start

;nes, Port 3, Gamepad: UP ?
nes.input.port3.gamepad.up

;Input device for Port 4
nes.input.port4 gamepad

;nes, Port 4, Gamepad: A
nes.input.port4.gamepad.a

;nes, Port 4, Gamepad: B
nes.input.port4.gamepad.b

;nes, Port 4, Gamepad: DOWN ?
nes.input.port4.gamepad.down

;nes, Port 4, Gamepad: LEFT ?
nes.input.port4.gamepad.left

;nes, Port 4, Gamepad: Rapid A
nes.input.port4.gamepad.rapid_a

;nes, Port 4, Gamepad: Rapid B
nes.input.port4.gamepad.rapid_b

;nes, Port 4, Gamepad: RIGHT ?
nes.input.port4.gamepad.right

;nes, Port 4, Gamepad: SELECT
nes.input.port4.gamepad.select

;nes, Port 4, Gamepad: START
nes.input.port4.gamepad.start

;nes, Port 4, Gamepad: UP ?
nes.input.port4.gamepad.up

;Enable less-accurate, but better sounding, Namco 106(mapper 19) sound emulation.
nes.n106bs 0

;Remove 8-sprites-per-scanline hardware limit.
nes.no8lim 0

;Disable four-score emulation.
nes.nofs 0

;NTSC composite blitter brightness.
nes.ntsc.brightness 0

;NTSC composite blitter contrast.
nes.ntsc.contrast 0

;NTSC composite blitter hue.
nes.ntsc.hue 0

;Enable NTSC custom decoder matrix.
nes.ntsc.matrix 0

;NTSC custom decoder matrix element 0(red, value * V).
nes.ntsc.matrix.0 1.539

;NTSC custom decoder matrix element 1(red, value * U).
nes.ntsc.matrix.1 -0.622

;NTSC custom decoder matrix element 2(green, value * V).
nes.ntsc.matrix.2 -0.571

;NTSC custom decoder matrix element 3(green, value * U).
nes.ntsc.matrix.3 -0.185

;NTSC custom decoder matrix element 4(blue, value * V).
nes.ntsc.matrix.4 0.000

;NTSC custom decoder matrix element 5(blue, value * U.
nes.ntsc.matrix.5 2.000

;Merge fields to partially work around !=60.1Hz refresh rates.
nes.ntsc.mergefields 0

;Video quality/type preset.
nes.ntsc.preset none

;NTSC composite blitter saturation.
nes.ntsc.saturation 0

;NTSC composite blitter sharpness.
nes.ntsc.sharpness 0

;Enable NTSC color generation and blitter.
nes.ntscblitter 0

;Enable PAL(50Hz) NES emulation.
nes.pal 0

;Enable scanlines with specified opacity.
nes.scanlines 0

;Enable specified OpenGL shader.
nes.shader none

;Force interlaced video to be treated as progressive.
nes.shader.goat.fprog 0

;Constant RGB horizontal divergence.
nes.shader.goat.hdiv 0.50

;Mask pattern.
nes.shader.goat.pat goatron

;Enable scanlines effect.
nes.shader.goat.slen 1

;Transparency of otherwise-opaque mask areas.
nes.shader.goat.tp 0.50

;Constant RGB vertical divergence.
nes.shader.goat.vdiv 0.50

;Last displayed scanline in NTSC mode.
nes.slend 231

;Last displayed scanline in PAL mode.
nes.slendp 239

;First displayed scanline in NTSC mode.
nes.slstart 8

;First displayed scanline in PAL mode.
nes.slstartp 0

;Output rate tolerance.
nes.sound_rate_error 0.00004

;Sound quality.
nes.soundq 0

;Enable specified special video scaler.
nes.special none

;Stretch to fill screen.
nes.stretch aspect_mult2

;Enable video temporal blur(50/50 previous/current frame by default).
nes.tblur 0

;Accumulate color data rather than discarding it.
nes.tblur.accum 0

;Blur amount in accumulation mode, specified in percentage of accumulation buffer to mix with the current frame.
nes.tblur.accum.amount 50

;Enable (bi)linear interpolation.
nes.videoip 0

;Full-screen horizontal resolution.
nes.xres 0

;Scaling factor for the X axis in windowed mode.
nes.xscale 4.000000

;Scaling factor for the X axis in fullscreen mode.
nes.xscalefs 1.000000

;Full-screen vertical resolution.
nes.yres 0

;Scaling factor for the Y axis in windowed mode.
nes.yscale 4.000000

;Scaling factor for the Y axis in fullscreen mode.
nes.yscalefs 1.000000

;Font for netplay chat console.
netplay.console.font 9x18

;Height of chat console, in lines.
netplay.console.lines 5

;Netplay chat console text scale factor.
netplay.console.scale 1

;Key to hash with the MD5 hash of the game.
netplay.gamekey

;Server hostname.
netplay.host netplay.fobby.net

;Local player count.
netplay.localplayers 1

;Nickname.
netplay.nick

;Server password.
netplay.password

;Server port.
netplay.port 4046

;Enable (automatic) usage of this module.
ngp.enable 1

;Force monophonic sound output.
ngp.forcemono 0

;ngp, Built-In, Gamepad: A
ngp.input.builtin.gamepad.a keyboard 0x0 90

;ngp, Built-In, Gamepad: B
ngp.input.builtin.gamepad.b keyboard 0x0 91

;ngp, Built-In, Gamepad: DOWN ?
ngp.input.builtin.gamepad.down keyboard 0x0 22

;ngp, Built-In, Gamepad: LEFT ?
ngp.input.builtin.gamepad.left keyboard 0x0 4

;ngp, Built-In, Gamepad: OPTION
ngp.input.builtin.gamepad.option keyboard 0x0 40

;ngp, Built-In, Gamepad: Rapid A
ngp.input.builtin.gamepad.rapid_a

;ngp, Built-In, Gamepad: Rapid B
ngp.input.builtin.gamepad.rapid_b

;ngp, Built-In, Gamepad: RIGHT ?
ngp.input.builtin.gamepad.right keyboard 0x0 7

;ngp, Built-In, Gamepad: UP ?
ngp.input.builtin.gamepad.up keyboard 0x0 26

;Language games should display text in.
ngp.language english

;Enable scanlines with specified opacity.
ngp.scanlines 0

;Enable specified OpenGL shader.
ngp.shader none

;Force interlaced video to be treated as progressive.
ngp.shader.goat.fprog 0

;Constant RGB horizontal divergence.
ngp.shader.goat.hdiv 0.50

;Mask pattern.
ngp.shader.goat.pat goatron

;Enable scanlines effect.
ngp.shader.goat.slen 1

;Transparency of otherwise-opaque mask areas.
ngp.shader.goat.tp 0.50

;Constant RGB vertical divergence.
ngp.shader.goat.vdiv 0.50

;Enable specified special video scaler.
ngp.special none

;Stretch to fill screen.
ngp.stretch aspect_mult2

;Enable video temporal blur(50/50 previous/current frame by default).
ngp.tblur 0

;Accumulate color data rather than discarding it.
ngp.tblur.accum 0

;Blur amount in accumulation mode, specified in percentage of accumulation buffer to mix with the current frame.
ngp.tblur.accum.amount 50

;Enable (bi)linear interpolation.
ngp.videoip 0

;Full-screen horizontal resolution.
ngp.xres 0

;Scaling factor for the X axis in windowed mode.
ngp.xscale 6.000000

;Scaling factor for the X axis in fullscreen mode.
ngp.xscalefs 1.000000

;Full-screen vertical resolution.
ngp.yres 0

;Scaling factor for the Y axis in windowed mode.
ngp.yscale 6.000000

;Scaling factor for the Y axis in fullscreen mode.
ngp.yscalefs 1.000000

;Disable speed throttling when sound is disabled.
nothrottle 0

;Enable alpha blending for OSD elements.
osd.alpha_blend 1

;Length of time, in milliseconds, to display internal status and error messages
osd.message_display_time 2500

;Length of time, in milliseconds, to display the save state or the movie selector after selecting a state or movie.
osd.state_display_time 2000

;Output the full 12-bit ADPCM predictor.
pce.adpcmextraprec 0

;ADPCM volume.
pce.adpcmvolume 100

;Enable Arcade Card emulation.
pce.arcadecard 1

;Path to the CD BIOS
pce.cdbios syscard3.pce

;CD-DA volume.
pce.cddavolume 100

;PSG volume when playing a CD game.
pce.cdpsgvolume 100

;Disassembly font size.
pce.debugger.disfontsize 5x7

;Character encoding for the debugger's memory editor.
pce.debugger.memcharenc shift_jis

;Disable BRAM(saved game memory) for CD games.
pce.disable_bram_cd 0

;Disable BRAM(saved game memory) for HuCard games.
pce.disable_bram_hucard 0

;If set, when RUN+SEL are pressed simultaneously, disable both buttons temporarily.
pce.disable_softreset 0

;Enable (automatic) usage of this module.
pce.enable 1

;Force monophonic sound output.
pce.forcemono 0

;Force SuperGrafx emulation.
pce.forcesgx 0

;Path to the GE CD BIOS
pce.gecdbios gecard.pce

;Show horizontal overscan area.
pce.h_overscan 0

;Enable multitap(TurboTap) emulation.
pce.input.multitap 1

;Input device for Port 1
pce.input.port1 gamepad

;pce, Port 1, Gamepad: DOWN ?
pce.input.port1.gamepad.down keyboard 0x0 22

;pce, Port 1, Gamepad: I
pce.input.port1.gamepad.i keyboard 0x0 91

;pce, Port 1, Gamepad: II
pce.input.port1.gamepad.ii keyboard 0x0 90

;pce, Port 1, Gamepad: III
pce.input.port1.gamepad.iii keyboard 0x0 89

;pce, Port 1, Gamepad: IV
pce.input.port1.gamepad.iv keyboard 0x0 92

;pce, Port 1, Gamepad: LEFT ?
pce.input.port1.gamepad.left keyboard 0x0 4

;pce, Port 1, Gamepad: Mode
pce.input.port1.gamepad.mode_select keyboard 0x0 16

;Default position for switch "Mode".
pce.input.port1.gamepad.mode_select.defpos 2

;pce, Port 1, Gamepad: Rapid I
pce.input.port1.gamepad.rapid_i

;pce, Port 1, Gamepad: Rapid II
pce.input.port1.gamepad.rapid_ii

;pce, Port 1, Gamepad: RIGHT ?
pce.input.port1.gamepad.right keyboard 0x0 7

;pce, Port 1, Gamepad: RUN
pce.input.port1.gamepad.run keyboard 0x0 40

;pce, Port 1, Gamepad: SELECT
pce.input.port1.gamepad.select keyboard 0x0 43

;pce, Port 1, Gamepad: UP ?
pce.input.port1.gamepad.up keyboard 0x0 26

;pce, Port 1, Gamepad: V
pce.input.port1.gamepad.v keyboard 0x0 93

;pce, Port 1, Gamepad: VI
pce.input.port1.gamepad.vi keyboard 0x0 94

;pce, Port 1, Mouse: Left Button
pce.input.port1.mouse.left mouse 0x0 button_left

;pce, Port 1, Mouse: Motion Down
pce.input.port1.mouse.motion_down mouse 0x0 rel_y+

;pce, Port 1, Mouse: Motion Left
pce.input.port1.mouse.motion_left mouse 0x0 rel_x-

;pce, Port 1, Mouse: Motion Right
pce.input.port1.mouse.motion_right mouse 0x0 rel_x+

;pce, Port 1, Mouse: Motion Up
pce.input.port1.mouse.motion_up mouse 0x0 rel_y-

;pce, Port 1, Mouse: Right Button
pce.input.port1.mouse.right mouse 0x0 button_right

;pce, Port 1, Mouse: RUN
pce.input.port1.mouse.run keyboard 0x0 40

;pce, Port 1, Mouse: SELECT
pce.input.port1.mouse.select keyboard 0x0 43

;pce, Port 1, Tsushin Keyboard: 0
pce.input.port1.tsushinkb.0 keyboard 0x0 39

;pce, Port 1, Tsushin Keyboard: 1
pce.input.port1.tsushinkb.1 keyboard 0x0 30

;pce, Port 1, Tsushin Keyboard: 2
pce.input.port1.tsushinkb.2 keyboard 0x0 31

;pce, Port 1, Tsushin Keyboard: 3
pce.input.port1.tsushinkb.3 keyboard 0x0 32

;pce, Port 1, Tsushin Keyboard: 4
pce.input.port1.tsushinkb.4 keyboard 0x0 33

;pce, Port 1, Tsushin Keyboard: 5
pce.input.port1.tsushinkb.5 keyboard 0x0 34

;pce, Port 1, Tsushin Keyboard: 6
pce.input.port1.tsushinkb.6 keyboard 0x0 35

;pce, Port 1, Tsushin Keyboard: 7
pce.input.port1.tsushinkb.7 keyboard 0x0 36

;pce, Port 1, Tsushin Keyboard: 8
pce.input.port1.tsushinkb.8 keyboard 0x0 37

;pce, Port 1, Tsushin Keyboard: 9
pce.input.port1.tsushinkb.9 keyboard 0x0 38

;pce, Port 1, Tsushin Keyboard: a
pce.input.port1.tsushinkb.a keyboard 0x0 4

;pce, Port 1, Tsushin Keyboard: @
pce.input.port1.tsushinkb.at keyboard 0x0 53

;pce, Port 1, Tsushin Keyboard: b
pce.input.port1.tsushinkb.b keyboard 0x0 5

;pce, Port 1, Tsushin Keyboard: backspace
pce.input.port1.tsushinkb.backspace keyboard 0x0 42

;pce, Port 1, Tsushin Keyboard: c
pce.input.port1.tsushinkb.c keyboard 0x0 6

;pce, Port 1, Tsushin Keyboard: Caps Lock
pce.input.port1.tsushinkb.caps_lock keyboard 0x0 57

;pce, Port 1, Tsushin Keyboard: ^
pce.input.port1.tsushinkb.caret keyboard 0x0 46

;pce, Port 1, Tsushin Keyboard: clear
pce.input.port1.tsushinkb.clear keyboard 0x0 74

;pce, Port 1, Tsushin Keyboard: :
pce.input.port1.tsushinkb.colon keyboard 0x0 52

;pce, Port 1, Tsushin Keyboard: ,
pce.input.port1.tsushinkb.comma keyboard 0x0 54

;pce, Port 1, Tsushin Keyboard: ??
pce.input.port1.tsushinkb.convert keyboard 0x0 230

;pce, Port 1, Tsushin Keyboard: Copy
pce.input.port1.tsushinkb.copy keyboard 0x0 70

;pce, Port 1, Tsushin Keyboard: CTRL/Control
pce.input.port1.tsushinkb.ctrl keyboard 0x0 224

;pce, Port 1, Tsushin Keyboard: d
pce.input.port1.tsushinkb.d keyboard 0x0 7

;pce, Port 1, Tsushin Keyboard: Delete
pce.input.port1.tsushinkb.delete keyboard 0x0 76

;pce, Port 1, Tsushin Keyboard: down
pce.input.port1.tsushinkb.down keyboard 0x0 81

;pce, Port 1, Tsushin Keyboard: e
pce.input.port1.tsushinkb.e keyboard 0x0 8

;pce, Port 1, Tsushin Keyboard: Escape
pce.input.port1.tsushinkb.escape keyboard 0x0 41

;pce, Port 1, Tsushin Keyboard: f
pce.input.port1.tsushinkb.f keyboard 0x0 9

;pce, Port 1, Tsushin Keyboard: F1
pce.input.port1.tsushinkb.f1 keyboard 0x0 58

;pce, Port 1, Tsushin Keyboard: F10
pce.input.port1.tsushinkb.f10 keyboard 0x0 67

;pce, Port 1, Tsushin Keyboard: F2
pce.input.port1.tsushinkb.f2 keyboard 0x0 59

;pce, Port 1, Tsushin Keyboard: F3
pce.input.port1.tsushinkb.f3 keyboard 0x0 60

;pce, Port 1, Tsushin Keyboard: F4
pce.input.port1.tsushinkb.f4 keyboard 0x0 61

;pce, Port 1, Tsushin Keyboard: F5
pce.input.port1.tsushinkb.f5 keyboard 0x0 62

;pce, Port 1, Tsushin Keyboard: f6
pce.input.port1.tsushinkb.f6 keyboard 0x0 63

;pce, Port 1, Tsushin Keyboard: f7
pce.input.port1.tsushinkb.f7 keyboard 0x0 64

;pce, Port 1, Tsushin Keyboard: f8
pce.input.port1.tsushinkb.f8 keyboard 0x0 65

;pce, Port 1, Tsushin Keyboard: f9
pce.input.port1.tsushinkb.f9 keyboard 0x0 66

;pce, Port 1, Tsushin Keyboard: g
pce.input.port1.tsushinkb.g keyboard 0x0 10

;pce, Port 1, Tsushin Keyboard: GRPH
pce.input.port1.tsushinkb.grph keyboard 0x0 0

;pce, Port 1, Tsushin Keyboard: h
pce.input.port1.tsushinkb.h keyboard 0x0 11

;pce, Port 1, Tsushin Keyboard: Help
pce.input.port1.tsushinkb.help keyboard 0x0 77

;pce, Port 1, Tsushin Keyboard: i
pce.input.port1.tsushinkb.i keyboard 0x0 12

;pce, Port 1, Tsushin Keyboard: insert
pce.input.port1.tsushinkb.insert keyboard 0x0 73

;pce, Port 1, Tsushin Keyboard: j
pce.input.port1.tsushinkb.j keyboard 0x0 13

;pce, Port 1, Tsushin Keyboard: k
pce.input.port1.tsushinkb.k keyboard 0x0 14

;pce, Port 1, Tsushin Keyboard: ??
pce.input.port1.tsushinkb.kana keyboard 0x0 227

;pce, Port 1, Tsushin Keyboard: Keypad 0
pce.input.port1.tsushinkb.kp_0 keyboard 0x0 98

;pce, Port 1, Tsushin Keyboard: Keypad 1
pce.input.port1.tsushinkb.kp_1 keyboard 0x0 89

;pce, Port 1, Tsushin Keyboard: Keypad 2
pce.input.port1.tsushinkb.kp_2 keyboard 0x0 90

;pce, Port 1, Tsushin Keyboard: Keypad 3
pce.input.port1.tsushinkb.kp_3 keyboard 0x0 91

;pce, Port 1, Tsushin Keyboard: Keypad 4
pce.input.port1.tsushinkb.kp_4 keyboard 0x0 92

;pce, Port 1, Tsushin Keyboard: Keypad 5
pce.input.port1.tsushinkb.kp_5 keyboard 0x0 93

;pce, Port 1, Tsushin Keyboard: Keypad 6
pce.input.port1.tsushinkb.kp_6 keyboard 0x0 94

;pce, Port 1, Tsushin Keyboard: Keypad 7
pce.input.port1.tsushinkb.kp_7 keyboard 0x0 95

;pce, Port 1, Tsushin Keyboard: Keypad 8
pce.input.port1.tsushinkb.kp_8 keyboard 0x0 96

;pce, Port 1, Tsushin Keyboard: Keypad 9
pce.input.port1.tsushinkb.kp_9 keyboard 0x0 97

;pce, Port 1, Tsushin Keyboard: Keypad ,
pce.input.port1.tsushinkb.kp_comma keyboard 0x0 0

;pce, Port 1, Tsushin Keyboard: Keypad Divide
pce.input.port1.tsushinkb.kp_divide keyboard 0x0 84

;pce, Port 1, Tsushin Keyboard: Keypad Enter
pce.input.port1.tsushinkb.kp_enter keyboard 0x0 88

;pce, Port 1, Tsushin Keyboard: Keypad =
pce.input.port1.tsushinkb.kp_equals keyboard 0x0 103

;pce, Port 1, Tsushin Keyboard: Keypad Minus
pce.input.port1.tsushinkb.kp_minus keyboard 0x0 86

;pce, Port 1, Tsushin Keyboard: Keypad *
pce.input.port1.tsushinkb.kp_multiply keyboard 0x0 85

;pce, Port 1, Tsushin Keyboard: Keypad .
pce.input.port1.tsushinkb.kp_period keyboard 0x0 99

;pce, Port 1, Tsushin Keyboard: Keypad +
pce.input.port1.tsushinkb.kp_plus keyboard 0x0 87

;pce, Port 1, Tsushin Keyboard: l
pce.input.port1.tsushinkb.l keyboard 0x0 15

;pce, Port 1, Tsushin Keyboard: left
pce.input.port1.tsushinkb.left keyboard 0x0 80

;pce, Port 1, Tsushin Keyboard: [
pce.input.port1.tsushinkb.left_bracket keyboard 0x0 47

;pce, Port 1, Tsushin Keyboard: Left Shift
pce.input.port1.tsushinkb.left_shift keyboard 0x0 225

;pce, Port 1, Tsushin Keyboard: m
pce.input.port1.tsushinkb.m keyboard 0x0 16

;pce, Port 1, Tsushin Keyboard: Minus
pce.input.port1.tsushinkb.minus keyboard 0x0 45

;pce, Port 1, Tsushin Keyboard: n
pce.input.port1.tsushinkb.n keyboard 0x0 17

;pce, Port 1, Tsushin Keyboard: ??
pce.input.port1.tsushinkb.nonconvert keyboard 0x0 226

;pce, Port 1, Tsushin Keyboard: o
pce.input.port1.tsushinkb.o keyboard 0x0 18

;pce, Port 1, Tsushin Keyboard: p
pce.input.port1.tsushinkb.p keyboard 0x0 19

;pce, Port 1, Tsushin Keyboard: PC
pce.input.port1.tsushinkb.pc keyboard 0x0 231

;pce, Port 1, Tsushin Keyboard: .
pce.input.port1.tsushinkb.period keyboard 0x0 55

;pce, Port 1, Tsushin Keyboard: q
pce.input.port1.tsushinkb.q keyboard 0x0 20

;pce, Port 1, Tsushin Keyboard: r
pce.input.port1.tsushinkb.r keyboard 0x0 21

;pce, Port 1, Tsushin Keyboard: return
pce.input.port1.tsushinkb.return keyboard 0x0 40

;pce, Port 1, Tsushin Keyboard: right
pce.input.port1.tsushinkb.right keyboard 0x0 79

;pce, Port 1, Tsushin Keyboard: ]
pce.input.port1.tsushinkb.right_bracket keyboard 0x0 48

;pce, Port 1, Tsushin Keyboard: Right Shift
pce.input.port1.tsushinkb.right_shift keyboard 0x0 229

;pce, Port 1, Tsushin Keyboard: ROLL DOWN
pce.input.port1.tsushinkb.roll_down keyboard 0x0 78

;pce, Port 1, Tsushin Keyboard: ROLL UP
pce.input.port1.tsushinkb.roll_up keyboard 0x0 75

;pce, Port 1, Tsushin Keyboard: s
pce.input.port1.tsushinkb.s keyboard 0x0 22

;pce, Port 1, Tsushin Keyboard: ;
pce.input.port1.tsushinkb.semicolon keyboard 0x0 51

;pce, Port 1, Tsushin Keyboard: /
pce.input.port1.tsushinkb.slash keyboard 0x0 56

;pce, Port 1, Tsushin Keyboard: space
pce.input.port1.tsushinkb.space keyboard 0x0 44

;pce, Port 1, Tsushin Keyboard: STOP
pce.input.port1.tsushinkb.stop keyboard 0x0 72

;pce, Port 1, Tsushin Keyboard: t
pce.input.port1.tsushinkb.t keyboard 0x0 23

;pce, Port 1, Tsushin Keyboard: Tab
pce.input.port1.tsushinkb.tab keyboard 0x0 43

;pce, Port 1, Tsushin Keyboard: u
pce.input.port1.tsushinkb.u keyboard 0x0 24

;pce, Port 1, Tsushin Keyboard: Underscore
pce.input.port1.tsushinkb.underscore keyboard 0x0 0

;pce, Port 1, Tsushin Keyboard: up
pce.input.port1.tsushinkb.up keyboard 0x0 82

;pce, Port 1, Tsushin Keyboard: v
pce.input.port1.tsushinkb.v keyboard 0x0 25

;pce, Port 1, Tsushin Keyboard: w
pce.input.port1.tsushinkb.w keyboard 0x0 26

;pce, Port 1, Tsushin Keyboard: ??
pce.input.port1.tsushinkb.width keyboard 0x0 228

;pce, Port 1, Tsushin Keyboard: x
pce.input.port1.tsushinkb.x keyboard 0x0 27

;pce, Port 1, Tsushin Keyboard: y
pce.input.port1.tsushinkb.y keyboard 0x0 28

;pce, Port 1, Tsushin Keyboard: Yen
pce.input.port1.tsushinkb.yen keyboard 0x0 46

;pce, Port 1, Tsushin Keyboard: z
pce.input.port1.tsushinkb.z keyboard 0x0 29

;Input device for Port 2
pce.input.port2 gamepad

;pce, Port 2, Gamepad: DOWN ?
pce.input.port2.gamepad.down

;pce, Port 2, Gamepad: I
pce.input.port2.gamepad.i

;pce, Port 2, Gamepad: II
pce.input.port2.gamepad.ii

;pce, Port 2, Gamepad: III
pce.input.port2.gamepad.iii

;pce, Port 2, Gamepad: IV
pce.input.port2.gamepad.iv

;pce, Port 2, Gamepad: LEFT ?
pce.input.port2.gamepad.left

;pce, Port 2, Gamepad: Mode
pce.input.port2.gamepad.mode_select

;Default position for switch "Mode".
pce.input.port2.gamepad.mode_select.defpos 2

;pce, Port 2, Gamepad: Rapid I
pce.input.port2.gamepad.rapid_i

;pce, Port 2, Gamepad: Rapid II
pce.input.port2.gamepad.rapid_ii

;pce, Port 2, Gamepad: RIGHT ?
pce.input.port2.gamepad.right

;pce, Port 2, Gamepad: RUN
pce.input.port2.gamepad.run

;pce, Port 2, Gamepad: SELECT
pce.input.port2.gamepad.select

;pce, Port 2, Gamepad: UP ?
pce.input.port2.gamepad.up

;pce, Port 2, Gamepad: V
pce.input.port2.gamepad.v

;pce, Port 2, Gamepad: VI
pce.input.port2.gamepad.vi

;pce, Port 2, Mouse: Left Button
pce.input.port2.mouse.left mouse 0x0 button_left

;pce, Port 2, Mouse: Motion Down
pce.input.port2.mouse.motion_down mouse 0x0 rel_y+

;pce, Port 2, Mouse: Motion Left
pce.input.port2.mouse.motion_left mouse 0x0 rel_x-

;pce, Port 2, Mouse: Motion Right
pce.input.port2.mouse.motion_right mouse 0x0 rel_x+

;pce, Port 2, Mouse: Motion Up
pce.input.port2.mouse.motion_up mouse 0x0 rel_y-

;pce, Port 2, Mouse: Right Button
pce.input.port2.mouse.right mouse 0x0 button_right

;pce, Port 2, Mouse: RUN
pce.input.port2.mouse.run keyboard 0x0 40

;pce, Port 2, Mouse: SELECT
pce.input.port2.mouse.select keyboard 0x0 43

;Input device for Port 3
pce.input.port3 gamepad

;pce, Port 3, Gamepad: DOWN ?
pce.input.port3.gamepad.down

;pce, Port 3, Gamepad: I
pce.input.port3.gamepad.i

;pce, Port 3, Gamepad: II
pce.input.port3.gamepad.ii

;pce, Port 3, Gamepad: III
pce.input.port3.gamepad.iii

;pce, Port 3, Gamepad: IV
pce.input.port3.gamepad.iv

;pce, Port 3, Gamepad: LEFT ?
pce.input.port3.gamepad.left

;pce, Port 3, Gamepad: Mode
pce.input.port3.gamepad.mode_select

;Default position for switch "Mode".
pce.input.port3.gamepad.mode_select.defpos 2

;pce, Port 3, Gamepad: Rapid I
pce.input.port3.gamepad.rapid_i

;pce, Port 3, Gamepad: Rapid II
pce.input.port3.gamepad.rapid_ii

;pce, Port 3, Gamepad: RIGHT ?
pce.input.port3.gamepad.right

;pce, Port 3, Gamepad: RUN
pce.input.port3.gamepad.run

;pce, Port 3, Gamepad: SELECT
pce.input.port3.gamepad.select

;pce, Port 3, Gamepad: UP ?
pce.input.port3.gamepad.up

;pce, Port 3, Gamepad: V
pce.input.port3.gamepad.v

;pce, Port 3, Gamepad: VI
pce.input.port3.gamepad.vi

;pce, Port 3, Mouse: Left Button
pce.input.port3.mouse.left mouse 0x0 button_left

;pce, Port 3, Mouse: Motion Down
pce.input.port3.mouse.motion_down mouse 0x0 rel_y+

;pce, Port 3, Mouse: Motion Left
pce.input.port3.mouse.motion_left mouse 0x0 rel_x-

;pce, Port 3, Mouse: Motion Right
pce.input.port3.mouse.motion_right mouse 0x0 rel_x+

;pce, Port 3, Mouse: Motion Up
pce.input.port3.mouse.motion_up mouse 0x0 rel_y-

;pce, Port 3, Mouse: Right Button
pce.input.port3.mouse.right mouse 0x0 button_right

;pce, Port 3, Mouse: RUN
pce.input.port3.mouse.run keyboard 0x0 40

;pce, Port 3, Mouse: SELECT
pce.input.port3.mouse.select keyboard 0x0 43

;Input device for Port 4
pce.input.port4 gamepad

;pce, Port 4, Gamepad: DOWN ?
pce.input.port4.gamepad.down

;pce, Port 4, Gamepad: I
pce.input.port4.gamepad.i

;pce, Port 4, Gamepad: II
pce.input.port4.gamepad.ii

;pce, Port 4, Gamepad: III
pce.input.port4.gamepad.iii

;pce, Port 4, Gamepad: IV
pce.input.port4.gamepad.iv

;pce, Port 4, Gamepad: LEFT ?
pce.input.port4.gamepad.left

;pce, Port 4, Gamepad: Mode
pce.input.port4.gamepad.mode_select

;Default position for switch "Mode".
pce.input.port4.gamepad.mode_select.defpos 2

;pce, Port 4, Gamepad: Rapid I
pce.input.port4.gamepad.rapid_i

;pce, Port 4, Gamepad: Rapid II
pce.input.port4.gamepad.rapid_ii

;pce, Port 4, Gamepad: RIGHT ?
pce.input.port4.gamepad.right

;pce, Port 4, Gamepad: RUN
pce.input.port4.gamepad.run

;pce, Port 4, Gamepad: SELECT
pce.input.port4.gamepad.select

;pce, Port 4, Gamepad: UP ?
pce.input.port4.gamepad.up

;pce, Port 4, Gamepad: V
pce.input.port4.gamepad.v

;pce, Port 4, Gamepad: VI
pce.input.port4.gamepad.vi

;pce, Port 4, Mouse: Left Button
pce.input.port4.mouse.left mouse 0x0 button_left

;pce, Port 4, Mouse: Motion Down
pce.input.port4.mouse.motion_down mouse 0x0 rel_y+

;pce, Port 4, Mouse: Motion Left
pce.input.port4.mouse.motion_left mouse 0x0 rel_x-

;pce, Port 4, Mouse: Motion Right
pce.input.port4.mouse.motion_right mouse 0x0 rel_x+

;pce, Port 4, Mouse: Motion Up
pce.input.port4.mouse.motion_up mouse 0x0 rel_y-

;pce, Port 4, Mouse: Right Button
pce.input.port4.mouse.right mouse 0x0 button_right

;pce, Port 4, Mouse: RUN
pce.input.port4.mouse.run keyboard 0x0 40

;pce, Port 4, Mouse: SELECT
pce.input.port4.mouse.select keyboard 0x0 43

;Input device for Port 5
pce.input.port5 gamepad

;pce, Port 5, Gamepad: DOWN ?
pce.input.port5.gamepad.down

;pce, Port 5, Gamepad: I
pce.input.port5.gamepad.i

;pce, Port 5, Gamepad: II
pce.input.port5.gamepad.ii

;pce, Port 5, Gamepad: III
pce.input.port5.gamepad.iii

;pce, Port 5, Gamepad: IV
pce.input.port5.gamepad.iv

;pce, Port 5, Gamepad: LEFT ?
pce.input.port5.gamepad.left

;pce, Port 5, Gamepad: Mode
pce.input.port5.gamepad.mode_select

;Default position for switch "Mode".
pce.input.port5.gamepad.mode_select.defpos 2

;pce, Port 5, Gamepad: Rapid I
pce.input.port5.gamepad.rapid_i

;pce, Port 5, Gamepad: Rapid II
pce.input.port5.gamepad.rapid_ii

;pce, Port 5, Gamepad: RIGHT ?
pce.input.port5.gamepad.right

;pce, Port 5, Gamepad: RUN
pce.input.port5.gamepad.run

;pce, Port 5, Gamepad: SELECT
pce.input.port5.gamepad.select

;pce, Port 5, Gamepad: UP ?
pce.input.port5.gamepad.up

;pce, Port 5, Gamepad: V
pce.input.port5.gamepad.v

;pce, Port 5, Gamepad: VI
pce.input.port5.gamepad.vi

;pce, Port 5, Mouse: Left Button
pce.input.port5.mouse.left mouse 0x0 button_left

;pce, Port 5, Mouse: Motion Down
pce.input.port5.mouse.motion_down mouse 0x0 rel_y+

;pce, Port 5, Mouse: Motion Left
pce.input.port5.mouse.motion_left mouse 0x0 rel_x-

;pce, Port 5, Mouse: Motion Right
pce.input.port5.mouse.motion_right mouse 0x0 rel_x+

;pce, Port 5, Mouse: Motion Up
pce.input.port5.mouse.motion_up mouse 0x0 rel_y-

;pce, Port 5, Mouse: Right Button
pce.input.port5.mouse.right mouse 0x0 button_right

;pce, Port 5, Mouse: RUN
pce.input.port5.mouse.run keyboard 0x0 40

;pce, Port 5, Mouse: SELECT
pce.input.port5.mouse.select keyboard 0x0 43

;Emulated mouse sensitivity.
pce.mouse_sensitivity 0.50

;Remove 16-sprites-per-scanline hardware limit.
pce.nospritelimit 0

;Select PSG revision.
pce.psgrevision match

;Sound quality.
pce.resamp_quality 3

;Sound output rate tolerance.
pce.resamp_rate_error 0.0000009

;Enable scanlines with specified opacity.
pce.scanlines 0

;Enable specified OpenGL shader.
pce.shader none

;Force interlaced video to be treated as progressive.
pce.shader.goat.fprog 0

;Constant RGB horizontal divergence.
pce.shader.goat.hdiv 0.50

;Mask pattern.
pce.shader.goat.pat goatron

;Enable scanlines effect.
pce.shader.goat.slen 1

;Transparency of otherwise-opaque mask areas.
pce.shader.goat.tp 0.50

;Constant RGB vertical divergence.
pce.shader.goat.vdiv 0.50

;Last rendered scanline.
pce.slend 235

;First rendered scanline.
pce.slstart 4

;Enable specified special video scaler.
pce.special none

;Stretch to fill screen.
pce.stretch aspect_mult2

;Enable video temporal blur(50/50 previous/current frame by default).
pce.tblur 0

;Accumulate color data rather than discarding it.
pce.tblur.accum 0

;Blur amount in accumulation mode, specified in percentage of accumulation buffer to mix with the current frame.
pce.tblur.accum.amount 50

;Enable (bi)linear interpolation.
pce.videoip 1

;Size of emulated VRAM per VDC in 16-bit words.  DO NOT CHANGE THIS UNLESS YOU KNOW WTF YOU ARE DOING.
pce.vramsize 32768

;Full-screen horizontal resolution.
pce.xres 0

;Scaling factor for the X axis in windowed mode.
pce.xscale 3.000000

;Scaling factor for the X axis in fullscreen mode.
pce.xscalefs 1.000000

;Full-screen vertical resolution.
pce.yres 0

;Scaling factor for the Y axis in windowed mode.
pce.yscale 3.000000

;Scaling factor for the Y axis in fullscreen mode.
pce.yscalefs 1.000000

;Enable dynamic ADPCM lowpass filter.
pce_fast.adpcmlp 0

;ADPCM volume.
pce_fast.adpcmvolume 100

;Enable Arcade Card emulation.
pce_fast.arcadecard 1

;Path to the CD BIOS
pce_fast.cdbios syscard3.pce

;CD-DA volume.
pce_fast.cddavolume 100

;PSG volume when playing a CD game.
pce_fast.cdpsgvolume 100

;CD-ROM data transfer speed multiplier.
pce_fast.cdspeed 1

;Correct the aspect ratio.
pce_fast.correct_aspect 1

;If set, when RUN+SEL are pressed simultaneously, disable both buttons temporarily.
pce_fast.disable_softreset 0

;Enable (automatic) usage of this module.
pce_fast.enable 1

;Force monophonic sound output.
pce_fast.forcemono 0

;Force SuperGrafx emulation.
pce_fast.forcesgx 0

;Input device for Port 1
pce_fast.input.port1 gamepad

;pce_fast, Port 1, Gamepad: DOWN ?
pce_fast.input.port1.gamepad.down

;pce_fast, Port 1, Gamepad: I
pce_fast.input.port1.gamepad.i

;pce_fast, Port 1, Gamepad: II
pce_fast.input.port1.gamepad.ii

;pce_fast, Port 1, Gamepad: III
pce_fast.input.port1.gamepad.iii

;pce_fast, Port 1, Gamepad: IV
pce_fast.input.port1.gamepad.iv

;pce_fast, Port 1, Gamepad: LEFT ?
pce_fast.input.port1.gamepad.left

;pce_fast, Port 1, Gamepad: Mode
pce_fast.input.port1.gamepad.mode_select

;Default position for switch "Mode".
pce_fast.input.port1.gamepad.mode_select.defpos 2

;pce_fast, Port 1, Gamepad: Rapid I
pce_fast.input.port1.gamepad.rapid_i

;pce_fast, Port 1, Gamepad: Rapid II
pce_fast.input.port1.gamepad.rapid_ii

;pce_fast, Port 1, Gamepad: RIGHT ?
pce_fast.input.port1.gamepad.right

;pce_fast, Port 1, Gamepad: RUN
pce_fast.input.port1.gamepad.run

;pce_fast, Port 1, Gamepad: SELECT
pce_fast.input.port1.gamepad.select

;pce_fast, Port 1, Gamepad: UP ?
pce_fast.input.port1.gamepad.up

;pce_fast, Port 1, Gamepad: V
pce_fast.input.port1.gamepad.v

;pce_fast, Port 1, Gamepad: VI
pce_fast.input.port1.gamepad.vi

;pce_fast, Port 1, Mouse: Left Button
pce_fast.input.port1.mouse.left mouse 0x0 button_left

;pce_fast, Port 1, Mouse: Motion Down
pce_fast.input.port1.mouse.motion_down mouse 0x0 rel_y+

;pce_fast, Port 1, Mouse: Motion Left
pce_fast.input.port1.mouse.motion_left mouse 0x0 rel_x-

;pce_fast, Port 1, Mouse: Motion Right
pce_fast.input.port1.mouse.motion_right mouse 0x0 rel_x+

;pce_fast, Port 1, Mouse: Motion Up
pce_fast.input.port1.mouse.motion_up mouse 0x0 rel_y-

;pce_fast, Port 1, Mouse: Right Button
pce_fast.input.port1.mouse.right mouse 0x0 button_right

;pce_fast, Port 1, Mouse: RUN
pce_fast.input.port1.mouse.run keyboard 0x0 40

;pce_fast, Port 1, Mouse: SELECT
pce_fast.input.port1.mouse.select keyboard 0x0 43

;Input device for Port 2
pce_fast.input.port2 gamepad

;pce_fast, Port 2, Gamepad: DOWN ?
pce_fast.input.port2.gamepad.down

;pce_fast, Port 2, Gamepad: I
pce_fast.input.port2.gamepad.i

;pce_fast, Port 2, Gamepad: II
pce_fast.input.port2.gamepad.ii

;pce_fast, Port 2, Gamepad: III
pce_fast.input.port2.gamepad.iii

;pce_fast, Port 2, Gamepad: IV
pce_fast.input.port2.gamepad.iv

;pce_fast, Port 2, Gamepad: LEFT ?
pce_fast.input.port2.gamepad.left

;pce_fast, Port 2, Gamepad: Mode
pce_fast.input.port2.gamepad.mode_select

;Default position for switch "Mode".
pce_fast.input.port2.gamepad.mode_select.defpos 2

;pce_fast, Port 2, Gamepad: Rapid I
pce_fast.input.port2.gamepad.rapid_i

;pce_fast, Port 2, Gamepad: Rapid II
pce_fast.input.port2.gamepad.rapid_ii

;pce_fast, Port 2, Gamepad: RIGHT ?
pce_fast.input.port2.gamepad.right

;pce_fast, Port 2, Gamepad: RUN
pce_fast.input.port2.gamepad.run

;pce_fast, Port 2, Gamepad: SELECT
pce_fast.input.port2.gamepad.select

;pce_fast, Port 2, Gamepad: UP ?
pce_fast.input.port2.gamepad.up

;pce_fast, Port 2, Gamepad: V
pce_fast.input.port2.gamepad.v

;pce_fast, Port 2, Gamepad: VI
pce_fast.input.port2.gamepad.vi

;pce_fast, Port 2, Mouse: Left Button
pce_fast.input.port2.mouse.left mouse 0x0 button_left

;pce_fast, Port 2, Mouse: Motion Down
pce_fast.input.port2.mouse.motion_down mouse 0x0 rel_y+

;pce_fast, Port 2, Mouse: Motion Left
pce_fast.input.port2.mouse.motion_left mouse 0x0 rel_x-

;pce_fast, Port 2, Mouse: Motion Right
pce_fast.input.port2.mouse.motion_right mouse 0x0 rel_x+

;pce_fast, Port 2, Mouse: Motion Up
pce_fast.input.port2.mouse.motion_up mouse 0x0 rel_y-

;pce_fast, Port 2, Mouse: Right Button
pce_fast.input.port2.mouse.right mouse 0x0 button_right

;pce_fast, Port 2, Mouse: RUN
pce_fast.input.port2.mouse.run keyboard 0x0 40

;pce_fast, Port 2, Mouse: SELECT
pce_fast.input.port2.mouse.select keyboard 0x0 43

;Input device for Port 3
pce_fast.input.port3 gamepad

;pce_fast, Port 3, Gamepad: DOWN ?
pce_fast.input.port3.gamepad.down

;pce_fast, Port 3, Gamepad: I
pce_fast.input.port3.gamepad.i

;pce_fast, Port 3, Gamepad: II
pce_fast.input.port3.gamepad.ii

;pce_fast, Port 3, Gamepad: III
pce_fast.input.port3.gamepad.iii

;pce_fast, Port 3, Gamepad: IV
pce_fast.input.port3.gamepad.iv

;pce_fast, Port 3, Gamepad: LEFT ?
pce_fast.input.port3.gamepad.left

;pce_fast, Port 3, Gamepad: Mode
pce_fast.input.port3.gamepad.mode_select

;Default position for switch "Mode".
pce_fast.input.port3.gamepad.mode_select.defpos 2

;pce_fast, Port 3, Gamepad: Rapid I
pce_fast.input.port3.gamepad.rapid_i

;pce_fast, Port 3, Gamepad: Rapid II
pce_fast.input.port3.gamepad.rapid_ii

;pce_fast, Port 3, Gamepad: RIGHT ?
pce_fast.input.port3.gamepad.right

;pce_fast, Port 3, Gamepad: RUN
pce_fast.input.port3.gamepad.run

;pce_fast, Port 3, Gamepad: SELECT
pce_fast.input.port3.gamepad.select

;pce_fast, Port 3, Gamepad: UP ?
pce_fast.input.port3.gamepad.up

;pce_fast, Port 3, Gamepad: V
pce_fast.input.port3.gamepad.v

;pce_fast, Port 3, Gamepad: VI
pce_fast.input.port3.gamepad.vi

;pce_fast, Port 3, Mouse: Left Button
pce_fast.input.port3.mouse.left mouse 0x0 button_left

;pce_fast, Port 3, Mouse: Motion Down
pce_fast.input.port3.mouse.motion_down mouse 0x0 rel_y+

;pce_fast, Port 3, Mouse: Motion Left
pce_fast.input.port3.mouse.motion_left mouse 0x0 rel_x-

;pce_fast, Port 3, Mouse: Motion Right
pce_fast.input.port3.mouse.motion_right mouse 0x0 rel_x+

;pce_fast, Port 3, Mouse: Motion Up
pce_fast.input.port3.mouse.motion_up mouse 0x0 rel_y-

;pce_fast, Port 3, Mouse: Right Button
pce_fast.input.port3.mouse.right mouse 0x0 button_right

;pce_fast, Port 3, Mouse: RUN
pce_fast.input.port3.mouse.run keyboard 0x0 40

;pce_fast, Port 3, Mouse: SELECT
pce_fast.input.port3.mouse.select keyboard 0x0 43

;Input device for Port 4
pce_fast.input.port4 gamepad

;pce_fast, Port 4, Gamepad: DOWN ?
pce_fast.input.port4.gamepad.down

;pce_fast, Port 4, Gamepad: I
pce_fast.input.port4.gamepad.i

;pce_fast, Port 4, Gamepad: II
pce_fast.input.port4.gamepad.ii

;pce_fast, Port 4, Gamepad: III
pce_fast.input.port4.gamepad.iii

;pce_fast, Port 4, Gamepad: IV
pce_fast.input.port4.gamepad.iv

;pce_fast, Port 4, Gamepad: LEFT ?
pce_fast.input.port4.gamepad.left

;pce_fast, Port 4, Gamepad: Mode
pce_fast.input.port4.gamepad.mode_select

;Default position for switch "Mode".
pce_fast.input.port4.gamepad.mode_select.defpos 2

;pce_fast, Port 4, Gamepad: Rapid I
pce_fast.input.port4.gamepad.rapid_i

;pce_fast, Port 4, Gamepad: Rapid II
pce_fast.input.port4.gamepad.rapid_ii

;pce_fast, Port 4, Gamepad: RIGHT ?
pce_fast.input.port4.gamepad.right

;pce_fast, Port 4, Gamepad: RUN
pce_fast.input.port4.gamepad.run

;pce_fast, Port 4, Gamepad: SELECT
pce_fast.input.port4.gamepad.select

;pce_fast, Port 4, Gamepad: UP ?
pce_fast.input.port4.gamepad.up

;pce_fast, Port 4, Gamepad: V
pce_fast.input.port4.gamepad.v

;pce_fast, Port 4, Gamepad: VI
pce_fast.input.port4.gamepad.vi

;pce_fast, Port 4, Mouse: Left Button
pce_fast.input.port4.mouse.left mouse 0x0 button_left

;pce_fast, Port 4, Mouse: Motion Down
pce_fast.input.port4.mouse.motion_down mouse 0x0 rel_y+

;pce_fast, Port 4, Mouse: Motion Left
pce_fast.input.port4.mouse.motion_left mouse 0x0 rel_x-

;pce_fast, Port 4, Mouse: Motion Right
pce_fast.input.port4.mouse.motion_right mouse 0x0 rel_x+

;pce_fast, Port 4, Mouse: Motion Up
pce_fast.input.port4.mouse.motion_up mouse 0x0 rel_y-

;pce_fast, Port 4, Mouse: Right Button
pce_fast.input.port4.mouse.right mouse 0x0 button_right

;pce_fast, Port 4, Mouse: RUN
pce_fast.input.port4.mouse.run keyboard 0x0 40

;pce_fast, Port 4, Mouse: SELECT
pce_fast.input.port4.mouse.select keyboard 0x0 43

;Input device for Port 5
pce_fast.input.port5 gamepad

;pce_fast, Port 5, Gamepad: DOWN ?
pce_fast.input.port5.gamepad.down

;pce_fast, Port 5, Gamepad: I
pce_fast.input.port5.gamepad.i

;pce_fast, Port 5, Gamepad: II
pce_fast.input.port5.gamepad.ii

;pce_fast, Port 5, Gamepad: III
pce_fast.input.port5.gamepad.iii

;pce_fast, Port 5, Gamepad: IV
pce_fast.input.port5.gamepad.iv

;pce_fast, Port 5, Gamepad: LEFT ?
pce_fast.input.port5.gamepad.left

;pce_fast, Port 5, Gamepad: Mode
pce_fast.input.port5.gamepad.mode_select

;Default position for switch "Mode".
pce_fast.input.port5.gamepad.mode_select.defpos 2

;pce_fast, Port 5, Gamepad: Rapid I
pce_fast.input.port5.gamepad.rapid_i

;pce_fast, Port 5, Gamepad: Rapid II
pce_fast.input.port5.gamepad.rapid_ii

;pce_fast, Port 5, Gamepad: RIGHT ?
pce_fast.input.port5.gamepad.right

;pce_fast, Port 5, Gamepad: RUN
pce_fast.input.port5.gamepad.run

;pce_fast, Port 5, Gamepad: SELECT
pce_fast.input.port5.gamepad.select

;pce_fast, Port 5, Gamepad: UP ?
pce_fast.input.port5.gamepad.up

;pce_fast, Port 5, Gamepad: V
pce_fast.input.port5.gamepad.v

;pce_fast, Port 5, Gamepad: VI
pce_fast.input.port5.gamepad.vi

;pce_fast, Port 5, Mouse: Left Button
pce_fast.input.port5.mouse.left mouse 0x0 button_left

;pce_fast, Port 5, Mouse: Motion Down
pce_fast.input.port5.mouse.motion_down mouse 0x0 rel_y+

;pce_fast, Port 5, Mouse: Motion Left
pce_fast.input.port5.mouse.motion_left mouse 0x0 rel_x-

;pce_fast, Port 5, Mouse: Motion Right
pce_fast.input.port5.mouse.motion_right mouse 0x0 rel_x+

;pce_fast, Port 5, Mouse: Motion Up
pce_fast.input.port5.mouse.motion_up mouse 0x0 rel_y-

;pce_fast, Port 5, Mouse: Right Button
pce_fast.input.port5.mouse.right mouse 0x0 button_right

;pce_fast, Port 5, Mouse: RUN
pce_fast.input.port5.mouse.run keyboard 0x0 40

;pce_fast, Port 5, Mouse: SELECT
pce_fast.input.port5.mouse.select keyboard 0x0 43

;Mouse sensitivity.
pce_fast.mouse_sensitivity 0.50

;Remove 16-sprites-per-scanline hardware limit.
pce_fast.nospritelimit 0

;CPU overclock multiplier.
pce_fast.ocmultiplier 1

;Enable scanlines with specified opacity.
pce_fast.scanlines 0

;Enable specified OpenGL shader.
pce_fast.shader none

;Force interlaced video to be treated as progressive.
pce_fast.shader.goat.fprog 0

;Constant RGB horizontal divergence.
pce_fast.shader.goat.hdiv 0.50

;Mask pattern.
pce_fast.shader.goat.pat goatron

;Enable scanlines effect.
pce_fast.shader.goat.slen 1

;Transparency of otherwise-opaque mask areas.
pce_fast.shader.goat.tp 0.50

;Constant RGB vertical divergence.
pce_fast.shader.goat.vdiv 0.50

;Last rendered scanline.
pce_fast.slend 235

;First rendered scanline.
pce_fast.slstart 4

;Enable specified special video scaler.
pce_fast.special none

;Stretch to fill screen.
pce_fast.stretch aspect_mult2

;Enable video temporal blur(50/50 previous/current frame by default).
pce_fast.tblur 0

;Accumulate color data rather than discarding it.
pce_fast.tblur.accum 0

;Blur amount in accumulation mode, specified in percentage of accumulation buffer to mix with the current frame.
pce_fast.tblur.accum.amount 50

;Enable (bi)linear interpolation.
pce_fast.videoip 1

;Full-screen horizontal resolution.
pce_fast.xres 0

;Scaling factor for the X axis in windowed mode.
pce_fast.xscale 3.000000

;Scaling factor for the X axis in fullscreen mode.
pce_fast.xscalefs 1.000000

;Full-screen vertical resolution.
pce_fast.yres 0

;Scaling factor for the Y axis in windowed mode.
pce_fast.yscale 3.000000

;Scaling factor for the Y axis in fullscreen mode.
pce_fast.yscalefs 1.000000

;Hack that emulates the codec a buggy ADPCM encoder used for some games' ADPCM.
pcfx.adpcm.emulate_buggy_codec 0

;Hack to suppress clicks caused by forced channel resets.
pcfx.adpcm.suppress_channel_reset_clicks 1

;Path to the ROM BIOS
pcfx.bios pcfx.rom

;Emulated CD-ROM speed.
pcfx.cdspeed 2

;CPU emulation mode.
pcfx.cpu_emulation auto

;Disassembly font size.
pcfx.debugger.disfontsize 5x7

;Character encoding for the debugger's memory editor.
pcfx.debugger.memcharenc shift_jis

;Disable internal and external BRAM.
pcfx.disable_bram 0

;When RUN+SEL are pressed simultaneously, disable both buttons temporarily.
pcfx.disable_softreset 0

;Enable (automatic) usage of this module.
pcfx.enable 1

;Force monophonic sound output.
pcfx.forcemono 0

;Path to the FX-SCSI ROM
pcfx.fxscsi 0

;Emulated width for 7.16MHz dot-clock mode.
pcfx.high_dotclock_width 1024

;Input device for Port 1
pcfx.input.port1 gamepad

;pcfx, Port 1, Gamepad: DOWN ?
pcfx.input.port1.gamepad.down keyboard 0x0 22

;pcfx, Port 1, Gamepad: I
pcfx.input.port1.gamepad.i keyboard 0x0 91

;pcfx, Port 1, Gamepad: II
pcfx.input.port1.gamepad.ii keyboard 0x0 90

;pcfx, Port 1, Gamepad: III
pcfx.input.port1.gamepad.iii keyboard 0x0 89

;pcfx, Port 1, Gamepad: IV
pcfx.input.port1.gamepad.iv keyboard 0x0 92

;pcfx, Port 1, Gamepad: LEFT ?
pcfx.input.port1.gamepad.left keyboard 0x0 4

;pcfx, Port 1, Gamepad: MODE 1
pcfx.input.port1.gamepad.mode1 keyboard 0x0 96

;Default position for switch "MODE 1".
pcfx.input.port1.gamepad.mode1.defpos a

;pcfx, Port 1, Gamepad: MODE 2
pcfx.input.port1.gamepad.mode2 keyboard 0x0 97

;Default position for switch "MODE 2".
pcfx.input.port1.gamepad.mode2.defpos a

;pcfx, Port 1, Gamepad: RIGHT ?
pcfx.input.port1.gamepad.right keyboard 0x0 7

;pcfx, Port 1, Gamepad: RUN
pcfx.input.port1.gamepad.run keyboard 0x0 40

;pcfx, Port 1, Gamepad: SELECT
pcfx.input.port1.gamepad.select keyboard 0x0 43

;pcfx, Port 1, Gamepad: UP ?
pcfx.input.port1.gamepad.up keyboard 0x0 26

;pcfx, Port 1, Gamepad: V
pcfx.input.port1.gamepad.v keyboard 0x0 93

;pcfx, Port 1, Gamepad: VI
pcfx.input.port1.gamepad.vi keyboard 0x0 94

;pcfx, Port 1, Mouse: Left Button
pcfx.input.port1.mouse.left mouse 0x0 button_left

;pcfx, Port 1, Mouse: Motion Down
pcfx.input.port1.mouse.motion_down mouse 0x0 rel_y+

;pcfx, Port 1, Mouse: Motion Left
pcfx.input.port1.mouse.motion_left mouse 0x0 rel_x-

;pcfx, Port 1, Mouse: Motion Right
pcfx.input.port1.mouse.motion_right mouse 0x0 rel_x+

;pcfx, Port 1, Mouse: Motion Up
pcfx.input.port1.mouse.motion_up mouse 0x0 rel_y-

;pcfx, Port 1, Mouse: Right Button
pcfx.input.port1.mouse.right mouse 0x0 button_right

;Enable multitap on PC-FX port 1.
pcfx.input.port1.multitap 0

;Input device for Port 2
pcfx.input.port2 gamepad

;pcfx, Port 2, Gamepad: DOWN ?
pcfx.input.port2.gamepad.down

;pcfx, Port 2, Gamepad: I
pcfx.input.port2.gamepad.i

;pcfx, Port 2, Gamepad: II
pcfx.input.port2.gamepad.ii

;pcfx, Port 2, Gamepad: III
pcfx.input.port2.gamepad.iii

;pcfx, Port 2, Gamepad: IV
pcfx.input.port2.gamepad.iv

;pcfx, Port 2, Gamepad: LEFT ?
pcfx.input.port2.gamepad.left

;pcfx, Port 2, Gamepad: MODE 1
pcfx.input.port2.gamepad.mode1

;Default position for switch "MODE 1".
pcfx.input.port2.gamepad.mode1.defpos a

;pcfx, Port 2, Gamepad: MODE 2
pcfx.input.port2.gamepad.mode2

;Default position for switch "MODE 2".
pcfx.input.port2.gamepad.mode2.defpos a

;pcfx, Port 2, Gamepad: RIGHT ?
pcfx.input.port2.gamepad.right

;pcfx, Port 2, Gamepad: RUN
pcfx.input.port2.gamepad.run

;pcfx, Port 2, Gamepad: SELECT
pcfx.input.port2.gamepad.select

;pcfx, Port 2, Gamepad: UP ?
pcfx.input.port2.gamepad.up

;pcfx, Port 2, Gamepad: V
pcfx.input.port2.gamepad.v

;pcfx, Port 2, Gamepad: VI
pcfx.input.port2.gamepad.vi

;pcfx, Port 2, Mouse: Left Button
pcfx.input.port2.mouse.left mouse 0x0 button_left

;pcfx, Port 2, Mouse: Motion Down
pcfx.input.port2.mouse.motion_down mouse 0x0 rel_y+

;pcfx, Port 2, Mouse: Motion Left
pcfx.input.port2.mouse.motion_left mouse 0x0 rel_x-

;pcfx, Port 2, Mouse: Motion Right
pcfx.input.port2.mouse.motion_right mouse 0x0 rel_x+

;pcfx, Port 2, Mouse: Motion Up
pcfx.input.port2.mouse.motion_up mouse 0x0 rel_y-

;pcfx, Port 2, Mouse: Right Button
pcfx.input.port2.mouse.right mouse 0x0 button_right

;Enable multitap on PC-FX port 2.
pcfx.input.port2.multitap 0

;Input device for Port 3
pcfx.input.port3 gamepad

;pcfx, Port 3, Gamepad: DOWN ?
pcfx.input.port3.gamepad.down

;pcfx, Port 3, Gamepad: I
pcfx.input.port3.gamepad.i

;pcfx, Port 3, Gamepad: II
pcfx.input.port3.gamepad.ii

;pcfx, Port 3, Gamepad: III
pcfx.input.port3.gamepad.iii

;pcfx, Port 3, Gamepad: IV
pcfx.input.port3.gamepad.iv

;pcfx, Port 3, Gamepad: LEFT ?
pcfx.input.port3.gamepad.left

;pcfx, Port 3, Gamepad: MODE 1
pcfx.input.port3.gamepad.mode1

;Default position for switch "MODE 1".
pcfx.input.port3.gamepad.mode1.defpos a

;pcfx, Port 3, Gamepad: MODE 2
pcfx.input.port3.gamepad.mode2

;Default position for switch "MODE 2".
pcfx.input.port3.gamepad.mode2.defpos a

;pcfx, Port 3, Gamepad: RIGHT ?
pcfx.input.port3.gamepad.right

;pcfx, Port 3, Gamepad: RUN
pcfx.input.port3.gamepad.run

;pcfx, Port 3, Gamepad: SELECT
pcfx.input.port3.gamepad.select

;pcfx, Port 3, Gamepad: UP ?
pcfx.input.port3.gamepad.up

;pcfx, Port 3, Gamepad: V
pcfx.input.port3.gamepad.v

;pcfx, Port 3, Gamepad: VI
pcfx.input.port3.gamepad.vi

;pcfx, Port 3, Mouse: Left Button
pcfx.input.port3.mouse.left mouse 0x0 button_left

;pcfx, Port 3, Mouse: Motion Down
pcfx.input.port3.mouse.motion_down mouse 0x0 rel_y+

;pcfx, Port 3, Mouse: Motion Left
pcfx.input.port3.mouse.motion_left mouse 0x0 rel_x-

;pcfx, Port 3, Mouse: Motion Right
pcfx.input.port3.mouse.motion_right mouse 0x0 rel_x+

;pcfx, Port 3, Mouse: Motion Up
pcfx.input.port3.mouse.motion_up mouse 0x0 rel_y-

;pcfx, Port 3, Mouse: Right Button
pcfx.input.port3.mouse.right mouse 0x0 button_right

;Input device for Port 4
pcfx.input.port4 gamepad

;pcfx, Port 4, Gamepad: DOWN ?
pcfx.input.port4.gamepad.down

;pcfx, Port 4, Gamepad: I
pcfx.input.port4.gamepad.i

;pcfx, Port 4, Gamepad: II
pcfx.input.port4.gamepad.ii

;pcfx, Port 4, Gamepad: III
pcfx.input.port4.gamepad.iii

;pcfx, Port 4, Gamepad: IV
pcfx.input.port4.gamepad.iv

;pcfx, Port 4, Gamepad: LEFT ?
pcfx.input.port4.gamepad.left

;pcfx, Port 4, Gamepad: MODE 1
pcfx.input.port4.gamepad.mode1

;Default position for switch "MODE 1".
pcfx.input.port4.gamepad.mode1.defpos a

;pcfx, Port 4, Gamepad: MODE 2
pcfx.input.port4.gamepad.mode2

;Default position for switch "MODE 2".
pcfx.input.port4.gamepad.mode2.defpos a

;pcfx, Port 4, Gamepad: RIGHT ?
pcfx.input.port4.gamepad.right

;pcfx, Port 4, Gamepad: RUN
pcfx.input.port4.gamepad.run

;pcfx, Port 4, Gamepad: SELECT
pcfx.input.port4.gamepad.select

;pcfx, Port 4, Gamepad: UP ?
pcfx.input.port4.gamepad.up

;pcfx, Port 4, Gamepad: V
pcfx.input.port4.gamepad.v

;pcfx, Port 4, Gamepad: VI
pcfx.input.port4.gamepad.vi

;pcfx, Port 4, Mouse: Left Button
pcfx.input.port4.mouse.left mouse 0x0 button_left

;pcfx, Port 4, Mouse: Motion Down
pcfx.input.port4.mouse.motion_down mouse 0x0 rel_y+

;pcfx, Port 4, Mouse: Motion Left
pcfx.input.port4.mouse.motion_left mouse 0x0 rel_x-

;pcfx, Port 4, Mouse: Motion Right
pcfx.input.port4.mouse.motion_right mouse 0x0 rel_x+

;pcfx, Port 4, Mouse: Motion Up
pcfx.input.port4.mouse.motion_up mouse 0x0 rel_y-

;pcfx, Port 4, Mouse: Right Button
pcfx.input.port4.mouse.right mouse 0x0 button_right

;Input device for Port 5
pcfx.input.port5 gamepad

;pcfx, Port 5, Gamepad: DOWN ?
pcfx.input.port5.gamepad.down

;pcfx, Port 5, Gamepad: I
pcfx.input.port5.gamepad.i

;pcfx, Port 5, Gamepad: II
pcfx.input.port5.gamepad.ii

;pcfx, Port 5, Gamepad: III
pcfx.input.port5.gamepad.iii

;pcfx, Port 5, Gamepad: IV
pcfx.input.port5.gamepad.iv

;pcfx, Port 5, Gamepad: LEFT ?
pcfx.input.port5.gamepad.left

;pcfx, Port 5, Gamepad: MODE 1
pcfx.input.port5.gamepad.mode1

;Default position for switch "MODE 1".
pcfx.input.port5.gamepad.mode1.defpos a

;pcfx, Port 5, Gamepad: MODE 2
pcfx.input.port5.gamepad.mode2

;Default position for switch "MODE 2".
pcfx.input.port5.gamepad.mode2.defpos a

;pcfx, Port 5, Gamepad: RIGHT ?
pcfx.input.port5.gamepad.right

;pcfx, Port 5, Gamepad: RUN
pcfx.input.port5.gamepad.run

;pcfx, Port 5, Gamepad: SELECT
pcfx.input.port5.gamepad.select

;pcfx, Port 5, Gamepad: UP ?
pcfx.input.port5.gamepad.up

;pcfx, Port 5, Gamepad: V
pcfx.input.port5.gamepad.v

;pcfx, Port 5, Gamepad: VI
pcfx.input.port5.gamepad.vi

;pcfx, Port 5, Mouse: Left Button
pcfx.input.port5.mouse.left mouse 0x0 button_left

;pcfx, Port 5, Mouse: Motion Down
pcfx.input.port5.mouse.motion_down mouse 0x0 rel_y+

;pcfx, Port 5, Mouse: Motion Left
pcfx.input.port5.mouse.motion_left mouse 0x0 rel_x-

;pcfx, Port 5, Mouse: Motion Right
pcfx.input.port5.mouse.motion_right mouse 0x0 rel_x+

;pcfx, Port 5, Mouse: Motion Up
pcfx.input.port5.mouse.motion_up mouse 0x0 rel_y-

;pcfx, Port 5, Mouse: Right Button
pcfx.input.port5.mouse.right mouse 0x0 button_right

;Input device for Port 6
pcfx.input.port6 gamepad

;pcfx, Port 6, Gamepad: DOWN ?
pcfx.input.port6.gamepad.down

;pcfx, Port 6, Gamepad: I
pcfx.input.port6.gamepad.i

;pcfx, Port 6, Gamepad: II
pcfx.input.port6.gamepad.ii

;pcfx, Port 6, Gamepad: III
pcfx.input.port6.gamepad.iii

;pcfx, Port 6, Gamepad: IV
pcfx.input.port6.gamepad.iv

;pcfx, Port 6, Gamepad: LEFT ?
pcfx.input.port6.gamepad.left

;pcfx, Port 6, Gamepad: MODE 1
pcfx.input.port6.gamepad.mode1

;Default position for switch "MODE 1".
pcfx.input.port6.gamepad.mode1.defpos a

;pcfx, Port 6, Gamepad: MODE 2
pcfx.input.port6.gamepad.mode2

;Default position for switch "MODE 2".
pcfx.input.port6.gamepad.mode2.defpos a

;pcfx, Port 6, Gamepad: RIGHT ?
pcfx.input.port6.gamepad.right

;pcfx, Port 6, Gamepad: RUN
pcfx.input.port6.gamepad.run

;pcfx, Port 6, Gamepad: SELECT
pcfx.input.port6.gamepad.select

;pcfx, Port 6, Gamepad: UP ?
pcfx.input.port6.gamepad.up

;pcfx, Port 6, Gamepad: V
pcfx.input.port6.gamepad.v

;pcfx, Port 6, Gamepad: VI
pcfx.input.port6.gamepad.vi

;pcfx, Port 6, Mouse: Left Button
pcfx.input.port6.mouse.left mouse 0x0 button_left

;pcfx, Port 6, Mouse: Motion Down
pcfx.input.port6.mouse.motion_down mouse 0x0 rel_y+

;pcfx, Port 6, Mouse: Motion Left
pcfx.input.port6.mouse.motion_left mouse 0x0 rel_x-

;pcfx, Port 6, Mouse: Motion Right
pcfx.input.port6.mouse.motion_right mouse 0x0 rel_x+

;pcfx, Port 6, Mouse: Motion Up
pcfx.input.port6.mouse.motion_up mouse 0x0 rel_y-

;pcfx, Port 6, Mouse: Right Button
pcfx.input.port6.mouse.right mouse 0x0 button_right

;Input device for Port 7
pcfx.input.port7 gamepad

;pcfx, Port 7, Gamepad: DOWN ?
pcfx.input.port7.gamepad.down

;pcfx, Port 7, Gamepad: I
pcfx.input.port7.gamepad.i

;pcfx, Port 7, Gamepad: II
pcfx.input.port7.gamepad.ii

;pcfx, Port 7, Gamepad: III
pcfx.input.port7.gamepad.iii

;pcfx, Port 7, Gamepad: IV
pcfx.input.port7.gamepad.iv

;pcfx, Port 7, Gamepad: LEFT ?
pcfx.input.port7.gamepad.left

;pcfx, Port 7, Gamepad: MODE 1
pcfx.input.port7.gamepad.mode1

;Default position for switch "MODE 1".
pcfx.input.port7.gamepad.mode1.defpos a

;pcfx, Port 7, Gamepad: MODE 2
pcfx.input.port7.gamepad.mode2

;Default position for switch "MODE 2".
pcfx.input.port7.gamepad.mode2.defpos a

;pcfx, Port 7, Gamepad: RIGHT ?
pcfx.input.port7.gamepad.right

;pcfx, Port 7, Gamepad: RUN
pcfx.input.port7.gamepad.run

;pcfx, Port 7, Gamepad: SELECT
pcfx.input.port7.gamepad.select

;pcfx, Port 7, Gamepad: UP ?
pcfx.input.port7.gamepad.up

;pcfx, Port 7, Gamepad: V
pcfx.input.port7.gamepad.v

;pcfx, Port 7, Gamepad: VI
pcfx.input.port7.gamepad.vi

;pcfx, Port 7, Mouse: Left Button
pcfx.input.port7.mouse.left mouse 0x0 button_left

;pcfx, Port 7, Mouse: Motion Down
pcfx.input.port7.mouse.motion_down mouse 0x0 rel_y+

;pcfx, Port 7, Mouse: Motion Left
pcfx.input.port7.mouse.motion_left mouse 0x0 rel_x-

;pcfx, Port 7, Mouse: Motion Right
pcfx.input.port7.mouse.motion_right mouse 0x0 rel_x+

;pcfx, Port 7, Mouse: Motion Up
pcfx.input.port7.mouse.motion_up mouse 0x0 rel_y-

;pcfx, Port 7, Mouse: Right Button
pcfx.input.port7.mouse.right mouse 0x0 button_right

;Input device for Port 8
pcfx.input.port8 gamepad

;pcfx, Port 8, Gamepad: DOWN ?
pcfx.input.port8.gamepad.down

;pcfx, Port 8, Gamepad: I
pcfx.input.port8.gamepad.i

;pcfx, Port 8, Gamepad: II
pcfx.input.port8.gamepad.ii

;pcfx, Port 8, Gamepad: III
pcfx.input.port8.gamepad.iii

;pcfx, Port 8, Gamepad: IV
pcfx.input.port8.gamepad.iv

;pcfx, Port 8, Gamepad: LEFT ?
pcfx.input.port8.gamepad.left

;pcfx, Port 8, Gamepad: MODE 1
pcfx.input.port8.gamepad.mode1

;Default position for switch "MODE 1".
pcfx.input.port8.gamepad.mode1.defpos a

;pcfx, Port 8, Gamepad: MODE 2
pcfx.input.port8.gamepad.mode2

;Default position for switch "MODE 2".
pcfx.input.port8.gamepad.mode2.defpos a

;pcfx, Port 8, Gamepad: RIGHT ?
pcfx.input.port8.gamepad.right

;pcfx, Port 8, Gamepad: RUN
pcfx.input.port8.gamepad.run

;pcfx, Port 8, Gamepad: SELECT
pcfx.input.port8.gamepad.select

;pcfx, Port 8, Gamepad: UP ?
pcfx.input.port8.gamepad.up

;pcfx, Port 8, Gamepad: V
pcfx.input.port8.gamepad.v

;pcfx, Port 8, Gamepad: VI
pcfx.input.port8.gamepad.vi

;pcfx, Port 8, Mouse: Left Button
pcfx.input.port8.mouse.left mouse 0x0 button_left

;pcfx, Port 8, Mouse: Motion Down
pcfx.input.port8.mouse.motion_down mouse 0x0 rel_y+

;pcfx, Port 8, Mouse: Motion Left
pcfx.input.port8.mouse.motion_left mouse 0x0 rel_x-

;pcfx, Port 8, Mouse: Motion Right
pcfx.input.port8.mouse.motion_right mouse 0x0 rel_x+

;pcfx, Port 8, Mouse: Motion Up
pcfx.input.port8.mouse.motion_up mouse 0x0 rel_y-

;pcfx, Port 8, Mouse: Right Button
pcfx.input.port8.mouse.right mouse 0x0 button_right

;Mouse sensitivity.
pcfx.mouse_sensitivity 1.25

;Remove 16-sprites-per-scanline hardware limit.
pcfx.nospritelimit 0

;Enable bilinear interpolation on the chroma channel of RAINBOW YUV output.
pcfx.rainbow.chromaip 0

;Sound quality.
pcfx.resamp_quality 3

;Output rate tolerance.
pcfx.resamp_rate_error 0.0000009

;Enable scanlines with specified opacity.
pcfx.scanlines 0

;Enable specified OpenGL shader.
pcfx.shader none

;Force interlaced video to be treated as progressive.
pcfx.shader.goat.fprog 0

;Constant RGB horizontal divergence.
pcfx.shader.goat.hdiv 0.50

;Mask pattern.
pcfx.shader.goat.pat goatron

;Enable scanlines effect.
pcfx.shader.goat.slen 1

;Transparency of otherwise-opaque mask areas.
pcfx.shader.goat.tp 0.50

;Constant RGB vertical divergence.
pcfx.shader.goat.vdiv 0.50

;Last rendered scanline.
pcfx.slend 235

;First rendered scanline.
pcfx.slstart 4

;Enable specified special video scaler.
pcfx.special none

;Stretch to fill screen.
pcfx.stretch aspect_mult2

;Enable video temporal blur(50/50 previous/current frame by default).
pcfx.tblur 0

;Accumulate color data rather than discarding it.
pcfx.tblur.accum 0

;Blur amount in accumulation mode, specified in percentage of accumulation buffer to mix with the current frame.
pcfx.tblur.accum.amount 50

;Enable (bi)linear interpolation.
pcfx.videoip 1

;Full-screen horizontal resolution.
pcfx.xres 0

;Scaling factor for the X axis in windowed mode.
pcfx.xscale 3.000000

;Scaling factor for the X axis in fullscreen mode.
pcfx.xscalefs 1.000000

;Full-screen vertical resolution.
pcfx.yres 0

;Scaling factor for the Y axis in windowed mode.
pcfx.yscale 3.000000

;Scaling factor for the Y axis in fullscreen mode.
pcfx.yscalefs 1.000000

;Enable scanlines with specified opacity.
player.scanlines 0

;Enable specified OpenGL shader.
player.shader none

;Force interlaced video to be treated as progressive.
player.shader.goat.fprog 0

;Constant RGB horizontal divergence.
player.shader.goat.hdiv 0.50

;Mask pattern.
player.shader.goat.pat goatron

;Enable scanlines effect.
player.shader.goat.slen 1

;Transparency of otherwise-opaque mask areas.
player.shader.goat.tp 0.50

;Constant RGB vertical divergence.
player.shader.goat.vdiv 0.50

;Enable specified special video scaler.
player.special none

;Stretch to fill screen.
player.stretch aspect_mult2

;Enable (bi)linear interpolation.
player.videoip 0

;Full-screen horizontal resolution.
player.xres 0

;Scaling factor for the X axis in windowed mode.
player.xscale 2.000000

;Scaling factor for the X axis in fullscreen mode.
player.xscalefs 1.000000

;Full-screen vertical resolution.
player.yres 0

;Scaling factor for the Y axis in windowed mode.
player.yscale 2.000000

;Scaling factor for the Y axis in fullscreen mode.
player.yscalefs 1.000000

;Path to the Europe SCPH-5502/v3.0E ROM BIOS
psx.bios_eu scph5502.bin

;Path to the Japan SCPH-5500/v3.0J ROM BIOS
psx.bios_jp scph5500.bin

;Path to the North America SCPH-5501/v3.0A ROM BIOS
psx.bios_na scph5501.bin

;Enable BIOS ROM image sanity checks.
psx.bios_sanity 1

;Enable CD (image) sanity checks.
psx.cd_sanity 1

;Correct aspect ratio.
psx.correct_aspect 1

;CD image to use with .PSX/.EXE loading.
psx.dbg_exe_cdpath

;Debug printf verbosity level.
psx.dbg_level 0

;Disassembly font size.
psx.debugger.disfontsize 5x7

;Character encoding for the debugger's memory editor.
psx.debugger.memcharenc shift_jis

;Enable (automatic) usage of this module.
psx.enable 1

;Force monophonic sound output.
psx.forcemono 0

;Show horizontal overscan area.
psx.h_overscan 1

;Enable analog mode combo-button alternate toggle.
psx.input.analog_mode_ct 0

;Compare value for analog mode combo-button alternate toggle.
psx.input.analog_mode_ct.compare 0x0F09

;Emulated mouse sensitivity.
psx.input.mouse_sensitivity 1.00

;Input device for Virtual Port 1
psx.input.port1 gamepad

;Analog axis scale coefficient for Analog Joystick on Virtual Port 1.
psx.input.port1.analogjoy.axis_scale 1.00

;psx, Virtual Port 1, Analog Joystick: Right stick, R-thumb
psx.input.port1.analogjoy.circle

;psx, Virtual Port 1, Analog Joystick: Right stick, L-thumb
psx.input.port1.analogjoy.cross

;psx, Virtual Port 1, Analog Joystick: Thumbstick DOWN ?
psx.input.port1.analogjoy.down

;psx, Virtual Port 1, Analog Joystick: Left stick, L-thumb
psx.input.port1.analogjoy.l1

;psx, Virtual Port 1, Analog Joystick: Left stick, Trigger
psx.input.port1.analogjoy.l2

;psx, Virtual Port 1, Analog Joystick: Thumbstick LEFT ?
psx.input.port1.analogjoy.left

;psx, Virtual Port 1, Analog Joystick: Left Stick, BACK ?
psx.input.port1.analogjoy.lstick_down

;psx, Virtual Port 1, Analog Joystick: Left Stick, LEFT ?
psx.input.port1.analogjoy.lstick_left

;psx, Virtual Port 1, Analog Joystick: Left Stick, RIGHT ?
psx.input.port1.analogjoy.lstick_right

;psx, Virtual Port 1, Analog Joystick: Left Stick, FORE ?
psx.input.port1.analogjoy.lstick_up

;psx, Virtual Port 1, Analog Joystick: Left stick, R-thumb
psx.input.port1.analogjoy.r1

;psx, Virtual Port 1, Analog Joystick: Left stick, Pinky
psx.input.port1.analogjoy.r2

;psx, Virtual Port 1, Analog Joystick: Thumbstick RIGHT ?
psx.input.port1.analogjoy.right

;psx, Virtual Port 1, Analog Joystick: Right Stick, BACK ?
psx.input.port1.analogjoy.rstick_down

;psx, Virtual Port 1, Analog Joystick: Right Stick, LEFT ?
psx.input.port1.analogjoy.rstick_left

;psx, Virtual Port 1, Analog Joystick: Right Stick, RIGHT ?
psx.input.port1.analogjoy.rstick_right

;psx, Virtual Port 1, Analog Joystick: Right Stick, FORE ?
psx.input.port1.analogjoy.rstick_up

;psx, Virtual Port 1, Analog Joystick: SELECT
psx.input.port1.analogjoy.select

;psx, Virtual Port 1, Analog Joystick: Right stick, Trigger
psx.input.port1.analogjoy.square

;psx, Virtual Port 1, Analog Joystick: START
psx.input.port1.analogjoy.start

;psx, Virtual Port 1, Analog Joystick: Right stick, Pinky
psx.input.port1.analogjoy.triangle

;psx, Virtual Port 1, Analog Joystick: Thumbstick UP ?
psx.input.port1.analogjoy.up

;psx, Virtual Port 1, Dance Pad: ? (upper right)
psx.input.port1.dancepad.circle keyboard 0x0 97

;psx, Virtual Port 1, Dance Pad: x (upper left)
psx.input.port1.dancepad.cross keyboard 0x0 95

;psx, Virtual Port 1, Dance Pad: DOWN ?
psx.input.port1.dancepad.down keyboard 0x0 90

;psx, Virtual Port 1, Dance Pad: LEFT ?
psx.input.port1.dancepad.left keyboard 0x0 92

;psx, Virtual Port 1, Dance Pad: RIGHT ?
psx.input.port1.dancepad.right keyboard 0x0 94

;psx, Virtual Port 1, Dance Pad: SELECT
psx.input.port1.dancepad.select keyboard 0x0 84

;psx, Virtual Port 1, Dance Pad: ? (lower right)
psx.input.port1.dancepad.square keyboard 0x0 91

;psx, Virtual Port 1, Dance Pad: START
psx.input.port1.dancepad.start keyboard 0x0 85

;psx, Virtual Port 1, Dance Pad: ? (lower left)
psx.input.port1.dancepad.triangle keyboard 0x0 89

;psx, Virtual Port 1, Dance Pad: UP ?
psx.input.port1.dancepad.up keyboard 0x0 96

;Analog axis scale coefficient for Dual Analog on Virtual Port 1.
psx.input.port1.dualanalog.axis_scale 1.00

;psx, Virtual Port 1, Dual Analog: ? (right)
psx.input.port1.dualanalog.circle

;psx, Virtual Port 1, Dual Analog: x (lower)
psx.input.port1.dualanalog.cross

;psx, Virtual Port 1, Dual Analog: D-Pad DOWN ?
psx.input.port1.dualanalog.down

;psx, Virtual Port 1, Dual Analog: L1 (front left shoulder)
psx.input.port1.dualanalog.l1

;psx, Virtual Port 1, Dual Analog: L2 (rear left shoulder)
psx.input.port1.dualanalog.l2

;psx, Virtual Port 1, Dual Analog: Left Stick, Button(L3)
psx.input.port1.dualanalog.l3

;psx, Virtual Port 1, Dual Analog: D-Pad LEFT ?
psx.input.port1.dualanalog.left

;psx, Virtual Port 1, Dual Analog: Left Stick DOWN ?
psx.input.port1.dualanalog.lstick_down

;psx, Virtual Port 1, Dual Analog: Left Stick LEFT ?
psx.input.port1.dualanalog.lstick_left

;psx, Virtual Port 1, Dual Analog: Left Stick RIGHT ?
psx.input.port1.dualanalog.lstick_right

;psx, Virtual Port 1, Dual Analog: Left Stick UP ?
psx.input.port1.dualanalog.lstick_up

;psx, Virtual Port 1, Dual Analog: R1 (front right shoulder)
psx.input.port1.dualanalog.r1

;psx, Virtual Port 1, Dual Analog: R2 (rear right shoulder)
psx.input.port1.dualanalog.r2

;psx, Virtual Port 1, Dual Analog: Right stick, Button(R3)
psx.input.port1.dualanalog.r3

;psx, Virtual Port 1, Dual Analog: Rapid ? (right)
psx.input.port1.dualanalog.rapid_circle

;psx, Virtual Port 1, Dual Analog: Rapid x (lower)
psx.input.port1.dualanalog.rapid_cross

;psx, Virtual Port 1, Dual Analog: Rapid ? (left)
psx.input.port1.dualanalog.rapid_square

;psx, Virtual Port 1, Dual Analog: Rapid ? (upper)
psx.input.port1.dualanalog.rapid_triangle

;psx, Virtual Port 1, Dual Analog: D-Pad RIGHT ?
psx.input.port1.dualanalog.right

;psx, Virtual Port 1, Dual Analog: Right Stick DOWN ?
psx.input.port1.dualanalog.rstick_down

;psx, Virtual Port 1, Dual Analog: Right Stick LEFT ?
psx.input.port1.dualanalog.rstick_left

;psx, Virtual Port 1, Dual Analog: Right Stick RIGHT ?
psx.input.port1.dualanalog.rstick_right

;psx, Virtual Port 1, Dual Analog: Right Stick UP ?
psx.input.port1.dualanalog.rstick_up

;psx, Virtual Port 1, Dual Analog: SELECT
psx.input.port1.dualanalog.select

;psx, Virtual Port 1, Dual Analog: ? (left)
psx.input.port1.dualanalog.square

;psx, Virtual Port 1, Dual Analog: START
psx.input.port1.dualanalog.start

;psx, Virtual Port 1, Dual Analog: ? (upper)
psx.input.port1.dualanalog.triangle

;psx, Virtual Port 1, Dual Analog: D-Pad UP ?
psx.input.port1.dualanalog.up

;psx, Virtual Port 1, DualShock: Analog(mode toggle)
psx.input.port1.dualshock.analog

;Analog axis scale coefficient for DualShock on Virtual Port 1.
psx.input.port1.dualshock.axis_scale 1.00

;psx, Virtual Port 1, DualShock: ? (right)
psx.input.port1.dualshock.circle

;psx, Virtual Port 1, DualShock: x (lower)
psx.input.port1.dualshock.cross

;psx, Virtual Port 1, DualShock: D-Pad DOWN ?
psx.input.port1.dualshock.down

;psx, Virtual Port 1, DualShock: L1 (front left shoulder)
psx.input.port1.dualshock.l1

;psx, Virtual Port 1, DualShock: L2 (rear left shoulder)
psx.input.port1.dualshock.l2

;psx, Virtual Port 1, DualShock: Left Stick, Button(L3)
psx.input.port1.dualshock.l3

;psx, Virtual Port 1, DualShock: D-Pad LEFT ?
psx.input.port1.dualshock.left

;psx, Virtual Port 1, DualShock: Left Stick DOWN ?
psx.input.port1.dualshock.lstick_down

;psx, Virtual Port 1, DualShock: Left Stick LEFT ?
psx.input.port1.dualshock.lstick_left

;psx, Virtual Port 1, DualShock: Left Stick RIGHT ?
psx.input.port1.dualshock.lstick_right

;psx, Virtual Port 1, DualShock: Left Stick UP ?
psx.input.port1.dualshock.lstick_up

;psx, Virtual Port 1, DualShock: R1 (front right shoulder)
psx.input.port1.dualshock.r1

;psx, Virtual Port 1, DualShock: R2 (rear right shoulder)
psx.input.port1.dualshock.r2

;psx, Virtual Port 1, DualShock: Right stick, Button(R3)
psx.input.port1.dualshock.r3

;psx, Virtual Port 1, DualShock: Rapid ? (right)
psx.input.port1.dualshock.rapid_circle

;psx, Virtual Port 1, DualShock: Rapid x (lower)
psx.input.port1.dualshock.rapid_cross

;psx, Virtual Port 1, DualShock: Rapid ? (left)
psx.input.port1.dualshock.rapid_square

;psx, Virtual Port 1, DualShock: Rapid ? (upper)
psx.input.port1.dualshock.rapid_triangle

;psx, Virtual Port 1, DualShock: D-Pad RIGHT ?
psx.input.port1.dualshock.right

;psx, Virtual Port 1, DualShock: Right Stick DOWN ?
psx.input.port1.dualshock.rstick_down

;psx, Virtual Port 1, DualShock: Right Stick LEFT ?
psx.input.port1.dualshock.rstick_left

;psx, Virtual Port 1, DualShock: Right Stick RIGHT ?
psx.input.port1.dualshock.rstick_right

;psx, Virtual Port 1, DualShock: Right Stick UP ?
psx.input.port1.dualshock.rstick_up

;psx, Virtual Port 1, DualShock: SELECT
psx.input.port1.dualshock.select

;psx, Virtual Port 1, DualShock: ? (left)
psx.input.port1.dualshock.square

;psx, Virtual Port 1, DualShock: START
psx.input.port1.dualshock.start

;psx, Virtual Port 1, DualShock: ? (upper)
psx.input.port1.dualshock.triangle

;psx, Virtual Port 1, DualShock: D-Pad UP ?
psx.input.port1.dualshock.up

;psx, Virtual Port 1, Digital Gamepad: ? (right)
psx.input.port1.gamepad.circle keyboard 0x0 94

;psx, Virtual Port 1, Digital Gamepad: x (lower)
psx.input.port1.gamepad.cross keyboard 0x0 90

;psx, Virtual Port 1, Digital Gamepad: DOWN ?
psx.input.port1.gamepad.down keyboard 0x0 22

;psx, Virtual Port 1, Digital Gamepad: L1 (front left shoulder)
psx.input.port1.gamepad.l1 keyboard 0x0 89

;psx, Virtual Port 1, Digital Gamepad: L2 (rear left shoulder)
psx.input.port1.gamepad.l2 keyboard 0x0 95

;psx, Virtual Port 1, Digital Gamepad: LEFT ?
psx.input.port1.gamepad.left keyboard 0x0 4

;psx, Virtual Port 1, Digital Gamepad: R1 (front right shoulder)
psx.input.port1.gamepad.r1 keyboard 0x0 91

;psx, Virtual Port 1, Digital Gamepad: R2 (rear right shoulder)
psx.input.port1.gamepad.r2 keyboard 0x0 97

;psx, Virtual Port 1, Digital Gamepad: Rapid ? (right)
psx.input.port1.gamepad.rapid_circle

;psx, Virtual Port 1, Digital Gamepad: Rapid x (lower)
psx.input.port1.gamepad.rapid_cross

;psx, Virtual Port 1, Digital Gamepad: Rapid ? (left)
psx.input.port1.gamepad.rapid_square

;psx, Virtual Port 1, Digital Gamepad: Rapid ? (upper)
psx.input.port1.gamepad.rapid_triangle

;psx, Virtual Port 1, Digital Gamepad: RIGHT ?
psx.input.port1.gamepad.right keyboard 0x0 7

;psx, Virtual Port 1, Digital Gamepad: SELECT
psx.input.port1.gamepad.select keyboard 0x0 43

;psx, Virtual Port 1, Digital Gamepad: ? (left)
psx.input.port1.gamepad.square keyboard 0x0 92

;psx, Virtual Port 1, Digital Gamepad: START
psx.input.port1.gamepad.start keyboard 0x0 40

;psx, Virtual Port 1, Digital Gamepad: ? (upper)
psx.input.port1.gamepad.triangle keyboard 0x0 96

;psx, Virtual Port 1, Digital Gamepad: UP ?
psx.input.port1.gamepad.up keyboard 0x0 26

;Crosshairs color for lightgun on virtual port 1.
psx.input.port1.gun_chairs 0xFF0000

;psx, Virtual Port 1, GunCon: A
psx.input.port1.guncon.a mouse 0x0 button_right

;psx, Virtual Port 1, GunCon: B
psx.input.port1.guncon.b mouse 0x0 button_middle

;psx, Virtual Port 1, GunCon: Offscreen Shot(Simulated)
psx.input.port1.guncon.offscreen_shot keyboard 0x0 44

;psx, Virtual Port 1, GunCon: Trigger
psx.input.port1.guncon.trigger mouse 0x0 button_left

;psx, Virtual Port 1, GunCon: X Axis
psx.input.port1.guncon.x_axis mouse 0x0 cursor_x-+

;psx, Virtual Port 1, GunCon: Y Axis
psx.input.port1.guncon.y_axis mouse 0x0 cursor_y-+

;psx, Virtual Port 1, Konami Justifier: O
psx.input.port1.justifier.o mouse 0x0 button_right

;psx, Virtual Port 1, Konami Justifier: Offscreen Shot(Simulated)
psx.input.port1.justifier.offscreen_shot keyboard 0x0 44

;psx, Virtual Port 1, Konami Justifier: Start
psx.input.port1.justifier.start mouse 0x0 button_middle

;psx, Virtual Port 1, Konami Justifier: Trigger
psx.input.port1.justifier.trigger mouse 0x0 button_left

;psx, Virtual Port 1, Konami Justifier: X Axis
psx.input.port1.justifier.x_axis mouse 0x0 cursor_x-+

;psx, Virtual Port 1, Konami Justifier: Y Axis
psx.input.port1.justifier.y_axis mouse 0x0 cursor_y-+

;Emulate memory card on virtual port 1.
psx.input.port1.memcard 1

;psx, Virtual Port 1, Mouse: Left Button
psx.input.port1.mouse.left mouse 0x0 button_left

;psx, Virtual Port 1, Mouse: Motion Down
psx.input.port1.mouse.motion_down mouse 0x0 rel_y+

;psx, Virtual Port 1, Mouse: Motion Left
psx.input.port1.mouse.motion_left mouse 0x0 rel_x-

;psx, Virtual Port 1, Mouse: Motion Right
psx.input.port1.mouse.motion_right mouse 0x0 rel_x+

;psx, Virtual Port 1, Mouse: Motion Up
psx.input.port1.mouse.motion_up mouse 0x0 rel_y-

;psx, Virtual Port 1, Mouse: Right Button
psx.input.port1.mouse.right mouse 0x0 button_right

;psx, Virtual Port 1, neGcon: A
psx.input.port1.negcon.a

;psx, Virtual Port 1, neGcon: B
psx.input.port1.negcon.b

;psx, Virtual Port 1, neGcon: D-Pad DOWN ?
psx.input.port1.negcon.down

;psx, Virtual Port 1, neGcon: I (Analog)
psx.input.port1.negcon.i

;psx, Virtual Port 1, neGcon: II (Analog)
psx.input.port1.negcon.ii

;psx, Virtual Port 1, neGcon: Left Shoulder (Analog)
psx.input.port1.negcon.l

;psx, Virtual Port 1, neGcon: D-Pad LEFT ?
psx.input.port1.negcon.left

;psx, Virtual Port 1, neGcon: Right Shoulder
psx.input.port1.negcon.r

;psx, Virtual Port 1, neGcon: D-Pad RIGHT ?
psx.input.port1.negcon.right

;psx, Virtual Port 1, neGcon: START
psx.input.port1.negcon.start

;psx, Virtual Port 1, neGcon: Twist ?|? (Analog, Turn Left)
psx.input.port1.negcon.twist_ccwise

;psx, Virtual Port 1, neGcon: Twist ?|? (Analog, Turn Right)
psx.input.port1.negcon.twist_cwise

;psx, Virtual Port 1, neGcon: D-Pad UP ?
psx.input.port1.negcon.up

;Input device for Virtual Port 2
psx.input.port2 gamepad

;Analog axis scale coefficient for Analog Joystick on Virtual Port 2.
psx.input.port2.analogjoy.axis_scale 1.00

;psx, Virtual Port 2, Analog Joystick: Right stick, R-thumb
psx.input.port2.analogjoy.circle

;psx, Virtual Port 2, Analog Joystick: Right stick, L-thumb
psx.input.port2.analogjoy.cross

;psx, Virtual Port 2, Analog Joystick: Thumbstick DOWN ?
psx.input.port2.analogjoy.down

;psx, Virtual Port 2, Analog Joystick: Left stick, L-thumb
psx.input.port2.analogjoy.l1

;psx, Virtual Port 2, Analog Joystick: Left stick, Trigger
psx.input.port2.analogjoy.l2

;psx, Virtual Port 2, Analog Joystick: Thumbstick LEFT ?
psx.input.port2.analogjoy.left

;psx, Virtual Port 2, Analog Joystick: Left Stick, BACK ?
psx.input.port2.analogjoy.lstick_down

;psx, Virtual Port 2, Analog Joystick: Left Stick, LEFT ?
psx.input.port2.analogjoy.lstick_left

;psx, Virtual Port 2, Analog Joystick: Left Stick, RIGHT ?
psx.input.port2.analogjoy.lstick_right

;psx, Virtual Port 2, Analog Joystick: Left Stick, FORE ?
psx.input.port2.analogjoy.lstick_up

;psx, Virtual Port 2, Analog Joystick: Left stick, R-thumb
psx.input.port2.analogjoy.r1

;psx, Virtual Port 2, Analog Joystick: Left stick, Pinky
psx.input.port2.analogjoy.r2

;psx, Virtual Port 2, Analog Joystick: Thumbstick RIGHT ?
psx.input.port2.analogjoy.right

;psx, Virtual Port 2, Analog Joystick: Right Stick, BACK ?
psx.input.port2.analogjoy.rstick_down

;psx, Virtual Port 2, Analog Joystick: Right Stick, LEFT ?
psx.input.port2.analogjoy.rstick_left

;psx, Virtual Port 2, Analog Joystick: Right Stick, RIGHT ?
psx.input.port2.analogjoy.rstick_right

;psx, Virtual Port 2, Analog Joystick: Right Stick, FORE ?
psx.input.port2.analogjoy.rstick_up

;psx, Virtual Port 2, Analog Joystick: SELECT
psx.input.port2.analogjoy.select

;psx, Virtual Port 2, Analog Joystick: Right stick, Trigger
psx.input.port2.analogjoy.square

;psx, Virtual Port 2, Analog Joystick: START
psx.input.port2.analogjoy.start

;psx, Virtual Port 2, Analog Joystick: Right stick, Pinky
psx.input.port2.analogjoy.triangle

;psx, Virtual Port 2, Analog Joystick: Thumbstick UP ?
psx.input.port2.analogjoy.up

;psx, Virtual Port 2, Dance Pad: ? (upper right)
psx.input.port2.dancepad.circle

;psx, Virtual Port 2, Dance Pad: x (upper left)
psx.input.port2.dancepad.cross

;psx, Virtual Port 2, Dance Pad: DOWN ?
psx.input.port2.dancepad.down

;psx, Virtual Port 2, Dance Pad: LEFT ?
psx.input.port2.dancepad.left

;psx, Virtual Port 2, Dance Pad: RIGHT ?
psx.input.port2.dancepad.right

;psx, Virtual Port 2, Dance Pad: SELECT
psx.input.port2.dancepad.select

;psx, Virtual Port 2, Dance Pad: ? (lower right)
psx.input.port2.dancepad.square

;psx, Virtual Port 2, Dance Pad: START
psx.input.port2.dancepad.start

;psx, Virtual Port 2, Dance Pad: ? (lower left)
psx.input.port2.dancepad.triangle

;psx, Virtual Port 2, Dance Pad: UP ?
psx.input.port2.dancepad.up

;Analog axis scale coefficient for Dual Analog on Virtual Port 2.
psx.input.port2.dualanalog.axis_scale 1.00

;psx, Virtual Port 2, Dual Analog: ? (right)
psx.input.port2.dualanalog.circle

;psx, Virtual Port 2, Dual Analog: x (lower)
psx.input.port2.dualanalog.cross

;psx, Virtual Port 2, Dual Analog: D-Pad DOWN ?
psx.input.port2.dualanalog.down

;psx, Virtual Port 2, Dual Analog: L1 (front left shoulder)
psx.input.port2.dualanalog.l1

;psx, Virtual Port 2, Dual Analog: L2 (rear left shoulder)
psx.input.port2.dualanalog.l2

;psx, Virtual Port 2, Dual Analog: Left Stick, Button(L3)
psx.input.port2.dualanalog.l3

;psx, Virtual Port 2, Dual Analog: D-Pad LEFT ?
psx.input.port2.dualanalog.left

;psx, Virtual Port 2, Dual Analog: Left Stick DOWN ?
psx.input.port2.dualanalog.lstick_down

;psx, Virtual Port 2, Dual Analog: Left Stick LEFT ?
psx.input.port2.dualanalog.lstick_left

;psx, Virtual Port 2, Dual Analog: Left Stick RIGHT ?
psx.input.port2.dualanalog.lstick_right

;psx, Virtual Port 2, Dual Analog: Left Stick UP ?
psx.input.port2.dualanalog.lstick_up

;psx, Virtual Port 2, Dual Analog: R1 (front right shoulder)
psx.input.port2.dualanalog.r1

;psx, Virtual Port 2, Dual Analog: R2 (rear right shoulder)
psx.input.port2.dualanalog.r2

;psx, Virtual Port 2, Dual Analog: Right stick, Button(R3)
psx.input.port2.dualanalog.r3

;psx, Virtual Port 2, Dual Analog: Rapid ? (right)
psx.input.port2.dualanalog.rapid_circle

;psx, Virtual Port 2, Dual Analog: Rapid x (lower)
psx.input.port2.dualanalog.rapid_cross

;psx, Virtual Port 2, Dual Analog: Rapid ? (left)
psx.input.port2.dualanalog.rapid_square

;psx, Virtual Port 2, Dual Analog: Rapid ? (upper)
psx.input.port2.dualanalog.rapid_triangle

;psx, Virtual Port 2, Dual Analog: D-Pad RIGHT ?
psx.input.port2.dualanalog.right

;psx, Virtual Port 2, Dual Analog: Right Stick DOWN ?
psx.input.port2.dualanalog.rstick_down

;psx, Virtual Port 2, Dual Analog: Right Stick LEFT ?
psx.input.port2.dualanalog.rstick_left

;psx, Virtual Port 2, Dual Analog: Right Stick RIGHT ?
psx.input.port2.dualanalog.rstick_right

;psx, Virtual Port 2, Dual Analog: Right Stick UP ?
psx.input.port2.dualanalog.rstick_up

;psx, Virtual Port 2, Dual Analog: SELECT
psx.input.port2.dualanalog.select

;psx, Virtual Port 2, Dual Analog: ? (left)
psx.input.port2.dualanalog.square

;psx, Virtual Port 2, Dual Analog: START
psx.input.port2.dualanalog.start

;psx, Virtual Port 2, Dual Analog: ? (upper)
psx.input.port2.dualanalog.triangle

;psx, Virtual Port 2, Dual Analog: D-Pad UP ?
psx.input.port2.dualanalog.up

;psx, Virtual Port 2, DualShock: Analog(mode toggle)
psx.input.port2.dualshock.analog

;Analog axis scale coefficient for DualShock on Virtual Port 2.
psx.input.port2.dualshock.axis_scale 1.00

;psx, Virtual Port 2, DualShock: ? (right)
psx.input.port2.dualshock.circle

;psx, Virtual Port 2, DualShock: x (lower)
psx.input.port2.dualshock.cross

;psx, Virtual Port 2, DualShock: D-Pad DOWN ?
psx.input.port2.dualshock.down

;psx, Virtual Port 2, DualShock: L1 (front left shoulder)
psx.input.port2.dualshock.l1

;psx, Virtual Port 2, DualShock: L2 (rear left shoulder)
psx.input.port2.dualshock.l2

;psx, Virtual Port 2, DualShock: Left Stick, Button(L3)
psx.input.port2.dualshock.l3

;psx, Virtual Port 2, DualShock: D-Pad LEFT ?
psx.input.port2.dualshock.left

;psx, Virtual Port 2, DualShock: Left Stick DOWN ?
psx.input.port2.dualshock.lstick_down

;psx, Virtual Port 2, DualShock: Left Stick LEFT ?
psx.input.port2.dualshock.lstick_left

;psx, Virtual Port 2, DualShock: Left Stick RIGHT ?
psx.input.port2.dualshock.lstick_right

;psx, Virtual Port 2, DualShock: Left Stick UP ?
psx.input.port2.dualshock.lstick_up

;psx, Virtual Port 2, DualShock: R1 (front right shoulder)
psx.input.port2.dualshock.r1

;psx, Virtual Port 2, DualShock: R2 (rear right shoulder)
psx.input.port2.dualshock.r2

;psx, Virtual Port 2, DualShock: Right stick, Button(R3)
psx.input.port2.dualshock.r3

;psx, Virtual Port 2, DualShock: Rapid ? (right)
psx.input.port2.dualshock.rapid_circle

;psx, Virtual Port 2, DualShock: Rapid x (lower)
psx.input.port2.dualshock.rapid_cross

;psx, Virtual Port 2, DualShock: Rapid ? (left)
psx.input.port2.dualshock.rapid_square

;psx, Virtual Port 2, DualShock: Rapid ? (upper)
psx.input.port2.dualshock.rapid_triangle

;psx, Virtual Port 2, DualShock: D-Pad RIGHT ?
psx.input.port2.dualshock.right

;psx, Virtual Port 2, DualShock: Right Stick DOWN ?
psx.input.port2.dualshock.rstick_down

;psx, Virtual Port 2, DualShock: Right Stick LEFT ?
psx.input.port2.dualshock.rstick_left

;psx, Virtual Port 2, DualShock: Right Stick RIGHT ?
psx.input.port2.dualshock.rstick_right

;psx, Virtual Port 2, DualShock: Right Stick UP ?
psx.input.port2.dualshock.rstick_up

;psx, Virtual Port 2, DualShock: SELECT
psx.input.port2.dualshock.select

;psx, Virtual Port 2, DualShock: ? (left)
psx.input.port2.dualshock.square

;psx, Virtual Port 2, DualShock: START
psx.input.port2.dualshock.start

;psx, Virtual Port 2, DualShock: ? (upper)
psx.input.port2.dualshock.triangle

;psx, Virtual Port 2, DualShock: D-Pad UP ?
psx.input.port2.dualshock.up

;psx, Virtual Port 2, Digital Gamepad: ? (right)
psx.input.port2.gamepad.circle

;psx, Virtual Port 2, Digital Gamepad: x (lower)
psx.input.port2.gamepad.cross

;psx, Virtual Port 2, Digital Gamepad: DOWN ?
psx.input.port2.gamepad.down

;psx, Virtual Port 2, Digital Gamepad: L1 (front left shoulder)
psx.input.port2.gamepad.l1

;psx, Virtual Port 2, Digital Gamepad: L2 (rear left shoulder)
psx.input.port2.gamepad.l2

;psx, Virtual Port 2, Digital Gamepad: LEFT ?
psx.input.port2.gamepad.left

;psx, Virtual Port 2, Digital Gamepad: R1 (front right shoulder)
psx.input.port2.gamepad.r1

;psx, Virtual Port 2, Digital Gamepad: R2 (rear right shoulder)
psx.input.port2.gamepad.r2

;psx, Virtual Port 2, Digital Gamepad: Rapid ? (right)
psx.input.port2.gamepad.rapid_circle

;psx, Virtual Port 2, Digital Gamepad: Rapid x (lower)
psx.input.port2.gamepad.rapid_cross

;psx, Virtual Port 2, Digital Gamepad: Rapid ? (left)
psx.input.port2.gamepad.rapid_square

;psx, Virtual Port 2, Digital Gamepad: Rapid ? (upper)
psx.input.port2.gamepad.rapid_triangle

;psx, Virtual Port 2, Digital Gamepad: RIGHT ?
psx.input.port2.gamepad.right

;psx, Virtual Port 2, Digital Gamepad: SELECT
psx.input.port2.gamepad.select

;psx, Virtual Port 2, Digital Gamepad: ? (left)
psx.input.port2.gamepad.square

;psx, Virtual Port 2, Digital Gamepad: START
psx.input.port2.gamepad.start

;psx, Virtual Port 2, Digital Gamepad: ? (upper)
psx.input.port2.gamepad.triangle

;psx, Virtual Port 2, Digital Gamepad: UP ?
psx.input.port2.gamepad.up

;Crosshairs color for lightgun on virtual port 2.
psx.input.port2.gun_chairs 0x00FF00

;psx, Virtual Port 2, GunCon: A
psx.input.port2.guncon.a mouse 0x0 button_right

;psx, Virtual Port 2, GunCon: B
psx.input.port2.guncon.b mouse 0x0 button_middle

;psx, Virtual Port 2, GunCon: Offscreen Shot(Simulated)
psx.input.port2.guncon.offscreen_shot keyboard 0x0 44

;psx, Virtual Port 2, GunCon: Trigger
psx.input.port2.guncon.trigger mouse 0x0 button_left

;psx, Virtual Port 2, GunCon: X Axis
psx.input.port2.guncon.x_axis mouse 0x0 cursor_x-+

;psx, Virtual Port 2, GunCon: Y Axis
psx.input.port2.guncon.y_axis mouse 0x0 cursor_y-+

;psx, Virtual Port 2, Konami Justifier: O
psx.input.port2.justifier.o mouse 0x0 button_right

;psx, Virtual Port 2, Konami Justifier: Offscreen Shot(Simulated)
psx.input.port2.justifier.offscreen_shot keyboard 0x0 44

;psx, Virtual Port 2, Konami Justifier: Start
psx.input.port2.justifier.start mouse 0x0 button_middle

;psx, Virtual Port 2, Konami Justifier: Trigger
psx.input.port2.justifier.trigger mouse 0x0 button_left

;psx, Virtual Port 2, Konami Justifier: X Axis
psx.input.port2.justifier.x_axis mouse 0x0 cursor_x-+

;psx, Virtual Port 2, Konami Justifier: Y Axis
psx.input.port2.justifier.y_axis mouse 0x0 cursor_y-+

;Emulate memory card on virtual port 2.
psx.input.port2.memcard 1

;psx, Virtual Port 2, Mouse: Left Button
psx.input.port2.mouse.left mouse 0x0 button_left

;psx, Virtual Port 2, Mouse: Motion Down
psx.input.port2.mouse.motion_down mouse 0x0 rel_y+

;psx, Virtual Port 2, Mouse: Motion Left
psx.input.port2.mouse.motion_left mouse 0x0 rel_x-

;psx, Virtual Port 2, Mouse: Motion Right
psx.input.port2.mouse.motion_right mouse 0x0 rel_x+

;psx, Virtual Port 2, Mouse: Motion Up
psx.input.port2.mouse.motion_up mouse 0x0 rel_y-

;psx, Virtual Port 2, Mouse: Right Button
psx.input.port2.mouse.right mouse 0x0 button_right

;psx, Virtual Port 2, neGcon: A
psx.input.port2.negcon.a

;psx, Virtual Port 2, neGcon: B
psx.input.port2.negcon.b

;psx, Virtual Port 2, neGcon: D-Pad DOWN ?
psx.input.port2.negcon.down

;psx, Virtual Port 2, neGcon: I (Analog)
psx.input.port2.negcon.i

;psx, Virtual Port 2, neGcon: II (Analog)
psx.input.port2.negcon.ii

;psx, Virtual Port 2, neGcon: Left Shoulder (Analog)
psx.input.port2.negcon.l

;psx, Virtual Port 2, neGcon: D-Pad LEFT ?
psx.input.port2.negcon.left

;psx, Virtual Port 2, neGcon: Right Shoulder
psx.input.port2.negcon.r

;psx, Virtual Port 2, neGcon: D-Pad RIGHT ?
psx.input.port2.negcon.right

;psx, Virtual Port 2, neGcon: START
psx.input.port2.negcon.start

;psx, Virtual Port 2, neGcon: Twist ?|? (Analog, Turn Left)
psx.input.port2.negcon.twist_ccwise

;psx, Virtual Port 2, neGcon: Twist ?|? (Analog, Turn Right)
psx.input.port2.negcon.twist_cwise

;psx, Virtual Port 2, neGcon: D-Pad UP ?
psx.input.port2.negcon.up

;Input device for Virtual Port 3
psx.input.port3 gamepad

;Analog axis scale coefficient for Analog Joystick on Virtual Port 3.
psx.input.port3.analogjoy.axis_scale 1.00

;psx, Virtual Port 3, Analog Joystick: Right stick, R-thumb
psx.input.port3.analogjoy.circle

;psx, Virtual Port 3, Analog Joystick: Right stick, L-thumb
psx.input.port3.analogjoy.cross

;psx, Virtual Port 3, Analog Joystick: Thumbstick DOWN ?
psx.input.port3.analogjoy.down

;psx, Virtual Port 3, Analog Joystick: Left stick, L-thumb
psx.input.port3.analogjoy.l1

;psx, Virtual Port 3, Analog Joystick: Left stick, Trigger
psx.input.port3.analogjoy.l2

;psx, Virtual Port 3, Analog Joystick: Thumbstick LEFT ?
psx.input.port3.analogjoy.left

;psx, Virtual Port 3, Analog Joystick: Left Stick, BACK ?
psx.input.port3.analogjoy.lstick_down

;psx, Virtual Port 3, Analog Joystick: Left Stick, LEFT ?
psx.input.port3.analogjoy.lstick_left

;psx, Virtual Port 3, Analog Joystick: Left Stick, RIGHT ?
psx.input.port3.analogjoy.lstick_right

;psx, Virtual Port 3, Analog Joystick: Left Stick, FORE ?
psx.input.port3.analogjoy.lstick_up

;psx, Virtual Port 3, Analog Joystick: Left stick, R-thumb
psx.input.port3.analogjoy.r1

;psx, Virtual Port 3, Analog Joystick: Left stick, Pinky
psx.input.port3.analogjoy.r2

;psx, Virtual Port 3, Analog Joystick: Thumbstick RIGHT ?
psx.input.port3.analogjoy.right

;psx, Virtual Port 3, Analog Joystick: Right Stick, BACK ?
psx.input.port3.analogjoy.rstick_down

;psx, Virtual Port 3, Analog Joystick: Right Stick, LEFT ?
psx.input.port3.analogjoy.rstick_left

;psx, Virtual Port 3, Analog Joystick: Right Stick, RIGHT ?
psx.input.port3.analogjoy.rstick_right

;psx, Virtual Port 3, Analog Joystick: Right Stick, FORE ?
psx.input.port3.analogjoy.rstick_up

;psx, Virtual Port 3, Analog Joystick: SELECT
psx.input.port3.analogjoy.select

;psx, Virtual Port 3, Analog Joystick: Right stick, Trigger
psx.input.port3.analogjoy.square

;psx, Virtual Port 3, Analog Joystick: START
psx.input.port3.analogjoy.start

;psx, Virtual Port 3, Analog Joystick: Right stick, Pinky
psx.input.port3.analogjoy.triangle

;psx, Virtual Port 3, Analog Joystick: Thumbstick UP ?
psx.input.port3.analogjoy.up

;psx, Virtual Port 3, Dance Pad: ? (upper right)
psx.input.port3.dancepad.circle

;psx, Virtual Port 3, Dance Pad: x (upper left)
psx.input.port3.dancepad.cross

;psx, Virtual Port 3, Dance Pad: DOWN ?
psx.input.port3.dancepad.down

;psx, Virtual Port 3, Dance Pad: LEFT ?
psx.input.port3.dancepad.left

;psx, Virtual Port 3, Dance Pad: RIGHT ?
psx.input.port3.dancepad.right

;psx, Virtual Port 3, Dance Pad: SELECT
psx.input.port3.dancepad.select

;psx, Virtual Port 3, Dance Pad: ? (lower right)
psx.input.port3.dancepad.square

;psx, Virtual Port 3, Dance Pad: START
psx.input.port3.dancepad.start

;psx, Virtual Port 3, Dance Pad: ? (lower left)
psx.input.port3.dancepad.triangle

;psx, Virtual Port 3, Dance Pad: UP ?
psx.input.port3.dancepad.up

;Analog axis scale coefficient for Dual Analog on Virtual Port 3.
psx.input.port3.dualanalog.axis_scale 1.00

;psx, Virtual Port 3, Dual Analog: ? (right)
psx.input.port3.dualanalog.circle

;psx, Virtual Port 3, Dual Analog: x (lower)
psx.input.port3.dualanalog.cross

;psx, Virtual Port 3, Dual Analog: D-Pad DOWN ?
psx.input.port3.dualanalog.down

;psx, Virtual Port 3, Dual Analog: L1 (front left shoulder)
psx.input.port3.dualanalog.l1

;psx, Virtual Port 3, Dual Analog: L2 (rear left shoulder)
psx.input.port3.dualanalog.l2

;psx, Virtual Port 3, Dual Analog: Left Stick, Button(L3)
psx.input.port3.dualanalog.l3

;psx, Virtual Port 3, Dual Analog: D-Pad LEFT ?
psx.input.port3.dualanalog.left

;psx, Virtual Port 3, Dual Analog: Left Stick DOWN ?
psx.input.port3.dualanalog.lstick_down

;psx, Virtual Port 3, Dual Analog: Left Stick LEFT ?
psx.input.port3.dualanalog.lstick_left

;psx, Virtual Port 3, Dual Analog: Left Stick RIGHT ?
psx.input.port3.dualanalog.lstick_right

;psx, Virtual Port 3, Dual Analog: Left Stick UP ?
psx.input.port3.dualanalog.lstick_up

;psx, Virtual Port 3, Dual Analog: R1 (front right shoulder)
psx.input.port3.dualanalog.r1

;psx, Virtual Port 3, Dual Analog: R2 (rear right shoulder)
psx.input.port3.dualanalog.r2

;psx, Virtual Port 3, Dual Analog: Right stick, Button(R3)
psx.input.port3.dualanalog.r3

;psx, Virtual Port 3, Dual Analog: Rapid ? (right)
psx.input.port3.dualanalog.rapid_circle

;psx, Virtual Port 3, Dual Analog: Rapid x (lower)
psx.input.port3.dualanalog.rapid_cross

;psx, Virtual Port 3, Dual Analog: Rapid ? (left)
psx.input.port3.dualanalog.rapid_square

;psx, Virtual Port 3, Dual Analog: Rapid ? (upper)
psx.input.port3.dualanalog.rapid_triangle

;psx, Virtual Port 3, Dual Analog: D-Pad RIGHT ?
psx.input.port3.dualanalog.right

;psx, Virtual Port 3, Dual Analog: Right Stick DOWN ?
psx.input.port3.dualanalog.rstick_down

;psx, Virtual Port 3, Dual Analog: Right Stick LEFT ?
psx.input.port3.dualanalog.rstick_left

;psx, Virtual Port 3, Dual Analog: Right Stick RIGHT ?
psx.input.port3.dualanalog.rstick_right

;psx, Virtual Port 3, Dual Analog: Right Stick UP ?
psx.input.port3.dualanalog.rstick_up

;psx, Virtual Port 3, Dual Analog: SELECT
psx.input.port3.dualanalog.select

;psx, Virtual Port 3, Dual Analog: ? (left)
psx.input.port3.dualanalog.square

;psx, Virtual Port 3, Dual Analog: START
psx.input.port3.dualanalog.start

;psx, Virtual Port 3, Dual Analog: ? (upper)
psx.input.port3.dualanalog.triangle

;psx, Virtual Port 3, Dual Analog: D-Pad UP ?
psx.input.port3.dualanalog.up

;psx, Virtual Port 3, DualShock: Analog(mode toggle)
psx.input.port3.dualshock.analog

;Analog axis scale coefficient for DualShock on Virtual Port 3.
psx.input.port3.dualshock.axis_scale 1.00

;psx, Virtual Port 3, DualShock: ? (right)
psx.input.port3.dualshock.circle

;psx, Virtual Port 3, DualShock: x (lower)
psx.input.port3.dualshock.cross

;psx, Virtual Port 3, DualShock: D-Pad DOWN ?
psx.input.port3.dualshock.down

;psx, Virtual Port 3, DualShock: L1 (front left shoulder)
psx.input.port3.dualshock.l1

;psx, Virtual Port 3, DualShock: L2 (rear left shoulder)
psx.input.port3.dualshock.l2

;psx, Virtual Port 3, DualShock: Left Stick, Button(L3)
psx.input.port3.dualshock.l3

;psx, Virtual Port 3, DualShock: D-Pad LEFT ?
psx.input.port3.dualshock.left

;psx, Virtual Port 3, DualShock: Left Stick DOWN ?
psx.input.port3.dualshock.lstick_down

;psx, Virtual Port 3, DualShock: Left Stick LEFT ?
psx.input.port3.dualshock.lstick_left

;psx, Virtual Port 3, DualShock: Left Stick RIGHT ?
psx.input.port3.dualshock.lstick_right

;psx, Virtual Port 3, DualShock: Left Stick UP ?
psx.input.port3.dualshock.lstick_up

;psx, Virtual Port 3, DualShock: R1 (front right shoulder)
psx.input.port3.dualshock.r1

;psx, Virtual Port 3, DualShock: R2 (rear right shoulder)
psx.input.port3.dualshock.r2

;psx, Virtual Port 3, DualShock: Right stick, Button(R3)
psx.input.port3.dualshock.r3

;psx, Virtual Port 3, DualShock: Rapid ? (right)
psx.input.port3.dualshock.rapid_circle

;psx, Virtual Port 3, DualShock: Rapid x (lower)
psx.input.port3.dualshock.rapid_cross

;psx, Virtual Port 3, DualShock: Rapid ? (left)
psx.input.port3.dualshock.rapid_square

;psx, Virtual Port 3, DualShock: Rapid ? (upper)
psx.input.port3.dualshock.rapid_triangle

;psx, Virtual Port 3, DualShock: D-Pad RIGHT ?
psx.input.port3.dualshock.right

;psx, Virtual Port 3, DualShock: Right Stick DOWN ?
psx.input.port3.dualshock.rstick_down

;psx, Virtual Port 3, DualShock: Right Stick LEFT ?
psx.input.port3.dualshock.rstick_left

;psx, Virtual Port 3, DualShock: Right Stick RIGHT ?
psx.input.port3.dualshock.rstick_right

;psx, Virtual Port 3, DualShock: Right Stick UP ?
psx.input.port3.dualshock.rstick_up

;psx, Virtual Port 3, DualShock: SELECT
psx.input.port3.dualshock.select

;psx, Virtual Port 3, DualShock: ? (left)
psx.input.port3.dualshock.square

;psx, Virtual Port 3, DualShock: START
psx.input.port3.dualshock.start

;psx, Virtual Port 3, DualShock: ? (upper)
psx.input.port3.dualshock.triangle

;psx, Virtual Port 3, DualShock: D-Pad UP ?
psx.input.port3.dualshock.up

;psx, Virtual Port 3, Digital Gamepad: ? (right)
psx.input.port3.gamepad.circle

;psx, Virtual Port 3, Digital Gamepad: x (lower)
psx.input.port3.gamepad.cross

;psx, Virtual Port 3, Digital Gamepad: DOWN ?
psx.input.port3.gamepad.down

;psx, Virtual Port 3, Digital Gamepad: L1 (front left shoulder)
psx.input.port3.gamepad.l1

;psx, Virtual Port 3, Digital Gamepad: L2 (rear left shoulder)
psx.input.port3.gamepad.l2

;psx, Virtual Port 3, Digital Gamepad: LEFT ?
psx.input.port3.gamepad.left

;psx, Virtual Port 3, Digital Gamepad: R1 (front right shoulder)
psx.input.port3.gamepad.r1

;psx, Virtual Port 3, Digital Gamepad: R2 (rear right shoulder)
psx.input.port3.gamepad.r2

;psx, Virtual Port 3, Digital Gamepad: Rapid ? (right)
psx.input.port3.gamepad.rapid_circle

;psx, Virtual Port 3, Digital Gamepad: Rapid x (lower)
psx.input.port3.gamepad.rapid_cross

;psx, Virtual Port 3, Digital Gamepad: Rapid ? (left)
psx.input.port3.gamepad.rapid_square

;psx, Virtual Port 3, Digital Gamepad: Rapid ? (upper)
psx.input.port3.gamepad.rapid_triangle

;psx, Virtual Port 3, Digital Gamepad: RIGHT ?
psx.input.port3.gamepad.right

;psx, Virtual Port 3, Digital Gamepad: SELECT
psx.input.port3.gamepad.select

;psx, Virtual Port 3, Digital Gamepad: ? (left)
psx.input.port3.gamepad.square

;psx, Virtual Port 3, Digital Gamepad: START
psx.input.port3.gamepad.start

;psx, Virtual Port 3, Digital Gamepad: ? (upper)
psx.input.port3.gamepad.triangle

;psx, Virtual Port 3, Digital Gamepad: UP ?
psx.input.port3.gamepad.up

;Crosshairs color for lightgun on virtual port 3.
psx.input.port3.gun_chairs 0xFF00FF

;psx, Virtual Port 3, GunCon: A
psx.input.port3.guncon.a mouse 0x0 button_right

;psx, Virtual Port 3, GunCon: B
psx.input.port3.guncon.b mouse 0x0 button_middle

;psx, Virtual Port 3, GunCon: Offscreen Shot(Simulated)
psx.input.port3.guncon.offscreen_shot keyboard 0x0 44

;psx, Virtual Port 3, GunCon: Trigger
psx.input.port3.guncon.trigger mouse 0x0 button_left

;psx, Virtual Port 3, GunCon: X Axis
psx.input.port3.guncon.x_axis mouse 0x0 cursor_x-+

;psx, Virtual Port 3, GunCon: Y Axis
psx.input.port3.guncon.y_axis mouse 0x0 cursor_y-+

;psx, Virtual Port 3, Konami Justifier: O
psx.input.port3.justifier.o

;psx, Virtual Port 3, Konami Justifier: Offscreen Shot(Simulated)
psx.input.port3.justifier.offscreen_shot

;psx, Virtual Port 3, Konami Justifier: Start
psx.input.port3.justifier.start

;psx, Virtual Port 3, Konami Justifier: Trigger
psx.input.port3.justifier.trigger

;psx, Virtual Port 3, Konami Justifier: X Axis
psx.input.port3.justifier.x_axis

;psx, Virtual Port 3, Konami Justifier: Y Axis
psx.input.port3.justifier.y_axis

;Emulate memory card on virtual port 3.
psx.input.port3.memcard 1

;psx, Virtual Port 3, Mouse: Left Button
psx.input.port3.mouse.left mouse 0x0 button_left

;psx, Virtual Port 3, Mouse: Motion Down
psx.input.port3.mouse.motion_down mouse 0x0 rel_y+

;psx, Virtual Port 3, Mouse: Motion Left
psx.input.port3.mouse.motion_left mouse 0x0 rel_x-

;psx, Virtual Port 3, Mouse: Motion Right
psx.input.port3.mouse.motion_right mouse 0x0 rel_x+

;psx, Virtual Port 3, Mouse: Motion Up
psx.input.port3.mouse.motion_up mouse 0x0 rel_y-

;psx, Virtual Port 3, Mouse: Right Button
psx.input.port3.mouse.right mouse 0x0 button_right

;psx, Virtual Port 3, neGcon: A
psx.input.port3.negcon.a

;psx, Virtual Port 3, neGcon: B
psx.input.port3.negcon.b

;psx, Virtual Port 3, neGcon: D-Pad DOWN ?
psx.input.port3.negcon.down

;psx, Virtual Port 3, neGcon: I (Analog)
psx.input.port3.negcon.i

;psx, Virtual Port 3, neGcon: II (Analog)
psx.input.port3.negcon.ii

;psx, Virtual Port 3, neGcon: Left Shoulder (Analog)
psx.input.port3.negcon.l

;psx, Virtual Port 3, neGcon: D-Pad LEFT ?
psx.input.port3.negcon.left

;psx, Virtual Port 3, neGcon: Right Shoulder
psx.input.port3.negcon.r

;psx, Virtual Port 3, neGcon: D-Pad RIGHT ?
psx.input.port3.negcon.right

;psx, Virtual Port 3, neGcon: START
psx.input.port3.negcon.start

;psx, Virtual Port 3, neGcon: Twist ?|? (Analog, Turn Left)
psx.input.port3.negcon.twist_ccwise

;psx, Virtual Port 3, neGcon: Twist ?|? (Analog, Turn Right)
psx.input.port3.negcon.twist_cwise

;psx, Virtual Port 3, neGcon: D-Pad UP ?
psx.input.port3.negcon.up

;Input device for Virtual Port 4
psx.input.port4 gamepad

;Analog axis scale coefficient for Analog Joystick on Virtual Port 4.
psx.input.port4.analogjoy.axis_scale 1.00

;psx, Virtual Port 4, Analog Joystick: Right stick, R-thumb
psx.input.port4.analogjoy.circle

;psx, Virtual Port 4, Analog Joystick: Right stick, L-thumb
psx.input.port4.analogjoy.cross

;psx, Virtual Port 4, Analog Joystick: Thumbstick DOWN ?
psx.input.port4.analogjoy.down

;psx, Virtual Port 4, Analog Joystick: Left stick, L-thumb
psx.input.port4.analogjoy.l1

;psx, Virtual Port 4, Analog Joystick: Left stick, Trigger
psx.input.port4.analogjoy.l2

;psx, Virtual Port 4, Analog Joystick: Thumbstick LEFT ?
psx.input.port4.analogjoy.left

;psx, Virtual Port 4, Analog Joystick: Left Stick, BACK ?
psx.input.port4.analogjoy.lstick_down

;psx, Virtual Port 4, Analog Joystick: Left Stick, LEFT ?
psx.input.port4.analogjoy.lstick_left

;psx, Virtual Port 4, Analog Joystick: Left Stick, RIGHT ?
psx.input.port4.analogjoy.lstick_right

;psx, Virtual Port 4, Analog Joystick: Left Stick, FORE ?
psx.input.port4.analogjoy.lstick_up

;psx, Virtual Port 4, Analog Joystick: Left stick, R-thumb
psx.input.port4.analogjoy.r1

;psx, Virtual Port 4, Analog Joystick: Left stick, Pinky
psx.input.port4.analogjoy.r2

;psx, Virtual Port 4, Analog Joystick: Thumbstick RIGHT ?
psx.input.port4.analogjoy.right

;psx, Virtual Port 4, Analog Joystick: Right Stick, BACK ?
psx.input.port4.analogjoy.rstick_down

;psx, Virtual Port 4, Analog Joystick: Right Stick, LEFT ?
psx.input.port4.analogjoy.rstick_left

;psx, Virtual Port 4, Analog Joystick: Right Stick, RIGHT ?
psx.input.port4.analogjoy.rstick_right

;psx, Virtual Port 4, Analog Joystick: Right Stick, FORE ?
psx.input.port4.analogjoy.rstick_up

;psx, Virtual Port 4, Analog Joystick: SELECT
psx.input.port4.analogjoy.select

;psx, Virtual Port 4, Analog Joystick: Right stick, Trigger
psx.input.port4.analogjoy.square

;psx, Virtual Port 4, Analog Joystick: START
psx.input.port4.analogjoy.start

;psx, Virtual Port 4, Analog Joystick: Right stick, Pinky
psx.input.port4.analogjoy.triangle

;psx, Virtual Port 4, Analog Joystick: Thumbstick UP ?
psx.input.port4.analogjoy.up

;psx, Virtual Port 4, Dance Pad: ? (upper right)
psx.input.port4.dancepad.circle

;psx, Virtual Port 4, Dance Pad: x (upper left)
psx.input.port4.dancepad.cross

;psx, Virtual Port 4, Dance Pad: DOWN ?
psx.input.port4.dancepad.down

;psx, Virtual Port 4, Dance Pad: LEFT ?
psx.input.port4.dancepad.left

;psx, Virtual Port 4, Dance Pad: RIGHT ?
psx.input.port4.dancepad.right

;psx, Virtual Port 4, Dance Pad: SELECT
psx.input.port4.dancepad.select

;psx, Virtual Port 4, Dance Pad: ? (lower right)
psx.input.port4.dancepad.square

;psx, Virtual Port 4, Dance Pad: START
psx.input.port4.dancepad.start

;psx, Virtual Port 4, Dance Pad: ? (lower left)
psx.input.port4.dancepad.triangle

;psx, Virtual Port 4, Dance Pad: UP ?
psx.input.port4.dancepad.up

;Analog axis scale coefficient for Dual Analog on Virtual Port 4.
psx.input.port4.dualanalog.axis_scale 1.00

;psx, Virtual Port 4, Dual Analog: ? (right)
psx.input.port4.dualanalog.circle

;psx, Virtual Port 4, Dual Analog: x (lower)
psx.input.port4.dualanalog.cross

;psx, Virtual Port 4, Dual Analog: D-Pad DOWN ?
psx.input.port4.dualanalog.down

;psx, Virtual Port 4, Dual Analog: L1 (front left shoulder)
psx.input.port4.dualanalog.l1

;psx, Virtual Port 4, Dual Analog: L2 (rear left shoulder)
psx.input.port4.dualanalog.l2

;psx, Virtual Port 4, Dual Analog: Left Stick, Button(L3)
psx.input.port4.dualanalog.l3

;psx, Virtual Port 4, Dual Analog: D-Pad LEFT ?
psx.input.port4.dualanalog.left

;psx, Virtual Port 4, Dual Analog: Left Stick DOWN ?
psx.input.port4.dualanalog.lstick_down

;psx, Virtual Port 4, Dual Analog: Left Stick LEFT ?
psx.input.port4.dualanalog.lstick_left

;psx, Virtual Port 4, Dual Analog: Left Stick RIGHT ?
psx.input.port4.dualanalog.lstick_right

;psx, Virtual Port 4, Dual Analog: Left Stick UP ?
psx.input.port4.dualanalog.lstick_up

;psx, Virtual Port 4, Dual Analog: R1 (front right shoulder)
psx.input.port4.dualanalog.r1

;psx, Virtual Port 4, Dual Analog: R2 (rear right shoulder)
psx.input.port4.dualanalog.r2

;psx, Virtual Port 4, Dual Analog: Right stick, Button(R3)
psx.input.port4.dualanalog.r3

;psx, Virtual Port 4, Dual Analog: Rapid ? (right)
psx.input.port4.dualanalog.rapid_circle

;psx, Virtual Port 4, Dual Analog: Rapid x (lower)
psx.input.port4.dualanalog.rapid_cross

;psx, Virtual Port 4, Dual Analog: Rapid ? (left)
psx.input.port4.dualanalog.rapid_square

;psx, Virtual Port 4, Dual Analog: Rapid ? (upper)
psx.input.port4.dualanalog.rapid_triangle

;psx, Virtual Port 4, Dual Analog: D-Pad RIGHT ?
psx.input.port4.dualanalog.right

;psx, Virtual Port 4, Dual Analog: Right Stick DOWN ?
psx.input.port4.dualanalog.rstick_down

;psx, Virtual Port 4, Dual Analog: Right Stick LEFT ?
psx.input.port4.dualanalog.rstick_left

;psx, Virtual Port 4, Dual Analog: Right Stick RIGHT ?
psx.input.port4.dualanalog.rstick_right

;psx, Virtual Port 4, Dual Analog: Right Stick UP ?
psx.input.port4.dualanalog.rstick_up

;psx, Virtual Port 4, Dual Analog: SELECT
psx.input.port4.dualanalog.select

;psx, Virtual Port 4, Dual Analog: ? (left)
psx.input.port4.dualanalog.square

;psx, Virtual Port 4, Dual Analog: START
psx.input.port4.dualanalog.start

;psx, Virtual Port 4, Dual Analog: ? (upper)
psx.input.port4.dualanalog.triangle

;psx, Virtual Port 4, Dual Analog: D-Pad UP ?
psx.input.port4.dualanalog.up

;psx, Virtual Port 4, DualShock: Analog(mode toggle)
psx.input.port4.dualshock.analog

;Analog axis scale coefficient for DualShock on Virtual Port 4.
psx.input.port4.dualshock.axis_scale 1.00

;psx, Virtual Port 4, DualShock: ? (right)
psx.input.port4.dualshock.circle

;psx, Virtual Port 4, DualShock: x (lower)
psx.input.port4.dualshock.cross

;psx, Virtual Port 4, DualShock: D-Pad DOWN ?
psx.input.port4.dualshock.down

;psx, Virtual Port 4, DualShock: L1 (front left shoulder)
psx.input.port4.dualshock.l1

;psx, Virtual Port 4, DualShock: L2 (rear left shoulder)
psx.input.port4.dualshock.l2

;psx, Virtual Port 4, DualShock: Left Stick, Button(L3)
psx.input.port4.dualshock.l3

;psx, Virtual Port 4, DualShock: D-Pad LEFT ?
psx.input.port4.dualshock.left

;psx, Virtual Port 4, DualShock: Left Stick DOWN ?
psx.input.port4.dualshock.lstick_down

;psx, Virtual Port 4, DualShock: Left Stick LEFT ?
psx.input.port4.dualshock.lstick_left

;psx, Virtual Port 4, DualShock: Left Stick RIGHT ?
psx.input.port4.dualshock.lstick_right

;psx, Virtual Port 4, DualShock: Left Stick UP ?
psx.input.port4.dualshock.lstick_up

;psx, Virtual Port 4, DualShock: R1 (front right shoulder)
psx.input.port4.dualshock.r1

;psx, Virtual Port 4, DualShock: R2 (rear right shoulder)
psx.input.port4.dualshock.r2

;psx, Virtual Port 4, DualShock: Right stick, Button(R3)
psx.input.port4.dualshock.r3

;psx, Virtual Port 4, DualShock: Rapid ? (right)
psx.input.port4.dualshock.rapid_circle

;psx, Virtual Port 4, DualShock: Rapid x (lower)
psx.input.port4.dualshock.rapid_cross

;psx, Virtual Port 4, DualShock: Rapid ? (left)
psx.input.port4.dualshock.rapid_square

;psx, Virtual Port 4, DualShock: Rapid ? (upper)
psx.input.port4.dualshock.rapid_triangle

;psx, Virtual Port 4, DualShock: D-Pad RIGHT ?
psx.input.port4.dualshock.right

;psx, Virtual Port 4, DualShock: Right Stick DOWN ?
psx.input.port4.dualshock.rstick_down

;psx, Virtual Port 4, DualShock: Right Stick LEFT ?
psx.input.port4.dualshock.rstick_left

;psx, Virtual Port 4, DualShock: Right Stick RIGHT ?
psx.input.port4.dualshock.rstick_right

;psx, Virtual Port 4, DualShock: Right Stick UP ?
psx.input.port4.dualshock.rstick_up

;psx, Virtual Port 4, DualShock: SELECT
psx.input.port4.dualshock.select

;psx, Virtual Port 4, DualShock: ? (left)
psx.input.port4.dualshock.square

;psx, Virtual Port 4, DualShock: START
psx.input.port4.dualshock.start

;psx, Virtual Port 4, DualShock: ? (upper)
psx.input.port4.dualshock.triangle

;psx, Virtual Port 4, DualShock: D-Pad UP ?
psx.input.port4.dualshock.up

;psx, Virtual Port 4, Digital Gamepad: ? (right)
psx.input.port4.gamepad.circle

;psx, Virtual Port 4, Digital Gamepad: x (lower)
psx.input.port4.gamepad.cross

;psx, Virtual Port 4, Digital Gamepad: DOWN ?
psx.input.port4.gamepad.down

;psx, Virtual Port 4, Digital Gamepad: L1 (front left shoulder)
psx.input.port4.gamepad.l1

;psx, Virtual Port 4, Digital Gamepad: L2 (rear left shoulder)
psx.input.port4.gamepad.l2

;psx, Virtual Port 4, Digital Gamepad: LEFT ?
psx.input.port4.gamepad.left

;psx, Virtual Port 4, Digital Gamepad: R1 (front right shoulder)
psx.input.port4.gamepad.r1

;psx, Virtual Port 4, Digital Gamepad: R2 (rear right shoulder)
psx.input.port4.gamepad.r2

;psx, Virtual Port 4, Digital Gamepad: Rapid ? (right)
psx.input.port4.gamepad.rapid_circle

;psx, Virtual Port 4, Digital Gamepad: Rapid x (lower)
psx.input.port4.gamepad.rapid_cross

;psx, Virtual Port 4, Digital Gamepad: Rapid ? (left)
psx.input.port4.gamepad.rapid_square

;psx, Virtual Port 4, Digital Gamepad: Rapid ? (upper)
psx.input.port4.gamepad.rapid_triangle

;psx, Virtual Port 4, Digital Gamepad: RIGHT ?
psx.input.port4.gamepad.right

;psx, Virtual Port 4, Digital Gamepad: SELECT
psx.input.port4.gamepad.select

;psx, Virtual Port 4, Digital Gamepad: ? (left)
psx.input.port4.gamepad.square

;psx, Virtual Port 4, Digital Gamepad: START
psx.input.port4.gamepad.start

;psx, Virtual Port 4, Digital Gamepad: ? (upper)
psx.input.port4.gamepad.triangle

;psx, Virtual Port 4, Digital Gamepad: UP ?
psx.input.port4.gamepad.up

;Crosshairs color for lightgun on virtual port 4.
psx.input.port4.gun_chairs 0xFF8000

;psx, Virtual Port 4, GunCon: A
psx.input.port4.guncon.a mouse 0x0 button_right

;psx, Virtual Port 4, GunCon: B
psx.input.port4.guncon.b mouse 0x0 button_middle

;psx, Virtual Port 4, GunCon: Offscreen Shot(Simulated)
psx.input.port4.guncon.offscreen_shot keyboard 0x0 44

;psx, Virtual Port 4, GunCon: Trigger
psx.input.port4.guncon.trigger mouse 0x0 button_left

;psx, Virtual Port 4, GunCon: X Axis
psx.input.port4.guncon.x_axis mouse 0x0 cursor_x-+

;psx, Virtual Port 4, GunCon: Y Axis
psx.input.port4.guncon.y_axis mouse 0x0 cursor_y-+

;psx, Virtual Port 4, Konami Justifier: O
psx.input.port4.justifier.o

;psx, Virtual Port 4, Konami Justifier: Offscreen Shot(Simulated)
psx.input.port4.justifier.offscreen_shot

;psx, Virtual Port 4, Konami Justifier: Start
psx.input.port4.justifier.start

;psx, Virtual Port 4, Konami Justifier: Trigger
psx.input.port4.justifier.trigger

;psx, Virtual Port 4, Konami Justifier: X Axis
psx.input.port4.justifier.x_axis

;psx, Virtual Port 4, Konami Justifier: Y Axis
psx.input.port4.justifier.y_axis

;Emulate memory card on virtual port 4.
psx.input.port4.memcard 1

;psx, Virtual Port 4, Mouse: Left Button
psx.input.port4.mouse.left mouse 0x0 button_left

;psx, Virtual Port 4, Mouse: Motion Down
psx.input.port4.mouse.motion_down mouse 0x0 rel_y+

;psx, Virtual Port 4, Mouse: Motion Left
psx.input.port4.mouse.motion_left mouse 0x0 rel_x-

;psx, Virtual Port 4, Mouse: Motion Right
psx.input.port4.mouse.motion_right mouse 0x0 rel_x+

;psx, Virtual Port 4, Mouse: Motion Up
psx.input.port4.mouse.motion_up mouse 0x0 rel_y-

;psx, Virtual Port 4, Mouse: Right Button
psx.input.port4.mouse.right mouse 0x0 button_right

;psx, Virtual Port 4, neGcon: A
psx.input.port4.negcon.a

;psx, Virtual Port 4, neGcon: B
psx.input.port4.negcon.b

;psx, Virtual Port 4, neGcon: D-Pad DOWN ?
psx.input.port4.negcon.down

;psx, Virtual Port 4, neGcon: I (Analog)
psx.input.port4.negcon.i

;psx, Virtual Port 4, neGcon: II (Analog)
psx.input.port4.negcon.ii

;psx, Virtual Port 4, neGcon: Left Shoulder (Analog)
psx.input.port4.negcon.l

;psx, Virtual Port 4, neGcon: D-Pad LEFT ?
psx.input.port4.negcon.left

;psx, Virtual Port 4, neGcon: Right Shoulder
psx.input.port4.negcon.r

;psx, Virtual Port 4, neGcon: D-Pad RIGHT ?
psx.input.port4.negcon.right

;psx, Virtual Port 4, neGcon: START
psx.input.port4.negcon.start

;psx, Virtual Port 4, neGcon: Twist ?|? (Analog, Turn Left)
psx.input.port4.negcon.twist_ccwise

;psx, Virtual Port 4, neGcon: Twist ?|? (Analog, Turn Right)
psx.input.port4.negcon.twist_cwise

;psx, Virtual Port 4, neGcon: D-Pad UP ?
psx.input.port4.negcon.up

;Input device for Virtual Port 5
psx.input.port5 gamepad

;Analog axis scale coefficient for Analog Joystick on Virtual Port 5.
psx.input.port5.analogjoy.axis_scale 1.00

;psx, Virtual Port 5, Analog Joystick: Right stick, R-thumb
psx.input.port5.analogjoy.circle

;psx, Virtual Port 5, Analog Joystick: Right stick, L-thumb
psx.input.port5.analogjoy.cross

;psx, Virtual Port 5, Analog Joystick: Thumbstick DOWN ?
psx.input.port5.analogjoy.down

;psx, Virtual Port 5, Analog Joystick: Left stick, L-thumb
psx.input.port5.analogjoy.l1

;psx, Virtual Port 5, Analog Joystick: Left stick, Trigger
psx.input.port5.analogjoy.l2

;psx, Virtual Port 5, Analog Joystick: Thumbstick LEFT ?
psx.input.port5.analogjoy.left

;psx, Virtual Port 5, Analog Joystick: Left Stick, BACK ?
psx.input.port5.analogjoy.lstick_down

;psx, Virtual Port 5, Analog Joystick: Left Stick, LEFT ?
psx.input.port5.analogjoy.lstick_left

;psx, Virtual Port 5, Analog Joystick: Left Stick, RIGHT ?
psx.input.port5.analogjoy.lstick_right

;psx, Virtual Port 5, Analog Joystick: Left Stick, FORE ?
psx.input.port5.analogjoy.lstick_up

;psx, Virtual Port 5, Analog Joystick: Left stick, R-thumb
psx.input.port5.analogjoy.r1

;psx, Virtual Port 5, Analog Joystick: Left stick, Pinky
psx.input.port5.analogjoy.r2

;psx, Virtual Port 5, Analog Joystick: Thumbstick RIGHT ?
psx.input.port5.analogjoy.right

;psx, Virtual Port 5, Analog Joystick: Right Stick, BACK ?
psx.input.port5.analogjoy.rstick_down

;psx, Virtual Port 5, Analog Joystick: Right Stick, LEFT ?
psx.input.port5.analogjoy.rstick_left

;psx, Virtual Port 5, Analog Joystick: Right Stick, RIGHT ?
psx.input.port5.analogjoy.rstick_right

;psx, Virtual Port 5, Analog Joystick: Right Stick, FORE ?
psx.input.port5.analogjoy.rstick_up

;psx, Virtual Port 5, Analog Joystick: SELECT
psx.input.port5.analogjoy.select

;psx, Virtual Port 5, Analog Joystick: Right stick, Trigger
psx.input.port5.analogjoy.square

;psx, Virtual Port 5, Analog Joystick: START
psx.input.port5.analogjoy.start

;psx, Virtual Port 5, Analog Joystick: Right stick, Pinky
psx.input.port5.analogjoy.triangle

;psx, Virtual Port 5, Analog Joystick: Thumbstick UP ?
psx.input.port5.analogjoy.up

;psx, Virtual Port 5, Dance Pad: ? (upper right)
psx.input.port5.dancepad.circle

;psx, Virtual Port 5, Dance Pad: x (upper left)
psx.input.port5.dancepad.cross

;psx, Virtual Port 5, Dance Pad: DOWN ?
psx.input.port5.dancepad.down

;psx, Virtual Port 5, Dance Pad: LEFT ?
psx.input.port5.dancepad.left

;psx, Virtual Port 5, Dance Pad: RIGHT ?
psx.input.port5.dancepad.right

;psx, Virtual Port 5, Dance Pad: SELECT
psx.input.port5.dancepad.select

;psx, Virtual Port 5, Dance Pad: ? (lower right)
psx.input.port5.dancepad.square

;psx, Virtual Port 5, Dance Pad: START
psx.input.port5.dancepad.start

;psx, Virtual Port 5, Dance Pad: ? (lower left)
psx.input.port5.dancepad.triangle

;psx, Virtual Port 5, Dance Pad: UP ?
psx.input.port5.dancepad.up

;Analog axis scale coefficient for Dual Analog on Virtual Port 5.
psx.input.port5.dualanalog.axis_scale 1.00

;psx, Virtual Port 5, Dual Analog: ? (right)
psx.input.port5.dualanalog.circle

;psx, Virtual Port 5, Dual Analog: x (lower)
psx.input.port5.dualanalog.cross

;psx, Virtual Port 5, Dual Analog: D-Pad DOWN ?
psx.input.port5.dualanalog.down

;psx, Virtual Port 5, Dual Analog: L1 (front left shoulder)
psx.input.port5.dualanalog.l1

;psx, Virtual Port 5, Dual Analog: L2 (rear left shoulder)
psx.input.port5.dualanalog.l2

;psx, Virtual Port 5, Dual Analog: Left Stick, Button(L3)
psx.input.port5.dualanalog.l3

;psx, Virtual Port 5, Dual Analog: D-Pad LEFT ?
psx.input.port5.dualanalog.left

;psx, Virtual Port 5, Dual Analog: Left Stick DOWN ?
psx.input.port5.dualanalog.lstick_down

;psx, Virtual Port 5, Dual Analog: Left Stick LEFT ?
psx.input.port5.dualanalog.lstick_left

;psx, Virtual Port 5, Dual Analog: Left Stick RIGHT ?
psx.input.port5.dualanalog.lstick_right

;psx, Virtual Port 5, Dual Analog: Left Stick UP ?
psx.input.port5.dualanalog.lstick_up

;psx, Virtual Port 5, Dual Analog: R1 (front right shoulder)
psx.input.port5.dualanalog.r1

;psx, Virtual Port 5, Dual Analog: R2 (rear right shoulder)
psx.input.port5.dualanalog.r2

;psx, Virtual Port 5, Dual Analog: Right stick, Button(R3)
psx.input.port5.dualanalog.r3

;psx, Virtual Port 5, Dual Analog: Rapid ? (right)
psx.input.port5.dualanalog.rapid_circle

;psx, Virtual Port 5, Dual Analog: Rapid x (lower)
psx.input.port5.dualanalog.rapid_cross

;psx, Virtual Port 5, Dual Analog: Rapid ? (left)
psx.input.port5.dualanalog.rapid_square

;psx, Virtual Port 5, Dual Analog: Rapid ? (upper)
psx.input.port5.dualanalog.rapid_triangle

;psx, Virtual Port 5, Dual Analog: D-Pad RIGHT ?
psx.input.port5.dualanalog.right

;psx, Virtual Port 5, Dual Analog: Right Stick DOWN ?
psx.input.port5.dualanalog.rstick_down

;psx, Virtual Port 5, Dual Analog: Right Stick LEFT ?
psx.input.port5.dualanalog.rstick_left

;psx, Virtual Port 5, Dual Analog: Right Stick RIGHT ?
psx.input.port5.dualanalog.rstick_right

;psx, Virtual Port 5, Dual Analog: Right Stick UP ?
psx.input.port5.dualanalog.rstick_up

;psx, Virtual Port 5, Dual Analog: SELECT
psx.input.port5.dualanalog.select

;psx, Virtual Port 5, Dual Analog: ? (left)
psx.input.port5.dualanalog.square

;psx, Virtual Port 5, Dual Analog: START
psx.input.port5.dualanalog.start

;psx, Virtual Port 5, Dual Analog: ? (upper)
psx.input.port5.dualanalog.triangle

;psx, Virtual Port 5, Dual Analog: D-Pad UP ?
psx.input.port5.dualanalog.up

;psx, Virtual Port 5, DualShock: Analog(mode toggle)
psx.input.port5.dualshock.analog

;Analog axis scale coefficient for DualShock on Virtual Port 5.
psx.input.port5.dualshock.axis_scale 1.00

;psx, Virtual Port 5, DualShock: ? (right)
psx.input.port5.dualshock.circle

;psx, Virtual Port 5, DualShock: x (lower)
psx.input.port5.dualshock.cross

;psx, Virtual Port 5, DualShock: D-Pad DOWN ?
psx.input.port5.dualshock.down

;psx, Virtual Port 5, DualShock: L1 (front left shoulder)
psx.input.port5.dualshock.l1

;psx, Virtual Port 5, DualShock: L2 (rear left shoulder)
psx.input.port5.dualshock.l2

;psx, Virtual Port 5, DualShock: Left Stick, Button(L3)
psx.input.port5.dualshock.l3

;psx, Virtual Port 5, DualShock: D-Pad LEFT ?
psx.input.port5.dualshock.left

;psx, Virtual Port 5, DualShock: Left Stick DOWN ?
psx.input.port5.dualshock.lstick_down

;psx, Virtual Port 5, DualShock: Left Stick LEFT ?
psx.input.port5.dualshock.lstick_left

;psx, Virtual Port 5, DualShock: Left Stick RIGHT ?
psx.input.port5.dualshock.lstick_right

;psx, Virtual Port 5, DualShock: Left Stick UP ?
psx.input.port5.dualshock.lstick_up

;psx, Virtual Port 5, DualShock: R1 (front right shoulder)
psx.input.port5.dualshock.r1

;psx, Virtual Port 5, DualShock: R2 (rear right shoulder)
psx.input.port5.dualshock.r2

;psx, Virtual Port 5, DualShock: Right stick, Button(R3)
psx.input.port5.dualshock.r3

;psx, Virtual Port 5, DualShock: Rapid ? (right)
psx.input.port5.dualshock.rapid_circle

;psx, Virtual Port 5, DualShock: Rapid x (lower)
psx.input.port5.dualshock.rapid_cross

;psx, Virtual Port 5, DualShock: Rapid ? (left)
psx.input.port5.dualshock.rapid_square

;psx, Virtual Port 5, DualShock: Rapid ? (upper)
psx.input.port5.dualshock.rapid_triangle

;psx, Virtual Port 5, DualShock: D-Pad RIGHT ?
psx.input.port5.dualshock.right

;psx, Virtual Port 5, DualShock: Right Stick DOWN ?
psx.input.port5.dualshock.rstick_down

;psx, Virtual Port 5, DualShock: Right Stick LEFT ?
psx.input.port5.dualshock.rstick_left

;psx, Virtual Port 5, DualShock: Right Stick RIGHT ?
psx.input.port5.dualshock.rstick_right

;psx, Virtual Port 5, DualShock: Right Stick UP ?
psx.input.port5.dualshock.rstick_up

;psx, Virtual Port 5, DualShock: SELECT
psx.input.port5.dualshock.select

;psx, Virtual Port 5, DualShock: ? (left)
psx.input.port5.dualshock.square

;psx, Virtual Port 5, DualShock: START
psx.input.port5.dualshock.start

;psx, Virtual Port 5, DualShock: ? (upper)
psx.input.port5.dualshock.triangle

;psx, Virtual Port 5, DualShock: D-Pad UP ?
psx.input.port5.dualshock.up

;psx, Virtual Port 5, Digital Gamepad: ? (right)
psx.input.port5.gamepad.circle

;psx, Virtual Port 5, Digital Gamepad: x (lower)
psx.input.port5.gamepad.cross

;psx, Virtual Port 5, Digital Gamepad: DOWN ?
psx.input.port5.gamepad.down

;psx, Virtual Port 5, Digital Gamepad: L1 (front left shoulder)
psx.input.port5.gamepad.l1

;psx, Virtual Port 5, Digital Gamepad: L2 (rear left shoulder)
psx.input.port5.gamepad.l2

;psx, Virtual Port 5, Digital Gamepad: LEFT ?
psx.input.port5.gamepad.left

;psx, Virtual Port 5, Digital Gamepad: R1 (front right shoulder)
psx.input.port5.gamepad.r1

;psx, Virtual Port 5, Digital Gamepad: R2 (rear right shoulder)
psx.input.port5.gamepad.r2

;psx, Virtual Port 5, Digital Gamepad: Rapid ? (right)
psx.input.port5.gamepad.rapid_circle

;psx, Virtual Port 5, Digital Gamepad: Rapid x (lower)
psx.input.port5.gamepad.rapid_cross

;psx, Virtual Port 5, Digital Gamepad: Rapid ? (left)
psx.input.port5.gamepad.rapid_square

;psx, Virtual Port 5, Digital Gamepad: Rapid ? (upper)
psx.input.port5.gamepad.rapid_triangle

;psx, Virtual Port 5, Digital Gamepad: RIGHT ?
psx.input.port5.gamepad.right

;psx, Virtual Port 5, Digital Gamepad: SELECT
psx.input.port5.gamepad.select

;psx, Virtual Port 5, Digital Gamepad: ? (left)
psx.input.port5.gamepad.square

;psx, Virtual Port 5, Digital Gamepad: START
psx.input.port5.gamepad.start

;psx, Virtual Port 5, Digital Gamepad: ? (upper)
psx.input.port5.gamepad.triangle

;psx, Virtual Port 5, Digital Gamepad: UP ?
psx.input.port5.gamepad.up

;Crosshairs color for lightgun on virtual port 5.
psx.input.port5.gun_chairs 0xFFFF00

;psx, Virtual Port 5, GunCon: A
psx.input.port5.guncon.a mouse 0x0 button_right

;psx, Virtual Port 5, GunCon: B
psx.input.port5.guncon.b mouse 0x0 button_middle

;psx, Virtual Port 5, GunCon: Offscreen Shot(Simulated)
psx.input.port5.guncon.offscreen_shot keyboard 0x0 44

;psx, Virtual Port 5, GunCon: Trigger
psx.input.port5.guncon.trigger mouse 0x0 button_left

;psx, Virtual Port 5, GunCon: X Axis
psx.input.port5.guncon.x_axis mouse 0x0 cursor_x-+

;psx, Virtual Port 5, GunCon: Y Axis
psx.input.port5.guncon.y_axis mouse 0x0 cursor_y-+

;psx, Virtual Port 5, Konami Justifier: O
psx.input.port5.justifier.o

;psx, Virtual Port 5, Konami Justifier: Offscreen Shot(Simulated)
psx.input.port5.justifier.offscreen_shot

;psx, Virtual Port 5, Konami Justifier: Start
psx.input.port5.justifier.start

;psx, Virtual Port 5, Konami Justifier: Trigger
psx.input.port5.justifier.trigger

;psx, Virtual Port 5, Konami Justifier: X Axis
psx.input.port5.justifier.x_axis

;psx, Virtual Port 5, Konami Justifier: Y Axis
psx.input.port5.justifier.y_axis

;Emulate memory card on virtual port 5.
psx.input.port5.memcard 1

;psx, Virtual Port 5, Mouse: Left Button
psx.input.port5.mouse.left mouse 0x0 button_left

;psx, Virtual Port 5, Mouse: Motion Down
psx.input.port5.mouse.motion_down mouse 0x0 rel_y+

;psx, Virtual Port 5, Mouse: Motion Left
psx.input.port5.mouse.motion_left mouse 0x0 rel_x-

;psx, Virtual Port 5, Mouse: Motion Right
psx.input.port5.mouse.motion_right mouse 0x0 rel_x+

;psx, Virtual Port 5, Mouse: Motion Up
psx.input.port5.mouse.motion_up mouse 0x0 rel_y-

;psx, Virtual Port 5, Mouse: Right Button
psx.input.port5.mouse.right mouse 0x0 button_right

;psx, Virtual Port 5, neGcon: A
psx.input.port5.negcon.a

;psx, Virtual Port 5, neGcon: B
psx.input.port5.negcon.b

;psx, Virtual Port 5, neGcon: D-Pad DOWN ?
psx.input.port5.negcon.down

;psx, Virtual Port 5, neGcon: I (Analog)
psx.input.port5.negcon.i

;psx, Virtual Port 5, neGcon: II (Analog)
psx.input.port5.negcon.ii

;psx, Virtual Port 5, neGcon: Left Shoulder (Analog)
psx.input.port5.negcon.l

;psx, Virtual Port 5, neGcon: D-Pad LEFT ?
psx.input.port5.negcon.left

;psx, Virtual Port 5, neGcon: Right Shoulder
psx.input.port5.negcon.r

;psx, Virtual Port 5, neGcon: D-Pad RIGHT ?
psx.input.port5.negcon.right

;psx, Virtual Port 5, neGcon: START
psx.input.port5.negcon.start

;psx, Virtual Port 5, neGcon: Twist ?|? (Analog, Turn Left)
psx.input.port5.negcon.twist_ccwise

;psx, Virtual Port 5, neGcon: Twist ?|? (Analog, Turn Right)
psx.input.port5.negcon.twist_cwise

;psx, Virtual Port 5, neGcon: D-Pad UP ?
psx.input.port5.negcon.up

;Input device for Virtual Port 6
psx.input.port6 gamepad

;Analog axis scale coefficient for Analog Joystick on Virtual Port 6.
psx.input.port6.analogjoy.axis_scale 1.00

;psx, Virtual Port 6, Analog Joystick: Right stick, R-thumb
psx.input.port6.analogjoy.circle

;psx, Virtual Port 6, Analog Joystick: Right stick, L-thumb
psx.input.port6.analogjoy.cross

;psx, Virtual Port 6, Analog Joystick: Thumbstick DOWN ?
psx.input.port6.analogjoy.down

;psx, Virtual Port 6, Analog Joystick: Left stick, L-thumb
psx.input.port6.analogjoy.l1

;psx, Virtual Port 6, Analog Joystick: Left stick, Trigger
psx.input.port6.analogjoy.l2

;psx, Virtual Port 6, Analog Joystick: Thumbstick LEFT ?
psx.input.port6.analogjoy.left

;psx, Virtual Port 6, Analog Joystick: Left Stick, BACK ?
psx.input.port6.analogjoy.lstick_down

;psx, Virtual Port 6, Analog Joystick: Left Stick, LEFT ?
psx.input.port6.analogjoy.lstick_left

;psx, Virtual Port 6, Analog Joystick: Left Stick, RIGHT ?
psx.input.port6.analogjoy.lstick_right

;psx, Virtual Port 6, Analog Joystick: Left Stick, FORE ?
psx.input.port6.analogjoy.lstick_up

;psx, Virtual Port 6, Analog Joystick: Left stick, R-thumb
psx.input.port6.analogjoy.r1

;psx, Virtual Port 6, Analog Joystick: Left stick, Pinky
psx.input.port6.analogjoy.r2

;psx, Virtual Port 6, Analog Joystick: Thumbstick RIGHT ?
psx.input.port6.analogjoy.right

;psx, Virtual Port 6, Analog Joystick: Right Stick, BACK ?
psx.input.port6.analogjoy.rstick_down

;psx, Virtual Port 6, Analog Joystick: Right Stick, LEFT ?
psx.input.port6.analogjoy.rstick_left

;psx, Virtual Port 6, Analog Joystick: Right Stick, RIGHT ?
psx.input.port6.analogjoy.rstick_right

;psx, Virtual Port 6, Analog Joystick: Right Stick, FORE ?
psx.input.port6.analogjoy.rstick_up

;psx, Virtual Port 6, Analog Joystick: SELECT
psx.input.port6.analogjoy.select

;psx, Virtual Port 6, Analog Joystick: Right stick, Trigger
psx.input.port6.analogjoy.square

;psx, Virtual Port 6, Analog Joystick: START
psx.input.port6.analogjoy.start

;psx, Virtual Port 6, Analog Joystick: Right stick, Pinky
psx.input.port6.analogjoy.triangle

;psx, Virtual Port 6, Analog Joystick: Thumbstick UP ?
psx.input.port6.analogjoy.up

;psx, Virtual Port 6, Dance Pad: ? (upper right)
psx.input.port6.dancepad.circle

;psx, Virtual Port 6, Dance Pad: x (upper left)
psx.input.port6.dancepad.cross

;psx, Virtual Port 6, Dance Pad: DOWN ?
psx.input.port6.dancepad.down

;psx, Virtual Port 6, Dance Pad: LEFT ?
psx.input.port6.dancepad.left

;psx, Virtual Port 6, Dance Pad: RIGHT ?
psx.input.port6.dancepad.right

;psx, Virtual Port 6, Dance Pad: SELECT
psx.input.port6.dancepad.select

;psx, Virtual Port 6, Dance Pad: ? (lower right)
psx.input.port6.dancepad.square

;psx, Virtual Port 6, Dance Pad: START
psx.input.port6.dancepad.start

;psx, Virtual Port 6, Dance Pad: ? (lower left)
psx.input.port6.dancepad.triangle

;psx, Virtual Port 6, Dance Pad: UP ?
psx.input.port6.dancepad.up

;Analog axis scale coefficient for Dual Analog on Virtual Port 6.
psx.input.port6.dualanalog.axis_scale 1.00

;psx, Virtual Port 6, Dual Analog: ? (right)
psx.input.port6.dualanalog.circle

;psx, Virtual Port 6, Dual Analog: x (lower)
psx.input.port6.dualanalog.cross

;psx, Virtual Port 6, Dual Analog: D-Pad DOWN ?
psx.input.port6.dualanalog.down

;psx, Virtual Port 6, Dual Analog: L1 (front left shoulder)
psx.input.port6.dualanalog.l1

;psx, Virtual Port 6, Dual Analog: L2 (rear left shoulder)
psx.input.port6.dualanalog.l2

;psx, Virtual Port 6, Dual Analog: Left Stick, Button(L3)
psx.input.port6.dualanalog.l3

;psx, Virtual Port 6, Dual Analog: D-Pad LEFT ?
psx.input.port6.dualanalog.left

;psx, Virtual Port 6, Dual Analog: Left Stick DOWN ?
psx.input.port6.dualanalog.lstick_down

;psx, Virtual Port 6, Dual Analog: Left Stick LEFT ?
psx.input.port6.dualanalog.lstick_left

;psx, Virtual Port 6, Dual Analog: Left Stick RIGHT ?
psx.input.port6.dualanalog.lstick_right

;psx, Virtual Port 6, Dual Analog: Left Stick UP ?
psx.input.port6.dualanalog.lstick_up

;psx, Virtual Port 6, Dual Analog: R1 (front right shoulder)
psx.input.port6.dualanalog.r1

;psx, Virtual Port 6, Dual Analog: R2 (rear right shoulder)
psx.input.port6.dualanalog.r2

;psx, Virtual Port 6, Dual Analog: Right stick, Button(R3)
psx.input.port6.dualanalog.r3

;psx, Virtual Port 6, Dual Analog: Rapid ? (right)
psx.input.port6.dualanalog.rapid_circle

;psx, Virtual Port 6, Dual Analog: Rapid x (lower)
psx.input.port6.dualanalog.rapid_cross

;psx, Virtual Port 6, Dual Analog: Rapid ? (left)
psx.input.port6.dualanalog.rapid_square

;psx, Virtual Port 6, Dual Analog: Rapid ? (upper)
psx.input.port6.dualanalog.rapid_triangle

;psx, Virtual Port 6, Dual Analog: D-Pad RIGHT ?
psx.input.port6.dualanalog.right

;psx, Virtual Port 6, Dual Analog: Right Stick DOWN ?
psx.input.port6.dualanalog.rstick_down

;psx, Virtual Port 6, Dual Analog: Right Stick LEFT ?
psx.input.port6.dualanalog.rstick_left

;psx, Virtual Port 6, Dual Analog: Right Stick RIGHT ?
psx.input.port6.dualanalog.rstick_right

;psx, Virtual Port 6, Dual Analog: Right Stick UP ?
psx.input.port6.dualanalog.rstick_up

;psx, Virtual Port 6, Dual Analog: SELECT
psx.input.port6.dualanalog.select

;psx, Virtual Port 6, Dual Analog: ? (left)
psx.input.port6.dualanalog.square

;psx, Virtual Port 6, Dual Analog: START
psx.input.port6.dualanalog.start

;psx, Virtual Port 6, Dual Analog: ? (upper)
psx.input.port6.dualanalog.triangle

;psx, Virtual Port 6, Dual Analog: D-Pad UP ?
psx.input.port6.dualanalog.up

;psx, Virtual Port 6, DualShock: Analog(mode toggle)
psx.input.port6.dualshock.analog

;Analog axis scale coefficient for DualShock on Virtual Port 6.
psx.input.port6.dualshock.axis_scale 1.00

;psx, Virtual Port 6, DualShock: ? (right)
psx.input.port6.dualshock.circle

;psx, Virtual Port 6, DualShock: x (lower)
psx.input.port6.dualshock.cross

;psx, Virtual Port 6, DualShock: D-Pad DOWN ?
psx.input.port6.dualshock.down

;psx, Virtual Port 6, DualShock: L1 (front left shoulder)
psx.input.port6.dualshock.l1

;psx, Virtual Port 6, DualShock: L2 (rear left shoulder)
psx.input.port6.dualshock.l2

;psx, Virtual Port 6, DualShock: Left Stick, Button(L3)
psx.input.port6.dualshock.l3

;psx, Virtual Port 6, DualShock: D-Pad LEFT ?
psx.input.port6.dualshock.left

;psx, Virtual Port 6, DualShock: Left Stick DOWN ?
psx.input.port6.dualshock.lstick_down

;psx, Virtual Port 6, DualShock: Left Stick LEFT ?
psx.input.port6.dualshock.lstick_left

;psx, Virtual Port 6, DualShock: Left Stick RIGHT ?
psx.input.port6.dualshock.lstick_right

;psx, Virtual Port 6, DualShock: Left Stick UP ?
psx.input.port6.dualshock.lstick_up

;psx, Virtual Port 6, DualShock: R1 (front right shoulder)
psx.input.port6.dualshock.r1

;psx, Virtual Port 6, DualShock: R2 (rear right shoulder)
psx.input.port6.dualshock.r2

;psx, Virtual Port 6, DualShock: Right stick, Button(R3)
psx.input.port6.dualshock.r3

;psx, Virtual Port 6, DualShock: Rapid ? (right)
psx.input.port6.dualshock.rapid_circle

;psx, Virtual Port 6, DualShock: Rapid x (lower)
psx.input.port6.dualshock.rapid_cross

;psx, Virtual Port 6, DualShock: Rapid ? (left)
psx.input.port6.dualshock.rapid_square

;psx, Virtual Port 6, DualShock: Rapid ? (upper)
psx.input.port6.dualshock.rapid_triangle

;psx, Virtual Port 6, DualShock: D-Pad RIGHT ?
psx.input.port6.dualshock.right

;psx, Virtual Port 6, DualShock: Right Stick DOWN ?
psx.input.port6.dualshock.rstick_down

;psx, Virtual Port 6, DualShock: Right Stick LEFT ?
psx.input.port6.dualshock.rstick_left

;psx, Virtual Port 6, DualShock: Right Stick RIGHT ?
psx.input.port6.dualshock.rstick_right

;psx, Virtual Port 6, DualShock: Right Stick UP ?
psx.input.port6.dualshock.rstick_up

;psx, Virtual Port 6, DualShock: SELECT
psx.input.port6.dualshock.select

;psx, Virtual Port 6, DualShock: ? (left)
psx.input.port6.dualshock.square

;psx, Virtual Port 6, DualShock: START
psx.input.port6.dualshock.start

;psx, Virtual Port 6, DualShock: ? (upper)
psx.input.port6.dualshock.triangle

;psx, Virtual Port 6, DualShock: D-Pad UP ?
psx.input.port6.dualshock.up

;psx, Virtual Port 6, Digital Gamepad: ? (right)
psx.input.port6.gamepad.circle

;psx, Virtual Port 6, Digital Gamepad: x (lower)
psx.input.port6.gamepad.cross

;psx, Virtual Port 6, Digital Gamepad: DOWN ?
psx.input.port6.gamepad.down

;psx, Virtual Port 6, Digital Gamepad: L1 (front left shoulder)
psx.input.port6.gamepad.l1

;psx, Virtual Port 6, Digital Gamepad: L2 (rear left shoulder)
psx.input.port6.gamepad.l2

;psx, Virtual Port 6, Digital Gamepad: LEFT ?
psx.input.port6.gamepad.left

;psx, Virtual Port 6, Digital Gamepad: R1 (front right shoulder)
psx.input.port6.gamepad.r1

;psx, Virtual Port 6, Digital Gamepad: R2 (rear right shoulder)
psx.input.port6.gamepad.r2

;psx, Virtual Port 6, Digital Gamepad: Rapid ? (right)
psx.input.port6.gamepad.rapid_circle

;psx, Virtual Port 6, Digital Gamepad: Rapid x (lower)
psx.input.port6.gamepad.rapid_cross

;psx, Virtual Port 6, Digital Gamepad: Rapid ? (left)
psx.input.port6.gamepad.rapid_square

;psx, Virtual Port 6, Digital Gamepad: Rapid ? (upper)
psx.input.port6.gamepad.rapid_triangle

;psx, Virtual Port 6, Digital Gamepad: RIGHT ?
psx.input.port6.gamepad.right

;psx, Virtual Port 6, Digital Gamepad: SELECT
psx.input.port6.gamepad.select

;psx, Virtual Port 6, Digital Gamepad: ? (left)
psx.input.port6.gamepad.square

;psx, Virtual Port 6, Digital Gamepad: START
psx.input.port6.gamepad.start

;psx, Virtual Port 6, Digital Gamepad: ? (upper)
psx.input.port6.gamepad.triangle

;psx, Virtual Port 6, Digital Gamepad: UP ?
psx.input.port6.gamepad.up

;Crosshairs color for lightgun on virtual port 6.
psx.input.port6.gun_chairs 0x00FFFF

;psx, Virtual Port 6, GunCon: A
psx.input.port6.guncon.a mouse 0x0 button_right

;psx, Virtual Port 6, GunCon: B
psx.input.port6.guncon.b mouse 0x0 button_middle

;psx, Virtual Port 6, GunCon: Offscreen Shot(Simulated)
psx.input.port6.guncon.offscreen_shot keyboard 0x0 44

;psx, Virtual Port 6, GunCon: Trigger
psx.input.port6.guncon.trigger mouse 0x0 button_left

;psx, Virtual Port 6, GunCon: X Axis
psx.input.port6.guncon.x_axis mouse 0x0 cursor_x-+

;psx, Virtual Port 6, GunCon: Y Axis
psx.input.port6.guncon.y_axis mouse 0x0 cursor_y-+

;psx, Virtual Port 6, Konami Justifier: O
psx.input.port6.justifier.o

;psx, Virtual Port 6, Konami Justifier: Offscreen Shot(Simulated)
psx.input.port6.justifier.offscreen_shot

;psx, Virtual Port 6, Konami Justifier: Start
psx.input.port6.justifier.start

;psx, Virtual Port 6, Konami Justifier: Trigger
psx.input.port6.justifier.trigger

;psx, Virtual Port 6, Konami Justifier: X Axis
psx.input.port6.justifier.x_axis

;psx, Virtual Port 6, Konami Justifier: Y Axis
psx.input.port6.justifier.y_axis

;Emulate memory card on virtual port 6.
psx.input.port6.memcard 1

;psx, Virtual Port 6, Mouse: Left Button
psx.input.port6.mouse.left mouse 0x0 button_left

;psx, Virtual Port 6, Mouse: Motion Down
psx.input.port6.mouse.motion_down mouse 0x0 rel_y+

;psx, Virtual Port 6, Mouse: Motion Left
psx.input.port6.mouse.motion_left mouse 0x0 rel_x-

;psx, Virtual Port 6, Mouse: Motion Right
psx.input.port6.mouse.motion_right mouse 0x0 rel_x+

;psx, Virtual Port 6, Mouse: Motion Up
psx.input.port6.mouse.motion_up mouse 0x0 rel_y-

;psx, Virtual Port 6, Mouse: Right Button
psx.input.port6.mouse.right mouse 0x0 button_right

;psx, Virtual Port 6, neGcon: A
psx.input.port6.negcon.a

;psx, Virtual Port 6, neGcon: B
psx.input.port6.negcon.b

;psx, Virtual Port 6, neGcon: D-Pad DOWN ?
psx.input.port6.negcon.down

;psx, Virtual Port 6, neGcon: I (Analog)
psx.input.port6.negcon.i

;psx, Virtual Port 6, neGcon: II (Analog)
psx.input.port6.negcon.ii

;psx, Virtual Port 6, neGcon: Left Shoulder (Analog)
psx.input.port6.negcon.l

;psx, Virtual Port 6, neGcon: D-Pad LEFT ?
psx.input.port6.negcon.left

;psx, Virtual Port 6, neGcon: Right Shoulder
psx.input.port6.negcon.r

;psx, Virtual Port 6, neGcon: D-Pad RIGHT ?
psx.input.port6.negcon.right

;psx, Virtual Port 6, neGcon: START
psx.input.port6.negcon.start

;psx, Virtual Port 6, neGcon: Twist ?|? (Analog, Turn Left)
psx.input.port6.negcon.twist_ccwise

;psx, Virtual Port 6, neGcon: Twist ?|? (Analog, Turn Right)
psx.input.port6.negcon.twist_cwise

;psx, Virtual Port 6, neGcon: D-Pad UP ?
psx.input.port6.negcon.up

;Input device for Virtual Port 7
psx.input.port7 gamepad

;Analog axis scale coefficient for Analog Joystick on Virtual Port 7.
psx.input.port7.analogjoy.axis_scale 1.00

;psx, Virtual Port 7, Analog Joystick: Right stick, R-thumb
psx.input.port7.analogjoy.circle

;psx, Virtual Port 7, Analog Joystick: Right stick, L-thumb
psx.input.port7.analogjoy.cross

;psx, Virtual Port 7, Analog Joystick: Thumbstick DOWN ?
psx.input.port7.analogjoy.down

;psx, Virtual Port 7, Analog Joystick: Left stick, L-thumb
psx.input.port7.analogjoy.l1

;psx, Virtual Port 7, Analog Joystick: Left stick, Trigger
psx.input.port7.analogjoy.l2

;psx, Virtual Port 7, Analog Joystick: Thumbstick LEFT ?
psx.input.port7.analogjoy.left

;psx, Virtual Port 7, Analog Joystick: Left Stick, BACK ?
psx.input.port7.analogjoy.lstick_down

;psx, Virtual Port 7, Analog Joystick: Left Stick, LEFT ?
psx.input.port7.analogjoy.lstick_left

;psx, Virtual Port 7, Analog Joystick: Left Stick, RIGHT ?
psx.input.port7.analogjoy.lstick_right

;psx, Virtual Port 7, Analog Joystick: Left Stick, FORE ?
psx.input.port7.analogjoy.lstick_up

;psx, Virtual Port 7, Analog Joystick: Left stick, R-thumb
psx.input.port7.analogjoy.r1

;psx, Virtual Port 7, Analog Joystick: Left stick, Pinky
psx.input.port7.analogjoy.r2

;psx, Virtual Port 7, Analog Joystick: Thumbstick RIGHT ?
psx.input.port7.analogjoy.right

;psx, Virtual Port 7, Analog Joystick: Right Stick, BACK ?
psx.input.port7.analogjoy.rstick_down

;psx, Virtual Port 7, Analog Joystick: Right Stick, LEFT ?
psx.input.port7.analogjoy.rstick_left

;psx, Virtual Port 7, Analog Joystick: Right Stick, RIGHT ?
psx.input.port7.analogjoy.rstick_right

;psx, Virtual Port 7, Analog Joystick: Right Stick, FORE ?
psx.input.port7.analogjoy.rstick_up

;psx, Virtual Port 7, Analog Joystick: SELECT
psx.input.port7.analogjoy.select

;psx, Virtual Port 7, Analog Joystick: Right stick, Trigger
psx.input.port7.analogjoy.square

;psx, Virtual Port 7, Analog Joystick: START
psx.input.port7.analogjoy.start

;psx, Virtual Port 7, Analog Joystick: Right stick, Pinky
psx.input.port7.analogjoy.triangle

;psx, Virtual Port 7, Analog Joystick: Thumbstick UP ?
psx.input.port7.analogjoy.up

;psx, Virtual Port 7, Dance Pad: ? (upper right)
psx.input.port7.dancepad.circle

;psx, Virtual Port 7, Dance Pad: x (upper left)
psx.input.port7.dancepad.cross

;psx, Virtual Port 7, Dance Pad: DOWN ?
psx.input.port7.dancepad.down

;psx, Virtual Port 7, Dance Pad: LEFT ?
psx.input.port7.dancepad.left

;psx, Virtual Port 7, Dance Pad: RIGHT ?
psx.input.port7.dancepad.right

;psx, Virtual Port 7, Dance Pad: SELECT
psx.input.port7.dancepad.select

;psx, Virtual Port 7, Dance Pad: ? (lower right)
psx.input.port7.dancepad.square

;psx, Virtual Port 7, Dance Pad: START
psx.input.port7.dancepad.start

;psx, Virtual Port 7, Dance Pad: ? (lower left)
psx.input.port7.dancepad.triangle

;psx, Virtual Port 7, Dance Pad: UP ?
psx.input.port7.dancepad.up

;Analog axis scale coefficient for Dual Analog on Virtual Port 7.
psx.input.port7.dualanalog.axis_scale 1.00

;psx, Virtual Port 7, Dual Analog: ? (right)
psx.input.port7.dualanalog.circle

;psx, Virtual Port 7, Dual Analog: x (lower)
psx.input.port7.dualanalog.cross

;psx, Virtual Port 7, Dual Analog: D-Pad DOWN ?
psx.input.port7.dualanalog.down

;psx, Virtual Port 7, Dual Analog: L1 (front left shoulder)
psx.input.port7.dualanalog.l1

;psx, Virtual Port 7, Dual Analog: L2 (rear left shoulder)
psx.input.port7.dualanalog.l2

;psx, Virtual Port 7, Dual Analog: Left Stick, Button(L3)
psx.input.port7.dualanalog.l3

;psx, Virtual Port 7, Dual Analog: D-Pad LEFT ?
psx.input.port7.dualanalog.left

;psx, Virtual Port 7, Dual Analog: Left Stick DOWN ?
psx.input.port7.dualanalog.lstick_down

;psx, Virtual Port 7, Dual Analog: Left Stick LEFT ?
psx.input.port7.dualanalog.lstick_left

;psx, Virtual Port 7, Dual Analog: Left Stick RIGHT ?
psx.input.port7.dualanalog.lstick_right

;psx, Virtual Port 7, Dual Analog: Left Stick UP ?
psx.input.port7.dualanalog.lstick_up

;psx, Virtual Port 7, Dual Analog: R1 (front right shoulder)
psx.input.port7.dualanalog.r1

;psx, Virtual Port 7, Dual Analog: R2 (rear right shoulder)
psx.input.port7.dualanalog.r2

;psx, Virtual Port 7, Dual Analog: Right stick, Button(R3)
psx.input.port7.dualanalog.r3

;psx, Virtual Port 7, Dual Analog: Rapid ? (right)
psx.input.port7.dualanalog.rapid_circle

;psx, Virtual Port 7, Dual Analog: Rapid x (lower)
psx.input.port7.dualanalog.rapid_cross

;psx, Virtual Port 7, Dual Analog: Rapid ? (left)
psx.input.port7.dualanalog.rapid_square

;psx, Virtual Port 7, Dual Analog: Rapid ? (upper)
psx.input.port7.dualanalog.rapid_triangle

;psx, Virtual Port 7, Dual Analog: D-Pad RIGHT ?
psx.input.port7.dualanalog.right

;psx, Virtual Port 7, Dual Analog: Right Stick DOWN ?
psx.input.port7.dualanalog.rstick_down

;psx, Virtual Port 7, Dual Analog: Right Stick LEFT ?
psx.input.port7.dualanalog.rstick_left

;psx, Virtual Port 7, Dual Analog: Right Stick RIGHT ?
psx.input.port7.dualanalog.rstick_right

;psx, Virtual Port 7, Dual Analog: Right Stick UP ?
psx.input.port7.dualanalog.rstick_up

;psx, Virtual Port 7, Dual Analog: SELECT
psx.input.port7.dualanalog.select

;psx, Virtual Port 7, Dual Analog: ? (left)
psx.input.port7.dualanalog.square

;psx, Virtual Port 7, Dual Analog: START
psx.input.port7.dualanalog.start

;psx, Virtual Port 7, Dual Analog: ? (upper)
psx.input.port7.dualanalog.triangle

;psx, Virtual Port 7, Dual Analog: D-Pad UP ?
psx.input.port7.dualanalog.up

;psx, Virtual Port 7, DualShock: Analog(mode toggle)
psx.input.port7.dualshock.analog

;Analog axis scale coefficient for DualShock on Virtual Port 7.
psx.input.port7.dualshock.axis_scale 1.00

;psx, Virtual Port 7, DualShock: ? (right)
psx.input.port7.dualshock.circle

;psx, Virtual Port 7, DualShock: x (lower)
psx.input.port7.dualshock.cross

;psx, Virtual Port 7, DualShock: D-Pad DOWN ?
psx.input.port7.dualshock.down

;psx, Virtual Port 7, DualShock: L1 (front left shoulder)
psx.input.port7.dualshock.l1

;psx, Virtual Port 7, DualShock: L2 (rear left shoulder)
psx.input.port7.dualshock.l2

;psx, Virtual Port 7, DualShock: Left Stick, Button(L3)
psx.input.port7.dualshock.l3

;psx, Virtual Port 7, DualShock: D-Pad LEFT ?
psx.input.port7.dualshock.left

;psx, Virtual Port 7, DualShock: Left Stick DOWN ?
psx.input.port7.dualshock.lstick_down

;psx, Virtual Port 7, DualShock: Left Stick LEFT ?
psx.input.port7.dualshock.lstick_left

;psx, Virtual Port 7, DualShock: Left Stick RIGHT ?
psx.input.port7.dualshock.lstick_right

;psx, Virtual Port 7, DualShock: Left Stick UP ?
psx.input.port7.dualshock.lstick_up

;psx, Virtual Port 7, DualShock: R1 (front right shoulder)
psx.input.port7.dualshock.r1

;psx, Virtual Port 7, DualShock: R2 (rear right shoulder)
psx.input.port7.dualshock.r2

;psx, Virtual Port 7, DualShock: Right stick, Button(R3)
psx.input.port7.dualshock.r3

;psx, Virtual Port 7, DualShock: Rapid ? (right)
psx.input.port7.dualshock.rapid_circle

;psx, Virtual Port 7, DualShock: Rapid x (lower)
psx.input.port7.dualshock.rapid_cross

;psx, Virtual Port 7, DualShock: Rapid ? (left)
psx.input.port7.dualshock.rapid_square

;psx, Virtual Port 7, DualShock: Rapid ? (upper)
psx.input.port7.dualshock.rapid_triangle

;psx, Virtual Port 7, DualShock: D-Pad RIGHT ?
psx.input.port7.dualshock.right

;psx, Virtual Port 7, DualShock: Right Stick DOWN ?
psx.input.port7.dualshock.rstick_down

;psx, Virtual Port 7, DualShock: Right Stick LEFT ?
psx.input.port7.dualshock.rstick_left

;psx, Virtual Port 7, DualShock: Right Stick RIGHT ?
psx.input.port7.dualshock.rstick_right

;psx, Virtual Port 7, DualShock: Right Stick UP ?
psx.input.port7.dualshock.rstick_up

;psx, Virtual Port 7, DualShock: SELECT
psx.input.port7.dualshock.select

;psx, Virtual Port 7, DualShock: ? (left)
psx.input.port7.dualshock.square

;psx, Virtual Port 7, DualShock: START
psx.input.port7.dualshock.start

;psx, Virtual Port 7, DualShock: ? (upper)
psx.input.port7.dualshock.triangle

;psx, Virtual Port 7, DualShock: D-Pad UP ?
psx.input.port7.dualshock.up

;psx, Virtual Port 7, Digital Gamepad: ? (right)
psx.input.port7.gamepad.circle

;psx, Virtual Port 7, Digital Gamepad: x (lower)
psx.input.port7.gamepad.cross

;psx, Virtual Port 7, Digital Gamepad: DOWN ?
psx.input.port7.gamepad.down

;psx, Virtual Port 7, Digital Gamepad: L1 (front left shoulder)
psx.input.port7.gamepad.l1

;psx, Virtual Port 7, Digital Gamepad: L2 (rear left shoulder)
psx.input.port7.gamepad.l2

;psx, Virtual Port 7, Digital Gamepad: LEFT ?
psx.input.port7.gamepad.left

;psx, Virtual Port 7, Digital Gamepad: R1 (front right shoulder)
psx.input.port7.gamepad.r1

;psx, Virtual Port 7, Digital Gamepad: R2 (rear right shoulder)
psx.input.port7.gamepad.r2

;psx, Virtual Port 7, Digital Gamepad: Rapid ? (right)
psx.input.port7.gamepad.rapid_circle

;psx, Virtual Port 7, Digital Gamepad: Rapid x (lower)
psx.input.port7.gamepad.rapid_cross

;psx, Virtual Port 7, Digital Gamepad: Rapid ? (left)
psx.input.port7.gamepad.rapid_square

;psx, Virtual Port 7, Digital Gamepad: Rapid ? (upper)
psx.input.port7.gamepad.rapid_triangle

;psx, Virtual Port 7, Digital Gamepad: RIGHT ?
psx.input.port7.gamepad.right

;psx, Virtual Port 7, Digital Gamepad: SELECT
psx.input.port7.gamepad.select

;psx, Virtual Port 7, Digital Gamepad: ? (left)
psx.input.port7.gamepad.square

;psx, Virtual Port 7, Digital Gamepad: START
psx.input.port7.gamepad.start

;psx, Virtual Port 7, Digital Gamepad: ? (upper)
psx.input.port7.gamepad.triangle

;psx, Virtual Port 7, Digital Gamepad: UP ?
psx.input.port7.gamepad.up

;Crosshairs color for lightgun on virtual port 7.
psx.input.port7.gun_chairs 0x0080FF

;psx, Virtual Port 7, GunCon: A
psx.input.port7.guncon.a mouse 0x0 button_right

;psx, Virtual Port 7, GunCon: B
psx.input.port7.guncon.b mouse 0x0 button_middle

;psx, Virtual Port 7, GunCon: Offscreen Shot(Simulated)
psx.input.port7.guncon.offscreen_shot keyboard 0x0 44

;psx, Virtual Port 7, GunCon: Trigger
psx.input.port7.guncon.trigger mouse 0x0 button_left

;psx, Virtual Port 7, GunCon: X Axis
psx.input.port7.guncon.x_axis mouse 0x0 cursor_x-+

;psx, Virtual Port 7, GunCon: Y Axis
psx.input.port7.guncon.y_axis mouse 0x0 cursor_y-+

;psx, Virtual Port 7, Konami Justifier: O
psx.input.port7.justifier.o

;psx, Virtual Port 7, Konami Justifier: Offscreen Shot(Simulated)
psx.input.port7.justifier.offscreen_shot

;psx, Virtual Port 7, Konami Justifier: Start
psx.input.port7.justifier.start

;psx, Virtual Port 7, Konami Justifier: Trigger
psx.input.port7.justifier.trigger

;psx, Virtual Port 7, Konami Justifier: X Axis
psx.input.port7.justifier.x_axis

;psx, Virtual Port 7, Konami Justifier: Y Axis
psx.input.port7.justifier.y_axis

;Emulate memory card on virtual port 7.
psx.input.port7.memcard 1

;psx, Virtual Port 7, Mouse: Left Button
psx.input.port7.mouse.left mouse 0x0 button_left

;psx, Virtual Port 7, Mouse: Motion Down
psx.input.port7.mouse.motion_down mouse 0x0 rel_y+

;psx, Virtual Port 7, Mouse: Motion Left
psx.input.port7.mouse.motion_left mouse 0x0 rel_x-

;psx, Virtual Port 7, Mouse: Motion Right
psx.input.port7.mouse.motion_right mouse 0x0 rel_x+

;psx, Virtual Port 7, Mouse: Motion Up
psx.input.port7.mouse.motion_up mouse 0x0 rel_y-

;psx, Virtual Port 7, Mouse: Right Button
psx.input.port7.mouse.right mouse 0x0 button_right

;psx, Virtual Port 7, neGcon: A
psx.input.port7.negcon.a

;psx, Virtual Port 7, neGcon: B
psx.input.port7.negcon.b

;psx, Virtual Port 7, neGcon: D-Pad DOWN ?
psx.input.port7.negcon.down

;psx, Virtual Port 7, neGcon: I (Analog)
psx.input.port7.negcon.i

;psx, Virtual Port 7, neGcon: II (Analog)
psx.input.port7.negcon.ii

;psx, Virtual Port 7, neGcon: Left Shoulder (Analog)
psx.input.port7.negcon.l

;psx, Virtual Port 7, neGcon: D-Pad LEFT ?
psx.input.port7.negcon.left

;psx, Virtual Port 7, neGcon: Right Shoulder
psx.input.port7.negcon.r

;psx, Virtual Port 7, neGcon: D-Pad RIGHT ?
psx.input.port7.negcon.right

;psx, Virtual Port 7, neGcon: START
psx.input.port7.negcon.start

;psx, Virtual Port 7, neGcon: Twist ?|? (Analog, Turn Left)
psx.input.port7.negcon.twist_ccwise

;psx, Virtual Port 7, neGcon: Twist ?|? (Analog, Turn Right)
psx.input.port7.negcon.twist_cwise

;psx, Virtual Port 7, neGcon: D-Pad UP ?
psx.input.port7.negcon.up

;Input device for Virtual Port 8
psx.input.port8 gamepad

;Analog axis scale coefficient for Analog Joystick on Virtual Port 8.
psx.input.port8.analogjoy.axis_scale 1.00

;psx, Virtual Port 8, Analog Joystick: Right stick, R-thumb
psx.input.port8.analogjoy.circle

;psx, Virtual Port 8, Analog Joystick: Right stick, L-thumb
psx.input.port8.analogjoy.cross

;psx, Virtual Port 8, Analog Joystick: Thumbstick DOWN ?
psx.input.port8.analogjoy.down

;psx, Virtual Port 8, Analog Joystick: Left stick, L-thumb
psx.input.port8.analogjoy.l1

;psx, Virtual Port 8, Analog Joystick: Left stick, Trigger
psx.input.port8.analogjoy.l2

;psx, Virtual Port 8, Analog Joystick: Thumbstick LEFT ?
psx.input.port8.analogjoy.left

;psx, Virtual Port 8, Analog Joystick: Left Stick, BACK ?
psx.input.port8.analogjoy.lstick_down

;psx, Virtual Port 8, Analog Joystick: Left Stick, LEFT ?
psx.input.port8.analogjoy.lstick_left

;psx, Virtual Port 8, Analog Joystick: Left Stick, RIGHT ?
psx.input.port8.analogjoy.lstick_right

;psx, Virtual Port 8, Analog Joystick: Left Stick, FORE ?
psx.input.port8.analogjoy.lstick_up

;psx, Virtual Port 8, Analog Joystick: Left stick, R-thumb
psx.input.port8.analogjoy.r1

;psx, Virtual Port 8, Analog Joystick: Left stick, Pinky
psx.input.port8.analogjoy.r2

;psx, Virtual Port 8, Analog Joystick: Thumbstick RIGHT ?
psx.input.port8.analogjoy.right

;psx, Virtual Port 8, Analog Joystick: Right Stick, BACK ?
psx.input.port8.analogjoy.rstick_down

;psx, Virtual Port 8, Analog Joystick: Right Stick, LEFT ?
psx.input.port8.analogjoy.rstick_left

;psx, Virtual Port 8, Analog Joystick: Right Stick, RIGHT ?
psx.input.port8.analogjoy.rstick_right

;psx, Virtual Port 8, Analog Joystick: Right Stick, FORE ?
psx.input.port8.analogjoy.rstick_up

;psx, Virtual Port 8, Analog Joystick: SELECT
psx.input.port8.analogjoy.select

;psx, Virtual Port 8, Analog Joystick: Right stick, Trigger
psx.input.port8.analogjoy.square

;psx, Virtual Port 8, Analog Joystick: START
psx.input.port8.analogjoy.start

;psx, Virtual Port 8, Analog Joystick: Right stick, Pinky
psx.input.port8.analogjoy.triangle

;psx, Virtual Port 8, Analog Joystick: Thumbstick UP ?
psx.input.port8.analogjoy.up

;psx, Virtual Port 8, Dance Pad: ? (upper right)
psx.input.port8.dancepad.circle

;psx, Virtual Port 8, Dance Pad: x (upper left)
psx.input.port8.dancepad.cross

;psx, Virtual Port 8, Dance Pad: DOWN ?
psx.input.port8.dancepad.down

;psx, Virtual Port 8, Dance Pad: LEFT ?
psx.input.port8.dancepad.left

;psx, Virtual Port 8, Dance Pad: RIGHT ?
psx.input.port8.dancepad.right

;psx, Virtual Port 8, Dance Pad: SELECT
psx.input.port8.dancepad.select

;psx, Virtual Port 8, Dance Pad: ? (lower right)
psx.input.port8.dancepad.square

;psx, Virtual Port 8, Dance Pad: START
psx.input.port8.dancepad.start

;psx, Virtual Port 8, Dance Pad: ? (lower left)
psx.input.port8.dancepad.triangle

;psx, Virtual Port 8, Dance Pad: UP ?
psx.input.port8.dancepad.up

;Analog axis scale coefficient for Dual Analog on Virtual Port 8.
psx.input.port8.dualanalog.axis_scale 1.00

;psx, Virtual Port 8, Dual Analog: ? (right)
psx.input.port8.dualanalog.circle

;psx, Virtual Port 8, Dual Analog: x (lower)
psx.input.port8.dualanalog.cross

;psx, Virtual Port 8, Dual Analog: D-Pad DOWN ?
psx.input.port8.dualanalog.down

;psx, Virtual Port 8, Dual Analog: L1 (front left shoulder)
psx.input.port8.dualanalog.l1

;psx, Virtual Port 8, Dual Analog: L2 (rear left shoulder)
psx.input.port8.dualanalog.l2

;psx, Virtual Port 8, Dual Analog: Left Stick, Button(L3)
psx.input.port8.dualanalog.l3

;psx, Virtual Port 8, Dual Analog: D-Pad LEFT ?
psx.input.port8.dualanalog.left

;psx, Virtual Port 8, Dual Analog: Left Stick DOWN ?
psx.input.port8.dualanalog.lstick_down

;psx, Virtual Port 8, Dual Analog: Left Stick LEFT ?
psx.input.port8.dualanalog.lstick_left

;psx, Virtual Port 8, Dual Analog: Left Stick RIGHT ?
psx.input.port8.dualanalog.lstick_right

;psx, Virtual Port 8, Dual Analog: Left Stick UP ?
psx.input.port8.dualanalog.lstick_up

;psx, Virtual Port 8, Dual Analog: R1 (front right shoulder)
psx.input.port8.dualanalog.r1

;psx, Virtual Port 8, Dual Analog: R2 (rear right shoulder)
psx.input.port8.dualanalog.r2

;psx, Virtual Port 8, Dual Analog: Right stick, Button(R3)
psx.input.port8.dualanalog.r3

;psx, Virtual Port 8, Dual Analog: Rapid ? (right)
psx.input.port8.dualanalog.rapid_circle

;psx, Virtual Port 8, Dual Analog: Rapid x (lower)
psx.input.port8.dualanalog.rapid_cross

;psx, Virtual Port 8, Dual Analog: Rapid ? (left)
psx.input.port8.dualanalog.rapid_square

;psx, Virtual Port 8, Dual Analog: Rapid ? (upper)
psx.input.port8.dualanalog.rapid_triangle

;psx, Virtual Port 8, Dual Analog: D-Pad RIGHT ?
psx.input.port8.dualanalog.right

;psx, Virtual Port 8, Dual Analog: Right Stick DOWN ?
psx.input.port8.dualanalog.rstick_down

;psx, Virtual Port 8, Dual Analog: Right Stick LEFT ?
psx.input.port8.dualanalog.rstick_left

;psx, Virtual Port 8, Dual Analog: Right Stick RIGHT ?
psx.input.port8.dualanalog.rstick_right

;psx, Virtual Port 8, Dual Analog: Right Stick UP ?
psx.input.port8.dualanalog.rstick_up

;psx, Virtual Port 8, Dual Analog: SELECT
psx.input.port8.dualanalog.select

;psx, Virtual Port 8, Dual Analog: ? (left)
psx.input.port8.dualanalog.square

;psx, Virtual Port 8, Dual Analog: START
psx.input.port8.dualanalog.start

;psx, Virtual Port 8, Dual Analog: ? (upper)
psx.input.port8.dualanalog.triangle

;psx, Virtual Port 8, Dual Analog: D-Pad UP ?
psx.input.port8.dualanalog.up

;psx, Virtual Port 8, DualShock: Analog(mode toggle)
psx.input.port8.dualshock.analog

;Analog axis scale coefficient for DualShock on Virtual Port 8.
psx.input.port8.dualshock.axis_scale 1.00

;psx, Virtual Port 8, DualShock: ? (right)
psx.input.port8.dualshock.circle

;psx, Virtual Port 8, DualShock: x (lower)
psx.input.port8.dualshock.cross

;psx, Virtual Port 8, DualShock: D-Pad DOWN ?
psx.input.port8.dualshock.down

;psx, Virtual Port 8, DualShock: L1 (front left shoulder)
psx.input.port8.dualshock.l1

;psx, Virtual Port 8, DualShock: L2 (rear left shoulder)
psx.input.port8.dualshock.l2

;psx, Virtual Port 8, DualShock: Left Stick, Button(L3)
psx.input.port8.dualshock.l3

;psx, Virtual Port 8, DualShock: D-Pad LEFT ?
psx.input.port8.dualshock.left

;psx, Virtual Port 8, DualShock: Left Stick DOWN ?
psx.input.port8.dualshock.lstick_down

;psx, Virtual Port 8, DualShock: Left Stick LEFT ?
psx.input.port8.dualshock.lstick_left

;psx, Virtual Port 8, DualShock: Left Stick RIGHT ?
psx.input.port8.dualshock.lstick_right

;psx, Virtual Port 8, DualShock: Left Stick UP ?
psx.input.port8.dualshock.lstick_up

;psx, Virtual Port 8, DualShock: R1 (front right shoulder)
psx.input.port8.dualshock.r1

;psx, Virtual Port 8, DualShock: R2 (rear right shoulder)
psx.input.port8.dualshock.r2

;psx, Virtual Port 8, DualShock: Right stick, Button(R3)
psx.input.port8.dualshock.r3

;psx, Virtual Port 8, DualShock: Rapid ? (right)
psx.input.port8.dualshock.rapid_circle

;psx, Virtual Port 8, DualShock: Rapid x (lower)
psx.input.port8.dualshock.rapid_cross

;psx, Virtual Port 8, DualShock: Rapid ? (left)
psx.input.port8.dualshock.rapid_square

;psx, Virtual Port 8, DualShock: Rapid ? (upper)
psx.input.port8.dualshock.rapid_triangle

;psx, Virtual Port 8, DualShock: D-Pad RIGHT ?
psx.input.port8.dualshock.right

;psx, Virtual Port 8, DualShock: Right Stick DOWN ?
psx.input.port8.dualshock.rstick_down

;psx, Virtual Port 8, DualShock: Right Stick LEFT ?
psx.input.port8.dualshock.rstick_left

;psx, Virtual Port 8, DualShock: Right Stick RIGHT ?
psx.input.port8.dualshock.rstick_right

;psx, Virtual Port 8, DualShock: Right Stick UP ?
psx.input.port8.dualshock.rstick_up

;psx, Virtual Port 8, DualShock: SELECT
psx.input.port8.dualshock.select

;psx, Virtual Port 8, DualShock: ? (left)
psx.input.port8.dualshock.square

;psx, Virtual Port 8, DualShock: START
psx.input.port8.dualshock.start

;psx, Virtual Port 8, DualShock: ? (upper)
psx.input.port8.dualshock.triangle

;psx, Virtual Port 8, DualShock: D-Pad UP ?
psx.input.port8.dualshock.up

;psx, Virtual Port 8, Digital Gamepad: ? (right)
psx.input.port8.gamepad.circle

;psx, Virtual Port 8, Digital Gamepad: x (lower)
psx.input.port8.gamepad.cross

;psx, Virtual Port 8, Digital Gamepad: DOWN ?
psx.input.port8.gamepad.down

;psx, Virtual Port 8, Digital Gamepad: L1 (front left shoulder)
psx.input.port8.gamepad.l1

;psx, Virtual Port 8, Digital Gamepad: L2 (rear left shoulder)
psx.input.port8.gamepad.l2

;psx, Virtual Port 8, Digital Gamepad: LEFT ?
psx.input.port8.gamepad.left

;psx, Virtual Port 8, Digital Gamepad: R1 (front right shoulder)
psx.input.port8.gamepad.r1

;psx, Virtual Port 8, Digital Gamepad: R2 (rear right shoulder)
psx.input.port8.gamepad.r2

;psx, Virtual Port 8, Digital Gamepad: Rapid ? (right)
psx.input.port8.gamepad.rapid_circle

;psx, Virtual Port 8, Digital Gamepad: Rapid x (lower)
psx.input.port8.gamepad.rapid_cross

;psx, Virtual Port 8, Digital Gamepad: Rapid ? (left)
psx.input.port8.gamepad.rapid_square

;psx, Virtual Port 8, Digital Gamepad: Rapid ? (upper)
psx.input.port8.gamepad.rapid_triangle

;psx, Virtual Port 8, Digital Gamepad: RIGHT ?
psx.input.port8.gamepad.right

;psx, Virtual Port 8, Digital Gamepad: SELECT
psx.input.port8.gamepad.select

;psx, Virtual Port 8, Digital Gamepad: ? (left)
psx.input.port8.gamepad.square

;psx, Virtual Port 8, Digital Gamepad: START
psx.input.port8.gamepad.start

;psx, Virtual Port 8, Digital Gamepad: ? (upper)
psx.input.port8.gamepad.triangle

;psx, Virtual Port 8, Digital Gamepad: UP ?
psx.input.port8.gamepad.up

;Crosshairs color for lightgun on virtual port 8.
psx.input.port8.gun_chairs 0x8000FF

;psx, Virtual Port 8, GunCon: A
psx.input.port8.guncon.a mouse 0x0 button_right

;psx, Virtual Port 8, GunCon: B
psx.input.port8.guncon.b mouse 0x0 button_middle

;psx, Virtual Port 8, GunCon: Offscreen Shot(Simulated)
psx.input.port8.guncon.offscreen_shot keyboard 0x0 44

;psx, Virtual Port 8, GunCon: Trigger
psx.input.port8.guncon.trigger mouse 0x0 button_left

;psx, Virtual Port 8, GunCon: X Axis
psx.input.port8.guncon.x_axis mouse 0x0 cursor_x-+

;psx, Virtual Port 8, GunCon: Y Axis
psx.input.port8.guncon.y_axis mouse 0x0 cursor_y-+

;psx, Virtual Port 8, Konami Justifier: O
psx.input.port8.justifier.o

;psx, Virtual Port 8, Konami Justifier: Offscreen Shot(Simulated)
psx.input.port8.justifier.offscreen_shot

;psx, Virtual Port 8, Konami Justifier: Start
psx.input.port8.justifier.start

;psx, Virtual Port 8, Konami Justifier: Trigger
psx.input.port8.justifier.trigger

;psx, Virtual Port 8, Konami Justifier: X Axis
psx.input.port8.justifier.x_axis

;psx, Virtual Port 8, Konami Justifier: Y Axis
psx.input.port8.justifier.y_axis

;Emulate memory card on virtual port 8.
psx.input.port8.memcard 1

;psx, Virtual Port 8, Mouse: Left Button
psx.input.port8.mouse.left mouse 0x0 button_left

;psx, Virtual Port 8, Mouse: Motion Down
psx.input.port8.mouse.motion_down mouse 0x0 rel_y+

;psx, Virtual Port 8, Mouse: Motion Left
psx.input.port8.mouse.motion_left mouse 0x0 rel_x-

;psx, Virtual Port 8, Mouse: Motion Right
psx.input.port8.mouse.motion_right mouse 0x0 rel_x+

;psx, Virtual Port 8, Mouse: Motion Up
psx.input.port8.mouse.motion_up mouse 0x0 rel_y-

;psx, Virtual Port 8, Mouse: Right Button
psx.input.port8.mouse.right mouse 0x0 button_right

;psx, Virtual Port 8, neGcon: A
psx.input.port8.negcon.a

;psx, Virtual Port 8, neGcon: B
psx.input.port8.negcon.b

;psx, Virtual Port 8, neGcon: D-Pad DOWN ?
psx.input.port8.negcon.down

;psx, Virtual Port 8, neGcon: I (Analog)
psx.input.port8.negcon.i

;psx, Virtual Port 8, neGcon: II (Analog)
psx.input.port8.negcon.ii

;psx, Virtual Port 8, neGcon: Left Shoulder (Analog)
psx.input.port8.negcon.l

;psx, Virtual Port 8, neGcon: D-Pad LEFT ?
psx.input.port8.negcon.left

;psx, Virtual Port 8, neGcon: Right Shoulder
psx.input.port8.negcon.r

;psx, Virtual Port 8, neGcon: D-Pad RIGHT ?
psx.input.port8.negcon.right

;psx, Virtual Port 8, neGcon: START
psx.input.port8.negcon.start

;psx, Virtual Port 8, neGcon: Twist ?|? (Analog, Turn Left)
psx.input.port8.negcon.twist_ccwise

;psx, Virtual Port 8, neGcon: Twist ?|? (Analog, Turn Right)
psx.input.port8.negcon.twist_cwise

;psx, Virtual Port 8, neGcon: D-Pad UP ?
psx.input.port8.negcon.up

;Enable multitap on PSX port 1.
psx.input.pport1.multitap 0

;Enable multitap on PSX port 2.
psx.input.pport2.multitap 0

;Attempt to auto-detect region of game.
psx.region_autodetect 1

;Default region to use.
psx.region_default jp

;Enable scanlines with specified opacity.
psx.scanlines 0

;Enable specified OpenGL shader.
psx.shader none

;Force interlaced video to be treated as progressive.
psx.shader.goat.fprog 0

;Constant RGB horizontal divergence.
psx.shader.goat.hdiv 0.50

;Mask pattern.
psx.shader.goat.pat goatron

;Enable scanlines effect.
psx.shader.goat.slen 1

;Transparency of otherwise-opaque mask areas.
psx.shader.goat.tp 0.50

;Constant RGB vertical divergence.
psx.shader.goat.vdiv 0.50

;Last displayed scanline in NTSC mode.
psx.slend 239

;Last displayed scanline in PAL mode.
psx.slendp 287

;First displayed scanline in NTSC mode.
psx.slstart 0

;First displayed scanline in PAL mode.
psx.slstartp 0

;Enable specified special video scaler.
psx.special none

;SPU output resampler quality.
psx.spu.resamp_quality 5

;Stretch to fill screen.
psx.stretch aspect_mult2

;Enable video temporal blur(50/50 previous/current frame by default).
psx.tblur 0

;Accumulate color data rather than discarding it.
psx.tblur.accum 0

;Blur amount in accumulation mode, specified in percentage of accumulation buffer to mix with the current frame.
psx.tblur.accum.amount 50

;Enable (bi)linear interpolation.
psx.videoip 1

;Full-screen horizontal resolution.
psx.xres 0

;Scaling factor for the X axis in windowed mode.
psx.xscale 3.000000

;Scaling factor for the X axis in fullscreen mode.
psx.xscalefs 1.000000

;Full-screen vertical resolution.
psx.yres 0

;Scaling factor for the Y axis in windowed mode.
psx.yscale 3.000000

;Scaling factor for the Y axis in fullscreen mode.
psx.yscalefs 1.000000

;Double the raw image's height if it's below this threshold.
qtrecord.h_double_threshold 256

;Video codec to use.
qtrecord.vcodec cscd

;Double the raw image's width if it's below this threshold.
qtrecord.w_double_threshold 384

;SLOW-forwarding speed multiplier.
sfspeed 0.75

;Treat the SLOW-forward button as a toggle.
sftoggle 0

;Enable (automatic) usage of this module.
sms.enable 1

;Enable FM sound emulation when playing domestic/Japan-region games.
sms.fm 1

;Force monophonic sound output.
sms.forcemono 0

;sms, Port 1, Gamepad: DOWN ?
sms.input.port1.gamepad.down keyboard 0x0 22

;sms, Port 1, Gamepad: Fire 1/Start
sms.input.port1.gamepad.fire1 keyboard 0x0 90

;sms, Port 1, Gamepad: Fire 2
sms.input.port1.gamepad.fire2 keyboard 0x0 91

;sms, Port 1, Gamepad: LEFT ?
sms.input.port1.gamepad.left keyboard 0x0 4

;sms, Port 1, Gamepad: Pause
sms.input.port1.gamepad.pause keyboard 0x0 40

;sms, Port 1, Gamepad: Rapid Fire 1/Start
sms.input.port1.gamepad.rapid_fire1

;sms, Port 1, Gamepad: Rapid Fire 2
sms.input.port1.gamepad.rapid_fire2

;sms, Port 1, Gamepad: RIGHT ?
sms.input.port1.gamepad.right keyboard 0x0 7

;sms, Port 1, Gamepad: UP ?
sms.input.port1.gamepad.up keyboard 0x0 26

;sms, Port 2, Gamepad: DOWN ?
sms.input.port2.gamepad.down

;sms, Port 2, Gamepad: Fire 1/Start
sms.input.port2.gamepad.fire1

;sms, Port 2, Gamepad: Fire 2
sms.input.port2.gamepad.fire2

;sms, Port 2, Gamepad: LEFT ?
sms.input.port2.gamepad.left

;sms, Port 2, Gamepad: Pause
sms.input.port2.gamepad.pause

;sms, Port 2, Gamepad: Rapid Fire 1/Start
sms.input.port2.gamepad.rapid_fire1

;sms, Port 2, Gamepad: Rapid Fire 2
sms.input.port2.gamepad.rapid_fire2

;sms, Port 2, Gamepad: RIGHT ?
sms.input.port2.gamepad.right

;sms, Port 2, Gamepad: UP ?
sms.input.port2.gamepad.up

;Enable scanlines with specified opacity.
sms.scanlines 0

;Enable specified OpenGL shader.
sms.shader none

;Force interlaced video to be treated as progressive.
sms.shader.goat.fprog 0

;Constant RGB horizontal divergence.
sms.shader.goat.hdiv 0.50

;Mask pattern.
sms.shader.goat.pat goatron

;Enable scanlines effect.
sms.shader.goat.slen 1

;Transparency of otherwise-opaque mask areas.
sms.shader.goat.tp 0.50

;Constant RGB vertical divergence.
sms.shader.goat.vdiv 0.50

;Last displayed scanline in NTSC mode.
sms.slend 239

;Last displayed scanline in PAL mode.
sms.slendp 239

;First displayed scanline in NTSC mode.
sms.slstart 0

;First displayed scanline in PAL mode.
sms.slstartp 0

;Enable specified special video scaler.
sms.special none

;Stretch to fill screen.
sms.stretch aspect_mult2

;Enable video temporal blur(50/50 previous/current frame by default).
sms.tblur 0

;Accumulate color data rather than discarding it.
sms.tblur.accum 0

;Blur amount in accumulation mode, specified in percentage of accumulation buffer to mix with the current frame.
sms.tblur.accum.amount 50

;System territory/region.
sms.territory export

;Enable (bi)linear interpolation.
sms.videoip 0

;Full-screen horizontal resolution.
sms.xres 0

;Scaling factor for the X axis in windowed mode.
sms.xscale 4.000000

;Scaling factor for the X axis in fullscreen mode.
sms.xscalefs 1.000000

;Full-screen vertical resolution.
sms.yres 0

;Scaling factor for the Y axis in windowed mode.
sms.yscale 4.000000

;Scaling factor for the Y axis in fullscreen mode.
sms.yscalefs 1.000000

;APU output resampler quality.
snes.apu.resamp_quality 5

;Correct the aspect ratio.
snes.correct_aspect 0

;Enable (automatic) usage of this module.
snes.enable 1

;Force monophonic sound output.
snes.forcemono 0

;Enable horizontal blend(blur) filter.
snes.h_blend 0

;Input device for Port 1/1A
snes.input.port1 gamepad

;snes, Port 1/1A, Gamepad: A (right)
snes.input.port1.gamepad.a keyboard 0x0 94

;snes, Port 1/1A, Gamepad: B (center, lower)
snes.input.port1.gamepad.b keyboard 0x0 90

;snes, Port 1/1A, Gamepad: DOWN ?
snes.input.port1.gamepad.down keyboard 0x0 22

;snes, Port 1/1A, Gamepad: Left Shoulder
snes.input.port1.gamepad.l keyboard 0x0 95

;snes, Port 1/1A, Gamepad: LEFT ?
snes.input.port1.gamepad.left keyboard 0x0 4

;snes, Port 1/1A, Gamepad: Right Shoulder
snes.input.port1.gamepad.r keyboard 0x0 97

;snes, Port 1/1A, Gamepad: Rapid A (right)
snes.input.port1.gamepad.rapid_a

;snes, Port 1/1A, Gamepad: Rapid B (center, lower)
snes.input.port1.gamepad.rapid_b

;snes, Port 1/1A, Gamepad: Rapid X (center, upper)
snes.input.port1.gamepad.rapid_x

;snes, Port 1/1A, Gamepad: Rapid Y (left)
snes.input.port1.gamepad.rapid_y

;snes, Port 1/1A, Gamepad: RIGHT ?
snes.input.port1.gamepad.right keyboard 0x0 7

;snes, Port 1/1A, Gamepad: SELECT
snes.input.port1.gamepad.select keyboard 0x0 43

;snes, Port 1/1A, Gamepad: START
snes.input.port1.gamepad.start keyboard 0x0 40

;snes, Port 1/1A, Gamepad: UP ?
snes.input.port1.gamepad.up keyboard 0x0 26

;snes, Port 1/1A, Gamepad: X (center, upper)
snes.input.port1.gamepad.x keyboard 0x0 96

;snes, Port 1/1A, Gamepad: Y (left)
snes.input.port1.gamepad.y keyboard 0x0 92

;snes, Port 1/1A, Mouse: Left Button
snes.input.port1.mouse.left mouse 0x0 button_left

;snes, Port 1/1A, Mouse: Motion Down
snes.input.port1.mouse.motion_down mouse 0x0 rel_y+

;snes, Port 1/1A, Mouse: Motion Left
snes.input.port1.mouse.motion_left mouse 0x0 rel_x-

;snes, Port 1/1A, Mouse: Motion Right
snes.input.port1.mouse.motion_right mouse 0x0 rel_x+

;snes, Port 1/1A, Mouse: Motion Up
snes.input.port1.mouse.motion_up mouse 0x0 rel_y-

;snes, Port 1/1A, Mouse: Right Button
snes.input.port1.mouse.right mouse 0x0 button_right

;Enable multitap on SNES port 1.
snes.input.port1.multitap 0

;Input device for Port 2/2A
snes.input.port2 gamepad

;snes, Port 2/2A, Gamepad: A (right)
snes.input.port2.gamepad.a

;snes, Port 2/2A, Gamepad: B (center, lower)
snes.input.port2.gamepad.b

;snes, Port 2/2A, Gamepad: DOWN ?
snes.input.port2.gamepad.down

;snes, Port 2/2A, Gamepad: Left Shoulder
snes.input.port2.gamepad.l

;snes, Port 2/2A, Gamepad: LEFT ?
snes.input.port2.gamepad.left

;snes, Port 2/2A, Gamepad: Right Shoulder
snes.input.port2.gamepad.r

;snes, Port 2/2A, Gamepad: Rapid A (right)
snes.input.port2.gamepad.rapid_a

;snes, Port 2/2A, Gamepad: Rapid B (center, lower)
snes.input.port2.gamepad.rapid_b

;snes, Port 2/2A, Gamepad: Rapid X (center, upper)
snes.input.port2.gamepad.rapid_x

;snes, Port 2/2A, Gamepad: Rapid Y (left)
snes.input.port2.gamepad.rapid_y

;snes, Port 2/2A, Gamepad: RIGHT ?
snes.input.port2.gamepad.right

;snes, Port 2/2A, Gamepad: SELECT
snes.input.port2.gamepad.select

;snes, Port 2/2A, Gamepad: START
snes.input.port2.gamepad.start

;snes, Port 2/2A, Gamepad: UP ?
snes.input.port2.gamepad.up

;snes, Port 2/2A, Gamepad: X (center, upper)
snes.input.port2.gamepad.x

;snes, Port 2/2A, Gamepad: Y (left)
snes.input.port2.gamepad.y

;snes, Port 2/2A, Mouse: Left Button
snes.input.port2.mouse.left mouse 0x0 button_left

;snes, Port 2/2A, Mouse: Motion Down
snes.input.port2.mouse.motion_down mouse 0x0 rel_y+

;snes, Port 2/2A, Mouse: Motion Left
snes.input.port2.mouse.motion_left mouse 0x0 rel_x-

;snes, Port 2/2A, Mouse: Motion Right
snes.input.port2.mouse.motion_right mouse 0x0 rel_x+

;snes, Port 2/2A, Mouse: Motion Up
snes.input.port2.mouse.motion_up mouse 0x0 rel_y-

;snes, Port 2/2A, Mouse: Right Button
snes.input.port2.mouse.right mouse 0x0 button_right

;Enable multitap on SNES port 2.
snes.input.port2.multitap 0

;snes, Port 2/2A, Super Scope: Cursor
snes.input.port2.superscope.cursor mouse 0x0 button_right

;snes, Port 2/2A, Super Scope: Offscreen Shot(Simulated)
snes.input.port2.superscope.offscreen_shot keyboard 0x0 44

;snes, Port 2/2A, Super Scope: Pause
snes.input.port2.superscope.pause mouse 0x0 button_middle

;snes, Port 2/2A, Super Scope: Trigger
snes.input.port2.superscope.trigger mouse 0x0 button_left

;snes, Port 2/2A, Super Scope: Turbo
snes.input.port2.superscope.turbo keyboard 0x0 77

;snes, Port 2/2A, Super Scope: X Axis
snes.input.port2.superscope.x_axis mouse 0x0 cursor_x-+

;snes, Port 2/2A, Super Scope: Y Axis
snes.input.port2.superscope.y_axis mouse 0x0 cursor_y-+

;snes, Port 2B, Gamepad: A (right)
snes.input.port3.gamepad.a

;snes, Port 2B, Gamepad: B (center, lower)
snes.input.port3.gamepad.b

;snes, Port 2B, Gamepad: DOWN ?
snes.input.port3.gamepad.down

;snes, Port 2B, Gamepad: Left Shoulder
snes.input.port3.gamepad.l

;snes, Port 2B, Gamepad: LEFT ?
snes.input.port3.gamepad.left

;snes, Port 2B, Gamepad: Right Shoulder
snes.input.port3.gamepad.r

;snes, Port 2B, Gamepad: Rapid A (right)
snes.input.port3.gamepad.rapid_a

;snes, Port 2B, Gamepad: Rapid B (center, lower)
snes.input.port3.gamepad.rapid_b

;snes, Port 2B, Gamepad: Rapid X (center, upper)
snes.input.port3.gamepad.rapid_x

;snes, Port 2B, Gamepad: Rapid Y (left)
snes.input.port3.gamepad.rapid_y

;snes, Port 2B, Gamepad: RIGHT ?
snes.input.port3.gamepad.right

;snes, Port 2B, Gamepad: SELECT
snes.input.port3.gamepad.select

;snes, Port 2B, Gamepad: START
snes.input.port3.gamepad.start

;snes, Port 2B, Gamepad: UP ?
snes.input.port3.gamepad.up

;snes, Port 2B, Gamepad: X (center, upper)
snes.input.port3.gamepad.x

;snes, Port 2B, Gamepad: Y (left)
snes.input.port3.gamepad.y

;snes, Port 2C, Gamepad: A (right)
snes.input.port4.gamepad.a

;snes, Port 2C, Gamepad: B (center, lower)
snes.input.port4.gamepad.b

;snes, Port 2C, Gamepad: DOWN ?
snes.input.port4.gamepad.down

;snes, Port 2C, Gamepad: Left Shoulder
snes.input.port4.gamepad.l

;snes, Port 2C, Gamepad: LEFT ?
snes.input.port4.gamepad.left

;snes, Port 2C, Gamepad: Right Shoulder
snes.input.port4.gamepad.r

;snes, Port 2C, Gamepad: Rapid A (right)
snes.input.port4.gamepad.rapid_a

;snes, Port 2C, Gamepad: Rapid B (center, lower)
snes.input.port4.gamepad.rapid_b

;snes, Port 2C, Gamepad: Rapid X (center, upper)
snes.input.port4.gamepad.rapid_x

;snes, Port 2C, Gamepad: Rapid Y (left)
snes.input.port4.gamepad.rapid_y

;snes, Port 2C, Gamepad: RIGHT ?
snes.input.port4.gamepad.right

;snes, Port 2C, Gamepad: SELECT
snes.input.port4.gamepad.select

;snes, Port 2C, Gamepad: START
snes.input.port4.gamepad.start

;snes, Port 2C, Gamepad: UP ?
snes.input.port4.gamepad.up

;snes, Port 2C, Gamepad: X (center, upper)
snes.input.port4.gamepad.x

;snes, Port 2C, Gamepad: Y (left)
snes.input.port4.gamepad.y

;snes, Port 2D, Gamepad: A (right)
snes.input.port5.gamepad.a

;snes, Port 2D, Gamepad: B (center, lower)
snes.input.port5.gamepad.b

;snes, Port 2D, Gamepad: DOWN ?
snes.input.port5.gamepad.down

;snes, Port 2D, Gamepad: Left Shoulder
snes.input.port5.gamepad.l

;snes, Port 2D, Gamepad: LEFT ?
snes.input.port5.gamepad.left

;snes, Port 2D, Gamepad: Right Shoulder
snes.input.port5.gamepad.r

;snes, Port 2D, Gamepad: Rapid A (right)
snes.input.port5.gamepad.rapid_a

;snes, Port 2D, Gamepad: Rapid B (center, lower)
snes.input.port5.gamepad.rapid_b

;snes, Port 2D, Gamepad: Rapid X (center, upper)
snes.input.port5.gamepad.rapid_x

;snes, Port 2D, Gamepad: Rapid Y (left)
snes.input.port5.gamepad.rapid_y

;snes, Port 2D, Gamepad: RIGHT ?
snes.input.port5.gamepad.right

;snes, Port 2D, Gamepad: SELECT
snes.input.port5.gamepad.select

;snes, Port 2D, Gamepad: START
snes.input.port5.gamepad.start

;snes, Port 2D, Gamepad: UP ?
snes.input.port5.gamepad.up

;snes, Port 2D, Gamepad: X (center, upper)
snes.input.port5.gamepad.x

;snes, Port 2D, Gamepad: Y (left)
snes.input.port5.gamepad.y

;snes, Port 1B, Gamepad: A (right)
snes.input.port6.gamepad.a

;snes, Port 1B, Gamepad: B (center, lower)
snes.input.port6.gamepad.b

;snes, Port 1B, Gamepad: DOWN ?
snes.input.port6.gamepad.down

;snes, Port 1B, Gamepad: Left Shoulder
snes.input.port6.gamepad.l

;snes, Port 1B, Gamepad: LEFT ?
snes.input.port6.gamepad.left

;snes, Port 1B, Gamepad: Right Shoulder
snes.input.port6.gamepad.r

;snes, Port 1B, Gamepad: Rapid A (right)
snes.input.port6.gamepad.rapid_a

;snes, Port 1B, Gamepad: Rapid B (center, lower)
snes.input.port6.gamepad.rapid_b

;snes, Port 1B, Gamepad: Rapid X (center, upper)
snes.input.port6.gamepad.rapid_x

;snes, Port 1B, Gamepad: Rapid Y (left)
snes.input.port6.gamepad.rapid_y

;snes, Port 1B, Gamepad: RIGHT ?
snes.input.port6.gamepad.right

;snes, Port 1B, Gamepad: SELECT
snes.input.port6.gamepad.select

;snes, Port 1B, Gamepad: START
snes.input.port6.gamepad.start

;snes, Port 1B, Gamepad: UP ?
snes.input.port6.gamepad.up

;snes, Port 1B, Gamepad: X (center, upper)
snes.input.port6.gamepad.x

;snes, Port 1B, Gamepad: Y (left)
snes.input.port6.gamepad.y

;snes, Port 1C, Gamepad: A (right)
snes.input.port7.gamepad.a

;snes, Port 1C, Gamepad: B (center, lower)
snes.input.port7.gamepad.b

;snes, Port 1C, Gamepad: DOWN ?
snes.input.port7.gamepad.down

;snes, Port 1C, Gamepad: Left Shoulder
snes.input.port7.gamepad.l

;snes, Port 1C, Gamepad: LEFT ?
snes.input.port7.gamepad.left

;snes, Port 1C, Gamepad: Right Shoulder
snes.input.port7.gamepad.r

;snes, Port 1C, Gamepad: Rapid A (right)
snes.input.port7.gamepad.rapid_a

;snes, Port 1C, Gamepad: Rapid B (center, lower)
snes.input.port7.gamepad.rapid_b

;snes, Port 1C, Gamepad: Rapid X (center, upper)
snes.input.port7.gamepad.rapid_x

;snes, Port 1C, Gamepad: Rapid Y (left)
snes.input.port7.gamepad.rapid_y

;snes, Port 1C, Gamepad: RIGHT ?
snes.input.port7.gamepad.right

;snes, Port 1C, Gamepad: SELECT
snes.input.port7.gamepad.select

;snes, Port 1C, Gamepad: START
snes.input.port7.gamepad.start

;snes, Port 1C, Gamepad: UP ?
snes.input.port7.gamepad.up

;snes, Port 1C, Gamepad: X (center, upper)
snes.input.port7.gamepad.x

;snes, Port 1C, Gamepad: Y (left)
snes.input.port7.gamepad.y

;snes, Port 1D, Gamepad: A (right)
snes.input.port8.gamepad.a

;snes, Port 1D, Gamepad: B (center, lower)
snes.input.port8.gamepad.b

;snes, Port 1D, Gamepad: DOWN ?
snes.input.port8.gamepad.down

;snes, Port 1D, Gamepad: Left Shoulder
snes.input.port8.gamepad.l

;snes, Port 1D, Gamepad: LEFT ?
snes.input.port8.gamepad.left

;snes, Port 1D, Gamepad: Right Shoulder
snes.input.port8.gamepad.r

;snes, Port 1D, Gamepad: Rapid A (right)
snes.input.port8.gamepad.rapid_a

;snes, Port 1D, Gamepad: Rapid B (center, lower)
snes.input.port8.gamepad.rapid_b

;snes, Port 1D, Gamepad: Rapid X (center, upper)
snes.input.port8.gamepad.rapid_x

;snes, Port 1D, Gamepad: Rapid Y (left)
snes.input.port8.gamepad.rapid_y

;snes, Port 1D, Gamepad: RIGHT ?
snes.input.port8.gamepad.right

;snes, Port 1D, Gamepad: SELECT
snes.input.port8.gamepad.select

;snes, Port 1D, Gamepad: START
snes.input.port8.gamepad.start

;snes, Port 1D, Gamepad: UP ?
snes.input.port8.gamepad.up

;snes, Port 1D, Gamepad: X (center, upper)
snes.input.port8.gamepad.x

;snes, Port 1D, Gamepad: Y (left)
snes.input.port8.gamepad.y

;Emulated mouse sensitivity.
snes.mouse_sensitivity 0.50

;Enable scanlines with specified opacity.
snes.scanlines 0

;Enable specified OpenGL shader.
snes.shader none

;Force interlaced video to be treated as progressive.
snes.shader.goat.fprog 0

;Constant RGB horizontal divergence.
snes.shader.goat.hdiv 0.50

;Mask pattern.
snes.shader.goat.pat goatron

;Enable scanlines effect.
snes.shader.goat.slen 1

;Transparency of otherwise-opaque mask areas.
snes.shader.goat.tp 0.50

;Constant RGB vertical divergence.
snes.shader.goat.vdiv 0.50

;Enable specified special video scaler.
snes.special none

;Stretch to fill screen.
snes.stretch aspect_mult2

;Enable video temporal blur(50/50 previous/current frame by default).
snes.tblur 0

;Accumulate color data rather than discarding it.
snes.tblur.accum 0

;Blur amount in accumulation mode, specified in percentage of accumulation buffer to mix with the current frame.
snes.tblur.accum.amount 50

;Enable (bi)linear interpolation.
snes.videoip 0

;Full-screen horizontal resolution.
snes.xres 0

;Scaling factor for the X axis in windowed mode.
snes.xscale 4.000000

;Scaling factor for the X axis in fullscreen mode.
snes.xscalefs 1.000000

;Full-screen vertical resolution.
snes.yres 0

;Scaling factor for the Y axis in windowed mode.
snes.yscale 4.000000

;Scaling factor for the Y axis in fullscreen mode.
snes.yscalefs 1.000000

;MSU1 audio read thread CPU affinity mask.
snes_faust.affinity.msu1.audio 0

;MSU1 data read thread CPU affinity mask.
snes_faust.affinity.msu1.data 0

;PPU rendering thread CPU affinity mask.
snes_faust.affinity.ppu 0

;Correct aspect ratio.
snes_faust.correct_aspect 1

;CX4 clock rate, specified in percentage of normal.
snes_faust.cx4.clock_rate 100

;Enable (automatic) usage of this module.
snes_faust.enable 1

;Force monophonic sound output.
snes_faust.forcemono 0

;Horizontal blending/doubling filter.
snes_faust.h_filter none

;Input device for Virtual Port 1
snes_faust.input.port1 gamepad

;snes_faust, Virtual Port 1, Gamepad: A (right)
snes_faust.input.port1.gamepad.a keyboard 0x0 94

;snes_faust, Virtual Port 1, Gamepad: B (center, lower)
snes_faust.input.port1.gamepad.b keyboard 0x0 90

;snes_faust, Virtual Port 1, Gamepad: DOWN ?
snes_faust.input.port1.gamepad.down keyboard 0x0 22

;snes_faust, Virtual Port 1, Gamepad: Left Shoulder
snes_faust.input.port1.gamepad.l keyboard 0x0 95

;snes_faust, Virtual Port 1, Gamepad: LEFT ?
snes_faust.input.port1.gamepad.left keyboard 0x0 4

;snes_faust, Virtual Port 1, Gamepad: Right Shoulder
snes_faust.input.port1.gamepad.r keyboard 0x0 97

;snes_faust, Virtual Port 1, Gamepad: Rapid A (right)
snes_faust.input.port1.gamepad.rapid_a

;snes_faust, Virtual Port 1, Gamepad: Rapid B (center, lower)
snes_faust.input.port1.gamepad.rapid_b

;snes_faust, Virtual Port 1, Gamepad: Rapid X (center, upper)
snes_faust.input.port1.gamepad.rapid_x

;snes_faust, Virtual Port 1, Gamepad: Rapid Y (left)
snes_faust.input.port1.gamepad.rapid_y

;snes_faust, Virtual Port 1, Gamepad: RIGHT ?
snes_faust.input.port1.gamepad.right keyboard 0x0 7

;snes_faust, Virtual Port 1, Gamepad: SELECT
snes_faust.input.port1.gamepad.select keyboard 0x0 43

;snes_faust, Virtual Port 1, Gamepad: START
snes_faust.input.port1.gamepad.start keyboard 0x0 40

;snes_faust, Virtual Port 1, Gamepad: UP ?
snes_faust.input.port1.gamepad.up keyboard 0x0 26

;snes_faust, Virtual Port 1, Gamepad: X (center, upper)
snes_faust.input.port1.gamepad.x keyboard 0x0 96

;snes_faust, Virtual Port 1, Gamepad: Y (left)
snes_faust.input.port1.gamepad.y keyboard 0x0 92

;Input device for Virtual Port 2
snes_faust.input.port2 gamepad

;snes_faust, Virtual Port 2, Gamepad: A (right)
snes_faust.input.port2.gamepad.a

;snes_faust, Virtual Port 2, Gamepad: B (center, lower)
snes_faust.input.port2.gamepad.b

;snes_faust, Virtual Port 2, Gamepad: DOWN ?
snes_faust.input.port2.gamepad.down

;snes_faust, Virtual Port 2, Gamepad: Left Shoulder
snes_faust.input.port2.gamepad.l

;snes_faust, Virtual Port 2, Gamepad: LEFT ?
snes_faust.input.port2.gamepad.left

;snes_faust, Virtual Port 2, Gamepad: Right Shoulder
snes_faust.input.port2.gamepad.r

;snes_faust, Virtual Port 2, Gamepad: Rapid A (right)
snes_faust.input.port2.gamepad.rapid_a

;snes_faust, Virtual Port 2, Gamepad: Rapid B (center, lower)
snes_faust.input.port2.gamepad.rapid_b

;snes_faust, Virtual Port 2, Gamepad: Rapid X (center, upper)
snes_faust.input.port2.gamepad.rapid_x

;snes_faust, Virtual Port 2, Gamepad: Rapid Y (left)
snes_faust.input.port2.gamepad.rapid_y

;snes_faust, Virtual Port 2, Gamepad: RIGHT ?
snes_faust.input.port2.gamepad.right

;snes_faust, Virtual Port 2, Gamepad: SELECT
snes_faust.input.port2.gamepad.select

;snes_faust, Virtual Port 2, Gamepad: START
snes_faust.input.port2.gamepad.start

;snes_faust, Virtual Port 2, Gamepad: UP ?
snes_faust.input.port2.gamepad.up

;snes_faust, Virtual Port 2, Gamepad: X (center, upper)
snes_faust.input.port2.gamepad.x

;snes_faust, Virtual Port 2, Gamepad: Y (left)
snes_faust.input.port2.gamepad.y

;Input device for Virtual Port 3
snes_faust.input.port3 gamepad

;snes_faust, Virtual Port 3, Gamepad: A (right)
snes_faust.input.port3.gamepad.a

;snes_faust, Virtual Port 3, Gamepad: B (center, lower)
snes_faust.input.port3.gamepad.b

;snes_faust, Virtual Port 3, Gamepad: DOWN ?
snes_faust.input.port3.gamepad.down

;snes_faust, Virtual Port 3, Gamepad: Left Shoulder
snes_faust.input.port3.gamepad.l

;snes_faust, Virtual Port 3, Gamepad: LEFT ?
snes_faust.input.port3.gamepad.left

;snes_faust, Virtual Port 3, Gamepad: Right Shoulder
snes_faust.input.port3.gamepad.r

;snes_faust, Virtual Port 3, Gamepad: Rapid A (right)
snes_faust.input.port3.gamepad.rapid_a

;snes_faust, Virtual Port 3, Gamepad: Rapid B (center, lower)
snes_faust.input.port3.gamepad.rapid_b

;snes_faust, Virtual Port 3, Gamepad: Rapid X (center, upper)
snes_faust.input.port3.gamepad.rapid_x

;snes_faust, Virtual Port 3, Gamepad: Rapid Y (left)
snes_faust.input.port3.gamepad.rapid_y

;snes_faust, Virtual Port 3, Gamepad: RIGHT ?
snes_faust.input.port3.gamepad.right

;snes_faust, Virtual Port 3, Gamepad: SELECT
snes_faust.input.port3.gamepad.select

;snes_faust, Virtual Port 3, Gamepad: START
snes_faust.input.port3.gamepad.start

;snes_faust, Virtual Port 3, Gamepad: UP ?
snes_faust.input.port3.gamepad.up

;snes_faust, Virtual Port 3, Gamepad: X (center, upper)
snes_faust.input.port3.gamepad.x

;snes_faust, Virtual Port 3, Gamepad: Y (left)
snes_faust.input.port3.gamepad.y

;Input device for Virtual Port 4
snes_faust.input.port4 gamepad

;snes_faust, Virtual Port 4, Gamepad: A (right)
snes_faust.input.port4.gamepad.a

;snes_faust, Virtual Port 4, Gamepad: B (center, lower)
snes_faust.input.port4.gamepad.b

;snes_faust, Virtual Port 4, Gamepad: DOWN ?
snes_faust.input.port4.gamepad.down

;snes_faust, Virtual Port 4, Gamepad: Left Shoulder
snes_faust.input.port4.gamepad.l

;snes_faust, Virtual Port 4, Gamepad: LEFT ?
snes_faust.input.port4.gamepad.left

;snes_faust, Virtual Port 4, Gamepad: Right Shoulder
snes_faust.input.port4.gamepad.r

;snes_faust, Virtual Port 4, Gamepad: Rapid A (right)
snes_faust.input.port4.gamepad.rapid_a

;snes_faust, Virtual Port 4, Gamepad: Rapid B (center, lower)
snes_faust.input.port4.gamepad.rapid_b

;snes_faust, Virtual Port 4, Gamepad: Rapid X (center, upper)
snes_faust.input.port4.gamepad.rapid_x

;snes_faust, Virtual Port 4, Gamepad: Rapid Y (left)
snes_faust.input.port4.gamepad.rapid_y

;snes_faust, Virtual Port 4, Gamepad: RIGHT ?
snes_faust.input.port4.gamepad.right

;snes_faust, Virtual Port 4, Gamepad: SELECT
snes_faust.input.port4.gamepad.select

;snes_faust, Virtual Port 4, Gamepad: START
snes_faust.input.port4.gamepad.start

;snes_faust, Virtual Port 4, Gamepad: UP ?
snes_faust.input.port4.gamepad.up

;snes_faust, Virtual Port 4, Gamepad: X (center, upper)
snes_faust.input.port4.gamepad.x

;snes_faust, Virtual Port 4, Gamepad: Y (left)
snes_faust.input.port4.gamepad.y

;Input device for Virtual Port 5
snes_faust.input.port5 gamepad

;snes_faust, Virtual Port 5, Gamepad: A (right)
snes_faust.input.port5.gamepad.a

;snes_faust, Virtual Port 5, Gamepad: B (center, lower)
snes_faust.input.port5.gamepad.b

;snes_faust, Virtual Port 5, Gamepad: DOWN ?
snes_faust.input.port5.gamepad.down

;snes_faust, Virtual Port 5, Gamepad: Left Shoulder
snes_faust.input.port5.gamepad.l

;snes_faust, Virtual Port 5, Gamepad: LEFT ?
snes_faust.input.port5.gamepad.left

;snes_faust, Virtual Port 5, Gamepad: Right Shoulder
snes_faust.input.port5.gamepad.r

;snes_faust, Virtual Port 5, Gamepad: Rapid A (right)
snes_faust.input.port5.gamepad.rapid_a

;snes_faust, Virtual Port 5, Gamepad: Rapid B (center, lower)
snes_faust.input.port5.gamepad.rapid_b

;snes_faust, Virtual Port 5, Gamepad: Rapid X (center, upper)
snes_faust.input.port5.gamepad.rapid_x

;snes_faust, Virtual Port 5, Gamepad: Rapid Y (left)
snes_faust.input.port5.gamepad.rapid_y

;snes_faust, Virtual Port 5, Gamepad: RIGHT ?
snes_faust.input.port5.gamepad.right

;snes_faust, Virtual Port 5, Gamepad: SELECT
snes_faust.input.port5.gamepad.select

;snes_faust, Virtual Port 5, Gamepad: START
snes_faust.input.port5.gamepad.start

;snes_faust, Virtual Port 5, Gamepad: UP ?
snes_faust.input.port5.gamepad.up

;snes_faust, Virtual Port 5, Gamepad: X (center, upper)
snes_faust.input.port5.gamepad.x

;snes_faust, Virtual Port 5, Gamepad: Y (left)
snes_faust.input.port5.gamepad.y

;Input device for Virtual Port 6
snes_faust.input.port6 gamepad

;snes_faust, Virtual Port 6, Gamepad: A (right)
snes_faust.input.port6.gamepad.a

;snes_faust, Virtual Port 6, Gamepad: B (center, lower)
snes_faust.input.port6.gamepad.b

;snes_faust, Virtual Port 6, Gamepad: DOWN ?
snes_faust.input.port6.gamepad.down

;snes_faust, Virtual Port 6, Gamepad: Left Shoulder
snes_faust.input.port6.gamepad.l

;snes_faust, Virtual Port 6, Gamepad: LEFT ?
snes_faust.input.port6.gamepad.left

;snes_faust, Virtual Port 6, Gamepad: Right Shoulder
snes_faust.input.port6.gamepad.r

;snes_faust, Virtual Port 6, Gamepad: Rapid A (right)
snes_faust.input.port6.gamepad.rapid_a

;snes_faust, Virtual Port 6, Gamepad: Rapid B (center, lower)
snes_faust.input.port6.gamepad.rapid_b

;snes_faust, Virtual Port 6, Gamepad: Rapid X (center, upper)
snes_faust.input.port6.gamepad.rapid_x

;snes_faust, Virtual Port 6, Gamepad: Rapid Y (left)
snes_faust.input.port6.gamepad.rapid_y

;snes_faust, Virtual Port 6, Gamepad: RIGHT ?
snes_faust.input.port6.gamepad.right

;snes_faust, Virtual Port 6, Gamepad: SELECT
snes_faust.input.port6.gamepad.select

;snes_faust, Virtual Port 6, Gamepad: START
snes_faust.input.port6.gamepad.start

;snes_faust, Virtual Port 6, Gamepad: UP ?
snes_faust.input.port6.gamepad.up

;snes_faust, Virtual Port 6, Gamepad: X (center, upper)
snes_faust.input.port6.gamepad.x

;snes_faust, Virtual Port 6, Gamepad: Y (left)
snes_faust.input.port6.gamepad.y

;Input device for Virtual Port 7
snes_faust.input.port7 gamepad

;snes_faust, Virtual Port 7, Gamepad: A (right)
snes_faust.input.port7.gamepad.a

;snes_faust, Virtual Port 7, Gamepad: B (center, lower)
snes_faust.input.port7.gamepad.b

;snes_faust, Virtual Port 7, Gamepad: DOWN ?
snes_faust.input.port7.gamepad.down

;snes_faust, Virtual Port 7, Gamepad: Left Shoulder
snes_faust.input.port7.gamepad.l

;snes_faust, Virtual Port 7, Gamepad: LEFT ?
snes_faust.input.port7.gamepad.left

;snes_faust, Virtual Port 7, Gamepad: Right Shoulder
snes_faust.input.port7.gamepad.r

;snes_faust, Virtual Port 7, Gamepad: Rapid A (right)
snes_faust.input.port7.gamepad.rapid_a

;snes_faust, Virtual Port 7, Gamepad: Rapid B (center, lower)
snes_faust.input.port7.gamepad.rapid_b

;snes_faust, Virtual Port 7, Gamepad: Rapid X (center, upper)
snes_faust.input.port7.gamepad.rapid_x

;snes_faust, Virtual Port 7, Gamepad: Rapid Y (left)
snes_faust.input.port7.gamepad.rapid_y

;snes_faust, Virtual Port 7, Gamepad: RIGHT ?
snes_faust.input.port7.gamepad.right

;snes_faust, Virtual Port 7, Gamepad: SELECT
snes_faust.input.port7.gamepad.select

;snes_faust, Virtual Port 7, Gamepad: START
snes_faust.input.port7.gamepad.start

;snes_faust, Virtual Port 7, Gamepad: UP ?
snes_faust.input.port7.gamepad.up

;snes_faust, Virtual Port 7, Gamepad: X (center, upper)
snes_faust.input.port7.gamepad.x

;snes_faust, Virtual Port 7, Gamepad: Y (left)
snes_faust.input.port7.gamepad.y

;Input device for Virtual Port 8
snes_faust.input.port8 gamepad

;snes_faust, Virtual Port 8, Gamepad: A (right)
snes_faust.input.port8.gamepad.a

;snes_faust, Virtual Port 8, Gamepad: B (center, lower)
snes_faust.input.port8.gamepad.b

;snes_faust, Virtual Port 8, Gamepad: DOWN ?
snes_faust.input.port8.gamepad.down

;snes_faust, Virtual Port 8, Gamepad: Left Shoulder
snes_faust.input.port8.gamepad.l

;snes_faust, Virtual Port 8, Gamepad: LEFT ?
snes_faust.input.port8.gamepad.left

;snes_faust, Virtual Port 8, Gamepad: Right Shoulder
snes_faust.input.port8.gamepad.r

;snes_faust, Virtual Port 8, Gamepad: Rapid A (right)
snes_faust.input.port8.gamepad.rapid_a

;snes_faust, Virtual Port 8, Gamepad: Rapid B (center, lower)
snes_faust.input.port8.gamepad.rapid_b

;snes_faust, Virtual Port 8, Gamepad: Rapid X (center, upper)
snes_faust.input.port8.gamepad.rapid_x

;snes_faust, Virtual Port 8, Gamepad: Rapid Y (left)
snes_faust.input.port8.gamepad.rapid_y

;snes_faust, Virtual Port 8, Gamepad: RIGHT ?
snes_faust.input.port8.gamepad.right

;snes_faust, Virtual Port 8, Gamepad: SELECT
snes_faust.input.port8.gamepad.select

;snes_faust, Virtual Port 8, Gamepad: START
snes_faust.input.port8.gamepad.start

;snes_faust, Virtual Port 8, Gamepad: UP ?
snes_faust.input.port8.gamepad.up

;snes_faust, Virtual Port 8, Gamepad: X (center, upper)
snes_faust.input.port8.gamepad.x

;snes_faust, Virtual Port 8, Gamepad: Y (left)
snes_faust.input.port8.gamepad.y

;Enable multitap on SNES port 1.
snes_faust.input.sport1.multitap 0

;Enable multitap on SNES port 2.
snes_faust.input.sport2.multitap 0

;MSU1 sound quality.
snes_faust.msu1.resamp_quality 4

;Region of SNES to emulate.
snes_faust.region auto

;PPU renderer.
snes_faust.renderer st

;Sound quality.
snes_faust.resamp_quality 3

;Sound output rate tolerance.
snes_faust.resamp_rate_error 0.000035

;Enable scanlines with specified opacity.
snes_faust.scanlines 0

;Enable specified OpenGL shader.
snes_faust.shader none

;Force interlaced video to be treated as progressive.
snes_faust.shader.goat.fprog 0

;Constant RGB horizontal divergence.
snes_faust.shader.goat.hdiv 0.50

;Mask pattern.
snes_faust.shader.goat.pat goatron

;Enable scanlines effect.
snes_faust.shader.goat.slen 1

;Transparency of otherwise-opaque mask areas.
snes_faust.shader.goat.tp 0.50

;Constant RGB vertical divergence.
snes_faust.shader.goat.vdiv 0.50

;Last displayed scanline in NTSC mode.
snes_faust.slend 223

;Last displayed scanline in PAL mode.
snes_faust.slendp 238

;First displayed scanline in NTSC mode.
snes_faust.slstart 0

;First displayed scanline in PAL mode.
snes_faust.slstartp 0

;Enable specified special video scaler.
snes_faust.special none

;Enable 1-frame speculative execution for video output.
snes_faust.spex 0

;Enable speculative execution for sound output too.
snes_faust.spex.sound 1

;Stretch to fill screen.
snes_faust.stretch aspect_mult2

;Super FX clock rate, specified in percentage of normal.
snes_faust.superfx.clock_rate 100

;Enable SuperFX instruction cache emulation.
snes_faust.superfx.icache 0

;Enable video temporal blur(50/50 previous/current frame by default).
snes_faust.tblur 0

;Accumulate color data rather than discarding it.
snes_faust.tblur.accum 0

;Blur amount in accumulation mode, specified in percentage of accumulation buffer to mix with the current frame.
snes_faust.tblur.accum.amount 50

;Enable (bi)linear interpolation.
snes_faust.videoip 1

;Full-screen horizontal resolution.
snes_faust.xres 0

;Scaling factor for the X axis in windowed mode.
snes_faust.xscale 3.000000

;Scaling factor for the X axis in fullscreen mode.
snes_faust.xscalefs 1.000000

;Full-screen vertical resolution.
snes_faust.yres 0

;Scaling factor for the Y axis in windowed mode.
snes_faust.yscale 3.000000

;Scaling factor for the Y axis in fullscreen mode.
snes_faust.yscalefs 1.000000

;Enable sound output.
sound 1

;Desired buffer size in milliseconds(ms).
sound.buffer_time 0

;Select sound output device.
sound.device sexyal-literal-default

;Select sound driver.
sound.driver SDL

;Desired period size in microseconds(?s).
sound.period_time 0

;Specifies the sound playback rate, in sound frames per second("Hz").
sound.rate 48000

;Sound volume level, in percent.
sound.volume 100

;DO NOT USE UNLESS YOU'RE A SPACE GOAT
srwautoenable 0

;Number of frames to keep states for when state rewinding is enabled.
srwframes 600

;Enable (automatic) usage of this module.
ssfplay.enable 1

;Force monophonic sound output.
ssfplay.forcemono 0

;SCSP output resampler quality.
ssfplay.resamp_quality 4

;Enable scanlines with specified opacity.
ssfplay.scanlines 0

;Enable specified OpenGL shader.
ssfplay.shader none

;Force interlaced video to be treated as progressive.
ssfplay.shader.goat.fprog 0

;Constant RGB horizontal divergence.
ssfplay.shader.goat.hdiv 0.50

;Mask pattern.
ssfplay.shader.goat.pat goatron

;Enable scanlines effect.
ssfplay.shader.goat.slen 1

;Transparency of otherwise-opaque mask areas.
ssfplay.shader.goat.tp 0.50

;Constant RGB vertical divergence.
ssfplay.shader.goat.vdiv 0.50

;Enable specified special video scaler.
ssfplay.special none

;Stretch to fill screen.
ssfplay.stretch aspect_mult2

;Enable video temporal blur(50/50 previous/current frame by default).
ssfplay.tblur 0

;Accumulate color data rather than discarding it.
ssfplay.tblur.accum 0

;Blur amount in accumulation mode, specified in percentage of accumulation buffer to mix with the current frame.
ssfplay.tblur.accum.amount 50

;Enable (bi)linear interpolation.
ssfplay.videoip 0

;Full-screen horizontal resolution.
ssfplay.xres 0

;Scaling factor for the X axis in windowed mode.
ssfplay.xscale 2.000000

;Scaling factor for the X axis in fullscreen mode.
ssfplay.xscalefs 1.000000

;Full-screen vertical resolution.
ssfplay.yres 0

;Scaling factor for the Y axis in windowed mode.
ssfplay.yscale 2.000000

;Scaling factor for the Y axis in fullscreen mode.
ssfplay.yscalefs 1.000000

;3D mode.
vb.3dmode anaglyph

;Reverse left/right 3D views.
vb.3dreverse 0

;Allow draw skipping.
vb.allow_draw_skip 0

;Anaglyph maximum-brightness color for left view.
vb.anaglyph.lcolor 0xffba00

;Anaglyph preset colors.
vb.anaglyph.preset red_blue

;Anaglyph maximum-brightness color for right view.
vb.anaglyph.rcolor 0x00baff

;CPU emulation mode.
vb.cpu_emulation fast

;Disassembly font size.
vb.debugger.disfontsize 5x7

;Character encoding for the debugger's memory editor.
vb.debugger.memcharenc shift_jis

;Default maximum-brightness color to use in non-anaglyph 3D modes.
vb.default_color 0xF0F0F0

;Disable parallax for BG and OBJ rendering.
vb.disable_parallax 0

;Enable (automatic) usage of this module.
vb.enable 1

;Force monophonic sound output.
vb.forcemono 0

;vb, Built-In, Gamepad: A
vb.input.builtin.gamepad.a keyboard 0x0 13

;vb, Built-In, Gamepad: B
vb.input.builtin.gamepad.b keyboard 0x0 14

;vb, Built-In, Gamepad: DOWN ? (Left D-Pad)
vb.input.builtin.gamepad.down-l keyboard 0x0 81

;vb, Built-In, Gamepad: DOWN ? (Right D-Pad)
vb.input.builtin.gamepad.down-r keyboard 0x0 81

;vb, Built-In, Gamepad: LEFT ? (Left D-Pad)
vb.input.builtin.gamepad.left-l keyboard 0x0 80

;vb, Built-In, Gamepad: LEFT ? (Right D-Pad)
vb.input.builtin.gamepad.left-r keyboard 0x0 80

;vb, Built-In, Gamepad: Left-Back
vb.input.builtin.gamepad.lt keyboard 0x0 15

;vb, Built-In, Gamepad: Rapid A
vb.input.builtin.gamepad.rapid_a keyboard 0x0 24

;vb, Built-In, Gamepad: Rapid B
vb.input.builtin.gamepad.rapid_b keyboard 0x0 12

;vb, Built-In, Gamepad: RIGHT ? (Left D-Pad)
vb.input.builtin.gamepad.right-l keyboard 0x0 79

;vb, Built-In, Gamepad: RIGHT ? (Right D-Pad)
vb.input.builtin.gamepad.right-r keyboard 0x0 79

;vb, Built-In, Gamepad: Right-Back
vb.input.builtin.gamepad.rt keyboard 0x0 11

;vb, Built-In, Gamepad: Select
vb.input.builtin.gamepad.select keyboard 0x0 44

;vb, Built-In, Gamepad: Start
vb.input.builtin.gamepad.start keyboard 0x0 40

;vb, Built-In, Gamepad: UP ? (Left D-Pad)
vb.input.builtin.gamepad.up-l keyboard 0x0 82

;vb, Built-In, Gamepad: UP ? (Right D-Pad)
vb.input.builtin.gamepad.up-r keyboard 0x0 82

;Input latency reduction hack.
vb.input.instant_read_hack 1

;vb, System, Misc: Battery Voltage
vb.input.system.misc.battery

;Default position for switch "Battery Voltage".
vb.input.system.misc.battery.defpos normal

;Display latency reduction hack.
vb.instant_display_hack 0

;LED on duration to linear RGB conversion coefficient.
vb.ledonscale 1.75

;Line Interlaced prescale.
vb.liprescale 2

;Enable scanlines with specified opacity.
vb.scanlines 0

;Enable specified OpenGL shader.
vb.shader none

;Force interlaced video to be treated as progressive.
vb.shader.goat.fprog 0

;Constant RGB horizontal divergence.
vb.shader.goat.hdiv 0.50

;Mask pattern.
vb.shader.goat.pat goatron

;Enable scanlines effect.
vb.shader.goat.slen 1

;Transparency of otherwise-opaque mask areas.
vb.shader.goat.tp 0.50

;Constant RGB vertical divergence.
vb.shader.goat.vdiv 0.50

;Number of pixels to separate L/R views by.
vb.sidebyside.separation 0

;Enable specified special video scaler.
vb.special none

;Stretch to fill screen.
vb.stretch aspect_mult2

;Enable video temporal blur(50/50 previous/current frame by default).
vb.tblur 0

;Accumulate color data rather than discarding it.
vb.tblur.accum 0

;Blur amount in accumulation mode, specified in percentage of accumulation buffer to mix with the current frame.
vb.tblur.accum.amount 50

;Enable (bi)linear interpolation.
vb.videoip 0

;Full-screen horizontal resolution.
vb.xres 0

;Scaling factor for the X axis in windowed mode.
vb.xscale 2.000000

;Scaling factor for the X axis in fullscreen mode.
vb.xscalefs 1.000000

;Full-screen vertical resolution.
vb.yres 0

;Scaling factor for the Y axis in windowed mode.
vb.yscale 2.000000

;Scaling factor for the Y axis in fullscreen mode.
vb.yscalefs 1.000000

;Enable time synchronization(waiting) for frame blitting.
video.blit_timesync 1

;Deinterlacer to use for interlaced video.
video.deinterlacer weave

;Attempt to disable desktop composition.
video.disable_composition 1

;Video output driver.
video.driver default

;Enable frameskip during emulation rendering.
video.frameskip 1

;Enable fullscreen mode.
video.fs 1

;Display to use with fullscreen mode.
video.fs.display -1

;Attempt to synchronize OpenGL page flips to vertical retrace period.
video.glvsync 1

;Birth Day
wswan.bday 23

;Blood Type
wswan.blood O

;Birth Month
wswan.bmonth 6

;Birth Year
wswan.byear 1989

;Disassembly font size.
wswan.debugger.disfontsize 5x7

;Character encoding for the debugger's memory editor.
wswan.debugger.memcharenc shift_jis

;Enable (automatic) usage of this module.
wswan.enable 1

;Enable comms to external program.
wswan.excomm 0

;Comms external program path.
wswan.excomm.path wonderfence

;Force monophonic sound output.
wswan.forcemono 0

;Input device for Built-In
wswan.input.builtin gamepad

;wswan, Built-In, Gamepad: A
wswan.input.builtin.gamepad.a keyboard 0x0 91

;wswan, Built-In, Gamepad: B
wswan.input.builtin.gamepad.b keyboard 0x0 90

;wswan, Built-In, Gamepad: X3(X DOWN ?)
wswan.input.builtin.gamepad.down-x keyboard 0x0 22

;wswan, Built-In, Gamepad: Y3(Y DOWN ?)
wswan.input.builtin.gamepad.down-y keyboard 0x0 81

;wswan, Built-In, Gamepad: X4(X LEFT ?)
wswan.input.builtin.gamepad.left-x keyboard 0x0 4

;wswan, Built-In, Gamepad: Y4(Y LEFT ?)
wswan.input.builtin.gamepad.left-y keyboard 0x0 80

;wswan, Built-In, Gamepad: Rapid A
wswan.input.builtin.gamepad.rapid_a

;wswan, Built-In, Gamepad: Rapid B
wswan.input.builtin.gamepad.rapid_b

;wswan, Built-In, Gamepad: X2(X RIGHT ?)
wswan.input.builtin.gamepad.right-x keyboard 0x0 7

;wswan, Built-In, Gamepad: Y2(Y RIGHT ?)
wswan.input.builtin.gamepad.right-y keyboard 0x0 79

;wswan, Built-In, Gamepad: Start
wswan.input.builtin.gamepad.start keyboard 0x0 40

;wswan, Built-In, Gamepad: X1(X UP ?)
wswan.input.builtin.gamepad.up-x keyboard 0x0 26

;wswan, Built-In, Gamepad: Y1(Y UP ?)
wswan.input.builtin.gamepad.up-y keyboard 0x0 82

;wswan, Built-In, Gamepad(Rotation Auto-Adjust): A (right)
wswan.input.builtin.gamepadraa.a keyboard 0x0 91

;wswan, Built-In, Gamepad(Rotation Auto-Adjust): A'(center, upper)
wswan.input.builtin.gamepadraa.ap keyboard 0x0 94

;wswan, Built-In, Gamepad(Rotation Auto-Adjust): B (center, lower)
wswan.input.builtin.gamepadraa.b keyboard 0x0 90

;wswan, Built-In, Gamepad(Rotation Auto-Adjust): B'(left)
wswan.input.builtin.gamepadraa.bp keyboard 0x0 93

;wswan, Built-In, Gamepad(Rotation Auto-Adjust): X3(X DOWN ?)
wswan.input.builtin.gamepadraa.down-x keyboard 0x0 22

;wswan, Built-In, Gamepad(Rotation Auto-Adjust): Y3(Y DOWN ?)
wswan.input.builtin.gamepadraa.down-y keyboard 0x0 81

;wswan, Built-In, Gamepad(Rotation Auto-Adjust): X4(X LEFT ?)
wswan.input.builtin.gamepadraa.left-x keyboard 0x0 4

;wswan, Built-In, Gamepad(Rotation Auto-Adjust): Y4(Y LEFT ?)
wswan.input.builtin.gamepadraa.left-y keyboard 0x0 80

;wswan, Built-In, Gamepad(Rotation Auto-Adjust): X2(X RIGHT ?)
wswan.input.builtin.gamepadraa.right-x keyboard 0x0 7

;wswan, Built-In, Gamepad(Rotation Auto-Adjust): Y2(Y RIGHT ?)
wswan.input.builtin.gamepadraa.right-y keyboard 0x0 79

;wswan, Built-In, Gamepad(Rotation Auto-Adjust): Start
wswan.input.builtin.gamepadraa.start keyboard 0x0 40

;wswan, Built-In, Gamepad(Rotation Auto-Adjust): X1(X UP ?)
wswan.input.builtin.gamepadraa.up-x keyboard 0x0 26

;wswan, Built-In, Gamepad(Rotation Auto-Adjust): Y1(Y UP ?)
wswan.input.builtin.gamepadraa.up-y keyboard 0x0 82

;Language games should display text in.
wswan.language english

;Name
wswan.name Mednafen

;Enable scanlines with specified opacity.
wswan.scanlines 0

;Sex
wswan.sex F

;Enable specified OpenGL shader.
wswan.shader none

;Force interlaced video to be treated as progressive.
wswan.shader.goat.fprog 0

;Constant RGB horizontal divergence.
wswan.shader.goat.hdiv 0.50

;Mask pattern.
wswan.shader.goat.pat goatron

;Enable scanlines effect.
wswan.shader.goat.slen 1

;Transparency of otherwise-opaque mask areas.
wswan.shader.goat.tp 0.50

;Constant RGB vertical divergence.
wswan.shader.goat.vdiv 0.50

;Enable specified special video scaler.
wswan.special none

;Stretch to fill screen.
wswan.stretch aspect_mult2

;Enable video temporal blur(50/50 previous/current frame by default).
wswan.tblur 0

;Accumulate color data rather than discarding it.
wswan.tblur.accum 0

;Blur amount in accumulation mode, specified in percentage of accumulation buffer to mix with the current frame.
wswan.tblur.accum.amount 50

;Enable (bi)linear interpolation.
wswan.videoip 0

;Full-screen horizontal resolution.
wswan.xres 0

;Scaling factor for the X axis in windowed mode.
wswan.xscale 4.000000

;Scaling factor for the X axis in fullscreen mode.
wswan.xscalefs 1.000000

;Full-screen vertical resolution.
wswan.yres 0

;Scaling factor for the Y axis in windowed mode.
wswan.yscale 4.000000

;Scaling factor for the Y axis in fullscreen mode.
wswan.yscalefs 1.000000