From 9f4aa97822adc791f700670ef0fc7636849563b7 Mon Sep 17 00:00:00 2001 From: Julian Blake Kongslie Date: Sat, 29 Oct 2022 18:18:26 -0700 Subject: Understanding interrupt handling within SIMH (see echo_int.pal) Add list of Bugs Add event log file parser More changes associated with widening the ctlregs (FIXME add a typedef) Add some keyboard instructions --- main.cpp | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'main.cpp') diff --git a/main.cpp b/main.cpp index 46be782..62926a5 100644 --- a/main.cpp +++ b/main.cpp @@ -1,6 +1,7 @@ #include #include #include +#include #include #include #include @@ -60,13 +61,18 @@ int main(int argc, const char *argv[]) { checker checker(system); for (--argc, ++argv; argc; --argc, ++argv) { - auto program = programs.at(argv[0]); - if (auto err = load_program(checker, program)) - return err; + if (auto program = programs.find(*argv); program != programs.end()) { + if (auto err = load_program(checker, program->second)) + return err; + } else { + std::ifstream fh(*argv); + system.load_evt(fh); + } } - while (true) { - //std::cout << fmt::format("{:9} @{:04o} {:01o}:{:04o}:{:04o} TTO={:x}\n", system.time, checker.pc, checker.link, checker.acc, checker.mq, checker.ctlregs[TT_OUTPUT]); + while (!checker.done()) { +// if (!checker.ctlregs[HALTED]) +// std::cout << fmt::format("\t{:9} {:04o}\n", system.time, checker.pc); checker.execute(); } -- cgit v1.2.3