diff blastem.h @ 957:1618d3676a35

Save state menu WIP
author Michael Pavone <pavone@retrodev.com>
date Fri, 15 Apr 2016 23:57:50 -0700
parents f5550cdffe49
children 750995b587a0
line wrap: on
line diff
--- a/blastem.h	Fri Apr 15 20:39:26 2016 -0700
+++ b/blastem.h	Fri Apr 15 23:57:50 2016 -0700
@@ -17,36 +17,39 @@
 #include "romdb.h"
 #include "arena.h"
 
-typedef struct {
-	m68k_context   *m68k;
-	z80_context    *z80;
-	vdp_context    *vdp;
-	ym2612_context *ym;
-	psg_context    *psg;
-	uint16_t       *cart;
-	uint16_t       *work_ram;
-	uint8_t        *zram;
-	void           *extra;
-	arena          *arena;
-	char           *next_rom;
-	char           *save_dir;
-	uint8_t        *save_storage;
-	eeprom_map     *eeprom_map;
-	uint32_t       num_eeprom;
-	uint32_t       save_size;
-	uint32_t       save_ram_mask;
-	uint32_t       master_clock; //Current master clock value
-	uint32_t       normal_clock; //Normal master clock (used to restore master clock after turbo mode)
-	uint32_t       frame_end;
-	uint32_t       max_cycles;
-	uint8_t        bank_regs[8];
-	uint16_t       mapper_start_index;
-	uint8_t        save_type;
-	io_port        ports[3];
-	uint8_t        bus_busy;
-	uint8_t        should_exit;
-	eeprom_state   eeprom;
-} genesis_context;
+typedef struct genesis_context genesis_context;
+
+struct genesis_context {
+	m68k_context    *m68k;
+	z80_context     *z80;
+	vdp_context     *vdp;
+	ym2612_context  *ym;
+	psg_context     *psg;
+	genesis_context *next_context;
+	uint16_t        *cart;
+	uint16_t        *work_ram;
+	uint8_t         *zram;
+	void            *extra;
+	arena           *arena;
+	char            *next_rom;
+	char            *save_dir;
+	uint8_t         *save_storage;
+	eeprom_map      *eeprom_map;
+	uint32_t        num_eeprom;
+	uint32_t        save_size;
+	uint32_t        save_ram_mask;
+	uint32_t        master_clock; //Current master clock value
+	uint32_t        normal_clock; //Normal master clock (used to restore master clock after turbo mode)
+	uint32_t        frame_end;
+	uint32_t        max_cycles;
+	uint8_t         bank_regs[8];
+	uint16_t        mapper_start_index;
+	uint8_t         save_type;
+	io_port         ports[3];
+	uint8_t         bus_busy;
+	uint8_t         should_exit;
+	eeprom_state    eeprom;
+};
 
 extern genesis_context * genesis;
 extern int headless;