start working on ppu
This commit is contained in:
parent
279478f16f
commit
f591b4adf2
13
ppu.c
13
ppu.c
@ -13,3 +13,16 @@ ppu_tick(void)
|
||||
if (ppu.scanlines >= 262)
|
||||
ppu.scanlines -= 262;
|
||||
}
|
||||
|
||||
uint8_t
|
||||
ppu_read(uint16_t addr)
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
ppu_write(uint16_t addr, uint8_t byte)
|
||||
{
|
||||
static uint8_t prev;
|
||||
|
||||
prev = byte;
|
||||
}
|
||||
|
26
ppu.h
26
ppu.h
@ -12,6 +12,32 @@ struct ppu {
|
||||
uint8_t palette[16*2];
|
||||
uint16_t cycles, scanlines;
|
||||
struct rom *rom;
|
||||
|
||||
struct ppu_ctrl { /* $2000 */
|
||||
uint8_t nmi_enable : 1;
|
||||
uint8_t master_slave : 1;
|
||||
uint8_t sprite_height : 1;
|
||||
uint8_t bg_tile_sel : 1;
|
||||
uint8_t sprite_tile_sel : 1;
|
||||
uint8_t inc_mode : 1;
|
||||
uint8_t nametable_sel : 2;
|
||||
} ctrl;
|
||||
struct ppu_mask { /* $2001 */
|
||||
uint8_t colour_emphasis : 3;
|
||||
uint8_t sprite_enable : 1;
|
||||
uint8_t bg_enable : 1;
|
||||
uint8_t sprite_left_enable : 1;
|
||||
uint8_t bg_left_enable : 1;
|
||||
uint8_t grayscale : 1;
|
||||
} mask;
|
||||
struct ppu_status { /* $2002 */
|
||||
uint8_t vblank : 1;
|
||||
uint8_t sprite0_hit : 1;
|
||||
uint8_t sprite_overflow : 1;
|
||||
uint8_t pad : 5;
|
||||
} status;
|
||||
uint8_t oam_addr; /* $2003 */
|
||||
uint8_t oam_data; /* $2004 */
|
||||
};
|
||||
extern struct ppu ppu;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user