Added MDA and CGA 5170 configurations, and fixed a problem with 5170 REV2/REV3 floppy-only machines

This commit is contained in:
Jeff Parsons 2016-04-01 15:38:26 -07:00
commit 7a51241486
38 changed files with 615 additions and 352 deletions

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.4/machine.xsl"?>
<machine id="ibm5160" class="pc" border="1" pos="center" background="#FAEBD7">
<name>IBM PC XT (Model 5160), 64K EGA, 256K RAM, 10Mb Hard Drive</name>
<name>IBM PC XT (Model 5160), 64K EGA, 256K RAM, 10Mb Hard Disk</name>
<computer id="xt-ega-256k" name="IBM PC XT"/>
<cpu id="cpu8088" model="8088"/>
<ram id="ramLow" addr="0x00000" test="false"/>

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.4/machine.xsl"?>
<machine id="ibm5160" class="pc" border="1" pos="center" background="#FAEBD7">
<name>IBM PC XT (Model 5160), 64K EGA, 256K RAM, 10Mb Hard Drive</name>
<name>IBM PC XT (Model 5160), 64K EGA, 256K RAM, 10Mb Hard Disk</name>
<computer id="xt-ega-256k" name="IBM PC XT"/>
<cpu id="cpu8088" model="8088"/>
<ram id="ramLow" addr="0x00000" test="false"/>

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.4/machine.xsl"?>
<machine id="ibm5160" class="pc" border="1" width="680px" float="left" background="#FAEBD7">
<name pos="center">IBM PC XT, 128K EGA, 640K RAM, 10Mb Hard Drive</name>
<name pos="center">IBM PC XT, 128K EGA, 640K RAM, 10Mb Hard Disk</name>
<computer id="xt-ega-640k" name="IBM PC XT" state="/disks/pc/windows/1.01/ibm5160-ega.json"/>
<ram id="ramLow" addr="0x00000" test="false" size="0xa0000" comment="0xa0000 (640Kb) size overrides SW1|ROM BIOS memory test has been disabled"/>
<rom id="romHDC" addr="0xc8000" size="0x2000" file="/devices/pc/hdc/ibm-xebec-1982.json"/>

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.4/machine.xsl"?>
<machine id="ibm5160" class="pc" border="1" pos="center" background="#FAEBD7">
<name>IBM PC XT, 128K EGA, 640K RAM, 10Mb Hard Drive</name>
<name>IBM PC XT, 128K EGA, 640K RAM, 10Mb Hard Disk</name>
<computer id="xt-ega-640k" name="IBM PC XT"/>
<cpu id="cpu8088" model="8088"/>
<ram id="ramLow" addr="0x00000" test="false" size="0xa0000" comment="0xa0000 (640Kb) size overrides SW1|ROM BIOS memory test has been disabled"/>

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.4/machine.xsl"?>
<machine id="ibm5160" class="pc" border="1" pos="center" background="#FAEBD7">
<name>IBM PC XT, 128K EGA, 640K RAM, 10Mb Hard Drive</name>
<name>IBM PC XT, 128K EGA, 640K RAM, 10Mb Hard Disk</name>
<computer id="xt-ega-640k" name="IBM PC XT"/>
<cpu id="cpu8088" model="8088"/>
<ram id="ramLow" addr="0x00000" test="false" size="0xa0000" comment="0xa0000 (640Kb) size overrides SW1|ROM BIOS memory test has been disabled"/>

View file

@ -9,5 +9,7 @@ IBM PC AT Machines (Model 5170)
All our Model 5170, aka IBM PC AT, configurations are located here, including:
* [IBM PC AT with MDA Display](/devices/pc/machine/5170/mda/)
* [IBM PC AT with CGA Display](/devices/pc/machine/5170/cga/)
* [IBM PC AT with EGA Display](/devices/pc/machine/5170/ega/)
* [IBM PC AT with VGA Display](/devices/pc/machine/5170/vga/)

View file

@ -0,0 +1,11 @@
---
layout: page
title: "IBM PC AT (Model 5170, 640Kb) with CGA Display"
permalink: /devices/pc/machine/5170/cga/640kb/rev3/debugger/
machines:
- type: pc
id: ibm5170
debugger: true
---
{% include machine.html id="ibm5170" %}

