How to display your own image in the Analogue Pocket’s Library 

The Analogue Pocket is a “multi-video-game-system portable handheld”, compatible out-of-the box with the “2,780+ Game Boy, Game Boy Color & Game Boy Advance game cartridge library”. [1] An adapter for the Game Gear is already available and the Pocket Adapter Set, consisting of a TurboGrafx-16, PC Engine & SuperGrafx Adapter, a Neo Geo Pocket Color Cartridge Adapter, as well as an Atari Lynx Cartridge Adapter is supposed to ship in February 2024. 

Unfortunately, the Library function of the Analogue Pocket is still in beta, but according to the User Guide, “user generated images” are already supported. [1] 

To display a screenshot made with the Analogue Pocket (by pressing Analogue + Start) in the Library, the screenshot file in PNG format must be converted to Analogue’s BIN format according to the Developer Docs. Fortunately, Analogue provides sample code for writing an image converter in Python. This code can be run, after Python and Pillow have been installed on your computer (the folder containing the python executable should be appended to the PATH variable of your environment. The Windows-Installer has a checkbox to do so, and on Linux it will be done automatically by your Linux distribution). Installing Pillow is done by typing the following line of code in Python: 

pip install pillow 

The sample code for the image converter provided by Analogue can by copied into a text file and saved for example as imageconv.py in the folder where you copied the screenshot file from your Pocket’s microSD card (stored on the microSD card in /Memories/Screenshots). Run the following command to convert a single screenshot: 

python imageconv.py name-of-the-screenshot.png crc32-of-the-game.bin 

The PNG files on the microSD card are named by the time you created your screenshots as YYYYMMDD HHMMSS.png and the name of the BIN file must be the CRC32 checksum of the game. This checksum can be found in the DAT-o-MATIC database or generated by yourself if you dumped the ROM of your cartridge. Calculating a CRC32 checksum in Python can be done with the following lines of code: 

import binascii 
crc = open(filename,'rb').read() 
crc = binascii.crc32(crc) 
print("%08x" % crc) 

The converted and correctly named screenshot must be put on the microSD card in the folder /System/Library/Images/<platform>/, where <platform> is gb for the Game Boy, gba for the Game Boy Advanced, etc. 

If everything went well, the next time you play your cartridge on the Analogue Pocket, the image of your game that you put on the microSD card should be shown on your Analogue Pocket. 

Happy retro gaming!

References:

[1] Analogue Pocket User Guide V1.2 July.2022, https://assets.analogue.co/pdf/f48dbccc2a7c529e3ef677db3b4ab9d8/Analogue+Pocket+User+Manual+v1.2.pdf


Leave a comment