Published on

Video Modes on Analogue openFPGA cores

Authors

With the latest upgrade from Analogue (firmware 2.0), it is now possible to use the video modes/filters from their own cores in openFPGA ones.

Pokemon Pinball on the Analogue Pocket, Spiritualized GBC Core with a Video Mode selector text

Figuring out how to enable this, I stumbled (via Google search and then this video) into some tools like pocket-updater-utility, but that left me wondering how to do it manually, so here's a short explanation.

Basically, a new display_modes field has to be added to video.json (one of the definition files for each core). The allowed values are specified in a table in that same section of the developer docs.

So, you can navigate to eg: Spiritualized GBC Core's folder in the SD card, open video.json with your favorite text editor and add all the supported values so it ends up looking like this:

{
    "video": {
        "magic": "APF_VER_1",
        "display_modes": [
            { "id": "0x10" },
            { "id": "0x20" },
            { "id": "0x21" },
            { "id": "0x22" },
            { "id": "0x23" },
            { "id": "0x30" },
            { "id": "0x31" },
            { "id": "0x32" },
            { "id": "0x40" },
            { "id": "0x41" },
            { "id": "0x42" },
            { "id": "0x51" },
            { "id": "0x52" },
            { "id": "0xE0" }
        ],
        "scaler_modes": [
            {
                "width": 160,
                "height": 144,
                "aspect_w": 160,
                "aspect_h": 144,
                "rotation": 0,
                "mirror": 0
            }
        ]
    }
}