-// Mockingboard support
+//
+// Virtual 6522 Versatile Interface Adapter
//
// by James Hammons
// (C) 2018 Underground Software
//
-#ifndef __MOS6522VIA_H__
-#define __MOS6522VIA_H__
+#ifndef __V6522VIA_H__
+#define __V6522VIA_H__
#include <stdint.h>
-struct MOS6522VIA
+struct V6522VIA
{
uint8_t orb, ora; // Output Register B, A
uint8_t ddrb, ddra; // Data Direction Register B, A
uint8_t acr; // Auxillary Control Register
uint8_t ifr; // Interrupt Flags Register
uint8_t ier; // Interrupt Enable Register
-};
-
+ uint8_t id; // Chip ID # (optional)
-extern MOS6522VIA mbvia[];
-
-
-void ResetMBVIAs(void);
+ V6522VIA();
+ void Reset(void);
+ uint8_t Read(uint8_t);
+ void Write(uint8_t, uint8_t);
+ bool Run(uint16_t);
+};
-#endif // __MOS6522VIA_H__
+#endif // __V6522VIA_H__