Skip to content

Console Observatory 0.4.0: OAM DMA made visible, and tooltips that explain everything

Choose a tag to compare

@github-actions github-actions released this 06 Oct 05:52
efa982b

Console Observatory is a native desktop Game Boy teaching lab. Run a game, pause it at any moment, and follow what happens in the CPU, memory, and graphics hardware, with every panel showing the same instant.

What's new

Sprite memory written by DMA now has an answer

Most commercial games build their sprite table in work RAM and have the hardware copy it into sprite memory (OAM) once per frame, by writing a page number to $FF46. Until now, those sprite bytes showed no writer. Now:

  • Select a sprite byte and the writer panel says OAM DMA, which instruction requested it, and how many of the 160 bytes matched their source. The source address is a link; click it to see the instruction that put the value there.
  • Run until written (F9) on a sprite byte stops right after the copy.
  • The Sprites panel says where OAM's contents came from, the system overview shows the copy as a work RAM → OAM arrow with a count, and the $FF46 write is labelled "starts OAM DMA".

Tooltips that explain everything

Hover almost anything for a short, plain-language explanation written for curious newcomers: registers and flags, every memory byte (its region and, for hardware registers, what the register does), each part and arrow of the system overview, cartridge banks, tiles down to a single bit or pixel, panel tabs and title bars, buttons and menus.

Download

Platform File How to run
Windows 10/11 (64-bit) console-observatory-0.4.0-windows-x64.zip Unzip anywhere and run console-observatory.exe; nothing else to install. The app isn't code-signed, so Windows SmartScreen may ask first: choose More info → Run anyway.
Ubuntu 24.04 (x86-64) console-observatory_0.4.0_amd64.deb sudo apt install ./console-observatory_0.4.0_amd64.deb, then start Console Observatory from the app menu.

SHA256SUMS.txt lists each file's checksum. The app runs offline; it needs no browser, server, or account.

No commercial game is included. The app comes with two small original examples (File › Bundled examples); open your own .gb/.gbc files with File › Open or by dropping one on the window.

Good to know

  • It emulates the original monochrome Game Boy (via the SameBoy core). Game Boy Color-only games show their own "needs Color" screen, Super Game Boy extras are absent, and there is no sound output yet.
  • DMA is observed rather than traced byte by byte: the app records the request and checks OAM against the source once the copy must have finished. It needs Capture writes (on by default).
  • Tested on Linux and on Windows in CI and under Wine; not yet on a physical Windows PC. Please report anything odd.

How these files were made

The Release workflow built both files from this release's commit, after the same checks as CI passed on that machine: five test suites (emulation parity with tracing on and off, inspection purity, stepping, the lessons, cartridge banks, OAM DMA timing, tooltips, ROM reproducibility, vendored-source integrity), the widget suite on the native platform, and on Windows a launch of the unzipped package with only System32 on PATH. Details: docs/VERIFICATION.md.