More actions
No edit summary |
No edit summary |
||
Line 13: | Line 13: | ||
}} | }} | ||
This is a 3DS homebrew Hello World example coded in D, along with bindings for most of libctru and citro3d. It serves as an example of potentially write programs for the 3DS in D instead of C or C++. | This is a 3DS homebrew Hello World example coded in D, along with bindings for most of libctru and citro3d. It serves as an example of potentially write programs for the 3DS in D instead of C or C++. | ||
Instructions on how to set this up are available on the [https://github.com/TheGag96/3ds-hello-dlang repository page]. | |||
==Features== | ==Features== | ||
Line 20: | Line 22: | ||
* (Mostly complete) bindings for citro2d. | * (Mostly complete) bindings for citro2d. | ||
* Some support for core.stdc (needs to be modified to support newlib's libc implementation). | * Some support for core.stdc (needs to be modified to support newlib's libc implementation). | ||
==Known issues== | ==Known issues== |
Latest revision as of 10:14, 7 July 2024
3DS Hello Dlang | |
---|---|
General | |
Author | TheGag96 |
Type | Demos |
Version | 2023 |
License | Mixed |
Last Updated | 2023/09/24 |
Links | |
Download | |
Website | |
Source | |
This is a 3DS homebrew Hello World example coded in D, along with bindings for most of libctru and citro3d. It serves as an example of potentially write programs for the 3DS in D instead of C or C++.
Instructions on how to set this up are available on the repository page.
Features
- Using a betterC-like subset of D.
- (Mostly complete) bindings for libctru.
- (Mostly complete) bindings for citro3d.
- (Mostly complete) bindings for citro2d.
- Some support for core.stdc (needs to be modified to support newlib's libc implementation).
Known issues
- Bindings referencing things like sockets or other stuff in the C standard library are incomplete
- Certain D standard library files have to be tweaked to compile properly, not sure if it can be made better or if that's just how it has to be in this environment.
- The bindings written so far have enums renamed to fit the D naming convention, but nothing else really is. Still not sure how to clean things like that up.
- Makefile edits currently copy the path of every D source file into the compile command, which makes it HUGE... Need to figure out how to use -I properly.
Credits
External links
- GitHub - https://github.com/TheGag96/3ds-hello-dlang
- Dlang Forum - https://forum.dlang.org/post/[email protected]