From 964eed08ea27cfcfbaebf90aae6f8f13e4ff9208 Mon Sep 17 00:00:00 2001 From: Jeff Parsons Date: Tue, 9 Feb 2016 14:55:16 -0800 Subject: [PATCH] Some Jekyll tweaks for developer/debug mode --- _developer.yml | 87 +++++++++++++++++++++++ disks/pc/windows/win95/4.00.950/README.md | 14 +++- modules/htmlout/lib/htmlout.js | 4 +- modules/pcjs/lib/defines.js | 4 +- modules/shared/lib/nodebug.js | 2 +- 5 files changed, 105 insertions(+), 6 deletions(-) diff --git a/_developer.yml b/_developer.yml index 1beee110a..d7b3c5ddc 100644 --- a/_developer.yml +++ b/_developer.yml @@ -2,3 +2,90 @@ developer: true pcjs: compiled: false + # + # Since pcjs.compiled is false, the following scripts will be included instead, in the order listed; + # and since nodebug.js is included immediately after defines.js, DEBUG code is disabled by default. + # + # Note that the Node web server is considerably smarter than the Jekyll templates we're using; Node + # will automatically skip (or include) nodebug.js depending on whether the server is in DEBUG mode, + # and will include nodebugger.js (and skip debugger.js) if DEBUGGER is disabled. The Node server + # also ensures that only one uncompiled copy of each of JavaScript file is included on a given page, + # regardless how many different machines are loaded on the page. + # + # But, you're a developer, otherwise you wouldn't be starting Jekyll like this: + # + # bundle exec jekyll serve --config _config.yml,_developer.yml + # + # so deal with it! ;-) + # + # NOTE: If you're debugging PCjs source code, you'll probably be happier using a JetBrains IDE like WebStorm, + # launching PCjs pages via Node rather than Jekyll, and using the JetBrains Chrome debugger plug-in. + # + pc_scripts: + - /modules/shared/lib/defines.js + - /modules/shared/lib/nodebug.js + - /modules/shared/lib/diskapi.js + - /modules/shared/lib/dumpapi.js + - /modules/shared/lib/reportapi.js + - /modules/shared/lib/userapi.js + - /modules/shared/lib/strlib.js + - /modules/shared/lib/usrlib.js + - /modules/shared/lib/weblib.js + - /modules/shared/lib/component.js + - /modules/pcjs/lib/defines.js + - /modules/pcjs/lib/x86.js + - /modules/pcjs/lib/interrupts.js + - /modules/pcjs/lib/messages.js + - /modules/pcjs/lib/panel.js + - /modules/pcjs/lib/bus.js + - /modules/pcjs/lib/memory.js + - /modules/pcjs/lib/cpu.js + - /modules/pcjs/lib/x86seg.js + - /modules/pcjs/lib/x86cpu.js + - /modules/pcjs/lib/x86fpu.js + - /modules/pcjs/lib/x86func.js + - /modules/pcjs/lib/x86ops.js + - /modules/pcjs/lib/x86op0f.js + - /modules/pcjs/lib/x86modb.js + - /modules/pcjs/lib/x86modw.js + - /modules/pcjs/lib/x86modb16.js + - /modules/pcjs/lib/x86modw16.js + - /modules/pcjs/lib/x86modb32.js + - /modules/pcjs/lib/x86modw32.js + - /modules/pcjs/lib/x86modsib.js + - /modules/pcjs/lib/chipset.js + - /modules/pcjs/lib/rom.js + - /modules/pcjs/lib/ram.js + - /modules/pcjs/lib/keyboard.js + - /modules/pcjs/lib/video.js + - /modules/pcjs/lib/parallelport.js + - /modules/pcjs/lib/serialport.js + - /modules/pcjs/lib/mouse.js + - /modules/pcjs/lib/disk.js + - /modules/pcjs/lib/fdc.js + - /modules/pcjs/lib/hdc.js + - /modules/pcjs/lib/debugger.js + - /modules/pcjs/lib/state.js + - /modules/pcjs/lib/computer.js + - /modules/shared/lib/embed.js + c1p_scripts: + - /modules/shared/lib/defines.js + - /modules/shared/lib/nodebug.js + - /modules/shared/lib/dumpapi.js + - /modules/shared/lib/reportapi.js + - /modules/shared/lib/strlib.js + - /modules/shared/lib/usrlib.js + - /modules/shared/lib/weblib.js + - /modules/shared/lib/component.js + - /modules/c1pjs/lib/defines.js + - /modules/c1pjs/lib/panel.js + - /modules/c1pjs/lib/cpu.js + - /modules/c1pjs/lib/rom.js + - /modules/c1pjs/lib/ram.js + - /modules/c1pjs/lib/keyboard.js + - /modules/c1pjs/lib/video.js + - /modules/c1pjs/lib/serial.js + - /modules/c1pjs/lib/disk.js + - /modules/c1pjs/lib/debugger.js + - /modules/c1pjs/lib/computer.js + - /modules/shared/lib/embed.js diff --git a/disks/pc/windows/win95/4.00.950/README.md b/disks/pc/windows/win95/4.00.950/README.md index 49d3ebc9b..5d1510b60 100644 --- a/disks/pc/windows/win95/4.00.950/README.md +++ b/disks/pc/windows/win95/4.00.950/README.md @@ -11,8 +11,20 @@ machines: Microsoft Windows 95 (First Retail Release) --- +Windows 95 was the successor to Windows 3.1 and included a number of important new features: + + * Support for 32-bit Windows applications + * Long mixed-case filenames (up to 255 characters) + * GUI improvements (e.g., Explorer, **Start** button, Taskbar, shortcuts) + +It was also first version of Windows that *required* an 80386 CPU (preferably a D-stepping or later). + Windows 95 was released to manufacturing on July 14, 1995 and went on sale at midnight on August 24, 1995. -More information about the Windows 95 demo below is available in the [PCjs Blog](/blog/2015/09/21/). +It is shown running below, following a "Compact Installation" on a 68Mb hard disk. Before the machine can +start, it must download the disk image, which may take a minute or two, depending on the speed of your +internet connection. + +More information about this Windows 95 demo is available in the [PCjs Blog](/blog/2015/09/21/). {% include machine.html id="deskpro386" %} diff --git a/modules/htmlout/lib/htmlout.js b/modules/htmlout/lib/htmlout.js index c2c5cfbc6..42eeb0d60 100644 --- a/modules/htmlout/lib/htmlout.js +++ b/modules/htmlout/lib/htmlout.js @@ -1894,8 +1894,8 @@ HTMLOut.prototype.processMachines = function(aMachines, done) } } /* - * Step 2: If there's a "debugger.js" source file in the list of uncompiled files, we need to remove it, - * which we do by using the Array splice() method, removing the 1 matching element from the array. + * Step 2: If there's a "debugger.js" source file in the list of uncompiled files, we need to remove + * it, which we do by using the Array splice() method, removing the 1 matching element from the array. */ for (i = 0; i < asFiles.length; i++) { if (asFiles[i].indexOf("/debugger.js") >= 0) { diff --git a/modules/pcjs/lib/defines.js b/modules/pcjs/lib/defines.js index 587877cf3..ae8a95daa 100644 --- a/modules/pcjs/lib/defines.js +++ b/modules/pcjs/lib/defines.js @@ -93,7 +93,7 @@ var TYPEDARRAYS = (typeof ArrayBuffer !== 'undefined'); * TODO: BACKTRACK support is currently completely disabled until we have a chance to investigate the problem * discussed in Bus.addBackTrackObject(). */ -var BACKTRACK = !COMPILED; +var BACKTRACK = !COMPILED && DEBUG; /** * @define {boolean} @@ -127,7 +127,7 @@ var I386 = true; * * COMPAQ386 enables Compaq DeskPro 386 support. Requires I386 support as well (duh). */ -var COMPAQ386 = true; +var COMPAQ386 = I386; /** * @define {boolean} diff --git a/modules/shared/lib/nodebug.js b/modules/shared/lib/nodebug.js index 987751a0c..9b6375140 100644 --- a/modules/shared/lib/nodebug.js +++ b/modules/shared/lib/nodebug.js @@ -39,7 +39,7 @@ * so that all DEBUG-only code will be removed by the compiler. * * However, when we're in "development mode" and want to run uncompiled code without any DEBUG-only - * code, we must arrange for this additional file, nodebug.js, to be loaded as early as possible, + * code, we must arrange for this additional file (nodebug.js) to be loaded immediately after defines.js, * which will then set DEBUG to false at runtime. */ DEBUG = false;