summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/machine/mc146818.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/machine/mc146818.h')
-rw-r--r--src/emu/machine/mc146818.h55
1 files changed, 55 insertions, 0 deletions
diff --git a/src/emu/machine/mc146818.h b/src/emu/machine/mc146818.h
new file mode 100644
index 00000000000..0f83135571b
--- /dev/null
+++ b/src/emu/machine/mc146818.h
@@ -0,0 +1,55 @@
+/*********************************************************************
+
+ mc146818.h
+
+ Implementation of the MC146818 chip
+
+ Real time clock chip with batteru buffered ram
+ Used in IBM PC/AT, several PC clones, Amstrad NC200
+
+ Peter Trauner (peter.trauner@jk.uni-linz.ac.at)
+
+*********************************************************************/
+
+#ifndef MC146818_H
+#define MC146818_H
+
+typedef enum
+{
+ MC146818_STANDARD,
+ MC146818_IGNORE_CENTURY, // century is NOT set, for systems having other usage of this byte
+ MC146818_ENHANCED
+} MC146818_TYPE;
+
+
+
+/* initialize mc146818 emulation, call only once at beginning */
+void mc146818_init(MC146818_TYPE type);
+
+/* loads data from standard nvram file */
+void mc146818_load(void);
+
+/* loads data from file stream */
+void mc146818_load_stream(mame_file *file);
+
+/* saves data into standard nvram file */
+void mc146818_save(void);
+
+/* saves data into file stream */
+void mc146818_save_stream(mame_file *file);
+
+NVRAM_HANDLER( mc146818 );
+
+READ8_HANDLER(mc146818_port_r);
+WRITE8_HANDLER(mc146818_port_w);
+
+READ16_HANDLER(mc146818_port16le_r);
+WRITE16_HANDLER(mc146818_port16le_w);
+
+READ32_HANDLER(mc146818_port32le_r);
+WRITE32_HANDLER(mc146818_port32le_w);
+
+READ64_HANDLER(mc146818_port64be_r);
+WRITE64_HANDLER(mc146818_port64be_w);
+
+#endif /* MC146818_H */