diff --git a/doc/compilers.txt b/doc/compilers.txt index c6a0ce72..49df1955 100644 --- a/doc/compilers.txt +++ b/doc/compilers.txt @@ -1,4 +1,6 @@ +C COMPILERS + cc65 - A fairly mature C compiler + toolchain for the 6502 family with lots of target platforms and an extensive library. The code generation is not great, using the AX register pair and a parameter stack for local variables that has to be @@ -51,12 +53,27 @@ WLA-DX - Some other weird cross-assembler with lots of CPU targets. z88dk - A Small C-derived cross-compiler for the Z80, supporting 20 target machines. -SWEET16 - Woz's tiny bytecode interpreter on the Apple ][ integer BASIC ROM. -Still emcumbered by Apple's copyright for the foreseeable future. -http://6502.org/source/interpreters/sweet16.htm - https://github.com/EtchedPixels/FUZIX/wiki gcc6809 - need to check this out +OTHER COMPILERS + +Java Grinder - Compile Java bytecode to microcontroller assembly. Currently +supporting MSP430, dsPIC, 6502/6510, 68000, MIPS, TMS9900, and Z80 with +platforms that include Commodore 64, Sega Genesis, Atari 2600, Apple IIgs, +ChipKit (PIC32), TI99, TI84 and more. + +ZX Basic - This cross-compiler is focused on ZX-Spectrum, but with some +patchworking it can be used to compile to whatever machine running on z80 +architecture. (Python) + +IntyBASIC: a BASIC compiler for Intellivision. IntyBASIC is a cross +compiler that takes BASIC source code and translates it to CP1610 assembler +code. http://nanochess.org/intybasic.html + +SWEET16 - Woz's tiny bytecode interpreter on the Apple ][ integer BASIC ROM. +Still emcumbered by Apple's copyright for the foreseeable future. +http://6502.org/source/interpreters/sweet16.htm + diff --git a/src/platform/mw8080bw.js b/src/platform/mw8080bw.js index aa24eed7..e734f43d 100644 --- a/src/platform/mw8080bw.js +++ b/src/platform/mw8080bw.js @@ -43,7 +43,7 @@ var Midway8080BWPlatform = function(mainElement) { this.start = function() { ram = new RAM(0x2000); - displayPCs = new Uint16Array(new ArrayBuffer(0x2000*2)); + //displayPCs = new Uint16Array(new ArrayBuffer(0x2000*2)); membus = { read: new AddressDecoder([ [0x0000, 0x1fff, 0x1fff, function(a) { return rom ? rom[a] : 0; }], @@ -56,7 +56,7 @@ var Midway8080BWPlatform = function(mainElement) { var ofs = (a - 0x400)<<3; for (var i=0; i<8; i++) pixels[ofs+i] = (v & (1<>3) + (y*32) + 0x400; - console.log(x, y, hex(addr,4), "PC", hex(displayPCs[addr],4)); + if (displayPCs) console.log(x, y, hex(addr,4), "PC", hex(displayPCs[addr],4)); }); var idata = video.getFrameData(); setKeyboardFromMap(video, inputs, SPACEINV_KEYCODE_MAP); diff --git a/src/ui.js b/src/ui.js index 12e5ccae..99ef7c46 100644 --- a/src/ui.js +++ b/src/ui.js @@ -1025,10 +1025,10 @@ function setupDebugControls(){ } function showWelcomeMessage() { - if (qs['sharekey']) { + if (localStorage.getItem("__lastplatform")) { localStorage.setItem('8bitworkshop.splash', true); } - else if (!localStorage.getItem("8bitworkshop.splash")) { + if (!localStorage.getItem("8bitworkshop.splash") && qs['redir']) { // 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 @@ -1138,6 +1138,7 @@ function startPlatform() { // try to load last file (redirect) var lastid = localStorage.getItem("__lastid_"+platform_id) || localStorage.getItem("__lastid"); localStorage.removeItem("__lastid"); + qs['redir'] = '1'; gotoPresetNamed(lastid || PRESETS[0].id); return false; }