Open Eeems opened 4 years ago
I've never used it before so I can't make an accurate statement about it. It shouldn't be unfeasible to get it to work.
I haven't checked the source code but here is some advice if you're planning to roll a customized backend for the 3DS:
The 3DS is running applications on an ARM11 processor, so you're going to need a cross compiler. devkitPro's devkitARM is the recommended choice due to the group having a strong focus on creating an ecosystem for console homebrew.
While devkitPro tries their hardest to provide POSIX-like environments to those proprietary architectures which have barely anything with POSIX in common. pthreads
, for example, can't be used for the 3DS due to the incompatible nature of how 3DS threading works. Keep in mind that there are certain features of Python which, as a result of that, need to be reimplemented with native 3DS interfaces, as exposed by ctrulib.
As you might want to interface with 3DS services via IPC, it should be considered to roll Python bindings to ctrulib.
My fork of CPython is more recent than the patches in the 3DS.py repository. If you're looking for reference implementations of certain functionality, such as threading or condition variables, you're better off diffing the 3ds
branch against the 3.6
branch (of my fork) and see what's been changed.
If you're running into issues, feel free to join the 3DS.py Discord server and mention Vale#5252
for more specific help.
https://nuitka.net/
I'd be interested to know if the runtime provided by 3DS.py would work with Nuitka. If so, it would provide a mechanism to run python with better performance. I'd be interested in implementing this so that python could be used to speed up development on things that don't require as tight an integration as C/C++.