Files
mazegame/projects
jurjen.ladeniusandClaude Opus 4.8 1c0636e8ff Add per-screen FM music (lVGM / MSX-Music)
Each screen now plays its own looping MSX-Music (YM2413/OPLL) track:
title, hints, gameplay, and victory. Tracks are lVGM files embedded in
banked segments 26-29 (one per segment, each < 8KB so it never crosses a
boundary); segments 30-31 remain free.

- project_config.js: add psg/msx-music/vgm/lvgm_player modules; set
  EmulMSXMusic so ./build.sh run gives openMSX the FM-PAC (-ext fmpac).
- msxgl_config.h: enable LVGM_USE_PSG/MSXMUSIC (rest off), PSG_DIRECT.
- mazegame.c: MSXMusic_Initialize() once at boot; PlayTrack()/PlayFrame()
  bracket every player call with a bank-2 save/restore so music never
  disturbs the tile/sprite banking; a PlayFrame() follows every Halt() in
  the wait/animation loops (ScrollDraw, input loops now frame-synced,
  WaitKeySequence) to advance each track at 60 Hz. Logo stays silent.
- CLAUDE.md: document the music pipeline, banking protocol, and segments.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-03 20:43:18 +02:00
..