By default, do not halt on BRK (#14)
This change introduces a new command line flag, '-b', that cause the simulator to halt on the `BRK` instruction. By default, however, the simulator will no longer halt on `BRK`. As before, this behavior can be toggled in the preferences at run-time.
This commit is contained in:
1 parent
5e56627f32
commit
0c026e38dd
5 files changed
+18
-10
No files matched your search
@@ -53,6 +53,7 @@ public class Main {
|
||||
options.addOption(new Option("m", "machine", true, "Specify machine type."));
|
||||
options.addOption(new Option("c", "cpu", true, "Specify CPU type."));
|
||||
options.addOption(new Option("r", "rom", true, "Specify ROM file."));
|
||||
options.addOption(new Option("b", "brk", false, "Halt on BRK"));
|
||||
|
||||
CommandLineParser parser = new DefaultParser();
|
||||
|
||||
@@ -60,6 +61,7 @@ public class Main {
|
||||
CommandLine line = parser.parse(options, args);
|
||||
InstructionTable.CpuBehavior cpuBehavior = null;
|
||||
String romFile = null;
|
||||
boolean haltOnBreak = false;
|
||||
|
||||
if (line.hasOption("machine")) {
|
||||
String machine = line.getOptionValue("machine").toLowerCase(Locale.ENGLISH);
|
||||
@@ -104,6 +106,10 @@ public class Main {
|
||||
romFile = line.getOptionValue("rom");
|
||||
}
|
||||
|
||||
if (line.hasOption("brk")) {
|
||||
haltOnBreak = true;
|
||||
}
|
||||
|
||||
while (true) {
|
||||
if (machineClass == null) {
|
||||
Object[] possibilities = {"Symon", "Multicomp", "Simple", "BenEater"};
|
||||
@@ -132,7 +138,7 @@ public class Main {
|
||||
cpuBehavior = InstructionTable.CpuBehavior.NMOS_6502;
|
||||
}
|
||||
|
||||
final Simulator simulator = new Simulator(machineClass, cpuBehavior, romFile);
|
||||
final Simulator simulator = new Simulator(machineClass, cpuBehavior, romFile, haltOnBreak);
|
||||
|
||||
SwingUtilities.invokeLater(new Runnable() {
|
||||
@Override
|
||||
|
||||
Reference in new issue
Block a user