Mercurial > repos > simple16
view src/vdp.h @ 43:6e7bfe83d2b0
Changed the design to vastly simplify the video hardware and support a 23-bit address space on the CPU
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Sat, 27 Aug 2016 22:38:31 -0700 |
parents | 083347ccd508 |
children |
line wrap: on
line source
#ifndef VDP_H_ #define VDP_H_ typedef struct { uint16_t *framebuffer; uint32_t cycles; uint32_t clock_inc; int pitch; uint16_t status; uint16_t vcounter; uint16_t hcounter; uint8_t vram[128*1024]; uint16_t cram[256]; uint16_t start_offset; uint8_t top_skip; uint8_t bottom_skip; uint8_t pal_select; uint8_t pal_write_index; uint8_t pal_write_count; } vdp; void vdp_init(vdp *context, uint32_t clock_div); void vdp_run(vdp *context, uint32_t target); void vdp_write_mode(vdp *context, uint16_t value); void vdp_write_cram(vdp *context, uint16_t value); uint32_t vdp_next_interrupt(vdp *context); void vdp_ack_interrupt(vdp *context); uint8_t vdp_interrupt_pending(vdp *context); uint8_t *vdp_get_back_buffer(vdp *context); #endif //VDP_H_