loader reload timing bug
This commit is contained in:
parent
2701270e05
commit
d471173fcc
@ -31,7 +31,7 @@ CONVERT_ZIP = ../../scripts/conv_zip.py
|
|||||||
|
|
||||||
|
|
||||||
ifeq ($(DEBUG),1)
|
ifeq ($(DEBUG),1)
|
||||||
LDFLAGS =-Wl,-u,vfprintf -lprintf_flt
|
LDFLAGS =-Wl,-u,vfprintf
|
||||||
CFLAGS =-Iusbdrv -I. -DDEBUG_LEVEL=0
|
CFLAGS =-Iusbdrv -I. -DDEBUG_LEVEL=0
|
||||||
OBJECTS = usbdrv/usbdrv.o usbdrv/usbdrvasm.o usbdrv/oddebug.o \
|
OBJECTS = usbdrv/usbdrv.o usbdrv/usbdrvasm.o usbdrv/oddebug.o \
|
||||||
main.o usb_bulk.o uart.o fifo.o sram.o crc.o debug.o \
|
main.o usb_bulk.o uart.o fifo.o sram.o crc.o debug.o \
|
||||||
|
|||||||
@ -66,8 +66,8 @@ void boot_startup_rom(uint16_t init_delay)
|
|||||||
info_P(PSTR("Fetch loader rom\n"));
|
info_P(PSTR("Fetch loader rom\n"));
|
||||||
|
|
||||||
system_set_bus_avr();
|
system_set_bus_avr();
|
||||||
snes_irq_lo();
|
//snes_irq_lo();
|
||||||
system_snes_irq_off();
|
//system_snes_irq_off();
|
||||||
system_set_rom_lorom();
|
system_set_rom_lorom();
|
||||||
|
|
||||||
//info_P(PSTR("Activate AVR bus\n"));
|
//info_P(PSTR("Activate AVR bus\n"));
|
||||||
@ -107,7 +107,12 @@ void boot_startup_rom(uint16_t init_delay)
|
|||||||
|
|
||||||
|
|
||||||
system_send_snes_reset();
|
system_send_snes_reset();
|
||||||
_delay_ms(init_delay);
|
info_P(PSTR("Move Loader to wram"));
|
||||||
|
for (i=0;i<30;i++){
|
||||||
|
_delay_ms(20);
|
||||||
|
info_P(PSTR("."));
|
||||||
|
}
|
||||||
|
info_P(PSTR("\n"));
|
||||||
}
|
}
|
||||||
|
|
||||||
void banner(){
|
void banner(){
|
||||||
|
|||||||
@ -51,8 +51,8 @@
|
|||||||
#define DO_CRC_CHECK_LOADER 0
|
#define DO_CRC_CHECK_LOADER 0
|
||||||
#define DO_CRC_CHECK 0
|
#define DO_CRC_CHECK 0
|
||||||
#define DO_SHM_SCRATCHPAD 1
|
#define DO_SHM_SCRATCHPAD 1
|
||||||
#define DO_SHM 1
|
#define DO_SHM 0
|
||||||
#define DO_TIMER 1
|
#define DO_TIMER 0
|
||||||
#define DO_SHELL 0
|
#define DO_SHELL 1
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@ -58,7 +58,6 @@ extern system_t system;
|
|||||||
|
|
||||||
uint8_t debug_level = (DEBUG | DEBUG_USB | DEBUG_CRC);
|
uint8_t debug_level = (DEBUG | DEBUG_USB | DEBUG_CRC);
|
||||||
|
|
||||||
|
|
||||||
usb_transaction_t usb_trans;
|
usb_transaction_t usb_trans;
|
||||||
|
|
||||||
usbMsgLen_t usbFunctionSetup(uchar data[8])
|
usbMsgLen_t usbFunctionSetup(uchar data[8])
|
||||||
@ -259,16 +258,8 @@ int main(void)
|
|||||||
usb_connect();
|
usb_connect();
|
||||||
sei();
|
sei();
|
||||||
while (1) {
|
while (1) {
|
||||||
|
|
||||||
system_set_bus_avr();
|
system_set_bus_avr();
|
||||||
system_set_wr_disable();
|
system_set_wr_disable();
|
||||||
/*
|
|
||||||
avr_bus_active();
|
|
||||||
info_P(PSTR("Activate AVR bus\n"));
|
|
||||||
info_P(PSTR("Disable SNES WR\n"));
|
|
||||||
snes_wr_disable();
|
|
||||||
*/
|
|
||||||
info_P(PSTR("USB poll\n"));
|
|
||||||
while (usb_trans.req_state != REQ_STATUS_SNES) {
|
while (usb_trans.req_state != REQ_STATUS_SNES) {
|
||||||
usbPoll();
|
usbPoll();
|
||||||
#if DO_SHELL
|
#if DO_SHELL
|
||||||
@ -297,17 +288,6 @@ int main(void)
|
|||||||
system_set_bus_snes();
|
system_set_bus_snes();
|
||||||
system_send_snes_reset();
|
system_send_snes_reset();
|
||||||
irq_stop();
|
irq_stop();
|
||||||
/*
|
|
||||||
info_P(PSTR("-->Switch TO SNES\n"));
|
|
||||||
set_rom_mode();
|
|
||||||
snes_wr_disable();
|
|
||||||
info_P(PSTR("Disable SNES WR\n"));
|
|
||||||
snes_bus_active();
|
|
||||||
info_P(PSTR("Activate SNES bus\n"));
|
|
||||||
irq_stop();
|
|
||||||
send_reset();
|
|
||||||
*/
|
|
||||||
info_P(PSTR("Poll USB\n"));
|
|
||||||
while ((usb_trans.req_state != REQ_STATUS_AVR)) {
|
while ((usb_trans.req_state != REQ_STATUS_AVR)) {
|
||||||
usbPoll();
|
usbPoll();
|
||||||
#if DO_SHELL
|
#if DO_SHELL
|
||||||
@ -316,18 +296,16 @@ int main(void)
|
|||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
//info_P(PSTR("-->Switch TO AVR\n"));
|
info_P(PSTR("-->Switch TO AVR\n"));
|
||||||
shared_memory_init();
|
shared_memory_init();
|
||||||
|
irq_init();
|
||||||
if(usb_trans.loader_enabled) {
|
if(usb_trans.loader_enabled) {
|
||||||
boot_startup_rom(500);
|
boot_startup_rom(50);
|
||||||
} else {
|
} else {
|
||||||
system_set_bus_avr();
|
system_set_bus_avr();
|
||||||
system_send_snes_reset();
|
system_send_snes_reset();
|
||||||
//avr_bus_active();
|
|
||||||
//send_reset();
|
|
||||||
|
|
||||||
}
|
}
|
||||||
irq_init();
|
globals_init();
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user