itch.io Devlogs·· 3 小时前AI 评分31
Game Gear 移植版 v0.0.2:实现背景音乐支持
v0.0.2: Implement support for music.
AI 导读
Game Gear 移植版 v0.0.2 新增完整背景音乐,直接将 MS-DOS 音轨转为适配 Game Gear 4 通道 PSG 芯片。音乐引擎每帧仅耗约 4% CPU 时间,可保持 60 FPS 无掉帧。编译时需将 DOS 共享版歌曲文件放入 ~/jj1data 或设 JJ1_DATA 变量后运行 make。
正文
🎵 What’s New in Version 0.0.2
This major update brings full background music to the Game Gear port! Instead of down-sampling the 16-bit Sega Genesis FM audio, the soundtrack was converted directly from the original MS-DOS track files and adapted specifically for the Game Gear’s 4-channel PSG sound chip.
🎧 Track List & In-Game Placement
| Game Area / Stage | Track Played |
| Title Screen | Title Theme |
| Stages 1 & 2 | Diamondus Theme |
| Stages 3 & 4 | Tubelectric Theme |
| Stages 5 & 6 | Medivo Theme |
| Stage 7 | Boss Theme |
| Episode Complete | Victory Jingle (plays once) |
| Game Over & Pause | Music pauses cleanly during pause; silent on Game Over |
🛠️ How the DOS Music Was Converted to PSG
Because MS-DOS tracker songs used sampled instruments while the Game Gear hardware relies on programmable square waves and noise, the music conversion engine (tools/psgmusic.py) uses specialized sound design techniques:
- Channel Allocation: Uses 3 pulse channels (lead, chord arpeggios, and bass) plus 1 noise channel (drums).
- Fast Arpeggios: Polyphonic chord samples from the DOS source are rendered as high-speed arpeggios across pulse channels.
- Smart Bass Transposition: Basslines are transposed up one octave to fit within the Game Gear PSG chip's frequency floor (A2 / 110 Hz).
- Custom Dynamic Drums: The noise channel switches between a deeper buzz for kick drums and white noise hits for snares, hi-hats, and cymbals.
- Dynamic SFX Ducking: Sound effects (jumping, firing, taking damage) borrow the least critical music channel. While a sound effect plays, the background music keeps silent time in the background and resumes seamlessly when the effect completes.
🧪 Performance & Build Requirements
- Zero Frame Drops: The music engine consumes only ~4% CPU time per frame, allowing the gameplay loop to maintain a full 60 FPS speed.
- Building with Music: To compile
jazz.ggwith full music support, place the original DOS shareware song files into~/jj1data(or point theJJ1_DATAenvironment variable to their location) before runningmake.
Files
Get Jazz Jackrabbit for Game Gear
来源:itch.io Devlogs · haroldo-ok.itch.io