Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

3DS Hello Dlang: Difference between revisions

From GameBrew
No edit summary
No edit summary
 
(One intermediate revision by the same user not shown)
Line 2: Line 2:
|title=3DS Hello Dlang
|title=3DS Hello Dlang
|image=3dshellodlang2.png
|image=3dshellodlang2.png
|description=A 3DS homebrew example written in D!.
|description=A 3DS homebrew example written in D.
|author=TheGag96
|author=TheGag96
|lastupdated=2023/09/24
|lastupdated=2023/09/24
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).
==Building==
Instructions on how to set this up are available in the [https://github.com/TheGag96/3ds-hello-dlang repository page].


==Known issues==
==Known issues==

Latest revision as of 10:14, 7 July 2024

3DS Hello Dlang
3dshellodlang2.png
General
AuthorTheGag96
TypeDemos
Version2023
LicenseMixed
Last Updated2023/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

Advertising: