summaryrefslogtreecommitdiff
path: root/mknes.h
diff options
context:
space:
mode:
Diffstat (limited to 'mknes.h')
-rw-r--r--mknes.h17
1 files changed, 10 insertions, 7 deletions
diff --git a/mknes.h b/mknes.h
index a9e58a0..f8e4be7 100644
--- a/mknes.h
+++ b/mknes.h
@@ -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 {