From a7f9985785d65914d5cddfce79c3e49eaed98228 Mon Sep 17 00:00:00 2001 From: Jeff Parsons Date: Mon, 1 Feb 2016 15:50:32 -0800 Subject: [PATCH] Added more directory listings --- .../5170/ega/1152kb/rev3/debugger/machine.xml | 2 +- devices/pc/machine/README.md | 17 +- disks/pc/windows/1.04/README.md | 280 ++++++++++++++++++ ...6-WRITE.json => WIN104-DISK6-PROGRAM.json} | 0 disks/pc/windows/1.04/manifest.xml | 4 +- docs/pcjs/demos/components.xsl | 8 +- modules/pcjs/lib/serialport.js | 39 ++- modules/pcjs/templates/components.xsl | 8 +- 8 files changed, 337 insertions(+), 21 deletions(-) create mode 100644 disks/pc/windows/1.04/README.md rename disks/pc/windows/1.04/{WIN104-DISK6-WRITE.json => WIN104-DISK6-PROGRAM.json} (100%) diff --git a/devices/pc/machine/5170/ega/1152kb/rev3/debugger/machine.xml b/devices/pc/machine/5170/ega/1152kb/rev3/debugger/machine.xml index d78ca4649..1a71f56b5 100644 --- a/devices/pc/machine/5170/ega/1152kb/rev3/debugger/machine.xml +++ b/devices/pc/machine/5170/ega/1152kb/rev3/debugger/machine.xml @@ -16,6 +16,6 @@ - + diff --git a/devices/pc/machine/README.md b/devices/pc/machine/README.md index 20be221f4..eac8b54f4 100644 --- a/devices/pc/machine/README.md +++ b/devices/pc/machine/README.md @@ -65,18 +65,25 @@ Our pre-built [Model 5150](/devices/pc/machine/5150/) machines include: * [IBM PC, MDA, 64K](/devices/pc/machine/5150/mda/64kb/) * [IBM PC, MDA, 64K, Debugger](/devices/pc/machine/5150/mda/64kb/debugger/) +* [IBM PC, MDA, 64K, Soft Keyboard](/devices/pc/machine/5150/mda/64kb/softkbd/) * [IBM PC, CGA, 64K, DONKEY.BAS](/devices/pc/machine/5150/cga/64kb/donkey/) * [IBM PC, CGA, 64K, DONKEY.BAS, Debugger](/devices/pc/machine/5150/cga/64kb/donkey/debugger/) +* [IBM PC, CGA, 64K, Soft Keyboard](/devices/pc/machine/5150/cga/64kb/softkbd/) +* [IBM PC, CGA, 384K, Soft Keyboard](/devices/pc/machine/5150/cga/384kb/softkbd/) * [IBM PC, Dual Display, 64K](/devices/pc/machine/5150/dual/64kb/) ### Model 5160 Machine Configurations +* [IBM PC XT, MDA, 64K, 10Mb Drive, Soft Keyboard](/devices/pc/machine/5160/mda/64kb/softkbd/) * [IBM PC XT, MDA, 256K, 10Mb Drive](/devices/pc/machine/5160/mda/256kb/) * [IBM PC XT, MDA, 256K, 10Mb Drive, Debugger](/devices/pc/machine/5160/mda/256kb/debugger/) * [IBM PC XT, CGA, 256K, 10Mb Drive](/devices/pc/machine/5160/cga/256kb/demo/) * [IBM PC XT, CGA, 256K, 10Mb Drive, Debugger](/devices/pc/machine/5160/cga/256kb/demo/debugger/) +* [IBM PC XT, CGA, 256K, 10Mb Drive, Soft Keyboard](/devices/pc/machine/5160/cga/256kb/softkbd/) * [IBM PC XT, CGA, 256K, Windows 1.01](/devices/pc/machine/5160/cga/256kb/win101/) * [IBM PC XT, CGA, 256K, Windows 1.01, Debugger](/devices/pc/machine/5160/cga/256kb/win101/debugger/) +* [IBM PC XT, CGA, 256K, Windows 1.01, Soft Keyboard](/devices/pc/machine/5160/cga/256kb/win101/softkbd/) +* [IBM PC XT, CGA, 512K, Windows 1.01, Soft Keyboard](/devices/pc/machine/5160/cga/512kb/win101/softkbd/) * [IBM PC XT, CGA, 640K, 10Mb Drive](/devices/pc/machine/5160/cga/640kb/) * [IBM PC XT, CGA, 640K, 10Mb Drive, Debugger](/devices/pc/machine/5160/cga/640kb/debugger/) * [IBM PC XT, CGA, 640K, Multitasking MS-DOS 4.00](/devices/pc/machine/5160/cga/640kb/dos400m/) @@ -93,13 +100,3 @@ Our pre-built [Model 5150](/devices/pc/machine/5150/) machines include: * [IBM PC AT (6Mhz), EGA, 640K, Debugger](/devices/pc/machine/5170/ega/640kb/rev1/debugger/) * [IBM PC AT (6Mhz), EGA, 1152Kb, 20Mb Drive, Debugger](/devices/pc/machine/5170/ega/1152kb/rev1/debugger/) * [IBM PC AT (8Mhz), EGA, 1152Kb, 20Mb Drive, Debugger](/devices/pc/machine/5170/ega/1152kb/rev3/debugger/) - -### Machine Configurations with "Soft Keyboards" - -* [IBM PC, MDA, 64K](/devices/pc/machine/5150/mda/64kb/softkbd/) -* [IBM PC, CGA, 64K](/devices/pc/machine/5150/cga/64kb/softkbd/) -* [IBM PC, CGA, 384K](/devices/pc/machine/5150/cga/384kb/softkbd/) -* [IBM PC XT, MDA, 64K, 10Mb Drive](/devices/pc/machine/5160/mda/64kb/softkbd/) -* [IBM PC XT, CGA, 256K, 10Mb Drive](/devices/pc/machine/5160/cga/256kb/softkbd/) -* [IBM PC XT, CGA, 256K, Windows 1.01](/devices/pc/machine/5160/cga/256kb/win101/softkbd/) -* [IBM PC XT, CGA, 512K, Windows 1.01](/devices/pc/machine/5160/cga/512kb/win101/softkbd/) diff --git a/disks/pc/windows/1.04/README.md b/disks/pc/windows/1.04/README.md new file mode 100644 index 000000000..727857964 --- /dev/null +++ b/disks/pc/windows/1.04/README.md @@ -0,0 +1,280 @@ +--- +layout: page +title: Microsoft Windows 1.04 +permalink: /disks/pc/windows/1.04/ +--- + +Microsoft Windows 1.04 +--- + +Directory listings of the seven 360Kb distribution diskettes are provided below. + +### Directory of Windows 1.04 (SETUP) + + Volume in drive A is SETUP + + Directory of A:\ + + SETUP LBL 8 08-11-86 11:59a + SETUP EXE 36700 03-30-87 11:53a + KERNEL EXE 34111 04-07-87 5:40p + SYSTEM DRV 2663 07-09-86 3:15p + USA DRV 4005 03-31-87 9:50a + UK DRV 4009 03-31-87 9:51a + GERMANY DRV 4758 03-31-87 9:51a + FRANCE DRV 4773 03-31-87 9:51a + ITALY DRV 4027 03-31-87 9:51a + SPAIN DRV 4630 03-31-87 9:51a + SWEDEN DRV 4649 03-31-87 9:51a + NORWAY DRV 4649 03-31-87 9:51a + DENMARK DRV 4649 03-31-87 9:51a + ATTKBD DRV 3903 05-22-86 4:21p + MOUSE DRV 3358 08-21-86 5:15p + NOMOUSE DRV 1592 05-22-86 10:42a + MSMOUSE1 DRV 1966 05-22-86 10:45a + MSMOUSE2 DRV 1966 05-22-86 10:45a + LPC DRV 2438 05-22-86 10:41a + FTG DRV 1961 05-22-86 10:48a + JOYMOUSE DRV 2114 05-22-86 10:35a + LMOUSE DRV 2661 05-02-86 5:47p + ATTMOUSE DRV 2305 05-22-86 2:30p + CGA DRV 13008 06-24-86 8:39p + HERCULES DRV 15776 06-24-86 8:41p + EGAMONO DRV 13952 06-24-86 8:36p + EGAHIBW DRV 13952 06-24-86 8:35p + EGALORES DRV 15648 06-24-86 8:46p + EGAHIRES DRV 17536 06-24-86 8:47p + ATTDC DRV 15776 02-27-87 2:24p + ATTDEB DRV 17824 05-23-86 2:23p + GENIUS DRV 15216 02-22-87 2:22a + SOUND DRV 5853 05-22-86 11:49a + COMM DRV 4863 01-26-87 12:52p + LOFONTS FON 5552 07-29-86 4:42p + HIFONTS FON 7472 07-29-86 4:42p + FONTS400 FON 7952 07-29-86 4:42p + RAMDRIVE SYS 6680 08-01-86 5:59a + EMM PC 12898 07-30-85 5:15p + EMM AT 12874 07-30-85 5:33p + WRITE DAT 47 08-11-86 12:02p + 41 file(s) 340774 bytes + + Total files listed: + 41 file(s) 340774 bytes + 3072 bytes free + +### Directory of Windows 1.04 (BUILD) + + Volume in drive A is BUILD + + Directory of A:\ + + BUILD LBL 8 08-11-86 12:02p + GDI EXE 93502 04-09-87 11:40a + USER EXE 122848 04-08-87 8:19p + MSDOSD EXE 6242 06-23-86 2:32p + MSDOS EXE 43104 03-25-87 10:45p + CGA GRB 1394 04-10-87 5:49p + EGALORES GRB 1257 04-10-87 5:50p + EGAHIRES GRB 15 07-24-85 1:55p + EGAHIBW GRB 15 07-24-85 1:55p + EGAMONO GRB 1105 04-10-87 5:50p + HERCULES GRB 1294 04-10-87 5:49p + ATTDC GRB 1307 02-22-86 10:34a + ATTDEB GRB 12 05-23-86 1:11p + GENIUS GRB 9 07-29-86 3:55p + WIN CNF 1936 11-12-85 4:13p + EGALORES LGO 9 06-27-85 12:29p + EGAHIRES LGO 9 06-27-85 12:29p + EGAHIBW LGO 9 06-27-85 12:29p + GENIUS LGO 9 06-27-85 12:29p + EGAMONO LGO 2942 03-30-87 11:40a + HERCULES LGO 3066 03-30-87 11:40a + CGA LGO 2943 03-30-87 11:39a + ATTDC LGO 2916 05-28-86 11:30a + ATTDEB LGO 3095 05-28-86 11:31a + WIN INI 2093 05-22-86 1:50p + WINOLDAP MOD 19824 08-01-86 3:16a + SPOOLER EXE 13360 04-08-87 7:53p + 27 file(s) 324323 bytes + + Total files listed: + 27 file(s) 324323 bytes + 18432 bytes free + +### Directory of Windows 1.04 (UTILITY) + + Volume in drive A is UTILITY + + Directory of A:\ + + UTILITY LBL 11 04-02-87 11:30a + EPSON DRV 14352 04-02-87 11:30a + HPPCL DRV 72064 04-02-87 11:30a + IBMGRX DRV 12288 04-02-87 11:30a + OKI92 DRV 12416 04-02-87 11:30a + CITOH DRV 12016 04-02-87 11:30a + TI850 DRV 11584 04-02-87 11:30a + TOSH DRV 12432 04-02-87 11:30a + NECP2 DRV 12304 04-02-87 11:30a + SG10 DRV 14848 04-02-87 11:30a + EPSONMX DRV 12176 04-02-87 11:30a + TTY DRV 4800 04-02-87 11:30a + PSCRIPT DRV 112752 04-02-87 11:30a + THINKJET DRV 12128 04-02-87 11:30a + XER4020 DRV 21024 04-02-87 11:30a + 15 file(s) 337195 bytes + + Total files listed: + 15 file(s) 337195 bytes + 16384 bytes free + +### Directory of Windows 1.04 (FONT) + + Volume in drive A is FONT + + Directory of A:\ + + FONT LBL 7 04-02-87 11:28a + COURA FON 8720 04-02-87 11:28a + COURB FON 12304 04-02-87 11:28a + COURC FON 8784 04-02-87 11:28a + COURD FON 15136 04-02-87 11:28a + HELVA FON 27056 04-02-87 11:28a + HELVB FON 37680 04-02-87 11:28a + HELVC FON 26624 04-02-87 11:28a + HELVD FON 45600 04-02-87 11:28a + TMSRA FON 26256 04-02-87 11:28a + TMSRB FON 36240 04-02-87 11:28a + TMSRC FON 25824 04-02-87 11:28a + TMSRD FON 45200 04-02-87 11:28a + ROMAN FON 11120 04-02-87 11:28a + SCRIPT FON 10304 04-02-87 11:28a + MODERN FON 7584 04-02-87 11:28a + 16 file(s) 344439 bytes + + Total files listed: + 16 file(s) 344439 bytes + 9216 bytes free + +### Directory of Windows 1.04 (APPS) + + Volume in drive A is APPS + + Directory of A:\ + + CALC EXE 26496 03-11-87 9:55a + CALENDAR EXE 37552 05-22-86 7:55a + CARDFILE EXE 36992 05-22-86 4:23a + CLIPBRD EXE 9712 05-22-86 6:17a + CLOCK EXE 7984 05-22-86 6:08a + CONTROL EXE 52736 03-16-87 5:13p + NOTEPAD EXE 18736 05-22-86 6:28a + PAINT EXE 90512 05-11-87 2:35p + REVERSI EXE 15392 03-11-87 10:15a + TERMINAL EXE 47344 06-12-86 11:22a + ABC TXT 42 06-04-85 9:07a + DOTHIS TXT 493 10-25-85 1:02p + 12 file(s) 343991 bytes + + Total files listed: + 12 file(s) 343991 bytes + 11264 bytes free + +### Directory of Windows 1.04 (PROGRAM) + + Volume in drive A is WRITE + + Directory of A:\ + + PIF 05-08-87 12:18p + README TXT 10173 04-07-87 5:57p + WRITE EXE 192176 05-08-87 10:00a + PRACTICE WRI 2944 09-09-85 3:04p + 4 file(s) 205293 bytes + + Directory of A:\PIF + + . 05-08-87 12:18p + .. 05-08-87 12:18p + PIFEDIT EXE 28528 03-23-87 12:48p + 123 PIF 369 10-26-85 12:57p + 123-2 PIF 369 10-26-85 12:58p + BASIC PIF 369 10-14-85 6:02p + BASICA PIF 369 10-14-85 6:03p + CHART PIF 369 09-18-85 11:09a + CLOUT PIF 369 06-26-85 2:39p + DBASE PIF 369 09-18-85 11:16a + DBASE2 PIF 369 09-18-85 11:16a + DBASE3 PIF 369 09-18-85 11:17a + DW2PG PIF 369 09-18-85 11:18a + DW3PG PIF 369 09-18-85 11:19a + FILE PIF 369 09-18-85 11:28a + FW PIF 369 07-16-86 12:21p + FWC PIF 369 09-18-85 11:29a + FWT PIF 369 09-18-85 11:30a + GRAPH PIF 369 09-18-85 11:31a + HTPM PIF 369 01-03-80 4:23p + IBMFILE PIF 369 09-18-85 11:44a + IBMGRAPH PIF 369 09-18-85 11:45a + IBMREPRT PIF 369 01-03-80 3:12p + IBMWRITE PIF 369 01-03-80 3:23p + LOTUS PIF 369 10-26-85 12:58p + LOTUS2 PIF 369 10-26-85 1:17p + MP PIF 369 09-18-85 11:35a + MSACCESS PIF 369 12-18-85 1:09p + PE PIF 369 05-01-86 4:45p + PC-DRAW PIF 369 09-24-85 10:39a + PFSACCES PIF 369 01-03-80 3:36p + PLAN PIF 369 09-18-85 11:49a + PROEDIT PIF 369 09-18-85 11:50a + PROJ PIF 369 09-18-85 11:51a + PROJM PIF 369 09-18-85 11:52a + QB PIF 369 08-08-86 11:35a + RB5000 PIF 369 11-07-85 5:16p + RBASE PIF 369 09-18-85 12:02p + REPORT PIF 369 09-18-85 12:03p + RG PIF 369 09-18-85 12:04p + SC3 PIF 369 09-18-85 12:05p + SCOM PIF 369 09-18-85 12:06p + SCOMII PIF 369 09-18-85 12:06p + SPELL PIF 369 09-19-85 11:53a + SYMPHACC PIF 369 08-27-85 6:37a + SYMPHONY PIF 369 09-18-85 12:13p + TURBO PIF 369 09-18-85 12:13p + VX PIF 369 01-03-80 3:45p + WORD PIF 369 10-14-86 12:25p + WORDEGA PIF 369 03-11-87 11:08a + WP PIF 369 09-18-85 12:18p + WRDPERF PIF 369 08-06-85 4:48p + WRITE PIF 369 09-18-85 12:19p + WS PIF 369 09-18-85 12:20p + WS2 PIF 369 08-08-86 5:29p + XTALK PIF 369 09-18-85 12:21p + XYWRITE PIF 369 01-03-80 1:31p + 57 file(s) 48454 bytes + + Total files listed: + 61 file(s) 253747 bytes + 70656 bytes free + +### Directory of Windows 1.04 (SUPPLEMENTAL) + + Volume in drive A is SPDISK + + Directory of A:\ + + PCLPFM PIF 369 01-14-87 8:26a + SOFTFONT INI 1341 01-12-87 12:31p + PCLPFM EXE 23892 03-09-87 6:49p + LASRHARD TXT 372 06-11-86 11:23a + LASRSOFT TXT 372 06-11-86 11:22a + HP7470A DRV 16336 07-29-86 2:20p + NEC3550 DRV 22512 05-22-86 10:23a + PSPREP TXT 15600 01-11-87 3:01p + PSREADME TXT 7047 04-06-87 11:17a + HPREADME TXT 5852 03-27-87 5:36p + 10 file(s) 93693 bytes + + Total files listed: + 10 file(s) 93693 bytes + 264192 bytes free diff --git a/disks/pc/windows/1.04/WIN104-DISK6-WRITE.json b/disks/pc/windows/1.04/WIN104-DISK6-PROGRAM.json similarity index 100% rename from disks/pc/windows/1.04/WIN104-DISK6-WRITE.json rename to disks/pc/windows/1.04/WIN104-DISK6-PROGRAM.json diff --git a/disks/pc/windows/1.04/manifest.xml b/disks/pc/windows/1.04/manifest.xml index 70f7e6b7c..5c693ff41 100644 --- a/disks/pc/windows/1.04/manifest.xml +++ b/disks/pc/windows/1.04/manifest.xml @@ -18,8 +18,8 @@ Windows 1.04 (APPS) - - Windows 1.04 (WRITE) + + Windows 1.04 (PROGRAM) Windows 1.04 (SUPP) diff --git a/docs/pcjs/demos/components.xsl b/docs/pcjs/demos/components.xsl index f78efd175..44847d83e 100644 --- a/docs/pcjs/demos/components.xsl +++ b/docs/pcjs/demos/components.xsl @@ -712,10 +712,16 @@ + + + + 0 + + serial - ,adapter:,binding:'' + ,adapter:,binding:'',tabSize: diff --git a/modules/pcjs/lib/serialport.js b/modules/pcjs/lib/serialport.js index 31777fcde..4d9a29e3d 100644 --- a/modules/pcjs/lib/serialport.js +++ b/modules/pcjs/lib/serialport.js @@ -48,6 +48,11 @@ if (NODE) { * * adapter: 1 (for port 0x3F8) or 2 (for port 0x2F8); 0 if not defined * + * binding: name of a control (based on its "binding" attribute) to bind to this port's I/O + * + * tabSize: set to a non-zero number to convert tabs to spaces (applies only to output to + * the above binding); default is 0 (no conversion) + * * WARNING: Since the XSL file defines 'adapter' as a number, not a string, there's no need to * use parseInt(), and as an added benefit, we don't need to worry about whether a hex or decimal * format was used. @@ -96,6 +101,14 @@ function SerialPort(parmsSerial) { */ this.controlIOBuffer = null; + /* + * If controlIOBuffer is being used AND 'tabSize' is set, then we make an attempt to monitor the characters + * being echoed via echoByte(), maintain a logical column position, and convert any tabs into the appropriate + * number of spaces. + */ + this.tabSize = parmsSerial['tabSize']; + this.iLogicalCol = 0; + Component.call(this, "SerialPort", parmsSerial, SerialPort, Messages.SERIAL); var sBinding = parmsSerial['binding']; @@ -805,13 +818,27 @@ SerialPort.prototype.updateIRR = function() SerialPort.prototype.echoByte = function(b) { if (this.controlIOBuffer) { - if (b != 0x0D) { - if (b == 0x08) { - this.controlIOBuffer.value = this.controlIOBuffer.value.slice(0, -1); - } else { - this.controlIOBuffer.value += String.fromCharCode(b); - this.controlIOBuffer.scrollTop = this.controlIOBuffer.scrollHeight; + if (b == 0x0D) { + this.iLogicalCol = 0; + } + else if (b == 0x08) { + this.controlIOBuffer.value = this.controlIOBuffer.value.slice(0, -1); + /* + * TODO: Back up the correct number of columns if the character erased was a tab. + */ + if (this.iLogicalCol > 0) this.iLogicalCol--; + } + else { + var s = String.fromCharCode(b); + var nChars = (b >= 0x20? 1 : 0); + if (b == 0x09) { + var tabSize = this.tabSize || 8; + nChars = tabSize - (this.iLogicalCol % tabSize); + if (this.tabSize) s = str.pad("", nChars); } + this.controlIOBuffer.value += s; + this.controlIOBuffer.scrollTop = this.controlIOBuffer.scrollHeight; + this.iLogicalCol += nChars; } return true; } diff --git a/modules/pcjs/templates/components.xsl b/modules/pcjs/templates/components.xsl index 26d8b8f34..ec6b11c4e 100644 --- a/modules/pcjs/templates/components.xsl +++ b/modules/pcjs/templates/components.xsl @@ -714,10 +714,16 @@ + + + + 0 + + serial - ,adapter:,binding:'' + ,adapter:,binding:'',tabSize: