.gbc Files

0 views
Skip to first unread message

Etienne Levic

unread,
Aug 3, 2024, 4:19:38 PM8/3/24
to tradasziecen

i've been a developer/designer in the space for a little while and own a studio building software/games, and as of recently, my team is looking to develop one of our community-projects for the gameboy color. naturally, i have built a custom gbc with the funnyplaying ips, rechargable batteries, and have a flash cart to play homebrew games on.

i have been playing porklike on my gbc nonstop, it's gotta be one of my favorite pick-up-and-play games in a long time. i've watched a few of the p8 tutorials for the game by lazy devs on yt (what lead me to purchase p8), but i'm unsure how to convert p8 roms to the gameboy?

i found a lua compiler on github that looks like it converts roms, but i wanted to ask the community directly how to get this done? i love the experience of p8 and that it's a turnkey option, but i just need to know i'll be able to convert my p8 roms to .gbc format and have it run.

The problem with trying to convert pico-8 games to GBC specifically would be the difference in specs. GBC only has 32kB of normal memory and 16kB of video memory. Pico-8 has 32kB of memory that has various uses, with little enough used for graphics, but it also has 2MB of memory besides that. Similarly, while both have 4 channels for sound, the GBC's sound channels were of different types with separate ways to make sound. Even the drawing methods would be awkward, as the GBC's sprite drawing was restricted to only 4 colors per sprite, so sprites using more than that would need to be automatically split into multiple sprites (which was actually done in the more visually impressive GBC games).

I'm not saying it's impossible, but at the very least the majority of pico-8 games would need to be gutted in arbitrary ways during the conversion. And that's before considering that pico-8 is 32-bit while GBC is 8-bit. GBA would be easier, especially if you convert to the engine braindead posted, but then you'd still have a little under half as much memory as the limit.

If you are just interested in running your Gameboy Color for your Android or your PC and want to see it there, there is a program for Android that runs Pico-8 bypassing the need for a Gameboy Color emulator. It's not great but it's not bad either. Called the "P8 Player."

I think your best bet for maximum compatibility is when @zep finally releases a version of Pico-8 that can compile either a single APK file or multiple files that runs natively on the Android without the use of an internet browser.

our team has built out a mobile game version already as well as an html5 version for in-browser play utilizing an internal game engine we created a while ago. we wanted to make a port to the physical hardware purely as a collectible item for the community. Unfortunately at this time i'm not looking to build for anything other than original gameboy hardware, to stay true to the intent of the collectible.

i personally am picking up gbdk dev in C, but seeing that porklike is one of my fav gbc homebrew games, i wanted to give p8 a try (i also know porklike was built in p8). however what i failed to realize is "porklike gb" is simply a port of the p8 game... not natively published by p8.

for now i will continue developing with gbdk and build out the game that way. still so glad to have purchased and support this community - if i ever find "free time" in my life aside from our studio-work, i will surely be learning to build in p8. it feels like an interesting way of life as a dev ha.

So I have an original/official Crystal cart back from 2001 and it still has the original button battery in it and has only been played using an official gameboy color. 2 years ago, I turned the game on and tried to load my save file to which it says is corrupted and the bottom says "TIME NOT SET". The game sat on my shelf since. I finally got myself a Epilogue Game Operator which allowed me to create a .sav file straight from the game, however, PKHex doesn't open the .sav saying its corrupted but my other pokemon .sav files (Ruby, Red & Green) does open in PKHex.

Looks like I will have to change the battery no matter what but after I change the battery and wipe my game, will my .sav transfer back and be functional with the RTC fixed or is my .sav totally screwed?

Edit: Looking at the Box data alone (based on box data offsets in a regular save, then transplanted it into my save), it doesn't look right:


As a last ditch effort, can you give me the exact trainer name? Including capitalization and symbols (if any)

I Gen 2 encoding, "PHILL" is 8F 87 88 8B 8B

I tried searching for that and:


