diff options
Diffstat (limited to 'mknes.h')
| -rw-r--r-- | mknes.h | 17 |
1 files changed, 10 insertions, 7 deletions
@@ -26,11 +26,11 @@ struct ppu_state { uint16_t bg_shift_attrib_low; uint16_t bg_shift_attrib_high; - uint32_t scanline; - uint32_t dot; - uint32_t vram_addr; - uint32_t temp_addr; - uint32_t fine_x; + uint16_t scanline; + uint16_t dot; + uint16_t vram_addr; + uint16_t temp_addr; + uint8_t fine_x; uint8_t bg_next_tile_id; uint8_t bg_next_tile_attrib; uint8_t bg_next_tile_lsb; @@ -49,20 +49,23 @@ struct ppu_state { uint8_t open_bus; - uint8_t frame_ready; uint8_t sprite_zero_hit_possible; uint8_t sprite_count; + uint8_t palette[32]; + + // NOTE(peter): CACHELINE 2 start here! + uint8_t sprite_indexes[8]; uint8_t sprite_positions[8]; uint8_t sprite_priorities[8]; uint8_t sprite_shift_lo[8]; uint8_t sprite_shift_hi[8]; - uint8_t palette[32]; uint8_t secondary_oam[32]; uint8_t oam[256]; + uint8_t frame_ready; } __attribute__((packed, aligned(64))); struct cpu_state { |
