module decoding changes
[32620_extract] / extract.c
index d54a2a88ac75054188ab0cff97b5e51b7323d498..805be1a5d2fdf53733acf1b507983ace5dfe64e5 100644 (file)
--- a/extract.c
+++ b/extract.c
@@ -76,15 +76,15 @@ int main(int argc, char **argv)
                lo = header[i];
                hi = header[i+1] & 0x1f;
 
-               //!EOF ?!
+               // !EOF ?!
                if ((header[i+2] & 0xf8) != 0xf8)
                        cs2 = (header[i+2] & 0xf8) >> 3;
 
-               if (cs2 & 0x08) {
-                       cs = ((header[i+1] & 0xe0) >> 5) - 2;
-               } else {
-                       cs = (((header[i+1] & 0xe0) >> 5) | (1 << 3)) - 4;
-               }
+               cs = ((header[i+1] & 0xe0) >> 5) - 2;
+
+               // second module?
+               if ((cs2 & 0x08) == 0x00)
+                       cs += 6; // 6 ROMs per module
 
                amp = header[i+2] & 0x3;
 
Impressum, Datenschutz