81f38c14be
integrate changes from ARM64 backend and more
...
- better handle LDM/STM in reg alloc
- unify Halted and IRQ in anticipation for branch inlining
- literal optimisations can be disabled in gui
- jit blocks follow simple returns
- fix idle loop detection
- break jit blocks on IRQ (fixes saving in Pokemon White)
2020-04-26 13:05:05 +02:00
aa23f21b8d
decrease jit block cache address granularity
...
fixes Dragon Quest IX
move code with side effects out of assert, fixes release build
(thanks to m4wx for this one)
also remove some leftovers of jit pipelining
2020-04-26 13:05:05 +02:00
a687be9879
new block cache and much more...
...
- more reliable code invalidation detection
- blocks aren't stopped at any branch, but are being followed
if possible to get larger blocks
- idle loop recognition
- optimised literal loads, load/store cycle counting
and loads/stores from constant addresses
2020-04-26 13:05:03 +02:00
5202c505ab
remove debug printing
2020-04-26 13:05:01 +02:00
b5dda7d6e2
add ui confirm dialog for linux
2020-04-26 13:05:00 +02:00
5ea91b8a03
optimise away unneeded flag sets
...
- especially useful for thumb code and larger max block sizes
- can still be improved upon
2020-04-26 13:05:00 +02:00
03ab7f1645
fix jit block size not changeable
2020-04-26 13:04:59 +02:00
3001d9492c
abandon pipelining on jit
...
fixes Golden Sun Dawn
this makes the cpu state incompatible between interpreter and JIT. That's why switching cpu mode requires a restart(not requiring is stupid anyway) and the pipeline is manually filled when making a save state.
2020-04-26 13:04:59 +02:00
411fb57c07
jit: add compile option
2020-04-26 13:03:06 +02:00
9d76d63af5
jit: make everything configurable
2020-04-26 13:03:03 +02:00
c5c342c009
JIT: base
...
all instructions are interpreted
2020-04-26 13:02:53 +02:00
4b57416552
Windows: explicitly link gdi32
2020-04-12 17:15:39 +02:00
a6150a9a9e
Use pkg-config to find SDL2 on Windows
2020-04-12 16:59:06 +02:00
4c560f3324
GPU3D: swap vin and vout during clipping, giving results that are closer to hardware.
...
fixes #598 and also fixes #379
2020-04-11 23:56:36 +02:00
ab911571e0
Update main.cpp
2020-02-26 03:56:03 +01:00
83f8e11bc1
update copyright years
2020-02-14 20:18:08 +01:00
2944575cbc
Merge pull request #544 from i404788/master
...
Fix hanging UI when `null` addr
2020-02-14 14:30:54 +01:00
da0afbde88
Use different icon location
...
"pixmaps" is the deprecated, legacy-only location. "hicolor" is the current, proper location that supports multiple resolutions which we now use
2020-01-30 17:25:08 +01:00
2c51a49527
Merge pull request #546 from nadiaholmquist/feature/unix-xdg
...
Make melonDS properly installable systemwide on UNIX systems
2020-01-28 21:37:36 +01:00
12732aa51b
Merge pull request #550 from rzumer/slot2
...
Support GBA game cartridges for DS connectivity
2020-01-28 21:32:29 +01:00
3984491cce
* prevent potential race condition while changing window title
...
* cap framerate at 1000FPS
fixes #547
2019-12-30 13:29:19 +01:00
22d11209b0
Split GBA Reset and Eject logic into two sets
...
This allows solving some crashes and provides more
flexibility in how GBA cartridges change state between
soft and hard resets. Since save states including GBA
data do not carry over the original save file path,
and the GBA cartridge is being reset along with the other
parts of the system, this is needed to avoid losing
the GBA state on reset following a state load, while
preserving the behavior where cartridges are ejected
when calling Stop().
2019-12-22 16:01:13 -05:00
be19e0e8d4
Make solar sensor hotkeys configurable
2019-12-18 23:35:18 -05:00
c5623c4dcd
Change the config/data dirs from "melonds" to "melonDS" for consistency.
2019-12-19 02:52:34 +01:00
43535c873a
Remove redundant desktop file and change desktop/icon file name to net.kuribo64.melonDS, also change melonds to melonDS.
2019-12-19 02:48:11 +01:00
295404a5a6
Fix weird spacing
2019-12-12 09:03:01 +00:00
f8e43ac486
Display solar sensor level changes on OSD
2019-12-10 19:24:30 -05:00
f257b007a2
Properly pass through GBA GPIO writes
2019-12-10 19:10:14 -05:00
ca9f183d24
Hook up solar sensor control to the UI
...
It uses hardcoded keypad left and right arrows.
2019-12-10 17:54:35 -05:00
4e8b0c8ce4
Eject GBA cartridges on stop from the UI
2019-12-09 06:09:30 -05:00
91bf62a1d4
Keep GBA carts loaded when booting to firmware
2019-12-08 15:55:06 -05:00
1da9b3806c
Hook up the GBA slot to the UI
...
A GBA cartridge may be loaded in the same
way as a DS cartridge. If the extension of
the selected file is "gba", it will be treated
as a GBA file. The system boot logic is still
centered around the DS cartridge, so loading
a GBA file will not start or reset it.
2019-12-08 15:31:20 -05:00
23bca8c17a
Tell the user where to place romlist.bin if it can't be found for UNIX non-portable builds.
2019-12-05 00:40:59 +01:00
03f33fa5c3
Make UNIX builds non-portable by default.
2019-12-05 00:12:40 +01:00
4f87707cda
If all else fails, look for data files (romlist.bin) in the current working direcoty.
2019-12-05 00:11:52 +01:00
959c37ead7
Open with rb instead of r in OpenDataFile to avoid potential problems with Windows.
2019-12-04 22:54:30 +01:00
7af658f089
Add a UNIX_PORTABLE build option, turning it off makes a build of melonDS suitable for systemwide installation.
2019-12-04 22:46:33 +01:00
7730e6c1e2
Coding style + weird spacing
2019-11-20 23:24:16 +00:00
477be1d155
add device name
2019-11-19 22:34:02 +00:00
c2a55bc217
clean log
2019-11-19 22:22:47 +00:00
cdd60bb298
fix build
2019-11-19 22:20:39 +00:00
7e07250652
Maybe better to log
2019-11-19 22:19:30 +00:00
7340b1d6e3
Fix hanging UI when null
addr
2019-11-19 21:37:47 +00:00
3f7bc1a6c1
add warning against hacked firmware dumps
2019-11-08 21:55:13 +01:00
b8f55623c1
prevent capture-o-magic from freezing. also, make code more readable.
2019-09-14 13:45:01 +02:00
1c3661f33d
BLAHAHAHAHHHH
2019-09-14 01:16:38 +02:00
9d376335b7
HARK HARK HARK HARK
2019-09-13 22:43:02 +02:00
02a6fe182c
see, Arisotura, was it that hard?
2019-09-04 16:29:40 +02:00
1b40149b0a
blarg
...
here, have code
2019-09-04 15:41:42 +02:00
a4f9187b9b
fix bug with vsync checkbox
2019-09-01 23:04:06 +02:00