new version
authorTobias Girstmair <tobi@isticktoit.net>
Thu, 4 Mar 2021 14:02:27 +0000 (15:02 +0100)
committerTobias Girstmair <tobi@isticktoit.net>
Thu, 4 Mar 2021 14:02:58 +0000 (15:02 +0100)
bsv.c

diff --git a/bsv.c b/bsv.c
index 678e5afeb318f3ceb2b0faa9d9fddeb4c0b5ae06..2fd4ac4b448587ab20c61eabfb54c7d3b3452034 100644 (file)
--- a/bsv.c
+++ b/bsv.c
@@ -13,11 +13,25 @@ u8 notes[] = {
        0x75, 0x8c, 0xb0, 0x69, 0x8c, 0x75, 0x69, 0x58
 };
 
-u8 mod3hi, mod3lo;
+u8 mod3hi, mod3lo; //MEM
+u8 xmod3(u8,u8);
 void mod3(void) {
-       acc = (mod3hi<<8|mod3lo) % 3;
+       acc = xmod3(mod3hi, mod3lo);
 }
 
+u8 xmod3(u8 hi, u8 lo) { //avail: t, o _
+//copied from attiny version e98ab46; based on homepage.divms.uiowa.edu/~jones
+    unsigned short a = ((hi) + (lo)) &0x1ff;
+        hi = a>>8; //1 bit
+        lo = a;
+    lo = (hi<<4|lo>>4) + (lo & 0xF);
+    lo = (lo >>  2) + (lo & 0x3);
+    lo = (lo >>  2) + (lo & 0x3);
+    if (lo > 2) lo = lo - 3;
+    return lo;
+}
+
+
 void g(void){
        u8 notes_ix = acc & 0x7;
        if(3&i2)
Imprint / Impressum