From 0dccb057011243fa809b1f9e8bdec57ac9c64f2f Mon Sep 17 00:00:00 2001 From: Steven Hugg Date: Thu, 27 Apr 2017 07:48:59 -0400 Subject: [PATCH] no splash screen when sharekey present --- favicon.ico | Bin 0 -> 16958 bytes src/emu.js | 1 + src/ui.js | 5 ++++- src/worker/workermain.js | 33 ++++++++++++++++++++++++++++++++- 4 files changed, 37 insertions(+), 2 deletions(-) create mode 100644 favicon.ico diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..0ee3708e94a3220136230f7168004a5905a4d7f9 GIT binary patch literal 16958 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 literal 0 HcmV?d00001 diff --git a/src/emu.js b/src/emu.js index 812d7c05..f1d09664 100644 --- a/src/emu.js +++ b/src/emu.js @@ -597,6 +597,7 @@ var BaseZ80Platform = function() { this.getToolForFilename = function(fn) { if (fn.endsWith(".c")) return "sdcc"; if (fn.endsWith(".s")) return "sdasz80"; + if (fn.endsWith(".ns")) return "naken"; return "z80asm"; } this.getDefaultExtension = function() { return ".c"; }; diff --git a/src/ui.js b/src/ui.js index 60d0e94c..12e5ccae 100644 --- a/src/ui.js +++ b/src/ui.js @@ -1025,7 +1025,10 @@ function setupDebugControls(){ } function showWelcomeMessage() { - if (!localStorage.getItem("8bitworkshop.splash")) { + if (qs['sharekey']) { + localStorage.setItem('8bitworkshop.splash', true); + } + else if (!localStorage.getItem("8bitworkshop.splash")) { // OH BOOTSTRAP YOU ARE SO AWESOME A+++++ // https://stackoverflow.com/questions/28270333/how-do-i-know-which-button-is-click-when-bootstrap-modal-closes // https://github.com/jschr/bootstrap-modal/issues/224 diff --git a/src/worker/workermain.js b/src/worker/workermain.js index d9457f69..47705b23 100644 --- a/src/worker/workermain.js +++ b/src/worker/workermain.js @@ -887,6 +887,37 @@ function preprocessMCPP(code, platform) { return {code:iout}; } +function assembleNAKEN(code, platform) { + load("naken_asm"); + var errors = []; + var match_fn = makeErrorMatcher(errors, /Error: (.+) at (.+):(\d+)/, 3, 1); + var Module = naken_asm({ + noInitialRun:true, + //logReadFiles:true, + print:match_fn, + printErr:print_fn + }); + var FS = Module['FS']; + //setupFS(FS); + FS.writeFile("main.asm", code); + Module.callMain(["-l", "-b", "main.asm"]); + try { + var aout = FS.readFile("out.bin", {encoding:'binary'}); + var alst = FS.readFile("out.lst", {encoding:'utf8'}); + //console.log(alst); + // 0x0000: 77 ld (hl),a cycles: 4 + var asmlines = parseListing(alst, /^0x([0-9a-f]+):\s+([0-9a-f]+)\s+(.+)cycles: (\d+)/i, 0, 1, 2, 3); + return { + output:aout, + errors:errors, + lines:asmlines, + intermediate:{listing:alst}, + }; + } catch(e) { + return {errors:errors}; + } +} + var TOOLS = { 'dasm': assembleDASM, 'acme': assembleACME, @@ -897,7 +928,7 @@ var TOOLS = { 'sdasz80': assemblelinkSDASZ80, 'sdcc': compileSDCC, 'xasm6809': assembleXASM6809, - //'nakenz80': assembleNAKEN_Z80, + 'naken': assembleNAKEN, } var TOOL_PRELOADFS = {