09-19-2022, 02:51 AM
I know it looks kinda dumb to post this here instead of some Besta translator user group but Besta's involvement in Prime probably made the G1 the most popular Besta RTOS device out there and ironically made the Prime community the best (both in terms of size and enthusiasm) Besta RTOS user group. So I figured that someone here might be interested in this.
So I have this project that studies how to make homebrews for Besta RTOS. So far there has been quite a lot of progress in uncovering the inner working of the OS and documenting syscalls. I have a working toolchain and a newlib port that is still a bit incomplete but functional. There's also a really bad MicroPython port that I just thrown together to see if it works.
I'm currently working on documenting the threading API and figuring out how to port over pthread-embedded so I can finally build GCC with --enable-threads=posix and hopefully have a less C C++ support. After that I might try to get SDL2 and friends working and finally write/port some games to Besta RTOS to show that it's not a giant waste of time (/s).
I don't really know what this will bring to Prime (specifically G1) since I'm more of a Casio guy but things that I can think of including dual booting (hard because armfir loads to a fixed address instead of using relocations, but not impossible with some trickery or MMU+syscall data proxy), native app loader within armfir (needs some modding to armfir but the OS machinery for loading a second binary should still be intact so we more or less just need a UI), and of course, native apps that are not bare-metal like **cough** ripem **cough**.
The project is here https://github.com/Project-Muteki if anyone is interested. Currently there's no instruction (still need time and motivation to write that!) so people who are curious still needs to figure out how to set it up by looking at code and the docs.
(Hint: the target name is arm-none-bestaeabi- and muteki-shims should be built with a bootstrap GCC before newlib)
So I have this project that studies how to make homebrews for Besta RTOS. So far there has been quite a lot of progress in uncovering the inner working of the OS and documenting syscalls. I have a working toolchain and a newlib port that is still a bit incomplete but functional. There's also a really bad MicroPython port that I just thrown together to see if it works.
I'm currently working on documenting the threading API and figuring out how to port over pthread-embedded so I can finally build GCC with --enable-threads=posix and hopefully have a less C C++ support. After that I might try to get SDL2 and friends working and finally write/port some games to Besta RTOS to show that it's not a giant waste of time (/s).
I don't really know what this will bring to Prime (specifically G1) since I'm more of a Casio guy but things that I can think of including dual booting (hard because armfir loads to a fixed address instead of using relocations, but not impossible with some trickery or MMU+syscall data proxy), native app loader within armfir (needs some modding to armfir but the OS machinery for loading a second binary should still be intact so we more or less just need a UI), and of course, native apps that are not bare-metal like **cough** ripem **cough**.
The project is here https://github.com/Project-Muteki if anyone is interested. Currently there's no instruction (still need time and motivation to write that!) so people who are curious still needs to figure out how to set it up by looking at code and the docs.
(Hint: the target name is arm-none-bestaeabi- and muteki-shims should be built with a bootstrap GCC before newlib)