diff --git a/tool/Makefile b/tool/Makefile index c23f3c7..27b3fdb 100644 --- a/tool/Makefile +++ b/tool/Makefile @@ -8,7 +8,7 @@ PREFIX=/usr/local PROG=gcn64ctl -OBJS=main.o gcn64.o mempak.o gcn64lib.o hexdump.o gc2n64_adapter.o ihex.o +OBJS=main.o gcn64.o mempak.o gcn64lib.o hexdump.o gc2n64_adapter.o ihex.o delay.o .PHONY : clean install diff --git a/tool/delay.c b/tool/delay.c new file mode 100644 index 0000000..adadf68 --- /dev/null +++ b/tool/delay.c @@ -0,0 +1,27 @@ +#ifdef LIBDRAGON +#include + +void _delay_us(unsigned long us) +{ + wait_ms(us/1000); +} + +void _delay_s(unsigned long s) +{ + wait_ms(s*1000); +} + +#else +#include + +void _delay_us(unsigned long us) +{ + usleep(us); +} + +void _delay_s(unsigned long s) +{ + sleep(s); +} + +#endif diff --git a/tool/delay.h b/tool/delay.h new file mode 100644 index 0000000..b7c0270 --- /dev/null +++ b/tool/delay.h @@ -0,0 +1,2 @@ +void _delay_us(unsigned long us); +void _delay_s(unsigned long s); diff --git a/tool/gc2n64_adapter.c b/tool/gc2n64_adapter.c index 677424d..6e979be 100644 --- a/tool/gc2n64_adapter.c +++ b/tool/gc2n64_adapter.c @@ -1,11 +1,11 @@ #include #include #include -#include #include "gcn64lib.h" #include "gc2n64_adapter.h" #include "hexdump.h" #include "ihex.h" +#include "delay.h" int gc2n64_adapter_echotest(gcn64_hdl_t hdl, int verbose) { @@ -184,7 +184,7 @@ int gc2n64_adapter_boot_waitNotBusy(gcn64_hdl_t hdl, int verbose) } printf("%c\b", spinner[c%4]); fflush(stdout); c++; - usleep(50000); + _delay_us(50000); } return 0; @@ -267,7 +267,7 @@ int gc2n64_adapter_enterBootloader(gcn64_hdl_t hdl) return n; // No answer since the effect is immediate. - usleep(100000); + _delay_us(100000); return 0; } @@ -390,7 +390,7 @@ int gc2n64_adapter_waitForBootloader(gcn64_hdl_t hdl, int timeout_s) return 0; } - sleep(1); + _delay_s(1); } return -1;