Skip to content

Sound and hardware team ​

Use this team for a device the game drives directly: an FM sound chip, a sound card's digital channel, a video mode with palette effects, a console's sound CPU. The port reproduces what the player saw and heard, from the game's own register writes.

Steps ​

OrderAgentBriefHands on
1re-mapper"Map the <device> registers and the driver functions"Register labels; the driver's entry points named
2re-observer"Capture the <device> writes, with times, for <songs or scenes>"A list of writes with times in derived/; audio or frames
3re-matcher"Compare <crate> with the device output" (for example gameframe-opl2)Whether the crate gives the same output from the same writes
4re-tracer"Trace the game's <device> driver"The driver's tempo, its timer, the order of its writes
5re-porter"Port the driver and use <crate>"The game's driver in the port, writing to the device crate
6re-verifier"Compare the port's writes and output with the captures"The same writes at the same times; then audio or frames compared
7re-lander"Land the <device> work"A commit

Outcome ​

  • The device's registers and the game's driver, named and documented.
  • A port whose driver makes the same writes at the same times as the original.
  • Output from a checked device implementation, compared with the captured audio or frames.

Choices for the main session ​

  • Choose the reference device with the user first, such as an AdLib or a Roland MT-32 (Sound), and write it in the project's AGENTS.md.
  • When no crate covers the device, re-matcher checks an existing emulator instead, or the team ports the device itself through re-tracer and re-measurer.

Code: Apache 2.0. Content: CC0 1.0. No game material: bring your own copy.