diff --git a/crates/prometeu-core/src/firmware/firmware.rs b/crates/prometeu-core/src/firmware/firmware.rs index 8a6e2c3c..5d1bb38d 100644 --- a/crates/prometeu-core/src/firmware/firmware.rs +++ b/crates/prometeu-core/src/firmware/firmware.rs @@ -1,4 +1,4 @@ -use crate::firmware::firmware_state::{FirmwareState, InitAppStep, ResetStep}; +use crate::firmware::firmware_state::{FirmwareState, LoadGameStep, ResetStep}; use crate::firmware::prometeu_context::PrometeuContext; use crate::hardware::{HardwareBridge, InputSignals}; use crate::model::Cartridge; @@ -59,8 +59,8 @@ impl Firmware { FirmwareState::SplashScreen(s) => s.on_enter(&mut req), FirmwareState::LaunchHub(s) => s.on_enter(&mut req), FirmwareState::HubHome(s) => s.on_enter(&mut req), - FirmwareState::LoadApp(s) => s.on_enter(&mut req), - FirmwareState::AppRunning(s) => s.on_enter(&mut req), + FirmwareState::LoadGame(s) => s.on_enter(&mut req), + FirmwareState::GameRunning(s) => s.on_enter(&mut req), FirmwareState::AppCrashes(s) => s.on_enter(&mut req), } } @@ -78,8 +78,8 @@ impl Firmware { FirmwareState::SplashScreen(s) => s.on_update(&mut req), FirmwareState::LaunchHub(s) => s.on_update(&mut req), FirmwareState::HubHome(s) => s.on_update(&mut req), - FirmwareState::LoadApp(s) => s.on_update(&mut req), - FirmwareState::AppRunning(s) => s.on_update(&mut req), + FirmwareState::LoadGame(s) => s.on_update(&mut req), + FirmwareState::GameRunning(s) => s.on_update(&mut req), FirmwareState::AppCrashes(s) => s.on_update(&mut req), } } @@ -97,14 +97,14 @@ impl Firmware { FirmwareState::SplashScreen(s) => s.on_exit(&mut req), FirmwareState::LaunchHub(s) => s.on_exit(&mut req), FirmwareState::HubHome(s) => s.on_exit(&mut req), - FirmwareState::LoadApp(s) => s.on_exit(&mut req), - FirmwareState::AppRunning(s) => s.on_exit(&mut req), + FirmwareState::LoadGame(s) => s.on_exit(&mut req), + FirmwareState::GameRunning(s) => s.on_exit(&mut req), FirmwareState::AppCrashes(s) => s.on_exit(&mut req), } } pub fn load_cartridge(&mut self, cartridge: Cartridge) { - self.state = FirmwareState::LoadApp(InitAppStep { cartridge }); + self.state = FirmwareState::LoadGame(LoadGameStep { cartridge }); self.state_initialized = false; } } \ No newline at end of file diff --git a/crates/prometeu-core/src/firmware/firmware_state.rs b/crates/prometeu-core/src/firmware/firmware_state.rs index cc466e52..c2e36478 100644 --- a/crates/prometeu-core/src/firmware/firmware_state.rs +++ b/crates/prometeu-core/src/firmware/firmware_state.rs @@ -2,8 +2,8 @@ pub use crate::firmware::firmware_step_reset::ResetStep; pub use crate::firmware::firmware_step_splash_screen::SplashScreenStep; pub use crate::firmware::firmware_step_launch_hub::LaunchHubStep; pub use crate::firmware::firmware_step_hub_home::HubHomeStep; -pub use crate::firmware::firmware_step_init_app::InitAppStep; -pub use crate::firmware::firmware_step_run_app::RunAppStep; +pub use crate::firmware::firmware_step_load_game::LoadGameStep; +pub use crate::firmware::firmware_step_game_running::GameRunningStep; pub use crate::firmware::firmware_step_crash_screen::AppCrashesStep; #[derive(Debug, Clone)] @@ -12,7 +12,7 @@ pub enum FirmwareState { SplashScreen(SplashScreenStep), LaunchHub(LaunchHubStep), HubHome(HubHomeStep), - AppRunning(RunAppStep), - LoadApp(InitAppStep), + LoadGame(LoadGameStep), + GameRunning(GameRunningStep), AppCrashes(AppCrashesStep), } \ No newline at end of file diff --git a/crates/prometeu-core/src/firmware/firmware_step_run_app.rs b/crates/prometeu-core/src/firmware/firmware_step_game_running.rs similarity index 90% rename from crates/prometeu-core/src/firmware/firmware_step_run_app.rs rename to crates/prometeu-core/src/firmware/firmware_step_game_running.rs index af8d1d14..ad995295 100644 --- a/crates/prometeu-core/src/firmware/firmware_step_run_app.rs +++ b/crates/prometeu-core/src/firmware/firmware_step_game_running.rs @@ -2,9 +2,9 @@ use crate::firmware::firmware_state::{AppCrashesStep, FirmwareState}; use crate::firmware::prometeu_context::PrometeuContext; #[derive(Debug, Clone)] -pub struct RunAppStep; +pub struct GameRunningStep; -impl RunAppStep { +impl GameRunningStep { pub fn on_enter(&mut self, _ctx: &mut PrometeuContext) {} pub fn on_update(&mut self, ctx: &mut PrometeuContext) -> Option { diff --git a/crates/prometeu-core/src/firmware/firmware_step_init_app.rs b/crates/prometeu-core/src/firmware/firmware_step_load_game.rs similarity index 70% rename from crates/prometeu-core/src/firmware/firmware_step_init_app.rs rename to crates/prometeu-core/src/firmware/firmware_step_load_game.rs index e14690f7..58b4a918 100644 --- a/crates/prometeu-core/src/firmware/firmware_step_init_app.rs +++ b/crates/prometeu-core/src/firmware/firmware_step_load_game.rs @@ -1,19 +1,19 @@ -use crate::firmware::firmware_state::{FirmwareState, RunAppStep}; +use crate::firmware::firmware_state::{FirmwareState, GameRunningStep}; use crate::firmware::prometeu_context::PrometeuContext; use crate::model::Cartridge; #[derive(Debug, Clone)] -pub struct InitAppStep { +pub struct LoadGameStep { pub cartridge: Cartridge, } -impl InitAppStep { +impl LoadGameStep { pub fn on_enter(&mut self, ctx: &mut PrometeuContext) { ctx.os.initialize_vm(ctx.vm, &self.cartridge); } pub fn on_update(&mut self, _ctx: &mut PrometeuContext) -> Option { - Some(FirmwareState::AppRunning(RunAppStep)) + Some(FirmwareState::GameRunning(GameRunningStep)) } pub fn on_exit(&mut self, _ctx: &mut PrometeuContext) {} diff --git a/crates/prometeu-core/src/firmware/mod.rs b/crates/prometeu-core/src/firmware/mod.rs index 7f2761bf..62c8f988 100644 --- a/crates/prometeu-core/src/firmware/mod.rs +++ b/crates/prometeu-core/src/firmware/mod.rs @@ -5,8 +5,8 @@ pub(crate) mod firmware_step_reset; pub(crate) mod firmware_step_splash_screen; pub(crate) mod firmware_step_launch_hub; pub(crate) mod firmware_step_hub_home; -pub(crate) mod firmware_step_init_app; -pub(crate) mod firmware_step_run_app; +pub(crate) mod firmware_step_load_game; +pub(crate) mod firmware_step_game_running; pub(crate) mod firmware_step_crash_screen; mod prometeu_context; diff --git a/crates/prometeu-core/src/model/cartridge.rs b/crates/prometeu-core/src/model/cartridge.rs index 1074be99..a721d150 100644 --- a/crates/prometeu-core/src/model/cartridge.rs +++ b/crates/prometeu-core/src/model/cartridge.rs @@ -3,6 +3,8 @@ use crate::virtual_machine::Program; #[derive(Debug, Clone)] pub struct AppHeader { pub app_id: String, + pub magic: u32, + pub version: u16, pub title: String, pub entrypoint: u32, }