From 309cc9c2dff5664a02db799203330af8e8c16b13 Mon Sep 17 00:00:00 2001 From: Matthew Pomes Date: Thu, 9 Apr 2026 07:39:51 -0500 Subject: [PATCH] Clean up startup messages --- src/mem.rs | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/src/mem.rs b/src/mem.rs index e6bcf7c..675508f 100644 --- a/src/mem.rs +++ b/src/mem.rs @@ -1,6 +1,7 @@ use std::{fmt, sync::Arc}; use bitfield::bitfield; +use log::info; use crate::{ CPUMMRegisters, PPU, apu::APU, controllers::Controllers, cpu::DmaState, ppu::PPUMMRegisters, @@ -303,6 +304,7 @@ enum SegmentId { ChrBank0, ChrBank1, + PrgRam, NVRam, } @@ -358,12 +360,12 @@ impl Mapped { }; let (prg_rom, rom) = rom.split_at(mapper.prg_rom_size as usize * 0x4000); let (chr_rom, _rom) = rom.split_at(mapper.chr_rom_size as usize * 0x2000); - println!("Mapper: {}/{}", mapper.mapper, mapper.sub_mapper); - assert_eq!( - mapper.prg_nv_ram_size.low_count(), - 0, - "No support for PRG-RAM" - ); + info!("Mapper: {}/{}", mapper.mapper, mapper.sub_mapper); + // assert_eq!( + // mapper.prg_nv_ram_size.low_count(), + // 0, + // "No support for PRG-RAM" + // ); // assert_eq!( // mapper.chr_nv_ram_size.low_count(), // 0, @@ -394,6 +396,12 @@ impl Mapped { 0x6000, mapper.prg_nv_ram_size.high_count() as u16, )); + } else if mapper.prg_nv_ram_size.low_count() > 0 { + cpu_segments.push(Segment::ram( + SegmentId::PrgRam, + 0x6000, + mapper.prg_nv_ram_size.low_count() as u16, + )); } let mut ppu_segments = vec![ Segment::mirror(SegmentId::VramMirror, 0x3000, 0x0F00, 0x0000), @@ -464,7 +472,7 @@ impl Mapped { let prg_banks: Vec> = prg_rom.chunks(0x4000).map(|ch| Arc::from(ch)).collect(); for (i, b) in prg_banks.iter().enumerate() { - println!("{i}: {:X?}", &b[0x3FF0..]); + info!("{i}: {:X?}", &b[0x3FF0..]); } cpu_segments.push(Segment::rom( SegmentId::PrgBank0, @@ -476,7 +484,7 @@ impl Mapped { 0xC000, prg_banks.last().unwrap().clone(), )); - println!("CHR_ROM: {}", chr_rom.len()); + info!("CHR_ROM: {}", chr_rom.len()); let chr_banks: Vec> = chr_rom.chunks(0x1000).map(|ch| Arc::from(ch)).collect(); if chr_rom.len() == 0 { @@ -502,7 +510,7 @@ impl Mapped { cur_prg_bank: 0, } } else { - todo!() + todo!("support mapper chip: {}/{}", mapper.mapper, mapper.sub_mapper) }; Self { cpu: MemoryMap {