Commit Graph

362 Commits

Author SHA1 Message Date
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