diff --git a/bin/GWRAM.dbg.po b/bin/GWRAM.dbg.po index 88c6d68..0c4a1b2 100644 Binary files a/bin/GWRAM.dbg.po and b/bin/GWRAM.dbg.po differ diff --git a/bin/GWRAM.po b/bin/GWRAM.po index 338020c..b2cd446 100644 Binary files a/bin/GWRAM.po and b/bin/GWRAM.po differ diff --git a/util.c b/util.c index 4058569..6474d50 100644 --- a/util.c +++ b/util.c @@ -13,9 +13,10 @@ char read_applekey(void) { return ((*PB0) | (*PB1)) & 0x80; } #define SPIN_FRAMESPERCHAR 4 void spin(uint8_t x, uint8_t y) { char i; + unsigned int l; // Sync to frame before starting - while (*VBL >= 0); + for (l = 0; *VBL >= 0 && l < 2500; l++); // Wait and animate spinner. // Spin_half @@ -40,14 +41,13 @@ void spin(uint8_t x, uint8_t y) { // Wait specificed number of frames for (k = 0; k < SPIN_FRAMESPERCHAR; k++) { - unsigned char l; - for (l = 0; *VBL < 0 && l < 255; l++); - for (l = 0; *VBL >= 0 && l < 255; l++); + for (l = 0; *VBL < 0 && l < 2500; l++); + for (l = 0; *VBL >= 0 && l < 2500; l++); } } } // Wait a frame when finished - while (*VBL < 0); - while (*VBL >= 0); + for (l = 0; *VBL < 0 && l < 2500; l++); + for (l = 0; *VBL >= 0 && l < 2500; l++); }