The place where random ideas get written down and lost in time.
2014-06-24 - Gameboy emulators
Category DEVI have been playing Pokemon Yellow on an Android GameBoy Color emulator lately. Thoughts about these apps and their model.
- First started with this one: "Gameboy Color A.D"
- Simple app. Easy to use.
- Free with ads in the home screen, not during play time. Ads not shown when in airplane mode.
- All features available in free mode.
- One of them (Fast Forward) wants you to watch a movie before activating it ⇒ skipped in airplane mode.
- Lacks a couple features (Link Mode) + crappy zoom quality (too blurry)
- Tried this alternative: "My Old Boy! Free (GBC)"
- Better quality game.
- Unfortunately many essential features are blocked by a "Only in paid version".
- Load: you can save but cannot reload!
- Link Remote: only in paid.
- ⇒ That was enough of a kill-it-and-uninstall. I think the pure block is not a good strategy as I could not even evaluate the feature. The ability to save without reload is a total non-sense and feels like a bad bait-and-switch.
- There are many many other Android apps for GBC emulation, most of them looking exactly like each other.
- ⇒ My feeling is there are 1 or 2 engines out there and everyone is just repackaging the same thing.
- There is one open source Android version: "Gameboid"
- It seems the original project was open-source and then the original app went paid/closed on Android.
- This uses an NDK z80/gbc emulator source + code around to handle inputs and display and stuff.
- Doesn't seem to support the Link Cable feature which I want.
- I could rebuild an app around this, but is it worth my time? Probably not.
- So for a second I thought about whether I could rewrite the NDK gbc emu in Java.
- ⇒ But surely someone has done it, hasn't it?
- What do I know about z80 assembly code & emulation? ⇒ Nothing.
- What do I know about GBC hardware emulation? ⇒ Nothing.
- ⇒ Again, worth my time trying? Not really.
- "JavaBoy" is one such emulator rewritten in Java.
- Tried it and it builds and run as a Java App in IJ with no problem.
- Source is clean and instructive.
- Most interesting there's a one-file z80 emulator right in there.
- The rest is handling peripherals and magic GBC-specific constants.
- Mentions passes some kind of emulation test + a list of games compatibles.
- ⇒ All this clearly shows I know little on the subject, nor do I really care.
So bottom line:
- Reading the JavaBoy source code, I did learn a couple interesting things on how ROMs & save files are handled (basically they are 8k or 32k memory chunks) and they all tend to load a blah.zip or blah.gb with a side blah.sav for the 32k chunk so that means pretty much all these emulators are cross-compatible if you give them the right files.
Went with the paid version of "My Old Boy!".
- It's disappointing that the Free version can't properly act as good test app.
- Just suck it up and use the 15-min window for trying it out.
- The Link Remote feature worked over wifi + over BT. It's a bit flaky (works fine initially when it goes bad.)
- The app is $4.
It's not worth my time rebuilding my own emu for that price yet I had a fun time looking at the emulator sources and their implementations.
Generated on 2024-11-22 by Rig4j 0.1-Exp-f2c0035