Your second lab. ~75 minutes. Click through every Mesen menu, note what each tool does, and bookmark the ones you will return to.
Goal: walk through Mesen's menus systematically; understand what the PPU Viewer, Debugger, Memory Viewer, and other tools are even if you do not yet know how to use them.
Estimated time: 75 minutes
Prerequisites: lab 1.1 complete (Mesen installed, homebrew ROM loaded)
Steps
Step 1: Load your homebrew ROM and let it run (5 minutes)
Open Mesen. File → Open ROM. Load the same ROM from lab 1.1. Let it run in the background while you click through the menus.
Step 2: File menu (5 minutes)
Click File. Note what is there:
- Open ROM (you used this in lab 1.1)
- Reload
- Save State / Load State (for snapshot-saving game progress; not part of week 1 work)
- Take Screenshot (you used this in lab 1.1)
- Movie Recording (records gameplay to a file that can be replayed)
Move on without exploring deeply. The point is to see what is in the menu.
Step 3: Settings menu (10 minutes)
Click Settings. Browse through:
- Input (key bindings; you may have visited this in lab 1.1)
- Audio (volume, output device)
- Video (visual filters, fullscreen options)
- Files (where Mesen saves things)
- Emulation (region: NTSC / PAL / Dendy; "Run Ahead" advanced setting)
Notice that Mesen supports multiple NES regional variants (NTSC US/Japan, PAL Europe). This will matter later if you ever want to play a homebrew ROM that requires a specific region.
Step 4: Tools menu, the main event (40 minutes)
Click Tools. This is where the interesting stuff lives.
4a: PPU Viewer (10 minutes)
Open Tools → PPU Viewer. A window opens showing:
- Pattern tables (the raw sprite tiles)
- Nametables (which tile goes in which position on screen)
- OAM viewer (Object Attribute Memory, what sprites are currently visible)
- Palette viewer (the four palettes used for backgrounds, and the four used for sprites)
Click around. The "Pattern Tables" tab is the most visually interesting; it shows every tile the game can draw, laid out in a grid. You will use this view extensively in week 2 and week 4.
Note: the PPU Viewer is live, if the game on screen is animating, the pattern tables update in real time when CHR-bank-switching happens.
Close the PPU Viewer for now.
4b: Debugger (10 minutes)
Open Tools → Debugger. A larger window opens. The main panel shows assembly code: instructions like LDA $07, STA $0200, etc. This is the actual machine code your homebrew ROM is executing.
Do NOT try to read or understand the assembly yet. Just notice:
- The code is a long list of instructions
- Each instruction has an address (a hex number on the left)
- The instructions have short names ("mnemonics") that you do not know yet
- Some instructions reference memory addresses (e.g.,
$07,$0200)
This is the view you will return to in week 3 after you have learned 6502 assembly.
Close the Debugger.
4c: Memory Viewer (10 minutes)
Open Tools → Memory Viewer. This shows the contents of RAM, the CPU's memory bank that holds the game's working values during play.
Watch the values change as the game runs. Some bytes change every frame; some change only when something visible happens (you press a button, an enemy appears).
Try clicking somewhere in the middle of RAM and watching how that byte changes. You are watching the game's "thinking" happen one byte at a time.
Close the Memory Viewer.
4d: Trace Logger (5 minutes)
Open Tools → Trace Logger. This records every assembly instruction the CPU executes, into a file you can read later.
Do not actually start a trace yet (the file gets large fast). Just note that the option exists.
4e: Other Tools menu items (5 minutes)
Scan the rest of the Tools menu. Each item is a viewer or analyzer for some piece of the NES's internal state. Mesen has unusually thorough debugging tools for a free emulator; you will appreciate this throughout the course.
Step 5: Journal what you saw (15 minutes)
Open ~/spk-101/journal/lab-1-2-notes.md. Answer in plain English:
- Which tool surprised you the most?
- Which tool do you most want to come back to?
- Which tool felt the most mysterious (e.g., "I have no idea what this does")?
- Did anything in the Tools menu suggest a particular kind of question you wished you knew how to answer?
The journal is not graded for "right answers"; it is graded for "you actually thought about it." 5-10 sentences is plenty.
Expected output
A journal entry capturing your impressions of Mesen's main tools. You should be able to:
- Name the four main Tools-menu items (PPU Viewer, Debugger, Memory Viewer, Trace Logger)
- Roughly say what each one does
- Recognize that Mesen lets you see "inside" a running NES, not just play games
Common pitfalls
- Trying to deeply understand each tool: do NOT. You will spend the rest of the course actually using these. The point of lab 1.2 is awareness, not mastery
- Closing the game window accidentally: if the game stops, just reload the ROM. The Tools windows stay open across reloads
- Feeling overwhelmed by the assembly in the Debugger: this is normal. The 6502 assembly will look like gibberish until week 3. Just notice it is there
Stretch (optional)
If you finished early:
- Open Mesen's PPU Viewer and the running game side-by-side. Try to find ONE tile in the pattern table that matches what is currently on screen
- Open Mesen's Memory Viewer. Take a screenshot. Pause the game (F3). Take another screenshot. Compare what changed and what stayed the same
Lab 1.2 v0.1. The Mesen tool tour. Mostly orientation; week-2 onward is where you actually use these.