summaryrefslogtreecommitdiff
path: root/src/lib.rs
blob: ac72b9847184561dbe611b9413d0c9084e825292 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#![feature(bigint_helper_methods)]
#![feature(seek_stream_len)]
#![feature(unchecked_shifts)]

mod devices;
mod emulators;
mod types;
mod load_program;

pub use devices::*;
pub use emulators::*;
pub use types::*;
pub use load_program::*;

use bedrock_core::*;
use log::*;
use phosphor::*;

use std::num::NonZeroU32;
use std::path::{Path, PathBuf};
use std::time::{Duration, Instant};

pub const BATCH_SIZE: usize = 1000;
pub const MIN_TICK_DURATION: Duration = Duration::from_millis( 4 );
pub const MIN_FRAME_DURATION: Duration = Duration::from_millis( 14 );
pub const MAX_FRAME_DURATION: Duration = Duration::from_millis( 500 );
pub const DEFAULT_SCREEN_SIZE: ScreenDimensions = ScreenDimensions::new(800,600);
pub const DEFAULT_SCREEN_SCALE: NonZeroU32 = unsafe { NonZeroU32::new_unchecked(1) };

pub type ScreenPosition = geometry::Point<u16>;
pub type ScreenDimensions = geometry::Dimensions<u16>;