Files
libretro/emulators/gw.yml
T
Abdessamad Derraz 11da070128 chore: recale the profile refs onto their pins
Upstream moved under 145 profiles: 679 refs shifted and 452 followed a
renamed file, against 6,483 that still anchor where they were written.
The recale rewrites the located ranges only, keeping the annotations and
the sentences that carry them, and 106 pins advance in the same commit
because refs and source_commit name one revision or the profile
describes two at once.

Nothing here was guessed. The 183 refs that are CHANGED, GONE or
AMBIGUOUS are untouched, and the 57 profiles holding them keep their old
pin until someone reads the diff: profile_sync refuses to recale a
profile while any of its refs needs a re-read. trident kept its pin too,
its annotated ref being one the writer will not rewrite.
2026-09-04 14:41:44 +02:00

50 lines
1.8 KiB
YAML

emulator: "Game & Watch"
type: libretro
core_classification: pure_libretro
source: "https://github.com/libretro/gw-libretro"
upstream: "http://www.madrigaldesign.it/sim/"
profiled_date: "2026-03-25"
source_commit: "91d599b951e7bfe7e040347f58667cba20074adc"
core_version: "Git"
display_name: "Handheld Electronic (GW)"
cores:
- gw
systems:
- handheld-electronic
notes: |
gw-libretro runs Game & Watch simulators converted from MADrigal's Pascal
source code via pas2lua. Each game is a self-contained .mgw archive (bzip2
compressed tar v7) containing Lua scripts, sprites, and sound data.
retro_get_system_info (src/libretro.c:187-194) sets valid_extensions to "mgw",
need_fullpath to false, and block_extract to false. The core reads content
entirely from the retro_game_info buffer passed by the frontend.
retro_load_game (src/libretro.c:256-310) passes the content buffer to
gwrom_init() which decompresses and parses the tar archive in memory.
gwlua_create() then initializes the Lua VM from the archive entries.
The core never calls RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY, never opens
files from the filesystem, and has no firmware or BIOS dependencies.
All game data is bundled in the .mgw content files available from
libretro's buildbot (bot.libretro.com/assets/cores/HandheldElectronicGame/).
No external BIOS or firmware files are needed.
files: []
analysis:
content_format:
extension: ".mgw"
archive_type: "tar v7 + bzip2"
decompression: "gwrom.c using bundled bzip2 library"
source_ref: "gwrom/gwrom.h:21-27"
game_engine:
language: "Lua (bundled lua 5.3)"
runtime: "gwlua (gwlua/)"
rendering: "retroluxury (retroluxury/)"
resolution: "128x128 base, variable via gwlua_set_fb/gwlua_zoom"
filesystem_access: false
system_directory_used: false