Skip to content

Commit

Permalink
Merge pull request #282 from kieranhj/pause-and-step
Browse files Browse the repository at this point in the history
Add pause and step feature.
  • Loading branch information
mattgodbolt committed Oct 17, 2019
2 parents 15e69ca + 07dc052 commit 95cf938
Showing 1 changed file with 23 additions and 2 deletions.
25 changes: 23 additions & 2 deletions main.js
Expand Up @@ -42,6 +42,8 @@ require(['jquery', 'underscore', 'utils', 'video', 'soundchip', 'ddnoise', 'debu
var fastAsPossible = false;
var fastTape = false;
var noSeek = false;
var pauseEmu = false;
var stepEmuWhenPaused = false;
var audioFilterFreq = 7000;
var audioFilterQ = 5;

Expand Down Expand Up @@ -344,13 +346,24 @@ require(['jquery', 'underscore', 'utils', 'video', 'soundchip', 'ddnoise', 'debu

function keyPress(evt) {
if (document.activeElement.id === 'paste-text') return;
if (running || !dbgr.enabled()) return;
if (running || (!dbgr.enabled() && !pauseEmu)) return;
var code = keyCode(evt);
if (code === 103 /* lower case g */) {
if (dbgr.enabled() && code === 103 /* lower case g */) {
dbgr.hide();
go();
return;
}
if (pauseEmu) {
if (code === 103 /* lower case g */) {
pauseEmu = false;
go();
return;
} else if (code === 110 /* lower case n */) {
stepEmuWhenPaused = true;
go();
return;
}
}
var handled = dbgr.keyPress(keyCode(evt));
if (handled) evt.preventDefault();
}
Expand Down Expand Up @@ -383,6 +396,10 @@ require(['jquery', 'underscore', 'utils', 'video', 'soundchip', 'ddnoise', 'debu
} else if (code === utils.keyCodes.INSERT && evt.ctrlKey) {
utils.noteEvent('keyboard', 'press', 'insert');
fastAsPossible = !fastAsPossible;
} else if (code === utils.keyCodes.END && evt.ctrlKey) {
utils.noteEvent('keyboard', 'press', 'end');
pauseEmu = true;
stop(false);
} else if (code === utils.keyCodes.F12 || code === utils.keyCodes.BREAK) {
utils.noteEvent('keyboard', 'press', 'break');
processor.setReset(true);
Expand Down Expand Up @@ -1323,6 +1340,10 @@ require(['jquery', 'underscore', 'utils', 'video', 'soundchip', 'ddnoise', 'debu
dbgr.debug(processor.pc);
throw e;
}
if (stepEmuWhenPaused) {
stop(false);
stepEmuWhenPaused = false;
}
}
last = now;
}
Expand Down

0 comments on commit 95cf938

Please sign in to comment.