read disk works
This commit is contained in:
parent
2413d4dec6
commit
12c28f7681
@ -52,7 +52,7 @@ mod test {
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_read_write_disk() {
|
||||
fn test_read_write_drv_disk() {
|
||||
let disk = Disk::init_disk();
|
||||
let mut drv_disk = DrvDisk::init_drv_disk(disk);
|
||||
|
||||
|
@ -9,7 +9,7 @@ pub const SECTORS_PER_TRACK: i32 = 32;
|
||||
pub const NUM_TRACKS: i32 = 64;
|
||||
pub const NUM_SECTORS: i32 = SECTORS_PER_TRACK * NUM_TRACKS;
|
||||
pub const SECTOR_SIZE: i32 = 4;//4 octects ?
|
||||
|
||||
pub const DISK_PATH: &str = "disk_file";
|
||||
|
||||
pub const MAGIC_NUMBER : u32 = 0xABBACDDC;
|
||||
//taille en octets, a confirmer
|
||||
@ -33,27 +33,30 @@ impl Disk {
|
||||
let result_open = File::options().
|
||||
read(true).
|
||||
write(true).
|
||||
open("disk_file");
|
||||
open(DISK_PATH);
|
||||
|
||||
match result_open {
|
||||
|
||||
Err(e) => {
|
||||
//On creer le fichier et on y écrit le magic number
|
||||
let magic_to_write : [u8 ; 5] = [0xAB, 0xBA, 0xCD, 0xDC, 0];
|
||||
let magic_to_write : [u8 ; 4] = [0xAB, 0xBA, 0xCD, 0xDC];
|
||||
println!("Error opening file : {}", e);
|
||||
|
||||
disk_file = File::options().
|
||||
read(true).
|
||||
write(true).
|
||||
create_new(true).
|
||||
open("disk_file").unwrap();
|
||||
open(DISK_PATH).unwrap();
|
||||
|
||||
disk_file.write_at(&magic_to_write[..], 0);
|
||||
}
|
||||
|
||||
Ok(f) => {
|
||||
disk_file = f;
|
||||
let magic_to_write : [u8 ; 5] = [0xAB, 0xBA, 0xCD, 0xDC, 0];
|
||||
disk_file.write_at(&magic_to_write[..], 0);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
match disk_file.read_at(&mut magic_buff[..], 0) {
|
||||
@ -105,7 +108,7 @@ impl Disk {
|
||||
}
|
||||
|
||||
disk.active = true;
|
||||
let mut f = File::open("test/disk.txt")?;
|
||||
let mut f = File::open(DISK_PATH)?;
|
||||
f.seek(SeekFrom::Start((sector_number * SECTOR_SIZE) as u64))?;
|
||||
let mut buffer = [0; SECTOR_SIZE as usize];
|
||||
f.read(&mut buffer)?;
|
||||
@ -138,7 +141,7 @@ impl Disk {
|
||||
}
|
||||
|
||||
disk.active = true;
|
||||
let mut f = File::create("test/disk.txt")?;
|
||||
let mut f = File::create(DISK_PATH)?;
|
||||
f.seek(SeekFrom::Start((sector_number * SECTOR_SIZE) as u64))?;
|
||||
let mut i = 0;
|
||||
let mut buff = Vec::new();
|
||||
|
Loading…
x
Reference in New Issue
Block a user