diff --git a/Machines/ZX8081/ZX8081.cpp b/Machines/ZX8081/ZX8081.cpp index f58d62013..6bf9cab22 100644 --- a/Machines/ZX8081/ZX8081.cpp +++ b/Machines/ZX8081/ZX8081.cpp @@ -253,6 +253,10 @@ void Machine::configure_as_target(const StaticAnalyser::Target &target) { if(target.tapes.size()) { tape_player_.set_tape(target.tapes.front()); } + + if(target.loadingCommand.length()) { + set_typer_for_string(target.loadingCommand.c_str()); + } } void Machine::set_rom(ROMType type, std::vector data) { diff --git a/StaticAnalyser/ZX8081/StaticAnalyser.cpp b/StaticAnalyser/ZX8081/StaticAnalyser.cpp index 6b8cf3afd..f7e86d02a 100644 --- a/StaticAnalyser/ZX8081/StaticAnalyser.cpp +++ b/StaticAnalyser/ZX8081/StaticAnalyser.cpp @@ -47,6 +47,14 @@ void StaticAnalyser::ZX8081::AddTargets( target.zx8081.memory_model = ZX8081MemoryModel::Unexpanded; } target.tapes = tapes; + + // TODO: how to run software once loaded? Might require a BASIC detokeniser. + if(target.zx8081.isZX81) { + target.loadingCommand = "J\"\"\n"; + } else { + target.loadingCommand = "W\n"; + } + destination.push_back(target); } }