FOOTBALL-related fixes
This commit is contained in:
parent
ffb377db9d
commit
ac51075c39
7 changed files with 956 additions and 885 deletions
|
|
@ -1,39 +0,0 @@
|
|||
---
|
||||
layout: post
|
||||
title: Tidying The Project
|
||||
date: 2016-02-06 10:00:00
|
||||
permalink: /blog/2016/02/06/
|
||||
---
|
||||
|
||||
The next release of PCjs (v1.20.8) is another fairly minor update. It includes basic parallel port emulation, in the
|
||||
form of a **ParallelPort** component that you include in a machine XML file with the <parallel> element, in much
|
||||
the same way you include the **SerialPort** component with the <serial> element.
|
||||
|
||||
I've also tidied a few things in the [Devices](/devices/) folder. ROM images used to be stored under
|
||||
`/devices/pc/basic/` and `/devices/pc/bios/`, but BASIC and BIOS ROM images aren't actually devices; they are the
|
||||
*contents* of ROM devices. So, with that in mind, I've made the following rearrangements:
|
||||
|
||||
* `/devices/pc/basic/ibm-basic-1.00.json` => `/devices/pc/rom/5150/basic/BASIC100.json`
|
||||
* `/devices/pc/basic/ibm-basic-1.10.json` => `/devices/pc/rom/5160/basic/BASIC110.json`
|
||||
* `/devices/pc/bios/5150/*` => `/devices/pc/rom/5150/bios/*`
|
||||
* `/devices/pc/bios/5160/*` => `/devices/pc/rom/5160/bios/*`
|
||||
* `/devices/pc/bios/5170/*` => `/devices/pc/rom/5170/bios/*`
|
||||
* `/devices/pc/bios/compaq/*` => `/devices/pc/rom/compaq/bios/*`
|
||||
|
||||
This structure mirrors what was done with **Machine** and **Video** devices, where the devices are organized
|
||||
first by manufacturer (IBM or COMPAQ) and then by type (MDA, CGA, EGA, etc).
|
||||
|
||||
Here, the first **ROM** subdivision is either a manufacturer or a machine model. A model implies a manufacturer;
|
||||
for example, models 5150 through 5170 refer to IBM PC models.
|
||||
|
||||
---
|
||||
|
||||
The IBM BASIC ROMs require a bit more research. I'm unclear on the exact history of those ROMs, how many variations
|
||||
there were, or whether any of them were machine-dependent.
|
||||
|
||||
The project currently includes only two BASIC ROM versions, 1.00 and 1.10, which were initially released with the
|
||||
first model 5150 and 5160 machines, respectively. However, I've also read reports that later revisions of the model
|
||||
5150 included BASIC ROM 1.10.
|
||||
|
||||
I believe there was also a version 1.20 released for IBM PCjr, but since PCjs does not yet emulate the PCjr, it has
|
||||
not been added to the project.
|
||||
61
_posts/2016-02-08-super-bowl-winner-pcjs.md
Normal file
61
_posts/2016-02-08-super-bowl-winner-pcjs.md
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
---
|
||||
layout: post
|
||||
title: "Super Bowl Winner: PCjs"
|
||||
date: 2016-02-08 14:00:00
|
||||
permalink: /blog/2016/02/08/
|
||||
---
|
||||
|
||||
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](/disks/pc/os2/misc/football/87058/): mysterious hard-error popups
|
||||
and blank screens.
|
||||
|
||||
A hard-error popup would occur when FOOTBALL tried to initialize a non-existent PRN device. To resolve that, PCjs
|
||||
now provides basic parallel port emulation, in the form of a [ParallelPort](/docs/pcjs/parallel/) component that you
|
||||
include in a machine XML file with the <parallel> element, in much the same way you include the
|
||||
[SerialPort](/docs/pcjs/serial/) component with the <serial> element. The Compaq DeskPro 386
|
||||
[Test Machine](/devices/pc/machine/compaq/deskpro386/ega/4096kb/) used to run FOOTBALL has now been updated to include
|
||||
one parallel port.
|
||||
|
||||
The other problem was that switching between sessions with the **SysReq** key would often result in a blank screen;
|
||||
the new session was active, but you couldn't see it. This was a side-effect of how FOOTBALL reprograms the video
|
||||
controller when switching screens *and* the linear page mappings it creates to access video memory, which in turn
|
||||
exposed a PCjs memory-management bug. The upshot is that whenever the Video component moves the address of the video
|
||||
buffer (which is *physical* memory), it must tell the CPU to flush any linear-to-physical mappings that may still refer
|
||||
to the old physical memory.
|
||||
|
||||
With these changes, the [OS/2 FOOTBALL Boot Disk](/disks/pc/os2/misc/football/87058/) appears to be quite usable now.
|
||||
Feel free to give it a few kicks!
|
||||
|
||||
---
|
||||
|
||||
I've also tidied up a few things in the [Devices](/devices/) folder. ROM images used to be stored under
|
||||
`/devices/pc/basic/` and `/devices/pc/bios/`, but BASIC and BIOS ROM images aren't actually devices; they are the
|
||||
*contents* of ROM devices. So, with that in mind, I've made the following rearrangements:
|
||||
|
||||
* `/devices/pc/bios/5150/*` => `/devices/pc/rom/5150/bios/*`
|
||||
* `/devices/pc/bios/5160/*` => `/devices/pc/rom/5160/bios/*`
|
||||
* `/devices/pc/bios/5170/*` => `/devices/pc/rom/5170/bios/*`
|
||||
* `/devices/pc/bios/compaq/*` => `/devices/pc/rom/compaq/bios/*`
|
||||
* `/devices/pc/basic/ibm-basic-1.00.json` => `/devices/pc/rom/5150/basic/BASIC100.json`
|
||||
* `/devices/pc/basic/ibm-basic-1.10.json` => `/devices/pc/rom/5160/basic/BASIC110.json`
|
||||
|
||||
This structure mirrors what was done with Machine and Video devices, where the devices are organized
|
||||
first by manufacturer (IBM or COMPAQ) and then by type (MDA, CGA, EGA, etc).
|
||||
|
||||
Here, the first ROM subdivision is either a manufacturer or a machine model. A model implies a manufacturer;
|
||||
for example, models 5150 through 5170 refer to IBM PC models.
|
||||
|
||||
---
|
||||
|
||||
The IBM BASIC ROMs require a bit more research. I'm a little unclear on the precise history of the BASIC ROMs and
|
||||
exactly which version shipped with each IBM PC machine revision.
|
||||
|
||||
The project currently includes only two BASIC ROM versions, 1.00 and 1.10, which were initially released with the
|
||||
first model 5150 and 5160 machines, respectively. However, I've also read reports that later revisions of the model
|
||||
5150 included BASIC ROM 1.10 as well.
|
||||
|
||||
I believe there was also a BASIC ROM version 1.20 released for IBM PCjr, but since PCjs does not yet emulate the PCjr,
|
||||
it has not been added to the project.
|
||||
|
||||
*[@jeffpar](http://twitter.com/jeffpar)*
|
||||
*February 8, 2016*
|
||||
Loading…
Reference in a new issue