Classroom Glossary Public page

Lab Pack 4: MMC1-Variant Mapper (Week 4)

Implement an MMC1-class cartridge mapper variant in the community NES core. Load a bank-switched ROM that the stock core could not handle. Verify on the core.


What you ship

  • Source for your MMC1-variant module.
  • A test ROM that exercises bank switching. The instructor will share a bank-switching test ROM in the cohort repo.
  • A clip showing the test ROM running on your modified core.
  • A README describing the MMC1 protocol parts you implemented and the parts you skipped.
  • Toolchain Diary entry for the mapper-implementation workflow.

Tools you use

  • SPK-101 classroom: NES mapper inspector. Watch the live mapper state of your test ROM.
  • iverilog + yosys for simulation and synthesis.
  • Workbench: HDL drag-drop simulator for the bus-decode-and-latch building block.

Success criteria

  • The bank-switching test ROM runs on your modified core.
  • The mapper inspector shows the bank state changing as the ROM writes to MMC1 registers.
  • You can walk an instructor through how your code handles the MMC1 serial-load protocol.

Time budget

Plan for two ninety-minute lab sessions plus two hours of independent build-out. Slower students should plan for one extra session.

Submission

Push to your student repo under con-101/labs/lab-4/. Include source, a one-paragraph README, and a screenshot or short clip of the artefact running.