     *(cycletable_CB + (idx << 4) + 0x0B) = 8;
     *(cycletable_CB + (idx << 4) + 0x0C) = 8;
     *(cycletable_CB + (idx << 4) + 0x0D) = 8;
-    *(cycletable_CB + (idx << 4) + 0x0E) = 16;
     *(cycletable_CB + (idx << 4) + 0x0F) = 8;
+
+    if idx >= 4 and idx <= 7 {
+      *(cycletable_CB + (idx << 4) + 0x06) = 12;
+      *(cycletable_CB + (idx << 4) + 0x0E) = 12;
+    } else {
+      *(cycletable_CB + (idx << 4) + 0x06) = 16;
+      *(cycletable_CB + (idx << 4) + 0x0E) = 16;
+    }
 
     idx += 1;
   }

  printf("\n");

  free(rom_title as *uint8);
}

// =============================================================================

    return *(hram + ((address & 0xFF) - 0x80));
  }

  // Sound Register
  if (
    (address >= 0xFF10 and address <= 0xFF14) or
    (address >= 0xFF16 and address <= 0xFF1E) or
    (address >= 0xFF20 and address <= 0xFF26) or
    (address >= 0xFF30 and address <= 0xFF3F)
  ) {
    return sound_read(address);
  }

  // I/O Ports

  if address == 0xFF00 {
