1- use crate :: memory_map :: MemoryMap ;
1+ use cpu_memory :: CpuMemory ;
22use std:: fmt;
33use std:: thread:: sleep;
44use std:: time:: Duration ;
55
6+ pub mod cpu_memory;
7+
68const STATUS_NEGATIVE_BIT : u32 = 7 ;
79const STATUS_OVERFLOW_BIT : u32 = 6 ;
810const STATUS_IGNORED_BIT : u32 = 5 ;
@@ -156,7 +158,7 @@ impl Default for CpuOptions {
156158pub struct Cpu {
157159 options : CpuOptions ,
158160 registers : Registers ,
159- memory : MemoryMap ,
161+ memory : CpuMemory ,
160162 clock_speed : u32 ,
161163}
162164
@@ -1291,7 +1293,7 @@ impl Cpu {
12911293}
12921294
12931295impl Cpu {
1294- pub fn new ( options : CpuOptions , memory : MemoryMap , clock_speed : u32 ) -> Self {
1296+ pub fn new ( options : CpuOptions , memory : CpuMemory , clock_speed : u32 ) -> Self {
12951297 Self {
12961298 options,
12971299 registers : Registers :: new ( memory. reset_vector ( ) ) ,
@@ -1300,7 +1302,7 @@ impl Cpu {
13001302 }
13011303 }
13021304
1303- pub fn with_nes_options ( memory : MemoryMap , clock_speed : u32 ) -> Self {
1305+ pub fn with_nes_options ( memory : CpuMemory , clock_speed : u32 ) -> Self {
13041306 Self {
13051307 options : NES_CPU_OPTIONS ,
13061308 registers : Registers :: new ( memory. reset_vector ( ) ) ,
@@ -1512,16 +1514,16 @@ impl Cpu {
15121514
15131515#[ cfg( test) ]
15141516mod test {
1515- use crate :: cpu:: { Cpu , CpuOptions } ;
1516- use crate :: memory_map :: MemoryMap ;
1517+ use crate :: cpu:: Cpu ;
1518+ use crate :: cpu :: cpu_memory :: CpuMemory ;
15171519 use crate :: nes_rom:: NesRom ;
15181520 use std:: fs:: File ;
15191521 use std:: io:: { BufRead , BufReader } ;
15201522
15211523 #[ test]
15221524 fn nestest ( ) {
15231525 let rom = NesRom :: read_from_file ( "./vendor/nestest/nestest.nes" ) . unwrap ( ) ;
1524- let memory_map = MemoryMap :: new ( rom) ;
1526+ let memory_map = CpuMemory :: new ( rom) ;
15251527 let mut cpu = Cpu :: with_nes_options ( memory_map, 1 << 16 ) ;
15261528 cpu. registers . pc = 0xC000 ;
15271529 cpu. registers . p = 0x24 ;
0 commit comments