nothing to be seen here yet. LEAVE
But if you are curious (probably not), read ahead
- LLVM 18.1.7
- GCC 14.1.0
In theory, any toolchain supporting at least the c++23 standard should work. I am using LLVM's clang and libcxx as the primary toolchain.
Name | Version | Required? | Purpose |
---|---|---|---|
catch2 | >= 3.4 | no | for tests |
This goes without saying but using a different toolchain to compile these libraries before linking probably won't work.
-
CPU
-
Arm
- Dissassembler
- Execution
-
Thumb
- Dissassembler
- Execution
-
-
Bus
- Cycle counting with CPU
- Reading memory
- Writing memory
-
Scheduler (maybe?)
- Sync PPU and CPU
- Sync APU and CPU
- Sync other stuff
-
I/O
- PPU
- APU
- Timers
- DMA
- Keypad
-
Debugging
- GDB Remote Serial Protocol support
-
Misc
- Save/Load states
- Header Parsing
-
Internal utilities
- Bit manipulation
- A global logger
- TCP Server (for GDB RSP)
- SHA256 hash (why? idk)
- CPU
- Arm
- Disassembler
- Execution
- Thumb
- Disassembler
- Execution
- Arm
- Bus
- Memory read/writes
- Cycle Counting
- Some internal utility tests (idk why)
- June 11, 2024: After almost an year, I have come back to this silly abandoned project, will probably complete it soon.
- June 16, 2024: I ought to complete this soon