diff options
author | Andreas Baumann <mail@andreasbaumann.cc> | 2021-01-02 20:23:52 +0100 |
---|---|---|
committer | Andreas Baumann <mail@andreasbaumann.cc> | 2021-01-02 20:23:52 +0100 |
commit | 9490b470f3c0ac2357b60a56a893ab86556af634 (patch) | |
tree | 15d8358467ffdacc1bb76e9d9e926e6ee294070e /emu/6522.h | |
parent | aff63a211e9b1e397adb9dce726d8153beb96dcd (diff) | |
download | 6502-9490b470f3c0ac2357b60a56a893ab86556af634.tar.gz 6502-9490b470f3c0ac2357b60a56a893ab86556af634.tar.bz2 |
added VIA
added some more opcodes (SEI, CLI)
Diffstat (limited to 'emu/6522.h')
-rw-r--r-- | emu/6522.h | 19 |
1 files changed, 16 insertions, 3 deletions
@@ -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 ); |