From 0f06c3f039533bbe93345913b7490d43f5d66fe0 Mon Sep 17 00:00:00 2001 From: Jeff Parsons Date: Wed, 8 Oct 2014 16:15:12 -0700 Subject: [PATCH] The 5170 AT hard disk controller is limping along now, so I'm getting ready for a 1.15.4 release Some other interesting bugs were fixed along the way: the Video component incorrectly assumed that masking a negative number with 0x80000000 would yield 0x80000000 (it actually yields -0x80000000, thank you JavaScript); the ChipSet component provides a new addCMOSMemory() interface that RAM objects can use to bump the CMOS total to match the actual total; the CPU properly implements INSW and OUTSW instructions now (kind of important for the AT hard disk controller) --- apps/pc/1981/visicalc/manifest.xml | 2 +- apps/pc/1982/esuite/manifest.xml | 2 +- apps/pc/1985/rogue/manifest.xml | 2 +- apps/pc/1987/thinktank/manifest.xml | 2 +- apps/pc/1988/moria/manifest.xml | 2 +- apps/pc/1992/moria/manifest.xml | 2 +- configs/c1p/machines/32kb/machine.xml | 2 +- .../c1p/machines/8kb/all/debugger/machine.xml | 2 +- configs/c1p/machines/8kb/array/machine.xml | 2 +- .../machines/8kb/large/debugger/machine.xml | 2 +- configs/c1p/machines/8kb/large/machine.xml | 2 +- configs/c1p/machines/8kb/small/machine.xml | 2 +- .../5150/cga/384kb/softkbd/machine.xml | 2 +- .../5150/cga/64kb/donkey/debugger/machine.xml | 2 +- .../machines/5150/cga/64kb/donkey/machine.xml | 2 +- .../5150/cga/64kb/softkbd/machine.xml | 2 +- .../5150/mda/64kb/debugger/machine.xml | 8 +- configs/pc/machines/5150/mda/64kb/machine.xml | 2 +- .../5150/mda/64kb/softkbd/machine.xml | 8 +- .../machines/5160/cga/256kb/array/machine.xml | 2 +- .../5160/cga/256kb/demo/debugger/machine.xml | 2 +- .../machines/5160/cga/256kb/demo/machine.xml | 2 +- .../5160/cga/256kb/softkbd/machine.xml | 2 +- .../cga/256kb/win101/debugger/machine.xml | 2 +- .../5160/cga/256kb/win101/machine.xml | 2 +- .../5160/cga/256kb/win101/softkbd/machine.xml | 2 +- .../5160/cga/512kb/win101/softkbd/machine.xml | 2 +- .../5160/cga/640kb/debugger/machine.xml | 2 +- .../5160/cga/640kb/dos400m/machine.xml | 2 +- .../pc/machines/5160/cga/640kb/machine.xml | 2 +- .../5160/ega/256kb/debugger/machine.xml | 2 +- .../machines/5160/ega/640kb/array/machine.xml | 2 +- .../5160/ega/640kb/debugger/machine.xml | 2 +- .../pc/machines/5160/ega/640kb/machine.xml | 2 +- .../5160/ega/640kb/win101/machine.xml | 2 +- .../mda/256kb/fake188/debugger/machine.xml | 2 +- .../5160/mda/256kb/fake188/machine.xml | 2 +- .../pc/machines/5160/mda/256kb/machine.xml | 2 +- .../5160/mda/64kb/softkbd/machine.xml | 2 +- .../5170/ega/640kb/debugger/machine.xml | 2 +- .../5170/ega/640kb/debugger/manifest.xml | 2 +- configs/pc/machines/README.md | 1 + devices/pc/bios/5170/1984-01-10.json | 2 +- devices/pc/bios/5170/1984-01-10.map | 31 +- disks/pc/apps/lotus/123/1.0a/manifest.xml | 2 +- .../pc/apps/microsoft/word/2.0c/manifest.xml | 2 +- disks/pc/apps/microsoft/word/3.0/manifest.xml | 2 +- disks/pc/apps/microsoft/word/3.1/manifest.xml | 2 +- disks/pc/apps/microsoft/word/5.0/manifest.xml | 2 +- disks/pc/cpm/machine.xml | 2 +- disks/pc/cpm/manifest.xml | 2 +- disks/pc/diags/ibm/2.20/machine.xml | 2 +- disks/pc/diags/ibm/2.20/manifest.xml | 2 +- disks/pc/dos/ibm/1.00/manifest.xml | 2 +- disks/pc/dos/ibm/1.10/manifest.xml | 2 +- disks/pc/dos/ibm/2.00/manifest.xml | 2 +- disks/pc/dos/ibm/2.10/manifest.xml | 2 +- disks/pc/dos/ibm/3.00/manifest.xml | 2 +- disks/pc/dos/microsoft/3.20/manifest.xml | 2 +- disks/pc/dos/microsoft/3.30/manifest.xml | 2 +- disks/pc/dos/microsoft/3.30a/manifest.xml | 2 +- disks/pc/dos/microsoft/4.01/manifest.xml | 2 +- disks/pc/dos/microsoft/4.0M/manifest.xml | 2 +- disks/pc/games/infocom/hhiker/manifest.xml | 2 +- disks/pc/games/infocom/machine-debug.xml | 2 +- disks/pc/games/infocom/machine.xml | 2 +- disks/pc/games/infocom/planet/manifest.xml | 2 +- .../games/infocom/zork1/debugger/machine.xml | 2 +- disks/pc/games/infocom/zork1/manifest.xml | 2 +- disks/pc/games/infocom/zork2/manifest.xml | 2 +- disks/pc/games/infocom/zork3/manifest.xml | 2 +- .../pc/games/microsoft/adventure/machine.xml | 2 +- .../pc/games/microsoft/adventure/manifest.xml | 2 +- .../pc/games/microsoft/flightsim/manifest.xml | 2 +- disks/pc/minix/1.1/manifest.xml | 2 +- .../pc/tools/borland/pascal/3.0/manifest.xml | 2 +- disks/pc/tools/microsoft/basic/manifest.xml | 2 +- disks/pc/tools/microsoft/c/4.00/manifest.xml | 2 +- .../pc/tools/microsoft/masm/4.00/manifest.xml | 2 +- .../tools/microsoft/mouse/5.00/manifest.xml | 2 +- .../tools/microsoft/winsdk/1.01/manifest.xml | 2 +- .../tools/microsoft/winsdk/1.04/manifest.xml | 2 +- .../tools/microsoft/winsdk/2.03/manifest.xml | 2 +- disks/pc/win/win101/manifest.xml | 2 +- disks/pc/win/win103/manifest.xml | 2 +- disks/pc/win/win103a/manifest.xml | 2 +- disks/pc/win/win104/manifest.xml | 2 +- disks/pc/win/win203/manifest.xml | 2 +- disks/pc/win/wincomm/manifest.xml | 2 +- disks/pc/xenix/8086/2.1.3/manifest.xml | 2 +- docs/pcjs/hdc/README.md | 19 + my_modules/pcjs-client/lib/chipset.js | 367 ++-- my_modules/pcjs-client/lib/cpu.js | 4 +- my_modules/pcjs-client/lib/debugger.js | 37 +- my_modules/pcjs-client/lib/fdc.js | 124 +- my_modules/pcjs-client/lib/hdc.js | 1737 ++++++++++++----- my_modules/pcjs-client/lib/ram.js | 1 + my_modules/pcjs-client/lib/serial.js | 22 +- my_modules/pcjs-client/lib/video.js | 98 +- my_modules/pcjs-client/lib/x86opxx.js | 6 +- my_modules/pcjs-client/lib/x86seg.js | 6 + .../pcjs-client/templates/components.xsl | 8 +- package.json | 4 +- pubs/pc/programming/manifest.xml | 2 +- .../reference/ibm/5150/techref/manifest.xml | 2 +- .../reference/ibm/5160/techref/manifest.xml | 2 +- pubs/pc/reference/ibm/5170/setup/manifest.xml | 2 +- .../reference/ibm/5170/techref/manifest.xml | 2 +- pubs/pc/reference/ibm/ega/manifest.xml | 2 +- pubs/pc/reference/ibm/ps2/manifest.xml | 2 +- pubs/pc/reference/intel/80286/manifest.xml | 2 +- pubs/pc/software/os2/sdk10/manifest.xml | 2 +- pubs/pc/software/windows/sdk20/manifest.xml | 2 +- versions/pcjs/1.15.3/pc-dbg.js | 1392 ++++++------- versions/pcjs/1.15.3/pc.js | 650 +++--- 115 files changed, 2808 insertions(+), 1907 deletions(-) diff --git a/apps/pc/1981/visicalc/manifest.xml b/apps/pc/1981/visicalc/manifest.xml index b236ae940..1235781a0 100644 --- a/apps/pc/1981/visicalc/manifest.xml +++ b/apps/pc/1981/visicalc/manifest.xml @@ -1,5 +1,5 @@ - + VisiCalc diff --git a/apps/pc/1982/esuite/manifest.xml b/apps/pc/1982/esuite/manifest.xml index 43693c661..1d650db13 100644 --- a/apps/pc/1982/esuite/manifest.xml +++ b/apps/pc/1982/esuite/manifest.xml @@ -1,5 +1,5 @@ - + Executive Suite diff --git a/apps/pc/1985/rogue/manifest.xml b/apps/pc/1985/rogue/manifest.xml index b8cbd4567..754ffa7d2 100644 --- a/apps/pc/1985/rogue/manifest.xml +++ b/apps/pc/1985/rogue/manifest.xml @@ -1,5 +1,5 @@ - + Rogue diff --git a/apps/pc/1987/thinktank/manifest.xml b/apps/pc/1987/thinktank/manifest.xml index d42e7713d..8536b9554 100644 --- a/apps/pc/1987/thinktank/manifest.xml +++ b/apps/pc/1987/thinktank/manifest.xml @@ -1,5 +1,5 @@ - + ThinkTank 2.41NP diff --git a/apps/pc/1988/moria/manifest.xml b/apps/pc/1988/moria/manifest.xml index 67de6077c..5f8dd909a 100644 --- a/apps/pc/1988/moria/manifest.xml +++ b/apps/pc/1988/moria/manifest.xml @@ -1,5 +1,5 @@ - + The Dungeons of Moria 4.872 diff --git a/apps/pc/1992/moria/manifest.xml b/apps/pc/1992/moria/manifest.xml index 0fab75e58..8b6450215 100644 --- a/apps/pc/1992/moria/manifest.xml +++ b/apps/pc/1992/moria/manifest.xml @@ -1,5 +1,5 @@ - + The Dungeons of Moria 5.5 diff --git a/configs/c1p/machines/32kb/machine.xml b/configs/c1p/machines/32kb/machine.xml index 07577894e..753fd2639 100644 --- a/configs/c1p/machines/32kb/machine.xml +++ b/configs/c1p/machines/32kb/machine.xml @@ -1,5 +1,5 @@ - + OSI Challenger 1P (32Kb) with Disk Support diff --git a/configs/c1p/machines/8kb/all/debugger/machine.xml b/configs/c1p/machines/8kb/all/debugger/machine.xml index 29b80cef4..6a04d325d 100644 --- a/configs/c1p/machines/8kb/all/debugger/machine.xml +++ b/configs/c1p/machines/8kb/all/debugger/machine.xml @@ -1,5 +1,5 @@ - + OSI Challenger 1P (8Kb, More Programs) diff --git a/configs/c1p/machines/8kb/array/machine.xml b/configs/c1p/machines/8kb/array/machine.xml index 7e2063969..c0bfdd571 100644 --- a/configs/c1p/machines/8kb/array/machine.xml +++ b/configs/c1p/machines/8kb/array/machine.xml @@ -1,5 +1,5 @@ - + Challenger 1P (8Kb) "Server Array" diff --git a/configs/c1p/machines/8kb/large/debugger/machine.xml b/configs/c1p/machines/8kb/large/debugger/machine.xml index 3384c404f..fd4e5506d 100644 --- a/configs/c1p/machines/8kb/large/debugger/machine.xml +++ b/configs/c1p/machines/8kb/large/debugger/machine.xml @@ -1,5 +1,5 @@ - + OSI Challenger 1P (8Kb) with Debugger diff --git a/configs/c1p/machines/8kb/large/machine.xml b/configs/c1p/machines/8kb/large/machine.xml index fa8074424..4db8de576 100644 --- a/configs/c1p/machines/8kb/large/machine.xml +++ b/configs/c1p/machines/8kb/large/machine.xml @@ -1,5 +1,5 @@ - + OSI Challenger 1P (circa 1978) diff --git a/configs/c1p/machines/8kb/small/machine.xml b/configs/c1p/machines/8kb/small/machine.xml index 34a8b7afb..325a0cce7 100644 --- a/configs/c1p/machines/8kb/small/machine.xml +++ b/configs/c1p/machines/8kb/small/machine.xml @@ -1,5 +1,5 @@ - + diff --git a/configs/pc/machines/5150/cga/384kb/softkbd/machine.xml b/configs/pc/machines/5150/cga/384kb/softkbd/machine.xml index 978570289..dcefc0bec 100644 --- a/configs/pc/machines/5150/cga/384kb/softkbd/machine.xml +++ b/configs/pc/machines/5150/cga/384kb/softkbd/machine.xml @@ -1,5 +1,5 @@ - + IBM PC (Model 5150), CGA, 384K diff --git a/configs/pc/machines/5150/cga/64kb/donkey/debugger/machine.xml b/configs/pc/machines/5150/cga/64kb/donkey/debugger/machine.xml index b7d9d5fce..93fed1643 100644 --- a/configs/pc/machines/5150/cga/64kb/donkey/debugger/machine.xml +++ b/configs/pc/machines/5150/cga/64kb/donkey/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC (Model 5150), CGA, 64K diff --git a/configs/pc/machines/5150/cga/64kb/donkey/machine.xml b/configs/pc/machines/5150/cga/64kb/donkey/machine.xml index 3dc025875..089d9dbb7 100644 --- a/configs/pc/machines/5150/cga/64kb/donkey/machine.xml +++ b/configs/pc/machines/5150/cga/64kb/donkey/machine.xml @@ -1,5 +1,5 @@ - + IBM PC (Model 5150), CGA, 64K diff --git a/configs/pc/machines/5150/cga/64kb/softkbd/machine.xml b/configs/pc/machines/5150/cga/64kb/softkbd/machine.xml index 5afaa9a8d..41a059d86 100644 --- a/configs/pc/machines/5150/cga/64kb/softkbd/machine.xml +++ b/configs/pc/machines/5150/cga/64kb/softkbd/machine.xml @@ -1,5 +1,5 @@ - + IBM PC (Model 5150), CGA, 64K diff --git a/configs/pc/machines/5150/mda/64kb/debugger/machine.xml b/configs/pc/machines/5150/mda/64kb/debugger/machine.xml index 782e5fc1e..017f933cd 100644 --- a/configs/pc/machines/5150/mda/64kb/debugger/machine.xml +++ b/configs/pc/machines/5150/mda/64kb/debugger/machine.xml @@ -1,18 +1,18 @@ - - + + IBM PC Model 5150 with Monochrome Display -