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
StapleButter
78d384a754
temp commit
...
almost done killing ARM9/ARM7 desync, f
2018-12-11 03:08:46 +01:00
StapleButter
aba4610d45
fix bugs
...
still kinda shitty tho. like, we lost enough timer accuracy to have visible effects (aging cart tests that fail, FMVs that play too slow, etc)
2018-12-09 01:46:10 +01:00
StapleButter
b569c03884
make it fasterer
2018-12-09 01:26:51 +01:00
StapleButter
29bca33bc6
take it somewhere.
...
still need to speed it up a tad.
2018-12-09 01:17:05 +01:00
StapleButter
c6fb152d80
start devolving things.
...
also implement proper DMA timings.
will not build. don't try.
2018-12-08 22:33:41 +01:00
StapleButter
86dae1a25c
make this other branch where we're going to actually make it usable
...
but it'll be a gross hack
2018-12-08 20:27:00 +01:00
StapleButter
172fb4876a
begin work on general timing renovation. way shitty because it behaves as if caches were off, so everything will be slow as shit.
2018-12-04 17:54:10 +01:00
StapleButter
46d5a31275
well yeah that's what I thought
...
GXFIFO stalls don't stall the ARM7
2018-11-24 05:23:35 +01:00
StapleButter
7b48ce5b75
* fix possible issues with GXFIFO stalling
...
* rework GPU timings, now almost same as hardware. display lists generally execute faster. not finished. not bad for a start tho.
* Rayman RR2 is still getting sound streaming issues. I don't think GXFIFO stalls are supposed to halt the ARM7. that doesn't make sense and would mess badly with sound since it's also using the ARM7 bus.
2018-11-24 02:29:25 +01:00
StapleButter
a9e7f8bc5b
add proper support for GXFIFO stalls.
...
bad games that blast the GXFIFO and overflow it:
* Super Mario 64 DS
* Rayman RR2
latter seems to get its music streaming crapoed.
2018-11-23 22:21:41 +01:00
StapleButter
27e1ca4103
beginning timing renovation.
...
smarter Reschedule().
gotta start somewhere, I guess.
2018-11-09 14:10:06 +01:00
StapleButter
7ba32ea076
make the ARM clock shift configurable. nothing fancy there, just paving the way for DSi support later.
2018-11-07 18:38:54 +01:00
StapleButter
b4165cc0a9
3D: keep the rasterizer from accidentally going out of bounds when given very flat X-major edge slopes.
...
this, by a fucking shitshow of butterfly effect, ends up fixing #234 . technically, the rasterizer was going out of bounds, which, under certain circumstances, caused interpolation to shit itself and generate Z values that were out of range (but still ended up in the zbuffer). sometimes those values ended up negative, which caused these glitches when polygons had to be drawn over those.
about fucking time.
2018-11-04 23:21:58 +01:00
StapleButter
307c26de93
Merge pull request #248 from Dirbaio/master
...
Two fixes
2018-10-27 14:16:46 +02:00
StapleButter
8b4ba2d8b9
separate SRAM setting coded, I guess
2018-10-24 00:24:36 +02:00
StapleButter
f60ac42466
pass savefile name to NDS::LoadROM() instead of having the core generate it.
2018-10-23 21:52:41 +02:00
StapleButter
d191af8690
rewrite how structures are stored to savestates (store individual fields, to avoid compatibility issues)
...
also fixes stability issues when 3D is involved. turns out we were storing raw pointers to vertices. figures
more crapo code to get around that, but atleast it works without asploding now.
2018-10-21 03:16:41 +02:00
StapleButter
cbcecc8cdb
don't store BIOS in savestates. no point doing so.
2018-10-19 01:05:19 +02:00
StapleButter
20862b7daf
aight, wifi done
2018-10-18 03:22:53 +02:00
StapleButter
f51e1ec805
I guess that might have malfunctioned
2018-10-18 03:10:17 +02:00
StapleButter
86f5155f72
more procrastinating before actually starting savestatez0ring wifi.
...
I need to pee
2018-10-18 03:09:03 +02:00
StapleButter
3a54b9178b
RTC done. misc shito.
2018-10-18 03:04:39 +02:00
StapleButter
cbe5780837
SPI done
2018-10-18 02:54:48 +02:00
StapleButter
7bf62918cd
SPU done
2018-10-18 02:45:38 +02:00
StapleButter
a2cc7087f7
GPU done
2018-10-18 02:31:01 +02:00
StapleButter
148f4032f1
fix code that would have fucking asploded
2018-10-18 01:38:33 +02:00
StapleButter
de91eabf71
savestate shito: fix compile errors.
...
still far from being finished, so avoid using unless you want to spawn blackholes or some pretty bad shit.
2018-10-18 00:27:55 +02:00
StapleButter
7cbcc6c230
zlarg
2018-09-15 03:41:09 +02:00
StapleButter
60f24a7432
moar progress on it
2018-09-15 03:29:36 +02:00
StapleButter
0bfd019dc0
start implementing actual shito
...
(also looks like the test bench in libui_sdl/main.cpp snuck in with the copyright update. shit)
2018-09-15 02:47:34 +02:00
StapleButter
fea7955675
fixor copyright years.
2018-09-15 02:32:13 +02:00
Dario Nieuwenhuis
d721e098eb
Make "unknown IO" messages consistent, all including value and PC.
2018-05-24 01:09:40 +02:00
Dario Nieuwenhuis
cb79a5dc14
Make Main RAM size configurable in a single place.
2018-05-24 01:09:23 +02:00