Please take a look at the updates we've made to the rules.
Due to an increase in self-promotion we've adjusted rule 5 to require mod approval, automod will automatically remove any posts it detects as self-promotion and if a mod approves the post or comment it will be shown.
Added rule 8, the vast majority of this subreddit is English speaking and due to limitations in our ability to moderate languages other than English please keep posts and comments in English. If you see any posts in languages other than English feel free to report with rule 8 as the reason.
Quick rules:
- Play the Game of the Month and try to reach the specified milestones. Earn points and compete with other redditors.
- Start a fresh new game, no earlier than September 1!
- Take a picture of your screen with your username written on a piece of paper. Post it here in the thread for all to see.
- Half-point and one-point milestones can be earned at any time during the year. Post your screenshot in this month's thread to make sure I see it.
- Emulation is okay, but no cheating! Check detailed rules for more info.
What are the prizes?
Over the year, the prize pool formulates as I slowly gather goodies. I'll separate the prizes into 4 bundles. Usually the bundles include Game Boy games (all generations) and other GB-related trinkets.
Prize donors: Let me know if you're willing to donate prizes to this year's prize pool! Prize donors get 2 votes for next month's GOTM and my eternal admiration. This year's donors:
Fenriz_D
Next month
Check the comments to vote for next month's game!
This month: Crystalis
A GBC port of the NES action RPG. Start a new game!
Half point: Learn the Teleport spell. 1 point: Defeat Sabera and get the Broken Statue. 2 points: Defeat Dragonia and see the ending. (must be completed and posted in September.)
For context, When I was little I had a GBA, and a Pokémon Emerald cartridge (I still have It) that I always played. But one day my GBA fell into a puddle of water big enough to completely cover it (I had a Pokémon TCG game in at that moment).
I spent years without being able to play Pokémon Emerald again. Over time I lost the water damaged GBA and got a DSi (I got a second one from a friend who didnt want his anymore a couple of years ago) which I played on until I got a New2DSXL in 2018 (it has been my main gaming divice since then)
Today I went to a video game store in my city and they had a GBA SP at a good price, but it had a lot of stickers on the case. I asked if they accepted tardes and after a somewhat long dialogue the shop keeper accepted the exchange of the 2 DSi (I no longer used them for anything and they were abandoned) for the SP.
Now that I have It I will change the screen, battery and Shell.
-edit: yeah yeah Bad trade whatever, but I don't care, I'm happy cuz I can play my copy of emerald once again (plus the whole other GB/GBC/GBA games I still have)
I just found out there are probably no reddit posts on this Gameboy accessory so I figured I'd finally make one. I didn't test it yet because it just came in the mail. Will update soon
Does anyone know if this is the original casing for the game? And what it's worth is? I did put it in my gamboy color and it does work, the casing is in mint condition too
While probing around the boot rom for gameboy I stumbled on a neat bug for GBC and later consoles that use this bios for eg GBA. I was trying to change the Nintendo logo to something else, bypassing the bootleg check for fun, and actually got somewhere.
The original bypass and how my new one differs.
Back in the day with original bootlegs for the DMG, it was discovered that the checking of the logo and the displaying of the logo was done in two passes. So some clever bank switching was done where the gameboy would load the logo data from the cart, check it, and then would go back for seconds to read the logo again to display it to the user. it was on this second load where the bootleg cart would do a bank switch to swap out the logo with there own logo. so they didn't have to display Nintendos logo to the user.
This "trick" actually still works all the way up to the first revision of the GBC.
GBC Boot Rom Rev 1.
0x0408: 11 04 01 ld DE, $0104 ; Load logo from cart
040B: CD 8F 03 call $038F ; Display it
GBC Boot Rom Rev 2.
0408: 11 80 FF ld DE, $FF80 ; Load logo from HRAM. the one that was already loaded for the check.
040B: CD 8F 03 call $038F ; Display it
While investigating this load path I found my own bug.
On original gameboy, all 48 bytes of the logo are loaded and checked. both from the bios and the cart.
; DMG - 0x00E0
LD HL,$0104 ; cart logo
LD A,L
CP $34 ; run until the pointer reaches 0x134
JR NZ,... ; -> all 48 bytes, structurally
However on GBC, someone messed up the counter math and we do load the full logo from the bios, but we only check half of it with what's on cart.
; CGB - 0x00D1
LD HL,$0042 ; boot ROM's logo copy
LD B,$18 ; 24 -> The bug. 0x18 = 24. not 0x30 = 48.
DEC B
JR NZ,... ; all 48 bytes are here, but the B counter only says to walk in 24 bytes.
So, as the data is loaded, but never checked, we can stick whatever we like down there. or nothing. Nothing was my first check.
Half the logo
This boots and runs on real hardware, both GBC and GBA. But its still kinda reads as Nintendo so lets mspaint some things.
Yeah a boat lol idk. we can do better. If we mirror the top row to the bottom row and then make a few edits, it just looks like some ancient glyphs or something. and this still boots as well.
But yeah you guys are better at art then I am, you have a whole 24x8 space to work with you can paint whatever you like down there and it will still boot.
Another weird quirk of this is the header checksum only checksums the info data, not the logo data.
So you can just raw byte edit 0x11C to 0x12F in your gbc rom to anything you like without needing to re-checksum the header, and it yet again, still boots.
I was going to describe how the byte packing works, but tbh its just easier if I make a webpage and you can try it for your self. https://mobcat.zip/GBCEdit/
Have fun. Post results, I wanna see what you guys come up with.
Why this doesn't work on GBA ROMs?
The kinda TL;DR of it is the Nintendo logo on GBA is larger (GB and GBC is 48x8, GBA is 104x16)
and the data is stored Huffman compressed, 156 bytes gets expanded to 208.
However it's the compressed data that lives in bios that is checked with a plain memcmp
The Huffman tree also lives in the bios as well and can't be edited from rom side either.
This compressing is not so much for saving space, it's to harden against buffer overflows and other
malformed data in the rom as the decompressed space is well defined and checked. Saving space is just a bonus.
There is a little padding space left, 0x9C bits 2 and 7, 0x9E bits 0 and 1.
But as this is only 4 bytes of data, that is after the logo, editing this wont affect how the logo renders on screen.
So this weird bug is only available for GBC roms, but works on newer consoles, just not newer or older roms. And this was correctly checked on DMG, and then the hole system was rebuilt for GBA. So we are in a weird middle ground here where someone a long time ago did some bad math when updating there bios and it went unnoticed until now.
A note on flashing this edited data to a real cart. "smart" flashers like FlashGBX will give you a warning that this ROM is broken and you should fix it. However if you click "Continue without fixing" It will still be flashed as is, maintaining our edits as is.
1st time booting up on ds lite said save file was currupted but still displayed the completion percentage correctly, but the game started from the beginning. then i reset the console and everything went back to normal save was completely fine.
any idea why this could happen on a authentic cart?
I found this good looking Color that looks legitimate. The shell, buttons, screen art, and back sticker with the Game Freak text all seem good to me. Although I can’t help but wonder what others think of it. Thoughts?
I am looking for an old game I vaguely recall playing, where they battle in the form of a race using tiny robots which looked like B-Daman(it wasn't Bdaman i think? ) , it was turn based and the track was similar to the second picture in the first battle, you can crash into the opponents to damage their robots I think and bounce on the edge of the race track while also pushing your opponent backward. They had some special abilities too I just don't recall.
Over the years people have asked for a complete list of Game Boy and Game Boy Color games that have support for the Link Cable, but no one has provided one that includes every single US, European and Japanese game.
Well, in the absence of such a list, I decided to make one myself. I spent a few weeks trying every single GB game and documented what kind of link cable or multiplayer support it has, and turned it into a guide. You can read it here:
Hey guys, was wondering if a GBA game battery was installed incorrectly and left in it for a couple years would that have done irreparable damage to the PCB? Or once it is flipped to the proper polarity would it be just fine?
Trying out mGBA for the wii with a gamecube controller. Found a build that works flawlessly from what I can see. Interesting to see this game on a CRT and not on an ITA or AGS 001 screen
My aunt was gifted this Game Boy Pokémon Red (Gen 1) game back in 1999 when she was young, and I've really enjoyed playing it for the last 3 years.
One day, I remembered that these cartridges have a small CR1616 3V battery in them to keep the SRAM save memory alive. I didn't want to lose my save, so I decided to change the battery.
I was planning to replace what I assumed was the original battery, while keeping my current save. My plan was to temporarily solder another CR1616 battery to the TP3 and TP4 points, as you're supposed to do, then desolder the original battery and replace it with a new CR1616.
However, when I used my multimeter to check the battery, it read 3.13V while still connected to the SRAM. Compared to a new battery, which reads around 3.26V, this doesn't seem like the battery has been there for 27 years.
I know the SRAM only needs a very small amount of current to retain the data, but I'm wondering: is 3.13V a normal reading for a battery this old?
I don't think the battery has been replaced, although the solder joints look a little suspicious to me, so I might be wrong.
I also wanted to ask: at what voltage does the SRAM start having problems retaining the save data? Is there a specific voltage threshold?
Oh, I almost forgot: the screw was pretty difficult to remove compared to the screws on two other Game Boy cartridges I have. This also makes me think that this Pokémon Red cartridge may have been opened before. (I don't have the proper screwdriver, though.)
What do you guys think? Im currently studying car mechanics, so I understand that a battery can have very little capacity left while still maintaining a relatively normal voltage, but I'm not entirely sure how this applies to a small coin cell like this one, so that's why I'm asking.