https://github.com/blocksds/libteak
Library to develop applications for the Teak DSP of the DSi and 3DS.
https://github.com/blocksds/libteak
Last synced: 12 months ago
JSON representation
Library to develop applications for the Teak DSP of the DSi and 3DS.
- Host: GitHub
- URL: https://github.com/blocksds/libteak
- Owner: blocksds
- Created: 2023-11-27T01:35:10.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-12-01T03:24:51.000Z (over 1 year ago)
- Last Synced: 2024-12-01T04:24:56.614Z (over 1 year ago)
- Language: CSS
- Homepage: https://blocksds.github.io/docs/libteak/index.html
- Size: 141 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: licenses/Zlib.txt
Awesome Lists containing this project
README
# libteak
## 1. Introduction
This is a library to help develop applications for the DSP that comes with the
DSi and 3DS consoles. It is provided as part of
[BlocksDS](https://github.com/blocksds/sdk), but it can also be used as a
standalone library.
- [Documentation](https://blocksds.skylyrac.net/docs/libteak/index.html)
- [Examples](https://github.com/blocksds/sdk/tree/master/examples/dsp)
## 2. Setup
The Teak toolchain is currently only distributed by
[Wonderful Toolchain](https://wonderful.asie.pl). You will need to install the
Teak toolchain of Wonderful Toolchains. Follow the instructions in this link:
https://wonderful.asie.pl/docs/getting-started/
Note that the Teak toolchain is currently only available on Linux, not Windows.
Now, install the Teak toolchain of Wonderful Toolchains:
```bash
wf-pacman -Syu
wf-pacman -S toolchain-llvm-teak-llvm
```
Finally, build the library:
```bash
make
```
## 3. Editing assembly files
The assembler of the Teak toolchain doesn't support expanding C-style defines
and macros. Using magic numbers in the code is bad practice, so this repository
has a simple python script (in the folder `tools`) that is used to preprocess
assembly files and expand simple expressions.
All files stored in the `asm` folder are preprocessed and saved to the `source`
folder. Both files are present in the repository because that way python 3 isn't
a dependency required to build the library. However, it is required if you want
to modify the assembly files of the library.