]> git.zerfleddert.de Git - 32620_extract/blobdiff - extract.c
print cs2
[32620_extract] / extract.c
index 0e8699c043fcfe83f3013d7a8ffe26ea5f7f04e0..1c5a41c637839cddf0f686a405467862a71df346 100644 (file)
--- a/extract.c
+++ b/extract.c
@@ -62,9 +62,9 @@ int main(int argc, char **argv)
         *
         * 00000000 01000000 01000011 10110111 01001010 01000011 11000011 01011000
         * ^^^^^^^^ ^^^^^^^^ ^^^^^^^^|                          |
-        * LIIIIIII LIILIIII I????LII
-        *        I   I    I I      +-- Amplification (Default: 3)
-        *        I   I    I +--------- Remaining chip select line? (but not quite?)
+        * LIIIIIII LIILIIII LIIIILII
+        *        I   I    I     |  +-- Amplification (Default: 3)
+        *        I   I    I     +----- Chip/Module Select lines/EOF?
         *        I   I    +----------- Address (HI Byte)
         *        I   +---------------- Chip Select lines A15, A14, A13
         *        +-------------------- Address (LO Byte)
@@ -78,9 +78,9 @@ int main(int argc, char **argv)
 
                //!EOF ?!
                if ((header[i+2] & 0xf8) != 0xf8)
-                       cs2 = header[i+2] & 0xf8;
+                       cs2 = (header[i+2] & 0xf8) >> 3;
 
-               if (cs2 & 0x40) {
+               if (cs2 & 0x08) {
                        cs = ((header[i+1] & 0xe0) >> 5) - 2;
                } else {
                        cs = (((header[i+1] & 0xe0) >> 5) | (1 << 3)) - 4;
@@ -92,8 +92,8 @@ int main(int argc, char **argv)
                if (adr == 0)
                        adr += sizeof(header);
 
-               printf("%02d. hi: 0x%02x, lo: 0x%02x, cs: 0x%02x -> adr: 0x%04x; amp: 0x%02x\n",
-                      i/3, hi, lo, cs, adr, amp);
+               printf("%02d. hi: 0x%02x, lo: 0x%02x, cs: 0x%02x, cs2: 0x%02x -> adr: 0x%04x; amp: 0x%02x\n",
+                      i/3, hi, lo, cs, ((header[i+2] & 0xf8) >> 3), adr, amp);
 
                adrs[i/3] = adr;
                if ((header[i+2] & 0xf8) == 0xf8)
Impressum, Datenschutz