| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* First crack at refactoring NDS and DSi into objects
- Remove all global/`static` variables in `NDS` and related classes
- Rely more on virtual dispatch when we need to pick methods at runtime
- Pass `NDS&` or `DSi&` to its constituent components where necessary
- Introduce some headers or move some definitions to break `#include` cycles
* Refactor the frontend to accommodate the core's changes
* Move up `SchedList`'s declaration
- Move it to before the components are initialized so the `map`s inside are initialized
- Fields in C++ are initialized in the order they're declared
* Fix a crash when allocating memory
* Fix JIT-free builds
* Fix GDB-free builds
* Fix Linux builds
- Explicitly qualify some member types in NDS, since they share the same name as their classes
* Remove an unnecessary template argument
- This was causing the build to fail on macOS
* Fix ARM and Android builds
* Rename `Constants.h` to `MemConstants.h`
* Add `NDS::IsRunning()`
* Use an `#include` guard instead of `#pragma once`
|
|
|
|
|
|
|
|
| |
* Reorganize namespaces
- Most types are now moved into the `melonDS` namespace
- Only good chance to do this for a while, since a big refactor is next
* Fix the build
|
| |
|
| |
|
|
|
|
| |
also use inline functions instead of macros to make things more neat
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
|
|
|
|
|
|
| |
* Fixed division edge case: Div64/32 and Div64/64 set the remainder to 0 if dividend == INT64_MIN && divisor == -1
* Fixed CPU edge case where ARM9 ALU ops would switch to Thumb even when they shouldn't
* Only clear the lowest bit of the jump address in ALU ops with rd==15 (on recommendation of RSDuck)
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
register, fix handling for LSL/LSR >32
fixes #479
|
| |
|
|
|
|
| |
fixes #315
|
| |
|
|
|
|
| |
caches were off, so everything will be slow as shit.
|
| |
|
| |
|
| |
|
|
|
|
| |
* make ARM9-only instructions fail on ARM7
|
|
|
|
| |
also make them ARM9-only.
|
| |
|
|
|