Mercurial > repos > blastem
comparison segacd.h @ 2072:cc13c100b027
Merge Sega CD branch now that it sort of works
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Sun, 30 Jan 2022 22:29:29 -0800 |
parents | 8e51c0c3f2e3 |
children | bafb757e1cd2 |
comparison
equal
deleted
inserted
replaced
2052:3748a2a8a4b7 | 2072:cc13c100b027 |
---|---|
1 #ifndef SEGACD_H_ | |
2 #define SEGACD_H_ | |
3 #include <stdint.h> | |
4 #include "genesis.h" | |
5 #include "lc8951.h" | |
6 #include "cdd_mcu.h" | |
7 | |
8 typedef struct { | |
9 m68k_context *m68k; | |
10 system_media *media; | |
11 genesis_context *genesis; | |
12 uint16_t gate_array[0x100]; | |
13 uint16_t *rom; //unaltered ROM, needed for mirrored locations | |
14 uint16_t *rom_mut; //ROM with low 16-bit of HINT vector modified by register write | |
15 uint16_t *prog_ram; | |
16 uint16_t *word_ram; | |
17 uint8_t *pcm_ram; | |
18 uint8_t *bram; | |
19 uint32_t stopwatch_cycle; | |
20 uint32_t int2_cycle; | |
21 uint32_t graphics_int_cycle; | |
22 uint32_t periph_reset_cycle; | |
23 uint32_t graphics_cycle; | |
24 uint32_t base; | |
25 uint32_t graphics_x; | |
26 uint32_t graphics_y; | |
27 uint32_t graphics_dx; | |
28 uint32_t graphics_dy; | |
29 uint16_t graphics_dst_x; | |
30 uint8_t graphics_pixels[4]; | |
31 uint8_t timer_pending; | |
32 uint8_t timer_value; | |
33 uint8_t busreq; | |
34 uint8_t busack; | |
35 uint8_t reset; | |
36 uint8_t need_reset; | |
37 uint8_t memptr_start_index; | |
38 lc8951 cdc; | |
39 cdd_mcu cdd; | |
40 uint8_t cdc_dst_low; | |
41 uint8_t cdc_int_ack; | |
42 uint8_t graphics_step; | |
43 uint8_t graphics_dst_y; | |
44 } segacd_context; | |
45 | |
46 segacd_context *alloc_configure_segacd(system_media *media, uint32_t opts, uint8_t force_region, rom_info *info); | |
47 memmap_chunk *segacd_main_cpu_map(segacd_context *cd, uint8_t cart_boot, uint32_t *num_chunks); | |
48 uint32_t gen_cycle_to_scd(uint32_t cycle, genesis_context *gen); | |
49 void scd_run(segacd_context *cd, uint32_t cycle); | |
50 void scd_adjust_cycle(segacd_context *cd, uint32_t deduction); | |
51 | |
52 #endif //SEGACD_H_ |