It appeared a couple of times. Some data might be in there. I'll need to dig more.

EDIT: Yeah it's not looking any good. PKX extractor dumped a bunch of nonsense from your save too.
Is there a Pokemon you're sure is there? Maybe I could looking for it?

EDIT2: This is what you potentially could have had in your party. Is this correct?

Size: 6
Member 1: Magikarp
Member 2: Vaporeon
Member 3: Eevee
Member 4: Gyarados
Member 5: Scizor
Member 6: Bellsprout


Data structure reference, List reference

eek, yeah looks like this is probably a total loss... I'll swap the battery just so it has a good one but again, thanks so much for even taking the time to look inside the file to find out whats going on.

Prizoop is a Game Boy and Game Boy Color emulator that is compatible with most popular titles. To install, just copy prizoop.g3a to the root of your Prizm, and any rom files you would like to play in the emulator the root as well (as .gb or .gbc files, with simple 8 character names).

An embedded FAQ viewer is available that maintains your position in a text FAQ for each game. FAQ's are very readable thanks to calctype and sub-pixel text rendering. Simply include the FAQ as a ASCII encoded text file with the same name as your rom file but with a .txt extension.

The first time I tried this, it crashed my calculator and it rebooted. The second time, after I removed the spaces and parentheses from the ROM name, it got stuck loading the ROM. I didn't use the compression tool. Am I getting something wrong?

Hi! I really love this emulator but I was wondering if your ever gonna make the colors better? because when using tiboyce I could see that the colours were just more full and simply just better and it also fits in the whole screen. The reason I'm using this emulator for the audio support but if you could maybe make better and fuller colors that would be awesome!
Edit: also a really nice feature would be if you could change the background like in nesizm.

This emulator works a charm! But mind that when you try to use some ROMs, it may give you an error along the line of "file not found" and cause your calculator to keep initialising. If this happens to you, remove any special characters, including commas, apostrophes, basically make sure that it is just letters and nothing else. Also, try to shorten the name. Legend of Zelda titles are quite long and the calculator may throw up an error. If this happens just shorten it to something you will remember. I don't know what the limit is, and tbh, a bit too lazy to check, but just shorten the name, and it'll fix itself.

A must-have for the Prizm. Playing Pokemon Crystal is just as fun as it was back in the early 2000's. And yes, i have tried it with sound and it is a bit choppy, but it does work! The emulator interface is very simple to understand. overall 10/10

RetroArch usually uses .srm for all save files and they are compatible with other emulators most of the time if you rename them.Pokemon Crystal also uses a seperate .rtc file for its internal clock feature (not every emulator supports it though).Try making a backup of your saves and then rename them to see if they work.RetroArch is also available on PSP though.

Hey, that worked! Thanks! Even better, I was able to successfully compress the .sav file into a .sav.gz file and use it on MasterBoy on my PSP! Thanks! Hopefully next time I can just use the PSP version of RA.

Does anyone have a reference or source about how GameBoy Color roms are laid out - where the data and code, what machine code instructions are used, how the clock works etc? I'm interested in perhaps building an emulator myself but I can't find any information about the roms' setup other than looking at them in a hex editor. I'm interested in roms in the .gbc file format.

The opcodes are custom designed to be like the Zilog Z80, but are not exactly like it, since the CPU die itself is different from that of a Z80 as well as the clock cycles and register F flags being entirely different.

And Imran's emulator is a bad source for looking up how the opcodes work, because his emulator still has many problems with getting the opcodes right. Look at gambatte's source code for the most accurate (accurate and "some more") depiction of how the console works.

Hi. What is the goal you're trying to achieve? To use that code you need some sort of hardware glitch setup that you can use bypass the boot ROM lockout, which would require you to open up the Gameboy and solder to the main board. But unless you have some unreleased Gameboy hardware that differs from anything that's already known, there isn't point in doing that. You can download the currently known boot ROMs here:

c80f0f1006
Reply all
Reply to author
Forward
0 new messages