megadrive_test2

view src/io.h @ 7:108ecc582a11

defined all the I/O register addresses in io.h
author John Tsiombikas <nuclear@member.fsf.org>
date Wed, 21 Jun 2017 06:49:50 +0300
parents df2c6b3c6f2e
children 403367d5df5a
line source
1 #ifndef MEGADRIVE_IO_H_
2 #define MEGADRIVE_IO_H_
4 #include <stdint.h>
6 #define IO_REG_VER *((volatile uint8_t*)0xa10001)
7 #define IO_REG_DATA1 *((volatile uint8_t*)0xa10003)
8 #define IO_REG_DATA2 *((volatile uint8_t*)0xa10005)
9 #define IO_REG_DATA3 *((volatile uint8_t*)0xa10007)
10 #define IO_REG_CTRL1 *((volatile uint8_t*)0xa10009)
11 #define IO_REG_CTRL2 *((volatile uint8_t*)0xa1000b)
12 #define IO_REG_CTRL3 *((volatile uint8_t*)0xa1000d)
13 #define IO_REG_TXDATA1 *((volatile uint8_t*)0xa1000f)
14 #define IO_REG_RXDATA1 *((volatile uint8_t*)0xa10011)
15 #define IO_REG_S_CTRL1 *((volatile uint8_t*)0xa10013)
16 #define IO_REG_TXDATA2 *((volatile uint8_t*)0xa10015)
17 #define IO_REG_RXDATA2 *((volatile uint8_t*)0xa10017)
18 #define IO_REG_S_CTRL2 *((volatile uint8_t*)0xa10013)
19 #define IO_REG_TXDATA3 *((volatile uint8_t*)0xa1001b)
20 #define IO_REG_RXDATA3 *((volatile uint8_t*)0xa1001d)
21 #define IO_REG_S_CTRL3 *((volatile uint8_t*)0xa1001f)
22 #define IO_REG_LOCK *((volatile uint8_t*)0xa14000)
23 #define IO_REG_TMSS *((volatile uint8_t*)0xa14101)
26 enum {
27 IO_VER_VERSION_MASK = 0x0f,
28 IO_VER_EXP = 0x20,
29 IO_VER_PAL = 0x40,
30 IO_VER_NONJP = 0x80
31 };
33 #endif /* MEGADRIVE_IO_H_ */