Commit Graph

477 Commits

Author SHA1 Message Date
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
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
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
4601636788 GX: always latch rendering engine registers even when not flushing (similar to hardware). 2019-01-03 15:29:25 +01:00
172c2eb229 blfdkgg. I'm a derp.
fix potential buffer overflow.
2019-01-03 13:21:21 +01:00
b6481a28ac make nocashprint work from ARM code too.
fixes #315
2018-12-31 20:58:58 +01:00
eec27ebf69 oops 2018-12-31 14:19:02 +01:00
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
a4593a8f58 also, detect bad old romlist.bin and warn the user. 2018-12-31 04:54:17 +01:00
f6b979357f ROM list by game code rather than CRC 2018-12-31 04:35:58 +01:00
2fd913aff2 add 'window size' menu to set the window to an integer size 2018-12-30 21:07:09 +01:00
0f0e04bfa3 init savemem to 0xFF instead of 0x00. 2018-12-30 20:57:20 +01:00
52d783e066 might want to update that when hotplugging joysticks, too 2018-12-30 13:43:59 +01:00
15be25085f make it also be a thing under Windows 2018-12-30 01:49:47 +01:00
fc3952c981 libui/gtk: center windows 2018-12-30 01:17:50 +01:00
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
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
1cf49e0dbe make joystick hotpluggable 2018-12-30 00:27:12 +01:00
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
7a949ddd0e 2D: add support for 8bit reads to DISPCNT/BGCNT.
fixes #331
2018-12-21 17:53:48 +01:00
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
f86fe46035 move the W=0 check, to be sure to check all the vertices 2018-12-20 01:40:32 +01:00
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
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
dd30b417b8 implement proper support for POWCNT1.
fixes #260
2018-12-18 17:04:42 +01:00
71bbb35bbf watch your debug code better, you derp 2018-12-18 02:00:50 +01:00
694d6cafa2 fix STRD_POST (dumbest copypaste bug of the year)
fixes #276
2018-12-18 01:56:21 +01:00
4a36193cab be sure to always reset NormalPipeline 2018-12-17 02:50:36 +01:00
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
a99ebf38db prevent crash if mic init fails 2018-12-16 14:18:59 +01:00
3f26fbddc0 HAW HAW HAW HAW 2018-12-16 01:13:14 +01:00
4a47bd6d53 make it even saferer 2018-12-16 00:39:14 +01:00
502d8c3fa0 avoid potential crash with EmuDirectory if we somehow got no argv or an empty path 2018-12-16 00:38:10 +01:00
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
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
7fb1c0518c Merge pull request #285 from abcdjdj/limit_fps
Add option to limit framerate from UI
2018-12-15 00:38:35 +01:00
d30043bc85 Merge pull request #230 from dogtopus/pcap-libnames-linux
Add linux libpcap names to the pcap library list
2018-12-15 00:30:44 +01:00
56c2160855 attempting to fix some potential input dialog crashes 2018-12-15 00:22:28 +01:00
e6c03619a1 libui/gtk: make uiWindowSetFocus() actually work 2018-12-14 22:57:06 +01:00
2077642a92 libui/GTK: remember directory in which the latest loaded ROM was, point file picker to it. behavior under Windows will likely stay unchanged as the Windows file picker already does that. 2018-12-14 22:03:34 +01:00
10ebae42db avoid crash when the mic WAV couldn't be loaded 2018-12-14 14:20:59 +01:00
46bc2dba33 fix possible overflow in wav resampling. now it doesn't shit itself when loading large wavs. 2018-12-14 05:52:36 +01:00
c0c115a0ee fix some wav/mic bugs 2018-12-14 05:48:50 +01:00
c7433ca664 finalize microphone code (hooked to all settings etc)
also add volume setting
2018-12-14 05:15:57 +01:00
8372edac0c add file picker thing
I guess this part is done
2018-12-14 04:28:57 +01:00
5efb162302 actually save shit 2018-12-14 04:25:39 +01:00
fd54abd900 add dialog for audio settings, flesh it out
not functional yet tho
2018-12-14 04:09:51 +01:00
a64e59bf99 hook lid close/open to the actual hotkey system 2018-12-14 03:45:27 +01:00
ff1e21733d add hotkey config values.
duplicate DlgInputConfig so that it can also do hotkey config.
also prevent from opening those config dialogs a billion times.
2018-12-14 03:32:40 +01:00
cb1e6ce750 proof-of-concept code for closing/opening lid. 2018-12-14 02:36:57 +01:00