82 lines
1.6 KiB
Markdown
82 lines
1.6 KiB
Markdown
nothing to be seen here yet. LEAVE
|
|
|
|
But if you are curious (probably not), read ahead
|
|
|
|
# Dependencies
|
|
## Tested toolchains
|
|
|
|
- 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.
|
|
|
|
## Static libraries
|
|
|
|
| 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.
|
|
|
|
# Status
|
|
- [x] CPU
|
|
|
|
- [x] Arm
|
|
- [x] Dissassembler
|
|
- [x] Execution
|
|
|
|
- [x] Thumb
|
|
- [x] Dissassembler
|
|
- [x] Execution
|
|
|
|
- [ ] Bus
|
|
- [x] Cycle counting with CPU
|
|
- [x] Reading memory
|
|
- [x] Writing memory
|
|
|
|
- [ ] Scheduler (maybe?)
|
|
- [ ] Sync PPU and CPU
|
|
- [ ] Sync APU and CPU
|
|
- [ ] Sync other stuff
|
|
|
|
- [ ] I/O
|
|
- [ ] PPU
|
|
- [ ] APU
|
|
- [ ] Timers
|
|
- [ ] DMA
|
|
- [ ] Keypad
|
|
|
|
- Debugging
|
|
- [x] GDB Remote Serial Protocol support
|
|
|
|
- Misc
|
|
- [ ] Save/Load states
|
|
- [x] Header Parsing
|
|
|
|
- Internal utilities
|
|
- [x] Bit manipulation
|
|
- [x] A global logger
|
|
- [x] TCP Server (for GDB RSP)
|
|
- [x] SHA256 hash (why? idk)
|
|
|
|
## Available unit tests so far
|
|
- CPU
|
|
- Arm
|
|
- Disassembler
|
|
- Execution
|
|
- Thumb
|
|
- Disassembler
|
|
- Execution
|
|
- Bus
|
|
- Memory read/writes
|
|
- Cycle Counting
|
|
- Some internal utility tests (idk why)
|
|
|
|
|
|
-----
|
|
|
|
# LOG
|
|
- 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
|