Mercurial > repos > blastem
comparison lc8951.h @ 2144:10e4439d8f13
Fix speed of CDC to PCM RAM DMA
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Sat, 26 Mar 2022 00:54:47 -0700 |
parents | 28b6453cf7e3 |
children | 8e6fb2c06024 |
comparison
equal
deleted
inserted
replaced
2143:67f20f9188b0 | 2144:10e4439d8f13 |
---|---|
8 typedef struct { | 8 typedef struct { |
9 lcd8951_byte_recv_fun byte_handler; | 9 lcd8951_byte_recv_fun byte_handler; |
10 void *handler_data; | 10 void *handler_data; |
11 uint32_t cycle; | 11 uint32_t cycle; |
12 uint32_t clock_step; | 12 uint32_t clock_step; |
13 uint32_t cycles_per_byte; | |
13 uint32_t decode_end; | 14 uint32_t decode_end; |
14 uint32_t transfer_end; | 15 uint32_t transfer_end; |
16 uint32_t next_byte_cycle; | |
15 uint16_t sector_counter; | 17 uint16_t sector_counter; |
16 | 18 |
17 uint8_t buffer[0x4000]; | 19 uint8_t buffer[0x4000]; |
18 | 20 |
19 uint8_t regs[16]; | 21 uint8_t regs[16]; |
29 uint8_t ar_mask; | 31 uint8_t ar_mask; |
30 uint8_t sync_counter; | 32 uint8_t sync_counter; |
31 } lc8951; | 33 } lc8951; |
32 | 34 |
33 void lc8951_init(lc8951 *context, lcd8951_byte_recv_fun byte_handler, void *handler_data); | 35 void lc8951_init(lc8951 *context, lcd8951_byte_recv_fun byte_handler, void *handler_data); |
36 void lc8951_set_dma_multiple(lc8951 *context, uint32_t multiple); | |
34 void lc8951_run(lc8951 *context, uint32_t cycle); | 37 void lc8951_run(lc8951 *context, uint32_t cycle); |
35 void lc8951_reg_write(lc8951 *context, uint8_t value); | 38 void lc8951_reg_write(lc8951 *context, uint8_t value); |
36 uint8_t lc8951_reg_read(lc8951 *context); | 39 uint8_t lc8951_reg_read(lc8951 *context); |
37 void lc8951_ar_write(lc8951 *context, uint8_t value); | 40 void lc8951_ar_write(lc8951 *context, uint8_t value); |
38 void lc8951_write_byte(lc8951 *context, uint32_t cycle, int sector_offset, uint8_t byte); | 41 void lc8951_write_byte(lc8951 *context, uint32_t cycle, int sector_offset, uint8_t byte); |