230. Validación: una pequeña ROM escribe en los registros de la PPU
PRUEBA DE VALIDACIÓN: una pequeña ROM iNES escribe en los registros de la PPU.
Lección 230 de 356 · tests/chapter_03_ppu_memory_and_graphics_data/test_230_VALIDATION_tiny_rom_writes_ppu_registers.py
Este archivo no es un paso de implementación para el estudiante.
No hay nada nuevo que implementar para esta prueba. Existe solo para validar que las piezas construidas hasta ahora funcionan juntas a través de sus límites reales:
iNES bytes
-> Cartridge.from_ines_bytes(data)
-> CpuBus(cartridge=cartridge, ppu=ppu)
-> CPU.reset()
-> CPU.step()
-> STA $2000 / STA $2001
-> CpuBus.write(...)
-> PPU.write_register(...)Por qué existe esta validación
Las pruebas anteriores verificaron los registros de la PPU y el enrutamiento de CpuBus de forma aislada. Esta prueba demuestra que instrucciones de CPU reales, obtenidas de la PRG ROM del cartridge, pueden escribir en los registros de la PPU a través del bus.
Programa pequeño colocado en la dirección de CPU $8000:
A9 80 LDA #$80
8D 00 20 STA $2000
A9 1E LDA #$1E
8D 01 20 STA $2001
EA NOPResultado esperado
ppu.ctrl == $80
ppu.mask == $1EFuera de alcance
- renderizado
- temporización de VBlank
- comportamiento de NMI
- OAMDMA
- comportamiento real del latch de PPUSCROLL/PPUADDR
Ejecutar esta lección
uv run pytest tests/chapter_03_ppu_memory_and_graphics_data/test_230_VALIDATION_tiny_rom_writes_ppu_registers.py -v