Commit Graph

1509 Commits

Author SHA1 Message Date
c7325469c2 factor duplicate code in micLoadWav(). also add support for all sorts of WAV formats SDL can support. 2021-08-08 15:32:29 +02:00
bba14b2bb0 fix pissfucking touchscreen (again) 2021-08-08 14:45:16 +02:00
2df6b4fdc3 Audio interpolation (#1176)
add audio interpolation (emulation improvement)
2021-08-08 14:27:57 +02:00
b28a9e4d24 JIT: don't lengthen blocks on a skipped SVC
SVC would need special handling because of the bank switching
2021-08-04 14:58:41 +02:00
f900792dc0 addition to last commit 2021-08-04 14:35:54 +02:00
f792d3e6a1 handle changed VCount+threaded rasteriser more gracefully 2021-08-04 14:21:45 +02:00
996bfe8436 Make limit framerate default instead of audio sync 2021-08-04 00:53:47 +02:00
85c2a76774 Fix for https://github.com/Arisotura/melonDS/issues/1169 (#1171)
* Fix for https://github.com/Arisotura/melonDS/issues/1169
LoadNAND was storing the stage 2 bootloader, while NWRAM access was disabled by Bit25 of SCFG_EXT putting the stage 2 into old shared WRAM, while executing it later with the bit enabled and fetching from an empty NWRAM.

* Fixed bug, where access to the NWRAM Bank A used the wrong page mask for write access

* Remove spaces before comma

Co-authored-by: Tim Seidel <t.seidel@kts-systeme.de>
Co-authored-by: RSDuck <RSDuck@users.noreply.github.com>
2021-08-02 22:15:33 +02:00
946eb7a834 fix pause when inactive 2021-08-02 20:41:43 +02:00
1bda85383f Fix for #1119 'Add "frame step" hotkey' 2021-07-30 18:16:26 +02:00
aaa97c9242 only open microphone when actually needed. fixes #1165 2021-07-29 01:19:03 +02:00
9ee2017443 don't add constant cycles if they're 0 2021-07-24 17:07:08 +02:00
6944fdbe78 add support for JIT profiling with VTune 2021-07-24 16:20:03 +02:00
c9b918d305 fix last commit for aarch64 2021-07-24 04:45:33 +02:00
c2152c8f74 JIT: fix ldm with writeback loading rn 2021-07-24 04:35:45 +02:00
8513900892 ARM64 macOS JIT - fix warnings + some cleanup 2021-07-23 14:07:23 +01:00
b1c2665c39 NWRAM & Direct Boot (#1149)
* SCFG_BIOS now selects between NDS and DSi BIOS
Allowing experimental direct boot.

* - making NWRAM Priorities work as in the HW
- fixed loading DSi stage2 Bootloader when in direct boot (should not be loaded) and might interfere with the image loaded into the (N)WRAM previously

* NWRAM and SCFG Registers are now write-guarded by the corresponding SCFG_EXT7/9 Bits

* removed debugging remainder

* Moved NDSHeader dependent SCFG initialization into the new DSi::SetupDirectBoot function called from NDS::SetupDirectBoot when ConsoleType is DSi

* removed redundant SCFG_BIOS bit checks

* Set of changes from RSDuck's review

* removed a forgotten comment

* - removed the guarded debug outputs for NWRAM
- NWRAM writes to bank and window registers now apply their write masks.
- added comment on an existing TODO within the code describing, why this is OK
- fixed initial NWRAM bank reset just accessing set A

* NWRAM not mapped to 03... range if bit25 in SCFG_EXT is cleared

* removed NWRAM write block on cleared bit25 in SCFG_EXT

* changed type of iterator for MapNWRAM_x functions from s8 to int

* - reduced calculations/comparisons on NWRAM write operations
- changed u8 to unsigned int for an iterator MapNWRAM_x

Co-authored-by: Tim Seidel <t.seidel@kts-systeme.de>
2021-07-23 12:21:54 +02:00
cd4ef575ee NDSCart: correctly restrict reading the DSi region on DSi carts 2021-07-22 21:37:34 +02:00
ab48461dc5 Merge branch 'master' of https://github.com/Arisotura/melonDS 2021-07-20 19:30:47 +02:00
740071e427 oopsies 2021-07-20 19:30:29 +02:00
fdb6d226fd enable undo savestate load in the gui 2021-07-17 23:30:57 +02:00
98072d82bf shut up DSi-IO warnings 2021-07-17 18:26:56 +02:00
3a9e07c0b1 Fallback to backup DSi Footer in NAND Image (#1154)
* - added fallback to DSi footer copy at 000FF800h if reading footer at end of file failed. See https://problemkaputt.de/gbatek.htm#dsisdmmcimages
- changed output of ConsoleID to use PRIx64 to be consistent with all other tools working with the consoleID (readability/cosmetic improvement)

* Remove extra space

Co-authored-by: Tim Seidel <t.seidel@kts-systeme.de>
Co-authored-by: RSDuck <RSDuck@users.noreply.github.com>
2021-07-13 15:01:42 +02:00
e5240a688c Add ROM Header struct and ROM info dialog (#1095) 2021-07-02 16:42:54 +00:00
5a071c4c29 some tiny A64 optimisations 2021-06-30 00:41:04 +02:00
aa430608e7 support allocating more registers for aarch64 JIT
also some minor fixes for the x64 JIT as well
2021-06-29 22:25:43 +02:00
dd53b01f76 only recalculate GBA slot timing if necessary 2021-06-27 00:45:21 +02:00
dd2b86d026 add missing default return value. fixes #1105 2021-06-20 02:23:45 +02:00
5b9f972625 UI: detect and save when window is maximized, and restore it as such. fixes #1135 2021-06-20 02:21:48 +02:00
f94b784c4d Use printf format macro here 2021-06-07 20:51:51 +01:00
1793abcfb4 don't printf from exception handler
it was handy for debugging, but it's dangerous
2021-06-07 19:02:09 +02:00
e3b4350f44 Add PoroCYon's DSP code. (#1123)
* Add PoroCYon's DSP code.

* Remove some teakra iles that we dont need.

* make some requested changes.

* move DataMemoryOffset into namespace.

* use deault param.

* ad the switch change

* <Generic> forget about the default parameter
2021-06-06 18:27:26 +02:00
cat
2494058a71 Add "frame step" hotkey and function (#1119) 2021-06-05 21:10:37 +02:00
af36d10023 Explicitly set NoRole on the setup cheats option so Qt on mac will stop stealing it 2021-06-05 14:47:51 +02:00
21f5477450 PRIu64 requires inttypes.h to be included 2021-06-05 03:34:39 +02:00
f74387a8c1 Implement NO$GBA debug registers. (#1110)
* Implement NO$GBA debug registers.

NO$GBA comes with 4 debug registers that allow a ROM to print text to
the emulator terminal and 2 other status registers, one with the name of the
emulator and the other with the clock cycles count. This commit
implements them for the ARMv5 processor.

Some small things to note:
 - `NocashPrint` was changed and now it takes an address to _the string_ instead of the flags before it (those
don't do anything anyways).
 - The "Emulation ID" register contains the string "melonDS " followed by version, _not_ "NO$GBA"

* Fix styling issue and improve comment regarding NO$GBA message flags
2021-05-27 12:15:16 +02:00
e48e45db76 frontend: handle tablet and touch events
fixes #654 and #548
2021-05-24 20:23:06 +02:00
9181ab19c7 GPU3D soft: prevent out of bounds read 2021-05-24 19:41:24 +02:00
f271bdf325 fix #906 2021-05-24 18:29:12 +02:00
e02bbcb3ac Use printf macro for u64 2021-05-16 17:17:57 +01:00
4a39a84216 Propagate common ImportSRAM return value from NAND cartridge function (#1104) 2021-05-16 18:15:34 +02:00
eb7bedfc79 Remove outdated frontend solar sensor code (#1102) 2021-05-16 17:18:24 +02:00
509107fb59 set instead of or stencil buffer for left edges 2021-05-08 00:12:48 +02:00
6f91bcc39f use shitfucking stupid linebreaks so that our text files don't like stupid compact blobs in Notepad
(really, fuck Notepad)
2021-05-06 00:40:11 +02:00
d3c298bbe4 ASSFUCKING STUPID SHITPILE.
fixes #1044

(also add separator for cleaner menu)
2021-05-06 00:33:50 +02:00
50721719d2 GBACart: simulate open-bus decay roughly. fixes #1093 2021-05-04 12:58:59 +02:00
b7d5a7db75 don't attempt to parse lines that failed to fetch 2021-05-03 17:02:38 +02:00
41cd092a15 NDSCart: enforce WR bit.
Bad Apple demo will break, because its NitroFS driver is broken. it needs a DLDI argv structure to exist in order to use its DLDI driver instead.
2021-05-03 14:58:45 +02:00
2ff065e5ea Fix some compiler warnings 2021-05-03 13:40:44 +01:00
cc36f55b8c Merge branch 'master' of https://github.com/Arisotura/melonDS 2021-05-02 21:19:12 +02:00