251. CPU 总线将映射器连接到 PPU 总线
将卡带映射器连接到 PpuBus。
第 251 / 356 · tests/chapter_03_ppu_memory_and_graphics_data/test_251_cpu_bus_connects_mapper_to_ppu_bus.py
需要更新的文件
emulator/bus/cpu_bus.py为什么需要这一步
CPU 使用映射器来读取 PRG ROM。PPU 也需要同一个映射器来读取 $0000-$1FFF 范围内的 CHR ROM。
预期的连接方式
if cartridge is not None:
self.mapper = create_mapper(cartridge)
self.ppu.ppu_bus.mapper = self.mapper重要说明
CpuBus 和 PpuBus 要使用同一个映射器对象。后续的映射器可能带有内部的存储体切换(bank-switching)状态,因此 CPU 和 PPU 必须看到相同的映射器状态。
运行本课
uv run pytest tests/chapter_03_ppu_memory_and_graphics_data/test_251_cpu_bus_connects_mapper_to_ppu_bus.py -v