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