I’ve been decompiling a PS1 era game for the past year or so, and it was so nice to find Sony used GCC as their compiler. There’s a significant number of MIPS tools in GCC that still work, the source and patches from that version still exist, and are open source. PS2 seems similar, but for the PSP they chose MetroWorks instead, which introduces some challenges, primarily just knowing quirks about the compiler.
I wouldn’t be surprised if most languages supported by GCC (and possibly clang as a front end) could target many older systems as long as the runtime can be statically compiled into the final binary.
I did this with CDs while working on Dreamcast homebrew, but the PS2 had USB on the front, I'd think you would want to move towards boot from whatever you can and read from USB as soon as you could. Cause writing discs every time sucks.
wow I love this. jumping into something you know nothing about and doing it just because you can. I have only the most tangential experience with PS2 development but I remember it being very quirky even with the Linux environment. Nice job!
Indeed. I love seeing endeavours like this one, not only out of interest but also as a personal reflection.
For example, my first reaction to the article was "what is the end goal? Is there a market"? It made me realize that what originally drew me to programming is gone, and I adapted a mindset that makes me more concerned about whether the projects I work on during my free time align with my career goals and image that I'm trying to promote.
I got so career-oriented to the point that what originally drew me to programming is gone.
Very nice overview on the whole process, congrats on what was achieved and next steps.
We need more this kind of projects.
Also an heads up that besides TinyGo, there is indeed another baremetal Go version available being used in commercial products, TamaGo.
Although probably it would have been more challenging as TinyGo allowed for on this project.
https://www.osfc.io/2024/talks/tamago-bare-metal-go-for-arm-...
https://www.withsecure.com/en/solutions/innovative-security-...
https://github.com/usbarmory/tamago
I’ve been decompiling a PS1 era game for the past year or so, and it was so nice to find Sony used GCC as their compiler. There’s a significant number of MIPS tools in GCC that still work, the source and patches from that version still exist, and are open source. PS2 seems similar, but for the PSP they chose MetroWorks instead, which introduces some challenges, primarily just knowing quirks about the compiler.
I wouldn’t be surprised if most languages supported by GCC (and possibly clang as a front end) could target many older systems as long as the runtime can be statically compiled into the final binary.
Nintendo also shipped GCC for the Nintendo 64 (if you weren't using SGI machines and the included SGI compiler)
The MIPS support must've been quite mature between those two platforms. Especially by the time the PS2 came out
I think it still doesn't count until you burn a DVD that works on real hardware each time after an attempted compilation :)
I did this with CDs while working on Dreamcast homebrew, but the PS2 had USB on the front, I'd think you would want to move towards boot from whatever you can and read from USB as soon as you could. Cause writing discs every time sucks.
At least the slims have Ethernet too, maybe you could download code to memory
It's about a journey not a destination, you know?
I would even use this for a game jam! Keep at it.
wow I love this. jumping into something you know nothing about and doing it just because you can. I have only the most tangential experience with PS2 development but I remember it being very quirky even with the Linux environment. Nice job!
Indeed. I love seeing endeavours like this one, not only out of interest but also as a personal reflection.
For example, my first reaction to the article was "what is the end goal? Is there a market"? It made me realize that what originally drew me to programming is gone, and I adapted a mindset that makes me more concerned about whether the projects I work on during my free time align with my career goals and image that I'm trying to promote.
I got so career-oriented to the point that what originally drew me to programming is gone.
https://justforfunnoreally.dev/