Commit Graph

2361 Commits

Author SHA1 Message Date
RSDuck
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
RSDuck
f900792dc0 addition to last commit 2021-08-04 14:35:54 +02:00
RSDuck
f792d3e6a1 handle changed VCount+threaded rasteriser more gracefully 2021-08-04 14:21:45 +02:00
RSDuck
f86ba0fcb3 amend contributor guide 2021-08-04 14:07:46 +02:00
RSDuck
806f081e9f add a contributor guide 2021-08-04 12:48:15 +02:00
Nadia Holmquist Pedersen
996bfe8436 Make limit framerate default instead of audio sync 2021-08-04 00:53:47 +02:00
DesperateProgrammer
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
RSDuck
946eb7a834 fix pause when inactive 2021-08-02 20:41:43 +02:00
gal20
1bda85383f Fix for #1119 'Add "frame step" hotkey' 2021-07-30 18:16:26 +02:00
Arisotura
aaa97c9242 only open microphone when actually needed. fixes #1165 2021-07-29 01:19:03 +02:00
RSDuck
9ee2017443 don't add constant cycles if they're 0 2021-07-24 17:07:08 +02:00
RSDuck
6944fdbe78 add support for JIT profiling with VTune 2021-07-24 16:20:03 +02:00
RSDuck
c9b918d305 fix last commit for aarch64 2021-07-24 04:45:33 +02:00
RSDuck
c2152c8f74 JIT: fix ldm with writeback loading rn 2021-07-24 04:35:45 +02:00
WaluigiWare64
8513900892 ARM64 macOS JIT - fix warnings + some cleanup 2021-07-23 14:07:23 +01:00
DesperateProgrammer
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
Arisotura
a09ce44c48 Merge branch 'master' of https://github.com/Arisotura/melonDS 2021-07-22 21:37:52 +02:00
Arisotura
cd4ef575ee NDSCart: correctly restrict reading the DSi region on DSi carts 2021-07-22 21:37:34 +02:00
WaluigiWare64
89875204dd Add message when CCache is being used 2021-07-22 16:58:59 +01:00
WaluigiWare64
9b5d5f673c Use CCache if it exists 2021-07-22 16:50:48 +01:00
WaluigiWare64
7aaee5ddb6
Add macOS ARM64 build badge 2021-07-22 15:13:33 +00:00
WaluigiWare64
ebe8d544e1 Move x86-64 macOS CI file
[skip ci]
2021-07-22 14:52:42 +01:00
WaluigiWare64
3074ee06d7 Clean workspace before build 2021-07-22 14:32:06 +01:00
WaluigiWare64
efd7d62cec Use mkdir -p here 2021-07-22 14:20:21 +01:00
WaluigiWare64
3bada15e46 Use arch -arm64 on ARM64 macOS CI 2021-07-22 14:18:52 +01:00
WaluigiWare64
a135557bcb Add ARM64 Mac CI file 2021-07-22 14:10:21 +01:00
Arisotura
ab48461dc5 Merge branch 'master' of https://github.com/Arisotura/melonDS 2021-07-20 19:30:47 +02:00
Arisotura
740071e427 oopsies 2021-07-20 19:30:29 +02:00
RSDuck
fdb6d226fd enable undo savestate load in the gui 2021-07-17 23:30:57 +02:00
Arisotura
98072d82bf shut up DSi-IO warnings 2021-07-17 18:26:56 +02:00
DesperateProgrammer
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
WaluigiWare64
e5240a688c
Add ROM Header struct and ROM info dialog (#1095) 2021-07-02 16:42:54 +00:00
RSDuck
5a071c4c29 some tiny A64 optimisations 2021-06-30 00:41:04 +02:00
RSDuck
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
RSDuck
dd53b01f76 only recalculate GBA slot timing if necessary 2021-06-27 00:45:21 +02:00
Arisotura
dd2b86d026 add missing default return value. fixes #1105 2021-06-20 02:23:45 +02:00
Arisotura
5b9f972625 UI: detect and save when window is maximized, and restore it as such. fixes #1135 2021-06-20 02:21:48 +02:00
WaluigiWare64
1cd477db71 Change workflow upload name to platform on GitHub CI 2021-06-13 13:06:15 +01:00
WaluigiWare64
f94b784c4d Use printf format macro here 2021-06-07 20:51:51 +01:00
RSDuck
1793abcfb4 don't printf from exception handler
it was handy for debugging, but it's dangerous
2021-06-07 19:02:09 +02:00
purringChaos
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
Nadia Holmquist Pedersen
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
WaluigiWare64
297563cd97
Fix Linux build instructions
Fixes #1118
2021-06-05 12:21:41 +00:00
RSDuck
21f5477450 PRIu64 requires inttypes.h to be included 2021-06-05 03:34:39 +02:00
Pedro
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
Philip Goto
308e5df426
Use 256x256 instead of 32x32 as window icon size (#1115)
Pass the 256x256 icon to Qt to use as the window icon instead of the 32x32 version. Fixes #1113
2021-05-27 12:12:55 +02:00
RSDuck
e48e45db76 frontend: handle tablet and touch events
fixes #654 and #548
2021-05-24 20:23:06 +02:00
RSDuck
9181ab19c7 GPU3D soft: prevent out of bounds read 2021-05-24 19:41:24 +02:00
RSDuck
f271bdf325 fix #906 2021-05-24 18:29:12 +02:00