summaryrefslogtreecommitdiffstatshomepage
path: root/src/mess/includes/c65.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mess/includes/c65.h')
-rw-r--r--src/mess/includes/c65.h88
1 files changed, 88 insertions, 0 deletions
diff --git a/src/mess/includes/c65.h b/src/mess/includes/c65.h
new file mode 100644
index 00000000000..8fe7dbdee99
--- /dev/null
+++ b/src/mess/includes/c65.h
@@ -0,0 +1,88 @@
+/*****************************************************************************
+ *
+ * includes/c65.h
+ *
+ ****************************************************************************/
+
+#ifndef C65_H_
+#define C65_H_
+
+#include "includes/c64_legacy.h"
+#include "machine/6526cia.h"
+
+typedef struct
+{
+ int version;
+ UINT8 data[4];
+} dma_t;
+
+typedef struct
+{
+ int state;
+
+ UINT8 reg[0x0f];
+
+ UINT8 buffer[0x200];
+ int cpu_pos;
+ int fdc_pos;
+
+ UINT16 status;
+
+ attotime time;
+ int head,track,sector;
+} fdc_t;
+
+typedef struct
+{
+ UINT8 reg;
+} expansion_ram_t;
+
+class c65_state : public legacy_c64_state
+{
+public:
+ c65_state(const machine_config &mconfig, device_type type, const char *tag)
+ : legacy_c64_state(mconfig, type, tag) { }
+
+ UINT8 *m_chargen;
+ UINT8 *m_interface;
+ int m_charset_select;
+ int m_c64mode;
+ UINT8 m_6511_port;
+ UINT8 m_keyline;
+ int m_old_value;
+ int m_nmilevel;
+ dma_t m_dma;
+ int m_dump_dma;
+ fdc_t m_fdc;
+ expansion_ram_t m_expansion_ram;
+ int m_io_on;
+ int m_io_dc00_on;
+ DECLARE_DRIVER_INIT(c65);
+ DECLARE_DRIVER_INIT(c65pal);
+};
+
+
+/*----------- defined in machine/c65.c -----------*/
+
+/*extern UINT8 *c65_memory; */
+/*extern UINT8 *c65_basic; */
+/*extern UINT8 *c65_kernal; */
+/*extern UINT8 *c65_dos; */
+/*extern UINT8 *c65_monitor; */
+/*extern UINT8 *c65_graphics; */
+
+void c65_bankswitch (running_machine &machine);
+//void c65_colorram_write (running_machine &machine, int offset, int value);
+
+int c65_dma_read(running_machine &machine, int offset);
+int c65_dma_read_color(running_machine &machine, int offset);
+void c65_vic_interrupt(running_machine &machine, int level);
+void c65_bankswitch_interface(running_machine &machine, int value);
+
+MACHINE_START( c65 );
+INTERRUPT_GEN( c65_frame_interrupt );
+
+extern const mos6526_interface c65_ntsc_cia0, c65_pal_cia0;
+extern const mos6526_interface c65_ntsc_cia1, c65_pal_cia1;
+
+#endif /* C65_H_ */