view default.cfg @ 1971:80920c21bb52

Add an event log soft flush and call it twice per frame in between hard flushes to netplay latency when there are insufficient hardware updates to flush packets in the middle of a frame
author Michael Pavone <pavone@retrodev.com>
date Fri, 08 May 2020 11:40:30 -0700
parents 16a795cababd
children f3cca4b3f17a
line wrap: on
line source


bindings {
	keys {
		up gamepads.1.up
		down gamepads.1.down
		left gamepads.1.left
		right gamepads.1.right
		a gamepads.1.a
		s gamepads.1.b
		d gamepads.1.c
		q gamepads.1.x
		w gamepads.1.y
		e gamepads.1.z
		f gamepads.1.mode
		enter gamepads.1.start

		r ui.release_mouse
		[ ui.vdp_debug_mode
		u ui.enter_debugger
		p ui.screenshot
		b ui.plane_debug
		v ui.vram_debug
		c ui.cram_debug
		n ui.compositing_debug
		m ui.vgm_log
		esc ui.exit
		` ui.save_state
		0 ui.set_speed.0
		1 ui.set_speed.1
		2 ui.set_speed.2
		3 ui.set_speed.3
		4 ui.set_speed.4
		5 ui.set_speed.5
		6 ui.set_speed.6
		7 ui.set_speed.7
		= ui.next_speed
		- ui.prev_speed
		f11 ui.toggle_fullscreen
		tab ui.soft_reset
		f5 ui.reload
		z ui.sms_pause
		rctrl ui.toggle_keyboard_captured
	}
	pads {
		default {
			dpads {
				0 {
					up gamepads.n.up
					down gamepads.n.down
					left gamepads.n.left
					right gamepads.n.right
				}
			}
			buttons {
				a gamepads.n.a
				b gamepads.n.b
				rightshoulder gamepads.n.c
				x gamepads.n.x
				y gamepads.n.y
				leftshoulder gamepads.n.z
				back gamepads.n.mode
				start gamepads.n.start
				guide ui.exit
				leftstick ui.save_state
			}
			axes {
				lefty.positive gamepads.n.down
				lefty.negative gamepads.n.up
				leftx.positive gamepads.n.right
				leftx.negative gamepads.n.left
				lefttrigger ui.prev_speed
				righttrigger ui.next_speed
			}
		}
		ps4_6b_right {
			axes {
				lefttrigger ui.next_speed
				leftx.negative gamepads.n.up
				leftx.positive gamepads.n.down
				lefty.negative gamepads.n.left
				lefty.positive gamepads.n.right
				righttrigger gamepads.n.c
			}
			buttons {
				a gamepads.n.a
				b gamepads.n.b
				back ui.sms_pause
				guide ui.exit
				leftshoulder gamepads.n.mode
				leftstick ui.save_state
				rightshoulder gamepads.n.z
				rightstick ui.prev_speed
				start gamepads.n.start
				x gamepads.n.x
				y gamepads.n.y
			}
			dpads {
				0 {
					down gamepads.n.down
					left gamepads.n.left
					right gamepads.n.right
					up gamepads.n.up
				}
			}
		}
		ps3_6b_right {
			axes {
				lefttrigger ui.next_speed
				leftx.negative gamepads.n.up
				leftx.positive gamepads.n.down
				lefty.negative gamepads.n.left
				lefty.positive gamepads.n.right
				righttrigger gamepads.n.c
			}
			buttons {
				a gamepads.n.a
				b gamepads.n.b
				back ui.sms_pause
				guide ui.exit
				leftshoulder gamepads.n.mode
				leftstick ui.save_state
				rightshoulder gamepads.n.z
				rightstick ui.prev_speed
				start gamepads.n.start
				x gamepads.n.x
				y gamepads.n.y
			}
			dpads {
				0 {
					down gamepads.n.down
					left gamepads.n.left
					right gamepads.n.right
					up gamepads.n.up
				}
			}
		}
		xbox_360_6b_right {
			axes {
				lefttrigger ui.next_speed
				leftx.negative gamepads.n.up
				leftx.positive gamepads.n.down
				lefty.negative gamepads.n.left
				lefty.positive gamepads.n.right
				righttrigger gamepads.n.c
			}
			buttons {
				a gamepads.n.a
				b gamepads.n.b
				back ui.sms_pause
				guide ui.exit
				leftshoulder gamepads.n.mode
				leftstick ui.save_state
				rightshoulder gamepads.n.z
				rightstick ui.prev_speed
				start gamepads.n.start
				x gamepads.n.x
				y gamepads.n.y
			}
			dpads {
				0 {
					down gamepads.n.down
					left gamepads.n.left
					right gamepads.n.right
					up gamepads.n.up
				}
			}
		}
		xbone_6b_right {
			axes {
				lefttrigger ui.next_speed
				leftx.negative gamepads.n.up
				leftx.positive gamepads.n.down
				lefty.negative gamepads.n.left
				lefty.positive gamepads.n.right
				righttrigger gamepads.n.c
			}
			buttons {
				a gamepads.n.a
				b gamepads.n.b
				back ui.sms_pause
				guide ui.exit
				leftshoulder gamepads.n.mode
				leftstick ui.save_state
				rightshoulder gamepads.n.z
				rightstick ui.prev_speed
				start gamepads.n.start
				x gamepads.n.x
				y gamepads.n.y
			}
			dpads {
				0 {
					down gamepads.n.down
					left gamepads.n.left
					right gamepads.n.right
					up gamepads.n.up
				}
			}
		}
		genesis_6b_bumpers {
			axes {
				lefttrigger ui.exit
				righttrigger gamepads.n.mode
			}
			buttons {
				a gamepads.n.a
				b gamepads.n.b
				back ui.sms_pause
				guide ui.exit
				leftshoulder gamepads.n.z
				rightshoulder gamepads.n.c
				start gamepads.n.start
				x gamepads.n.x
				y gamepads.n.y
			}
			dpads {
				0 {
					down gamepads.n.down
					left gamepads.n.left
					right gamepads.n.right
					up gamepads.n.up
				}
			}
		}
		saturn_6b_bumpers {
			axes {
				lefttrigger ui.exit
				righttrigger gamepads.n.mode
			}
			buttons {
				a gamepads.n.a
				b gamepads.n.b
				back ui.sms_pause
				guide ui.exit
				leftshoulder gamepads.n.z
				rightshoulder gamepads.n.c
				start gamepads.n.start
				x gamepads.n.x
				y gamepads.n.y
			}
			dpads {
				0 {
					down gamepads.n.down
					left gamepads.n.left
					right gamepads.n.right
					up gamepads.n.up
				}
			}
		}
	}
	mice {
		0 {
			motion mouse.1.motion
			buttons {
				1 mouse.1.left
				2 mouse.1.middle
				3 mouse.1.right
				4 mouse.1.start
			}
		}
		#having the second host mouse also mapped to the first emulated
		#mouse is useful for laptop users with an external mouse
		1 {
			motion mouse.1.motion
			buttons {
				1 mouse.1.left
				2 mouse.1.middle
				3 mouse.1.right
				4 mouse.1.start
			}
		}
	}
}

io {
	devices {
		1 gamepad6.1
		2 gamepad6.2
	}
}

video {
	#special value "stretch" will cause aspect to match window aspect ratio
	aspect 4:3
	width 640
	#height is normally calculated automatically from width using the aspect setting
	#if you would like to set it explicitly, uncomment the line below
	#height 480
	vertex_shader default.v.glsl
	fragment_shader default.f.glsl
	scanlines off
	vsync off
	fullscreen off
	#setting gl to off, will force use of the SDL2 fallback renderer
	#this is useful for those running on machines with Open GL 2.0 unavailable
	#so the warning doesn't display on startup
	gl on
	#scaling can be linear (for linear interpolation) or nearest (for nearest neighbor)
	scaling linear
	ntsc {
		overscan {
			#these values will result in square pixels in H40 mode
			top 2
			bottom 1
			#if you want to completely hide the border instead
			#comment out those two lines and uncomment these
			#top 11
			#bottom 8
			
			#these values will completely hide the horizontal border
			left 13
			right 14
		}
	}
	pal {
		overscan {
			#these values will produce the same size border in V30 mode
			#as the default NTSC settings will produce in V24 mode
			#this results in a slightly vertically squished picture
			#which is probably approximately correct on a properly calibrated TV
			top 21
			bottom 17
			#for square pixels and zero border in V30 mode
			#coment out those two lines and uncomment these
			#top 30
			#bottom 24
			
			#these values will completely hide the horizontal border
			left 13
			right 14
		}
	}
}

audio {
	rate 48000
	buffer 512
	lowpass_cutoff 3390
	#Use f32 for 32-bit floating point, s16 for signed 16-bit integer
	format f32
}

clocks {
	m68k_divider 7
	max_cycles 3420
	speeds {
		0 100
		1 150
		2 200
		3 300
		4 400
		5 25
		6 50
		7 75
	}
}

ui {
	#specifies the ROM that implements the Menu UI
	rom menu.bin
	#starting path for ROM browsing, accepts special variables $HOME, $EXEDIR
	#and variables defined in the OS environment
	initial_path $HOME
	#if this is set to on, then the menu will remember the last path when visited
	#if it's set to off, initial_path will always be used on startup
	remember_path on
	#path for storing internal screenshots, accepts the same variables as initial_path
	screenshot_path $HOME
	#see strftime for the format specifiers valid in screenshot_template
	screenshot_template blastem_%Y%m%d_%H%M%S.png
	#path for storing VGM recordings, accepts the same variables as initial_path
	vgm_path $HOME
	#see strftime for the format specifiers valid in vgm_template
	vgm_template blastem_%Y%m%d_%H%M%S.vgm
	#path template for saving SRAM, EEPROM and savestates
	#accepts special variables $HOME, $EXEDIR, $USERDATA, $ROMNAME
	save_path $USERDATA/blastem/$ROMNAME
	#space delimited list of file extensions to filter against in menu
	extensions bin gen md smd sms gg zip gz
	#specifies the preferred save-state format, set to gst for Genecyst compatible states
	state_format native
}

system {
	#controls how the emulated system is synced to the host
	#video provides the smoothest experience when the host and emulated system have similar refresh rates
	#audio provides lower audio latency, especially when there is a refresh rate mismatch
	sync_source audio
	#set this to random to debug initialization bugs
	ram_init zero
	default_region U
	#controls whether MegaWiFi support is enabled or not
	#MegaWiFi allows ROMs to make connections to the internet
	#so it should only be enabled for ROMs you trust
	megawifi off
	#Model of the emulated Gen/MD system, see systems.cfg for a list of options
	model md1va3
}