cleanup
This commit is contained in:
parent
3a5495d93b
commit
a03bd6a6c2
|
@ -16,14 +16,13 @@ impl Cnrom {
|
||||||
|
|
||||||
impl Mapper for Cnrom {
|
impl Mapper for Cnrom {
|
||||||
fn read(&mut self, address: usize) -> u8 {
|
fn read(&mut self, address: usize) -> u8 {
|
||||||
let cl = self.cart.chr_rom.len();
|
|
||||||
let pl = self.cart.prg_rom.len();
|
let pl = self.cart.prg_rom.len();
|
||||||
let addr = address % 0x4000;
|
let addr = address % 0x4000;
|
||||||
match address {
|
match address {
|
||||||
0x0000..=0x1FFF => self.cart.chr_rom[self.chr_bank_select][address],
|
0x0000..=0x1FFF => self.cart.chr_rom[self.chr_bank_select][address],
|
||||||
0x8000..=0xBFFF => self.cart.prg_rom[0][addr],
|
0x8000..=0xBFFF => self.cart.prg_rom[0][addr],
|
||||||
0xC000..=0xFFFF => self.cart.prg_rom[pl-1][addr],
|
0xC000..=0xFFFF => self.cart.prg_rom[pl-1][addr],
|
||||||
_ => panic!("bad address read from CNROM mapper: 0x{:X}", address),
|
_ => {println!("bad address read from CNROM mapper: 0x{:X}", address); 0},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -180,30 +180,32 @@ impl Mapper for Mmc1 {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn load_battery_backed_ram(&mut self) {
|
fn load_battery_backed_ram(&mut self) {
|
||||||
// check for filename, if not there make it
|
if self.cart.battery_backed_ram {
|
||||||
// println!("{}", self.cart.filename);
|
let p = Path::new(&self.cart.filename).parent().unwrap();
|
||||||
let p = Path::new(&self.cart.filename).parent().unwrap();
|
let stem = Path::new(&self.cart.filename).file_stem().unwrap();
|
||||||
let stem = Path::new(&self.cart.filename).file_stem().unwrap();
|
let mut save_file = p.join(stem);
|
||||||
let mut save_file = p.join(stem);
|
save_file.set_extension("sav");
|
||||||
save_file.set_extension("sav");
|
if Path::new(&save_file).exists() {
|
||||||
if Path::new(&save_file).exists() {
|
let mut f = File::open(save_file.clone()).expect("save file exists but could not open it");
|
||||||
let mut f = File::open(save_file.clone()).expect("save file exists but could not open it");
|
let mut battery_backed_ram_data = vec![];
|
||||||
let mut battery_backed_ram_data = vec![];
|
f.read_to_end(&mut battery_backed_ram_data).expect("error reading save file");
|
||||||
f.read_to_end(&mut battery_backed_ram_data).expect("error reading save file");
|
println!("loading battery-backed RAM from file: {:?}", save_file);
|
||||||
println!("loading battery-backed RAM from file: {:?}", save_file);
|
self.prg_ram_bank = battery_backed_ram_data;
|
||||||
self.prg_ram_bank = battery_backed_ram_data;
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn save_battery_backed_ram(&self) {
|
fn save_battery_backed_ram(&self) {
|
||||||
let p = Path::new(&self.cart.filename).parent().unwrap();
|
if self.cart.battery_backed_ram {
|
||||||
let stem = Path::new(&self.cart.filename).file_stem().unwrap();
|
let p = Path::new(&self.cart.filename).parent().unwrap();
|
||||||
let mut save_file = p.join(stem);
|
let stem = Path::new(&self.cart.filename).file_stem().unwrap();
|
||||||
save_file.set_extension("sav");
|
let mut save_file = p.join(stem);
|
||||||
println!("saving battery-backed RAM to file: {:?}", save_file);
|
save_file.set_extension("sav");
|
||||||
let mut f = File::create(&save_file)
|
println!("saving battery-backed RAM to file: {:?}", save_file);
|
||||||
.expect("could not create output file for battery-backed RAM");
|
let mut f = File::create(&save_file)
|
||||||
f.write_all(&self.prg_ram_bank).expect("could not write battery-backed RAM to file");
|
.expect("could not create output file for battery-backed RAM");
|
||||||
|
f.write_all(&self.prg_ram_bank).expect("could not write battery-backed RAM to file");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn clock(&mut self) {}
|
fn clock(&mut self) {}
|
||||||
|
|
Loading…
Reference in New Issue