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 также нужен тот же маппер для чтения CHR ROM в $0000-$1FFF.
Ожидаемая схема подключения
if cartridge is not None:
self.mapper = create_mapper(cartridge)
self.ppu.ppu_bus.mapper = self.mapperВажно
Используйте один и тот же объект маппера для CpuBus и PpuBus. Более поздние мапперы могут иметь внутреннее состояние переключения банков, поэтому CPU и PPU должны видеть одно и то же состояние маппера.
Запустить этот урок
uv run pytest tests/chapter_03_ppu_memory_and_graphics_data/test_251_cpu_bus_connects_mapper_to_ppu_bus.py -v