diff options
Diffstat (limited to 'avr/main.c')
-rw-r--r-- | avr/main.c | 11 |
1 files changed, 9 insertions, 2 deletions
@@ -18,6 +18,7 @@ #include "cli.h" #include "env.h" #include "z180-serv.h" +#include "spi.h" static uint8_t mcusr; @@ -108,8 +109,15 @@ void setup_avr(void) TCCR3B = (0b01<<WGM32)|(0b001<<CS30); /* CTC Mode, Prescaler 1 */ TIMSK3 = _BV(OCIE3A); /* Enable TC2.oca interrupt */ + /* SPI as master */ + PRR0 &= ~_BV(PRSPI); + SPI_DDR = (SPI_DDR & ~_BV(SPI_MISO)) + | _BV(SPI_MOSI) | _BV(SPI_SCK) | _BV(SPI_SS); + SPI_PORT = (SPI_PORT & ~(_BV(SPI_MOSI) | _BV(SPI_SCK))) + | _BV(SPI_SS); + /* INT5, INT6: falling edge */ - EICRB = (EICRB & ~((0b11 << ISC50) | (0b11 << ISC60))) | + EICRB = (EICRB & ~((0b11 << ISC50) | (0b11 << ISC60))) | (0b10 << ISC50) | (0b10 << ISC60); /* Reset pending ints */ EIFR |= _BV(INTF5) | _BV(INTF6); @@ -219,7 +227,6 @@ void main_loop(void) int main(void) { - setup_avr(); z80_setup_bus(); |