View file

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.4/machine.xsl"?>
<machine id="ibm5170" class="pc" border="1" pos="center" background="#FAEBD7">
<name pos="center">IBM PC AT (8Mhz, 640Kb, Dual Floppy) with Color Display</name>
<computer id="at-mda-640k" name="IBM PC AT" buswidth="24"/>
<cpu id="cpu286" model="80286"/>
<ram id="ramLow" addr="0x00000" size="0xa0000"/>
<rom id="romBIOS" addr="0xf0000" size="0x10000" alias="0xff0000" file="/devices/pc/rom/5170/1985-11-15/ATBIOS-REV3.json"/>
<video ref="/devices/pc/video/ibm/mda/ibm-mda.xml"/>
<fdc ref="/disks/pc/compiled/library.xml" automount='{A: {name: "PC-DOS 3.00 (Disk 1)", path: "/disks/pc/dos/ibm/3.00/PCDOS300-DISK1.json"}, B: {name: "PC-DOS 3.00 (Disk 2)", path: "/disks/pc/dos/ibm/3.00/PCDOS300-DISK2.json"}}'/>
<keyboard ref="/devices/pc/keyboard/us84-buttons-functions.xml"/>
<debugger id="debugger" messages="fault" commands=""/>
<panel ref="/devices/pc/panel/wide.xml"/>
<comment>
The 5170 doesn't have DIP switches like previous models, but it still has a few switches and jumpers.
First and foremost, there is a "Display Switch" near the battery connector that must be pushed "toward the
front of your system unit" if you have a CGA that is your only (or primary) display adapter, or "toward the
back of your system unit" if you're using an MDA as your only (or primary) display.
We support the "Display Switch" setting with the *monitor* property, which you can set to either "mono"
(aka "mda") or "color" (aka "cga"). However, unlike the model 5150/5160 DIP switches, we currently offer no
UI for this switch, so it cannot be changed by the user.
Second, there is the "keyboard inhibit switch"; it defaults to UNLOCKED and stays UNLOCKED, since no UI or
configuration property is currently provided.
Finally, there is a "manufacturing jumper" that can be installed, enabling additional diagnostic functions
in the ROM; it defaults to UNINSTALLED and stays UNINSTALLED, since no UI or configuration property is currently
provided.
</comment>
<chipset id="chipset" model="5170" floppies="[1200,1200]" monitor="color"/>
<serial id="com1" adapter="1"/>
<serial id="com2" adapter="2" binding="print"/>
<mouse serial="com1"/>
</machine>

View file

@ -0,0 +1,10 @@
---
layout: page
title: "IBM PC AT (Model 5170, 640Kb) with CGA Display"
permalink: /devices/pc/machine/5170/cga/640kb/rev3/
machines:
- type: pc
id: ibm5170
---
{% include machine.html id="ibm5170" %}

View file

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.4/machine.xsl"?>
<machine id="ibm5170" class="pc" border="1" pos="center" background="#FAEBD7">
<name pos="center">IBM PC AT (8Mhz, 640Kb, Dual Floppy) with Color Display</name>
<computer id="at-mda-640k" name="IBM PC AT" buswidth="24"/>
<cpu id="cpu286" model="80286"/>
<ram id="ramLow" addr="0x00000" size="0xa0000"/>
<rom id="romBIOS" addr="0xf0000" size="0x10000" alias="0xff0000" file="/devices/pc/rom/5170/1985-11-15/ATBIOS-REV3.json"/>
<video ref="/devices/pc/video/ibm/mda/ibm-mda.xml"/>
<fdc ref="/disks/pc/compiled/library.xml" automount='{A: {name: "PC-DOS 3.00 (Disk 1)", path: "/disks/pc/dos/ibm/3.00/PCDOS300-DISK1.json"}, B: {name: "PC-DOS 3.00 (Disk 2)", path: "/disks/pc/dos/ibm/3.00/PCDOS300-DISK2.json"}}'/>
<keyboard ref="/devices/pc/keyboard/us84-buttons-functions.xml"/>
<chipset id="chipset" model="5170" floppies="[1200,1200]" monitor="color"/>
<serial id="com1" adapter="1"/>
<mouse serial="com1"/>
</machine>

View file

@ -0,0 +1,12 @@
---
layout: page
title: "IBM PC AT (Model 5170) with Color Display"
permalink: /devices/pc/machine/5170/cga/
---
IBM PC AT with Color (CGA) Display
---
All our Color Display configurations of the IBM PC AT (Model 5170) are located here, including:
* [IBM PC AT (8Mhz, 640Kb, Dual Floppy) with CGA Display](/devices/pc/machine/5170/cga/640kb/rev3/) ([Debugger](/devices/pc/machine/5170/cga/640kb/rev3/debugger/))

View file

@ -0,0 +1,10 @@
---
layout: page
title: "IBM PC AT (Model 5170, 1152Kb) with EGA Display and 20Mb Hard Disk"
permalink: /devices/pc/machine/5170/ega/1152kb/rev1/
machines:
- type: pc
id: ibm5170
---
{% include machine.html id="ibm5170" %}

