Assorted OS/2 README updates

This commit is contained in:
Jeff Parsons 2015-12-24 15:25:42 -08:00
commit 725ded102c
9 changed files with 115 additions and 35 deletions

View file

@ -18,7 +18,7 @@ IBM PC [Machine Configurations](machine/) are built from a collection of devices
* Hard Disk (Fixed Disk) Controllers
* [Control Panels](panel/)
Each of those devices can be configured in multiple ways, and also some support external UI controls.
Each of those devices can be configured in multiple ways, and some support external UI controls.
For example, the IBM PC Keyboard component supports different keyboard models (eg, 83-key, 84-key, 101-key),
and each of those models can also be configured to have dedicated buttons for selected key combinations,

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,72 @@
---
layout: page
title: Microsoft OS/2 SDK v1.02
permalink: /disks/pc/tools/microsoft/os2/sdk/1.02/
---
Microsoft OS/2 SDK v1.02
---
This copy of the Microsoft OS/2 SDK (v1.02) was obtained from the [WinWorld](https://winworldpc.com/product/os-2-1x/10)
website. The copy is incomplete -- it's missing the **NETWORK** disk -- so we've included an empty **NETWORK** disk
that allows the SDK installation script to finish.
We don't have any SDK documentation, other than what's included on these disks. If you look at the **TOOLKIT1** disk,
in the **OS2DOC** folder, you'll find a **READ.ME!**, which includes some very useful information about the
installation process:
The installation guide is confusing, can you give me three easy steps to
installing the SDK?
Sure. First, put the program diskette into your machine and reboot it.
Follow the instructions. If you have a new machine, first format the
hard drive, then reboot with the program diskette.
Second: copy the files \OS2DOC\INPUT.EXE and \OS2DOC\INSTSDK.CMD from the
TOOLKIT diskette to the root of your hard drive. Run the program INSTSDK
and answer its questions.
Thats, all.
One of the first questions that the INSTSDK.CMD script asks is:
Are you installing MS OS/2 SDK on a PS/2 machine?
PCjs currently only simulates PC, XT and AT-class machines, not PS/2 machines, so you might be inclined to answer
**NO** to that question, but in fact, the correct answer is **YES**, because the SDK doesn't actually care what kind
of machine you're using. It's asking that question only to determine whether you're using 3.5-inch or 5.25-inch SDK
distribution diskettes. These disks happen to be the 3.5-inch versions, so you must pretend you're using a PS/2.
This SDK must have only been tested with the MS OS/2 installation disks included with the SDK, because if you install
it on IBM OS/2 1.0, the script will fail at the end, when it attempts to run LIBBUILD to build all the C runtime
libraries.
The reason: IBM OS/2 1.0 creates an OS2INIT.CMD that sets PATH to:
C:\;C:\OS2;C:\OS2\INSTALL;
so when INSTSDK.CMD updates PATH, it appends its own directories, resulting in:
C:\;C:\OS2;C:\OS2\INSTALL;;C:\OS2SDK\TOOLS\BIN;C:\OS2SDK\TOOLS\PBIN
and the "double semi-colon" apparently causes the PATH search to terminate prematurely, so the LIBBUILD program cannot
be found.
Fix the PATH in OS2INIT.CMD, then run the following command manually:
for %i in (s m c l) do libbuild %i em %LIB%
and *now* your MS OS/2 SDK will be properly installed. You won't have the files from the missing **NETWORK** disk;
specifically:
IPCCALLS.DLL
IPCCALLS.LIB
IPCTEST.C
LANMAN.INI
MAILSLOT.H
MAKEFILE
NAMPIPE.SYS
NMPIPE.H
README.DOC
but you aren't likely to need those.

View file

@ -1,50 +1,50 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcjs/1.20.2/manifest.xsl"?>
<manifest type="software">
<title>MS OS/2 1.0 SDK</title>
<title>MS OS/2 SDK 1.02</title>
<disk id="disk01" size="1474560" chs="80:2:18" img="static/MSOS2INS.img" href="/disks/pc/tools/microsoft/os2/sdk/1.02/MSOS2-SDK102-DISK01.json" md5="872d670ccc2dd4c771ba6343d17455ca" md5json="cd72e181905dfa6b742e9ada8b83e89a">
<name>MS OS/2 1.0 SDK: INSTALL</name>
<name>MS OS/2 SDK 1.02: INSTALL</name>
</disk>
<disk id="disk02" size="1474560" chs="80:2:18" img="static/MSOS2PGM.img" href="/disks/pc/tools/microsoft/os2/sdk/1.02/MSOS2-SDK102-DISK02.json" md5="e2241300e687d3aa106ca181e4001865" md5json="0fa98adb6fdc48e615dab66c29e3aa22">
<name>MS OS/2 1.0 SDK: PROGRAM</name>
<name>MS OS/2 SDK 1.02: PROGRAM</name>
</disk>
<disk id="disk03" size="1474560" chs="80:2:18" img="static/MSOS2SUP.img" href="/disks/pc/tools/microsoft/os2/sdk/1.02/MSOS2-SDK102-DISK03.json" md5="78e9b7eb522c5fdaf5ecf1a5620f3af5" md5json="74223059707414811573734ecd1c347f">
<name>MS OS/2 1.0 SDK: SUPPLEMENTAL</name>
<name>MS OS/2 SDK 1.02: SUPPLEMENTAL</name>
</disk>
<disk id="disk04" size="737280" chs="80:2:9" img="static/MSOS2TK1.img" href="/disks/pc/tools/microsoft/os2/sdk/1.02/MSOS2-SDK102-DISK04.json" md5="e6b2bf28e29654dbfbb32b0bf4377038" md5json="978662c324153dbacf0fc9ac3a9b0c61">
<name>MS OS/2 1.0 SDK: TOOLKIT1</name>
<name>MS OS/2 SDK 1.02: TOOLKIT1</name>
</disk>
<disk id="disk05" size="737280" chs="80:2:9" img="static/MSOS2TK2.img" href="/disks/pc/tools/microsoft/os2/sdk/1.02/MSOS2-SDK102-DISK05.json" md5="f44940ccf9c063d3aaf381dce16f6caa" md5json="951fc0498bfacdc2a1ae3b77e4ea1bcb">
<name>MS OS/2 1.0 SDK: TOOLKIT2</name>
<name>MS OS/2 SDK 1.02: TOOLKIT2</name>
</disk>
<disk id="disk06" size="737280" chs="80:2:9" img="static/MSOS2UT1.img" href="/disks/pc/tools/microsoft/os2/sdk/1.02/MSOS2-SDK102-DISK06.json" md5="3fa28e90175ff371492ffde81dd2c17f" md5json="78ccbfa853a0657a19f18af7b1e51e4e">
<name>MS OS/2 1.0 SDK: UTILITY1</name>
<name>MS OS/2 SDK 1.02: UTILITY1</name>
</disk>
<disk id="disk07" size="737280" chs="80:2:9" img="static/MSOS2UT2.img" href="/disks/pc/tools/microsoft/os2/sdk/1.02/MSOS2-SDK102-DISK07.json" md5="c154e9ba6e6c4634e131f117e44055f4" md5json="b3e73ce8085a5ac66c28667ff2023f9e">
<name>MS OS/2 1.0 SDK: UTILITY2</name>
<name>MS OS/2 SDK 1.02: UTILITY2</name>
</disk>
<disk id="disk08" size="737280" chs="80:2:9" img="static/MSOS2C1.img" href="/disks/pc/tools/microsoft/os2/sdk/1.02/MSOS2-SDK102-DISK08.json" md5="aa67eac9c8680b50147801dc01a1f53a" md5json="581fac50c41fa668a2e94b554f8ddb12">
<name>MS OS/2 1.0 SDK: CBIN1</name>
<name>MS OS/2 SDK 1.02: CBIN1</name>
</disk>
<disk id="disk09" size="737280" chs="80:2:9" img="static/MSOS2C2.img" href="/disks/pc/tools/microsoft/os2/sdk/1.02/MSOS2-SDK102-DISK09.json" md5="9299b25bc5aa1c08e5137d1a8a191f83" md5json="b21bd1d2b228f453385e1f027233f6e1">
<name>MS OS/2 1.0 SDK: CBIN2</name>
<name>MS OS/2 SDK 1.02: CBIN2</name>
</disk>
<disk id="disk10" size="737280" chs="80:2:9" img="static/MSOS2C3.img" href="/disks/pc/tools/microsoft/os2/sdk/1.02/MSOS2-SDK102-DISK10.json" md5="b8760d4e5b3eb371b28d54b46f587183" md5json="abe81a240c41cabbba32db8548e27547">
<name>MS OS/2 1.0 SDK: CLIB1</name>
<name>MS OS/2 SDK 1.02: CLIB1</name>
</disk>
<disk id="disk11" size="737280" chs="80:2:9" img="static/MSOS2C4.img" href="/disks/pc/tools/microsoft/os2/sdk/1.02/MSOS2-SDK102-DISK11.json" md5="71d9f449e330d4618214406c4a0ad435" md5json="d6f96112df8b66cbfbf4b55d6e9ad0fe">
<name>MS OS/2 1.0 SDK: CLIB2</name>
<name>MS OS/2 SDK 1.02: CLIB2</name>
</disk>
<disk id="disk12" size="737280" chs="80:2:9" img="static/MSOS2ASM.img" href="/disks/pc/tools/microsoft/os2/sdk/1.02/MSOS2-SDK102-DISK12.json" md5="fa70ed5d9be6e8baaa53132342340bd0" md5json="dc077844b3e205fd241a4ff4b35f626e">
<name>MS OS/2 1.0 SDK: MASM</name>
<name>MS OS/2 SDK 1.02: MASM</name>
</disk>
<disk id="disk13" size="737280" chs="80:2:9" img="static/MSOS2EX1.img" href="/disks/pc/tools/microsoft/os2/sdk/1.02/MSOS2-SDK102-DISK13.json" md5="80c633ea40c8b02b6a0a34fa4aed5b02" md5json="5c4792eb92e22db9ab27b746798c7551">
<name>MS OS/2 1.0 SDK: EXAMPLE1</name>
<name>MS OS/2 SDK 1.02: EXAMPLE1</name>
</disk>
<disk id="disk14" size="737280" chs="80:2:9" img="static/MSOS2EX2.img" href="/disks/pc/tools/microsoft/os2/sdk/1.02/MSOS2-SDK102-DISK14.json" md5="dff3350293309128f6631a6617e6d4f8" md5json="d76ce34886016e84d689291c51ebc42f">
<name>MS OS/2 1.0 SDK: EXAMPLE2</name>
<name>MS OS/2 SDK 1.02: EXAMPLE2</name>
</disk>
<disk id="disk15" size="368640" chs="40:2:9" img="static/MSOS2NET.img" href="/disks/pc/tools/microsoft/os2/sdk/1.02/MSOS2-SDK102-DISK15.json" md5="c54897d41a237a1434fb8498f81c6c74" md5json="7d332f62fc2bc9db9224796e9ac955f0">
<name>MS OS/2 1.0 SDK: NETWORK</name>
<disk id="disk15" size="368640" chs="40:2:9" img="static/MSOS2NET.img" href="/disks/pc/tools/microsoft/os2/sdk/1.02/MSOS2-SDK102-DISK15.json" md5="51b40d098260cdc4ed787c0eeef11497" md5json="8da00c0ab0960195367f0f058171e579">
<name>MS OS/2 SDK 1.02: NETWORK</name>
</disk>
</manifest>

View file

@ -9,6 +9,6 @@ OS/2 Programming Guides
For OS/2 1.0:
* [Microsoft® Operating System/2 Programmers Toolkit](/docs/os2/microsoft/1.0/)
* [Microsoft® Operating System/2 Programmers Toolkit](/docs/os2/microsoft/ptk/1.0/), March 1988
Note that the above guide is a work-in-progress (converting the PDF text to Markdown).

View file

@ -1,7 +1,7 @@
---
layout: page
title: "Microsoft OS/2: Welcome"
permalink: /docs/os2/microsoft/1.0/
permalink: /docs/os2/microsoft/ptk/1.0/
---
Welcome
@ -19,7 +19,7 @@ MS OS/2 Programmer's Toolkit:
+ *Microsoft Operating System/2 Programming Tools* describes the programming tools found in the MS OS/2 Programmer's
Toolkit. You can use these tools to develop OS/2 programs.
+ *[Microsoft Operating System/2 Programmer's Learning Guide](/docs/os2/microsoft/1.0/plguide/)* teaches you the
+ *[Microsoft Operating System/2 Programmer's Learning Guide](/docs/os2/microsoft/ptk/1.0/plguide/)* teaches you the
fundamentals of programming for MS OS/2. You will be led through the steps necessary to create your first MS OS/2
program and dynamic-link library.

View file

@ -1,7 +1,7 @@
---
layout: page
title: "Microsoft OS/2 Programmer's Learning Guide"
permalink: /docs/os2/microsoft/1.0/plguide/
permalink: /docs/os2/microsoft/ptk/1.0/plguide/
---
Programmer's Toolkit
@ -15,13 +15,13 @@ Version 1.0
### Contents
* 1.0 [Introduction](/docs/os2/microsoft/1.0/plguide/chapter1/)
* 1.1 [Overview](/docs/os2/microsoft/1.0/plguide/chapter1/#overview)
* 1.2 [What You Need to Start](/docs/os2/microsoft/1.0/plguide/chapter1/#what-you-need-to-start)
* 1.3 [What This Guide Covers](/docs/os2/microsoft/1.0/plguide/chapter1/#what-this-guide-covers)
* 1.4 [The Lqh Sample Program](/docs/os2/microsoft/1.0/plguide/chapter1/#the-lqh-sample-program)
* 1.5 [MS OS/2 Sample Programs](/docs/os2/microsoft/1.0/plguide/chapter1/#ms-os2-sample-programs)
* 1.6 [MS OS/2 and the C Run-time Library](/docs/os2/microsoft/1.0/plguide/chapter1/#ms-os2-and-the-c-run-time-library)
* 1.0 [Introduction](/docs/os2/microsoft/ptk/1.0/plguide/chapter1/)
* 1.1 [Overview](/docs/os2/microsoft/ptk/1.0/plguide/chapter1/#overview)
* 1.2 [What You Need to Start](/docs/os2/microsoft/ptk/1.0/plguide/chapter1/#what-you-need-to-start)
* 1.3 [What This Guide Covers](/docs/os2/microsoft/ptk/1.0/plguide/chapter1/#what-this-guide-covers)
* 1.4 [The Lqh Sample Program](/docs/os2/microsoft/ptk/1.0/plguide/chapter1/#the-lqh-sample-program)
* 1.5 [MS OS/2 Sample Programs](/docs/os2/microsoft/ptk/1.0/plguide/chapter1/#ms-os2-sample-programs)
* 1.6 [MS OS/2 and the C Run-time Library](/docs/os2/microsoft/ptk/1.0/plguide/chapter1/#ms-os2-and-the-c-run-time-library)
* 2.0 Overview
* 2.1 Introduction
* 2.2 Creating an MS OS/2 Program

View file

@ -1,7 +1,7 @@
---
layout: page
title: "Microsoft OS/2 Programmer's Learning Guide: Introduction"
permalink: /docs/os2/microsoft/1.0/plguide/chapter1/
permalink: /docs/os2/microsoft/ptk/1.0/plguide/chapter1/
---
Microsoft OS/2 Programmer's Learning Guide

View file

@ -138,9 +138,6 @@ X86.opLSL = function()
* 85A-85F IDTR
* 860-865 TSS descriptor cache
*
* Oddly, the above document gives two contradictory cycle counts for LOADALL: 190 and 195. I'll go with 195, since
* the PCMag_Prog_TechRef mentions that time as well.
*
* @this {X86CPU}
*/
X86.opLOADALL286 = function()
@ -185,7 +182,14 @@ X86.opLOADALL286 = function()
this.addrIDT = this.getShort(0x85A) | (this.getByte(0x85C) << 16);
this.addrIDTLimit = this.addrIDT + this.getShort(0x85E);
this.segTSS.loadDesc6(0x860, this.getShort(0x816));
/*
* Oddly, the above Intel document gives two contradictory cycle counts for LOADALL: 190 and 195. I go with 195,
* since both the PC Magazine Programmer's Technical Reference and Robert Collins (http://www.rcollins.org/articles/loadall/tspec_a3_doc.html)
* agree.
*/
this.nStepCycles -= 195;
/*
* TODO: LOADALL operation still needs to be verified in protected mode....
*/
@ -309,7 +313,11 @@ X86.opLOADALL386 = function()
*/
X86.opUndefined.call(this);
this.nStepCycles -= 100; // TODO: I've not seen a documented time for the 80386 LOADALL; update this random guess
/*
* According to Robert Collins (http://www.rcollins.org/articles/loadall/tspec_a3_doc.html), the 80386 LOADALL
* takes 122 cycles.
*/
this.nStepCycles -= 122;
};
/**