FPGA test function, DCM tweak
This commit is contained in:
@@ -138,3 +138,11 @@ void set_avr_bank(uint8_t val) {
|
||||
SPI_SS_LOW();
|
||||
}
|
||||
|
||||
uint8_t fpga_test() {
|
||||
spi_fpga();
|
||||
spiTransferByte(0xF0); // TEST
|
||||
uint8_t result = spiTransferByte(0x00);
|
||||
spi_none();
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
#define FPGA_H
|
||||
|
||||
void fpga_init(void);
|
||||
uint8_t fpga_test(void);
|
||||
void fpga_postinit(void);
|
||||
void fpga_pgm(uint8_t* filename);
|
||||
|
||||
@@ -19,6 +20,7 @@ void set_avr_addr_en(uint8_t val);
|
||||
void set_avr_mapper(uint8_t val);
|
||||
void set_avr_bank(uint8_t val);
|
||||
|
||||
|
||||
// some macros for bulk transfers (faster)
|
||||
#define FPGA_SEND_BYTE(data) do {SET_AVR_DATA(data); CCLK();} while (0)
|
||||
#define FPGA_SEND_BYTE_SERIAL(data) do {SET_AVR_DATA(data); CCLK();\
|
||||
|
||||
14
src/main.c
14
src/main.c
@@ -255,7 +255,7 @@ restart:
|
||||
cmd=0;
|
||||
uint8_t snes_reset_prev=0, snes_reset_now=0, snes_reset_state=0;
|
||||
uint16_t reset_count=0;
|
||||
while(1) {
|
||||
while(fpga_test() == 0xa5) {
|
||||
snes_reset_now=get_snes_reset();
|
||||
if(snes_reset_now) {
|
||||
if(!snes_reset_prev) {
|
||||
@@ -293,6 +293,18 @@ restart:
|
||||
}
|
||||
snes_reset_prev = snes_reset_now;
|
||||
}
|
||||
// FPGA TEST FAIL. PANIC.
|
||||
|
||||
led_std();
|
||||
|
||||
while(1) {
|
||||
set_pwr_led(1);
|
||||
set_busy_led(1);
|
||||
_delay_ms(150);
|
||||
set_pwr_led(0);
|
||||
set_busy_led(0);
|
||||
_delay_ms(150);
|
||||
}
|
||||
|
||||
|
||||
/* HERE BE LIONS */
|
||||
|
||||
Reference in New Issue
Block a user