diff --git a/src/css/crack.rs b/src/css/crack.rs index 4ed6da6..2b44993 100644 --- a/src/css/crack.rs +++ b/src/css/crack.rs @@ -98,7 +98,7 @@ pub fn recover_title_key(sector: &[u8], plain: &[u8]) -> Option<[u8; 5]> { let t4_perm = TAB5[t4 as usize]; // Clock LFSR0 forward - let t6 = (((((((t3 >> 8) ^ t3) >> 1) ^ t3) >> 3) ^ t3) >> 7); + let t6 = ((((((t3 >> 8) ^ t3) >> 1) ^ t3) >> 3) ^ t3) >> 7; t3 = (t3 << 8) | (t6 & 0xFF); let t6_perm = TAB4[(t6 & 0xFF) as usize]; @@ -124,7 +124,7 @@ pub fn recover_title_key(sector: &[u8], plain: &[u8]) -> Option<[u8; 5]> { let mut found_j = false; for j in 0u32..256 { t3 = (t3 & 0x1FFFF) | (j << 17); - let t6 = (((((((t3 >> 8) ^ t3) >> 1) ^ t3) >> 3) ^ t3) >> 7); + let t6 = ((((((t3 >> 8) ^ t3) >> 1) ^ t3) >> 3) ^ t3) >> 7; if (t6 & 0xFF) == t1_byte { found_j = true; break; diff --git a/src/mux/disc.rs b/src/mux/disc.rs index 1cb2acb..2b84458 100644 --- a/src/mux/disc.rs +++ b/src/mux/disc.rs @@ -10,7 +10,7 @@ use super::IOStream; use crate::disc::{ ContentFormat, Disc, DiscTitle, Extent, - DEFAULT_BATCH_SECTORS, MIN_BATCH_SECTORS, RAMP_BATCH_AFTER, RAMP_SPEED_AFTER, + MIN_BATCH_SECTORS, RAMP_BATCH_AFTER, RAMP_SPEED_AFTER, SLOW_SPEED_AFTER, detect_max_batch_sectors, }; use crate::drive::DriveSession; @@ -54,6 +54,7 @@ pub struct DiscStream { extents: Vec, current_extent: usize, current_offset: u32, + #[allow(dead_code)] content_format: ContentFormat, aacs: Option, css: Option, @@ -349,8 +350,7 @@ impl Write for DiscStream { #[cfg(test)] mod tests { - use super::*; - use crate::disc::{ContentFormat, DiscTitle, Extent}; + use crate::disc::Extent; /// Build a minimal DiscStream with fake extents for testing state advancement. /// We cannot call `DiscStream::open()` without a real drive, so we construct