This commit is contained in:
bQUARKz 2026-01-16 15:15:04 +00:00
parent 8f45b04848
commit e198971379
Signed by: bquarkz
SSH Key Fingerprint: SHA256:Z7dgqoglWwoK6j6u4QC87OveEq74WOhFN+gitsxtkf8
3 changed files with 7 additions and 19 deletions

View File

@ -1,6 +1,6 @@
use crate::firmware::firmware_state::FirmwareState; use crate::firmware::firmware_state::FirmwareState;
use crate::hardware::{HardwareBridge, InputSignals}; use crate::hardware::{HardwareBridge, InputSignals};
use crate::model::{AppMode, Cartridge, Color}; use crate::model::{Cartridge, Color};
use crate::prometeu_hub::PrometeuHub; use crate::prometeu_hub::PrometeuHub;
use crate::prometeu_os::PrometeuOS; use crate::prometeu_os::PrometeuOS;
@ -57,13 +57,8 @@ impl Firmware {
} }
fn step_init_app(os: &mut PrometeuOS, _signals: &InputSignals, _hw: &mut dyn HardwareBridge, cartridge: &Cartridge) -> Option<FirmwareState> { fn step_init_app(os: &mut PrometeuOS, _signals: &InputSignals, _hw: &mut dyn HardwareBridge, cartridge: &Cartridge) -> Option<FirmwareState> {
match cartridge.header.mode {
AppMode::Game => {
},
AppMode::System => {
}
}
os.initialize_vm(cartridge); os.initialize_vm(cartridge);
// a gente precisa carregar e inicializar o cartridge antes de mudar o estado para AppRunning
Some(FirmwareState::AppRunning) Some(FirmwareState::AppRunning)
} }
@ -88,7 +83,7 @@ impl Firmware {
None None
} }
pub fn load_cartridge(&mut self, cart: Cartridge) { pub fn load_cartridge(&mut self, cartridge: Cartridge) {
self.state = FirmwareState::LoadApp(cart); self.state = FirmwareState::LoadApp(cartridge); // change state
} }
} }

View File

@ -1,16 +1,9 @@
use crate::vm::Program; use crate::vm::Program;
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum AppMode {
Game,
System,
}
#[derive(Debug, Clone)] #[derive(Debug, Clone)]
pub struct AppHeader { pub struct AppHeader {
pub app_id: String, pub app_id: String,
pub title: String, pub title: String,
pub mode: AppMode,
pub entrypoint: u32, pub entrypoint: u32,
} }

View File

@ -8,10 +8,10 @@ mod sample;
mod cartridge; mod cartridge;
pub use button::Button; pub use button::Button;
pub use cartridge::Cartridge;
pub use color::Color; pub use color::Color;
pub use sample::Sample;
pub use sprite::Sprite;
pub use tile::Tile; pub use tile::Tile;
pub use tile_bank::{TileBank, TileSize}; pub use tile_bank::{TileBank, TileSize};
pub use tile_layer::{HudTileLayer, ScrollableTileLayer, TileMap}; pub use tile_layer::{HudTileLayer, ScrollableTileLayer, TileMap};
pub use sprite::Sprite;
pub use sample::Sample;
pub use cartridge::{Cartridge, AppMode};