View file

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.4/machine.xsl"?>
<machine id="ibm5170" class="pc" border="1" pos="center" background="#FAEBD7">
<name pos="center">IBM PC AT (6Mhz), 128Kb EGA, 1152Kb RAM, 20Mb Hard Disk</name>
<computer id="at-ega-1152k-rev1" name="IBM PC AT" buswidth="24"/>
<cpu id="cpu286" model="80286"/>
<ram id="ramLow" addr="0x00000" test="false" size="0xa0000" comment="ROM BIOS memory test has been disabled"/>
<ram id="ramExt" addr="0x100000" size="0x80000" comment=""/>
<rom id="romBIOS" addr="0xf0000" size="0x10000" alias="0xff0000" file="/devices/pc/rom/5170/1984-01-10/ATBIOS-REV1.json"/>
<video ref="/devices/pc/video/ibm/ega/1984-09-13/128kb-autolockfs.xml"/>
<fdc ref="/disks/pc/compiled/library.xml" automount='{A: {name: "PC-DOS 3.00 (Disk 1)", path: "/disks/pc/dos/ibm/3.00/PCDOS300-DISK1.json"}, B: {name: "PC-DOS 3.00 (Disk 2)", path: "/disks/pc/dos/ibm/3.00/PCDOS300-DISK2.json"}}'/>
<keyboard ref="/devices/pc/keyboard/us84-buttons-functions.xml"/>
<hdc id="hdcAT" type="at" drives='[{name:"20Mb Hard Disk",type:2}]'/>
<chipset id="chipset" model="5170" floppies="[1200,1200]"/>
<serial id="com1" adapter="1"/>
<mouse serial="com1"/>
</machine>

View file

@ -17,6 +17,5 @@
<hdc id="hdcAT" type="at" drives='[{name:"20Mb Hard Disk",type:2,path:"/disks/pc/fixed/20mb/PCDOS330-EMPTY.json"}]'/>
<chipset id="chipset" model="5170" floppies="[1440,1200]"/>
<serial id="com1" adapter="1"/>
<serial id="com2" adapter="2" binding="print"/>
<mouse serial="com1"/>
</machine>

View file

@ -13,6 +13,5 @@
<hdc id="hdcAT" type="at" drives='[{name:"20Mb Hard Disk",type:2,path:"/disks/pc/fixed/20mb/PCDOS330-EMPTY.json"}]'/>
<chipset id="chipset" model="5170" floppies="[1440,1200]"/>
<serial id="com1" adapter="1"/>
<serial id="com2" adapter="2" binding="print" tabsize="8" charbol="9"/>
<mouse serial="com1"/>
</machine>

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.4/machine.xsl"?>
<machine id="ibm5170" class="pc" border="1" pos="center" background="#FAEBD7">
<name pos="center">IBM PC AT, 128K EGA, 640K RAM</name>
<name pos="center">IBM PC AT, 128K EGA, 640Kb RAM</name>
<computer id="at-ega-640k" name="IBM PC AT" buswidth="24"/>
<cpu id="cpu286" model="80286"/>
<ram id="ramLow" addr="0x00000" size="0xa0000"/>

View file

@ -1,23 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.4/manifest.xsl"?>
<manifest type="document">
<title>IBM PC AT References</title>
<document href="http://minuszerodegrees.net/manuals/IBM_5170_Technical_Reference_1502243_MAR84.pdf">
<name>IBM 5170 Technical Reference (March 1984)</name>
<cover href="../../../../../../../../pubs/pc/reference/ibm/archive/5170/techref/1984-03/thumbs/IBM-5170-TECHREF 1.jpeg"/>
<page href="#page=48">I/O Address Map</page>
<page href="#page=67">CMOS Addresses</page>
<page href="#page=165">BIOS Map</page>
<page href="#page=169">BIOS Listing</page>
<page href="#page=175">TEST.01: X286 Processor Test</page>
<page href="#page=177">TEST.02: Verify CMOS Shutdown</page>
<page href="#page=222">POST7 VERW/VERR</page>
<page href="#page=232">DISKETTE_IO_1</page>
</document>
<document href="https://archive.org/download/bitsavers_intel80286287ProgrammersReferenceManual1987_27505703/210498-005_80286_and_80287_Programmers_Reference_Manual_1987.pdf">
<name>80286 and 80287 Programmers Reference Manual (1987)</name>
<cover href="../../../../../../../../pubs/pc/reference/intel/archive/80286/progref/thumbs/80286_and_80287_Programmers_Reference_Manual_1987 1.jpeg"/>
<page href="#page=27">Memory Organization and Segmentation</page>
<page href="#page=321">VERR/VERW</page>
</document>
</manifest>

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.4/machine.xsl"?>
<machine id="ibm5170" class="pc" border="1" pos="center" background="#FAEBD7">
<name pos="center">IBM PC AT, 128K EGA, 640K RAM</name>
<name pos="center">IBM PC AT, 128K EGA, 640Kb RAM</name>
<computer id="at-ega-640k" name="IBM PC AT" buswidth="24"/>
<cpu id="cpu286" model="80286"/>
<ram id="ramLow" addr="0x00000" size="0xa0000"/>
@ -11,6 +11,5 @@
<keyboard ref="/devices/pc/keyboard/us83-buttons-minimal.xml"/>
<chipset id="chipset" model="5170" floppies="[1200,1200]"/>
<serial id="com1" adapter="1"/>
<serial id="com2" adapter="2" binding="print"/>
<mouse serial="com1"/>
</machine>

