Commit Graph

2181 Commits

Author SHA1 Message Date
Rafael Caetano
dc44fa17f9 Add support for different GBA slot configurations 2024-06-27 19:23:22 +01:00
Rafael Caetano
fe50a17109 Fix RetroAchievements not unlocking after resetting the emulator 2024-06-19 22:35:29 +01:00
Rafael Caetano
d60a1ada64 Use access to check if a file exists instead of opening it first
This tries to fix an ocasional crash that would happen when calling freopen
2024-03-14 23:09:58 +00:00
Rafael Caetano
fdfb225a06 Init audio and mic streams after initializing the emulator
This fixes a very rare crash where the streams would try to read data from the emulator before it's ready
2024-03-14 22:55:49 +00:00
Rafael Caetano
3960f4699b Open files with Platform::OpenFile when exporting DSi NAND files 2024-01-23 22:47:13 +00:00
Rafael Caetano
2de14f7cb5 Simplify usage of strerror_r 2024-01-02 23:58:10 +00:00
Rafael Caetano
f1080b5160 Add support for the OpenGL renderer 2023-09-23 19:19:30 +01:00
Rafael Caetano
434d4d22ed Add logging utility functions 2023-09-23 18:28:43 +01:00
Rafael Caetano
a26a30f19a Allow achievements to be unloaded 2023-09-03 17:34:06 +01:00
Rafael Caetano
0c6ed7ca33 Always allocate R15 for LDR_PCREL instruction, even if literal optimizations are enabled
This fixes crashes on some games when accessing an invalid literal through this instruction
2023-08-28 23:51:01 +01:00
Rafael Caetano
cbe93c0d60 Make code of FD sharing between master and slave instances more understandable 2023-08-14 23:35:11 +01:00
Rafael Caetano
0ae3beef12 Reset FirmwareLength and FirmwareMast on firmware DeInit 2023-08-13 23:21:50 +01:00
Rafael Caetano
2ee0b96cbf Fix semaphore handling in multiplayer logic
This should fix occasional freezes when receiving packets
2023-08-12 13:10:38 +01:00
Rafael Caetano
894c51dade Use libslirp for Wi-Fi communication 2023-08-09 19:19:54 +01:00
Rafael Caetano
4d343d6bb3 Allow Wi-Fi configuration of internal firmware to be saved 2023-08-09 19:05:46 +01:00
Rafael Caetano
b78400b1ca Merge branch 'dsi-camera' 2023-07-02 19:15:39 +01:00
Rafael Caetano
e28566c480 Save RetroAchievements state in savestates 2023-03-10 23:58:38 +00:00
Rafael Caetano
9e72673e6f Merge remote-tracking branch 'origin/master' into dsi-camera 2023-03-06 11:17:26 +00:00
Rafael Caetano
a247ab099c Allow RetroAchievements rich presence to be setup and the current description to be fetched 2023-03-03 18:32:54 +00:00
Rafael Caetano
210319ea28 Add rcheevos source code 2023-02-28 11:52:40 +00:00
Rafael Caetano
56a9cebbea Remove rcheevos from git submodules 2023-02-28 11:43:36 +00:00
Rafael Caetano
b720a2bbd5 Add rcheevos to gitmodules 2023-02-28 11:21:57 +00:00
Rafael Caetano
6fff692b99 Add missing import in RomConfigDialog 2023-02-15 11:05:39 +00:00
Rafael Caetano
a6e1f8f06e Implement RetroAchievements support 2023-02-12 16:24:11 +00:00
Rafael Caetano
4dce6ceec0 Implement base DSi camera handling 2023-02-01 19:11:28 +00:00
Rafael Caetano
60cf5bfa50 Reintroduce MAC address randomization option 2023-01-06 23:46:13 +00:00
Rafael Caetano
253f04a48f Use socklen_t as size of socket address 2023-01-02 23:29:51 +00:00
Rafael Caetano
ddc71463d4 Fix crash when no BIOS and firmware paths are provided 2023-01-02 23:08:59 +00:00
Rafael Caetano
41d125bff3 Fix emulator not running ROMs after first launch
This was caused because the local multiplayer master thread was blocked and the emulator could not be restarted
2022-12-29 17:07:59 +00:00
Rafael Caetano
b054f7277f Add base local multiplayer implementation using shared memory
This still has issues as is not usable while running 2 instances, but it's a a promising start in which the 2 instances can connect and send data to each other
2022-11-19 00:13:33 +00:00
Rafael Caetano
39ca649001 Merge branch 'source/master' 2022-11-12 17:09:57 +00:00
Arisotura
430de6b270 BAHAHAHAHAHAJSKASLASJISFS--+|*~+-. 2022-11-03 20:35:21 +01:00
Arisotura
019120ebb8 fix a tidbit with GXFIFO NDMA, I think 2022-11-03 20:22:46 +01:00
Arisotura
4ef2e1f4cc fix up DSi direct boot 2022-10-28 21:31:51 +02:00
patata
561781b954
CLI 2.0: Electric Boogaloo (#1546)
* CLI: begin QT reimplementation

* Add first batch of parameters
* ROM loading (no archives yet)
* --fullscreen
* --boot (non-functional???)

* fix --boot

* archives!

* Add disclaimer that a.zip|b.nds is kind of fucky

* remove shit7 debugging

* Apply requested changes
2022-10-28 12:27:55 +02:00
Arisotura
936011964c comment out semaphore shit in teakra 2022-10-25 00:09:43 +02:00
Nadia Holmquist Pedersen
9e449d902d Make clang shut up about -Wno-error=maybe-uninitialized in teakra 2022-10-23 16:52:18 +02:00
orbea
b5017caa33 fatfs: Fix -Wstrict-prototypes + -Wimplicit-function-declaration warnings
This will be required for upcoming gcc and clang versions.

Reference: https://archives.gentoo.org/gentoo-dev/message/dd9f2d3082b8b6f8dfbccb0639e6e240
2022-10-23 16:33:29 +02:00
Arisotura
dd74e936ed force-align all read/write accesses. fixes #1540 (unaligned DMA address) 2022-10-22 13:11:57 +02:00
Nadia Holmquist Pedersen
b6776bd826 getWindowInfo: handle if the Wayland window handle is null 2022-10-19 00:03:28 +02:00
RSDuck
ac3118cbc5
No more context mess (#1531)
* WIP: use Duckstation's context code to directly render into QT Widget from separate thread without two OpenGL contexts

currently only works on Windows

* reenable gay OSD

* add back vsync

* make it atleast a little more thread safe

* linux support

* don't segfault on closing

* reorganise and cleanup build system
it's still not good, but better than before

* macos?

* try to get it working on Ubuntu CI
also update instructions

* let's try this

* ok how about this

* try creating an OGL 4.3 context first
(https://i.kym-cdn.com/photos/images/original/001/264/842/220.png)

* fix Ubuntu

* hm

* try again for Windows

* let's try this

* make the OpenGL renderer work again
that was stupid

* do OGL surface resizing from the mainthread

* Fix small mistake in GL context creation on macOS causing version 3.2 to
be considered invalid

* C stupidness

* cleanup

* don't let the emuthread deinit OGL if there's no OGL

* reset lastScreenWidth/Height when deiniting OpenGL

* disable stencil test while drawing framebuffers

* macOS: Link Cocoa framework explicitly when not building with Qt6

Seems to be needed for the classes used by DuckStation's GL context
code.

* Set ScreenPanelGL's minimum size immediately

Fixes GL context creation for OpenGL display on macOS using the wrong
size as the underlying window was not resized to the correct size by Qt
yet.

* don't emit window updates when OGL display is used

* stuff Arisotura said

Co-authored-by: Nadia Holmquist Pedersen <nadia@nhp.sh>
2022-10-17 22:55:11 +02:00
Arisotura
31ba585d39 more fun DSP fixes
* aac.a thinks it is funny to start DMA by writing to 8184 directly
* implement retd (gross hack!!)
* remove another unimplemented exception (wat)
2022-10-17 20:16:19 +02:00
Arisotura
243a02767a I don't think NWRAMMask is relevant here 2022-10-14 00:22:39 +02:00
Arisotura
cdd05c10b4 more DSP unfucking: make Teakra directly use melonDS's NWRAM banks instead of trying to translate to a flat buffer, fixes bugs with the way the memory banks are ordered etc 2022-10-14 00:02:54 +02:00
Arisotura
a8fba8cc34 Merge branch 'master' of github.com:Arisotura/melonDS 2022-10-13 23:54:49 +02:00
Nadia Holmquist Pedersen
349316a078 Work around a really strange issue when building teakra with -O0 on Windows 2022-10-12 20:49:15 +02:00
Arisotura
a83fbb6555 revert half of the change to build flags. it makes Teakra linking shit itself in a pretty bad and weird way.
sorry Nadia
2022-10-12 20:22:39 +02:00
Arisotura
b33f0434a6 unfuck the DSP enough that it will actually run code
(don't get your hopes up, it's still pretty much a trainwreck)
2022-10-11 00:26:42 +02:00
Nadia Holmquist Pedersen
9a85bc7453
Merge pull request #1528 from Phosphorus-M/patch-1
Update the README.md to add the missing dependency on qt5-multimedia needed by the camera support.
2022-10-10 18:53:46 +02:00
Nadia Holmquist Pedersen
338b8b5bfe
Change Qt dependencies for Windows dynamic builds as well
no reason to install the full huge Qt framework when there are individual packages.
2022-10-10 18:51:16 +02:00