Finished porting the blog posts
|
|
@ -15,7 +15,7 @@
|
|||
{% else %}
|
||||
{% assign machine_state = machine.state %}
|
||||
{% endunless %}
|
||||
{% if site.pcjs_compiled %}
|
||||
{% if site.pcjs_compiled == true and machine.uncompiled != true %}
|
||||
{% capture machine_script %}<script type="text/javascript" src="{{ site.baseurl }}/versions/{{ machine.type | remove:'-dbg' }}js/{{ site.pcjs_version }}/{{ machine.type }}.js"></script>{% endcapture %}
|
||||
{% unless machine_scripts contains machine_script %}
|
||||
{{ machine_script }}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{% for machine in page.machines %}
|
||||
{% unless site.pcjs_compiled %}
|
||||
{% unless site.pcjs_compiled == true and machine.uncompiled != true %}
|
||||
{% capture machine_style %}{{ site.baseurl }}/modules/{{ machine.type | remove:'-dbg' }}js/templates/components.css{% endcapture %}
|
||||
{% else %}
|
||||
{% capture machine_style %}{{ site.baseurl }}/versions/{{ machine.type | remove:'-dbg' }}js/{{ site.pcjs_version }}/components.css{% endcapture %}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,11 @@
|
|||
A Blog That's Not A Blog
|
||||
---
|
||||
layout: post
|
||||
title: "A Blog That's Not A Blog"
|
||||
date: 2013-11-20 11:00:00
|
||||
category: News
|
||||
permalink: /blog/2013/11/20/
|
||||
---
|
||||
|
||||
As you may have noticed (or not), the [JSMachines](http://jsmachines.net/) website had a very modest makeover
|
||||
recently.
|
||||
|
||||
|
|
@ -1,6 +1,12 @@
|
|||
New Year, New Directions
|
||||
---
|
||||
Initial goals for 2014 include:
|
||||
layout: post
|
||||
title: New Year, New Directions
|
||||
date: 2014-01-01 11:00:00
|
||||
category: Goals
|
||||
permalink: /blog/2014/01/01/
|
||||
---
|
||||
|
||||
Initial goals for 2014 include
|
||||
|
||||
- Setting up a new web server running node.js, using either AWS, Google Compute Engine or Windows Azure;
|
||||
- Porting this project to work with node.js, which includes rewriting all the PHP code as server-side JavaScript;
|
||||
|
|
@ -1,5 +1,11 @@
|
|||
Running on Azure
|
||||
---
|
||||
layout: post
|
||||
title: Running on Azure
|
||||
date: 2014-03-30 11:00:00
|
||||
category: Web Servers
|
||||
permalink: /blog/2014/03/30/
|
||||
---
|
||||
|
||||
Publishing a Node-based site to [Azure](http://azure.com) was painless, thanks to their friendly web portal and
|
||||
GitHub integration. Getting a fully operational site, however, took a bit more time.
|
||||
|
||||
|
|
@ -42,7 +48,7 @@ would happily report:
|
|||
but it would NEVER display anything but deployment information. Instead, I had to browse the log files using Azure's
|
||||
"FTP DIAGNOSTIC LOGS" link on the web portal -- which presents the logs as one big, ugly, fragmented mess:
|
||||
|
||||

|
||||

|
||||
|
||||
Sigh. But at least the site is up and fully operational now.
|
||||
|
||||
|
|
@ -1,5 +1,11 @@
|
|||
Browser Compatibility Woes
|
||||
---
|
||||
layout: post
|
||||
title: Browser Compatibility Woes
|
||||
date: 2014-03-31 11:00:00
|
||||
category: JavaScript
|
||||
permalink: /blog/2014/03/31/
|
||||
---
|
||||
|
||||
While JavaScript has been doing a good job of delivering on the old "write once, run everywhere" promise that its
|
||||
[unrelated namesake](http://www.java.com) coined, the "hook once, deliver everywhere" promise seems less fulfilled.
|
||||
|
||||
|
|
@ -18,7 +24,7 @@ I've done what testing I can with the Android SDK and the "Android Virtual Devic
|
|||
looks fine -- you click/tap on the PC's screen, the soft keyboard pops up, and typing works. So I guess Silk is just
|
||||
an outlier. I'm not sure what I'll do about it yet (or even what I can do).
|
||||
|
||||

|
||||

|
||||
|
||||
---
|
||||
|
||||
|
|
@ -38,4 +44,4 @@ If you're having a problem (or trouble with a device) that I've not already ment
|
|||
Thanks.
|
||||
|
||||
*[@jeffpar](http://twitter.com/jeffpar)*
|
||||
*March 31, 2014*
|
||||
*March 31, 2014*
|
||||
|
|
@ -1,5 +1,11 @@
|
|||
The Latest in Emulator Technology
|
||||
---
|
||||
layout: post
|
||||
title: The Latest in Emulator Technology
|
||||
date: 2014-04-01 11:00:00
|
||||
category: JavaScript
|
||||
permalink: /blog/2014/04/01/
|
||||
---
|
||||
|
||||
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.
|
||||
|
||||
|
|
@ -14,4 +20,4 @@ Disclaimer: InternetJS may not be suitable for everyone. Ask your doctor if Int
|
|||
- Inability to forget things you never wanted to remember
|
||||
|
||||
*[@jeffpar](http://twitter.com/jeffpar)*
|
||||
*April 1, 2014*
|
||||
*April 1, 2014*
|
||||
|
|
@ -1,5 +1,11 @@
|
|||
What's New in 1.13.0
|
||||
---
|
||||
layout: post
|
||||
title: "What's New in 1.13.0"
|
||||
date: 2014-04-12 11:00:00
|
||||
category: Releases
|
||||
permalink: /blog/2014/04/12/
|
||||
---
|
||||
|
||||
The latest version adds support for "software manifests", which you can read more about [here](/apps/). 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.
|
||||
|
|
@ -17,4 +23,4 @@ Almost nothing has changed in the PCjs client-side code (which is where the emul
|
|||
the new **diskdump** API.
|
||||
|
||||
*[@jeffpar](http://twitter.com/jeffpar)*
|
||||
*April 12, 2014*
|
||||
*April 12, 2014*
|
||||
|
|
@ -1,14 +1,20 @@
|
|||
Node + Express != Safari
|
||||
---
|
||||
layout: post
|
||||
title: "Node + Express != Safari"
|
||||
date: 2014-04-14 11:00:00
|
||||
category: Browsers
|
||||
permalink: /blog/2014/04/14/
|
||||
---
|
||||
|
||||
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](https://www.google.com/#q=node+express+safari+blank+page).
|
||||
|
||||
[pcjs.org](http://www.pcjs.org/) contains a lot of XML files that are rendered as web pages using XML
|
||||
[{{ site.pcjs_domain }}]({{ site.url }}/) contains a lot of XML files that are rendered as web pages using XML
|
||||
stylesheets. And occasionally Safari -- and ONLY Safari -- will render those XML files as blank pages.
|
||||
|
||||
For example, here's the
|
||||
[machine.xml](/devices/pc/machine/5150/mda/64kb/machine.xml) file that's also embedded on the
|
||||
[pcjs.org](http://www.pcjs.org/) home page.
|
||||
[{{ site.pcjs_domain }}]({{ site.url }}/) home page.
|
||||
|
||||
When Safari fetched that XML file from an Apache web server (what I used before switching to Node),
|
||||
the request would look like:
|
||||
|
|
@ -145,4 +151,4 @@ websites, who will probably get blank pages when they shouldn't, and other devel
|
|||
this problem on their own.
|
||||
|
||||
*[@jeffpar](http://twitter.com/jeffpar)*
|
||||
*April 14, 2014*
|
||||
*April 14, 2014*
|
||||
|
|
@ -1,5 +1,11 @@
|
|||
Heading to New York
|
||||
---
|
||||
layout: post
|
||||
title: Heading to New York
|
||||
date: 2014-04-30 11:00:00
|
||||
category: JavaScript
|
||||
permalink: /blog/2014/04/30/
|
||||
---
|
||||
|
||||
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.
|
||||
|
|
@ -36,4 +42,4 @@ Will [EmpireJS](http://2014.empirejs.org) answer any of these big questions? It
|
|||
and learning is fun!
|
||||
|
||||
*[@jeffpar](http://twitter.com/jeffpar)*
|
||||
*April 30, 2014*
|
||||
*April 30, 2014*
|
||||
|
|
@ -1,5 +1,11 @@
|
|||
Chrome Kicks Butt
|
||||
---
|
||||
layout: post
|
||||
title: Chrome Kicks Butt
|
||||
date: 2014-05-12 11:00:00
|
||||
category: JavaScript
|
||||
permalink: /blog/2014/05/12/
|
||||
---
|
||||
|
||||
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?"
|
||||
|
||||
|
|
@ -24,4 +30,4 @@ Chrome's approach to making regular JavaScript run faster seems to be a winning
|
|||
like PCjs.
|
||||
|
||||
*[@jeffpar](http://twitter.com/jeffpar)*
|
||||
*May 12, 2014*
|
||||
*May 12, 2014*
|
||||
|
|
@ -1,5 +1,11 @@
|
|||
Halt and Catch Liar
|
||||
---
|
||||
layout: post
|
||||
title: Halt and Catch Liar
|
||||
date: 2014-06-14 11:00:00
|
||||
category: TV Shows
|
||||
permalink: /blog/2014/06/14/
|
||||
---
|
||||
|
||||
I had high hopes for the new AMC series "[Halt and Catch Fire](http://www.amctv.com/shows/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
|
||||
|
|
@ -21,7 +27,7 @@ And centerpiece of this whole conceit -- the cloning of the IBM PC ROM BIOS. Wh
|
|||
scene from Episode 2, where Brilliant Engineer looks at Hot Programmer's whiteboard in awe. Apparently, he
|
||||
is easily awed, because he did the same thing when Sales Guy wrote "2x fast, 1/2 price" on an earlier whiteboard.
|
||||
|
||||

|
||||
[<img src="/blog/images/halt-and-catch-liar-thumbnail.jpg" alt='"Halt and Catch Fire" Scene from Episode 2'/>](/blog/images/halt-and-catch-liar.jpg)
|
||||
|
||||
So if you deconstruct the code on this whiteboard, you quickly notice that while it IS assembly language, it is
|
||||
NOT the sort of assembly language you would find in a ROM BIOS, let alone ANYTHING that would leave you in awe.
|
||||
|
|
@ -66,10 +72,10 @@ This turns out to be code largely copied from a file I found online: [PCTRACE.AS
|
|||
Another curiosity is that searching for this resulted in a "[Googlewhack](http://en.wikipedia.org/wiki/Googlewhack)"
|
||||
of sorts:
|
||||
|
||||

|
||||

|
||||
|
||||
Technically, a Googlewhack (a two-word search that yields exactly one result) must use two words found in an actual
|
||||
dictionary. But dictionaries are so passé.
|
||||
|
||||
*[@jeffpar](http://twitter.com/jeffpar)*
|
||||
*June 14, 2014*
|
||||
*June 14, 2014*
|
||||
|
|
@ -1,5 +1,11 @@
|
|||
More Under-The-Hood Changes
|
||||
---
|
||||
layout: post
|
||||
title: More Under-The-Hood Changes
|
||||
date: 2014-06-26 11:00:00
|
||||
category: Releases
|
||||
permalink: /blog/2014/06/26/
|
||||
---
|
||||
|
||||
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."
|
||||
|
|
@ -9,4 +15,4 @@ with more on the way. I have a TON of old diskette images, and it has taken mor
|
|||
manifests than I would like.
|
||||
|
||||
*[@jeffpar](http://twitter.com/jeffpar)*
|
||||
*June 26, 2014*
|
||||
*June 26, 2014*
|
||||
|
|
@ -1,14 +1,20 @@
|
|||
EGA Support
|
||||
---
|
||||
layout: post
|
||||
title: EGA Support
|
||||
date: 2014-07-30 11:00:00
|
||||
category: Video
|
||||
permalink: /blog/2014/07/30/
|
||||
---
|
||||
|
||||
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](/devices/pc/machine/5160/ega/640kb/win101/) in color. Check out our
|
||||
[Windows 1.01 "Server Array"](/devices/pc/machine/5160/ega/640kb/array/) demo.
|
||||
|
||||

|
||||
[<img src="/blog/images/win101-array-demo-small.jpg" alt='Windows 1.01 "Server Array" Demo'/>](/blog/images/win101-array-demo.jpg)
|
||||
|
||||
EGA support is added to a **machine.xml** file using two XML elements; eg:
|
||||
|
||||
<video id="videoEGA" model="ega" memory="0x20000" screenwidth="640" screenheight="350"/>
|
||||
<video id="videoEGA" model="ega" memory="0x20000" screenwidth="640" screenheight="350"/>
|
||||
|
||||
The *model* attribute must be set to "ega" and the *memory* attribute should be set to the amount of memory
|
||||
desired on the card; valid memory sizes are:
|
||||
|
|
@ -35,4 +41,4 @@ this attribute corresponds to the actual switch settings on the EGA card; our de
|
|||
which selects an Enhanced Color Monitor, enabling the EGA's maximum resolution of 640x350.
|
||||
|
||||
*[@jeffpar](http://twitter.com/jeffpar)*
|
||||
*July 30, 2014*
|
||||
*July 30, 2014*
|
||||
|
|
@ -1,5 +1,11 @@
|
|||
PC Tech Journal, 1987
|
||||
---
|
||||
layout: post
|
||||
title: PC Tech Journal, 1987
|
||||
date: 2014-08-01 11:00:00
|
||||
category: PC Tech Journal
|
||||
permalink: /blog/2014/08/01/
|
||||
---
|
||||
|
||||
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](/pubs/pc/magazines/pctj/) from 1987.
|
||||
|
||||
|
|
@ -23,4 +29,4 @@ I'd be happy to buy them, scan them, and recycle them.
|
|||
Thanks.
|
||||
|
||||
*[@jeffpar](http://twitter.com/jeffpar)*
|
||||
*August 1, 2014*
|
||||
*August 1, 2014*
|
||||
|
|
@ -1,5 +1,11 @@
|
|||
Supporting the 80286
|
||||
---
|
||||
layout: post
|
||||
title: Supporting the 80286
|
||||
date: 2014-08-28 11:00:00
|
||||
category: 80286
|
||||
permalink: /blog/2014/08/28/
|
||||
---
|
||||
|
||||
The next milestone for PCjs is complete 80286 emulation. My hope is to have it working by the end of the year.
|
||||
|
||||
PCjs version 1.15.0 is the first step on the path to full 80286 support. It includes changes to the physical
|
||||
|
|
@ -42,4 +48,4 @@ and posted excerpts. I'm sure none of this information is "new" at this point,
|
|||
Enjoy.
|
||||
|
||||
*[@jeffpar](http://twitter.com/jeffpar)*
|
||||
*August 28, 2014*
|
||||
*August 28, 2014*
|
||||
|
|
@ -1,4 +1,9 @@
|
|||
Minor Fixes and Additions
|
||||
---
|
||||
layout: post
|
||||
title: Minor Fixes and Additions
|
||||
date: 2014-09-02 11:00:00
|
||||
category: Releases
|
||||
permalink: /blog/2014/09/02/
|
||||
---
|
||||
|
||||
The following fixes were made in PCjs v1.15.1:
|
||||
|
|
@ -24,4 +29,4 @@ These two new functions are designed to assist in testing the starting up, shutt
|
|||
by allowing scripts to control the overall process, without requiring use of the browser's back/forward/close controls.
|
||||
|
||||
*[@jeffpar](http://twitter.com/jeffpar)*
|
||||
*September 2, 2014*
|
||||
*September 2, 2014*
|
||||
|
|
@ -1,4 +1,9 @@
|
|||
The IBM PC AT: Alive and Booting
|
||||
---
|
||||
layout: post
|
||||
title: "The IBM PC AT: Alive and Booting"
|
||||
date: 2014-09-13 11:00:00
|
||||
category: Releases
|
||||
permalink: /blog/2014/09/13/
|
||||
---
|
||||
|
||||
My first IBM PC AT (Model 5170) [Test Configuration](/devices/pc/machine/5170/ega/640kb/rev1/) finally
|
||||
|
|
@ -20,8 +25,8 @@ Aside from the additional DMA Controller, other major new motherboard components
|
|||
The Keyboard Controller and Real-Time Clock/CMOS components required the most tinkering to pass through the ROM BIOS
|
||||
gauntlet.
|
||||
|
||||
For example, at one point, the BIOS ("[TEST.21](../../../../pubs/pc/reference/ibm/static/5170/techref/1984-03/pages/IBM-5170-TECHREF 202.pdf)")
|
||||
reset the keyboard ("[KBD_RESET](../../../../pubs/pc/reference/ibm/static/5170/techref/1984-03/pages/IBM-5170-TECHREF 212.pdf)"),
|
||||
For example, at one point, the BIOS ("[TEST.21](http://static.pcjs.org/pubs/pc/reference/ibm/5170/techref/1984-03/pages/IBM-5170-TECHREF 202.pdf)")
|
||||
reset the keyboard ("[KBD_RESET](http://static.pcjs.org/pubs/pc/reference/ibm/5170/techref/1984-03/pages/IBM-5170-TECHREF 212.pdf)"),
|
||||
which unmasked the keyboard IRQ and waited for an interrupt, using a loop where CX was initialized to zero and then
|
||||
decremented until either CX wrapped around to zero again *or* an interrupt occurred. The "TEST.21" code then assumed
|
||||
that if "KBD_RESET" returned zero in CX, no interrupt had occurred.
|
||||
|
|
@ -1,4 +1,9 @@
|
|||
PCjs Coding Conventions
|
||||
---
|
||||
layout: post
|
||||
title: PCjs Coding Conventions
|
||||
date: 2014-09-30 11:00:00
|
||||
category: JavaScript
|
||||
permalink: /blog/2014/09/30/
|
||||
---
|
||||
|
||||
Here are a few highlights of the (evolving) JavaScript coding conventions used in PCjs.
|
||||
|
|
@ -1,5 +1,11 @@
|
|||
PCjs Released on GitHub
|
||||
---
|
||||
layout: post
|
||||
title: PCjs Released on GitHub
|
||||
date: 2014-10-12 11:00:00
|
||||
category: Releases
|
||||
permalink: /blog/2014/10/12/
|
||||
---
|
||||
|
||||
I've decided the time has come to make the [PCjs Project](https://github.com/jeffpar/pcjs) an open source project on
|
||||
[GitHub](http://github.com/).
|
||||
|
||||
|
|
@ -18,4 +24,4 @@ Longer term, I'm looking forward to building some new tools, including an "IBM P
|
|||
of the pain out of building your own bootable PCjs machine configurations, and make them easier to share, embed, etc.
|
||||
|
||||
*[@jeffpar](http://twitter.com/jeffpar)*
|
||||
*October 12, 2014*
|
||||
*October 12, 2014*
|
||||
|
|
@ -1,5 +1,11 @@
|
|||
The 8Mhz IBM PC AT 5170
|
||||
---
|
||||
layout: post
|
||||
title: The 8Mhz IBM PC AT 5170
|
||||
date: 2014-10-13 11:00:00
|
||||
category: JavaScript
|
||||
permalink: /blog/2014/10/13/
|
||||
---
|
||||
|
||||
I just added my first [8Mhz IBM PC AT](/devices/pc/machine/5170/ega/1152kb/rev3/) machine configuration
|
||||
to the list of [IBM PC Machine Configurations](/devices/pc/machine/), and not surprisingly, the new machine
|
||||
fails to boot.
|
||||
|
|
@ -1,4 +1,9 @@
|
|||
Release of PCjs v1.15.5
|
||||
---
|
||||
layout: post
|
||||
title: Release of PCjs v1.15.5
|
||||
date: 2014-10-17 11:00:00
|
||||
category: Releases
|
||||
permalink: /blog/2014/10/17/
|
||||
---
|
||||
|
||||
The [8Mhz IBM PC AT](/devices/pc/machine/5170/ega/1152kb/rev3/) machine configuration boots in
|
||||
|
|
@ -1,5 +1,11 @@
|
|||
Release of PCjs v1.15.6
|
||||
---
|
||||
layout: post
|
||||
title: Release of PCjs v1.15.6
|
||||
date: 2014-10-23 11:00:00
|
||||
category: Releases
|
||||
permalink: /blog/2014/10/23/
|
||||
---
|
||||
|
||||
This is a fairly minor update that fixes a few Floppy Disk Controller (FDC) issues and one CPU emulation bug
|
||||
that prevented PC-DOS 7.00 from working properly.
|
||||
|
||||
|
|
@ -1,5 +1,11 @@
|
|||
JavaScript Negativity
|
||||
---
|
||||
layout: post
|
||||
title: JavaScript Negativity
|
||||
date: 2014-10-26 11:00:00
|
||||
category: JavaScript
|
||||
permalink: /blog/2014/10/26/
|
||||
---
|
||||
|
||||
Coming from the C programming language, it's easy to be "negative" about how JavaScript deals with 32-bit integers.
|
||||
|
||||
As a newcomer, you quickly learn that JavaScript supports only one numeric data type -- 64-bit floats -- and you groan.
|
||||
|
|
@ -1,5 +1,11 @@
|
|||
OS/2 1.0
|
||||
---
|
||||
layout: post
|
||||
title: OS/2 1.0
|
||||
date: 2014-12-04 11:00:00
|
||||
category: OS/2
|
||||
permalink: /blog/2014/12/04/
|
||||
---
|
||||
|
||||
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](/devices/pc/machine/#model-5170-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
|
||||
|
|
@ -9,7 +15,7 @@ For a quick demo, try the "[OS/2 1.0 Debugger Boot Disk](/disks/pc/os2/misc/)".
|
|||
you'll see a very rudimentary OS/2 shell (a slimmed-down version of the OS/2 Program Selector) that allows you to
|
||||
start the protected-mode command interpreter ("Start a Program") or the real-mode command interpreter ("command.com").
|
||||
|
||||

|
||||
[<img src="/blog/images/os2-debugger.jpg" alt="OS/2 1.0 With Kernel Debugger"/>](/disks/pc/os2/misc/)
|
||||
|
||||
As an added bonus, the Model 5170 machines feature two serial ports, with COM1 connected to a simulated serial
|
||||
mouse and COM2 connected to the **Control Panel** output window.
|
||||
|
|
@ -1,5 +1,11 @@
|
|||
Canvas Performance and ContentEditable
|
||||
---
|
||||
layout: post
|
||||
title: Canvas Performance and ContentEditable
|
||||
date: 2014-12-05 11:00:00
|
||||
category: HTML5
|
||||
permalink: /blog/2014/12/05/
|
||||
---
|
||||
|
||||
From the beginning of the [JavaScript Machines](/docs/about/) Project, I've always used an HTML5
|
||||
[Canvas](https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API) object for both machine output
|
||||
and input. It's the obvious choice for output, because the Canvas provides a 2D drawing API that's
|
||||
46
_posts/2015-01-17-pcjs-uncompiled.md
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
---
|
||||
layout: post
|
||||
title: PCjs Uncompiled
|
||||
date: 2015-01-17 11:00:00
|
||||
category: Features
|
||||
permalink: /blog/2015/01/17/
|
||||
machines:
|
||||
- type: pc-dbg
|
||||
id: at-ega-1152k-rev3
|
||||
config: /devices/pc/machine/5170/ega/1152kb/rev3/machine.xml
|
||||
uncompiled: true
|
||||
---
|
||||
|
||||
Most machines on [{{ site.pcjs_domain }}](/) run with a compiled version of PCjs, which is produced
|
||||
by running PCjs JavaScript source code through Google's Closure Compiler, yielding a smaller (minified)
|
||||
version that loads and runs much faster than the original source code.
|
||||
|
||||
However, certain features are disabled in the compiled versions, including a new BACKTRACK feature that
|
||||
makes it possible to track the contents of memory locations and registers back to their source (eg, to a ROM
|
||||
or file location). Once the BACKTRACK feature is finished, it will be folded into the compiled code, but until
|
||||
then, the only way to experiment with it is by running the uncompiled code.
|
||||
|
||||
To make it easier to launch machines with uncompiled code, a PCjs machine definition can now set `uncompiled`
|
||||
to *true*, overriding the value of `site.pcjs_compiled` in **_config.yml**.
|
||||
|
||||
Here's what a typical Markdown file would look like:
|
||||
|
||||
{% raw %}
|
||||
---
|
||||
...
|
||||
machines:
|
||||
- type: pc-dbg
|
||||
id: at-ega-1152k-rev3
|
||||
config: /devices/pc/machine/5170/ega/1152kb/rev3/machine.xml
|
||||
uncompiled: true
|
||||
---
|
||||
...
|
||||
{% include machine.html id="at-ega-1152k-rev3" %}
|
||||
{% endraw %}
|
||||
|
||||
In fact, that's what we've done in the Markdown file you are reading right now.
|
||||
|
||||
{% include machine.html id="at-ega-1152k-rev3" %}
|
||||
|
||||
*[@jeffpar](http://twitter.com/jeffpar)*
|
||||
*January 17, 2015 (Updated December 10, 2015 to reflect the new `uncompiled` property)*
|
||||
|
|
@ -1,11 +1,22 @@
|
|||
New PCjs Control Panel
|
||||
---
|
||||
layout: post
|
||||
title: New PCjs Control Panel
|
||||
date: 2015-01-28 11:00:00
|
||||
category: Control Panel
|
||||
permalink: /blog/2015/01/28/
|
||||
machines:
|
||||
- type: pc-dbg
|
||||
id: at-ega-1152k-rev3
|
||||
config: /devices/pc/machine/5170/ega/1152kb/rev3/backtrack/machine.xml
|
||||
uncompiled: true
|
||||
---
|
||||
|
||||
A new PCjs 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.
|
||||
|
||||
A preview of the layout is shown below. There's not much to see yet, as this is very much a work-in-progress.
|
||||
|
||||
[Embedded IBM PC](/devices/pc/machine/5170/ega/1152kb/rev3/backtrack/ "PCjs:at-ega-1152k-rev3::uncompiled:debugger")
|
||||
{% include machine.html id="at-ega-1152k-rev3" %}
|
||||
|
||||
*[@jeffpar](http://twitter.com/jeffpar)*
|
||||
*January 28, 2015*
|
||||
|
|
@ -1,5 +1,16 @@
|
|||
Compaq DeskPro 386
|
||||
---
|
||||
layout: post
|
||||
title: Compaq DeskPro 386
|
||||
date: 2015-02-22 11:00:00
|
||||
category: 80386
|
||||
permalink: /blog/2015/02/22/
|
||||
machines:
|
||||
- type: pc-dbg
|
||||
id: deskpro386
|
||||
config: /devices/pc/machine/compaq/deskpro386/ega/2048kb/machine.xml
|
||||
uncompiled: true
|
||||
---
|
||||
|
||||
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.
|
||||
|
||||
|
|
@ -15,7 +26,7 @@ A Compaq DeskPro 386 test configuration is displayed below. It's located at:
|
|||
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.
|
||||
|
||||
[Embedded DeskPro 386](/devices/pc/machine/compaq/deskpro386/ega/2048kb/machine.xml "PCjs:deskpro386-ega-2048k::uncompiled:debugger")
|
||||
{% include machine.html id="deskpro386" %})
|
||||
|
||||
*[@jeffpar](http://twitter.com/jeffpar)*
|
||||
*February 22, 2015*
|
||||
|
|
@ -1,5 +1,11 @@
|
|||
Early 80386 CPUs
|
||||
---
|
||||
layout: post
|
||||
title: Early 80386 CPUs
|
||||
date: 2015-02-23 11:00:00
|
||||
category: 80386
|
||||
permalink: /blog/2015/02/23/
|
||||
---
|
||||
|
||||
Assembling a detailed and accurate history of the 80386, 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.
|
||||
|
|
@ -1,5 +1,11 @@
|
|||
JavaScript Idiosyncrasies
|
||||
---
|
||||
layout: post
|
||||
title: JavaScript Idiosyncrasies
|
||||
date: 2015-03-16 11:00:00
|
||||
category: JavaScript
|
||||
permalink: /blog/2015/03/16/
|
||||
---
|
||||
|
||||
Time to mention a few JavaScript idiosyncrasies, and how I deal with them.
|
||||
|
||||
Also, see my previous posts on [PCjs Coding Conventions](/blog/2014/09/30/) and [JavaScript Negativity](/blog/2014/10/26/).
|
||||
|
|
@ -1,5 +1,16 @@
|
|||
Compaq DeskPro 386 Update
|
||||
---
|
||||
layout: post
|
||||
title: Compaq DeskPro 386 Update
|
||||
date: 2015-04-16 11:00:00
|
||||
category: 80386
|
||||
permalink: /blog/2015/04/16/
|
||||
machines:
|
||||
- type: pc-dbg
|
||||
id: deskpro386
|
||||
config: /devices/pc/machine/compaq/deskpro386/ega/2048kb/machine.xml
|
||||
uncompiled: true
|
||||
---
|
||||
|
||||
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,
|
||||
|
|
@ -136,7 +147,7 @@ in the Debugger panel to see the above code in action. When the machine is oper
|
|||
can use the "rp" command to dump all the registers, including the current base and limit values loaded into
|
||||
the segment registers.
|
||||
|
||||
[Embedded DeskPro 386](/devices/pc/machine/compaq/deskpro386/ega/2048kb/machine.xml "PCjs:deskpro386-ega-2048k::uncompiled:debugger")
|
||||
{% include machine.html id="deskpro386" %}
|
||||
|
||||
*[@jeffpar](http://twitter.com/jeffpar)*
|
||||
*April 16-19, 2015*
|
||||
|
|
@ -1,5 +1,11 @@
|
|||
PC Tech Journal Collection
|
||||
---
|
||||
layout: post
|
||||
title: PC Tech Journal Collection
|
||||
date: 2015-05-20 11:00:00
|
||||
category: PC Tech Journal
|
||||
permalink: /blog/2015/05/20/
|
||||
---
|
||||
|
||||
This is an update to my 2014 [post](/blog/2014/08/01/) on the PCjs online collection of old
|
||||
[PC Tech Journal](/pubs/pc/magazines/pctj/) magazine issues.
|
||||
|
||||
|
|
@ -12,7 +18,7 @@ however, even though it identifies itself as a 1987 issue, the editorial index o
|
|||
October 1986, so "technically" it should be considered a late 1986 issue. It is officially Vol. 4, No. 13, which,
|
||||
numerically, puts it squarely between the December 1986 and January 1987 issues.
|
||||
|
||||

|
||||
[<img src="http://static.pcjs.org/pubs/pc/magazines/pctj/PCTJ-1983-07/thumbs/PCTJ-1983-07 1.jpeg" width="200" height="260" alt="PC Tech Journal, July-August 1983"/>](/pubs/pc/magazines/pctj/)
|
||||
|
||||
Happy reading!
|
||||
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
---
|
||||
layout: post
|
||||
title: Debugging the IBM VGA ROM
|
||||
date: 2015-06-01 11:00:00
|
||||
categories: video
|
||||
title: Debugging the IBM VGA ROM
|
||||
date: 2015-06-01 11:00:00
|
||||
category: Video
|
||||
permalink: /blog/2015/06/01/
|
||||
---
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
---
|
||||
layout: post
|
||||
title: The Strange Case of the EGA Graphics Scroll Bug
|
||||
date: 2015-06-05 11:00:00
|
||||
categories: video
|
||||
title: The Strange Case of the EGA Graphics Scroll Bug
|
||||
date: 2015-06-05 11:00:00
|
||||
category: Video
|
||||
permalink: /blog/2015/06/05/
|
||||
---
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
---
|
||||
layout: post
|
||||
title: Windows 95
|
||||
date: 2015-07-17 11:00:00
|
||||
categories: windows-95
|
||||
title: Windows 95
|
||||
date: 2015-07-17 11:00:00
|
||||
category: Windows 95
|
||||
permalink: /blog/2015/07/17/
|
||||
---
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
---
|
||||
layout: post
|
||||
title: Windows 95 In Your Web Browser
|
||||
date: 2015-09-21 11:00:00
|
||||
categories: windows-95 80386
|
||||
title: Windows 95 In Your Web Browser
|
||||
date: 2015-09-21 11:00:00
|
||||
category: Windows 95
|
||||
permalink: /blog/2015/09/21/
|
||||
machines:
|
||||
- type: pc-dbg
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
---
|
||||
layout: post
|
||||
title: Windows 95 and Early 80386 CPUs
|
||||
date: 2015-10-27 11:00:00
|
||||
categories: windows-95 80386
|
||||
title: Windows 95 and Early 80386 CPUs
|
||||
date: 2015-10-27 11:00:00
|
||||
categories: ['Windows 95', '80386']
|
||||
permalink: /blog/2015/10/27/
|
||||
---
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
---
|
||||
layout: post
|
||||
title: Rebuilding the PCjs Website
|
||||
date: 2015-12-10 11:03:00
|
||||
categories: blog
|
||||
title: Rebuilding the PCjs Website
|
||||
date: 2015-12-10 11:03:00
|
||||
category: Website
|
||||
permalink: /blog/2015/12/10/
|
||||
---
|
||||
|
||||
It's been nice using Node.js to power the PCjs website, using Amazon's Elastic Beanstalk service, but that combination
|
||||
|
|
@ -67,9 +68,10 @@ the following values, depending on whether you want an IBM PC or Challenger 1P,
|
|||
- c1p-dbg
|
||||
|
||||
and `id` can be any identifier you want to use to embed the machine. You may also use `config` to specify a machine XML
|
||||
configuration file if not using the default `machine.xml`, `template` to specify an alternate XSL template file if not
|
||||
using the default `components.xsl` file, and `state` to specify a JSON-encoded machine state file if the machine
|
||||
requires a predefined state.
|
||||
configuration file if not using the default `machine.xml`; `template` to specify an alternate XSL template file if not
|
||||
using the default `components.xsl` file; `state` to specify a JSON-encoded machine state file if the machine requires a
|
||||
predefined state; and `uncompiled` may be set to *true* to force a machine to use uncompiled sources, overriding the
|
||||
value of `site.pcjs_compiled` in **_config.yml**.
|
||||
|
||||
For example, the PCjs home page contains two machines, and so this appears at the top of the root [README.md](https://raw.githubusercontent.com/jeffpar/pcjs/gh-pages/README.md):
|
||||
|
||||
|
|
@ -84,3 +86,6 @@ For example, the PCjs home page contains two machines, and so this appears at th
|
|||
I will continue to include a Node web server with the PCjs project, but it remains to be seen whether I'll update the
|
||||
Node components to parse the new Jekyll "Front Matter" that's been added to all the Markdown files, or whether I'll leave
|
||||
leave the Node support as-is on the old "master" branch, and make the "gh-pages" the new default branch.
|
||||
|
||||
*[@jeffpar](http://twitter.com/jeffpar)*
|
||||
*December 10, 2015*
|
||||
|
|
|
|||
|
|
@ -1,26 +0,0 @@
|
|||
PCjs Uncompiled
|
||||
---
|
||||
Most machines on [pcjs.org](http://www.pcjs.org/) run with a compiled version of PCjs, which is produced
|
||||
by running PCjs JavaScript source code through Google's Closure Compiler, yielding a smaller (minified)
|
||||
version that loads and runs much faster than the original source code.
|
||||
|
||||
However, certain features are disabled in the compiled versions, including a new BACKTRACK feature that
|
||||
makes it possible to track the contents of memory locations and registers back to their source (eg, to a ROM
|
||||
or file location). Once the BACKTRACK feature is finished, it will be folded into the compiled code, but until
|
||||
then, the only way to experiment with it is by running the uncompiled code.
|
||||
|
||||
To make it easier to launch machines with the uncompiled code, the PCjs server now allows the *version* field
|
||||
of a PCjs machine link to specify "uncompiled"; previously, the only *version* values allowed were a specific
|
||||
version number (eg, "1.16.5") or an asterisk (which would default to the latest compiled version).
|
||||
|
||||
Here's how you embed an "uncompiled" machine in a PCjs Markdown file:
|
||||
|
||||
[Embedded IBM PC](/devices/pc/machine/5170/ega/1152kb/rev3/ "PCjs:at-ega-1152k-rev3::uncompiled:debugger")
|
||||
|
||||
And here's that example in action, in the Markdown ([README.md]()) file you are reading right now -- assuming
|
||||
you are reading it on a [PCjs](http://www.pcjs.org/blog/2015/01/17/) web server:
|
||||
|
||||
[Embedded IBM PC](/devices/pc/machine/5170/ega/1152kb/rev3/ "PCjs:at-ega-1152k-rev3::uncompiled:debugger")
|
||||
|
||||
*[@jeffpar](http://twitter.com/jeffpar)*
|
||||
*January 17, 2015*
|
||||
|
Before Width: | Height: | Size: 102 KiB After Width: | Height: | Size: 102 KiB |
|
Before Width: | Height: | Size: 71 KiB After Width: | Height: | Size: 71 KiB |
|
Before Width: | Height: | Size: 9.9 KiB After Width: | Height: | Size: 9.9 KiB |
|
Before Width: | Height: | Size: 316 KiB After Width: | Height: | Size: 316 KiB |
|
Before Width: | Height: | Size: 315 KiB After Width: | Height: | Size: 315 KiB |
|
Before Width: | Height: | Size: 121 KiB After Width: | Height: | Size: 121 KiB |
|
Before Width: | Height: | Size: 49 KiB After Width: | Height: | Size: 49 KiB |
|
Before Width: | Height: | Size: 252 KiB After Width: | Height: | Size: 252 KiB |
|
|
@ -1,6 +1,12 @@
|
|||
---
|
||||
layout: page
|
||||
title: IBM PC AT (Model 5170) BIOS
|
||||
permalink: /devices/pc/bios/5170/
|
||||
---
|
||||
|
||||
IBM PC AT (Model 5170) BIOS
|
||||
---
|
||||
[1984-01-10.json]() contains the original IBM PC AT BIOS.
|
||||
[1984-01-10.json](1984-01-10.json) contains the original IBM PC AT BIOS.
|
||||
|
||||
From [http://minuszerodegrees.net/bios/BIOS_5170_10JAN84_6MHZ.zip](http://minuszerodegrees.net/bios/):
|
||||
|
||||
|
|
@ -13,8 +19,8 @@ From [http://minuszerodegrees.net/bios/BIOS_5170_10JAN84_6MHZ.zip](http://minusz
|
|||
|
||||
8 bit checksum of 6181028 = 36
|
||||
8 bit checksum of 6181029 = CA
|
||||
--
|
||||
added = 00
|
||||
--
|
||||
added = 00
|
||||
|
||||
There are two BIN files in this ZIP file:
|
||||
|
||||
|
|
@ -25,8 +31,8 @@ The JSON-encoded ROM image that PCjs uses was created using the *FileDump* comma
|
|||
|
||||
filedump --file=http://static.pcjs.org/devices/pc/bios/5170/BIOS_5170_10JAN84_U27_6181028_27256_6MHZ.BIN --merge=http://static.pcjs.org/devices/pc/bios/5170/BIOS_5170_10JAN84_U47_6181029_27256_6MHZ.BIN --output=1984-01-10.json --overwrite
|
||||
|
||||
Since a MAP file ([1984-01-10.map]()) exists as well, it is automatically appended to the JSON file ([1984-01-10.json]())
|
||||
when using a ROM input file (or JSON output file) with a matching filename.
|
||||
Since a MAP file ([1984-01-10.map](1984-01-10.map)) exists as well, it is automatically appended to the JSON file
|
||||
([1984-01-10.json](1984-01-10.json)) when using a ROM input file (or JSON output file) with a matching filename.
|
||||
|
||||
It is also possible to create a merged binary ROM image ([1984-01-10.rom](http://static.pcjs.org/devices/pc/bios/5170/1984-01-10.rom))
|
||||
by adding *--format=rom* to the command-line (the default is *--format=json*).
|
||||
|
|
@ -34,14 +40,14 @@ by adding *--format=rom* to the command-line (the default is *--format=json*).
|
|||
These operations can only be performed using the *FileDump* command-line interface; the *FileDump* API does not support
|
||||
either the *merge* option or the appending of MAP data. For the moment, the API can only dump unadorned ROM images; eg:
|
||||
|
||||
http://www.pcjs.org/api/v1/dump/?file=http://static.pcjs.org/devices/pc/bios/5170/1984-01-10.rom
|
||||
http://localhost:8088/api/v1/dump/?file=http://static.pcjs.org/devices/pc/bios/5170/1984-01-10.rom
|
||||
|
||||
---
|
||||
|
||||
IBM PC AT (Model 5170) BIOS ("Rev 2")
|
||||
---
|
||||
[1985-06-10.json]() contains the second IBM PC AT BIOS, dated June 10, 1985, which expanded hard disk support from 15 to 23 drive types,
|
||||
fixed some bugs, and added support for 720Kb 3.5-inch floppy diskette drives.
|
||||
[1985-06-10.json](1985-06-10.json) contains the second IBM PC AT BIOS, dated June 10, 1985, which expanded hard disk
|
||||
support from 15 to 23 drive types, fixed some bugs, and added support for 720Kb 3.5-inch floppy diskette drives.
|
||||
|
||||
From [http://minuszerodegrees.net/bios/BIOS_5170_10JUN85_6MHZ.zip](http://minuszerodegrees.net/bios/):
|
||||
|
||||
|
|
@ -54,8 +60,8 @@ From [http://minuszerodegrees.net/bios/BIOS_5170_10JUN85_6MHZ.zip](http://minusz
|
|||
|
||||
8 bit checksum of 6480090 = 71
|
||||
8 bit checksum of 6480091 = 8F
|
||||
--
|
||||
added = 00
|
||||
--
|
||||
added = 00
|
||||
|
||||
There are two BIN files in this ZIP file:
|
||||
|
||||
|
|
@ -70,8 +76,8 @@ The JSON-encoded ROM image that PCjs uses was created using the *FileDump* comma
|
|||
|
||||
IBM PC AT (Model 5170) BIOS ("Rev 3")
|
||||
---
|
||||
[1985-11-15.json]() contains the third (and last) IBM PC AT BIOS, dated November 15, 1985, which added support for 101-key keyboards and 1.44Mb floppy
|
||||
diskette drives.
|
||||
[1985-11-15.json](1985-11-15.json) contains the third (and last) IBM PC AT BIOS, dated November 15, 1985,
|
||||
which added support for 101-key keyboards and 1.44Mb floppy diskette drives.
|
||||
|
||||
From [http://minuszerodegrees.net/bios/BIOS_5170_15NOV85_8MHZ_VARIATION_2.zip](http://minuszerodegrees.net/bios/):
|
||||
|
||||
|
|
@ -84,8 +90,8 @@ From [http://minuszerodegrees.net/bios/BIOS_5170_15NOV85_8MHZ_VARIATION_2.zip](h
|
|||
|
||||
8 bit checksum of 61X9266 = 10
|
||||
8 bit checksum of 61X9265 = F0
|
||||
--
|
||||
added = 00
|
||||
--
|
||||
added = 00
|
||||
|
||||
There are two BIN files in this ZIP file:
|
||||
|
||||
|
|
|
|||
|
|
@ -1,9 +1,15 @@
|
|||
---
|
||||
layout: page
|
||||
title: Compaq DeskPro 386 ROMs
|
||||
permalink: /devices/pc/bios/compaq/deskpro386/
|
||||
---
|
||||
|
||||
Compaq DeskPro 386 ROMs
|
||||
---
|
||||
The oldest Compaq DeskPro 386 ROM I have is a Rev J.4 ROM from a "Version 2" motherboard designed
|
||||
in 1987 and released in 1988.
|
||||
|
||||

|
||||
[<img src="http://static.pcjs.org/pubs/pc/reference/compaq/images/Compaq_DeskPro_386-16_System_Board_V2-640.jpg" alt="Compaq DeskPro 386 System Board Version 2"/>](http://static.pcjs.org/pubs/pc/reference/compaq/images/Compaq_DeskPro_386-16_System_Board_V2.jpg)
|
||||
|
||||
Thanks to folks on the [Vintage Computer](http://www.vintage-computer.com/) forums, I also have a Rev N.1 ROM from 1989.
|
||||
|
||||
|
|
@ -39,9 +45,9 @@ For a more human-readable dump, use the `--comments` option:
|
|||
|
||||
And for those who want a binary file, the FileDump API can be used to recreate binary data from JSON data:
|
||||
|
||||
> [http://www.pcjs.org/api/v1/dump?file=http://www.pcjs.org/devices/pc/bios/compaq/deskpro386/1988-01-28/1988-01-28.json&format=rom](http://www.pcjs.org/api/v1/dump?file=http://www.pcjs.org/devices/pc/bios/compaq/deskpro386/1988-01-28/1988-01-28.json&format=rom)
|
||||
http://localhost:8088/api/v1/dump?file=http://localhost:8088/devices/pc/bios/compaq/deskpro386/1988-01-28/1988-01-28.json&format=rom
|
||||
|
||||
Similarly, [1989-04-14.json](1989-04-14/1989-04-14.json) was generated by first creating [1989-04-14.rom](http://www.pcjs.org/api/v1/dump?file=http://www.pcjs.org/devices/pc/bios/compaq/deskpro386/1989-04-14/1989-04-14.json&format=rom)
|
||||
Similarly, [1989-04-14.json](1989-04-14/1989-04-14.json) was generated by first creating **1989-04-14.rom**
|
||||
from the two 16Kb BIN files provided by [Al Kossow](http://www.vintage-computer.com/vcforum/member.php?2256-Al-Kossow):
|
||||
|
||||
cd 1989-04-14
|
||||
|
|
@ -56,10 +62,10 @@ prototyping board, and capturing the serial port output on my MacBook Pro -- as
|
|||
"[Stick a Straw in Its Brain and Suck: How to Read a ROM](http://www.nycresistor.com/2012/07/07/stick-a-straw-in-its-brain-and-suck-how-to-read-a-rom/)"
|
||||
by [NYC Resistor](http://www.nycresistor.com/) contributor [phooky](http://www.nycresistor.com/author/phooky/).
|
||||
|
||||
The DeskPro 386 ROMs were P27128A-2 chips, so I wired my Uno32 based on this [27128A](/pubs/pc/datasheets/static/27128A.pdf)
|
||||
The DeskPro 386 ROMs were P27128A-2 chips, so I wired my Uno32 based on this [27128A](http://static.pcjs.org/pubs/pc/datasheets/27128A.pdf)
|
||||
datasheet -- the closest match I could find online.
|
||||
|
||||

|
||||

|
||||
|
||||
On my first dump attempt, every ROM address returned 0xFF. After looking at the 27128A datasheet more closely, I noticed
|
||||
the DEVICE OPERATION table indicated that, for a READ operation, /CE and /OE pins should be connected to INPUT LOW VOLTAGE,
|
||||
|
|
|
|||
|
|
@ -1,10 +1,11 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Compaq DeskPro 386 Machines"
|
||||
title: Compaq DeskPro 386 Machines
|
||||
permalink: /devices/pc/machine/compaq/deskpro386/
|
||||
---
|
||||
|
||||
Compaq DeskPro 386 Machines
|
||||
---
|
||||
|
||||
* [Compaq DeskPro 386 with VGA Display running Windows 95](vga/4096kb/)
|
||||
* [Compaq DeskPro 386 with VGA, 2Mb RAM](vga/2048kb/)
|
||||
* [Compaq DeskPro 386 with VGA, 4Mb RAM, running Windows 95](vga/4096kb/)
|
||||
|
|
|
|||
10
devices/pc/machine/compaq/deskpro386/vga/2048kb/machine.md
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Compaq DeskPro 386 with VGA, 2Mb RAM"
|
||||
permalink: /devices/pc/machine/compaq/deskpro386/vga/2048kb/
|
||||
machines:
|
||||
- type: pc-dbg
|
||||
id: deskpro386
|
||||
---
|
||||
|
||||
{% include machine.html id="deskpro386" %}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
layout: page
|
||||
title: "Compaq DeskPro 386 with VGA Display, 4Mb"
|
||||
title: "Compaq DeskPro 386 with VGA, 4Mb RAM"
|
||||
permalink: /devices/pc/machine/compaq/deskpro386/vga/4096kb/
|
||||
machines:
|
||||
- type: pc-dbg
|
||||
|
|
|
|||
11
disks/pc/os2/misc/machine.md
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
---
|
||||
layout: page
|
||||
title: "BM PC AT (8Mhz), 128Kb EGA, 1152Kb RAM, 20Mb Hard Disk"
|
||||
permalink: /disks/pc/os2/misc/
|
||||
machines:
|
||||
- type: pc-dbg
|
||||
id: ibm5170
|
||||
config: /disks/pc/os2/misc/1.0/debugger/machine.xml
|
||||
---
|
||||
|
||||
{% include machine.html id="ibm5170" %}
|
||||
2
notes.md
|
|
@ -134,7 +134,7 @@ To convert PCjs' special links, such as:
|
|||
|
||||
to normal Markdown links, search using this regex:
|
||||
|
||||
\!\[(.*?)\]\(([^ )]*) \"link:(.*?):([0-9]*):([0-9]*)\"\)
|
||||
\!\[(.*?)\]\((.*?) \"link:(.*?):([0-9]*):([0-9]*)\"\)
|
||||
|
||||
and replace using this regex:
|
||||
|
||||
|
|
|
|||
|
|
@ -7,6 +7,8 @@ permalink: /pubs/pc/magazines/pctj/
|
|||
PC Tech Journal
|
||||
---
|
||||
|
||||
(The nearly-complete collection!)
|
||||
|
||||
[<img src="http://static.pcjs.org/pubs/pc/magazines/pctj/PCTJ-1983-07/thumbs/PCTJ-1983-07 1.jpeg" width="200" height="260" alt="PC Tech Journal, Jul 1983"/>](PCTJ-1983-07/)
|
||||
[<img src="http://static.pcjs.org/pubs/pc/magazines/pctj/PCTJ-1983-09/thumbs/PCTJ-1983-09 1.jpeg" width="200" height="260" alt="PC Tech Journal, Sep 1983"/>](PCTJ-1983-09/)
|
||||
[<img src="http://static.pcjs.org/pubs/pc/magazines/pctj/PCTJ-1983-11/thumbs/PCTJ-1983-11 1.jpeg" width="200" height="260" alt="PC Tech Journal, Nov 1983"/>](PCTJ-1983-11/)
|
||||
|
|
|
|||