Jaklyy
d88b46e6d9
rework and fix bursts
2024-10-27 14:30:29 -04:00
Arisotura
12b207d915
remember which windows are opened
2024-10-27 18:49:17 +01:00
Arisotura
e42829ea81
pause emu during file select prompts
2024-10-27 17:21:41 +01:00
Arisotura
238c552599
limit to 4 windows, and disable 'new window' menu item when that amount is reached
2024-10-27 16:26:29 +01:00
Arisotura
d79d45a117
properly sync up menus between windows of a same instance
2024-10-27 16:21:09 +01:00
Arisotura
94955aee81
fix another OpenGL bug (when closing secondary window)
2024-10-27 14:51:11 +01:00
Arisotura
f2dce621ce
proof all dialogs against use-after-free when closing main window while a dialog is open
2024-10-27 14:24:59 +01:00
Arisotura
a61754bb58
fix possible crash when closing window while video settings dialog is open
2024-10-27 13:53:12 +01:00
Arisotura
6d345cc1ea
correctly propagate video settings changes to all windows
2024-10-27 13:43:26 +01:00
Arisotura
e576538268
synchronize pause/unpause across all instances
2024-10-27 11:21:30 +01:00
Arisotura
e6f0d77aa0
fix freeze when starting new emu instance while using OpenGL
2024-10-27 10:17:59 +01:00
Arisotura
24ca1a5fdb
lay base for keeping config in sync across multiple instances
2024-10-27 10:02:57 +01:00
Gess1t
2bf0eb7ead
Handle failure of OpenGL context creation ( #2172 )
2024-10-27 09:20:51 +01:00
Arisotura
2d561a60c8
fix Qt5 compatibility (sdffdf)
2024-10-27 09:16:46 +01:00
Arisotura
4ae4397547
properly update display type across all windows
...
(remind me to also propagate changes across instances)
2024-10-27 02:42:27 +02:00
Arisotura
b2ae4c7dc5
lay base for a window with no menubar
2024-10-27 02:07:33 +02:00
Arisotura
881a740cab
start actually implementing multi-window feature, still rough around the edges
...
fix crash when closing main window if sub windows are involved
fix OpenGL context handling, still need to fix when changing display type
2024-10-27 01:14:29 +02:00
Jaklyy
ca674b6372
"fix" icache linefill disable timings
2024-10-26 18:42:31 -04:00
Citrodata
f375099613
Update EmuThread.h ( #2171 )
...
* Update EmuThread.h
Add missing include QVariant. This fixes and error when building on Arch.
* Update AboutDialog.cpp
2024-10-26 23:03:36 +02:00
Jaklyy
ba904b4d81
redo cache streaming disable implementation
2024-10-26 11:24:15 -04:00
Jaklyy
e1f22bd511
writing back dirty cache lines should be done in one burst if both halves are dirty
2024-10-25 23:58:18 -04:00
Jaklyy
e783e778eb
fix an oopsie
...
3-2 (unsigned) equals "oh no"
2024-10-25 19:35:58 -04:00
Jaklyy
ebb63dcdb2
implement dcache streaming
2024-10-25 18:53:22 -04:00
Jaklyy
d31f652fc8
implement icache streaming
2024-10-25 18:15:54 -04:00
Arisotura
1d284f6f1e
as promised, reroute dropEvent() through EmuThread
2024-10-25 16:16:23 +02:00
Arisotura
fc3c7440d1
fix that crash
2024-10-25 12:33:04 +02:00
Arisotura
979f1ed615
same shit with Import Savefile
2024-10-25 10:52:47 +02:00
Nadia Holmquist Pedersen
8b6628b070
Work around Qt windows11 theme menu bar padding
2024-10-25 01:15:59 +02:00
Nadia Holmquist Pedersen
287f6642fc
Add an About dialog with build info ( #2138 )
...
add About dialog
2024-10-24 22:05:30 +02:00
Arisotura
75e6856af4
route savestate stuff through EmuThread
2024-10-24 19:27:45 +02:00
Arisotura
3fc065d72d
fix ROM preloading to also go through EmuThread
2024-10-24 17:48:34 +02:00
Arisotura
1787235e09
fix more shit
...
now it doesn't shit itself on startup if the BIOS paths are wrong
2024-10-24 17:20:14 +02:00
Arisotura
13b4cea171
move screen layout/etc options to new View menu
2024-10-24 16:08:04 +02:00
Arisotura
1666049531
fix shit
2024-10-24 14:00:11 +02:00
Arisotura
6d3ea6a485
fix bug with the GBA addon menu (and make it a proper list so we don't have to hardcode the length all over)
2024-10-24 13:49:43 +02:00
Arisotura
079341f102
take this a bit further
2024-10-24 11:44:21 +02:00
Arisotura
82f38f0b7a
start moving ROM/firmware loading to the emuthread to avoid cursed bugs
2024-10-24 00:27:05 +02:00
Arisotura
1428bfb2cf
fix one of the cursed bugs
2024-10-23 20:33:31 +02:00
Arisotura
d68b58f37e
fix DSi wifi hang
2024-10-23 14:55:02 +02:00
Arisotura
b993ec10cd
remove "Test" menu item
2024-10-23 11:57:37 +02:00
kaitou
e5501e555f
fix: set default mode to 24 hours ( #2166 )
2024-10-22 20:13:55 +02:00
Jaklyy
54dd4e5913
git hates me
2024-10-21 13:15:15 -04:00
Jaklyy
e93381dfa4
Merge branch 'less-ambitious-timing-rework' into chemical-x
2024-10-21 12:31:54 -04:00
Jaklyy
af09e37d53
attempt at twl timings
...
also rework main ram's early finish handling
2024-10-21 11:38:26 -04:00
Jaklyy
744f5c9fcd
small fixes
2024-10-19 16:51:40 -04:00
Jaklyy
a32d59774e
Merge branch 'less-ambitious-timing-rework' into chemical-x
2024-10-19 12:35:39 -04:00
Jaklyy
e254ac3240
fix ldrd/strd itcm timings
2024-10-19 12:35:27 -04:00
Jaklyy
8fff17f03f
fix resets
2024-10-19 11:01:16 -04:00
Jaklyy
d4216309a2
hdfg
2024-10-19 11:00:51 -04:00
Jaklyy
051b236839
Merge branch 'less-ambitious-timing-rework' into chemical-x
2024-10-18 21:10:39 -04:00
Jaklyy
e33d19cf14
fix a few misc things?
2024-10-18 21:08:56 -04:00
Jaklyy
9ed4c66592
add support for 1 reg ldm/stm a9 timings and fix a bug
2024-10-18 17:56:56 -04:00
Jaklyy
8ff0946b8a
mrc causes interlocks
2024-10-18 17:10:00 -04:00
Jaklyy
0e6d3fd834
fix bad logical leaps
2024-10-18 16:32:02 -04:00
Jaklyy
cc031cd4b8
Merge branch 'less-ambitious-timing-rework' into chemical-x
2024-10-18 15:01:14 -04:00
Jaklyy
e2a810147f
re-add interlocks
...
breaks gcc debug builds for ??? reason
2024-10-18 15:00:55 -04:00
Jaklyy
68e8ff41eb
this barely makes a difference in practice but it's less inefficient
2024-10-17 10:08:11 -04:00
Jaklyy
ffb24e7088
wrong bitshift
2024-10-16 22:42:24 -04:00
Jaklyy
26a6e887ad
aarch64 neon impl take one
...
fingers crossed it compiles!
2024-10-16 22:26:56 -04:00
Jaklyy
d7212643f1
move arm9 code fetches into the cycle add routine
...
setting up for re-adding interlocks
2024-10-16 12:21:48 -04:00
Jaklyy
9f2b097e96
Merge branch 'less-ambitious-timing-rework' into chemical-x
2024-10-15 22:36:29 -04:00
Jaklyy
52ddaa73cf
fix resets
2024-10-15 22:36:21 -04:00
Jaklyy
21763ceed3
reduce memtimings lut granularity
2024-10-15 21:20:10 -04:00
Jaklyy
c605c93d8e
still dumb
2024-10-15 21:08:46 -04:00
Jaklyy
3fcdc45029
Merge branch 'less-ambitious-timing-rework' into chemical-x
2024-10-15 21:08:13 -04:00
Jaklyy
c00b188c05
im dumb
2024-10-15 21:08:07 -04:00
Jaklyy
460fd45aed
remove some old code
2024-10-15 20:27:09 -04:00
Jaklyy
bb2727b786
Merge branch 'less-ambitious-timing-rework' into chemical-x
2024-10-15 20:25:16 -04:00
Jaklyy
05c153e9ab
Merge branch 'interpreter-fixes' into less-ambitious-timing-rework
2024-10-15 20:23:14 -04:00
Jaklyy
5f003eb967
fix builds with jit disabled
2024-10-15 20:23:03 -04:00
Jaklyy
d476593eec
add notes
2024-10-15 12:40:35 -04:00
Jaklyy
d8d2fcd94a
more optimizations
2024-10-14 23:43:11 -04:00
Jaklyy
263dd20ec3
nvmnvmnvm
2024-10-14 22:48:25 -04:00
Jaklyy
ca7d938bb1
update for new write buffer implementation
2024-10-14 20:18:23 -04:00
Jaklyy
9f3ebeafa7
Merge branch 'less-ambitious-timing-rework' into chemical-x
2024-10-14 20:16:58 -04:00
Jaklyy
026719acef
improve timing model
2024-10-14 20:15:03 -04:00
Jaklyy
f74c21d110
Merge branch 'less-ambitious-timing-rework' into chemical-x
2024-10-13 20:07:04 -04:00
Jaklyy
801f43dfc5
reimplement codemem
...
i dont feel like i actually had a good reason for disabling this...
2024-10-13 20:06:39 -04:00
Jaklyy
1afefdce1d
use sse for set lookups
2024-10-13 08:39:07 -04:00
Jaklyy
206fc94d68
Merge branch 'interpreter-fixes' into less-ambitious-timing-rework
2024-10-12 14:35:28 -04:00
Jaklyy
e0e78a2bc8
make empty r-list instructions a bit nicer
...
pass bools as a single u8 instead and combine thumb and restore cpsr flags since they're mutually exclusive
2024-10-12 11:10:06 -04:00
Jaklyy
a8722d8c56
tcms shouldn't be cacheable
2024-10-11 02:47:41 -04:00
Jaklyy
6b8671d80a
Merge branch 'less-ambitious-timing-rework' into chemical-x
2024-10-11 02:05:44 -04:00
Jaklyy
9f6cbd8e84
implement drain write buffer cache command
2024-10-10 23:24:20 -04:00
Jaklyy
3d246ddf73
tcms just aren't bufferable
2024-10-10 22:54:33 -04:00
Jaklyy
34bba2589e
tcm (and cache?) reads dont trigger write buffer drains
...
additionally drains are triggered even in no cache + no buffer regions despite documentation not specifying such
2024-10-10 20:52:47 -04:00
Jaklyy
5c120f45ee
Merge branch 'interpreter-fixes' into less-ambitious-timing-rework
2024-10-10 20:34:00 -04:00
Jaklyy
787d0c9afc
mrc r15 updates flags
...
also my prior implementation made mrc w/ r15 raise an exception by accident
oops!
2024-10-10 11:09:07 -04:00
Jaklyy
93dce82b07
implement cmp with "rd == 15" on arm9
...
cmp and friends with bits 12-15 set to 1 borrow characteristics from their legacy 26 bit p variants
thumb version does nothing of note
2024-10-10 10:48:17 -04:00
Jaklyy
3870216fd0
correction:
2024-10-10 03:53:51 -04:00
Jaklyy
53b38c363f
ok no it didn't lie to me
2024-10-10 03:32:53 -04:00
Jaklyy
e25dca0030
writing to the write buffer has a 1 cycle delay before it can be done again
2024-10-10 03:14:01 -04:00
Jaklyy
633572e5cc
Merge branch 'less-ambitious-timing-rework' into chemical-x
2024-10-10 02:20:17 -04:00
Jaklyy
2c3ef9f903
writing to the write buffer seems to require bus cycle alignment
2024-10-10 02:20:02 -04:00
Jaklyy
60234a96b8
im dumb
2024-10-09 18:10:02 -04:00
Jaklyy
0638c41220
Merge branch 'less-ambitious-timing-rework' into chemical-x
2024-10-09 18:06:23 -04:00
Jaklyy
746f6edb0a
should addr writes to the fifo take 1 cycle? probably?
2024-10-09 18:06:17 -04:00
Jaklyy
f2bc0fae4d
cache imp
2024-10-09 18:05:26 -04:00
Jaklyy
225bd50e13
Merge branch 'less-ambitious-timing-rework' into chemical-x
2024-10-09 17:56:10 -04:00
Jaklyy
35c382acab
jit
2024-10-09 17:51:00 -04:00
Jaklyy
9cf065e54f
idk
2024-10-09 17:47:08 -04:00
Jaklyy
6e30cf3bfb
functional write buffer prototype
2024-10-09 17:46:50 -04:00
Nadia Holmquist Pedersen
216b8e045d
fix audio interpolation setting range
2024-10-07 11:28:58 +02:00
RSDuck
30441fed24
do not restore fullscreen state from saved geometry
2024-10-06 19:00:54 +02:00
RSDuck
aa443c8846
fix #2083 and minor cleanup
2024-10-06 17:33:03 +02:00
RSDuck
f13c70d028
fix blow noise input
...
(microphone input takes signed values)
2024-10-01 19:52:10 +02:00
Jaklyy
286de74666
Merge branch 'less-ambitious-timing-rework' into chemical-x
2024-09-29 22:43:38 -04:00
Jaklyy
c62f0f1244
Merge branch 'interpreter-fixes' into less-ambitious-timing-rework
2024-09-29 22:42:40 -04:00
Jaklyy
19e0b18d15
Merge remote-tracking branch 'upstream/master' into interpreter-fixes
2024-09-29 22:41:52 -04:00
Jakly
e9446fa9dc
implement 3 configurable and toggleable framerate targets ( #2159 )
...
This pr allows for configuring the framerate target and adds support for two other framerate targets, a "fastforward" and "slowmo" target which can be enabled via either a toggle or holding a button.
this allows for supporting a more accurate framerate target and allows for users to slow down the speed of gameplay if they so desire
2024-09-29 09:30:13 +02:00
Jaklyy
a11208ec6d
oops
2024-09-24 21:02:17 -04:00
Jaklyy
3065141ed7
probably not faster
2024-09-24 17:04:52 -04:00
RSDuck
2eb6d44c2c
prevent use after free through focusOutEvent when window is closed
2024-09-24 20:08:07 +02:00
Jaklyy
e1d4fbef75
i can't reproduce this anymore
2024-09-24 09:47:32 -04:00
Jaklyy
7fb18b1155
clean up code
2024-09-23 20:03:58 -04:00
Jaklyy
3b73f21bb7
str r15 is incremented by +2/+4 oop
2024-09-23 16:12:23 -04:00
Jaklyy
8af790beee
ldm/str with empty rlist
2024-09-23 15:00:35 -04:00
Jaklyy
7b0d71dbbe
Revert T bit changing support for arm7
...
i cannot comprehend what is happening currently
2024-09-22 19:57:33 -04:00
Jaklyy
8d451dff48
misaligned pc..........
2024-09-20 23:47:40 -04:00
Jaklyy
157e9c5b04
reimplement changing t bit with arm7
...
kinda slow though?
2024-09-20 13:37:58 -04:00
Jaklyy
7afa805afc
slightly better code
2024-09-20 05:37:51 -04:00
Jaklyy
c133814713
some day i will remember to test before pushing
2024-09-20 04:39:16 -04:00
Jaklyy
45f87a1c8d
prevent t bit changes without pipeline flush on arm7
...
idk what's happening fully and its gonna be slow to emulate most likely
we'll figure this out later
2024-09-19 21:02:54 -04:00
Jaklyy
6ebabde392
implement changing thumb bit. and bkpt ig
...
probably wrong
2024-09-19 04:37:01 -04:00
CasualPokePlayer
2179ca2a41
Set the correct save type for Puzzler World USA ( #2156 )
...
Fixes #1804
2024-09-18 20:58:55 +02:00
Jaklyy
89e8549a55
implement comparison instrs w/ rd == 15
2024-09-17 21:01:02 -04:00
Jaklyy
e5654ec541
r15 mrc mrs
2024-09-16 17:50:09 -04:00
Jaklyy
e2f3dd1e6f
clarify
2024-09-16 14:34:03 -04:00
Jaklyy
ac8c942565
sat add/sub also fail to jump
2024-09-16 13:17:38 -04:00
Jaklyy
3b9a9e4eb3
multiply instructions can't write to r15
2024-09-16 10:23:15 -04:00
RSDuck
7ac2eb2d71
attempt at fixing Windows build
2024-09-15 07:38:28 +02:00
RSDuck
a3d696121e
rework gdb packet parsing
...
it should be a bit more robust now
2024-09-15 07:30:53 +02:00
Jaklyy
f2a02abd16
Merge branch 'interpreter-fixes' into less-ambitious-timing-rework
2024-09-13 13:51:12 -04:00
Jaklyy
a0d71135a1
very minor optimization attempt
2024-09-13 07:33:18 -04:00
Jaklyy
c5ac682f04
improve data abort handling further
2024-09-12 18:25:54 -04:00
RSDuck
74f479ce6d
gdb stub config setup fixes
2024-09-11 14:41:22 +02:00
Jakly
f719438a6e
Improve calculation of light colors ( #1967 )
...
* maintain precision until all lights are calculated
fixes lugia on the soul silver title screen
* small optimization
* small note
* small cleanup/notes
shouldn't need to check that every time, since the variable shouldn't be able to overflow
* hw doesn't cap difflevel at 255
Should it cap at all?
Can vtx colors overflow...?
* diffuse level appears to be shifted right by 9
fixes some minor inaccuracies
* improve specular lighting a little
* small improvement to diffuse lighting
fixes a few off by ones
- finding by azusa
* small tweaks
* handle overflows of diffuse lighting properly
-credits to azusa once more
* attempt at improving specular lighting calcs
still far from correct, but its a start.
fixes: https://github.com/melonDS-emu/melonDS/issues/1545
* meh
* improve specular lighting further
* add notes
* theory: add half vec instead of subt 1
* implement azusa's specular lighting algorithm
* fix minor edge case with spec lighting
* give proper credit in comments
* fix some bugs/misc tweaks
* more quirky overflow/underflow handling
* fix a spec lighting edgecase
remove some redundant parentheses
* fix an edge case with light vector calcs
* spec recip uses a different calc for light dir?
also remove a check that shouldn't be mathematically possible to trigger
* nvm that thing i thought couldn't trigger was required
also move reciprocal calc into the light vector calc function since i might as well now ig
* replace a bunch of stuff with much *much* simpler algorithms
* misc cleanup
PARENTHESES WOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
* leave a note abt shininess table's default value being incorrect
2024-09-10 16:13:51 +02:00
Jaklyy
cacaf0ec7c
make it work
2024-09-08 12:05:10 -04:00
Jaklyy
53cc0378b1
Merge branch 'pr/1955' into chemical-x
2024-09-08 11:41:11 -04:00
Jaklyy
bd1d1c5c5e
fix thumb "no fetches"
2024-09-08 11:10:31 -04:00
Jaklyy
41db7b9df6
fix main ram adding cycles twice if code and memory region are the same
2024-09-07 13:45:33 -04:00
Nadia Holmquist Pedersen
268c4f14c1
vcpkg: support building on Linux
2024-09-06 22:50:12 +02:00
Jaklyy
ceb5a9febe
draw (most of) the rest of the owl
2024-09-06 03:59:59 -04:00
Jaklyy
299713e412
basic arm9 set up
2024-09-05 09:13:46 -04:00
Jaklyy
7cfc4b5849
ARM7: vram is 32 bit?
2024-09-02 07:35:49 -04:00
Jaklyy
2d081a6e02
improve arm7 timings
2024-09-01 18:03:32 -04:00
Jaklyy
f0bd2b9051
Merge remote-tracking branch 'upstream/master' into interpreter-fixes
2024-08-30 19:33:16 -04:00
Jaklyy
0003821738
apparently i never tested this
2024-08-28 22:04:22 -04:00
Jaklyy
685c4828a2
try not forgetting about stores lol
2024-08-28 13:45:46 -04:00
Jaklyy
be290da23c
de-duplicate swp(b)
2024-08-27 17:23:18 -04:00