melonDS/src/teakra/src
Nadia Holmquist Pedersen 21e2a876ec build teakra's test_generator.cpp only if building its unit tests is
enabled

speeds up builds a bit
2024-02-24 01:47:04 +01:00
..
coff_reader Add PoroCYon's DSP code. (#1123) 2021-06-06 18:27:26 +02:00
dsp1_reader Add PoroCYon's DSP code. (#1123) 2021-06-06 18:27:26 +02:00
makedsp1 Add PoroCYon's DSP code. (#1123) 2021-06-06 18:27:26 +02:00
mod_test_generator Add PoroCYon's DSP code. (#1123) 2021-06-06 18:27:26 +02:00
step2_test_generator Add PoroCYon's DSP code. (#1123) 2021-06-06 18:27:26 +02:00
test_generator Add PoroCYon's DSP code. (#1123) 2021-06-06 18:27:26 +02:00
test_verifier Add PoroCYon's DSP code. (#1123) 2021-06-06 18:27:26 +02:00
ahbm.cpp Add PoroCYon's DSP code. (#1123) 2021-06-06 18:27:26 +02:00
ahbm.h Add PoroCYon's DSP code. (#1123) 2021-06-06 18:27:26 +02:00
ahbm.md Add PoroCYon's DSP code. (#1123) 2021-06-06 18:27:26 +02:00
apbp.cpp comment out semaphore shit in teakra 2022-10-25 00:09:43 +02:00
apbp.h Add PoroCYon's DSP code. (#1123) 2021-06-06 18:27:26 +02:00
apbp.md Add PoroCYon's DSP code. (#1123) 2021-06-06 18:27:26 +02:00
bit.h Add PoroCYon's DSP code. (#1123) 2021-06-06 18:27:26 +02:00
btdmp.cpp more fun DSP fixes 2022-10-17 20:16:19 +02:00
btdmp.h more fun DSP fixes 2022-10-17 20:16:19 +02:00
btdmp.md Add PoroCYon's DSP code. (#1123) 2021-06-06 18:27:26 +02:00
CMakeLists.txt build teakra's test_generator.cpp only if building its unit tests is 2024-02-24 01:47:04 +01:00
common_types.h Add PoroCYon's DSP code. (#1123) 2021-06-06 18:27:26 +02:00
core_timing.h Add PoroCYon's DSP code. (#1123) 2021-06-06 18:27:26 +02:00
crash.h Add PoroCYon's DSP code. (#1123) 2021-06-06 18:27:26 +02:00
cru.md Add PoroCYon's DSP code. (#1123) 2021-06-06 18:27:26 +02:00
decoder.h Add PoroCYon's DSP code. (#1123) 2021-06-06 18:27:26 +02:00
decoder.md Add PoroCYon's DSP code. (#1123) 2021-06-06 18:27:26 +02:00
disassembler.cpp Add PoroCYon's DSP code. (#1123) 2021-06-06 18:27:26 +02:00
disassembler_c.cpp Add PoroCYon's DSP code. (#1123) 2021-06-06 18:27:26 +02:00
dma.cpp Add PoroCYon's DSP code. (#1123) 2021-06-06 18:27:26 +02:00
dma.h more fun DSP fixes 2022-10-17 20:16:19 +02:00
dma.md Add PoroCYon's DSP code. (#1123) 2021-06-06 18:27:26 +02:00
icu.h Add PoroCYon's DSP code. (#1123) 2021-06-06 18:27:26 +02:00
icu.md Add PoroCYon's DSP code. (#1123) 2021-06-06 18:27:26 +02:00
interpreter.h more fun DSP fixes 2022-10-17 20:16:19 +02:00
matcher.h Add PoroCYon's DSP code. (#1123) 2021-06-06 18:27:26 +02:00
memory_interface.cpp Add PoroCYon's DSP code. (#1123) 2021-06-06 18:27:26 +02:00
memory_interface.h Add PoroCYon's DSP code. (#1123) 2021-06-06 18:27:26 +02:00
miu.md Add PoroCYon's DSP code. (#1123) 2021-06-06 18:27:26 +02:00
mmio.cpp more fun DSP fixes 2022-10-17 20:16:19 +02:00
mmio.h Add PoroCYon's DSP code. (#1123) 2021-06-06 18:27:26 +02:00
mmio.md Add PoroCYon's DSP code. (#1123) 2021-06-06 18:27:26 +02:00
ocem.md Add PoroCYon's DSP code. (#1123) 2021-06-06 18:27:26 +02:00
operand.h Add PoroCYon's DSP code. (#1123) 2021-06-06 18:27:26 +02:00
parser.cpp Add PoroCYon's DSP code. (#1123) 2021-06-06 18:27:26 +02:00
parser.h Add PoroCYon's DSP code. (#1123) 2021-06-06 18:27:26 +02:00
pmu.md Add PoroCYon's DSP code. (#1123) 2021-06-06 18:27:26 +02:00
processor.cpp Add PoroCYon's DSP code. (#1123) 2021-06-06 18:27:26 +02:00
processor.h Add PoroCYon's DSP code. (#1123) 2021-06-06 18:27:26 +02:00
processor_general.md Add PoroCYon's DSP code. (#1123) 2021-06-06 18:27:26 +02:00
README.md Add PoroCYon's DSP code. (#1123) 2021-06-06 18:27:26 +02:00
register.h Add PoroCYon's DSP code. (#1123) 2021-06-06 18:27:26 +02:00
register.md Add PoroCYon's DSP code. (#1123) 2021-06-06 18:27:26 +02:00
shared_memory.h more DSP unfucking: make Teakra directly use melonDS's NWRAM banks instead of trying to translate to a flat buffer, fixes bugs with the way the memory banks are ordered etc 2022-10-14 00:02:54 +02:00
sio.md Add PoroCYon's DSP code. (#1123) 2021-06-06 18:27:26 +02:00
teakra.cpp more DSP unfucking: make Teakra directly use melonDS's NWRAM banks instead of trying to translate to a flat buffer, fixes bugs with the way the memory banks are ordered etc 2022-10-14 00:02:54 +02:00
teakra_c.cpp Add PoroCYon's DSP code. (#1123) 2021-06-06 18:27:26 +02:00
test.h Add PoroCYon's DSP code. (#1123) 2021-06-06 18:27:26 +02:00
test_generator.cpp Add PoroCYon's DSP code. (#1123) 2021-06-06 18:27:26 +02:00
test_generator.h Add PoroCYon's DSP code. (#1123) 2021-06-06 18:27:26 +02:00
timer.cpp Add PoroCYon's DSP code. (#1123) 2021-06-06 18:27:26 +02:00
timer.h Add PoroCYon's DSP code. (#1123) 2021-06-06 18:27:26 +02:00
timer.md Add PoroCYon's DSP code. (#1123) 2021-06-06 18:27:26 +02:00

