From 430a246fe81d7eab6823bf6ca4562fd1e99f2a5d Mon Sep 17 00:00:00 2001 From: Hannes Schulze Date: Sun, 26 Jan 2025 23:19:56 +0100 Subject: refactor mappers --- app/mac/scene.mm | 11 +++++++++++ app/test/main.cc | 4 ++-- 2 files changed, 13 insertions(+), 2 deletions(-) (limited to 'app') diff --git a/app/mac/scene.mm b/app/mac/scene.mm index 9675809..b71f9f6 100644 --- a/app/mac/scene.mm +++ b/app/mac/scene.mm @@ -4,6 +4,7 @@ #import "nes/util/rgb.hh" #import #import +#import namespace { @@ -88,6 +89,11 @@ namespace [self addChild:node]; auto cartridge = nes::cartridge::from_file([filePath UTF8String]); + if (cartridge.get_status() != nes::status::success) + { + std::cerr << "Unable to load cartridge: " << to_string(cartridge.get_status()) << std::endl; + std::abort(); + } self->display_ = std::make_unique(node); self->nes_ = std::make_unique(std::move(cartridge), *self->display_); @@ -174,6 +180,11 @@ namespace auto delta_us = static_cast((currentTime - last_time) * 1000. * 1000.); delta_us = std::min(delta_us, std::uint64_t{ 50000 }); self->nes_->step(std::chrono::microseconds{ delta_us }); + if (self->nes_->get_status() != nes::status::success) + { + std::cerr << "Invalid state: " << to_string(self->nes_->get_status()) << std::endl; + std::abort(); + } self->display_->actually_switch_buffers(); } diff --git a/app/test/main.cc b/app/test/main.cc index 564b593..70a66ac 100644 --- a/app/test/main.cc +++ b/app/test/main.cc @@ -44,9 +44,9 @@ int main() // Initialize the system to be tested. auto cartridge_a = nes::cartridge::from_file(path); - if (!cartridge_a.is_valid()) + if (cartridge_a.get_status() != nes::status::success) { - std::cerr << "Could not load cartridge!" << std::endl; + std::cerr << "Could not load cartridge: " << to_string(cartridge_a.get_status()) << std::endl; std::abort(); } auto display_a = std::make_unique(); -- cgit v1.3.1