Skip to content

Instantly share code, notes, and snippets.

@snickerbockers
Created July 5, 2022 02:33
Show Gist options
  • Save snickerbockers/8993705f32dfd52c9934a54c4fcede75 to your computer and use it in GitHub Desktop.
Save snickerbockers/8993705f32dfd52c9934a54c4fcede75 to your computer and use it in GitHub Desktop.
WashingtonDC default config file
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; AUTOMATICALLY GENERATED BY WASHINGTONDC
;;
;; This is WashingtonDC's config file. Config settings consist of a config
;; name followed by its value on the same line
;; the semicolon (;) character can be used to create single-line comments
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; set to true to save system memory to <cwd>/wawashdc_error_dump.bin
; when the emulator raises an error (only useful for debugging
; purposes)
wash.dbg.dump_mem_on_error false
; background color (use html hex syntax)
ui.bgcolor #3d77c0
; vsync
; options are true (to enable) or false (to disable)
win.vsync false
; default external resolution. this is the size of the window when
; it is initially created, but you can also change it at runtime by
; resizing the window.
win.external-res.x 640
win.external-res.y 480
; Pick what kind of window you want.
; available values are:
; * windowed
; * fullscreen
win.window-mode windowed
; how to filter the final image. choices are:
; nearest - for nearest-neighbor sampling
; linear - for bilinear interpolation
gfx.output.filter linear
; Order-Independent Transparency algorithm. choices are:
; disabled - no order-independent transparency
; per-group - groups of transparent polygons are sorted by depth
; Ideally there would be a per-pixel mode, as well, but that hasn't
; been implemented yet. per-group is far from perfect but it does
; seem to be a good enough approximation most of the time.
gfx.rend.oit-mode per-group
; set this to true to mute audio. Set it to false to allow audio
; to play
audio.mute false
; to "unplug" any of the below controllers, comment out or delete it
wash.dc.port.0.0 dreamcast_controller
wash.dc.port.1.0 dreamcast_controller
wash.dc.port.2.0 dreamcast_controller
wash.dc.port.3.0 dreamcast_controller
; VMUs. file is the name of the image. These are located in
; $HOME/.local/share/washdc/vmu_images. If the image file does not
; exist then WashingtonDC will create one.
wash.dc.port.0.1 vmu file=vmu_0_1.bin
wash.dc.port.1.1 vmu file=vmu_1_1.bin
wash.dc.port.2.1 vmu file=vmu_2_1.bin
wash.dc.port.3.1 vmu file=vmu_3_1.bin
; uncomment the below for purupuru (vibration pack) emulation
; this is experimental and unfinished. all it will do is printf
; to stdout when the emulated controller should be vibrating because
; there's no frontend code yet so you probably have no reason to care
; about this for now.
; wash.dc.port.0.2 purupuru
; wash.dc.port.1.2 purupuru
; wash.dc.port.2.2 purupuru
; wash.dc.port.3.2 purupuru
; default execution speed
; choices are
; full: run at 100% speed
; unlimited: run as fast as the host machine will allow
; pause: start the emulator paused
exec.speed full
wash.ctrl.toggle-overlay kbd.f2
wash.ctrl.toggle-filter kbd.f3
wash.ctrl.toggle-wireframe kbd.f4
wash.ctrl.resume-execution kbd.f5
wash.ctrl.run-one-frame kbd.f6
wash.ctrl.pause-execution kbd.f7
wash.ctrl.toggle-mute kbd.f8
wash.ctrl.toggle-fullscreen kbd.f11
wash.ctrl.screenshot kbd.f12
wash.ctrl.renderdoc-capture kbd.f10
; this bind can be used to immediately terminate WashingtonDC
; it's disabled by default to prevent users from pressing it by
; mistake, but if you feel confident in your ability to never hit
; the wrong key then feel free to use this bind.
; wash.ctrl.exit kbd.f10
dc.ctrl.p1.dpad-up gp0.btn.up
dc.ctrl.p1.dpad-left gp0.btn.left
dc.ctrl.p1.dpad-down gp0.btn.down
dc.ctrl.p1.dpad-right gp0.btn.right
dc.ctrl.p1.stick-left gp0.axis.lhor-
dc.ctrl.p1.stick-right gp0.axis.lhor+
dc.ctrl.p1.stick-up gp0.axis.lvert-
dc.ctrl.p1.stick-down gp0.axis.lvert+
dc.ctrl.p1.trig-l gp0.axis.l2
dc.ctrl.p1.trig-r gp0.axis.r2
dc.ctrl.p1.btn-a gp0.btn.a
dc.ctrl.p1.btn-b gp0.btn.b
dc.ctrl.p1.btn-x gp0.btn.x
dc.ctrl.p1.btn-y gp0.btn.y
dc.ctrl.p1.btn-start gp0.btn.start
; the (1) versions of the controls are duplicates so you can have
; the same control bound to more than one key on the host machine.
; There is no (2), (3), etc but there might be someday in the
; future.
dc.ctrl.p1.stick-up(1) kbd.w
dc.ctrl.p1.stick-left(1) kbd.a
dc.ctrl.p1.stick-down(1) kbd.s
dc.ctrl.p1.stick-right(1) kbd.d
dc.ctrl.p1.trig-l(1) kbd.q
dc.ctrl.p1.trig-r(1) kbd.e
dc.ctrl.p1.dpad-up(1) kbd.up
dc.ctrl.p1.dpad-left(1) kbd.left
dc.ctrl.p1.dpad-down(1) kbd.down
dc.ctrl.p1.dpad-right(1) kbd.right
dc.ctrl.p1.btn-a(1) kbd.keypad2
dc.ctrl.p1.btn-b(1) kbd.keypad6
dc.ctrl.p1.btn-x(1) kbd.keypad4
dc.ctrl.p1.btn-y(1) kbd.keypad8
dc.ctrl.p1.btn-start(1) kbd.space
; player 2 control bindings. There's also a (1) for redundant key
; bindings if you want to use it, but it's not enabled by default.
dc.ctrl.p2.dpad-up gp1.btn.up
dc.ctrl.p2.dpad-left gp1.btn.left
dc.ctrl.p2.dpad-down gp1.btn.down
dc.ctrl.p2.dpad-right gp1.btn.right
dc.ctrl.p2.stick-left gp1.axis.lhor-
dc.ctrl.p2.stick-right gp1.axis.lhor+
dc.ctrl.p2.stick-up gp1.axis.lvert-
dc.ctrl.p2.stick-down gp1.axis.lvert+
dc.ctrl.p2.trig-l gp1.axis.l2
dc.ctrl.p2.trig-r gp1.axis.r2
dc.ctrl.p2.btn-a gp1.btn.a
dc.ctrl.p2.btn-b gp1.btn.b
dc.ctrl.p2.btn-x gp1.btn.x
dc.ctrl.p2.btn-y gp1.btn.y
dc.ctrl.p2.btn-start gp1.btn.start
; dc.ctrl.p2.stick-up(1) kbd.w
; dc.ctrl.p2.stick-left(1) kbd.a
; dc.ctrl.p2.stick-down(1) kbd.s
; dc.ctrl.p2.stick-right(1) kbd.d
; dc.ctrl.p2.trig-l(1) kbd.q
; dc.ctrl.p2.trig-r(1) kbd.e
; dc.ctrl.p2.dpad-up(1) kbd.up
; dc.ctrl.p2.dpad-left(1) kbd.left
; dc.ctrl.p2.dpad-down(1) kbd.down
; dc.ctrl.p2.dpad-right(1) kbd.right
; dc.ctrl.p2.btn-a(1) kbd.keypad2
; dc.ctrl.p2.btn-b(1) kbd.keypad6
; dc.ctrl.p2.btn-x(1) kbd.keypad4
; dc.ctrl.p2.btn-y(1) kbd.keypad8
; dc.ctrl.p2.btn-start(1) kbd.space
; player 3 control bindings. There's also a (1) for redundant key
; bindings if you want to use it, but it's not enabled by default.
dc.ctrl.p3.dpad-up gp2.btn.up
dc.ctrl.p3.dpad-left gp2.btn.left
dc.ctrl.p3.dpad-down gp2.btn.down
dc.ctrl.p3.dpad-right gp2.btn.right
dc.ctrl.p3.stick-left gp2.axis.lhor-
dc.ctrl.p3.stick-right gp2.axis.lhor+
dc.ctrl.p3.stick-up gp2.axis.lvert-
dc.ctrl.p3.stick-down gp2.axis.lvert+
dc.ctrl.p3.trig-l gp2.axis.l2
dc.ctrl.p3.trig-r gp2.axis.r2
dc.ctrl.p3.btn-a gp2.btn.a
dc.ctrl.p3.btn-b gp2.btn.b
dc.ctrl.p3.btn-x gp2.btn.x
dc.ctrl.p3.btn-y gp2.btn.y
dc.ctrl.p3.btn-start gp2.btn.start
; dc.ctrl.p3.stick-up(1) kbd.w
; dc.ctrl.p3.stick-left(1) kbd.a
; dc.ctrl.p3.stick-down(1) kbd.s
; dc.ctrl.p3.stick-right(1) kbd.d
; dc.ctrl.p3.trig-l(1) kbd.q
; dc.ctrl.p3.trig-r(1) kbd.e
; dc.ctrl.p3.dpad-up(1) kbd.up
; dc.ctrl.p3.dpad-left(1) kbd.left
; dc.ctrl.p3.dpad-down(1) kbd.down
; dc.ctrl.p3.dpad-right(1) kbd.right
; dc.ctrl.p3.btn-a(1) kbd.keypad2
; dc.ctrl.p3.btn-b(1) kbd.keypad6
; dc.ctrl.p3.btn-x(1) kbd.keypad4
; dc.ctrl.p3.btn-y(1) kbd.keypad8
; dc.ctrl.p3.btn-start(1) kbd.space
; player 4 control bindings. There's also a (1) for redundant key
; bindings if you want to use it, but it's not enabled by default.
dc.ctrl.p4.dpad-up gp3.btn.up
dc.ctrl.p4.dpad-left gp3.btn.left
dc.ctrl.p4.dpad-down gp3.btn.down
dc.ctrl.p4.dpad-right gp3.btn.right
dc.ctrl.p4.stick-left gp3.axis.lhor-
dc.ctrl.p4.stick-right gp3.axis.lhor+
dc.ctrl.p4.stick-up gp3.axis.lvert-
dc.ctrl.p4.stick-down gp3.axis.lvert+
dc.ctrl.p4.trig-l gp3.axis.l2
dc.ctrl.p4.trig-r gp3.axis.r2
dc.ctrl.p4.btn-a gp3.btn.a
dc.ctrl.p4.btn-b gp3.btn.b
dc.ctrl.p4.btn-x gp3.btn.x
dc.ctrl.p4.btn-y gp3.btn.y
dc.ctrl.p4.btn-start gp3.btn.start
; dc.ctrl.p4.stick-up(1) kbd.w
; dc.ctrl.p4.stick-left(1) kbd.a
; dc.ctrl.p4.stick-down(1) kbd.s
; dc.ctrl.p4.stick-right(1) kbd.d
; dc.ctrl.p4.trig-l(1) kbd.q
; dc.ctrl.p4.trig-r(1) kbd.e
; dc.ctrl.p4.dpad-up(1) kbd.up
; dc.ctrl.p4.dpad-left(1) kbd.left
; dc.ctrl.p4.dpad-down(1) kbd.down
; dc.ctrl.p4.dpad-right(1) kbd.right
; dc.ctrl.p4.btn-a(1) kbd.keypad2
; dc.ctrl.p4.btn-b(1) kbd.keypad6
; dc.ctrl.p4.btn-x(1) kbd.keypad4
; dc.ctrl.p4.btn-y(1) kbd.keypad8
; dc.ctrl.p4.btn-start(1) kbd.space
; player 1 keyboard bindings.
; these only apply if you change
; wash.dc.port.0.0 dreamcast_controller
; to
; wash.dc.port.0.0 dreamcast_keyboard_us
; above. Otherise, they do nothing because you have a controller
; plugged in instead of a keyboard.
dc.ctrl.p1_1.kbd-us.a kbd.a
dc.ctrl.p1_1.kbd-us.b kbd.b
dc.ctrl.p1_1.kbd-us.c kbd.c
dc.ctrl.p1_1.kbd-us.d kbd.d
dc.ctrl.p1_1.kbd-us.e kbd.e
dc.ctrl.p1_1.kbd-us.f kbd.f
dc.ctrl.p1_1.kbd-us.g kbd.g
dc.ctrl.p1_1.kbd-us.h kbd.h
dc.ctrl.p1_1.kbd-us.i kbd.i
dc.ctrl.p1_1.kbd-us.j kbd.j
dc.ctrl.p1_1.kbd-us.k kbd.k
dc.ctrl.p1_1.kbd-us.l kbd.l
dc.ctrl.p1_1.kbd-us.m kbd.m
dc.ctrl.p1_1.kbd-us.n kbd.n
dc.ctrl.p1_1.kbd-us.o kbd.o
dc.ctrl.p1_1.kbd-us.p kbd.p
dc.ctrl.p1_1.kbd-us.q kbd.q
dc.ctrl.p1_1.kbd-us.r kbd.r
dc.ctrl.p1_1.kbd-us.s kbd.s
dc.ctrl.p1_1.kbd-us.t kbd.t
dc.ctrl.p1_1.kbd-us.u kbd.u
dc.ctrl.p1_1.kbd-us.v kbd.v
dc.ctrl.p1_1.kbd-us.w kbd.w
dc.ctrl.p1_1.kbd-us.x kbd.x
dc.ctrl.p1_1.kbd-us.y kbd.y
dc.ctrl.p1_1.kbd-us.z kbd.z
dc.ctrl.p1_1.kbd-us.1 kbd.1
dc.ctrl.p1_1.kbd-us.2 kbd.2
dc.ctrl.p1_1.kbd-us.3 kbd.3
dc.ctrl.p1_1.kbd-us.4 kbd.4
dc.ctrl.p1_1.kbd-us.5 kbd.5
dc.ctrl.p1_1.kbd-us.6 kbd.6
dc.ctrl.p1_1.kbd-us.7 kbd.7
dc.ctrl.p1_1.kbd-us.8 kbd.8
dc.ctrl.p1_1.kbd-us.9 kbd.9
dc.ctrl.p1_1.kbd-us.0 kbd.0
dc.ctrl.p1_1.kbd-us.enter kbd.enter
dc.ctrl.p1_1.kbd-us.escape kbd.escape
dc.ctrl.p1_1.kbd-us.backspace kbd.backspace
dc.ctrl.p1_1.kbd-us.tab kbd.tab
dc.ctrl.p1_1.kbd-us.space kbd.space
dc.ctrl.p1_1.kbd-us.minus kbd.minus
dc.ctrl.p1_1.kbd-us.equal kbd.equal
dc.ctrl.p1_1.kbd-us.leftbrace kbd.leftbrace
dc.ctrl.p1_1.kbd-us.rightbrace kbd.rightbrace
dc.ctrl.p1_1.kbd-us.backslash kbd.backslash
dc.ctrl.p1_1.kbd-us.semicolon kbd.semicolon
dc.ctrl.p1_1.kbd-us.singlequote kbd.singlequote
dc.ctrl.p1_1.kbd-us.backquote kbd.backquote
dc.ctrl.p1_1.kbd-us.comma kbd.comma
dc.ctrl.p1_1.kbd-us.dot kbd.dot
dc.ctrl.p1_1.kbd-us.slash kbd.slash
dc.ctrl.p1_1.kbd-us.capslock kbd.capslock
dc.ctrl.p1_1.kbd-us.f1 kbd.f1
dc.ctrl.p1_1.kbd-us.f2 kbd.f2
dc.ctrl.p1_1.kbd-us.f3 kbd.f3
dc.ctrl.p1_1.kbd-us.f4 kbd.f4
dc.ctrl.p1_1.kbd-us.f5 kbd.f5
dc.ctrl.p1_1.kbd-us.f6 kbd.f6
dc.ctrl.p1_1.kbd-us.f7 kbd.f7
dc.ctrl.p1_1.kbd-us.f8 kbd.f8
dc.ctrl.p1_1.kbd-us.f9 kbd.f9
dc.ctrl.p1_1.kbd-us.f10 kbd.f10
dc.ctrl.p1_1.kbd-us.f11 kbd.f11
dc.ctrl.p1_1.kbd-us.f12 kbd.f12
dc.ctrl.p1_1.kbd-us.printscreen kbd.printscreen
dc.ctrl.p1_1.kbd-us.scrollock kbd.scrollock
dc.ctrl.p1_1.kbd-us.pause kbd.pause
dc.ctrl.p1_1.kbd-us.insert kbd.insert
dc.ctrl.p1_1.kbd-us.home kbd.home
dc.ctrl.p1_1.kbd-us.pageup kbd.pageup
dc.ctrl.p1_1.kbd-us.del kbd.del
dc.ctrl.p1_1.kbd-us.end kbd.end
dc.ctrl.p1_1.kbd-us.pagedown kbd.pagedown
dc.ctrl.p1_1.kbd-us.right kbd.right
dc.ctrl.p1_1.kbd-us.left kbd.left
dc.ctrl.p1_1.kbd-us.down kbd.down
dc.ctrl.p1_1.kbd-us.up kbd.up
dc.ctrl.p1_1.kbd-us.numlock kbd.numlock
dc.ctrl.p1_1.kbd-us.keypadslash kbd.keypadslash
dc.ctrl.p1_1.kbd-us.keypadasterisk kbd.keypadasterisk
dc.ctrl.p1_1.kbd-us.keypadminus kbd.keypadminus
dc.ctrl.p1_1.kbd-us.keypadplus kbd.keypadplus
dc.ctrl.p1_1.kbd-us.keypadenter kbd.keypadenter
dc.ctrl.p1_1.kbd-us.keypad1 kbd.keypad1
dc.ctrl.p1_1.kbd-us.keypad2 kbd.keypad2
dc.ctrl.p1_1.kbd-us.keypad3 kbd.keypad3
dc.ctrl.p1_1.kbd-us.keypad4 kbd.keypad4
dc.ctrl.p1_1.kbd-us.keypad5 kbd.keypad5
dc.ctrl.p1_1.kbd-us.keypad6 kbd.keypad6
dc.ctrl.p1_1.kbd-us.keypad7 kbd.keypad7
dc.ctrl.p1_1.kbd-us.keypad8 kbd.keypad8
dc.ctrl.p1_1.kbd-us.keypad9 kbd.keypad9
dc.ctrl.p1_1.kbd-us.keypad0 kbd.keypad0
dc.ctrl.p1_1.kbd-us.keypaddot kbd.keypaddot
dc.ctrl.p1_1.kbd-us.s3 kbd.menu
dc.ctrl.p1_1.kbd-us.lctrl kbd.lctrl
dc.ctrl.p1_1.kbd-us.lshift kbd.lshift
dc.ctrl.p1_1.kbd-us.lalt kbd.lalt
dc.ctrl.p1_1.kbd-us.s1 kbd.lsuper
dc.ctrl.p1_1.kbd-us.rctrl kbd.rctrl
dc.ctrl.p1_1.kbd-us.rshift kbd.rshift
dc.ctrl.p1_1.kbd-us.ralt kbd.ralt
dc.ctrl.p1_1.kbd-us.s2 kbd.rsuper
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment