Files
libretro/emulators/gw.yml
Abdessamad Derraz d929424988 feat: add profiled_date to all YAMLs, create 56 alias profiles
- Added profiled_date field to all 204 existing profiles for update tracking
- Created 56 alias profiles for cores that share BIOS with a parent
  (e.g., mednafen_psx -> beetle_psx, fbalpha2012 -> fbneo)

260 total profiles covering all 294 libretro cores (204 unique + 56 alias).
2026-03-18 05:20:05 +01:00

45 lines
1.6 KiB
YAML

emulator: "Game & Watch"
type: libretro
source: "https://github.com/libretro/gw-libretro"
profiled_date: "2026-03-18"
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 (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 (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