View file

@ -9,7 +9,9 @@ IBM PC AT with Enhanced Color Graphics (EGA) Display
All our Enhanced Color Graphics (EGA) configurations of the IBM PC AT (Model 5170) are located here, including:
* [IBM PC AT (6Mhz, 640Kb) with EGA Display (Debugger)](/devices/pc/machine/5170/ega/640kb/rev1/debugger/)
* [IBM PC AT (6Mhz, 1Mb, 20Mb Drive) with EGA Display (Debugger)](/devices/pc/machine/5170/ega/1152kb/rev1/debugger/)
* [IBM PC AT (8Mhz, 1Mb, 20Mb Drive) with EGA Display](/devices/pc/machine/5170/ega/1152kb/rev3/) ([Debugger](/devices/pc/machine/5170/ega/1152kb/rev3/debugger/),[Backtrack](/devices/pc/machine/5170/ega/1152kb/rev3/debugger/backtrack/))
* [IBM PC AT (8Mhz, 2Mb, 20Mb Drive) with EGA Display](/devices/pc/machine/5170/ega/2048kb/rev3/) ([Debugger](/devices/pc/machine/5170/ega/2048kb/rev3/debugger/),[Backtrack](/devices/pc/machine/5170/ega/2048kb/rev3/debugger/backtrack/))
* [IBM PC AT (8Mhz, 640Kb, Dual Floppy) with MDA Display](/devices/pc/machine/5170/mda/640kb/rev3/) ([Debugger](/devices/pc/machine/5170/mda/640kb/rev3/debugger/))
* [IBM PC AT (8Mhz, 640Kb, Dual Floppy) with CGA Display](/devices/pc/machine/5170/cga/640kb/rev3/) ([Debugger](/devices/pc/machine/5170/cga/640kb/rev3/debugger/))
* [IBM PC AT (6Mhz, 640Kb, Dual Floppy) with EGA Display](/devices/pc/machine/5170/ega/640kb/rev1/) ([Debugger](/devices/pc/machine/5170/ega/640kb/rev1/debugger/))
* [IBM PC AT (6Mhz, 1Mb, 20Mb Hard Disk) with EGA Display](/devices/pc/machine/5170/ega/1152kb/rev1/) ([Debugger](/devices/pc/machine/5170/ega/1152kb/rev1/debugger/))
* [IBM PC AT (8Mhz, 1Mb, 20Mb Hard Disk) with EGA Display](/devices/pc/machine/5170/ega/1152kb/rev3/) ([Debugger](/devices/pc/machine/5170/ega/1152kb/rev3/debugger/),[Backtrack](/devices/pc/machine/5170/ega/1152kb/rev3/debugger/backtrack/))
* [IBM PC AT (8Mhz, 2Mb, 20Mb Hard Disk) with EGA Display](/devices/pc/machine/5170/ega/2048kb/rev3/) ([Debugger](/devices/pc/machine/5170/ega/2048kb/rev3/debugger/),[Backtrack](/devices/pc/machine/5170/ega/2048kb/rev3/debugger/backtrack/))

View file

@ -0,0 +1,11 @@
---
layout: page
title: "IBM PC AT (Model 5170, 640Kb) with MDA Display"
permalink: /devices/pc/machine/5170/mda/640kb/rev3/debugger/
machines:
- type: pc
id: ibm5170
debugger: true
---
{% include machine.html id="ibm5170" %}

