FPGA test function, DCM tweak

This commit is contained in:
ikari
2009-11-30 01:37:20 +01:00
parent dce8e08336
commit 0f0b1d5beb
6 changed files with 40 additions and 10 deletions

View File

@@ -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;
}

View File

@@ -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();\

View File

@@ -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 */