Commit graph

47 commits

Author SHA1 Message Date
Sinan
a05e4c88a1
Feat: added support for std::allocator (#65)
* feat(memory): added arena_allocator for STL data types support
* fix(memory): fixed arena_allocate offset compute
2025-08-10 06:54:02 +00:00
Ronald Caesar
1300cc1535
aarch64: fix include file in jit
Signed-off-by: Ronald Caesar <github43132@proton.me>
2025-08-10 02:42:27 -04:00
Ronald Caesar
59e812bc63
aarch64: move cpu files to a new folder
The aarch64 folder will hold all cpu code from now on.

Signed-off-by: Ronald Caesar <github43132@proton.me>
2025-08-10 02:25:47 -04:00
Ronald Caesar
b41e8b9d4f
memory: updated arena_init() docs
arena_init() has been given the parameter `size_t capacity`, however,
docs amd some definitions wasn't changed to reflect this.

The definition MEMORY_CAPACITY was replaced by `size_t capacity` but
it wasn't removed.

Signed-off-by: Ronald Caesar <github43132@proton.me>
2025-08-10 02:10:06 -04:00
Ronald Caesar
84c55b25a9
gui: initialize structs to default value
Signed-off-by: Ronald Caesar <github43132@proton.me>
2025-08-10 02:10:06 -04:00
Sinan Karakaya
f5c383ffe6
feat(jit): added support for arm translate_and_run 2025-08-06 16:39:09 +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
Ronald Caesar
b603b978ea fix(memory): remove MAP_FAILED from windows builds
Signed-off-by: Ronald Caesar <github43132@proton.me>
2025-07-09 18:17:40 -04:00
Ronald Caesar
7897d0e2a2 fix(memory): remove the inclusion of mman.h on windows.
Signed-off-by: Ronald Caesar <github43132@proton.me>
2025-07-09 18:10:33 -04:00
Ronald Caesar
6ad2d300fb fix(memory): remove the inclusion of mman.h on windows.
Signed-off-by: Ronald Caesar <github43132@proton.me>
2025-07-09 17:56:39 -04:00
Ronald Caesar
d1ada1740a fix(memory): Fixed missing mman.h include definitions
This commit removes a custom mmap() function which was supposed
to support both windows and linux but the linux and macOS builds
failed to compile.

The custom mmap() function will be replaced by malloc() for windows
and linux's native mmap().

Signed-off-by: Ronald Caesar <github43132@proton.me>
2025-07-09 17:38:10 -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
ownedbywuigi
b7fc40f4f6 HOPEFULLY NOW IT WILL WORK I HATE NT I HATE NT I HATE NT 2025-07-08 04:22:29 +01:00
ownedbywuigi
982c0e9cd4 Modify it to use our mman.h 2025-07-08 04:13:19 +01:00
ownedbywuigi
6466c04321 replace mallo with mmao 2025-07-08 03:59:45 +01:00
Ronald Caesar
d3c97317ef filesystem: Add memory arena allocator
I wanted a fast and predictable memory allocator before I start working on the virtual filesystem.
Functions like malloc and realloc will not be used anymore, instead, the allocator will
need to be passed as a function parameter when doing any kind of heap allocation. For example

    char* create_string(Memory::Arena *allocator);
    int* create_int_array(Memory::Arena *allocator, int size);

The definition MEMORY_CAPACITY in arena.h sets the amount of memory the arena can use.
The number can be increased as needed.

Signed-off-by: Ronald Caesar <github43132@proton.me>
2025-07-07 11:37:55 -04:00
ownedbywuigi
d00414da58 Update to add a popup cautioning users of the pre-alpha state of Pound 2025-07-07 14:55:40 +01:00
Xphalnos
ab9429552f Run CPU Test from imgui 2025-06-24 19:39:52 +02:00
Chewico
cda778ff04 Implmented ImGui 2025-06-23 15:58:53 +02:00
ownedbywuigi
351b629767 rename settings to avoid build faliures 2025-06-21 15:06:37 -04:00
ownedbywuigi
dae5f47c82 Start work on a generic settings window 2025-06-21 15:02:45 -04:00
Xphalnos
ac2da6ed49 Configurable Window Size 2025-06-20 22:55:58 +02:00
Xphalnos
b6e91d47ff Reduce CPU overload 2025-06-20 22:12:34 +02:00
Xphalnos
677893b4b7 SDL3 Basic Window 2025-06-20 21:14:51 +02:00
Xphalnos
b552608b83 Add Firmware Directory 2025-06-20 20:40:27 +02:00
Xphalnos
4d4f0c8490 Reorganization of source & Clang-Format 2025-06-20 20:33:57 +02:00
Xphalnos
3693ac72cb First Work on JIT Part 2025-06-19 19:28:46 +02:00
Xphalnos
436c8d40e5 Adding Pound Icon to Executable 2025-06-18 19:09:53 +02:00
Xphalnos
014b236228 Import Strong Logger & Config System 2025-06-18 18:30:21 +02:00
Xphalnos
548b99e2e3 CMake, Big Cleanup, CI Build and 3rd_Party 2025-06-17 18:51:46 +02:00
ownedbywuigi
b7c77b2d8c Merge branch 'main' of https://github.com/OwnedByWuigi/pound 2025-06-17 10:17:47 -04:00
ownedbywuigi
40df5cfb54 Add FMT and assert.h 2025-06-17 10:17:45 -04:00
SamsonLib
9d09ba938c Still (include) build errors but should be fixed after copying assert.h (/src/common/assert.h) 2025-06-17 15:33:25 +02:00
ownedbywuigi
94cfff5edb waiter! waiter! more imports please! 2025-06-16 16:01:16 -04:00
ownedbywuigi
45f1594d91 waiter! waiter! more imports please!!! 2025-06-16 13:09:31 -04:00
ownedbywuigi
7897a88c3a Started work on the imports folder 2025-06-16 12:47:53 -04:00
SamsonLib
8c9fd88715 Fixed bug with include and printf 2025-06-14 17:22:30 +02:00
ownedbywuigi
652bb625a9 Merge branch 'main' of https://github.com/OwnedByWuigi/pound 2025-06-14 08:29:19 -04:00
ownedbywuigi
cb56e2b2d5 Rework the android port file structure 2025-06-14 08:29:16 -04:00
SamsonLib
cb485588cd Added print debug info, .write_byte and .read_byte to cpu, with boundary check and rewrote the test program to use those. 2025-06-14 13:23:11 +02:00
ownedbywuigi
e6829ef94c Edit makefile to start work on compling Yuzu's FS and start work on EmuGPU 2025-06-13 21:29:41 -04:00
ownedbywuigi
fc057169a0 Add Yuzu's file system implementation, will make it compilable later 2025-06-13 19:59:26 -04:00
SamsonLib
8bdd9468de Added Makefile and made things run on my machine (im sorry ); ) 2025-06-14 01:29:16 +02:00
ownedbywuigi
c98919cdb1 Adding folders for other parts in SW2 (getting ready) 2025-06-10 15:08:31 -04:00
ownedbywuigi
3f2d75276c Add the first files (ARMv8 basic emu) 2025-06-05 21:03:38 -04:00