View file

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.4/machine.xsl"?>
<machine id="ibm5170" class="pc" border="1" pos="center" background="#FAEBD7">
<name pos="center">IBM PC AT (8Mhz, 640Kb, Dual Floppy) with Monochrome Display</name>
<computer id="at-mda-640k" name="IBM PC AT" buswidth="24"/>
<cpu id="cpu286" model="80286"/>
<ram id="ramLow" addr="0x00000" size="0xa0000"/>
<rom id="romBIOS" addr="0xf0000" size="0x10000" alias="0xff0000" file="/devices/pc/rom/5170/1985-11-15/ATBIOS-REV3.json"/>
<video ref="/devices/pc/video/ibm/mda/ibm-mda.xml"/>
<fdc ref="/disks/pc/compiled/library.xml" automount='{A: {name: "PC-DOS 3.00 (Disk 1)", path: "/disks/pc/dos/ibm/3.00/PCDOS300-DISK1.json"}, B: {name: "PC-DOS 3.00 (Disk 2)", path: "/disks/pc/dos/ibm/3.00/PCDOS300-DISK2.json"}}'/>
<keyboard ref="/devices/pc/keyboard/us84-buttons-functions.xml"/>
<debugger id="debugger" messages="fault" commands=""/>
<panel ref="/devices/pc/panel/wide.xml"/>
<comment>
The 5170 doesn't have DIP switches like previous models, but it still has a few switches and jumpers.
First and foremost, there is a "Display Switch" near the battery connector that must be pushed "toward the
front of your system unit" if you have a CGA that is your only (or primary) display adapter, or "toward the
back of your system unit" if you're using an MDA as your only (or primary) display.
We support the "Display Switch" setting with the *monitor* property, which you can set to either "mono"
(aka "mda") or "color" (aka "cga"). However, unlike the model 5150/5160 DIP switches, we currently offer no
UI for this switch, so it cannot be changed by the user.
Second, there is the "keyboard inhibit switch"; it defaults to UNLOCKED and stays UNLOCKED, since no UI or
configuration property is currently provided.
Finally, there is a "manufacturing jumper" that can be installed, enabling additional diagnostic functions
in the ROM; it defaults to UNINSTALLED and stays UNINSTALLED, since no UI or configuration property is currently
provided.
</comment>
<chipset id="chipset" model="5170" floppies="[1200,1200]" monitor="mono"/>
<serial id="com1" adapter="1"/>
<serial id="com2" adapter="2" binding="print"/>
<mouse serial="com1"/>
</machine>

View file

@ -0,0 +1,10 @@
---
layout: page
title: "IBM PC AT (Model 5170, 640Kb) with MDA Display"
permalink: /devices/pc/machine/5170/mda/640kb/rev3/
machines:
- type: pc
id: ibm5170
---
{% include machine.html id="ibm5170" %}

View file

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.4/machine.xsl"?>
<machine id="ibm5170" class="pc" border="1" pos="center" background="#FAEBD7">
<name pos="center">IBM PC AT (8Mhz, 640Kb, Dual Floppy) with Monochrome Display</name>
<computer id="at-mda-640k" name="IBM PC AT" buswidth="24"/>
<cpu id="cpu286" model="80286"/>
<ram id="ramLow" addr="0x00000" size="0xa0000"/>
<rom id="romBIOS" addr="0xf0000" size="0x10000" alias="0xff0000" file="/devices/pc/rom/5170/1985-11-15/ATBIOS-REV3.json"/>
<video ref="/devices/pc/video/ibm/mda/ibm-mda.xml"/>
<fdc ref="/disks/pc/compiled/library.xml" automount='{A: {name: "PC-DOS 3.00 (Disk 1)", path: "/disks/pc/dos/ibm/3.00/PCDOS300-DISK1.json"}, B: {name: "PC-DOS 3.00 (Disk 2)", path: "/disks/pc/dos/ibm/3.00/PCDOS300-DISK2.json"}}'/>
<keyboard ref="/devices/pc/keyboard/us84-buttons-functions.xml"/>
<chipset id="chipset" model="5170" floppies="[1200,1200]" monitor="mono"/>
<serial id="com1" adapter="1"/>
<mouse serial="com1"/>
</machine>

View file

@ -0,0 +1,12 @@
---
layout: page
title: "IBM PC AT (Model 5170) with Monochrome Display"
permalink: /devices/pc/machine/5170/mda/
---
IBM PC AT with Monochrome (MDA) Display
---
All our Monochrome Display configurations of the IBM PC AT (Model 5170) are located here, including:
* [IBM PC AT (8Mhz, 640Kb, Dual Floppy) with MDA Display](/devices/pc/machine/5170/mda/640kb/rev3/) ([Debugger](/devices/pc/machine/5170/mda/640kb/rev3/debugger/))

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.4/machine.xsl"?>
<machine id="ibm5170" class="pc" border="1" pos="center" background="#FAEBD7">
<name pos="center">IBM PC AT (8Mhz), VGA, 2Mb RAM, 20Mb Hard Disk</name>
<name pos="center">IBM PC AT (8Mhz, 2Mb, 20Mb Hard Disk) with VGA Display</name>
<computer id="at-vga-2048k" name="IBM PC AT" buswidth="24"/>
<ram id="ramLow" addr="0x00000" test="true" size="0xa0000" comment="ROM BIOS memory test has NOT been disabled"/>
<ram id="ramExt" addr="0x100000" size="0x160000" comment=""/>

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.4/machine.xsl"?>
<machine id="ibm5170" class="pc" border="1" pos="center" background="#FAEBD7">
<name pos="center">IBM PC AT (8Mhz), VGA, 2Mb RAM, 20Mb Hard Disk</name>
<name pos="center">IBM PC AT (8Mhz, 2Mb, 20Mb Hard Disk) with VGA Display</name>
<computer id="at-vga-2048k" name="IBM PC AT" buswidth="24"/>
<ram id="ramLow" addr="0x00000" test="false" size="0xa0000" comment="ROM BIOS memory test has been disabled"/>
<ram id="ramExt" addr="0x100000" size="0x160000" comment=""/>
@ -17,6 +17,5 @@
<hdc id="hdcAT" type="at" drives='[{name:"20Mb Hard Disk",type:2,path:"/disks/pc/fixed/20mb/PCDOS330-EMPTY.json"}]'/>
<chipset id="chipset" model="5170" floppies="[1440,1200]"/>
<serial id="com1" adapter="1"/>
<serial id="com2" adapter="2" binding="print"/>
<mouse serial="com1"/>
</machine>

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.21.4/machine.xsl"?>
<machine id="ibm5170" class="pc" border="1" pos="center" background="#FAEBD7">
<name pos="center">IBM PC AT (8Mhz), VGA, 4Mb RAM, 20Mb Hard Disk</name>
<name pos="center">IBM PC AT (8Mhz, 4Mb, 20Mb Hard Disk) with VGA Display</name>
<computer id="at-vga-2048k" name="IBM PC AT" buswidth="24"/>
<ram id="ramLow" addr="0x00000" test="false" size="0xa0000" comment="ROM BIOS memory test has been disabled"/>
<ram id="ramExt" addr="0x100000" size="0x360000" comment=""/>

