Commit graph

10 commits

Author SHA1 Message Date
Ronald Caesar
58587bf754 arm64: Renames the aarch64 directory to arm64
The term "aarch64" is the formal name for Armv8-A architecture. However,
I found that the establish convention across the wider open source
ecosystem is to use the short name "arm64".

Signed-off-by: Ronald Caesar <github43132@proton.me>
2025-08-16 17:37:12 -04:00
Ronald Caesar
e7b5349980 aarch64/mem: Introduce a dedicated guest memory access layer
This commit introduces a proper abstraction layer for all read and write
operations.

The previous approach of directly calculating a Host Virtual Address
(HVA) from a Guest Physical Address (GPA) via gpa_to_hva() forces every
part of the emulator that touches guest memory to be aware of the
underlying host pointer, which is poor design.

This new layer introduces a suite of guest_mem_read{b,w,l,q} and
guest_mem_write{b,w,l,q} fuctions. All future memory accesses from the
emulated CPU should be performed through these functions.

The code has also been moved into the pound::aarch64 namespace for
better organization.

Signed-off-by: Ronald Caesar <github43132@proton.me>
2025-08-14 20:07:29 -04:00
Ronald Caesar
36bce8fa0a
gui: add asserts to guarantee behaviour
Signed-off-by: Ronald Caesar <github43132@proton.me>
2025-08-10 02:10:06 -04:00
Ronald Caesar
b38dce4ef1
gui: remove unnecessary blank line
Signed-off-by: Ronald Caesar <github43132@proton.me>
2025-08-10 02:10:06 -04:00
Ronald Caesar
6dbe756b2b
gui: updated gui_t code example docs
gui::init() was removed in favour of gui::init_imgui() and the docs for
gui_t was not updated to reflect the change.

Signed-off-by: Ronald Caesar <github43132@proton.me>
2025-08-10 02:10:06 -04:00
Sinan Karakaya
fc7746e3a9
fix(gui): changed OpenGL version for macOS x64 and ARM 2025-08-06 17:58:42 +02:00
Ronald Caesar
ba45834583
feat!: rewrote program in a data oriented style.
This is because the source code is objected oriented which is not cpu cache
friendly, making the program slower than it has to be. Yuzu's entire
codebase is written in a objected oriented way and I wonder how much faster
it could if they had use DoD principles from the very beginning.

That's why I want to instill DoD fundamentals early on so this won't be a
problem going forward.

Signed-off-by: Ronald Caesar <github43132@proton.me>
2025-08-02 04:05:05 -04:00
GloriousTacoo
f69c918186
Revert "feat(gui): Enhance CPU panel with state management and GUI improvements" 2025-07-09 16:56:01 -04:00
Carlo Pezzotti
85559e249b feat(gui): Enhance CPU panel with state management and GUI improvements 2025-07-09 11:51:13 +02:00
Carlo Pezzotti
2bb666a088 feat(gui): Extract and modularize GUI system from main.cpp
- Create modular GUI architecture with base Panel class
- Implement GUIManager to handle window lifecycle and panel management
- Add Window wrapper class for SDL3/OpenGL context management
- Create specialized panels:
  - ConsolePanel: Colored log output with timestamps
  - CPUPanel: CPU debugging with tabs for registers, memory, and disassembly
  - PerformancePanel: Real-time FPS and frame time monitoring
- Apply modern dark theme with purple accents
- Add comprehensive menu bar (File, Emulation, View, Tools, Help)
- Update CMakeLists.txt to include new gui/ directory structure
- Refactor main.cpp to use the new GUI system
- Cutom theme on switch colors
2025-07-09 09:07:32 +02:00