Awesome
GBCamera Android Manager
Android app to manage a Game Boy Camera gallery and communicate via usb serial with Arduino Printer Emulator and GBxCart to get images.
About this project
This was my final project for my studies. I decided to make it related to the Game Boy Camera as it's something I enjoy and knew I would feel motivated to work on. The main goal I wanted to achieve with this app was extracting the Game Boy Camera images using a GBxCart device on an Android phone, as it's a fast solution to extracting the cartridge RAM and there was no app capable of doing that. This is mostly needed if you want to take many pics on the go with the GB Camera as it only has memory for 30 images. Previous to that I used the Arduino Printer Emulator, which is great but slow as it emulates printing from the Game Boy. The app is also compatible with that device. Aside from that I wanted the app to look like a gallery of images, with the ability to modify the palette and frames, sharing the images and more features that have been added even after the presentation of the project.
Official releases
Check the Releases link. I usually share test releases in the Game Boy Camera Club Discord.
Main features
- Extracting GB Camera images via GBxCart.(Some recent phones are getting corrupted data, working on fixing that).
- Extracting GB Camera images via Arduino Printer Emulator.
- Printing to real Game Boy Printer.
- Importing images, palettes and frames.
- Overlay frames.
- Creating custom palettes.
- Editing images (palettes, frames...).
- Sharing and downloading
- HDR and Animation.
- Printer Paper Simulation.
- Compatibility with the Gallery web app.
- Creating backups.
Usage
There is a Wiki where you can learn how to use the app. To be updated for the latest v0.5 release
Building
Clone this repo, prepare Android Studio and open the project. You can test the app in the emulator or build it (you need the adequate Android SDK) and get the apk file. You may need to modify AppDatabase.java file and delete the autoMigrations annotation.
Libraries used
- Gameboycameralib to decode images, modified to work on Android and adapted to my needs.
- Serial communication: https://github.com/mik3y/usb-serial-for-android.
- Color picker.
- UnicodeExifInterface to save Unicode chars in the User Comments Exif tag. Modified for recent Android APIs.
Special thanks
- Raphaël Boichot, for testing, French translations and help implementing some of his great projects as features, such as the Printer Paper Simulation and the Arduino interface to print on real Game Boy Printer hardware.
- Andreas Hahn, for inspiration on his Game Boy Camera Gallery, base palettes, German translation and many constructive talks about the Game Boy Camera and compatibility with his gallery.
- Lesserkuma, for the great help with the GBxCart communication protocol needed, sharing a reduced version of the Python code and guiding me through some issues I encountered.
- Rafael Zenaro, for the Brazilian Portuguese translations and printing tests on real hardware.
- The Game Boy Camera Club Discord community for their continued support and inspiration on the amazing projects they create.
- KuestenKeks, for German translation and feedback.
License
As the project uses different libraries with different licenses I'll try to adapt it. Please contact me if there is any problem.
- Everything under the folder gameboycameralib is licensed under APGL.
- The modified UnicodeExifInterface is licensed under Apache License 2.0.
- Everything else, including my own work is MIT Licensed.
Contact
You may find me in my Instagram account @gbcameroid and on the Game Boy Camera Club Discord as @Mraulio. There is a dedicated forum channel in the Discord server to this app. Feel free to reach out.
Some useful info
- Gameboy 2BPP Graphics Format info.
- Some info on the deleted images here.
- More info on deleted images and order in the sav here.
- Structure of the Game Boy Camera Save Data