Files
matar/README.md
2024-06-16 21:25:58 +05:30

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