summaryrefslogtreecommitdiff
path: root/plugins/sid/sidplay-libs/libsidplay/src/c64/c64vic.h
diff options
context:
space:
mode:
authorGravatar Alexey Yakovenko <wakeroid@gmail.com>2010-01-12 21:41:34 +0100
committerGravatar Alexey Yakovenko <wakeroid@gmail.com>2010-01-12 21:51:54 +0100
commit131ad1a8f9aeebee3a7560e09c73cdbba8573feb (patch)
tree78fbe4d0dc0cb8d6eaf8799d53b6ecb748ad3155 /plugins/sid/sidplay-libs/libsidplay/src/c64/c64vic.h
parent9ae08cc0f9bed7a62801e2526537fcffe14e53a9 (diff)
sid player is now real plugin (dynamically loaded)
ported sid code to new API moved to different md5 library added more md5 functions to plugin API
Diffstat (limited to 'plugins/sid/sidplay-libs/libsidplay/src/c64/c64vic.h')
-rw-r--r--plugins/sid/sidplay-libs/libsidplay/src/c64/c64vic.h54
1 files changed, 54 insertions, 0 deletions
diff --git a/plugins/sid/sidplay-libs/libsidplay/src/c64/c64vic.h b/plugins/sid/sidplay-libs/libsidplay/src/c64/c64vic.h
new file mode 100644
index 00000000..d9b2f934
--- /dev/null
+++ b/plugins/sid/sidplay-libs/libsidplay/src/c64/c64vic.h
@@ -0,0 +1,54 @@
+/***************************************************************************
+ c64vic.h - C64 VIC
+ -------------------
+ begin : Fri Apr 4 2001
+ copyright : (C) 2001 by Simon White
+ email : s_a_white@email.com
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ ***************************************************************************/
+
+#ifndef _c64vic_h_
+#define _c64vic_h_
+
+// The VIC emulation is very generic and here we need to effectively
+// wire it into the computer (like adding a chip to a PCB).
+#include "c64env.h"
+#include "../mos656x/mos656x.h"
+
+class c64vic: public MOS656X
+{
+private:
+ c64env &m_env;
+
+protected:
+ void interrupt (bool state)
+ {
+ m_env.interruptIRQ (state);
+ }
+
+ void busaccess (bool state)
+ {
+ m_env.signalBA (state);
+ }
+
+ void addrctrl (bool state)
+ {
+ m_env.signalAEC (state);
+ }
+
+public:
+ c64vic (c64env *env)
+ :MOS656X(&(env->context ())),
+ m_env(*env) {}
+ const char *error (void) {return "";}
+};
+
+#endif // _c64vic_h_