Mercurial > repos > blastem
comparison blastem.h @ 744:fc68992cf18d
Merge windows branch with latest changes
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Thu, 28 May 2015 21:19:55 -0700 |
parents | 8aa9aacefe12 |
children | 1b2f8280ba81 |
comparison
equal
deleted
inserted
replaced
743:cf78cb045fa4 | 744:fc68992cf18d |
---|---|
17 | 17 |
18 #define RAM_FLAG_ODD 0x1800 | 18 #define RAM_FLAG_ODD 0x1800 |
19 #define RAM_FLAG_EVEN 0x1000 | 19 #define RAM_FLAG_EVEN 0x1000 |
20 #define RAM_FLAG_BOTH 0x0000 | 20 #define RAM_FLAG_BOTH 0x0000 |
21 | 21 |
22 #define CYCLE_NEVER 0xFFFFFFFF | |
23 | |
24 typedef struct { | 22 typedef struct { |
25 m68k_context *m68k; | 23 m68k_context *m68k; |
26 z80_context *z80; | 24 z80_context *z80; |
27 vdp_context *vdp; | 25 vdp_context *vdp; |
28 ym2612_context *ym; | 26 ym2612_context *ym; |
30 uint8_t *save_ram; | 28 uint8_t *save_ram; |
31 uint32_t save_ram_mask; | 29 uint32_t save_ram_mask; |
32 uint32_t save_flags; | 30 uint32_t save_flags; |
33 uint32_t master_clock; //Current master clock value | 31 uint32_t master_clock; //Current master clock value |
34 uint32_t normal_clock; //Normal master clock (used to restore master clock after turbo mode) | 32 uint32_t normal_clock; //Normal master clock (used to restore master clock after turbo mode) |
33 uint32_t frame_end; | |
34 uint32_t max_cycles; | |
35 uint8_t bank_regs[8]; | 35 uint8_t bank_regs[8]; |
36 io_port ports[3]; | 36 io_port ports[3]; |
37 uint8_t bus_busy; | 37 uint8_t bus_busy; |
38 } genesis_context; | 38 } genesis_context; |
39 | 39 |
40 extern genesis_context * genesis; | 40 extern genesis_context * genesis; |
41 extern int headless; | 41 extern int headless; |
42 extern int break_on_sync; | 42 extern int break_on_sync; |
43 extern int save_state; | 43 extern int save_state; |
44 extern tern_node * config; | 44 extern tern_node * config; |
45 extern uint8_t busreq; | |
46 extern uint8_t reset; | |
47 | 45 |
48 #define CARTRIDGE_WORDS 0x200000 | 46 #define CARTRIDGE_WORDS 0x200000 |
49 #define RAM_WORDS 32 * 1024 | 47 #define RAM_WORDS 32 * 1024 |
50 #define Z80_RAM_BYTES 8 * 1024 | 48 #define Z80_RAM_BYTES 8 * 1024 |
51 | 49 |
52 extern uint16_t cart[CARTRIDGE_WORDS]; | 50 extern uint16_t cart[CARTRIDGE_WORDS]; |
53 extern uint16_t ram[RAM_WORDS]; | 51 extern uint16_t ram[RAM_WORDS]; |
54 extern uint8_t z80_ram[Z80_RAM_BYTES]; | 52 extern uint8_t z80_ram[Z80_RAM_BYTES]; |
55 | 53 |
56 uint16_t read_dma_value(uint32_t address); | 54 uint16_t read_dma_value(uint32_t address); |
55 m68k_context * sync_components(m68k_context *context, uint32_t address); | |
57 m68k_context * debugger(m68k_context * context, uint32_t address); | 56 m68k_context * debugger(m68k_context * context, uint32_t address); |
58 void set_speed_percent(genesis_context * context, uint32_t percent); | 57 void set_speed_percent(genesis_context * context, uint32_t percent); |
59 | 58 |
60 #endif //BLASTEM_H_ | 59 #endif //BLASTEM_H_ |
61 | 60 |