From cd4e08a2b86569de77a4a4f6242c810b09a17de3 Mon Sep 17 00:00:00 2001 From: Jeff Parsons Date: Mon, 25 Sep 2017 17:46:28 -0700 Subject: [PATCH] Playing with globals --- es6.html | 57 +---------------------- modules/shared/lib/defines.js | 2 +- modules/shared/lib/globals.js | 85 +++++++++++++++++++++++++++++++++++ modules/shared/lib/test.js | 3 ++ 4 files changed, 91 insertions(+), 56 deletions(-) create mode 100644 modules/shared/lib/globals.js create mode 100644 modules/shared/lib/test.js diff --git a/es6.html b/es6.html index 97cdf47f1..c1341e113 100644 --- a/es6.html +++ b/es6.html @@ -489,60 +489,7 @@ create your own PCx86 machines, see the PCx86 Documentati - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + diff --git a/modules/shared/lib/defines.js b/modules/shared/lib/defines.js index 14f56f4a7..60d462e68 100644 --- a/modules/shared/lib/defines.js +++ b/modules/shared/lib/defines.js @@ -1,5 +1,5 @@ /** - * @fileoverview Compile-time definitions used by C1Pjs and PCjs. + * @fileoverview Compile-time definitions used by PCjs. * @author Jeff Parsons * @copyright © Jeff Parsons 2012-2017 * diff --git a/modules/shared/lib/globals.js b/modules/shared/lib/globals.js new file mode 100644 index 000000000..67b94ac43 --- /dev/null +++ b/modules/shared/lib/globals.js @@ -0,0 +1,85 @@ +/** + * @fileoverview Global definitions used by PCjs. + * @author Jeff Parsons + * @copyright © Jeff Parsons 2012-2017 + * + * This file is part of PCjs, a computer emulation software project at . + * + * PCjs is free software: you can redistribute it and/or modify it under the terms of the + * GNU General Public License as published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. + * + * PCjs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without + * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with PCjs. If not, + * see . + * + * You are required to include the above copyright notice in every modified copy of this work + * and to display that copyright notice when the software starts running; see COPYRIGHT in + * . + * + * Some PCjs files also attempt to load external resource files, such as character-image files, + * ROM files, and disk image files. Those external resource files are not considered part of PCjs + * for purposes of the GNU General Public License, and the author does not claim any copyright + * as to their contents. + */ + +export const GLOBALS = { + APPVERSION: "1.x.x", // overridden by the Closure Compiler with the version in package.json + XMLVERSION: null, // set in non-COMPILED builds by embedMachine() if a version number was found in the machine XML + COPYRIGHT: "Copyright © 2012-2017 Jeff Parsons ", + LICENSE: "License: GPL version 3 or later ", + CSSCLASS: "pcjs", + SITEHOST: "localhost:8088", // overridden by the Closure Compiler with "www.pcjs.org" + COMPILED: false, // overridden by the Closure Compiler (to true) + DEBUG: true, // overridden by the Closure Compiler (to false) to remove DEBUG-only code + MAXDEBUG: false, // overridden by the Closure Compiler (to false) to remove MAXDEBUG-only code + PRIVATE: false // overridden by the Closure Compiler (to false) to enable PRIVATE code +}; + +/* + * RS-232 DB-25 Pin Definitions, mapped to bits 1-25 in a 32-bit status value. + * + * SerialPorts in PCjs machines are considered DTE (Data Terminal Equipment), which means they should be "virtually" + * connected to each other via a null-modem cable, which assumes the following cross-wiring: + * + * G 1 <-> 1 G (Ground) + * TD 2 <-> 3 RD (Received Data) + * RD 3 <-> 2 TD (Transmitted Data) + * RTS 4 <-> 5 CTS (Clear To Send) + * CTS 5 <-> 4 RTS (Request To Send) + * DSR 6+8 <-> 20 DTR (Data Terminal Ready) + * SG 7 <-> 7 SG (Signal Ground) + * DTR 20 <-> 6+8 DSR (Data Set Ready + Carrier Detect) + * RI 22 <-> 22 RI (Ring Indicator) + * + * TODO: Move these definitions to a more appropriate shared file at some point. + */ +export const RS232 = { + RTS: { + PIN: 4, + MASK: 0x00000010 + }, + CTS: { + PIN: 5, + MASK: 0x00000020 + }, + DSR: { + PIN: 6, + MASK: 0x00000040 + }, + CD: { + PIN: 8, + MASK: 0x00000100 + }, + DTR: { + PIN: 20, + MASK: 0x00100000 + }, + RI: { + PIN: 22, + MASK: 0x00400000 + } +}; diff --git a/modules/shared/lib/test.js b/modules/shared/lib/test.js new file mode 100644 index 000000000..ba9267a3c --- /dev/null +++ b/modules/shared/lib/test.js @@ -0,0 +1,3 @@ +import {GLOBALS} from './globals.js' + +alert(GLOBALS.COPYRIGHT);