summaryrefslogtreecommitdiff
path: root/sms.h
diff options
context:
space:
mode:
authorMichael Pavone <pavone@retrodev.com>2016-12-22 19:51:25 -0800
committerMichael Pavone <pavone@retrodev.com>2016-12-22 19:51:25 -0800
commitb5e17ec13a758bf4aaa660dae72b02614f2528b1 (patch)
tree3e6f1052eb5ef26e1af6d90bc35e9b0ff140dee4 /sms.h
parent0ce85adad77df67b6637d2160fdeccefbfd4790d (diff)
Initial support for Genesis/Megadrive PBC mode. VDP still needs Mode 4 to be useful.
Diffstat (limited to 'sms.h')
-rw-r--r--sms.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/sms.h b/sms.h
new file mode 100644
index 0000000..2361c2c
--- /dev/null
+++ b/sms.h
@@ -0,0 +1,26 @@
+#ifndef SMS_H_
+#define SMS_H_
+
+#include "system.h"
+#include "vdp.h"
+#include "psg.h"
+#include "z80_to_x86.h"
+#include "io.h"
+
+#define SMS_RAM_SIZE (8*1024)
+
+typedef struct {
+ system_header header;
+ z80_context *z80;
+ vdp_context *vdp;
+ psg_context *psg;
+ sega_io io;
+ uint32_t master_clock;
+ uint32_t normal_clock;
+ uint8_t should_return;
+ uint8_t ram[SMS_RAM_SIZE];
+} sms_context;
+
+sms_context *alloc_configure_sms(void *rom, uint32_t rom_size, void *extra_rom, uint32_t extra_rom_size, uint32_t opts, uint8_t force_region, rom_info *info_out);
+
+#endif //SMS_H_