View file

@ -17,6 +17,5 @@
<hdc id="hdcAT" type="at" drives='[{name:"20Mb Hard Disk",type:2,path:"/disks/pc/fixed/20mb/PCDOS330-EMPTY.json"}]'/>
<chipset id="chipset" model="5170" floppies="[1440,1200]"/>
<serial id="com1" adapter="1"/>
<serial id="com2" adapter="2" binding="print"/>
<mouse serial="com1"/>
</machine>

View file

@ -4,9 +4,10 @@ title: "IBM PC AT (Model 5170) with VGA Display"
permalink: /devices/pc/machine/5170/vga/
---
IBM PC AT with VGA Display
IBM PC AT with Video Graphics Array (VGA) Display
---
All our VGA configurations of the IBM PC AT (Model 5170) are located here, including:
All our Video Graphics Array (VGA) configurations of the IBM PC AT (Model 5170) are located here, including:
* [IBM PC AT (8Mhz, 2Mb, 20Mb Drive) with VGA Display](/devices/pc/machine/5170/vga/2048kb/) ([Debugger](/devices/pc/machine/5170/vga/2048kb/debugger/))
* [IBM PC AT (8Mhz, 2Mb, 20Mb Hard Disk) with VGA Display](/devices/pc/machine/5170/vga/2048kb/) ([Debugger](/devices/pc/machine/5170/vga/2048kb/debugger/))
* [IBM PC AT (8Mhz, 4Mb, 20Mb Hard Disk) with VGA Display](/devices/pc/machine/5170/vga/4096kb/) ([Debugger](/devices/pc/machine/5170/vga/4096kb/debugger/))

View file