Content

  • main library
    • processor related
      • operand: defines basic operand types used in instructions
      • matcher and decoder: decodes binary instructions into opcodes and operands
      • disassembler: translate binary instructions to (pseudo-)assembly.
      • parser: translate (pseudo-)assembly to binary instructions
      • interpreter: executes instructions
      • register: defines all register states in the processor
      • processor: wrapper of interpreter and register as a processor emulator
      • test_generator: generates test cases information for the instruction set
    • peripherals
      • AHBM: interface for accessing external memory (DSi/3DS main memory)
      • APBP: interface for communication with CPU (ARM in DSi/3DS)
      • BTDMP: audio input/output ports
      • DMA: engine for transferring large data between DSP memory and external memory
      • ICU: interrupt controller unit
      • timer
      • MMIO: I/O ports for all peripherals
      • shared_memory: the DSP working memory
      • memory_interface: the memory space exposed to the processor and related control
  • Tools
    • coff_reader: disassembles and parses symbols COFF files leaked by some DSi applications
    • dsp1_reader: disassembles DSP1 files, DSP binary for 3DS applications
    • makedsp1: assembles DSP1 files
    • test_generator: generate random test cases for processor instructions.
    • mod_test_generator & step2_test_generator: similar to test_generator, but dedicated for mod/step2 related instructions
    • test_verifier: verify test cases on the interpreter against the result generated from 3DS