RSDuck
0f353e0d5f
add palette and OAM dirty flag
...
currently not used anywhere
2020-12-23 09:23:46 +01:00
Arisotura
49317e9165
don't axe error bits when writing to IPCFIFOCNT. fixes #801
2020-12-11 18:06:26 +01:00
Arisotura
1dbe69c6be
remove some debug crap
2020-12-10 18:09:11 +01:00
Arisotura
129018a662
Merge remote-tracking branch 'remotes/origin/master' into dsi_camera
2020-12-04 18:28:15 +01:00
RSDuck
1ff4a1564f
fix DSi mode with interpreter
...
I'm so stupid
2020-11-26 00:04:19 +01:00
RSDuck
842379c410
harmless DMA micro optimisation
2020-11-16 17:22:34 +01:00
RSDuck
1085cc14a4
prevent use after free
2020-11-16 17:03:24 +01:00
RSDuck
05b94eff66
make audio output thread safe(r?)
2020-11-15 15:29:38 +01:00
RSDuck
62e3f41f20
delay savefile flush to the end of the frame
2020-11-11 13:38:05 +01:00
Hypnotron
05e274a1f6
Added 8/16-bit IPCFIFOSEND writes
2020-10-29 16:09:25 -04:00
Arisotura
d2cd3eadbe
fix to timers (ZXDS no longer runs slow as shit)
2020-10-27 05:03:17 +01:00
Arisotura
fc922ffb14
Merge branch 'master' into dsi_camera
...
# Conflicts:
# src/DSi_I2C.cpp
2020-10-26 20:47:30 +01:00
Arisotura
9fdc1de6fe
add a few missing 32bit I/O accesses (IPC, SPI)
2020-10-25 18:14:40 +01:00
RSDuck
f2fa52f26c
add functionality to import savefiles
2020-09-11 03:08:06 +02:00
Arisotura
8d42b1c7d7
messin' around
2020-09-08 20:19:37 +02:00
RSDuck
9772201345
remove some UB
...
- savestates used to read a four bytes from a single byte value
- a few unassigned variables
- some other things
- also make the ROR macro an inline function
2020-09-04 20:37:14 +02:00
Arisotura
5431c469c3
actually add DLDI. bahahahhh
2020-09-03 20:28:07 +02:00
qeeg
9bfaf8682d
Fix a typo
2020-08-31 16:37:42 -05:00
Arisotura
ba373ca72a
DSi: make ARM9-clock-selector actually work
2020-08-17 19:15:45 +02:00
RSDuck
ea734084ca
check DSi interrupts for halted processor wakeup
2020-07-27 23:18:33 +02:00
Nadia Holmquist Pedersen
b4ad35948d
Merge remote-tracking branch 'upstream/slirp' into slirp-merge
2020-07-26 21:41:09 +02:00
RSDuck
8a96dfce18
fix build with JIT disabled
...
fixes #675 and #674
2020-07-25 20:59:53 +02:00
Arisotura
2f9a6b7c03
SPU: delay channel start until whenever it can actually start. fixes maxmod interpolated mode.
2020-07-23 12:59:19 +02:00
RSDuck
778623a8b7
make linux work and fix a few bugs
2020-07-04 18:58:00 +02:00
RSDuck
c5381d2911
reconcile DSi and JIT, fastmem for x64 and Windows
2020-06-30 23:50:41 +02:00
RSDuck
e335a8ca76
first steps in bringing over the JIT refactor/fastmem
2020-06-16 12:11:19 +02:00
RSDuck
e7d076403d
Merge branch 'generic_jit' of https://github.com/Arisotura/melonDS into generic_jit
2020-06-16 12:06:42 +02:00
RSDuck
052ff73672
rewrite JIT memory emulation
2020-06-16 12:01:08 +02:00
RSDuck
441869a105
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-06-16 11:57:45 +02:00
RSDuck
40b88ab05a
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-06-16 11:56:36 +02:00
RSDuck
00cd9af033
fix uninitialised memory mapping
2020-06-16 11:54:47 +02:00
RSDuck
4deecc7d65
jit: decrease blockcache AddrMapping size for ARM9
2020-06-16 11:54:05 +02:00
RSDuck
86f2be7260
jit: add compile option
2020-06-16 11:54:03 +02:00
RSDuck
d13d625f73
jit: make everything configurable
2020-06-16 11:53:21 +02:00
RSDuck
10e386fe50
JIT: most mem instructions working
...
+ branching
2020-06-16 11:53:08 +02:00
RSDuck
c692287eba
JIT: base
...
all instructions are interpreted
2020-06-16 11:53:05 +02:00
Arisotura
fc5eedc716
* take nwifi forward some
...
* shut up CP15 printf's for Fx0
* fix bugs
2020-06-15 13:39:33 +02:00
Arisotura
43e045357f
make it able to switch between DS and DSi modes
2020-06-01 20:36:30 +02:00
Arisotura
6326ddd172
reset SD controllers during a soft-reset
2020-06-01 16:32:44 +02:00
Arisotura
b62d90cbe4
Merge remote-tracking branch 'remotes/origin/master' into melonDSi
2020-05-30 03:19:20 +02:00
Arisotura
2327de2423
Merge commit '4b57416552ec2fa95216e2b044559f215723bf70' into melonDSi
2020-05-30 03:12:42 +02:00
Arisotura
5eb01f1f15
begin renovating melonDSi
2020-05-30 02:40:51 +02:00
Arisotura
95f9698077
add back some hotkeys.
...
remove some legacy cruft from NDS.cpp.
2020-05-19 22:37:48 +02:00
Arisotura
c5c9434ac9
verify BIOS and firmware before booting games/firmware
2020-05-17 05:42:09 +02:00
Arisotura
17d30e91f0
actually hook this up
2020-05-17 04:37:44 +02:00
RSDuck
0f53a34551
rewrite JIT memory emulation
2020-05-09 00:45:05 +02:00
RSDuck
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
RSDuck
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
RSDuck
51b6b7a7d5
fix uninitialised memory mapping
2020-04-26 13:03:11 +02:00
RSDuck
9d180c7bbc
jit: decrease blockcache AddrMapping size for ARM9
2020-04-26 13:03:09 +02:00
RSDuck
411fb57c07
jit: add compile option
2020-04-26 13:03:06 +02:00
RSDuck
9d76d63af5
jit: make everything configurable
2020-04-26 13:03:03 +02:00
RSDuck
2c44bf927c
JIT: most mem instructions working
...
+ branching
2020-04-26 13:02:57 +02:00
RSDuck
c5c342c009
JIT: base
...
all instructions are interpreted
2020-04-26 13:02:53 +02:00
Arisotura
104b2a03aa
properly handle ROMs with encrypted secure area
2020-03-30 11:04:50 +02:00
Arisotura
5f99a68151
detect whether we are running the game
2020-02-24 18:31:44 +01:00
Arisotura
83f8e11bc1
update copyright years
2020-02-14 20:18:08 +01:00
Arisotura
106b9a6f24
lay base for AR cheatzorz. baahahhhh
2020-02-14 19:26:52 +01:00
Raphaël Zumer
f257b007a2
Properly pass through GBA GPIO writes
2019-12-10 19:10:14 -05:00
Raphaël Zumer
5ad85f15c1
Add a framework to support non-SRAM GBA saves
...
The support is not yet there, but at least
we should not read or write bogus data.
2019-12-09 04:58:54 -05:00
Raphaël Zumer
62b9f51e23
Handle GBA cartridge SRAM writes
2019-12-08 21:20:01 -05:00
Raphaël Zumer
968768042e
Properly init/deinit the GBA slot
2019-12-08 15:30:56 -05:00
Raphaël Zumer
d86ee1d5bf
Add GBA cart model and allow reading from it
2019-12-08 15:30:07 -05:00
Raphaël Zumer
f21347c918
Fix GBA memory values on deselected CPU
...
Previously, the GBA memory was 0xFF-filled
on both CPUs. However, GBATEK reports that
the deselected CPU is 0x00-filled, and that
some titles depend on this behavior to
function properly.
2019-12-08 12:33:02 -05:00
Arisotura
e82364f010
* some fixes to SD controller support, make it clear that there is no SD inserted, makes Flipnote work somewhat better
...
* immediately clear AES busy flag when the block count is zero (occurs when loading DSi cart games)
* implement NDMA start modes that have an old-DMA equivalent (except for GXFIFO mode)
now it boots DSi carts!
2019-10-19 16:03:59 +02:00
xperia64
6c7c037b20
Fix division edge case
2019-08-24 11:52:24 -04:00
Arisotura
4d3d8433cb
* add old DS BIOSes and 04004000 BIOS-switch
...
fixes audio issues when running DS games
* attempt adding other fun shit like dynamic RAM size, but that mostly went nowhere for now
2019-08-05 19:52:03 +02:00
Arisotura
a9f36929e0
TSC: add backwards-compatibility
2019-08-04 14:34:33 +02:00
Arisotura
a6a9f74acc
lay base for DSi-mode TSC
2019-08-04 11:44:36 +02:00
Arisotura
592e493a7a
input: don't check modifiers for regular input
2019-07-09 18:39:50 +02:00
Arisotura
49b2f8d969
raise kMaxIterationCycles to 64
2019-06-25 02:05:48 +02:00
Arisotura
6d01677a57
add 32bit writes to some IO ports. fixes #313
2019-06-20 13:57:14 +02:00
Arisotura
d943a51b96
ayyy
...
getting there!
2019-06-20 03:19:51 +02:00
Arisotura
000aa1f327
add LCD init flag in DISPSTAT
2019-06-20 02:31:46 +02:00
Arisotura
81dde71eba
add AES, fix a bunch of bugs
...
we're getting an error screen! wee
2019-06-19 14:24:49 +02:00
Arisotura
d6bbc6f0f1
tremble upon the NDMA implementation
...
that doesn't do much beyond getting stuck
2019-06-18 22:54:07 +02:00
Arisotura
d4dd97638d
lay base for SD shit
2019-06-16 17:01:49 +02:00
Arisotura
566a8df6cd
add IE2/IF2
2019-06-16 15:05:18 +02:00
Arisotura
7aa5131ec7
run teh binary. BAHAHAHAHAHAHAHAAHHHH
...
it doesn't do much for now tho
2019-06-15 14:05:31 +02:00
Arisotura
83d23939db
melonDSi: skeleton in place
2019-06-15 13:09:11 +02:00
Arisotura
0e421ccebd
add all sorts of shit
2019-06-13 14:41:54 +02:00
Arisotura
00a5576492
fasterer IRQ check. clean up code.
2019-06-08 22:16:51 +02:00
Arisotura
75f8cbf953
draft API for OpenGL shito in libui
2019-03-31 21:15:45 +02:00
Arisotura
b9703d2e8f
fix CP15 control reg init during direct boot (fixes LMNTS demo regression)
2019-03-30 23:49:22 +01:00
Arisotura
f08b87b41f
* move melon_fopen_local() to Platform.cpp
...
* make it require that the file already exist (hopefully fixing config saving bug)
* finally axe melon_fopen.cpp
2019-03-27 13:34:26 +01:00
Arisotura
93d51b0cbc
start work on non-direct mode. reply to DHCP discover frame.
2019-02-23 13:41:51 +01:00
Arisotura
b0efde8bf7
also, update copyright name
2019-01-22 15:58:29 +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
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
cb1e6ce750
proof-of-concept code for closing/opening lid.
2018-12-14 02:36:57 +01:00
StapleButter
aa8c84f040
* correct romlist.bin (Club Penguin Herbert's Revenge EUR uses 4K EEPROM, not 64K)
...
* support 32bit reads to POWCNT1 (and also POSTFLG)
fixes #300
(insert sparta meme)
2018-12-13 15:03:06 +01:00
StapleButter
548432c364
add code to support GBA slot reads for later
2018-12-12 19:43:29 +01:00
StapleButter
758bed93bc
preliminary microphone code. requires an actual microphone. resulting audio is farty and blargy as fuck.
2018-12-12 16:33:40 +01:00
StapleButter
a8f2267a18
zarg
2018-12-12 03:09:48 +01:00
StapleButter
e7a4fe11ed
add nocashPrint type shit
2018-12-12 02:48:37 +01:00
StapleButter
3101bd595f
add missing shit to savestates. bump the version up.
2018-12-11 21:50:28 +01:00
StapleButter
40f3f91368
move config-file seeking code to its own thing.
...
look also into the same directory as melonDS. make it the preferred place for storing melonDS.ini.
rewrite WinMain() wrapper.
2018-12-11 21:34:05 +01:00
StapleButter
3dd8c7b152
finish the work on the main loop. finally fix all cases of desync I could find. also add #ifdef'd debug code to check for desyncs.
2018-12-11 15:56:34 +01:00