Commit graph

1892 commits

Author SHA1 Message Date
Arisotura
81eae0e3ea add base for wifi settings dialog 2019-02-21 01:58:03 +01:00
Arisotura
78c259121b import some sekrit code that was never committed before 2019-02-21 01:47:35 +01:00
Arisotura
2d41291ee9 pack your shit, kids, we're moving 2019-02-21 01:32:28 +01:00
Arisotura
2340be886c oh well. 2019-02-21 01:21:04 +01:00
Arisotura
6743ea0639 start adding LAN interface shito 2019-02-21 01:20:10 +01:00
Arisotura
d2d7c20208 fix WAV loading for files with more than one channel (fixes #351) 2019-02-16 04:14:15 +01:00
Arisotura
86b894ca71 change LidCommand to HotkeyMask so we can use it for other hotkeys without needing a billion variables 2019-01-24 21:28:58 +01:00
Arisotura
4bd96207fe standardize way to detect whether a joystick button was just pressed
(paving the way for more hotkeys)
2019-01-24 03:01:47 +01:00
Arisotura
b0efde8bf7 also, update copyright name 2019-01-22 15:58:29 +01:00
Arisotura
47a3d2b49a blarg. setting it to 4 breaks Millionaire 2019-01-22 15:47:32 +01:00
StapleButter
adc6da5f21 tweak cached memory timings.
fixes things, but needs watching closely for other things that could break.
2019-01-18 20:29:12 +01:00
StapleButter
d2701a0401 small optimization: avoid calling InterleaveSprites() if no sprites were drawn. 2019-01-06 23:16:10 +01:00
StapleButter
64ab8302cb pause audio/mic devices when they're not needed.
fixes potential pop when starting emulator (due to playing uninitialized audio buffer).
2019-01-06 14:22:14 +01:00
Zapeth
7630e2d9db Use workaround for GCC incompatibilities with MSVC aggregate returns
Fixes crash on MinGW builds when ID2D1RenderTarget::GetSize() is called
2019-01-06 12:03:01 +01:00
StapleButter
4b6ebd0532 HARK HARK HARK HARK 2019-01-05 13:03:25 +01:00
StapleButter
669247e8c8 redesign main emu loop to use timestamps instead of being a trainwreck
* cleaner code
* faster in some cases
* more accurate (on-demand compensation for timers and GPU)
* less prone to desyncs
* overall betterer
2019-01-05 05:28:58 +01:00
StapleButter
90f2c0834e add PoC ARM9 instruction cache logic. not actually in use, but it's there as a reference (and if we ever need it). 2019-01-04 21:47:06 +01:00
StapleButter
1e35d18ce6 GX: polygon pipeline doesn't get as far if the polygon is rejected by culling/clipping. 2019-01-03 20:30:30 +01:00
StapleButter
4601636788 GX: always latch rendering engine registers even when not flushing (similar to hardware). 2019-01-03 15:29:25 +01:00
StapleButter
172c2eb229 blfdkgg. I'm a derp.
fix potential buffer overflow.
2019-01-03 13:21:21 +01:00
StapleButter
b6481a28ac make nocashprint work from ARM code too.
fixes #315
2018-12-31 20:58:58 +01:00
StapleButter
eec27ebf69 oops 2018-12-31 14:19:02 +01:00
StapleButter
786abe63cb add support for 128K EEPROM (Pokémon Mystery Dungeon - Explorers of Sky)
fixes #344

also, fix save type for Puzzler World (plain old 8K EEPROM. not sure why the Wood entry was different)
2018-12-31 14:17:58 +01:00
StapleButter
a4593a8f58 also, detect bad old romlist.bin and warn the user. 2018-12-31 04:54:17 +01:00
StapleButter
f6b979357f ROM list by game code rather than CRC 2018-12-31 04:35:58 +01:00
StapleButter
2fd913aff2 add 'window size' menu to set the window to an integer size 2018-12-30 21:07:09 +01:00
StapleButter
0f0e04bfa3 init savemem to 0xFF instead of 0x00. 2018-12-30 20:57:20 +01:00
StapleButter
52d783e066 might want to update that when hotplugging joysticks, too 2018-12-30 13:43:59 +01:00
StapleButter
15be25085f make it also be a thing under Windows 2018-12-30 01:49:47 +01:00
StapleButter
fc3952c981 libui/gtk: center windows 2018-12-30 01:17:50 +01:00
StapleButter
f9e143fc69 libui/gtk: add functions to uiWindow for setting/getting minimized/maximized state
remember if main window is maximized, avoid updating the saved size when it is
2018-12-30 01:07:25 +01:00
StapleButter
62704aee31 * make savestate SRAM reloc disabled by default (confusing behavior)
* add config entry for keeping track of whether the main window is maximized
2018-12-30 00:44:07 +01:00
StapleButter
1cf49e0dbe make joystick hotpluggable 2018-12-30 00:27:12 +01:00
StapleButter
65c27c5c28 fix potential crashes in input config dialog when setting joystick buttons, by using uiQueueMain()
how could I not think of this? GTK is not thread safe.
2018-12-29 23:32:58 +01:00
StapleButter
7a949ddd0e 2D: add support for 8bit reads to DISPCNT/BGCNT.
fixes #331
2018-12-21 17:53:48 +01:00
StapleButter
63ae6bf8fb libui/windows: some work on hiDPI shit
still looks derpy but atleast the rendering and touchscreen aren't broken
2018-12-21 05:01:37 +01:00
StapleButter
f86fe46035 move the W=0 check, to be sure to check all the vertices 2018-12-20 01:40:32 +01:00
StapleButter
f6e6fa05ea some work on extreme/degenerate shit in GPU
* clip against Z then Y then X. apparently, fixes #310. I had also observed hints that the hardware does it this way.
* truncate W to 24 bits before viewport transform.
* mark any polygons that have a W=0 at that point as degenerate. do not render.
2018-12-20 01:31:31 +01:00
StapleButter
0c37824447 2D: fix fade effects to semitransp sprites and 3D layer. fixes #263
(also remove some useless variable. wtf)
2018-12-19 05:54:39 +01:00
StapleButter
dd30b417b8 implement proper support for POWCNT1.
fixes #260
2018-12-18 17:04:42 +01:00
StapleButter
71bbb35bbf watch your debug code better, you derp 2018-12-18 02:00:50 +01:00
StapleButter
694d6cafa2 fix STRD_POST (dumbest copypaste bug of the year)
fixes #276
2018-12-18 01:56:21 +01:00
StapleButter
4a36193cab be sure to always reset NormalPipeline 2018-12-17 02:50:36 +01:00
StapleButter
59c715475d fix oversight regarding hotkey joystick buttons. also prevent triggering the lid command a billion times in a row with a joystick button. 2018-12-16 14:41:46 +01:00
StapleButter
a99ebf38db prevent crash if mic init fails 2018-12-16 14:18:59 +01:00
StapleButter
3f26fbddc0 HAW HAW HAW HAW 2018-12-16 01:13:14 +01:00
StapleButter
4a47bd6d53 make it even saferer 2018-12-16 00:39:14 +01:00
StapleButter
502d8c3fa0 avoid potential crash with EmuDirectory if we somehow got no argv or an empty path 2018-12-16 00:38:10 +01:00
StapleButter
a34d456fcc GX: timing for command 0x50 is more like 325 cycles on average on hardware. (measured 319/325/331)
fixes #297
2018-12-15 13:33:44 +01:00
StapleButter
12c35093aa set GXSTAT busy flag immediately when writing a command to the GXFIFO.
there was a slim chance that a game could send a couple commands and read GXSTAT.busy as zero immediately after. the new timings made that happen in NSMB (not in the USA ROM, oddly), such that the game was reading the clip matrix while matrix commands were running, and getting the first few values wrong.

fixes #295 and probably others in the same vein.
2018-12-15 05:00:25 +01:00