2021-09-28 23:09:38 +00:00
|
|
|
|
|
|
|
#[macro_use]
|
|
|
|
mod error;
|
|
|
|
mod memory;
|
2021-09-30 00:11:48 +00:00
|
|
|
mod cpus;
|
2021-09-28 23:09:38 +00:00
|
|
|
|
|
|
|
use crate::memory::{AddressSpace, Segment};
|
2021-09-30 00:11:48 +00:00
|
|
|
use crate::cpus::m68k::MC68010;
|
2021-09-28 23:09:38 +00:00
|
|
|
|
|
|
|
fn main() {
|
|
|
|
let mut space = AddressSpace::new();
|
|
|
|
let monitor = Segment::load(0x00000000, "monitor.bin").unwrap();
|
|
|
|
for byte in monitor.contents.iter() {
|
|
|
|
print!("{:02x} ", byte);
|
|
|
|
}
|
|
|
|
space.insert(monitor);
|
|
|
|
|
2021-09-30 00:11:48 +00:00
|
|
|
let ram = Segment::new(0x00100000, vec![0; 0x00100000]);
|
|
|
|
space.insert(ram);
|
2021-09-28 23:09:38 +00:00
|
|
|
|
|
|
|
let mut cpu = MC68010::new();
|
|
|
|
while cpu.is_running() {
|
|
|
|
cpu.step(&mut space).unwrap();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|