Mercurial > repos > blastem
view ym2612.h @ 345:29d2ca563499
Don't sync the 68K clock to the VDP clock unless the 68K had to wait for the VDP. This unfortunately breaks the direct color DMA demos, but should be more correct overall.
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Sun, 19 May 2013 13:47:47 -0700 |
parents | a8ee7934a1f8 |
children | cc39629e8d06 |
line wrap: on
line source
#ifndef YM2612_H_ #define YM2612_H_ #include <stdint.h> #define NUM_SHARED_REGS (0x30-0x21) #define NUM_PART_REGS (0xB7-0x30) typedef struct { uint32_t current_cycle; uint32_t write_cycle; uint8_t *selected_reg; uint16_t timer_a; uint8_t timer_b; uint8_t reg_num; uint8_t status; uint8_t part1_regs[NUM_SHARED_REGS+NUM_PART_REGS]; uint8_t part2_regs[NUM_PART_REGS]; } ym2612_context; void ym_init(ym2612_context * context); void ym_run(ym2612_context * context, uint32_t to_cycle); void ym_address_write_part1(ym2612_context * context, uint8_t address); void ym_address_write_part2(ym2612_context * context, uint8_t address); void ym_data_write(ym2612_context * context, uint8_t value); uint8_t ym_read_status(ym2612_context * context); #endif //YM2612_H_