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
 
How did you feed the whole source code to Claude so it could port it in one prompt?
I did not use Claude, I used codex. I gave it the URL to the Git repo and told it to clone the repo and analyze the repo.

Here is the full prompt:


[The is a github repo to a PC port of Pokemon crystal:
DanZC/suiCune (URL: https://github.com/DanZC/suiCune)

Here is the path to a rom that I think should be compatible:
'*path to rom*'

Clone the repo and then research it extensively to find out what's needed for us to port it to MacOS (ARM64). I give you full access to install whatever Dev tools you need for this project.

The goal is a fully functional MacOS port with graphics and audio and saving working, all packaged neatly into a .app bundle.]
Post automatically merged:

Widescreen :)
 

Attachments

  • Screenshot 2026-06-01 at 17.05.49.png
    Screenshot 2026-06-01 at 17.05.49.png
    140.7 KB · Views: 1
Last edited by Givemesteak,
  • Like
Reactions: ShadowOne333
I did not use Claude, I used codex. I gave it the URL to the Git repo and told it to clone the repo and analyze the repo.

Here is the full prompt:


[The is a github repo to a PC port of Pokemon crystal:
DanZC/suiCune (URL: https://github.com/DanZC/suiCune)

Here is the path to a rom that I think should be compatible:
'*path to rom*'

Clone the repo and then research it extensively to find out what's needed for us to port it to MacOS (ARM64). I give you full access to install whatever Dev tools you need for this project.

The goal is a fully functional MacOS port with graphics and audio and saving working, all packaged neatly into a .app bundle.]
Post automatically merged:

Widescreen :)
Try that same prompt but with /goal in front of it as well it will keep going without further prompts ;)
 
  • Like
Reactions: Givemesteak
Try that same prompt but with /goal in front of it as well it will keep going without further prompts ;)

I am aware of that feature, but my experience is that it's better to use it for goals like "improve the performance using efficient micro optimizations that doesn't introduce bugs" or something along those lines.

I prefer using planning mode and implementation as the first step.
 
How did you feed the whole source code to Claude so it could port it in one prompt?
You're probably only familiar with talking to Claude or ChatGPT in a browser window.

You can also use tools like Claude Code or Codex. Those run on a command line, or basically on your computer, and can be run from a folder. the AI knows enough to then navigate through all the folders so it can self-derive project context and write new code, or modifying existing code.

With the source code, it's actually surprisingly easy to target other build systems. Like @Givemesteak , I also was able to port a fair number of my projects and build systems to work natively on ARM Mac. I actually even had someone it exactly that way to one of my projects. I verified it on my system and it worked like a charm.
Post automatically merged:

I am aware of that feature, but my experience is that it's better to use it for goals like "improve the performance using efficient micro optimizations that doesn't introduce bugs" or something along those lines.

I prefer using planning mode and implementation as the first step.
I've been having good luck with long form things on Codex and goal mode. For something I know long tail that has a lot of technical milestones in the middle, it helps to give it more agency on moving towards the target
 

Site & Scene News

Popular threads in this forum