@ -96,9 +96,11 @@ other software.
[Model 5170 Machines](/devices/pc/machine/5170/) include:
* [IBM PC AT (6Mhz, 640Kb) with EGA Display (Debugger)](/devices/pc/machine/5170/ega/640kb/rev1/debugger/)
* [IBM PC AT (6Mhz, 1Mb, 20Mb Drive) with EGA Display (Debugger)](/devices/pc/machine/5170/ega/1152kb/rev1/debugger/)
* [IBM PC AT (8Mhz, 1Mb, 20Mb Drive) with EGA Display](/devices/pc/machine/5170/ega/1152kb/rev3/) ([Debugger](/devices/pc/machine/5170/ega/1152kb/rev3/debugger/),[Backtrack](/devices/pc/machine/5170/ega/1152kb/rev3/debugger/backtrack/))
* [IBM PC AT (8Mhz, 2Mb, 20Mb Drive) with EGA Display](/devices/pc/machine/5170/ega/2048kb/rev3/) ([Debugger](/devices/pc/machine/5170/ega/2048kb/rev3/debugger/),[Backtrack](/devices/pc/machine/5170/ega/2048kb/rev3/debugger/backtrack/))
* [IBM PC AT (8Mhz, 2Mb, 20Mb Drive) with VGA Display](/devices/pc/machine/5170/vga/2048kb/) ([Debugger](/devices/pc/machine/5170/vga/2048kb/debugger/))
* [IBM PC AT (8Mhz, 4Mb, 20Mb Drive) with VGA Display](/devices/pc/machine/5170/vga/4096kb/) ([Debugger](/devices/pc/machine/5170/vga/4096kb/debugger/))
* [IBM PC AT (8Mhz, 640Kb, Dual Floppy) with MDA Display](/devices/pc/machine/5170/mda/640kb/rev3/) ([Debugger](/devices/pc/machine/5170/mda/640kb/rev3/debugger/))
* [IBM PC AT (8Mhz, 640Kb, Dual Floppy) with CGA Display](/devices/pc/machine/5170/cga/640kb/rev3/) ([Debugger](/devices/pc/machine/5170/cga/640kb/rev3/debugger/))
* [IBM PC AT (6Mhz, 640Kb, Dual Floppy) with EGA Display](/devices/pc/machine/5170/ega/640kb/rev1/) ([Debugger](/devices/pc/machine/5170/ega/640kb/rev1/debugger/))
* [IBM PC AT (6Mhz, 1Mb, 20Mb Hard Disk) with EGA Display](/devices/pc/machine/5170/ega/1152kb/rev1/) ([Debugger)](/devices/pc/machine/5170/ega/1152kb/rev1/debugger/))
* [IBM PC AT (8Mhz, 1Mb, 20Mb Hard Disk) with EGA Display](/devices/pc/machine/5170/ega/1152kb/rev3/) ([Debugger](/devices/pc/machine/5170/ega/1152kb/rev3/debugger/),[Backtrack](/devices/pc/machine/5170/ega/1152kb/rev3/debugger/backtrack/))
* [IBM PC AT (8Mhz, 2Mb, 20Mb Hard Disk) with EGA Display](/devices/pc/machine/5170/ega/2048kb/rev3/) ([Debugger](/devices/pc/machine/5170/ega/2048kb/rev3/debugger/),[Backtrack](/devices/pc/machine/5170/ega/2048kb/rev3/debugger/backtrack/))
* [IBM PC AT (8Mhz, 2Mb, 20Mb Hard Disk) with VGA Display](/devices/pc/machine/5170/vga/2048kb/) ([Debugger](/devices/pc/machine/5170/vga/2048kb/debugger/))
* [IBM PC AT (8Mhz, 4Mb, 20Mb Hard Disk) with VGA Display](/devices/pc/machine/5170/vga/4096kb/) ([Debugger](/devices/pc/machine/5170/vga/4096kb/debugger/))

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -60,8 +60,8 @@ if (NODE) {
* As support for IBM-compatible machines grows, we should refrain from adding new model strings (eg, "att6300")
* and corresponding model checks, and instead add more ChipSet configuration properties, such as:
*
* pit1: 0x48 to enable PIT1 at base port 0x48 (as used by COMPAQ_DESKPRO386); default to undefined
* kc: 8041 to select 8041 emulation (eg, for ATT_6300); default to 8255 for MODEL_5150/MODEL_5160, 8042 for MODEL_5170
* pit1port: 0x48 to enable PIT1 at base port 0x48 (as used by COMPAQ_DESKPRO386); default to undefined
* kbdchip: 8041 to select 8041 emulation (eg, for ATT_6300); default to 8255 for MODEL_5150/MODEL_5160, 8042 for MODEL_5170
*
* @constructor
* @extends Component
@ -823,8 +823,10 @@ ChipSet.DIPSW[ChipSet.MODEL_5150][0][ChipSet.SWITCH_TYPE.MONITOR] = {
2: 0x20,
3: 0x30,
"none": 0x00,
"tv": 0x10,
"tv": 0x10, // aka composite
"color":0x20,
"cga": 0x20, // alias for color
"mda": 0x30, // alias for mono
"mono": 0x30,
"ega": 0x00,
"vga": 0x00

View file

@ -1739,6 +1739,85 @@ FDC.prototype.outFDCOutput = function(port, bOut, addrFrom)
this.regOutput = bOut;
};
/**
* inFDCDiagnostic(port, addrFrom)
*
* It turns out that any 5170 configuration without an HDC component that attempts to use either the REV2 or REV3
* PC AT ROM BIOS will fail with error "601-Diskette Error", unless we also provide this "D/S/P DIAGNOSTIC REGISTER".
* The original 5170 REV1 BIOS didn't have this requirement.
*
* I'm unable to find any documentation on this so-called "D/S/P DIAGNOSTIC REGISTER" (port 0x3F1) or the "D/S/P CARD"
* to which the ROM BIOS refers. But it seems clear that if we don't provide the expected response from the DIAGNOSTIC
* REGISTER, and there's no HDC to respond to the MULTIPLE DATA RATE CAPABLE test that follows, then an error is inevitable.
* Clearly, there is a very intimate relationship between the FDC and HDC portions of this card.
*
* Here's the relevant code from the REV3 PC AT ROM BIOS (TEST2.ASM):
*
* ;----- CHECK FOR MULTIPLE DATA RATE CAPABILITY
*
* J_OK:
* MOV DX,03F1H ; D/S/P DIAGNOSTIC REGISTER
* IN AL,DX ; READ D/S/P TYPE CODE
* AND AL,11111000B ; KEEP ONLY UNIQUE CODE FOR D/S/P
* CMP AL,01010000B ; D/S/P CARD - MULTIPLE DATA RATE?
* JZ J_OK3 ; IF SO JUMP
*
* MOV DX,05F7H ; FIXED DISK DIAGNOSTIC REGISTER
* IN AL,DX ; READ FIXED DISK TYPE CODE
* AND AL,11110000B ; KEEP ONLY UNIQUE CODE FOR F/D
* CMP AL,10100000B ; FIXED DISK ADAPTER ?
* JZ J_FAIL ; MUST BE COMBO ELSE ERROR
*
* MOV BL,0FH ; OUTER LOOP COUNT WAIT FOR BUSY OFF
* SUB CX,CX
* MOV DX,01F7H ; HARD FILE STATUS PORT
* J_OK1:
* IN AL,DX ; GET THE STATUS
* TEST AL,080H ; IS THE CONTROLLER BUSY?
* JZ J_OK2 ; CONTINUE IF NOT
* LOOP J_OK1 ; TRY AGAIN
* DEC BL ; DECREMENT OUTER LOOP
* JNZ J_OK1 ; TRY AGAIN IF NOT ZERO
* AND AL,0CH ; BITS 2 & 3 = 0 IF MULTI DATA CAPABLE
* JZ J_OK3 ; GO IF YES
* JMP SHORT J_FAIL ; NO MULTIPLE DATA RATE CAPABILITY
* J_OK2:
* MOV DX,1F4H ; VERIFY MULTIPLE DATA RATE CAPABLE
* MOV AL,055H ; WRITE TO THE CYLINDER BYTE
* OUT DX,AL
* JMP $+2 ; I/O DELAY
* IN AL,DX ; CHECK DATA WRITTEN = DATA READ
* CMP AL,055H
* JNZ J_FAIL ; GO IF NOT
* MOV AL,0AAH ; WRITE ANOTHER PATTERN
* OUT DX,AL
* JMP $+2 ; I/O DELAY
* IN AL,DX
* CMP AL,0AAH ; IS DATA PATTERN THE SAME?
* JZ J_OK3 ; GO IF SO
*
* J_FAIL:
* OR @MFG_ERR_FLAG+1,DSK_FAIL; <><><><><><><><><><><><><>
* ; <><> DISKETTE FAILED <><>
* MOV SI,OFFSET E601 ; GET ADDRESS OF MESSAGE
* CALL E_MSG ; GO PRINT ERROR MESSAGE
* JMP SHORT F15C ; SKIP SETUP IF ERROR
*
* J_OK3:
* OR @LASTRATE,DUAL ; TURN ON DSP/COMBO FLAG
*
* @this {FDC}
* @param {number} port (0x3F1, input only)
* @param {number} [addrFrom] (not defined whenever the Debugger tries to read the specified port)
* @return {number} simulated port value
*/
FDC.prototype.inFDCDiagnostic = function(port, addrFrom)
{
var b = 0x50; // we simply return the expected pattern (01010000B); see code excerpt above
this.printMessageIO(port, null, addrFrom, "DIAG", b);
return b;
};
/**
* inFDCStatus(port, addrFrom)
*
@ -2545,6 +2624,7 @@ FDC.prototype.writeFormat = function(drive, b)
* way out and always emulating it. So, consider an FDC parameter to disable that feature for stricter compatibility.
*/
FDC.aPortInput = {
0x3F1: FDC.prototype.inFDCDiagnostic,
0x3F4: FDC.prototype.inFDCStatus,
0x3F5: FDC.prototype.inFDCData,
0x3F7: FDC.prototype.inFDCInput

View file

@ -2958,6 +2958,11 @@ HDC.aXTCPortInput = {
0x322: HDC.prototype.inXTCConfig
};
/*
* For future reference, the REV2 and REV3 PC AT ROM BIOS also refer to a "FIXED DISK DIAGNOSTIC REGISTER" at
* port 0x5F7, but I have no documentation on it, and failure to respond is non-fatal. See the discussion of the
* FDC diagnostic register in inFDCDiagnostic() for more details.
*/
HDC.aATCPortInput = {
0x1F0: HDC.prototype.inATCData,
0x1F1: HDC.prototype.inATCError,

View file

@ -12,5 +12,7 @@
<page href="#page=169">BIOS Listing</page>
<page href="#page=175">TEST.01: X286 Processor Test</page>
<page href="#page=177">TEST.02: Verify CMOS Shutdown Byte</page>
<page href="#page=222">POST7 VERW/VERR</page>
<page href="#page=232">DISKETTE_IO_1</page>
</document>
</manifest>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long