X-Git-Url: http://cloudbase.mooo.com/gitweb/avrcpm.git/blobdiff_plain/db81b524d9d1ae06e85fbe812e0ea9a44024fad0..79986122b1d8a4aaf015b8d30f20e99d78779342:/avr/config.inc diff --git a/avr/config.inc b/avr/config.inc index 9c3ed22..5917a06 100644 --- a/avr/config.inc +++ b/avr/config.inc @@ -23,30 +23,30 @@ #define VMAJOR 3 /* Version number */ -#define VMINOR 0 +#define VMINOR 1 #ifndef DRAM_8BIT - #define DRAM_8BIT 1 /* 1 = 8bit wide DRAM */ -#endif + #define DRAM_8BIT 1 /* 1 = 8bit wide data bus to DRAM (ie two 4-bit Chips)*/ +#endif /* 0 = only one 4 bit wide DRAM chip */ #ifndef F_CPU #define F_CPU 20000000 /* system clock in Hz; defaults to 20MHz */ #endif #ifndef BAUD #define BAUD 38400 /* console baud rate */ #endif - -#define K 1024 -#define M 1024*K - -;#define RAMSIZE 256*K*4 /* 1 chip 256Kx4 */ -#define RAMSIZE 4*M*4 * 2 /* 2 chips 4Mx4 */ +#ifndef I2C + #define I2C 0 /* I2C requires 8 bit DRAM */ +#endif +#if I2C && !DRAM_8BIT + #error "I2C requires 8 bit DRAM (DRAM_8BIT=1)!" +#endif -#define EM_Z80 1 /* Emulate Z80 if true */ +#define EM_Z80 1 /* Emulate Z80 if true, else 8080 */ #ifndef FAT16_SUPPORT #define FAT16_SUPPORT 1 /* Include Support for FAT16 Partitions */ #endif /* which may contain CP/M image files. */ -#define RAMDISKCNT 0 /* Number of RAM disks */ +#define RAMDISKCNT 4 /* Number of RAM disks */ #define RAMDISKNR 'I'-'A' /* Drive "letter" for first RAM disk */ #define PARTID 0x52 /* Partition table id */ @@ -59,12 +59,9 @@ #define RXBUFSIZE 128 /* USART recieve buffer size. Must be power of 2 */ #define TXBUFSIZE 128 /* USART transmit buffer size. Must be power of 2 */ +#define I2C_CLOCK 100000 /* 100kHz */ +#define I2C_BUFSIZE 17 /* largest message size including address byte (SLA) */ -#if EM_Z80 - #define CPUSTR "Z80" -#else - #define CPUSTR "8080" -#endif .equ BOOTWAIT = 1 .equ MEMTEST = 1 @@ -80,6 +77,7 @@ .equ INS_DEBUG = 0 .equ STACK_DBG = 0 .equ PRINT_PC = 0 +.equ TIMER_DEBUG = 0 #define MMC_SPI2X 1 /* 0 = SPI CLK/4, 1 = SPI CLK/2 */ @@ -125,6 +123,7 @@ .equ P_MMC_CS = PORTB .equ P_A8 = PORTB .equ P_RXD = PORTB +.equ P_TXD = PORTB ;Port C .equ RAM_RAS = 0 @@ -264,6 +263,7 @@ #define TIMER_CTL TIMERPORT #define TIMER_MSECS TIMERPORT+1 #define TIMER_SECS TIMER_MSECS+2 +#define CLOCKPORT TIMERPORT+7 #define starttimercmd 1 #define quitTimerCmd 2 @@ -275,6 +275,31 @@ #define startTraceCmd 1 #define stopTraceCmd 0 +; Virtual I2C Interface +#define I2CSTAT 0x05 +#define I2CCTRL 0x05 +#define I2CBLEN 0x06 +#define I2CADR 0x07 +#define I2CADRL 0x07 +#define I2CADRH 0x08 + +; Port-Expander PCF8574 +#define PORT 0x80 +#define PORT0 0x80 +#define PORT1 0x81 +#define PORT2 0x82 +#define PORT3 0x83 +#define PORT4 0x84 +#define PORT5 0x85 +#define PORT6 0x86 +#define PORT7 0x87 + + +#if EM_Z80 + #define CPUSTR "Z80" +#else + #define CPUSTR "8080" +#endif #if defined __ATmega8__ .equ RXTXDR0 = UDR @@ -305,4 +330,3 @@ ; vim:set ts=8 noet nowrap -