remove stinky statics
This commit is contained in:
parent
b06743c82e
commit
e82baab292
|
@ -19,16 +19,12 @@ use std::{
|
||||||
str::FromStr,
|
str::FromStr,
|
||||||
sync::{mpsc::Receiver, Arc, Mutex},
|
sync::{mpsc::Receiver, Arc, Mutex},
|
||||||
};
|
};
|
||||||
use util::pause_then_step;
|
|
||||||
|
|
||||||
pub mod connect;
|
pub mod connect;
|
||||||
mod constants;
|
mod constants;
|
||||||
mod processor;
|
mod processor;
|
||||||
pub mod util;
|
pub mod util;
|
||||||
|
|
||||||
static mut PAUSE_ENABLED: bool = false;
|
|
||||||
static mut PAUSE_QUEUED: bool = false;
|
|
||||||
|
|
||||||
static VERBOSE: OnceCell<bool> = OnceCell::new();
|
static VERBOSE: OnceCell<bool> = OnceCell::new();
|
||||||
|
|
||||||
pub const WIDTH: usize = 160;
|
pub const WIDTH: usize = 160;
|
||||||
|
@ -153,15 +149,7 @@ where
|
||||||
}
|
}
|
||||||
|
|
||||||
fn run_cycle(&mut self) {
|
fn run_cycle(&mut self) {
|
||||||
let will_pause = unsafe { PAUSE_QUEUED };
|
|
||||||
let pause_enabled = unsafe { PAUSE_ENABLED };
|
|
||||||
self.cpu.exec_next();
|
self.cpu.exec_next();
|
||||||
if !pause_enabled && self.cpu.reg.pc >= 0x100 {
|
|
||||||
unsafe { PAUSE_ENABLED = true };
|
|
||||||
}
|
|
||||||
if will_pause {
|
|
||||||
pause_then_step();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fn process_messages(&mut self) {
|
fn process_messages(&mut self) {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
use crate::{
|
use crate::{
|
||||||
processor::{memory::mmio::gpu::Colour, Direction},
|
processor::{memory::mmio::gpu::Colour, Direction},
|
||||||
PAUSE_ENABLED, PAUSE_QUEUED, VERBOSE,
|
VERBOSE,
|
||||||
};
|
};
|
||||||
use std::{io, mem::transmute};
|
use std::{io, mem::transmute};
|
||||||
|
|
||||||
|
@ -22,15 +22,6 @@ macro_rules! verbose_print {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
pub(crate) fn pause_then_step() {
|
|
||||||
unsafe {
|
|
||||||
if PAUSE_ENABLED {
|
|
||||||
let line = pause();
|
|
||||||
PAUSE_QUEUED = !line.contains("continue");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
pub(crate) fn pause() -> String {
|
pub(crate) fn pause() -> String {
|
||||||
let mut line = String::new();
|
let mut line = String::new();
|
||||||
match io::stdin().read_line(&mut line) {
|
match io::stdin().read_line(&mut line) {
|
||||||
|
|
Loading…
Reference in a new issue