From f8b5800486a3bf426f6a3eac639314d1b0a3ab01 Mon Sep 17 00:00:00 2001 From: iris Date: Tue, 31 Mar 2026 11:42:38 +0200 Subject: [PATCH] Make isviewer a sink to file --- src/backend/core/Mem.cpp | 1 + src/backend/core/Mem.hpp | 1 + src/backend/core/mmio/PI.cpp | 3 ++- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/backend/core/Mem.cpp b/src/backend/core/Mem.cpp index 15330aa..31db701 100644 --- a/src/backend/core/Mem.cpp +++ b/src/backend/core/Mem.cpp @@ -9,6 +9,7 @@ namespace n64 { Mem::Mem() : flash(saveData) { rom.cart.resize(CART_SIZE); std::ranges::fill(rom.cart, 0); + isviewer_sink = std::ofstream("isviewer.log", std::ios::app); } void Mem::Reset() { diff --git a/src/backend/core/Mem.hpp b/src/backend/core/Mem.hpp index 4e9ac00..e719698 100644 --- a/src/backend/core/Mem.hpp +++ b/src/backend/core/Mem.hpp @@ -140,6 +140,7 @@ private: void WriteJIT(u32, u64); std::array isviewer{}; + std::ofstream isviewer_sink{}; int mmioSize{}, flashSize{}; JIT *jit = nullptr; std::string sramPath{}; diff --git a/src/backend/core/mmio/PI.cpp b/src/backend/core/mmio/PI.cpp index 5efa57b..0963c26 100644 --- a/src/backend/core/mmio/PI.cpp +++ b/src/backend/core/mmio/PI.cpp @@ -321,7 +321,8 @@ void PI::BusWrite(u32 addr, u32 val) { if (val < CART_ISVIEWER_SIZE) { std::string message(val + 1, 0); std::copy_n(mem.isviewer.begin(), val, message.begin()); - always("{}", message); + mem.isviewer_sink << message; + mem.isviewer_sink.flush(); } else { panic("ISViewer buffer size is emulated at {} bytes, but received a flush command for {} bytes!", CART_ISVIEWER_SIZE, val);