Commit Graph

1713 Commits

Author SHA1 Message Date
RSDuck f0657e1a9b basic implementation of SNDExCnt
isn't hooked up to the DSP or microphone though
fixes memory abort in TwilightMenu
2022-08-21 16:40:30 +02:00
Nadia Holmquist Pedersen 3ad5f3e22e Fix Windows debug builds not having a console because something, probably some library's CMake script, sets -mwindows when it shouldn't. 2022-08-17 20:04:43 +02:00
RSDuck 5baf5fe77b a bit of refactoring around ScreenHandler
also gets rid of that annoying warning about const char* being converted to char*
2022-08-05 20:22:10 +02:00
Nadia Holmquist Pedersen 2ba7f961a6 Apply strong focus policy to joystick mapping button as well. Fixes #1491 2022-07-31 21:18:08 +02:00
Valtýr Kári Daníelsson 98903f8076 fixes editor warnings about undefined types in a bunch of files 2022-07-27 18:55:59 +02:00
Valtýr Kári Daníelsson 457dd56b88
constexpr-s the DMA timing tables (#1489) 2022-07-27 17:01:31 +02:00
Nadia Holmquist Pedersen f5c1094d03 Fix triggers being recognized as negative analog stick values when assigning an input if the axis is moved too slowly. 2022-07-07 23:18:56 +02:00
Arisotura 4ec22dda9e stashing temp. camera work 2022-06-28 21:31:34 +02:00
Nadia Holmquist Pedersen 35cbda9001 GL: Fix 16x resolution on macOS 2022-06-02 00:55:29 +02:00
Nadia Holmquist Pedersen f85925fcd6 Add 3DS 16:10 aspect ratio and refactor GUI aspect ratio code 2022-05-23 16:59:50 +02:00
Nadia Holmquist Pedersen 94b33c924e
Modernize CMake build system (#1434)
These changes modernize the CMake build system to (hopefully) match newer best practices

* Library linking is simpler and more automatic because of using imported targets
* Multi-configuration builds should be supported (Ninja Multi-Config, Visual Studio, etc. generators)
* Clean up build options using cmake_dependent_option
* Let CMake do its job in more cases, like finding the math/dl libraries and detecting and enabling LTO support
* Remove platform-specific kludges like the Fedora/flatpak LTO workaround and a bunch of Windows stuff
* Simplify Windows static builds
* Consistent formatting
2022-05-21 19:54:55 +02:00
Nadia Holmquist Pedersen 4cc34121b0 Update teakra (fixes #1441) 2022-05-13 20:31:24 +02:00
Arisotura adb78e2641 get more shit done 2022-05-08 16:32:29 +02:00
Arisotura 3c0b105fbe attempt 2022-04-29 16:10:50 +02:00
Arisotura e878866234 here have more code 2022-04-29 12:48:30 +02:00
Arisotura 5363d3bf0c begin work on the CameraManager 2022-04-29 12:07:11 +02:00
Arisotura c761feee6a blaaaaarg
maybe now you can get motivated and get work done, Arisotura
2022-04-27 17:52:44 +02:00
Arisotura 6ee2693fcb lay base for camera settings dialog 2022-04-26 15:36:59 +02:00
Arisotura 55e4c813e0 commit a bunch of random WIP crap 2022-04-25 20:31:42 +02:00
Nadia Holmquist Pedersen ed2121d7ec Accomodate top/bottom only lzyout when setting screen size 2022-04-20 15:50:01 +02:00
Arisotura 852a0eae00 camera: fix bugs that Epicpkmn11's camera demo revealed 2022-04-19 12:54:37 +02:00
Arisotura 15523587f3 oops, the camera transfer buffer is 512 words long, not 1024 2022-04-18 11:33:25 +02:00
Arisotura 1b7bdd82ac basic provision for feeding external pictures to the cameras 2022-04-17 14:53:57 +02:00
Arisotura 34f0c2e6ed cleaner YUV/RGB conversion code 2022-04-17 13:34:59 +02:00
Arisotura e637f9d91d implement camera cropping 2022-04-17 01:24:13 +02:00
Arisotura 4c2c10abc6 add YUV conversion. lay base for cropping support. 2022-04-17 00:29:18 +02:00
Arisotura 7ad4f39587 camera: mostly working picture transfer infrastructure 2022-04-16 21:55:54 +02:00
Arisotura 036e475c99 reorganize camera code so the structure is less messy and more sensical 2022-04-16 16:18:53 +02:00
Arisotura a9d584d4bf attempting fun things 2022-04-15 20:31:18 +02:00
Arisotura 529a690089 fix potential issues with 32bit GPU writes 2022-04-10 15:11:30 +02:00
Arisotura 0294bcb5f2 add support for the mainRAM mirror at 0x0C000000 in DSi mode, makes SM64DSi work correctly 2022-04-10 14:54:40 +02:00
Arisotura b572d8cd70 add support for GXFIFO NDMA 2022-04-10 02:15:49 +02:00
Arisotura 0feed13cc4 close gaps in VRAM mapping 2022-04-09 19:40:35 +02:00
Arisotura 86f725f2f2 master brightness has different biases (are you serious, Nintendo)
also add all these biases to the OpenGL compositor
2022-04-08 01:08:19 +02:00
Arisotura f6a55354fa remove some cruft 2022-04-08 00:34:07 +02:00
Arisotura 879695070a make blending/fade accurate too (not quite sure about the 3D one) 2022-04-01 13:57:28 +02:00
Arisotura 1dfcf2010a Merge branch 'master' of github.com:Arisotura/melonDS 2022-04-01 12:54:58 +02:00
Arisotura d296f2832c make display-capture blending accurate to hardware 2022-04-01 12:54:47 +02:00
Nadia Holmquist Pedersen 02b859ad9d Disable firmware overrides UI when override checkbox isn't checked 2022-03-28 00:55:18 +02:00
Arisotura 5ca8728cbf save WFC settings when using default firmware. fixes #1401, also fixes #1336 2022-03-22 23:21:45 +01:00
Arisotura 599deeb2b8 default firmware: in DSi mode, emulate more compatible DWM-W015 instead of DWM-W024 2022-03-20 18:13:32 +01:00
Arisotura 709a5980ed FreeBIOS: add VRAM-compliant LZ77 decompressor. fixes #1353 2022-03-14 19:42:30 +01:00
Arisotura 3756f3cb1f make invalid SPI memory commands return 0xFF. fixes #1366 (Dementium II checks the results of RDSR, RDID and cmd 00 to determine what kind of backup memory is present) 2022-03-14 18:08:29 +01:00
Arisotura 5415f8a746 what. 2022-03-14 11:51:10 +01:00
Arisotura d8f87df2b7 DISPCAPCNT is writable at any time 2022-03-14 01:09:07 +01:00
Arisotura fb7bea06f8 fix some gaps in the SPI/cart implementations 2022-03-14 00:27:03 +01:00
Arisotura f7fa0dda50 * support patching multiple DLDI interfaces
* fix the DLDI size entry
fixes the Smash demo
2022-03-12 21:52:29 +01:00
Arisotura cce9de5ee1 BLARG 2022-03-08 14:42:02 +01:00
Arisotura fe96944fc0 insert wacky commit message 2022-03-08 12:03:16 +01:00
Arisotura 2eec033c72 save battery levels to config 2022-03-07 21:08:54 +01:00
Arisotura 532b1c967a fix up the power management dialog 2022-03-07 21:08:54 +01:00
Arisotura 9394dde67a fix copyright headers 2022-03-07 21:08:54 +01:00
Rayyan Ansari 2569c67a13 Add support for changing the DS and DSi battery level
The DS battery level is configured via the SPI Power Management Device,
and the DSi's is configured via the I2C BPTWL. Add support for changing
these registers and add the "Power Management" dialog in the UI.
2022-03-07 21:08:54 +01:00
Pk11 c3adf6f606
Improve DSiWare save creation (#1375) 2022-03-07 21:08:29 +01:00
2jun0 c66df57256
Implement MainRAM management dialog😁 (#1248)
* Implement MainRAM management dialog

* Modify RAMInfoDialog

- use emuThread to avoid a race condition.
- replace RAMUpdateThread to QTimer

Co-Authored-By: RSDuck <RSDuck@users.noreply.github.com>

* Update src/frontend/qt_sdl/RAMInfoDialog.cpp

small typo

Co-authored-by: Rayyan Ansari <68647953+RayyanAnsari@users.noreply.github.com>

* Update src/frontend/qt_sdl/RAMInfoDialog.h

small typo

Co-authored-by: Rayyan Ansari <68647953+RayyanAnsari@users.noreply.github.com>

* typo errors in RAMInfoDialog

Rrevious->Previous

* add new line to the end of the file

Co-authored-by: Rayyan Ansari <rayyan@ansari.sh>

* enable raminfo when cart is inserted

* Modify that only the 'value' item can be edited in RAMinfoDialog

* fix: function name incorrect error

* fix: function name incorrect error2

* fix: wrong way to get ram value

Co-authored-by: RSDuck <RSDuck@users.noreply.github.com>
Co-authored-by: Rayyan Ansari <68647953+RayyanAnsari@users.noreply.github.com>
Co-authored-by: Rayyan Ansari <rayyan@ansari.sh>
2022-03-06 22:33:11 +01:00
Nadia Holmquist Pedersen 088d49b9cb macOS: Use Qt 6 by default 2022-03-06 20:12:20 +01:00
Nadia Holmquist Pedersen b1565ec87a macOS: Bump minimum version to 10.15 2022-03-06 20:06:11 +01:00
Arisotura 2af8e65f23 we prolly don't need to init SDL video, given we don't use it 2022-03-06 10:49:05 +01:00
Arisotura ef7dfb8872 fix the GBA cart save shito, I guess 2022-03-04 20:54:45 +01:00
Rayyan Ansari f4f6f6dfc5
InputConfig: change Group Box titles to Labels
On GNOME, the Group Box's titles don't align with the text in the buttons.
This commit removes the Group Box titles and instead uses Labels to fix this.
2022-03-04 17:52:49 +00:00
Brankale 2c21787f33
fix typo in enum for screen sizing (#1377) 2022-02-25 20:28:21 +01:00
RSDuck 550db94a87 Use enum for screen sizing 2022-02-25 16:35:21 +01:00
ZackWeinstein e3ad78e84f
Allowing Swap screens hotkey to swap between displaying only top screen and only bottom screen. (#1283) 2022-02-25 15:58:31 +01:00
RSDuck bb67e186df comment out debug printfs 2022-02-25 14:35:45 +01:00
RSDuck 0a1fb5ae50 Wifi power saving, hopefully enough! 2022-02-25 14:25:19 +01:00
RSDuck 03b5c48088 lower window update rate if rendering too fast 2022-02-14 00:27:00 +01:00
Arisotura 0761fe736f add support for zero-address in AR codes 3-A 2022-01-28 20:56:08 +01:00
Arisotura 915edd777e hopefully fix #1349 2022-01-24 12:16:39 +01:00
Nadia Holmquist Pedersen 2bda2f127b nifi: Set SO_REUSEPORT on BSD and macOS to prevent creation of socket failing 2022-01-12 20:40:39 +01:00
Arisotura dff8980a27 Merge branch 'master' of github.com:Arisotura/melonDS 2022-01-09 02:16:03 +01:00
Arisotura 35cc79787d update copyright headers 2022-01-09 02:15:50 +01:00
Nadia Holmquist Pedersen 0a8f3c9344 Make the message when SDL2 fails to init more descriptive 2022-01-08 19:35:21 +01:00
Arisotura 10d7831917 can we, please, FINALLY, be done with this stupid issue 2022-01-08 12:53:06 +01:00
Arisotura 5c719a774f fdsfdfdgdfgfgdfg 2022-01-08 12:18:24 +01:00
Arisotura 80564ba947 explicitly eject the cart before a load with reset, preventing a spurious cart-eject IRQ on startup
also fix possible KEY1 issues when using internal BIOS
2022-01-08 11:20:21 +01:00
Arisotura e665e25bd3
Custom path support (#1333)
also including:
* getting rid of shitty strings
* all new, cleaner ROM handling code
* base for DSi savestates
* GBA slot addons (for now, memory cart)
2022-01-07 14:00:43 +01:00
Charlene Campbell c4cd9da674 don't link rt when oglrenderer disabled on apple 2021-12-29 18:28:27 +01:00
Nadia Holmquist Pedersen f39eeeb9dd
title import: create all title/ subdirectories 2021-12-18 02:56:27 +01:00
Nadia Holmquist Pedersen 203cf5164b Create ticket subdirectory if missing during title import 2021-12-16 06:33:32 +01:00
Nadia Holmquist Pedersen f1c9b42b45 ScreenPanelNative: Don't try to render the framebuffer if the emulator is not actually active.
This fixes an issue where the window draws with a gray background in macOS, and is see-through on Wayland-based desktops.
2021-12-09 01:57:02 +01:00
Nadia Holmquist Pedersen 14c6bba21f Manually center the window after setting its size on macOS
Qt's default window positioning is somewhat unreliable, and since we
don't currently remember the window position, let's at least make sure
that it's properly centered on open.
2021-12-09 01:21:06 +01:00
andrigamerita 151610eb6c
Treat SDL_INIT_JOYSTICK fail as non-critical (#1277)
Treating the fail of SDL_INIT_JOYSTICK as non-critical, because on some systems that SDL feature can for some reason fail. This leads to the emulator closing with a critical error, even though it would work perfectly fine with just a keyboard.
2021-12-01 13:52:58 +01:00
Arisotura 3300cc8f15 really, Arisotura? 2021-11-28 13:36:00 +01:00
Arisotura 44757a8323 SPU: block reads from ARM7 BIOS region. fixes #1267 (and prolly whatever other stupid game tries to play sound from NULL) 2021-11-25 16:49:43 +01:00
Arisotura c04e43702c SPU: correctly read negative ADPCM initial values. fixes #1261 2021-11-23 18:47:54 +01:00
Arisotura 97e599f90f what. 2021-11-22 18:59:49 +01:00
Arisotura e24a4e5e97 ensure shit doesn't asplode atleast until this code is redone 2021-11-21 16:12:07 +01:00
Arisotura 333b1247d9 remove remains of SDIOFile 2021-11-21 16:05:48 +01:00
Arisotura 73d7bada87 add valid wifi data to the default firmware 2021-11-20 13:22:20 +01:00
Arisotura 8100b6da6b ASGYHFDUHDIUIHSJODHSIJDHSIYGDHSJKDSDSDSDSD 2021-11-20 12:16:59 +01:00
Arisotura 7a0286a43d make firmware settings override also apply in DSi mode 2021-11-20 12:09:13 +01:00
Arisotura 593eb7c81c hopefully fix Qt6 2021-11-19 17:03:45 +01:00
Arisotura 1472a0ec4b move 'randomize MAC' setting to firmware settings, and add setting for changing the MAC.
make things overall betterer.
2021-11-19 13:31:14 +01:00
Arisotura 1fc775d964 better suited entry method for the firmware birthday 2021-11-18 20:24:37 +01:00
Arisotura 08eda46706 fix potential crash with firmware dialog (when closing dialog via X and opening it again) 2021-11-18 18:25:19 +01:00
Arisotura f73df85d1c make external-BIOS toggle also explicitly control external firmware
make things a tad more consistent and explicit
2021-11-18 18:17:48 +01:00
Arisotura 19ddaee13b finally decouple Config from the core. baahhahahahah 2021-11-18 01:17:51 +01:00
Arisotura 65c2a844ac oops 2021-11-17 23:23:22 +01:00
Arisotura e8bae0e146 what 2021-11-17 23:09:42 +01:00
RSDuck 3be26f456b prevent out of bounds write 2021-11-17 22:59:28 +01:00