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.