<feed xmlns='http://www.w3.org/2005/Atom'>
<title>melonDS/src/ARMJIT_A64, branch master</title>
<subtitle>modified version of melonDS used for school/vsr</subtitle>
<id>https://git.pipeframe.xyz/fork/melonDS/atom?h=master</id>
<link rel='self' href='https://git.pipeframe.xyz/fork/melonDS/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.pipeframe.xyz/fork/melonDS/'/>
<updated>2023-12-28T13:54:31+00:00</updated>
<entry>
<title>Resolve or silence some warnings (#1905)</title>
<updated>2023-12-28T13:54:31+00:00</updated>
<author>
<name>Jesse Talavera</name>
<email>jesse@jesse.tg</email>
</author>
<published>2023-12-28T13:54:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.pipeframe.xyz/fork/melonDS/commit/?id=a4b2b0c40df15713a5efa114310bf78fd369d0f4'/>
<id>urn:sha1:a4b2b0c40df15713a5efa114310bf78fd369d0f4</id>
<content type='text'>
* Resolve some warnings

- Their frequent appearance in the build logs is driving me nuts

* Silence warnings about `offsetof`

* Don't apply `-Wno-invalid-offset` to C, only to C++</content>
</entry>
<entry>
<title>Sprinkle `const` around where appropriate (#1909)</title>
<updated>2023-12-12T10:07:22+00:00</updated>
<author>
<name>Jesse Talavera</name>
<email>jesse@jesse.tg</email>
</author>
<published>2023-12-12T10:07:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.pipeframe.xyz/fork/melonDS/commit/?id=9bfc9c08ffe88de4b54734d6fd03182c0a51e181'/>
<id>urn:sha1:9bfc9c08ffe88de4b54734d6fd03182c0a51e181</id>
<content type='text'>
* Sprinkle `const` around where appropriate

- This will make it easier to use `NDS` objects in `const` contexts (e.g. `const` parameters or methods)

* Remove the `const` qualifier on `DSi_DSP::DSPRead16`

- MMIO reads can be non-pure, so this may not be `const` in the future</content>
</entry>
<entry>
<title>Correctly use the refactored `JitEnableWrite`</title>
<updated>2023-12-08T16:19:00+00:00</updated>
<author>
<name>Jesse Talavera-Greenberg</name>
<email>jesse@jesse.tg</email>
</author>
<published>2023-12-05T22:35:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.pipeframe.xyz/fork/melonDS/commit/?id=bbecab6cb01706dab18cabed24aaa7458d280b61'/>
<id>urn:sha1:bbecab6cb01706dab18cabed24aaa7458d280b61</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Exclude JIT-related declarations more aggressively</title>
<updated>2023-12-08T16:19:00+00:00</updated>
<author>
<name>Jesse Talavera-Greenberg</name>
<email>jesse@jesse.tg</email>
</author>
<published>2023-12-06T14:19:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.pipeframe.xyz/fork/melonDS/commit/?id=53e5aa62983dd2db68ac78c2a1272aba456362e6'/>
<id>urn:sha1:53e5aa62983dd2db68ac78c2a1272aba456362e6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add `override` to the ARM64 JIT's destructor</title>
<updated>2023-12-08T16:19:00+00:00</updated>
<author>
<name>Jesse Talavera-Greenberg</name>
<email>jesse@jesse.tg</email>
</author>
<published>2023-12-06T14:17:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.pipeframe.xyz/fork/melonDS/commit/?id=733769303c8f6f422b0e837add453406b9da6720'/>
<id>urn:sha1:733769303c8f6f422b0e837add453406b9da6720</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove the last `ConfigEntry` state (#1902)</title>
<updated>2023-12-05T15:47:16+00:00</updated>
<author>
<name>Jesse Talavera</name>
<email>jesse@jesse.tg</email>
</author>
<published>2023-12-05T15:47:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.pipeframe.xyz/fork/melonDS/commit/?id=090627b3c19488e36677113e2f1ac16bdb4e2d05'/>
<id>urn:sha1:090627b3c19488e36677113e2f1ac16bdb4e2d05</id>
<content type='text'>
* Get rid of `ConfigEntry::ExternalBIOSEnable`

- Now the BIOS files themselves are checked
- The frontend's `Config::ExternalBIOSEnable` is not affected

* Add `JITArgs`

* Pass the JIT status to the `ARM` constructors

* Encapsulate `NDS::EnableJIT`

* Pass `JITArgs` to `ARMJIT`'s constructor

* Remove the `JIT_*` `ConfigEntry`s in favor of members

- Allow all the JIT args to be set with `NDS::SetJITArgs`
- Encapsulate the JIT-related parameters in `ARMJIT` so they can reset the block cache if changed
- Update the active (or newly-created) console in the frontend with adjusted JIT args

* Make audio bit depth and interpolation configurable in `NDSArgs`

- Define enums for both
- Give those settings default values in `NDSArgs`
- Remove `ConfigEntry::AudioBitDepth`
- Initialize these settings in the relevant SPU constructors

* Move the last DSi-specific logic in `Reset` to its own subclass

* Remove `ConfigEntry::DSi_FullBIOSBoot`

- Add members to `DSi` instead for getting and setting this
- Update the frontend to accommodate these changes

* Oops, missed a spot

* Remove `ConfigEntry::Firm_MAC` and `Platform::GetConfigArray`

- Also move the MAC parsing code to `ROMManager`

* Remove the last `ConfigEntry` state

- Make GDB support configurable via members

* Add some `#ifdef`s that I'd almost forgotten</content>
</entry>
<entry>
<title>Refactor `NDS` and `DSi` to be objects (#1893)</title>
<updated>2023-11-28T22:16:41+00:00</updated>
<author>
<name>Jesse Talavera-Greenberg</name>
<email>jesse@jesse.tg</email>
</author>
<published>2023-11-28T22:16:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.pipeframe.xyz/fork/melonDS/commit/?id=e973236203292637eb7bd009a4cfbd6fd785181f'/>
<id>urn:sha1:e973236203292637eb7bd009a4cfbd6fd785181f</id>
<content type='text'>
* 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&amp;` or `DSi&amp;` 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`</content>
</entry>
<entry>
<title>Move all core types into namespaces (#1886)</title>
<updated>2023-11-25T17:32:09+00:00</updated>
<author>
<name>Jesse Talavera-Greenberg</name>
<email>jesse@jesse.tg</email>
</author>
<published>2023-11-25T17:32:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.pipeframe.xyz/fork/melonDS/commit/?id=346dd4006ea1283136095d5c43f602324a095092'/>
<id>urn:sha1:346dd4006ea1283136095d5c43f602324a095092</id>
<content type='text'>
* 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</content>
</entry>
<entry>
<title>Refactor the JIT to be object-oriented (#1879)</title>
<updated>2023-11-18T15:40:54+00:00</updated>
<author>
<name>Jesse Talavera-Greenberg</name>
<email>jesse@jesse.tg</email>
</author>
<published>2023-11-18T15:40:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.pipeframe.xyz/fork/melonDS/commit/?id=544fefa27f698f3a0d799a782dc03d3eb47561db'/>
<id>urn:sha1:544fefa27f698f3a0d799a782dc03d3eb47561db</id>
<content type='text'>
* Move TinyVector to a new file

- So it's less sensitive to #include ordering

* Forgot to include assert.h

* Refactor ARMJIT_Memory into an object

* Oops, forgot a declaration

* Refactor ARMJIT to be contained in an object

* Remove an unused function declaration

* Add a missing #include

* Remove a now-unused global

* Use ARMJIT_Memory's own memory access functions

* Fix some omissions in the ARM JIT

* Move libandroid to be a member of ARMJIT_Memory instead of a global

* Default-initialize most fields in ARMJIT_Compiler.h

* Define NOOP_IF_NO_JIT

* Finish refactoring the JIT to be object-oriented</content>
</entry>
<entry>
<title>Also exclude .note.GNU-stack section on Windows arm64</title>
<updated>2023-11-07T09:53:01+00:00</updated>
<author>
<name>Nadia Holmquist Pedersen</name>
<email>nadia@nhp.sh</email>
</author>
<published>2023-11-07T09:53:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.pipeframe.xyz/fork/melonDS/commit/?id=24a33e505e2b4757dd6bbdd3afc10fba67b304f4'/>
<id>urn:sha1:24a33e505e2b4757dd6bbdd3afc10fba67b304f4</id>
<content type='text'>
</content>
</entry>
</feed>
