diff --git a/Gruntfile.js b/Gruntfile.js index c11df4238..84ec5eeb2 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -379,12 +379,12 @@ module.exports = function(grunt) { } } }, - "demos": { + "examples": { files: [ { cwd: "versions/pcjs/<%= pkg.version %>/", src: ["pc.js", "pc-dbg.js", "components.css", "components.xsl"], - dest: "docs/pcjs/demos/", + dest: "docs/pcjs/examples/", expand: true } ], @@ -457,8 +457,8 @@ module.exports = function(grunt) { cmd: "./modules/htmlout/bin/delete_indexes.sh", args: [] }, - "zipify-demos": { - options: {cwd: "docs/pcjs/demos"}, + "zip-examples": { + options: {cwd: "docs/pcjs/examples"}, cmd: "./zip.sh", args: ["v" + pkg.version + ".zip"] } @@ -512,6 +512,6 @@ module.exports = function(grunt) { grunt.registerTask("promote", ["replace:promote-to-version"]); grunt.registerTask("clean", ["run:delete-indexes"]); grunt.registerTask("copyfiles", grunt.option("rebuild")? ["copy"] : ["newer:copy"]); - grunt.registerTask("default-osx", ["compile", "copyfiles", "run:zipify-demos"]); + grunt.registerTask("default-osx", ["compile", "copyfiles", "run:zip-examples"]); grunt.registerTask("default", ["compile", "copyfiles"]); }; diff --git a/README.md b/README.md index 34f8d655f..3d0a35b05 100644 --- a/README.md +++ b/README.md @@ -5,8 +5,12 @@ Welcome to [PCjs](/docs/about/pcjs/), the first IBM PC simulation to run in your It was added to the [JavaScript Machines](/docs/about/) project in Fall 2012, and it is now part of the [PCjs Project](https://github.com/jeffpar/pcjs) on [GitHub](http://github.com/). The project includes: -* [PCjs](/docs/pcjs/), a simulation of the original IBM PC (circa 1981) -* [C1Pjs](/docs/c1pjs/), a simulation of the OSI Challenger 1P (circa 1978) +* [PCjs](/docs/pcjs/), a simulation of the IBM PC and PC compatibles +* [C1Pjs](/docs/c1pjs/), a simulation of the 6502-based OSI Challenger 1P + +PCjs first simulated the 4.77Mhz 8088-based IBM PC, and has steadily evolved to support more classic machines, +including the IBM PC XT, the 80286-based IBM PC AT, and the 80386-based COMPAQ DeskPro 386. PCjs fully supports +the machines' original ROMs, video cards, etc, and all machines run at their original speeds. All the simulations are written entirely in JavaScript. No Flash, Java or other plugins are required. Supported browsers include modern versions of Chrome, Safari, Firefox, Internet Explorer (v9.0 and up), Edge, @@ -59,8 +63,8 @@ Developer Notes The [PCjs repository](https://github.com/jeffpar/pcjs) on GitHub contains everything needed to run PCjs computer simulations. The [PCjs](/docs/pcjs/) and [C1Pjs](/docs/c1pjs/) emulators run in any modern web browser, -with or without a web server, and examples are provided for both [local](/docs/pcjs/demos/) and [remote](http://www.pcjs.org/) -operation. +with or without a web server, and examples are provided for both [local](/docs/pcjs/examples/) and +[remote](http://www.pcjs.org/) operation. The project includes: @@ -76,7 +80,7 @@ JavaScript files to your browser will work. However, instructions for doing tha In fact, you can run PCjs simulations without a web server at all, using the "file:" protocol instead of "http:". However, most of the machine configurations require additional resource files (ROMs, disk images, etc), which are included in the project, but unless all the resource files are moved into a single directory (as they are in these -[Demos](/docs/pcjs/demos/)), your browser will probably be unable to load all of them, due to security restrictions. +[Demos](/docs/pcjs/examples/)), your browser will probably be unable to load all of them, due to security restrictions. Using the bundled web server is the preferred solution. The project includes a large selection of disk images, and a powerful [DiskDump](modules/diskdump/) utility that diff --git a/_config.yml b/_config.yml index 0526423ec..ca1fd2d21 100644 --- a/_config.yml +++ b/_config.yml @@ -17,7 +17,7 @@ right_brace: "}" # Build settings -exclude: ["index.html", "**/index.html", "**/archive", "logs", "node_modules", "**/c64", "**/private", "src", "**/src", "tmp", "videos", "web", ".git", ".idea"] +exclude: ["index.html", "**/index.html", "**/archive", "**/c64", "blog/posts", "logs", "node_modules", "**/private", "src", "**/src", "tmp", "videos", "web", ".git", ".idea"] markdown: kramdown kramdown: input: GFM diff --git a/_developer.yml b/_developer.yml index 367fd759b..d2e2ee732 100644 --- a/_developer.yml +++ b/_developer.yml @@ -1,4 +1,5 @@ developer: true +url: "http://localhost:4000" pcjs: compiled: false diff --git a/_includes/build.html b/_includes/machine-build.html similarity index 100% rename from _includes/build.html rename to _includes/machine-build.html diff --git a/_includes/machine-engines.html b/_includes/machine-engines.html index 4b86c82c1..d80e4634b 100644 --- a/_includes/machine-engines.html +++ b/_includes/machine-engines.html @@ -22,7 +22,7 @@ here and in markout.js. Examples include 'autopower' ('autoPower') and 'automou {% endcomment %} {% for machine in page.machines %} - {% capture machine_embed %}window.embed{{ machine.type | remove:'-dbg' | upcase }}{% endcapture %} + {% capture machine_embed %}embed{{ machine.type | remove:'-dbg' | upcase }}{% endcapture %} {% if machine.autopower == nil %} {% assign machine_autopower = "true" %} {% else %} diff --git a/_includes/page-scripts.html b/_includes/page-scripts.html new file mode 100644 index 000000000..a0043cb24 --- /dev/null +++ b/_includes/page-scripts.html @@ -0,0 +1,8 @@ +{% comment %} + +Used by pages like the one in /api/v1/dump/ to implement a client-side API. + +{% endcomment %} +{% for script in page.scripts %} + +{% endfor %} diff --git a/_layouts/default.html b/_layouts/default.html index 2b84fe697..66d847c16 100644 --- a/_layouts/default.html +++ b/_layouts/default.html @@ -17,6 +17,8 @@ {% include machine-engines.html %} + {% include page-scripts.html %} + {% include google-analytics.html %} diff --git a/_posts/2015-02-22-compaq-deskpro-386.md b/_posts/2015-02-22-compaq-deskpro-386.md index 63d2a7a47..194c1811a 100644 --- a/_posts/2015-02-22-compaq-deskpro-386.md +++ b/_posts/2015-02-22-compaq-deskpro-386.md @@ -1,6 +1,6 @@ --- layout: post -title: Compaq DeskPro 386 +title: COMPAQ DeskPro 386 date: 2015-02-22 11:00:00 category: 80386 permalink: /blog/2015/02/22/ @@ -11,15 +11,15 @@ machines: uncompiled: true --- -I finally dumped the [Compaq DeskPro 386/16 ROMs](/devices/pc/bios/compaq/deskpro386/) from the motherboard I bought +I finally dumped the [COMPAQ DeskPro 386/16 ROMs](/devices/pc/bios/compaq/deskpro386/) from the motherboard I bought on ebay last year, so I'm ready to begin adding 80386 support to PCjs. -I'd also like to locate a copy of the "Compaq DeskPro 386 Technical Reference Guide, Volumes 1 and 2". It's not hard -to find Compaq Maintenance and Service guides online, but their Technical Reference guides are much rarer, perhaps because +I'd also like to locate a copy of the "COMPAQ DeskPro 386 Technical Reference Guide, Volumes 1 and 2". It's not hard +to find COMPAQ Maintenance and Service guides online, but their Technical Reference guides are much rarer, perhaps because they were expensive ($149) and not many were sold. Anyway, I'm hoping to either borrow or buy a copy, and then scan and post it. -A [Compaq DeskPro 386](/devices/pc/machine/compaq/deskpro386/ega/2048kb/) test configuration is displayed below. +A [COMPAQ DeskPro 386](/devices/pc/machine/compaq/deskpro386/ega/2048kb/) test configuration is displayed below. The configuration doesn't run, and the debugger can't disassemble 80386-specific code yet, but this is what I will be using to test and debug my changes over the next few months. diff --git a/_posts/2015-04-16-compaq-deskpro-386-update.md b/_posts/2015-04-16-compaq-deskpro-386-update.md index 3d1a27b5e..59757f8a4 100644 --- a/_posts/2015-04-16-compaq-deskpro-386-update.md +++ b/_posts/2015-04-16-compaq-deskpro-386-update.md @@ -1,6 +1,6 @@ --- layout: post -title: Compaq DeskPro 386 Update +title: COMPAQ DeskPro 386 Update date: 2015-04-16 11:00:00 category: 80386 permalink: /blog/2015/04/16/ @@ -11,7 +11,7 @@ machines: uncompiled: true --- -PCjs can now boot the [Compaq DeskPro 386/16 ROM BIOS](/devices/pc/bios/compaq/deskpro386/). +PCjs can now boot the [COMPAQ DeskPro 386/16 ROM BIOS](/devices/pc/bios/compaq/deskpro386/). There's still a problem with the hard disk controller, which I haven't looked into yet, but booting from a floppy works. @@ -43,7 +43,7 @@ of the 80386's 4Gb address space are physically mapped to this ROM image. replacing the ROM in the first megabyte with write-protected RAM; the top 64Kb of that RAM must first be initialized with the 64Kb at %000F0000 prior to remapping. It's also possible to copy external ROMs from %000C0000 through %000EFFFF into the bottom 64Kb of -that RAM, but this is only done for ROMs known to contain relocatable code; eg, a Compaq +that RAM, but this is only done for ROMs known to contain relocatable code; eg, a COMPAQ Video Graphics Controller (VGC) Board. > Every DeskPro 386 system must have a MINIMUM of 1Mb of RAM, of which either 256Kb, @@ -53,7 +53,7 @@ to the top of the 16th megabyte (ending at address %00FFFFFF), the last 128Kb of is used by the "RAM Relocation" feature. The remaining memory immediately below that 128Kb (ie, below %00FE0000) can only be accessed by special system software, such as CEMM. -> Compaq refers to that remaining memory as "Compaq Built-in Memory". +> COMPAQ refers to that remaining memory as "Compaq Built-in Memory". So there you have it. Once the ROM has relocated itself to RAM at the top of the 16th megabyte, there are no less than THREE physical address ranges where ROM code and data @@ -75,7 +75,7 @@ accessible; the other two are not. April 19, 2015 Update --- Thanks to some sleuthing by [Michal Necasek](http://os2museum.com/), it turns out that my -assumptions about A20 management on the Compaq DeskPro 386 were incorrect. +assumptions about A20 management on the COMPAQ DeskPro 386 were incorrect. He noted that, on page 398 of "DOS Internals" by Geoff Chappell, (c) 1994, the author says: @@ -114,7 +114,7 @@ protected-mode with A20 disabled -- an unwise thing to do on most machines: ; ; When we arrive here, the A20 line has been disabled; on most systems, that would ; mean that the ROM's GDT would only be accessible at the "low" ROM address (%0F0730), - ; not the "high" address (%FF0730). But fortunately, A20 management on Compaq + ; not the "high" address (%FF0730). But fortunately, A20 management on COMPAQ ; DeskPros affects wrap-around only from the 1st to the 2nd megabyte; no other address ; range is affected. ; @@ -140,12 +140,12 @@ I'm in the process of replacing that work-around with a much more compatible cha on 32-bit bus configurations, which involves changing the physical address map for the 2nd megabyte to match that of the 1st megabyte whenever A20 is disabled. I could probably get away with remapping only the first 64Kb of the 2nd megabyte, but until I'm actually able to run some tests on a real -DeskPro 386, I'm going to assume Compaq's A20 implementation affected the entire 2nd megabyte. +DeskPro 386, I'm going to assume COMPAQ's A20 implementation affected the entire 2nd megabyte. -Here's my Compaq DeskPro 386/16 PCjs test configuration. Set a breakpoint at F000:F498 ("bp f000:f498") -in the Debugger panel to see the above code in action. When the machine is operating in real-mode, you -can use the "rp" command to dump all the registers, including the current base and limit values loaded into -the segment registers. +Here's my [COMPAQ DeskPro 386/16](/devices/pc/machine/compaq/deskpro386/ega/2048kb/) test configuration. +Set a breakpoint at F000:F498 ("bp f000:f498") in the Debugger panel to see the above code in action. +When the machine is operating in real-mode, you can use the "rp" command to dump all the registers, +including the current base and limit values loaded into the segment registers. {% include machine.html id="deskpro386" %} diff --git a/_posts/2015-12-27-revisiting-os2.md b/_posts/2015-12-27-revisiting-os2.md index 0f94bf32e..e6d28ec6e 100644 --- a/_posts/2015-12-27-revisiting-os2.md +++ b/_posts/2015-12-27-revisiting-os2.md @@ -13,31 +13,31 @@ machines: Just for fun (because I have a warped sense of fun), I decided to revisit some of the old OS/2 software I wrote almost 30 years ago. But first, I needed an OS/2 development environment. -So I started with a clean install of IBM's OS/2 1.0 in the [8Mhz IBM PC AT](/disks/pc/os2/ibm/1.0/) machine +So I started with a clean install of [IBM OS/2 1.0](/disks/pc/os2/ibm/1.0/) in the 8Mhz IBM PC AT machine below, by booting from the "IBM OS/2 1.0 (1.44M Install)" diskette in drive A and reformatting the machine's 20Mb drive C. Next, I installed the [MS OS/2 SDK 1.02](/disks/pc/tools/microsoft/os2/sdk/1.02/). This SDK was released in December 1987 along with [Microsoft OS/2 1.0](/disks/pc/os2/microsoft/1.0/). I don't have any of the printed documentation that came with the SDK, such as the *Installation Guide*, but I do have the -[Microsoft® Operating System/2 Programmer’s Toolkit](/pubs/pc/programming/os2/microsoft/ptk/1.0/) documentation +[Microsoft® Operating System/2 Programmer’s Toolkit](/pubs/pc/software/os2/microsoft/ptk10/) documentation from March 1988, thanks to the [OS/2 Museum](http://www.os2museum.com/wp/os2-history/os2-library/os2-1-x-programming/). -Aside from Microsoft's assembler (MASM) and C compiler (CL), the SDK included some other useful tools, such as the -**SDK Editor** (SDKED), which was essentially an OS/2 port of Mark Zbikowski's Editor (Z) that was used internally -at Microsoft for many years. It was renamed to the **Microsoft Editor** (M or MEP) with the release of Microsoft C -5.1, and it was later integrated into **Programmer's Workbench** (PWB), the text-mode Integrated Development -Environment (IDE) that came with Microsoft C 6.0. +Aside from **Microsoft Macro Assembler 5.00A** (MASM) and **Microsoft C Compiler 5.10 (Beta)** (CL), the SDK +included some other useful tools, such as the **SDK Editor** (SDKED), which was essentially an OS/2 port of +Mark Zbikowski's full-screen editor (Z) that was used internally at Microsoft for many years. It was renamed +to the **Microsoft Editor** (M or MEP) with the release of **Microsoft C Compiler 5.10**, and it was later integrated +into **Programmer's Workbench** (PWB), the text-mode Integrated Development Environment (IDE) that came with +**Microsoft C Compiler 6.0**. With the introduction of graphical IDEs, such as Visual BASIC in 1991, Visual C++ in 1993, and Visual Studio in 1995, -this stand-alone, text-mode editor became obsolete, but in the 1980s, it was an essential tool. +this stand-alone, text-mode editor became obsolete, but in the 1980s, it was a valuable tool. You can learn more +about [SDKED](/disks/pc/tools/microsoft/os2/sdk/1.02/#using-sdked) on the +[MS OS/2 SDK 1.02](/disks/pc/tools/microsoft/os2/sdk/1.02/) page. -You can learn more about [SDKED](/disks/pc/tools/microsoft/os2/sdk/1.02/#using-sdked) on the -[MS OS/2 SDK 1.02](/disks/pc/tools/microsoft/os2/sdk/1.02/) page. I'll be adding a complete list of all the files -that came with SDK to that page in the near future. - -To boot IBM OS/2 1.0 and tinker with the [SDK](/disks/pc/tools/microsoft/os2/sdk/1.02/), scroll down and -click the "Run" button. +Our [IBM OS/2 1.0](/disks/pc/os2/ibm/1.0/) demo machine (shown below) has the +[MS OS/2 SDK 1.02](/disks/pc/tools/microsoft/os2/sdk/1.02/) pre-installed, so check out our copy of the +[Microsoft® Operating System/2 Programmer’s Toolkit](/pubs/pc/software/os2/microsoft/ptk10/) and then write some code! {% include machine.html id="ibm5170" %} diff --git a/_posts/2016-02-24-remembering-compaq.md b/_posts/2016-02-24-remembering-compaq.md new file mode 100644 index 000000000..3a6506b0b --- /dev/null +++ b/_posts/2016-02-24-remembering-compaq.md @@ -0,0 +1,94 @@ +--- +layout: post +title: Remembering COMPAQ +date: 2016-02-24 14:00:00 +permalink: /blog/2016/02/24/ +--- + +IBM is obviously the company everyone thinks of first when we talk about the IBM PC -- after all, IBM is right +there in the name. And they designed the thing. So IBM deserves lots of credit, especially the folks who worked +in Boca Raton at IBM's Entry Systems Division in the early 1980's. + +However, IBM was a huge company that existed *before* the IBM PC and which still exists today; they had some built-in +advantages. The PC era also saw a lot of companies spring up from nowhere and then disappear just as quickly. +Some of them didn't do anything particularly innovative or noteworthy -- they probably just wanted to ride the PC wave +and make some easy money in the process. + +I think one of the more exceptional companies from that era is COMPAQ. It's easy to dismiss COMPAQ as just another +"copy-cat" operation, but I think it's a mistake to dismiss any company in the PC business as simply "copying" or +"cloning" the IBM design. Companies like COMPAQ were really in the *compatibility* business. + +Innovation in the PC industry would not have been as rapid and diverse if IBM had been the only supplier of +compatible machines and accessories. And IBM probably would have continued some of the monopolistic practices it had +perfected in the mainframe era, like exclusive service contracts. That might have been a win for IBM, but it almost +certainly would *not* have been a win for customers. + +In 1982, the founders of COMPAQ took a big gamble, by reportedly investing around a million dollars to create +system software (ROM BIOS) that mimicked IBM's without infringing on it. I don't know if COMPAQ pioneered the concept +of "clean room" design, where the engineers designing and coding have no direct contact with the hardware and software +they're cloning, but they were certainly successful. + +But that wasn't COMPAQ's most important contribution. That was just the price they had to "pay to play." Armed with +compatible hardware and software, COMPAQ proceeded to innovate in ways that IBM did not. + +Look at COMPAQ's first product: the COMPAQ Portable. For starters, it was *portable*. And unlike +IBM machines, it didn't force you to choose between a higher-quality text-only (MDA) display or a lower-quality +graphics-capable (CGA) display. COMPAQ improved on IBM's mutually-exclusive display choices by creating a monochrome +display that could display both high-quality text *and* graphics. + +IBM released their own portable unit a year later, but it looked suspciously COMPAQ-like, and it lacked COMPAQ's +innovative display. + +That tradition of innovation at COMPAQ continued for many years. Sometimes they even seemed *more* concerned about +compatibility than IBM did. For example, faster machines sometimes broke speed-sensitive floppy-based copy protection +schemes, which COMPAQ tried to avoid by automatically *slowing* the machine down whenever a floppy drive was spinning. + +To my knowledge, IBM never bothered with such a feature -- maybe IBM was simply being pragmatic, or perhaps they were +just a little arrogant, operating on the theory that if the universe revolves around IBM, then the planets will +simply realign *themselves* (translation: software vendors will release new versions if they want to remain IBM-compatible). + +Sadly, COMPAQ was ultimately absorbed by another behemoth -- Hewlett Packard -- and then simply disappeared. Today, +all we have are the memories. + +### Speaking of Memories + +In particular, Read-Only Memories: we have precious few of those, too. I finally obtained +a [ROM Dump](/devices/pc/rom/compaq/bios/portable/) from COMPAQ's first machine, the COMPAQ Portable, but I had to buy +a system board on eBay to get it. Considering all the effort (and money) that COMPAQ invested in writing that code, +you would think those things would be memorialized a bit better. + +Looking ahead to the day when PCjs will be able to simulate the original COMPAQ Portable, I thought it would be a good +idea to create my own roughly chronological list of [COMPAQ Machines](/devices/pc/machine/compaq/) from the 1980s, +since they are all machines I would like to see PCjs eventually support: + + + COMPAQ Portable + + COMPAQ [Portable] Plus + + COMPAQ DeskPro + + COMPAQ DeskPro 286 + + COMPAQ Portable 286 + + COMPAQ Portable II + + [COMPAQ DeskPro 386](/devices/pc/machine/compaq/deskpro386/) + + COMPAQ Portable III + + COMPAQ Portable 386 + + COMPAQ 386/20e + + COMPAQ SLT Series (SLT/286) + + COMPAQ LTE Series (LTE 286, LTE 386) + +It's hard to stop at this point, because PCjs supports the 80386, and COMPAQ produced other 80386-based systems, +like those in the "LTE Lite" series. But I think I need to stick my original plan and draw a line at the end of the +1980s. + +### Regarding The COMPAQ Name + +As best I can tell, COMPAQ preferred to print its company name in all-caps, so that's my practice as well. + +However, it seems that sometime between the release of [COMPAQ MS-DOS 3.10](/disks/pc/dos/compaq/3.10/) and +[COMPAQ MS-DOS 3.31](/disks/pc/dos/compaq/3.31/), there may have been a shift in policy. Both products still +called themselves `The COMPAQ Personal Computer MS-DOS`, but in 3.31, the copyright string changed to +`Compaq Computer Corp.` + +Their all-caps practice also extended to at least *some* product names (eg, the `COMPAQ DESKPRO`), but I'm not sure +how strict they were, and I'm decidedly less so, which is why I use the name `COMPAQ DeskPro`. + +*[@jeffpar](http://twitter.com/jeffpar)* +*February 24, 2016* diff --git a/api/v1/dump/README.md b/api/v1/dump/README.md new file mode 100644 index 000000000..84260fa40 --- /dev/null +++ b/api/v1/dump/README.md @@ -0,0 +1,31 @@ +--- +layout: page +title: PCjs DiskDump and FileDump API +permalink: /api/v1/dump/ +scripts: # the following list of scripts should mirror what /modules/diskdump/lib/diskdump.js requires + - /modules/shared/lib/defines.js + - /modules/shared/lib/netlib.js + - /modules/shared/lib/strlib.js + - /modules/shared/lib/weblib.js + - /modules/shared/lib/diskapi.js + - /modules/shared/lib/dumpapi.js + - /modules/shared/lib/component.js + - /modules/pcjs/lib/x86.js + - /modules/diskdump/lib/diskdump.js +--- + +PCjs DiskDump and FileDump API +=== + +The PCjs [DiskDump](/modules/diskdump/) and [FileDump](/modules/filedump/) API are not fully supported +by the current PCjs web server. +When **pcjs.org** switched from a Node.js web server running on +[Amazon Web Services](https://aws.amazon.com/elasticbeanstalk/) to +[GitHub Pages](https://pages.github.com/), the original server-side API had to be abandoned. + +However, we're working on a client-side replacement of the API that will run +entirely in your browser, so hopefully portions of the original API will be available in the near future. +In the meantime, check out the +[Developer Notes](https://github.com/jeffpar/pcjs#user-content-developer-notes) section of the +[PCjs Project](https://github.com/jeffpar/pcjs) for instructions on running your own local copy of Node.js and the +PCjs web server. diff --git a/api/v1/report/README.md b/api/v1/report/README.md new file mode 100644 index 000000000..823812292 --- /dev/null +++ b/api/v1/report/README.md @@ -0,0 +1,17 @@ +--- +layout: page +title: PCjs Reporting API +permalink: /api/v1/report/ +--- + +PCjs Reporting API +=== + +The PCjs Reporting API is not supported by the current PCjs web server. +When **pcjs.org** switched from a Node.js web server running on +[Amazon Web Services](https://aws.amazon.com/elasticbeanstalk/) to +[GitHub Pages](https://pages.github.com/), the original server-side API had to be abandoned. + +However, if you're encountering a serious problem with any of the machines on **pcjs.org**, feel free to +[send a note](mailto:Jeff@pcjs.org) about the problem, along with a link to the machine. However, there is +no PCjs Customer Service Department, so we may or may not be able to help. diff --git a/api/v1/user/README.md b/api/v1/user/README.md new file mode 100644 index 000000000..52a20e936 --- /dev/null +++ b/api/v1/user/README.md @@ -0,0 +1,19 @@ +--- +layout: page +title: PCjs User API +permalink: /api/v1/user/ +--- + +PCjs User API +=== + +The PCjs User API is not supported by the current PCjs web server. +When **pcjs.org** switched from a Node.js web server running on +[Amazon Web Services](https://aws.amazon.com/elasticbeanstalk/) to +[GitHub Pages](https://pages.github.com/), the original server-side API had to be abandoned. + +Support for PCjs user accounts, including remote disk storage, is still partially supported by the +Node.js server implementation, so if you really want to try it, you'll have to check out the +[Developer Notes](https://github.com/jeffpar/pcjs#user-content-developer-notes) section of the +[PCjs Project](https://github.com/jeffpar/pcjs) for instructions on running your own local copy of Node.js and the +PCjs web server. diff --git a/devices/c1p/machine/8kb/array/README.md b/devices/c1p/machine/8kb/array/README.md index 77f392778..e03e1565b 100644 --- a/devices/c1p/machine/8kb/array/README.md +++ b/devices/c1p/machine/8kb/array/README.md @@ -33,7 +33,7 @@ machines: redirect_from: - /configs/c1p/machines/array/ - /configs/c1p/machines/8kb/array/ - - /devices/other/c1p/array.xml/ + - /devices/c1p/array.xml/ --- Challenger 1P (8Kb) "Server Array" diff --git a/devices/pc/machine/5160/ega/256kb/debugger/machine.xml b/devices/pc/machine/5160/ega/256kb/debugger/machine.xml index 89ba0e636..b40b34665 100644 --- a/devices/pc/machine/5160/ega/256kb/debugger/machine.xml +++ b/devices/pc/machine/5160/ega/256kb/debugger/machine.xml @@ -5,7 +5,7 @@ - + diff --git a/devices/pc/machine/5160/ega/640kb/array/machine.xml b/devices/pc/machine/5160/ega/640kb/array/machine.xml index 04b4553a3..9b0fdb9e4 100644 --- a/devices/pc/machine/5160/ega/640kb/array/machine.xml +++ b/devices/pc/machine/5160/ega/640kb/array/machine.xml @@ -4,7 +4,7 @@ IBM PC XT, 128K EGA, 640K RAM, 10Mb Hard Drive - + diff --git a/devices/pc/machine/5160/ega/640kb/debugger/machine.xml b/devices/pc/machine/5160/ega/640kb/debugger/machine.xml index 0b5245924..6d1cd5868 100644 --- a/devices/pc/machine/5160/ega/640kb/debugger/machine.xml +++ b/devices/pc/machine/5160/ega/640kb/debugger/machine.xml @@ -5,7 +5,7 @@ - + diff --git a/devices/pc/machine/5160/ega/640kb/machine.xml b/devices/pc/machine/5160/ega/640kb/machine.xml index 17436bd44..0cd70a243 100644 --- a/devices/pc/machine/5160/ega/640kb/machine.xml +++ b/devices/pc/machine/5160/ega/640kb/machine.xml @@ -5,7 +5,7 @@ - + diff --git a/devices/pc/machine/5160/ega/640kb/win101/debugger/machine.xml b/devices/pc/machine/5160/ega/640kb/win101/debugger/machine.xml index 61a696f3d..f67350c0c 100644 --- a/devices/pc/machine/5160/ega/640kb/win101/debugger/machine.xml +++ b/devices/pc/machine/5160/ega/640kb/win101/debugger/machine.xml @@ -5,7 +5,7 @@ - + diff --git a/devices/pc/machine/5160/ega/640kb/win101/machine.xml b/devices/pc/machine/5160/ega/640kb/win101/machine.xml index ab4771c21..45a63ea9b 100644 --- a/devices/pc/machine/5160/ega/640kb/win101/machine.xml +++ b/devices/pc/machine/5160/ega/640kb/win101/machine.xml @@ -4,7 +4,7 @@ IBM PC XT, 128K EGA, 640K RAM, 10Mb Hard Drive - + diff --git a/devices/pc/machine/5170/ega/1152kb/rev1/debugger/machine.xml b/devices/pc/machine/5170/ega/1152kb/rev1/debugger/machine.xml index 882ed4798..4968eefc7 100644 --- a/devices/pc/machine/5170/ega/1152kb/rev1/debugger/machine.xml +++ b/devices/pc/machine/5170/ega/1152kb/rev1/debugger/machine.xml @@ -6,7 +6,7 @@ - +