{
  "commit": "d38cd580364b2c788e633b9e51c15e1668f726c0",
  "count": 1,
  "generated_at": "2026-11-03T13:36:34Z",
  "items": [
    {
      "id": "gw",
      "profile": {
        "analysis": {
          "content_format": {
            "archive_type": "tar v7 + bzip2",
            "decompression": "gwrom.c using bundled bzip2 library",
            "extension": ".mgw",
            "source_ref": "gwrom/gwrom.h:21-27"
          },
          "filesystem_access": false,
          "game_engine": {
            "language": "Lua (bundled lua 5.3)",
            "rendering": "retroluxury (retroluxury/)",
            "resolution": "128x128 base, variable via gwlua_set_fb/gwlua_zoom",
            "runtime": "gwlua (gwlua/)"
          },
          "system_directory_used": false
        },
        "core_classification": "pure_libretro",
        "core_version": "1.6.3",
        "cores": [
          "gw",
          "gw_libretro"
        ],
        "display_name": "Handheld Electronic (GW)",
        "emulator": "Game & Watch",
        "files": [],
        "notes": "gw-libretro runs Game & Watch simulators converted from MADrigal's Pascal\nsource code via pas2lua. Each game is a self-contained .mgw archive (bzip2\ncompressed tar v7) containing Lua scripts, sprites, and sound data.\n\nretro_get_system_info (src/libretro.c:187-194) sets valid_extensions to \"mgw\",\nneed_fullpath to false, and block_extract to false. The core reads content\nentirely from the retro_game_info buffer passed by the frontend.\n\nretro_load_game (src/libretro.c:256-310) passes the content buffer to\ngwrom_init() which decompresses and parses the tar archive in memory.\ngwlua_create() then initializes the Lua VM from the archive entries.\n\nThe core never calls RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY, never opens\nfiles from the filesystem, and has no firmware or BIOS dependencies.\nAll game data is bundled in the .mgw content files available from\nlibretro's buildbot (bot.libretro.com/assets/cores/HandheldElectronicGame/).\n\nNo external BIOS or firmware files are needed.\n",
        "profiled_date": "2026-03-25",
        "source": "https://github.com/libretro/gw-libretro",
        "source_commit": "91d599b951e7bfe7e040347f58667cba20074adc",
        "systems": [
          "handheld-electronic"
        ],
        "type": "libretro",
        "upstream": "http://www.madrigaldesign.it/sim/",
        "version_basis": {
          "kind": "file",
          "path": "src/libretro_version.c",
          "pattern": "gw_version\\s*=\\s*\"([^\"]+)\""
        }
      }
    }
  ],
  "kind": "emulators",
  "schema_version": 1
}
