PCjs Machines

Home of the original IBM PC emulator for browsers.

Logo

Blog

  • Thirty Years Ago: MS-DOS 6.00, DoubleSpace, and MultiConfig

    Over 30 years ago, in March 1993, Microsoft released MS-DOS 6.00, the next major release of MS-DOS after 5.00 shipped in June 1991....

  • Wrapping Up Support for FAT

    This will probably be the final post in my “trilogy” of posts about the PC.js command-line utility, now that I’ve (hopefully) finished ironing out most of the wrinkles. I’ve improved FAT12 and FAT16 support, so when pc.js builds either a standard or custom FAT disk image, it should be compatible with whatever version of PC DOS, MS-DOS, or COMPAQ DOS you select....

  • Building DOS-Compatible Hard Disks

    Last month, I wrote about a new tool I’ve been working on. pc.js is a stripped-down version of the web-based PCjs emulator that runs console-based DOS programs from the command-line. Since then, I’ve added a few more features and improved its ability to construct and load hard disk images....

  • Running DOS Software from the Command-Line

    Recently, I’ve been working on a command-line utility that uses PCjs machines to run DOS software on modern operating systems, and it’s called, aptly enough, pc.js....

  • Old IBM PC BASIC Programs

    BASIC shipped with every IBM PC, both in the machine’s ROM and on DOS diskettes, making it the easiest (and cheapest) way to create programs that could run on every other IBM PC in the world. So it’s no surprise that a lot of BASIC software was created and distributed throughout the 1980s....

  • The PC-SIG Library and ZIP Files

    The PC Software Interest Group, aka PC-SIG, began advertising a directory of public domain software for the IBM PC in early 1983. A year later, their collection featured over 135 diskettes, which you could purchase for $6 per diskette, plus $4 per order for shipping. Each diskette was numbered, to make it easy to specify which diskettes you wanted. By 1986, PC-SIG was one of the most prominent advertisers of user-supported software (“shareware”), sold annual memberships, and had a collection of nearly 500 diskettes....

  • The Joys of Old ARC and ZIP Files

    File compression became quite popular in the 1980s. People who used dial-up “BBS” bulletin board systems could transfer compressed data in less time, and people like me could squeeze more data onto 360K diskettes....

  • Is the Living Computer Museum Dead?

    I first visited Paul Allen’s Living Computer Museum in October 2013. It offered a unique museum experience, combining traditional displays and plaques with interactive exhibits and vintage computers that allowed you to run a variety of old software–and even write your own....

  • The Adventure of the Mysterious Mail Files

    I’ve recently been sifting through many boxes of loose diskettes. Any disks with personal information are being copied and then destroyed, while any “commercial” disks are also being copied and then put in a box for resale or donation. Hopefully later this year, my house will finally be free of ancient disk clutter....

  • SPYing on MINIX

    MINIX was an operating system I had always wanted to dig into but never really did. Too many other projects, including work, got in the way. I bought Andrew Tanenbaum’s first book on MINIX, along with the IBM PC AT version of MINIX, in 1987, but the book and diskettes mostly just collected dust on various bookshelves over the years....

  • PC DOS Reimagined

    Next year, on August 12, 2021, we’ll be celebrating the 40th anniversary of the IBM PC, a machine that put the world of personal computing on a path we’re still on today....

  • Solitaire Week at LCM

    It’s Solitaire Week at Living Computers Museum+Labs, and they’ve produced a lot of fun content celebrating the 30th anniversary of Solitaire for Microsoft Windows....

  • Recent Software Donations

    Thanks to the generosity of PCjs user Phil Mayes, who recently donated boxes of old PC diskettes for the price of shipping, the PCjs Software Archive continues to slowly grow....

  • Welcome to PCjs 2.0

    I recently decided 2020 would be a good year to refresh the PCjs website....

  • Space Invaders Revisited

    When I first started working on PCjs, JavaScript features like Classes and requestAnimationFrame() weren’t widely available. Over the next 8 or so years, things changed a lot, I learned a lot, and PCjs slowly grew to support more machines....

  • A Quick Post

    There have been a number of small additions to the website over the last month:...

  • A COMPAQ DeskPro 386 Mystery Solved

    On September 9, 1986, at 11am at the Palladium nightclub in New York, COMPAQ unveiled the DeskPro 386, described by COMPAQ President Rod Canion as “the most advanced high-performance personal computer in the world.” With this product, COMPAQ effectively declared that they – along with Intel and Microsoft – were now “setting the pace for the rest of the industry”, by creating “the first of a new generation of industry-standard desktop workstations.” *...

  • Adventures in Copy Protection

    Thanks to a contribution from a PCjs user, I was able to examine a KryoFlux dump of an original Microsoft Adventure diskette:...

  • WordStar for the IBM PC circa 1982

    MicroPro WordStar 3.20 for the IBM PC has been updated to include original MicroPro diskettes for version 3.20, along with other materials....

  • More Old CD-ROMs and Gotchas

    Before acquiring a copy of the 1988 Microsoft Programmer’s Library 1.0 CD-ROM, the oldest Microsoft CD-ROM I owned was the 1991 edition of Bookshelf for Windows....

  • Microsoft Programmer's Library CD-ROM (1988)

    I recently obtained a copy of Microsoft Programmer’s Library 1.0, a CD-ROM released in 1988. Microsoft had released only a handful of products on CD-ROM at that point, the first being the 1987 edition of Microsoft Bookshelf, so this is one of Microsoft’s oldest CD-ROMs....

  • Copy Protection and Preservation

    A third piece of original unmodified copy-protected software now runs on PCjs: dBASE III 1.0....

  • Copy Protection

    I’ve long wanted PCjs to run unmodified copy-protected MS-DOS software directly from original disk images, but copy-protected disks are – no surprise – difficult to copy, and PCjs supported only standard DOS-formatted disk images, where all the sectors are 512 bytes, all the sector IDs are consecutive, and so on....

  • An Update on Early Norton Utilities

    As I lamented in my last blog post, finding copies of the earliest versions of The Norton Utilities has proven to be surprisingly difficult – virtually impossible....

  • Unerasing The Norton Utilities

    Appearing in 1982, The Norton Utilities was an interesting set of DOS tools that solved some vexing problems, most notably an “UNERASE” utility that could recover deleted files. Those tools launched Peter Norton on a journey from software developer to book author, magazine columnist, and entrepreneur, culminating in the sale of Peter Norton Computing, Inc. to Symantec Corporation in 1990 for $70M....

  • Write Protection and Other Idiosyncrasies

    While browsing the December 1982 Issue of PC Magazine, I noticed an interesting letter in the “User-To-User” column (p. 320):...

  • Building MS-DOS Source Files

    The PCjs Disk Library now includes a snapshot of the MS-DOS 1.x/2.x Source Files from Microsoft’s September 28, 2018 re-release of MS-DOS source files on GitHub, along with a pre-configured machine ready to build the MS-DOS 2.x sources. A similar machine is provided below....

  • IBM Monochrome Attributes

    The original IBM Monochrome Display Adapter (MDA) had some idiosyncrasies that PCjs didn’t get quite right until recently. It all started when I was looking into this GitHub Issue regarding the best color choice for simulating the green phosphor of an IBM 5151 monochrome monitor....

  • The First Version of COMPAQ MS-DOS

    A few weeks ago, I found a pristine set of all three manuals that COMPAQ shipped with their very first portable, along with an original COMPAQ MS-DOS 1.10 diskette. They are all “first editions”. The Operations Guide is dated November 1982 and the rest are dated December 1982....

  • Somebody Put a SPELL On Me

    Last week, I was sifting through some old email, looking for any interesting references to HIMEM and A20, and I almost overlooked this short note I had written 30+ years ago:...

  • Tiny Matrix Screensaver

    A couple of weeks ago, I stumbled across this tweet that piqued my interest:...

  • Retracing My Steps

    When I first created the PCjs x86 emulator, PCx86, it was a simple implementation that focused primarily on four components:...

  • The Realities of Fantasy Land

    On February 19, 2018, I received a pleasantly surprising email from a person named Eric, who had stumbled across a PCjs blog post where I was lamenting the disappearance of an old IBM EGA demonstration program called “Fantasy Land”:...

  • Booting a Windows 95 Startup Disk on an IBM PC AT

    While I was working on programmable font support for EGA and VGA video cards, I wanted a quick way to change the display mode from 25 rows to 43 (or 50) rows, and I remembered that the MODE command that shipped with Windows 95 did just that:...

  • Font-Building Exercises

    In preparation for adding programmable font support for EGA and VGA video cards, I (re)discovered that the IBM VGA ROM font that PCjs was using was an 8x14 font, not the “higher resolution” 8x16 font introduced with the VGA. This was by virtue of hard-coded ROM font offsets that all PCjs machines were passing to the Video component:...

  • IBM and SCO Xenix

    Thanks to a friend and former co-worker, I was able to add a small collection of early Xenix distributions to the PCjs archives recently:...

  • Exploring the IBM Personal Computer

    A rather ghastly quaint piece of early IBM PC software was a program called Exploring The IBM Personal Computer. Created by Digital Learning Systems, Inc. and marketed by IBM, it was designed to walk you through the “ins and outs” of your shiny new IBM PC, and it came in two flavors: Monochrome and Color....

  • Turbo Pascal vs. QuickPascal

    Below are side-by-side PCjs machines running Borland Turbo Pascal 5.00 and Microsoft QuickPascal 1.00. Make your browser window nice and wide, and then sit back and be mesmerized....

  • Emulating IBM PC Cursors

    Since I’m finally in possession of a working IBM Monochrome Display, IBM Color Display, and IBM Enhanced Color Display, along with the requisite video cards – specifically:...

  • Mysteries of the IBM Serial Adapter

    While I was working on some code to Control Machines By Serial Port, I ran into a few problems that people were probably first running into over 36 years ago....

  • Controlling Machines by Serial Port

    I recently added a new PCjs TestMonitor component that is able to deliver user-defined commands to a PCjs machine via a serial port. TestMonitor is built into PCx86, and there is also a TestMonitor Utility that can issue commands to a physical machine, making it easy to compare operations between simulated and actual hardware....

  • A Short History of SYMDEB

    The first version of SYMDEB I used was probably Version 4.00, released with Microsoft Macro Assembler 4.00:...

  • All Your Keys Are Belong To Us

    There are a number of “key” challenges to emulating all the keys on IBM PC and PC AT keyboards, due to differences that have evolved over time between the early PC keyboards and keyboards people are using today....

  • New Old Software

    A few more interesting disks were recently added to the PCjs Archives, including:...

  • Daylight Savings Time Headache

    This past summer, I added a couple sets of Lotus 1-2-3 disk images to the PCjs archives (1-2-3 Release 1A and 1-2-3 Release 1A*), and I had noticed with some amusement that Lotus had timestamped all their files with the local time of 1:23am....

  • WordStar On The PC

    I recently added another disk to the PCjs Archives, WordStar 3.24, along with a copy of the article “WordStar 3.24 and 3.3: MicroPro Does It Again… And Again”, an interesting review/rant from 1983 on this and other versions of WordStar for the IBM PC....

  • 50th Anniversary of Lite-Brite

    Introduced in 1967, “Lite-Brite” sold for $6.95 and was described in an old print ad as an “amazing new toy that lets a child color with light. Easy to do, it’s delightfully fascinating to insert the colored pegs into the outline picture in the ‘magic’ box and see the pegs come to life in one of eight brilliant colors.”...

  • The TI-55 Programmable Calculator

    Building on the PCjs TI-57 Programmable Calculator emulator, I’m happy to report that PCjs can also emulate the TI-55 Programmable Calculator now. You can see both in operation below....

  • The TI-57 Programmable Calculator

    The new TI-57 Programmable Calculator emulator, shown below, is the latest addition to the PCjs Machines collection. It emulates a TMS-1501 chip at the register level, and uses an original TI-57 ROM, providing about as perfect a simulation as you can get....

  • Introducing Programmable Calculator JS

    For years, we all assumed that PCjs meant “Personal Computers in JavaScript.” Even I thought that. But now it turns out that it also stands for “Programmable Calculators in JavaScript.” Who knew?...

  • Google Is Starting To Piss Me Off

    Today, during a random of check of my website’s “health” using Google Search Console, I was surprised to discover the following “Security Issue”:...

  • Corporations Are Crappy Archivists

    In my all-too-brief but soon-to-be-revisited blog post “Of Mice And When”, I mentioned that there seemed to be a lot of confusion on the Internet regarding the Microsoft Bus Mouse and the Microsoft InPort Mouse. I even found some software that claimed to emulate a “microsoft bus mouse” but was actually emulating an InPort mouse....

  • Puzzled Programmers

    A book I used to have a copy of (and perhaps still do, in the bowels of my storage unit) was “Puzzled Programmers” by Michael Wiesenberg. It was published by Microsoft Press in 1987, and I recently rediscovered an online copy in the Internet Archive’s Open Library:...

  • Of Mice And When

    While trying to bring the PCjs Microsoft Mouse Driver collection up-to-date, at least through the 1980’s, a number of versions have proven hard to find:...

  • dBASE III Copy Protection Revisited

    One of the earliest tasks I remember tackling on an IBM PC was a basically a favor for my father-in-law, Tom Estelita. In 1984, he had purchased a copy of dBASE III and had become frustrated by its copy-protection. The previous version, dBASE II, had no such protection, which probably added to his frustration. At the time, he was running his own tiny software company, Radix 2 Software, and he certainly wasn’t interested in redistributing dBASE III – he just wanted to be able to back-up his software and switch between a handful of machines without the hassle or worry of relying on a single fragile copy-protected diskette....

  • RetroReview: SPEEDUP

    While browsing the June/July 1982 issue of PC Magazine (Vol. 1, No. 3), I found the following User-To-User article about an intriguing little program called SPEEDUP. Unfortunately, the first time I tried it, it immediately hung my test machine. Here’s the original article, followed by my analysis of the program and why it hung....

  • Flicker Fakery

    One of my long-standing pet peeves about PC emulators has been their obsession with raw speed, and how hard they try to squeeze every last drop of performance out of their instruction execution loop, on the assumption that everyone wants an 8088 that runs at, say, 500Mhz, as opposed to the stately 4.77Mhz of the original IBM PC....

  • Magware

    You may recall from my last post that I had tracked down some useful Modula-2 test code, originally published in PC Tech Journal (October 1986), inside a ZIP archive at “THE PROGRAMMER’S CORNER: BBS ARCHIVE FROM THE PAST”....

  • FantasyLand

    I recently added a demo of the Logitech Modula-2/86 Compiler (1984), because I wanted to recreate the IBM PC test environment that John T. Cockerham had used in his October 1986 PC Tech Journal article “Evaluating the EGA: The EGA Standard”....

  • Adventures in Archiving

    In October 1983, IBM released a game called “Adventures in Math”, which apparently tried to make mathematics as exciting as walking through a dungeon full of locked doors, treasures, spiders, and more. I had never heard of this game, until I was recently browsing the Internet Archive’s MS-DOS Showcase:...

  • Stepping Through PDP-10 Diagnostics

    Now that the PDPjs MACRO-10 Mini-Assembler is limping along, it’s time to start assembling some of DEC’s PDP-10 “Basic Instruction” diagnostics and loading them into a test machine. The first diagnostic I tried was KA10 Basic Instruction Diagnostic #1 (MAINDEC-10-DAKAA), which has been loaded into the machine below....

  • The MACRO-10 Assembler, 50 Years Later

    A few weeks ago, I finished my first cut of the core PDP-10 instructions in PDPjs. Most of my remaining work falls into these categories:...

  • Learning the PDP-10

    Since I’ve more or less achieved all my goals for the PCjs PDP-11 Emulator, I’ve decided to turn my attention to an even older historically important DEC computer: the PDP-10....

  • PDP-11 Operator's Console (Front Panel) Demo

    As I mentioned in the “PDP-11 Tutorials” blog post, I’ve been working on some methods for visually illustrating how machine components work. And the PDP-11/70 Operator’s Console, with its daunting number of lights and switches, seemed like a good candidate....

  • Completing the Switch to ES6 Classes

    As I mentioned last December, I had started converting PCjs machines to ECMAScript 2015, more conveniently known as ES6. At the time, only one PCjs machine, PDPjs, had been converted, which left the website in the unfortunate position of having duplicate shared modules: one set for ES5-based machines and another set for ES6....

  • PDP-11 Tutorials

    Introducing PDP-11 tutorials. For more details, keep scrolling, and keep your eye on the VT100 below....

  • Out With The Old, In with ECMAScript 2015

    As 2016 was drawing to a close, browser support for ECMAScript 2015 (aka ES6) was looking pretty good, so maybe it was time to start taking advantage of a few ES6 features, especially:...

  • The PDP-11 and VT100 Revisited

    I recently did some more work on the PCjs VT100 Terminal emulation, making it work a bit better with other PCjs machines – specifically, PDP-11 and IBM PC machines....

  • Debugging PDP-11 Issues

    I’m still trying to flush out lingering bugs in PDPjs. I’ll give you an example, using the PDP-11/70 pictured below....

  • Curious PDP-11 Features

    Last week, I ran PDPjs through a series of early PDP-11 Paper Tape Diagnostics. These tests were originally released in 1970 and are documented in such DEC publications as the MAINDEC USER REFERENCE MANUAL (October 1973)....

  • You Should Have Voted For The PDP-11

    Greetings from an alternate reality where DEC’s elegant PDP-11 architecture beat out Intel’s gross 8086 architecture, and DEC managed to gracefully evolve the 16-bit PDP-11 into powerful 32-bit and 64-bit successors, all while maintaining excellent backward compatibility....

    Unfortunately, you’re stuck in your reality, so you have no idea what I’m talking about. Basically, your ancestors voted for the cheapest solution rather than the best solution, and now you have to live with the consequences....

  • Booting PDP-11 BASIC

    PDPjs can now simulate a PDP-11/20. It was one of the first PDP-11 models, and since it had no MMU, it was limited to a maximum of 56Kb of RAM (or as DEC would say, 28K words), since the top 8Kb (or 4K words) of its 16-bit address space was reserved for UNIBUS devices....

  • Introducing PDPjs for the DEC PDP-11

    PDPjs, a new DEC PDP-11 emulator, is the newest addition to the PCjs family of emulators, joining PCx86, PCx80, and C1Pjs....

  • Connecting a DEC VT100 Terminal to an IBM PC AT

    Now that you’ve had a chance to play with a standalone VT100 Terminal, not to mention Dual VT100 Terminals, it’s time to take PCjs Machines to the next level, and begin connecting PCs to terminals....

  • The VT100 Terminal

    Summer has been filled with distractions, but I’ve finally begun making headway on a DEC VT100 Terminal simulation....

  • The Sharpening

    This was the week of The Sharpening....

  • Introducing the Intel 8080 CPU

    Or rather, introducing PCx80, a new 8080-based machine emulator recently added to the PCjs Project....

  • Demos of Windows/386 and Windows 3.x

    I recently added some more demos to the PCjs Project, to showcase its ability to run old 80286-based and 80386-based software, such as Windows/386, Windows 3.0, Windows 3.1, and Windows 95....

  • Touching Windows

    Yesterday, I fired up Windows 3.1 and played a complete game of Windows Solitaire on my iPad. It was a bit, um, touchy, but it worked....

  • Remembering COMPAQ

    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. They designed the thing. So IBM, and in particular the folks who worked in Boca Raton at IBM’s Entry Systems Division in the early 1980’s, deserve all the credit for defining what eventually became known as the Industry Standard Architecture (ISA) PC platform....

  • Saving Disks and Machines

    PCx86 (v1.20.9) now offers new, much easier ways to save disks and machines, thanks to the new Save Disk and Save Machine features. With one click, PCx86 can now generate a single download containing everything you need to embed any of our IBM PC demos on your own web page....

  • Super Bowl Winner: PCjs

    The new release of PCjs (v1.20.8) is a fairly minor update, but it’s an important one for FOOTBALL fans, resolving two annoying problems with the OS/2 FOOTBALL Boot Disk: mysterious hard-error popups and blank screens....

  • Early OS/2 Artifacts

    Before OS/2 was named OS/2 by IBM on April 2, 1987, the operating system was known by many different names at Microsoft as it evolved, including DOS5, MT-DOS, CP-DOS, and ADOS....

  • Revisiting OS/2

    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....

  • Rebuilding the PCjs Website

    It’s been nice using Node.js to power the PCjs website, using Amazon’s Elastic Beanstalk service, but that combination has also been a source of some frustrations....

  • Windows 95 and Early 80386 CPUs

    Every time Windows 95 starts up, its real-mode loader performs the following CPU identification test....

  • Windows 95 In Your Web Browser

    Today, the last serious bug preventing a successful boot of Windows 95 was fixed. I won’t bore you with the details....

  • Windows 95

    This week (July 14, 2015) was the 20th anniversary of Windows 95 RTM (“Release To Manufacturing”). So I decided to throw a PCjs party and try running Windows 95 Setup inside a PCx86 machine for the first time....

  • The Strange Case of the EGA Graphics Scroll Bug

    I was playing with different video modes using an IBM PC AT w/EGA and I discovered an odd problem. NOTE: In the machine below, you can also switch control to the TestMonitor window using the “CTTY COM2” DOS command and then type the TestMonitor’s “mode0e” command to replicate the SYMDEB sequence described below....

  • Debugging the IBM VGA ROM

    The IBM VGA (“Video Graphics Array”) standard was introduced as part of the IBM PS/2 line of computers; it was not a feature you could purchase or install in older PC, XT or AT-compatible machines. In fact, full VGA support was not even available in all PS/2 models....

  • PC Tech Journal Collection

    This is an update to my 2014 post on the PCjs online collection of old PC Tech Journal magazine issues....

    Our collection is much more complete now. We have the first issue, the last issue, and almost all the issues in between. All we’re currently missing are the first three issues of 1989, at least in terms of regular issues....

  • COMPAQ DeskPro 386 Update

    PCx86 can now boot the COMPAQ DeskPro 386/16 ROM BIOS....

  • JavaScript Idiosyncrasies

    Time to mention a few JavaScript idiosyncrasies, and how I deal with them....

  • Early 80386 CPUs

    Assembling a detailed and accurate history of the Intel 80386 CPU, including a complete listing of all the “steppings” (revisions), when they were released, what “errata” (problems) each stepping suffered from, and which of those problems were fixed by a later stepping, seems virtually impossible at this late date....

  • COMPAQ DeskPro 386

    I finally dumped the COMPAQ DeskPro 386/16 ROMs from the motherboard I bought on eBay last year, so I’m ready to begin adding 80386 support to PCx86....

  • New PCx86 Control Panel

    A new PCx86 Control Panel is under development, featuring a new “Display Panel” that will provide a variety of information about the machine, in real-time, and operate more efficiently than previous DOM-based Control Panels....

  • PCx86 Uncompiled

    Most PCx86 machines on pcjs.org run with a compiled version of PCx86, which is produced by running the PCx86 JavaScript source code through Google’s Closure Compiler, yielding a smaller (minified) version that loads and runs much faster than the original source code....

  • Canvas Performance and ContentEditable

    From the beginning of the JavaScript Machines Project, I’ve always used an HTML5 Canvas object for both machine output and input. It’s the obvious choice for output, because the Canvas provides a 2D drawing API that’s essential both for drawing bitmappped graphics and for faithfully rendering individual characters using the machine’s original bitmapped fonts....

  • OS/2 1.0

    Exciting news for OS/2 fans: PCjs (v1.16.1) is now able to run OS/2 1.0 on IBM PC AT Machine Configurations. This is the culmination of recent work in PCjs to fully emulate the Intel 80286 processor and 16-bit protected-mode, including undocumented features like LOADALL and triple-fault resets....

  • Limited Support for XDF Diskettes

    PCjs v1.15.7 adds support for the XDF Diskette Format, which was used in PC DOS 7.00....

  • JavaScript Negativity

    Coming from the C programming language, it’s easy to be “negative” about how JavaScript deals with 32-bit integers....

  • Improved PC DOS 7.00 Support

    PCjs v1.15.6 is a fairly minor update that fixes a few Floppy Drive Controller (FDC) issues and one CPU emulation bug that prevented PC DOS 7.00 from working properly....

  • Improved support for PC AT machines

    The 8Mhz IBM PC AT machine configuration now boots in PCjs v1.15.5, which includes the following fixes:...

  • The 8Mhz IBM PC AT 5170

    I just added my first 8Mhz IBM PC AT machine configuration to the list of IBM PC Machine Configurations, and not surprisingly, the new machine fails to boot....

  • PCjs Released on GitHub

    I’ve decided the time has come to make the PCjs Project an open source project on GitHub....

  • PCjs Coding Conventions

    Here are a few highlights of the (evolving) JavaScript coding conventions used in PCjs....

  • The IBM PC AT: Alive and Booting

    My first IBM PC AT (Model 5170) Test Configuration finally boots to a PC DOS prompt. The configuration uses the original IBM Model 5170 ROM BIOS, dated January 10, 1984....

    Getting through the BIOS “POST” (Power-On Self Test) diagnostics was like running an obstacle course, with various tests derailing the simulation at every turn....

  • Minor Fixes and Additions

    The following fixes were made in PCjs v1.15.1...

  • Supporting the 80286

    The next milestone for PCx86 is complete 80286 emulation. My hope is to have it working by the end of the year....

  • PC Tech Journal, 1987

    As part of an ongoing effort to make classic PC technical literature more accessible, I just finished scanning and posting the 12 issues of PC Tech Journal from 1987....

  • EGA Support

    PCjs v1.14.0 now includes basic EGA support. It emulates the EGA hardware well enough to pass the IBM EGA BIOS diagnostics and run Windows 1.01 in color. Check out our Windows 1.01 “Server Array” demo....

  • More Under-The-Hood Changes

    v1.13.7 of PCjs contains a few minor improvements, mostly in terms of rendering video modes a little more efficiently. The rest of the changes to the website involved beefing up support for both “software manifests” and “document manifests.”...

  • Halt and Catch Liar

    I had high hopes for the new AMC series “Halt and Catch Fire,” but it has proven to be an utter disappointment. I think I can suspend my disbelief as well as anyone, but this show requires you to completely turn your brain off in order to be believed. I’m also baffled by the show’s high IMDb score, which is currently 8.4 (out of 10). Either AMC has figured out how to game the system, or viewers are easily turned on by clichés, like the know-it-all Hot Programmer, the self-assured Sales Guy, and the non-plot-advancing sex that they almost instantly engage in....

  • Chrome Kicks Butt

    I haven’t been closely monitoring the performance of PCjs across various browsers. Most of my browser testing has been limited to “Does the latest version still work in all current web browsers?”...

  • Heading to New York

    Lots of tinkering has been going on here at pcjs.org the past couple of weeks, but with nothing substantial to show for it. Fixing lots of little problems requires only small bits of time, whereas buckling down and tackling “the next BIG thing” for PCjs requires a much more serious time commitment, with limited interruptions....

  • Node + Express != Safari

    There’s something very odd going on with between Node+Express and Safari, resulting in blank web pages. Don’t believe me? Just ask Google....

  • What's New in 1.13.0

    The latest version adds support for “software manifests”, which you can read more about here. Basically, manifests are simple XML files that describe a piece of software (an application, an operating system, whatever). They can also link to a PCjs machine configuration capable of running the software, along with a “ready-to-run” machine state file. Conversely, a PCjs machine XML file can refer back to the manifest, to obtain a list of disk images....

  • The Latest in Emulator Technology

    Announcing InternetJS: The Internet Emulator, the world’s smallest JavaScript application capable of emulating the entire Internet. And like all PCjs applications, there’s nothing to install. It runs safely and securely from any web browser....

  • Browser Compatibility Woes

    While JavaScript has been doing a good job of delivering on the old “write once, run everywhere” promise that its unrelated namesake coined, the “hook once, deliver everywhere” promise seems less fulfilled....

  • Running on Azure

    Publishing a Node-based site to Azure was painless, thanks to their friendly web portal and GitHub integration. Getting a fully operational site, however, took a bit more time....

  • New Year, New Directions

    Initial goals for 2014 include...

  • A Blog That's Not A Blog

    As you may have noticed (or not), the website had a very modest makeover recently....

subscribe via RSS