Pokémon Crystal gets a PC port titled "suiCune" based on C/C++ language

1779985815687.png

Continuing with the great news of Pokémon Platinum getting a native unofficial PC port just a few days ago, today, yet another classic title from the franchise has made its debut on PC hardware as well, with the latest title being none other than Pokémon Crystal.

Originally started out by developer froggestspirit with the title "suiCune", a Crystal PC port was already being planned out since 2022 based on the PRET (Pokemon Reverse Engineering Team) project for Crystal, but it got archived in February 22 of that same year after just a few commits on the repository. After that, developers DanZC and wowjinxy then forked the repository and continued where froggestpirit left off, working hard to convert the original Z80 assembly code into C/C++ language for a proper PC port. The game was rewritten in C99 and it uses SDL2 to emulate some of the aspects of the original game, like the audio and graphics, The project also restores the networking functionality of the original Mobile Adapter GB for Crystal, using libmobile to recreate the servers and restore that function to the game.

wowjinxy said:
This is suiCune, a project that took two years to actually get done. Unlike other ports for games, this is quite different. Games on most platforms tend to use C/C++, but back in the 90s for a platform such as GBC that just wasn't possible. So all of the code written was gbz80 assembly. That means that there isn't any direct way to compile to PC. Instead, suiCune had every single function hand written to match the exact logic of the assembly. It would be one thing to stop there, however we also kept save compatibility with the original pokemon crystal and got native online working by using REON, an open source reimplementation of the GameBoy's network adapter.

We are still working on it a bit here and there, although we have begun working on some other PC ports as well.

Those willing to give the PC port a try, can do so by compiling the source code directly from DanZC's GitHub repository, and as with every other PC port, decomp or recomp project, the user is required to bring their own ROM for the assets of the original game to be able to compile the project.

:arrow: Source
 
Fantastic. I wonder how long it'll take to get AP to use this version? Probably a few years, but the heads up is always appreciated. Out of curiosity, what prodded this particular post given that the github in question hasn't been modified in 2 months? Looking forward to hearing about this, definitely. Crystal is one of my favorite AP games.
 
  • Like
Reactions: bonkmaykr
Oh look, an actual decompiltion and port to PC that didn't use leaked source code or bundle completed copies next to it. if only this happened with the last one related to pokemon.
There's interest in inner development groups to work over the PRET project for Platinum to make a PC port too, so that will come eventually.
 
Wow, would like to see it ported to PS4/PS5.

Nintendo mustn't be happy that their games are getting PC ports. 🤣
 
he user is required to bring their own ROM for the assets of the original game to be able to compile the project.
Wonderful, I can use my crystal to make this software work. I haven't finished a Gen II (let alone HGSS), but I want to try this out!
 
Their fault for not making them in the first place.
Yep. I know they'll say exclusivity, but these are old games and they've not ported to their modern systems or anything.

They should just accept PC as a platform to release some games while keeping the Switch (2) as their main gaming system for people to find new exclusives.
 
Fantastic. I wonder how long it'll take to get AP to use this version? Probably a few years, but the heads up is always appreciated. Out of curiosity, what prodded this particular post given that the github in question hasn't been modified in 2 months? Looking forward to hearing about this, definitely. Crystal is one of my favorite AP games.
It likely won't as looking through the repository, it contains a significant amount of the game's assets, which violates AP (and general copyright) rules.
 
I am nitpicking here. But calling this "C/C++" is a little misleading because here it would imply both are the same language. They're not. This is not written in C++ (the 1% C++ in the Github language detector is a false positive). It wouldn't make any sense to do so if the whole point were to recreate the game from the original Assembly. The reason you would use C++ to make a game is to handle all of the type boilerplate needed to more easily allow a computer to work with "human" concepts, things like virtual tables, templates and so on. If you are converting from Assembly then these things either already exist in your code and you don't need C++ to handle that program architecture for you, or the same thing is accomplished using a different programming paradigm that C++ doesn't make any easier because it's written specifically with a CPU in mind. Either way it's smarter to go with C for a conversion like this because it solves the portability problem better than C++ would, as C++ is a ridiculously complex language compared to C and does not have many good implementations... If you want to get this game running on as many devices as possible, C++ would be unnecessarily complicating things.

Anyway, cool project, will try it out.
 
This is incredible, thank you all involved!

Oh look, an actual decompiltion and port to PC that didn't use leaked source code or bundle completed copies next to it. if only this happened with the last one related to pokemon.
Crystal source code wasn't leaked in the first place (and if it was and I missed it), can't be used as is since it's asm for a specific processor... all explained by the OP. The decompilation was already done.

Platinum on the otherhand is written in C, so might as well use the leaked official code (unless you won't be able to live with the guilt - I don't mind personally), I don't think the the fan decomp is complete / as nice as the gb/gba decomps.
 

Site & Scene News

Popular threads in this forum