From 214c3f27eaa0f4e6e40c748570730c1ae2bbcccc Mon Sep 17 00:00:00 2001 From: Zane Kaminski Date: Wed, 31 Mar 2021 07:41:46 -0400 Subject: [PATCH] Improve VBL bypass in spin(...) --- bin/GWRAM.dbg.po | Bin 143360 -> 143360 bytes bin/GWRAM.po | Bin 143360 -> 143360 bytes util.c | 12 ++++++------ 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/bin/GWRAM.dbg.po b/bin/GWRAM.dbg.po index 88c6d68256b568fb403a59db9e585bd688c33483..0c4a1b2a10bba629b6ac765ed3dacd703e762221 100644 GIT binary patch delta 4107 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 BgyH}I diff --git a/bin/GWRAM.po b/bin/GWRAM.po index 338020c3d2f996f0ede9bc0985a2758874599faf..b2cd446fd1b0b34603291f0c8db0212f438bea77 100644 GIT binary patch delta 4188 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 YNhxdl&rPAgqk-o2+yAtFJ8M1pKkHRFCjbBd delta 4012 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 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++); }