From 9490b470f3c0ac2357b60a56a893ab86556af634 Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Sat, 2 Jan 2021 20:23:52 +0100 Subject: added VIA added some more opcodes (SEI, CLI) --- emu/6522.h | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) (limited to 'emu/6522.h') diff --git a/emu/6522.h b/emu/6522.h index 853bd3e..d3bade7 100644 --- a/emu/6522.h +++ b/emu/6522.h @@ -16,8 +16,16 @@ // the VIA is initialized with a base address, the addresses for // the registers are relative to this base. enum { + PORTB = 0x00, PORTA = 0x01, - DDRA = 0x03 + DDRB = 0x02, + DDRA = 0x03, + T1LCL = 0x04, + T1LCH = 0x05, + ACR = 0x0b, + PCR = 0x0c, + IFR = 0x0d, + IER = 0x0e }; typedef struct via_6522_t @@ -27,14 +35,19 @@ typedef struct via_6522_t uint16_t addr; uint8_t ddra; + uint8_t ddrb; + uint8_t pcr; + uint8_t ier; bool debug; - bus_t bus; + bus_t busa; + bus_t busb; } via_6522_t; void via_6522_init( via_6522_t *via, uint16_t addr, bool initialize ); -void via_6522_register( via_6522_t *via, device_t *device ); +void via_6522_reset( via_6522_t *via ); +void via_6522_register( via_6522_t *via, int bus, device_t *device ); uint8_t via_6522_read( void *obj, uint16_t addr ); void via_6522_write( void *obj, uint16_t addr, uint8_t data ); -- cgit v1.2.3-54-g00ecf