Starting work on disambiguating PCjs the emulator from PCjs the project/website; the emulator will become PCx86
This commit is contained in:
parent
7c3aab2a7e
commit
288f28055d
1519 changed files with 16242 additions and 6939 deletions
84
disks/pcx86/os2/misc/1.0/88286/README.md
Normal file
84
disks/pcx86/os2/misc/1.0/88286/README.md
Normal file
|
|
@ -0,0 +1,84 @@
|
|||
---
|
||||
layout: page
|
||||
title: OS/2 1.0 Debugger Boot Disk
|
||||
permalink: /disks/pcx86/os2/misc/1.0/88286/
|
||||
machines:
|
||||
- id: ibm5170
|
||||
type: pcx86
|
||||
debugger: true
|
||||
config: /devices/pcx86/machine/5170/ega/1152kb/rev3/debugger/machine.xml
|
||||
autoMount:
|
||||
A:
|
||||
path: /disks/pcx86/os2/misc/1.0/OS210-88286.json
|
||||
redirect_from:
|
||||
- /disks/pcx86/os2/misc/1.0/debugger/
|
||||
---
|
||||
|
||||
OS/2 1.0 Debugger Boot Disk
|
||||
---
|
||||
|
||||
This disk contained a version of OS/2 1.0 built on October 12, 1988, which included the built-in kernel debugger
|
||||
used by Microsoft and IBM for internal development, along with a rudimentary program selector.
|
||||
|
||||
Note that [IBM OS/2 1.0](/disks/pcx86/os2/ibm/1.0/) was finalized in October 1987, nearly a year before the timestamps
|
||||
of these files, indicating that this was a private build of IBM OS/2 1.0. When this disk boots, the following version
|
||||
banner is displayed:
|
||||
|
||||
IBM Operating System/2 Version 1.00
|
||||
(C) Copyright IBM Corp. 1981, 1987. All rights reserved.
|
||||
(C) Copyright Microsoft Corp. 1981, 1987.
|
||||
|
||||
88286
|
||||
|
||||
The 5-digit number indicates the day the files were built. The first 2 digits (88) are the year and the 3 remaining
|
||||
digits (286) are the day of the year (October 12).
|
||||
|
||||
A directory listing of this disk is provided [below](#directory-of-os2-10-debugger-boot-disk).
|
||||
|
||||
{% include machine.html id="ibm5170" %}
|
||||
|
||||
### Directory of OS/2 1.0 Debugger Boot Disk
|
||||
|
||||
Aside from the fact that the IBMDOS.COM on this disk is much larger than the 1987 version (thanks to the inclusion of
|
||||
the kernel debugger), most of the other file sizes are identical. But not all. For example, the 1987 version of
|
||||
CLOCK01.SYS is 2762 bytes, whereas this version is 2812 bytes. So apparently a few changes were slipped into the 1.0
|
||||
sources used to build these binaries.
|
||||
|
||||
IBMBIO COM 4096 10-12-88 12:32p
|
||||
IBMDOS COM 299143 10-12-88 10:53a
|
||||
IBMDOS SYM 62788 10-12-88 10:54a
|
||||
OSO001 MSG 64808 10-12-88 10:07a
|
||||
CMD EXE 57648 10-12-88 12:52p
|
||||
COMMAND COM 25564 10-12-88 12:54p
|
||||
COUNTRY SYS 14632 10-12-88 1:14p
|
||||
MSG DLL 6578 10-12-88 1:17p
|
||||
NLS DLL 5162 10-12-88 1:18p
|
||||
SWAPPER EXE 4150 10-12-88 1:43p
|
||||
ANSICALL DLL 3637 10-12-88 10:07a
|
||||
BKSCALLS DLL 5704 10-12-88 10:09a
|
||||
BMSCALLS DLL 2576 10-12-88 10:56a
|
||||
BVSCALLS DLL 31744 10-12-88 11:01a
|
||||
DOSCALL1 DLL 8709 10-12-88 10:56a
|
||||
KBDCALLS DLL 7232 10-12-88 11:03a
|
||||
MONCALLS DLL 7351 10-12-88 11:03a
|
||||
MOUCALLS DLL 5701 10-12-88 11:04a
|
||||
QUECALLS DLL 11238 10-12-88 11:05a
|
||||
SESMGR DLL 24278 10-12-88 11:14a
|
||||
SHELL EXE 11744 10-12-88 11:15a
|
||||
VIOCALLS DLL 13981 10-12-88 11:18a
|
||||
CLOCK01 SYS 2812 10-12-88 11:18a
|
||||
DISK01 SYS 18616 10-12-88 11:22a
|
||||
EGA SYS 2110 10-12-88 11:24a
|
||||
KBD01 SYS 16945 10-12-88 11:28a
|
||||
PRINT01 SYS 7683 10-12-88 12:09p
|
||||
SCREEN01 SYS 1583 10-12-88 12:11p
|
||||
COM01 SYS 8758 10-12-88 11:19a
|
||||
EXTDSKDD SYS 1877 10-12-88 11:24a
|
||||
POINTDD SYS 5886 10-12-88 12:08p
|
||||
VDISK SYS 4662 10-12-88 12:12p
|
||||
HARDERR EXE 16288 10-12-88 11:14a
|
||||
CONFIG SYS 101 12-04-14 7:45p
|
||||
34 file(s) 765785 bytes
|
||||
437760 bytes free
|
||||
|
||||
[Return to [OS/2 Prototype Disks](/disks/pcx86/os2/misc/)]
|
||||
1
disks/pcx86/os2/misc/1.0/OS210-88286.json
Normal file
1
disks/pcx86/os2/misc/1.0/OS210-88286.json
Normal file
File diff suppressed because one or more lines are too long
14
disks/pcx86/os2/misc/1.0/README.md
Normal file
14
disks/pcx86/os2/misc/1.0/README.md
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
---
|
||||
layout: page
|
||||
title: OS/2 1.0 Debugger Disk
|
||||
permalink: /disks/pcx86/os2/misc/1.0/
|
||||
---
|
||||
|
||||
OS/2 1.0 Debugger Disk
|
||||
---
|
||||
|
||||
The [OS/2 1.0 Debugger Disk](/disks/pcx86/os2/misc/1.0/88286/) contained a version of OS/2 1.0 built on
|
||||
October 12, 1988, which included the built-in kernel debugger used by Microsoft and IBM for internal development,
|
||||
along with a rudimentary program selector. For more details, see the [OS/2 1.0](/blog/2014/12/04/) blog post.
|
||||
|
||||
[Return to [OS/2 Prototype Disks](/disks/pcx86/os2/misc/)]
|
||||
17
disks/pcx86/os2/misc/README.md
Normal file
17
disks/pcx86/os2/misc/README.md
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
---
|
||||
layout: page
|
||||
title: OS/2 Prototype Disks
|
||||
permalink: /disks/pcx86/os2/misc/
|
||||
---
|
||||
|
||||
OS/2 Prototype Disks
|
||||
---
|
||||
|
||||
Below are some interesting pre-1.0 (or 1.0-based) OS/2 prototype disks we have unearthed. They provide an early glimpse
|
||||
of OS/2 when it was still a work-in-progress.
|
||||
|
||||
* [CP-DOS](cpdos/)
|
||||
* [FOOTBALL](football/)
|
||||
* [Other OS/2 1.0 Disks](1.0/)
|
||||
|
||||
[Return to [IBM PC Disk Library](/disks/pcx86/)]
|
||||
1
disks/pcx86/os2/misc/cpdos/286DOS-76800.json
Normal file
1
disks/pcx86/os2/misc/cpdos/286DOS-76800.json
Normal file
File diff suppressed because one or more lines are too long
266
disks/pcx86/os2/misc/cpdos/86295/README.md
Normal file
266
disks/pcx86/os2/misc/cpdos/86295/README.md
Normal file
|
|
@ -0,0 +1,266 @@
|
|||
---
|
||||
layout: page
|
||||
title: OS/2 CP-DOS Boot Disk (v7.68)
|
||||
permalink: /disks/pcx86/os2/misc/cpdos/86295/
|
||||
machines:
|
||||
- id: ibm5170
|
||||
type: pcx86
|
||||
debugger: true
|
||||
config: /devices/pcx86/machine/5170/ega/1152kb/rev3/debugger/machine.xml
|
||||
autoMount:
|
||||
A:
|
||||
path: /disks/pcx86/os2/misc/cpdos/286DOS-76800.json
|
||||
---
|
||||
|
||||
OS/2 CP-DOS Boot Disk (v7.68)
|
||||
---
|
||||
|
||||
This disk contained a pre-1.0 version of OS/2 (aka **CP-DOS** or **MT-DOS** or **ADOS** or **286DOS** or **DOS5**)
|
||||
built on October 22, 1986, with a few files (IBMDOS.COM and NLS.EXE) apparently rebuilt on October 23, 1986.
|
||||
|
||||
When this disk boots, the following version banner is displayed:
|
||||
|
||||
CP-DOS version 1.0
|
||||
Copyright 1986 IBM Corp.
|
||||
|
||||
Internal revision 7.68, 86/10/22
|
||||
|
||||
and after it finishes processing CONFIG.SYS, displays "Start A Program", and you press Enter, it displays:
|
||||
|
||||
ADOS Command Interpreter Version 5.00
|
||||
(*** Development Rev 5.37 10/17/86 ***)
|
||||
|
||||
A]
|
||||
|
||||
A directory listing of this disk is provided [below](#directory-of-os2-cpdos-boot-disk-v768).
|
||||
|
||||
{% include machine.html id="ibm5170" %}
|
||||
|
||||
### Directory of OS/2 CP-DOS Boot Disk (v7.68)
|
||||
|
||||
Volume in drive A is DOS5 768
|
||||
|
||||
Directory of A:\
|
||||
|
||||
IBMBIO COM 49408 10-22-86 7:27p
|
||||
IBMDOS COM 170717 10-23-86 12:13a
|
||||
OSO001 MSG 40730 10-22-86 9:20a
|
||||
CMD EXE 47056 10-22-86 7:41p
|
||||
COMMAND COM 23724 10-22-86 7:41p
|
||||
COUNTRY SYS 6175 10-22-86 7:57p
|
||||
MSG EXE 5824 10-22-86 7:58p
|
||||
NLS EXE 3124 10-23-86 8:38a
|
||||
SWAPPER EXE 4150 10-22-86 8:04p
|
||||
ANSICALL EXE 3165 10-22-86 7:20p
|
||||
BKSCALLS EXE 3611 10-22-86 7:21p
|
||||
BMSCALLS EXE 2064 10-22-86 7:27p
|
||||
BVSCALLS EXE 11710 10-22-86 7:28p
|
||||
DOSCALL1 EXE 7071 10-22-86 7:27p
|
||||
KBDCALLS EXE 4138 10-22-86 7:28p
|
||||
MONCALLS EXE 5655 10-22-86 7:29p
|
||||
MOUCALLS EXE 4665 10-22-86 7:29p
|
||||
QUECALLS EXE 11508 10-22-86 7:29p
|
||||
SESMGR EXE 25232 10-22-86 7:30p
|
||||
SHELL EXE 4096 10-22-86 7:30p
|
||||
VIOCALLS EXE 9321 10-22-86 7:30p
|
||||
COM SYS 12342 10-22-86 10:11p
|
||||
COM MSG 144 10-22-86 10:39a
|
||||
EXTDSKDD EXE 1885 10-22-86 7:31p
|
||||
MOUSE00 SYS 12342 10-22-86 7:31p
|
||||
MOUSE01 SYS 12342 10-22-86 7:32p
|
||||
MOUSE02 SYS 12342 10-22-86 7:32p
|
||||
MOUSE03 SYS 12854 10-22-86 7:31p
|
||||
POINTDD SYS 4240 10-22-86 7:32p
|
||||
VDISK SYS 4662 10-22-86 7:33p
|
||||
READ ME 1417 12-08-86 4:35p
|
||||
AIM <DIR> 12-10-86 9:32a
|
||||
FILE <DIR> 12-10-86 9:34a
|
||||
TIMER <DIR> 12-10-86 9:36a
|
||||
DEVICE <DIR> 12-10-86 9:37a
|
||||
CONFIG SYS 168 02-19-87 5:48p
|
||||
TEST <DIR> 01-06-87 1:05p
|
||||
C BAT 246 02-19-87 5:49p
|
||||
AUTOEXEC BAT 1228 02-19-87 5:49p
|
||||
READPHYS EXE 1646 10-16-86 10:00p
|
||||
40 file(s) 521002 bytes
|
||||
|
||||
Directory of A:\AIM
|
||||
|
||||
. <DIR> 12-10-86 9:32a
|
||||
.. <DIR> 12-10-86 9:32a
|
||||
READ ME 244 12-08-86 4:56p
|
||||
PCQ1 C 19562 12-09-86 9:46a
|
||||
PCQ2 C 9568 12-03-86 2:07p
|
||||
PCQ3 C 2949 11-11-86 3:07p
|
||||
QBENCH C 34325 06-10-86 1:56p
|
||||
AIM 768 9945 12-03-86 6:46a
|
||||
PRO <DIR> 12-10-86 9:33a
|
||||
REAL <DIR> 12-10-86 9:33a
|
||||
FAPI <DIR> 12-10-86 9:34a
|
||||
11 file(s) 76593 bytes
|
||||
|
||||
Directory of A:\AIM\FAPI
|
||||
|
||||
. <DIR> 12-10-86 9:34a
|
||||
.. <DIR> 12-10-86 9:34a
|
||||
READ ME 4854 12-09-86 2:58p
|
||||
MAKEFILE 694 12-09-86 10:05a
|
||||
PCQB DEF 87 07-14-86 2:03p
|
||||
PCQ1 OBJ 6872 12-09-86 10:04a
|
||||
PCQ2 OBJ 7029 12-09-86 10:04a
|
||||
PCQA OBJ 359 12-09-86 10:04a
|
||||
PCQBA MAP 23059 12-09-86 10:05a
|
||||
CONFIG SYS 23 12-09-86 10:06a
|
||||
TEST BAT 69 12-09-86 10:06a
|
||||
CR 4 11-05-86 9:58a
|
||||
PCQBA EXE 36444 12-09-86 10:05a
|
||||
13 file(s) 79494 bytes
|
||||
|
||||
Directory of A:\AIM\PRO
|
||||
|
||||
. <DIR> 12-10-86 9:33a
|
||||
.. <DIR> 12-10-86 9:33a
|
||||
READ ME 4876 12-09-86 2:58p
|
||||
MAKEFILE 677 12-08-86 5:09p
|
||||
PCQB DEF 87 07-14-86 2:03p
|
||||
PCQB5 EXE 28854 12-09-86 9:47a
|
||||
PCQ1 OBJ 6872 12-09-86 9:47a
|
||||
PCQ2 OBJ 7029 12-08-86 5:08p
|
||||
PCQP OBJ 1049 12-08-86 5:08p
|
||||
PCQB5 MAP 23691 12-09-86 9:47a
|
||||
CONFIG SYS 79 08-25-86 4:48p
|
||||
TEST BAT 69 11-05-86 9:59a
|
||||
CR 4 11-05-86 9:58a
|
||||
13 file(s) 73287 bytes
|
||||
|
||||
Directory of A:\AIM\REAL
|
||||
|
||||
. <DIR> 12-10-86 9:33a
|
||||
.. <DIR> 12-10-86 9:33a
|
||||
READ ME 4832 12-09-86 2:58p
|
||||
MAKEFILE 574 12-09-86 9:40a
|
||||
PCQ1 OBJ 6872 12-09-86 9:47a
|
||||
PCQ2 OBJ 7029 12-09-86 9:41a
|
||||
PCQ3 OBJ 385 12-09-86 9:41a
|
||||
PCQB3 MAP 21376 12-09-86 9:48a
|
||||
PCQB3 EXE 27994 12-09-86 9:48a
|
||||
CONFIG SYS 78 12-09-86 9:48a
|
||||
TEST BAT 69 12-09-86 9:49a
|
||||
CR 4 11-05-86 9:58a
|
||||
12 file(s) 69213 bytes
|
||||
|
||||
Directory of A:\DEVICE
|
||||
|
||||
. <DIR> 12-10-86 9:37a
|
||||
.. <DIR> 12-10-86 9:37a
|
||||
READ ME 2766 12-10-86 9:07a
|
||||
DEV C 4737 11-05-86 2:23p
|
||||
DEV DEF 124 12-02-86 3:36p
|
||||
GETTIMES ASM 5515 08-26-86 1:19p
|
||||
GETTIMES DEF 63 12-02-86 4:23p
|
||||
DEVHLP INC 2985 07-28-86 2:39p
|
||||
DOSMAC INC 18777 07-28-86 2:40p
|
||||
DEVSYM INC 8331 07-28-86 4:08p
|
||||
DEVHDR INC 2775 07-28-86 4:20p
|
||||
W ASM 3666 11-10-86 11:45a
|
||||
MAKEFILE 523 12-10-86 9:08a
|
||||
DEV OBJ 2395 12-09-86 4:04p
|
||||
W OBJ 226 12-09-86 4:04p
|
||||
DEV MAP 8001 12-09-86 4:04p
|
||||
DEV EXE 8758 12-09-86 4:04p
|
||||
GETTIMES OBJ 759 12-09-86 4:04p
|
||||
GETTIMES MAP 699 12-09-86 4:05p
|
||||
GETTIMES EXE 1646 12-09-86 4:05p
|
||||
DEV OUT 697 02-05-87 11:41a
|
||||
DEVICE 768 684 12-03-86 8:32a
|
||||
CONFIG SYS 114 12-10-86 9:07a
|
||||
TEST BAT 15 12-09-86 4:08p
|
||||
24 file(s) 74256 bytes
|
||||
|
||||
Directory of A:\FILE
|
||||
|
||||
. <DIR> 12-10-86 9:34a
|
||||
.. <DIR> 12-10-86 9:34a
|
||||
READ ME 470 12-09-86 11:33a
|
||||
FILE DOC 1980 08-25-86 2:06p
|
||||
FILE C 14639 11-06-86 3:47p
|
||||
W ASM 3666 11-10-86 11:45a
|
||||
MAKETAB BAT 208 12-09-86 11:28a
|
||||
FILE TAB 4439 12-09-86 10:50a
|
||||
FILE AWK 621 10-28-86 2:48p
|
||||
FILE 768 5047 11-11-86 9:10a
|
||||
PRO <DIR> 12-10-86 9:35a
|
||||
REAL <DIR> 12-10-86 9:35a
|
||||
12 file(s) 31070 bytes
|
||||
|
||||
Directory of A:\FILE\PRO
|
||||
|
||||
. <DIR> 12-10-86 9:35a
|
||||
.. <DIR> 12-10-86 9:35a
|
||||
READ ME 4791 12-09-86 11:00a
|
||||
MAKEFILE 586 12-09-86 10:57a
|
||||
FILED5 DEF 79 10-30-86 11:22a
|
||||
FILED5 OBJ 7492 12-09-86 10:57a
|
||||
W OBJ 226 12-09-86 10:57a
|
||||
FILED5 MAP 18928 12-09-86 10:57a
|
||||
FILED5 EXE 19920 12-09-86 10:57a
|
||||
CONFIG SYS 110 11-12-86 11:25a
|
||||
TEST BAT 42 12-09-86 11:00a
|
||||
11 file(s) 52174 bytes
|
||||
|
||||
Directory of A:\FILE\REAL
|
||||
|
||||
. <DIR> 12-10-86 9:35a
|
||||
.. <DIR> 12-10-86 9:35a
|
||||
READ ME 6717 12-09-86 11:28a
|
||||
MAKEFILE 470 12-09-86 11:31a
|
||||
FILED3 OBJ 7733 12-09-86 11:31a
|
||||
W OBJ 226 12-09-86 11:32a
|
||||
FILED3 MAP 17419 12-09-86 11:32a
|
||||
FILED3 EXE 19844 12-09-86 11:32a
|
||||
CONFIG SYS 110 11-12-86 11:25a
|
||||
TEST BAT 42 12-09-86 2:44p
|
||||
10 file(s) 52561 bytes
|
||||
|
||||
Directory of A:\TEST
|
||||
|
||||
. <DIR> 01-06-87 1:05p
|
||||
.. <DIR> 01-06-87 1:05p
|
||||
MEMX EXE 27328 01-06-87 3:28p
|
||||
3 file(s) 27328 bytes
|
||||
|
||||
Directory of A:\TIMER
|
||||
|
||||
. <DIR> 12-10-86 9:36a
|
||||
.. <DIR> 12-10-86 9:36a
|
||||
READ ME 3589 12-09-86 3:28p
|
||||
TIC1 C 2715 11-05-86 2:09p
|
||||
TIC4 C 4256 11-05-86 2:09p
|
||||
TIMER DEF 155 12-10-86 8:57a
|
||||
CONTEXT C 3488 11-21-86 11:25a
|
||||
CONTEXT DEF 157 11-06-86 4:36p
|
||||
W ASM 3666 11-10-86 11:45a
|
||||
MAKEFILE 608 12-10-86 8:52a
|
||||
TIC1 OBJ 1071 12-10-86 8:57a
|
||||
W OBJ 226 12-09-86 2:59p
|
||||
TIC1 MAP 7593 12-10-86 8:57a
|
||||
TIC1 EXE 7922 12-10-86 8:57a
|
||||
TIC4 OBJ 1804 12-10-86 9:09a
|
||||
TIC4 MAP 8097 12-10-86 9:09a
|
||||
TIC4 EXE 8576 12-10-86 9:09a
|
||||
CONTEXT OBJ 1461 12-09-86 3:00p
|
||||
CONTEXT MAP 8191 12-09-86 3:00p
|
||||
CONTEXT EXE 7974 12-09-86 3:00p
|
||||
TIC1 OUT 191 02-05-87 11:30a
|
||||
TIC4 OUT 229 02-05-87 11:34a
|
||||
CONTEXT OUT 12116 02-05-87 11:34a
|
||||
TIMER 768 2619 12-09-86 3:24p
|
||||
CONFIG SYS 79 08-25-86 4:48p
|
||||
TEST BAT 55 12-09-86 3:29p
|
||||
26 file(s) 86838 bytes
|
||||
|
||||
Total files listed:
|
||||
175 file(s) 1143816 bytes
|
||||
17920 bytes free
|
||||
|
||||
[Return to [OS/2 Prototype Disks](/disks/pcx86/os2/misc/)]
|
||||
96
disks/pcx86/os2/misc/cpdos/87007/README.md
Normal file
96
disks/pcx86/os2/misc/cpdos/87007/README.md
Normal file
|
|
@ -0,0 +1,96 @@
|
|||
---
|
||||
layout: page
|
||||
title: OS/2 SIZZLE Boot Disk (v7.68.18)
|
||||
permalink: /disks/pcx86/os2/misc/cpdos/87007/
|
||||
machines:
|
||||
- id: ibm5170
|
||||
type: pcx86
|
||||
debugger: true
|
||||
config: /devices/pcx86/machine/5170/ega/1152kb/rev3/debugger/machine.xml
|
||||
autoMount:
|
||||
A:
|
||||
path: /disks/pcx86/os2/misc/cpdos/SIZZLE-76818-19870107.json
|
||||
---
|
||||
|
||||
OS/2 SIZZLE Boot Disk (v7.68.18)
|
||||
---
|
||||
|
||||
This disk contained a pre-1.0 version of OS/2 built on January 7, 1987, which was based on an interim
|
||||
source code fork known as **SIZZLE**, the code-name for a collection of changes intended to improve overall
|
||||
OS/2 performance.
|
||||
|
||||
Work on **SIZZLE** started around November 1986, and an internal specification known as
|
||||
"The London Performance Spec" drove some of that work, but at this point, not much is known about either the
|
||||
contents of that specification or any of the **SIZZLE** changes.
|
||||
|
||||
When this disk boots, the following version banner is displayed:
|
||||
|
||||
CP-DOS version 1.0
|
||||
Copyright 1986 IBM Corp.
|
||||
|
||||
SIZZLE Internal revision 7.68.18, 86/12/12
|
||||
|
||||
A directory listing of this disk is provided [below](#directory-of-os2-sizzle-boot-disk-v76818).
|
||||
|
||||
{% include machine.html id="ibm5170" %}
|
||||
|
||||
### Directory of OS/2 SIZZLE Boot Disk (v7.68.18)
|
||||
|
||||
Volume in drive A has no label
|
||||
|
||||
Directory of A:\
|
||||
|
||||
IBMBIO COM 49408 01-07-87 12:18p
|
||||
IBMDOS COM 172881 01-07-87 11:45a
|
||||
OSO001 MSG 40730 01-07-87 1:41p
|
||||
CMD EXE 47056 10-22-86 7:41p
|
||||
COMMAND COM 23724 10-22-86 7:41p
|
||||
COUNTRY SYS 6175 10-22-86 7:57p
|
||||
MSG EXE 5824 10-22-86 7:58p
|
||||
NLS EXE 3124 10-23-86 8:38a
|
||||
SWAPPER EXE 4150 10-22-86 8:04p
|
||||
ANSICALL EXE 3165 01-07-87 12:19p
|
||||
BKSCALLS EXE 3611 01-07-87 12:21p
|
||||
BMSCALLS EXE 2064 01-07-87 12:23p
|
||||
BVSCALLS EXE 11710 01-07-87 12:30p
|
||||
DOSCALL1 EXE 7071 01-07-87 12:33p
|
||||
KBDCALLS EXE 4138 01-07-87 12:34p
|
||||
MONCALLS EXE 5655 01-07-87 12:35p
|
||||
MOUCALLS EXE 5177 01-07-87 12:36p
|
||||
QUECALLS EXE 11508 01-07-87 1:03p
|
||||
SESMGR EXE 25744 01-07-87 1:41p
|
||||
SHELL EXE 4096 01-07-87 1:43p
|
||||
VIOCALLS EXE 9833 01-07-87 1:10p
|
||||
COM SYS 12342 10-22-86 10:11p
|
||||
COM MSG 144 10-22-86 10:39a
|
||||
EXTDSKDD EXE 1885 10-22-86 7:31p
|
||||
MOUSE00 SYS 12342 10-22-86 7:31p
|
||||
MOUSE01 SYS 12342 10-22-86 7:32p
|
||||
MOUSE02 SYS 12342 10-22-86 7:32p
|
||||
MOUSE03 SYS 12854 10-22-86 7:31p
|
||||
POINTDD SYS 4240 10-22-86 7:32p
|
||||
VDISK SYS 4662 10-22-86 7:33p
|
||||
OSO001H MSG 82177 01-07-87 1:40p
|
||||
IBMBIO MAP 14290 01-07-87 12:18p
|
||||
IBMDOS MAP 75444 01-07-87 11:45a
|
||||
CONFIG SYS 138 01-05-87 3:42p
|
||||
DOS3TOOL <DIR> 01-07-87 2:21p
|
||||
TEMP BAT 13 01-10-87 4:41p
|
||||
36 file(s) 692059 bytes
|
||||
|
||||
Directory of A:\DOS3TOOL
|
||||
|
||||
. <DIR> 01-07-87 2:21p
|
||||
.. <DIR> 01-07-87 2:21p
|
||||
MSC EXE 29428 02-10-86 10:12a
|
||||
CL EXE 27655 12-07-86 3:49p
|
||||
P1 EXE 130969 12-07-86 3:49p
|
||||
P2 EXE 116077 12-07-86 3:49p
|
||||
P3 EXE 115357 12-07-86 3:49p
|
||||
7 file(s) 419486 bytes
|
||||
|
||||
Total files listed:
|
||||
43 file(s) 1111545 bytes
|
||||
88576 bytes free
|
||||
|
||||
[Return to [OS/2 Prototype Disks](/disks/pcx86/os2/misc/)]
|
||||
100
disks/pcx86/os2/misc/cpdos/87007/debug/README.md
Normal file
100
disks/pcx86/os2/misc/cpdos/87007/debug/README.md
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
---
|
||||
layout: page
|
||||
title: OS/2 SIZZLE Boot Disk (v7.68.18 DEBUG)
|
||||
permalink: /disks/pcx86/os2/misc/cpdos/87007/debug/
|
||||
machines:
|
||||
- id: ibm5170
|
||||
type: pcx86
|
||||
debugger: true
|
||||
config: /devices/pcx86/machine/5170/ega/1152kb/rev3/debugger/machine.xml
|
||||
autoMount:
|
||||
A:
|
||||
path: /disks/pcx86/os2/misc/cpdos/SIZZLE-76818-19870107-DEBUG.json
|
||||
---
|
||||
|
||||
OS/2 SIZZLE Boot Disk (v7.68.18 DEBUG)
|
||||
---
|
||||
|
||||
This disk contained a *DEBUG* pre-1.0 version of OS/2 built on January 7, 1987, and
|
||||
it is largely identical to the [OS/2 SIZZLE Boot Disk (v7.68.18)](/disks/pcx86/os2/misc/cpdos/87007/), with
|
||||
the exception of a debug kernel (with built-in debugger) and a different assortment of tools.
|
||||
|
||||
When this disk boots, the following version banner is displayed:
|
||||
|
||||
CP-DOS version 1.0
|
||||
Copyright 1986 IBM Corp.
|
||||
|
||||
SIZZLE Internal revision 7.68.18, 86/12/12
|
||||
|
||||
A directory listing of this disk is provided [below](#directory-of-os2-sizzle-boot-disk-v76818-debug).
|
||||
|
||||
{% include machine.html id="ibm5170" %}
|
||||
|
||||
### Directory of OS/2 SIZZLE Boot Disk (v7.68.18 DEBUG)
|
||||
|
||||
Volume in drive A has no label
|
||||
|
||||
Directory of A:\
|
||||
|
||||
IBMBIO COM 53056 01-07-87 2:41p
|
||||
IBMDOS COM 202569 01-07-87 2:39p
|
||||
OSO001 MSG 40730 01-07-87 1:41p
|
||||
CMD EXE 47056 10-22-86 7:41p
|
||||
COMMAND COM 23724 10-22-86 7:41p
|
||||
COUNTRY SYS 6175 10-22-86 7:57p
|
||||
MSG EXE 5824 10-22-86 7:58p
|
||||
NLS EXE 3124 10-23-86 8:38a
|
||||
SWAPPER EXE 4150 10-22-86 8:04p
|
||||
ANSICALL EXE 3165 01-07-87 12:19p
|
||||
BKSCALLS EXE 3611 01-07-87 12:21p
|
||||
BMSCALLS EXE 2064 01-07-87 12:23p
|
||||
BVSCALLS EXE 11710 01-07-87 12:30p
|
||||
DOSCALL1 EXE 7071 01-07-87 12:33p
|
||||
KBDCALLS EXE 4138 01-07-87 12:34p
|
||||
MONCALLS EXE 5655 01-07-87 12:35p
|
||||
MOUCALLS EXE 5177 01-07-87 12:36p
|
||||
QUECALLS EXE 11508 01-07-87 1:03p
|
||||
SESMGR EXE 25744 01-07-87 1:41p
|
||||
SHELL EXE 4096 01-07-87 1:43p
|
||||
VIOCALLS EXE 9833 01-07-87 1:10p
|
||||
COM SYS 12342 10-22-86 10:11p
|
||||
COM MSG 144 10-22-86 10:39a
|
||||
EXTDSKDD EXE 1885 10-22-86 7:31p
|
||||
MOUSE00 SYS 12342 10-22-86 7:31p
|
||||
MOUSE01 SYS 12342 10-22-86 7:32p
|
||||
MOUSE02 SYS 12342 10-22-86 7:32p
|
||||
MOUSE03 SYS 12854 10-22-86 7:31p
|
||||
POINTDD SYS 4240 10-22-86 7:32p
|
||||
VDISK SYS 4662 10-22-86 7:33p
|
||||
OSO001H MSG 82177 01-07-87 1:40p
|
||||
IBMBIO MAP 14557 01-07-87 2:41p
|
||||
IBMDOS MAP 83303 01-07-87 2:39p
|
||||
CONFIG SYS 138 01-05-87 3:42p
|
||||
DOS3TOOL <DIR> 01-07-87 2:49p
|
||||
35 file(s) 733508 bytes
|
||||
|
||||
Directory of A:\DOS3TOOL
|
||||
|
||||
. <DIR> 01-07-87 2:49p
|
||||
.. <DIR> 01-07-87 2:49p
|
||||
MASM EXE 95369 12-07-86 3:50p
|
||||
LINK4 EXE 75544 10-22-86 7:55p
|
||||
MAKE EXE 49120 07-02-86 3:49p
|
||||
TRESP EXE 14133 08-01-86 10:57a
|
||||
LIB EXE 29359 06-27-86 4:00a
|
||||
LINK EXE 47547 06-27-86 4:00a
|
||||
IMPLIB EXE 23396 10-22-86 7:57p
|
||||
SED EXE 19882 01-15-85 4:47p
|
||||
RELOC EXE 15635 05-14-86 12:00p
|
||||
MKMSGF EXE 14830 09-10-86 1:07p
|
||||
MSGBIND EXE 12966 07-18-86 11:47a
|
||||
MSGSPLIT EXE 11188 09-19-86 7:58a
|
||||
SYMDEB EXE 37021 10-16-85 4:00a
|
||||
BOOT BAT 169 01-07-87 2:43p
|
||||
16 file(s) 446159 bytes
|
||||
|
||||
Total files listed:
|
||||
51 file(s) 1179667 bytes
|
||||
19456 bytes free
|
||||
|
||||
[Return to [OS/2 Prototype Disks](/disks/pcx86/os2/misc/)]
|
||||
26
disks/pcx86/os2/misc/cpdos/README.md
Normal file
26
disks/pcx86/os2/misc/cpdos/README.md
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
---
|
||||
layout: page
|
||||
title: OS/2 CP-DOS Disks
|
||||
permalink: /disks/pcx86/os2/misc/cpdos/
|
||||
---
|
||||
|
||||
OS/2 CP-DOS Disks
|
||||
---
|
||||
|
||||
#### OS/2 CP-DOS Boot Disk (v7.68)
|
||||
|
||||
The [OS/2 CP-DOS Boot Disk (v7.68)](/disks/pcx86/os2/misc/cpdos/86295/) contained a pre-1.0 version of OS/2 built on
|
||||
October 22, 1986.
|
||||
|
||||
#### OS/2 SIZZLE Boot Disk (v7.68.18)
|
||||
|
||||
The [OS/2 SIZZLE Boot Disk (v7.68.18)](/disks/pcx86/os2/misc/cpdos/87007/) contained a pre-1.0 version of OS/2
|
||||
built on January 7, 1987, which was based on an interim source code fork known as "SIZZLE", the code-name for a
|
||||
collection of changes intended to improve overall OS/2 performance.
|
||||
|
||||
#### OS/2 SIZZLE Boot Disk (v7.68.18 DEBUG)
|
||||
|
||||
The [OS/2 SIZZLE Boot Disk (v7.68.18 DEBUG)](/disks/pcx86/os2/misc/cpdos/87007/debug/) was largely identical to the
|
||||
previous disk, with the exception of a *DEBUG* kernel (with built-in debugger) and a different assortment of tools.
|
||||
|
||||
[Return to [OS/2 Prototype Disks](/disks/pcx86/os2/misc/)]
|
||||
File diff suppressed because one or more lines are too long
1
disks/pcx86/os2/misc/cpdos/SIZZLE-76818-19870107.json
Normal file
1
disks/pcx86/os2/misc/cpdos/SIZZLE-76818-19870107.json
Normal file
File diff suppressed because one or more lines are too long
1
disks/pcx86/os2/misc/cruiser/OS2SDK-048014.100.json
Normal file
1
disks/pcx86/os2/misc/cruiser/OS2SDK-048014.100.json
Normal file
File diff suppressed because one or more lines are too long
366
disks/pcx86/os2/misc/football/87058/README.md
Normal file
366
disks/pcx86/os2/misc/football/87058/README.md
Normal file
|
|
@ -0,0 +1,366 @@
|
|||
---
|
||||
layout: page
|
||||
title: "OS/2 FOOTBALL Boot Disk (v7.68.17)"
|
||||
permalink: /disks/pcx86/os2/misc/football/87058/
|
||||
machines:
|
||||
- id: deskpro386
|
||||
type: pcx86
|
||||
debugger: true
|
||||
autoMount:
|
||||
A:
|
||||
path: /disks/pcx86/os2/misc/football/FOOTBALL-76817.json
|
||||
messages: warn
|
||||
config: /devices/pcx86/machine/compaq/deskpro386/ega/4096kb/debugger/machine.xml
|
||||
---
|
||||
|
||||
OS/2 FOOTBALL Boot Disk (v7.68.17)
|
||||
---
|
||||
|
||||
This disk contained a prototype version of OS/2 from February 1987, code-named **FOOTBALL**
|
||||
(aka **PIGSKIN**). It predated the completion of OS/2 1.0 by some eight months and was based on the
|
||||
[SIZZLE](/disks/pcx86/os2/misc/cpdos/87007/) fork, which started around November 1986.
|
||||
|
||||
On boot, it displays the following version banner:
|
||||
|
||||
CP-DOS version 1.0
|
||||
Copyright 1986,1987 Microsoft Corp.
|
||||
|
||||
PIGSKIN Internal revision 7.68.17, 87/02/26
|
||||
|
||||
Most of the work on this prototype occurred between December 1, 1986 and February 28, 1987, with the principal goal
|
||||
of demonstrating multiple DOS applications running in V86-mode to BillG; that demo probably occurred in March 1987.
|
||||
However, another underlying goal was to demonstrate to IBM that Microsoft was ahead of the curve on 32-bit design
|
||||
considerations for OS/2. Up to this point, all OS/2 design and development work had been 16-bit, since the
|
||||
dominant state-of-the-art Intel CPU at the time was the 80286.
|
||||
|
||||
The FOOTBALL prototype was based on pre-1.0 OS/2 sources, and the only hardware it supported was the COMPAQ DeskPro
|
||||
386-16. The source code was later sent to IBM, who in early April 1987 was adapting it to run on the Model 80 PS/2.
|
||||
|
||||
After OS/2 1.0 was finished in October 1987, FOOTBALL changes were merged into a fresh set of 1.0 sources, which
|
||||
initially was version 1.3 (also known as **PIGSKIN** and later **CRUISER**) but ultimately became version 2.0.
|
||||
|
||||
A directory listing of this disk is provided [below](#directory-of-os2-football-boot-disk-v76817).
|
||||
|
||||
We also have an original [FOOTBALL Design Document](#football-design-document) describing this prototype.
|
||||
|
||||
{% include machine.html id="deskpro386" %}
|
||||
|
||||
Booting FOOTBALL
|
||||
---
|
||||
|
||||
When booting on a [COMPAQ DeskPro 386 with 4Mb of RAM](/devices/pcx86/machine/compaq/deskpro386/ega/4096kb/debugger/),
|
||||
the following information is output to COM2 by the kernel's built-in debugger:
|
||||
|
||||
bx=001d, cx=f905, dx=0700, cs=1770, ds=1b10
|
||||
NoHighMem=0000
|
||||
BIOS is new EXE file
|
||||
seg loadseg srcseg seg/sel reladdr psize/vsize delta
|
||||
1: 1090 1090 0100/0100 00002345 00001345/00001346 00000000
|
||||
2: 11d0 11d0 0300/0300 000088d3 000058d3/000058e0 00000000
|
||||
3: 1770 1770 0900/0900 0000c922 00003922/00003922 00000000
|
||||
4: 1b10 1b10 0d00/0d00 0000ec01 00001c01/000025e0 00000000
|
||||
devlist=0100:1327, 3xdevlist=0300:0504, buffers=0003, orgfinalseg=083c
|
||||
dosloadseg=1800, finalseg=0900, mem=640k/3072k, defdrive=0001
|
||||
Driver='SCREEN$ ' link=0100:0e26,attr=8082,strat=4be6,intr=004e,ds/cs=0100/0300
|
||||
Driver='KBD$ ' link=0100:0e86,attr=c881,strat=3108,intr=28aa,ds/cs=0100/0300
|
||||
Driver='PRN ' link=0100:0000,attr=8880,strat=4542,intr=0000,ds/cs=0100/0300
|
||||
Driver='CLOCK$ ' link=0100:0108,attr=8088,strat=004f,intr=004e,ds/cs=0100/0300
|
||||
Driver='# devs=4' link=0100:0ea0,attr=2080,strat=0e9e,intr=004e,ds/cs=0100/0300
|
||||
Driver='LPT1 ' link=0100:0eba,attr=8880,strat=4542,intr=0000,ds/cs=0100/0300
|
||||
Driver='LPT2 ' link=0100:0ed4,attr=8880,strat=454b,intr=0000,ds/cs=0100/0300
|
||||
Driver='LPT3 ' link=ffff:ffff,attr=8880,strat=4554,intr=0000,ds/cs=0100/0300
|
||||
about to transfer to 9c00:$ (new ds/ss=9900) ...done
|
||||
DOS is new EXE file
|
||||
seg loadseg srcseg seg/sel reladdr psize/vsize delta
|
||||
1: 1820 1820 0900/0900 0000fbc9 00006bc9/00006bc9 00000000
|
||||
2: 1f20 1f20 1000/1000 0001610f 0000610f/00006709 00000000
|
||||
3: 2560 2560 1700/0108 0001b973 00004973/00004973 00000000
|
||||
4: 2a00 2a00 1c00/0110 0001f7fe 000037fe/000037fe 00000000
|
||||
5: 2d80 2d80 2000/0118 00020d1e 00000d1e/00000d38 00000000
|
||||
6: 2e60 2e60 2100/0120 00021054 00000054/00000054 00000000
|
||||
7: 2e80 2e80 2200/0128 000242c8 000022c8/000022c8 00000000
|
||||
8: 3100 3100 2500/0130 000258b4 000008b4/000008b4 00000000
|
||||
9: 31a0 31a0 2600/0138 000288dc 000028dc/0000dc62 00000000
|
||||
10: 0000 0000 3400/0140 00000000 00000000/0000900c 00000000
|
||||
11: 3480 3e00 3e00/0148 00048109 0000a109/0000a109 00009800
|
||||
12: 3ee0 4900 4900/0150 000529f8 000099f8/000099f8 0000a200
|
||||
13: 4900 5320 5300/0158 00056ee8 00003ee8/00003ee8 0000a200
|
||||
DosInit=2200:010a
|
||||
System Debugger 11/20/86 - Processor is: 386
|
||||
AX=01000900 BX=00000148 CX=00000150 DX=00000120 SI=00000158 DI=00001436
|
||||
IP=00000483 SP=0000200A BP=00000000 CR2=00000000 CR3=00000 IOPL=3 F=-- --
|
||||
CS=0128 SS=0048 DS=0138 ES=1000 FS=0000 GS=0000 -- NV UP DI PL NZ AC PE NC
|
||||
0128:0483 C3 RET
|
||||
#
|
||||
|
||||
After typing "g" into the kernel debugger, the version banner is displayed. After any CONFIG.SYS messages,
|
||||
SHELL.EXE should display:
|
||||
|
||||
* Start A Protect Mode Program
|
||||
* Start A Real Mode Program
|
||||
|
||||
The first option will start CMD.EXE, and the second option will start COMMAND.COM.
|
||||
|
||||
### Directory of OS/2 FOOTBALL Boot Disk (v7.68.17)
|
||||
|
||||
Volume in drive A has no label
|
||||
Directory of A:\
|
||||
|
||||
IBMBIO COM 50689 2-27-87 3:49p
|
||||
IBMDOS COM 216962 2-27-87 3:48p
|
||||
OSO001 MSG 40730 2-27-87 12:24p
|
||||
ANSICALL EXE 3165 2-27-87 11:34a
|
||||
BKSCALLS EXE 3611 2-27-87 11:51a
|
||||
BMSCALLS EXE 2064 2-27-87 11:55a
|
||||
BVSCALLS EXE 11710 2-27-87 12:02p
|
||||
DOSCALL1 EXE 7071 2-27-87 12:03p
|
||||
KBDCALLS EXE 4138 2-27-87 12:04p
|
||||
MONCALLS EXE 5655 2-27-87 12:09p
|
||||
MOUCALLS EXE 5177 2-27-87 12:16p
|
||||
QUECALLS EXE 11508 2-27-87 12:28p
|
||||
SESMGR EXE 25744 2-27-87 12:41p
|
||||
SHELL EXE 4096 2-27-87 12:43p
|
||||
VIOCALLS EXE 9833 2-27-87 12:47p
|
||||
CMD EXE 47056 11-17-86 1:52p
|
||||
VT52 SYS 3205 10-27-86 3:57p
|
||||
IBMDOS SYM 50692 2-27-87 3:48p
|
||||
COUNTRY SYS 6175 11-03-86 8:32p
|
||||
MSG EXE 5824 11-03-86 8:36p
|
||||
NLS EXE 3124 11-03-86 8:37p
|
||||
SWAPPER EXE 4150 2-25-87 8:04p
|
||||
EXEHDR EXE 23242 10-17-86 2:24p
|
||||
COMMAND COM 23724 10-27-86 3:57p
|
||||
CONFIG SYS 90 2-27-87 4:14p
|
||||
POINTDD SYS 4240 11-03-86 7:28p
|
||||
VDISK SYS 4662 11-03-86 7:28p
|
||||
PGSWP32 EXE 7570 2-02-87 12:20p
|
||||
LIN EXE 8084 2-12-87 3:00p
|
||||
MAIN EXE 32482 11-14-86 12:44p
|
||||
CPGREP EXE 25286 10-21-86 9:08p
|
||||
31 File(s) 549888 bytes free
|
||||
|
||||
FOOTBALL Design Document
|
||||
---
|
||||
|
||||
The following text is from an email titled "3xBox Design Document" sent to the
|
||||
Microsoft *football* alias on Saturday, February 28, 1987, at 5:02pm.
|
||||
|
||||
Overview
|
||||
--------
|
||||
The goal for this research project was to demonstrate the feasability of
|
||||
supporting multiple virtual DOS 3.x machines on a 286DOS-based kernel running
|
||||
on an 386 personal computer. Each "3xBox" would have its own virtual screen,
|
||||
keyboard, interrupt vectors, and address space. Furthermore, well- behaved
|
||||
DOS 3.x applications that do text (as opposed to graphic) screen output would
|
||||
run in the background.
|
||||
|
||||
In order to acheive this goal in a reasonable amount of time, we started from
|
||||
the 286DOS "sizzle" kernel and made the minimum amount of changes necessary,
|
||||
both in code and fundamental design. The resulting DOS will be referred to
|
||||
as "386DOS" in this paper.
|
||||
|
||||
386DOS provides up to four 3xBoxes, depending upon the available RAM. More
|
||||
3xBoxes could be supported if a slight change is made to the method of
|
||||
allocating page tables.
|
||||
|
||||
Well-behaved DOS 3.x applications (i.e., MS-Multiplan, MS-Word, Lotus 1-2-3)
|
||||
can run in the background, multi-tasking against one another and against the
|
||||
foreground screen group. Lotus 1-2-3 (version 2.01) passes its floppy-based
|
||||
copy protection when in the foreground.
|
||||
|
||||
It should be noted that 386DOS, while functional, is not an optimal design/
|
||||
implementation of multiple 3xBoxes. In particular, interrupt management, the
|
||||
device driver model, and the existence of V86-mode kernel code should be
|
||||
modified before 386DOS is made a commercial product.
|
||||
|
||||
Unless stated otherwise, most of the concepts extant in 286DOS apply to 386DOS.
|
||||
|
||||
V86 Mode and the 386
|
||||
----------------------
|
||||
The 386 CPU has three distinct execution modes: REAL, PROT, and V86. REAL
|
||||
and PROT modes are largely compatible with the corresponding modes of an 286.
|
||||
V86 modes is exactly the same as RING 3 PROT mode, with the following
|
||||
differences:
|
||||
|
||||
o Memory Address Hierarchy
|
||||
A 386 has three levels of memory addresses:
|
||||
- Virtual (Intel refers to this as Logical)
|
||||
This is either the selector:offset or segment:offset address used
|
||||
by unprivledged machine language code.
|
||||
- Linear
|
||||
This is the 32-bit address arrived at either via a GDT/LDT
|
||||
selector lookup, or via the 8086-compatible (seg << 4 + offset).
|
||||
- Physical
|
||||
This is the 32-bit address arrived at by pushing a linear address
|
||||
through the paging mechanism. This is the address that the CPU
|
||||
sends out on the bus to select physical memory.
|
||||
|
||||
When in V86 mode, the CPU performs the 8086-compatible computation.
|
||||
|
||||
o I/O instructions are NOT IOPL-sensitive
|
||||
Trapping of I/O is done using the IO Permission Map.
|
||||
|
||||
o All instructions which modify or expose the Interrupt Flag ARE IOPL-
|
||||
sensitive.
|
||||
This allows the OS to simulate the Interrupt Flag, if desired.
|
||||
|
||||
V86 IRETD Frame
|
||||
---------------
|
||||
When any interrupt, trap, exception, or fault occurs in V86 mode, the CPU
|
||||
switches to PROT mode and switches to the TSS Ring 0 Stack and builds the
|
||||
following stack frame:
|
||||
|
||||
(0) (old GS)
|
||||
(0) (old FS)
|
||||
(0) (old DS)
|
||||
(0) (old ES)
|
||||
(0) (old SS)
|
||||
(old ESP)
|
||||
(old EFLAGS)
|
||||
(0) (old CS)
|
||||
(old EIP) <- (SS:SP)
|
||||
|
||||
CPU Mode Determination
|
||||
----------------------
|
||||
A new implementation of the WHATMODE macro was written in order to distinguish
|
||||
between the three CPU modes: REAL, PROT, and V86. REAL mode is indicated by
|
||||
a 0 PE bit in CR0 (a.k.a. MSW on a 286). If the PE bit is 1, then the mode
|
||||
may be either PROT or V86. These two modes may be distinguished by attempting
|
||||
to change the IOPL bits in the FLAGS word. At Ring 0 in PROT mode (the only
|
||||
place WHATMODE is used), the IOPL may be changed. In V86 mode, IOPL cannot
|
||||
be changed. So, we change IOPL and then check to see if it changed. If so,
|
||||
PROT mode, else V86 mode.
|
||||
|
||||
CPU Mode Switching
|
||||
------------------
|
||||
The 286DOS kernel relies extensively on switching inbetween REAL and PROT.
|
||||
This functionality is provided by the RealMode and ProtMode routines.
|
||||
In 386DOS, RealMode is no longer needed. As soon as we switch to PROT mode
|
||||
during SysInit, the CPU only uses PROT and V86 modes.
|
||||
|
||||
Two new routines, ProtToV86 and V86ToProt, that are analogous to RealMode and
|
||||
ProtMode. ProtToV86 is quite straightforward. We build a V86 IRETD frame
|
||||
on the stack with the VM bit set in the EFLAGS image. We set the SS:SP
|
||||
image to be equivalent to the stack just above the V86 IRETD frame, and
|
||||
set the CS:IP image to instruction following an IRETD. Then, we issue the
|
||||
IRETD and the CPU continues processing following the IRETD and in V86 mode.
|
||||
|
||||
V86ToProt is a bit trickier. The only way to get out of V86 mode is to
|
||||
trap or fault or issue a software interrupt. We chose to use a software
|
||||
interrupt, 30h, which we call the V86 Services interrupt. The INT 30h entry
|
||||
in the IDT is a ring 3 interrupt gate, so issuing an INT 30 from V86 mode
|
||||
causes a V86 IRETD frame to be built on the TSS Ring 0 stack and control
|
||||
transfers to the INT 30h vector. The handler verifies that the INT 30h
|
||||
was issued by the V86ToProt routine (checks CS:IP on the stack). If not,
|
||||
the interrupt is reflected back to the requesting 3xBox (See Interrupt
|
||||
Reflection). If it was V86ToProt, we clean off the stack frame and return to
|
||||
the caller. NOTE: V86 Services is also used for completing the 386 LOADALL
|
||||
used by PhysToVirt to map "high" memory in "REAL" mode.
|
||||
|
||||
Stack Switching
|
||||
---------------
|
||||
In order to maintain the 286DOS mode switch and stack switch semantics
|
||||
when V86 mode is used, we have a new stack (the V86 Stack) in the 3xBox PTDA.
|
||||
|
||||
286DOS Modes and Stacks
|
||||
-----------------------
|
||||
The RealMode and ProtMode procedures in 286DOS are the only ways to switch
|
||||
the CPU execution mode. These routines both maintain SS:SP, allowing
|
||||
RealMode and ProtMode to be reentrant. The TSS Ring 0 stack is always the
|
||||
current TCB stack in the current PTDA. The only other stacks in the system
|
||||
are the Interrupt Stack and user stack(s).
|
||||
|
||||
386DOS Modes and Stacks
|
||||
-----------------------
|
||||
In 386DOS, any interrupt or exception while in V86 mode causes a switch to
|
||||
PROT mode and the TSS Ring 0 Stack. So we have a new way to mode switch with
|
||||
an incompatible stack semantic. We had to fix this mode switch to make it
|
||||
compatible with 286DOS.
|
||||
|
||||
Observation
|
||||
-----------
|
||||
In V86 mode, the current stack must not be the TSS Ring 0 Stack. The CPU
|
||||
only leaves V86 mode via an interrupt/exception, which causes a stack switch
|
||||
to the TSS Ring 0 Stack. If the current stack was the same as the TSS Ring 0
|
||||
Stack, then the stack might get corrupted. In 286DOS, the Ring 0 Stack is
|
||||
the PTDA. Since we run on this stack in V86 mode, we need a new Ring 0 stack
|
||||
when a 3xBox is running.
|
||||
|
||||
Approach
|
||||
--------
|
||||
1) When a PMBox is running, the TSS Ring 0 Stack is a PTDA TCB stack.
|
||||
+ This is consistent with the 286DOS model.
|
||||
|
||||
2) When a 3xBox is running, the TSS Ring 0 Stack is the "V86 Stack".
|
||||
+ The V86 Stack is allocated in the 3xBox PTDA.
|
||||
+ If the cause of the mode switch can be handled without enabling
|
||||
interrupts (e.g., interrupt reflection, IN/OUT trapping), we stay
|
||||
on the V86 stack.
|
||||
+ Otherwise, copy the V86 IRETD frame to the previous stack and
|
||||
switch back to the previous stack.
|
||||
|
||||
Details
|
||||
-------
|
||||
1) Leaving V86 mode
|
||||
a. V86ToProt (analog of ProtMode)
|
||||
+ Issue special V86ToProt software interrupt. If the interrupt
|
||||
gate is DPL=3 (and it must be a 386 Interrupt Gate), then the 386
|
||||
switches to Ring 0 (and the TSS Ring 0 stack) and transfers
|
||||
control to the handler.
|
||||
+ To ensure that 3xBox apps don't use this feature, the interrupt
|
||||
handler checks that CS=DosGroup and IP is in the correct range.
|
||||
If not, then the interrupt is reflected (see below).
|
||||
+ To make V86ToProt compatible with ProtMode, the interrupt handler
|
||||
switches to the old stack (we get SS:ESP from TSS Ring 0 stack,
|
||||
which is where we are running).
|
||||
+ Finally, V86ToProt restores saved registers and flags from the
|
||||
stack and returns to caller.
|
||||
|
||||
b. Software interrupt
|
||||
+ GP-Fault handler reflects to 3xBox IVT handler in V86 mode.
|
||||
o Add IRET frame on old stack, taking IP, CS, FLAGS from
|
||||
TSS Ring 0 Stack.
|
||||
o Look up handler in 3xBox IVT.
|
||||
o Edit TSS Ring 0 Stack EIP and CS to point to IVT handler.
|
||||
o IRETD
|
||||
+ IVT interrupt handler IRET uses IRET frame we built on old stack.
|
||||
|
||||
c. Hardware interrupt
|
||||
+ To make this operation compatible with 286Dos, the interrupt
|
||||
handler copies the V86 stack from the TSS Ring 0 stack to
|
||||
the old stack, then switches stacks to the newly modified old
|
||||
stack. This allows the Interupt Manager to do an IRETD to
|
||||
get back to the correct mode.
|
||||
|
||||
d. Exception
|
||||
+ Remain on V86 stack, process exception, and IRETD.
|
||||
|
||||
2) Entering V86 mode
|
||||
a. ProtToV86
|
||||
+ Build V86 IRETD frame on current stack and IRETD.
|
||||
b. LinToVirtDM_HANDLE
|
||||
+ Execute 386 LOADALL with VM bit set in EFLAGS image in loadall
|
||||
buffer.
|
||||
|
||||
Interrupt Management
|
||||
--------------------
|
||||
All software interrupts, hardware interrupts, and CPU traps and exceptions
|
||||
are vectored through a common IDT, regardless of whether the CPU is in PROT
|
||||
or V86 mode.
|
||||
|
||||
NOTE: Background 3xBoxes get no hardware interrupts. In the commercial 386DOS,
|
||||
this restriction can be relaxed so that interrupts, other than for the
|
||||
keyboard and mouse (since those are implicitly for the foreground box),
|
||||
can be given to background 3xBoxes.
|
||||
|
||||
Passing Hardware Interrupts to the Foreground 3xBox
|
||||
---------------------------------------------------
|
||||
In the interrupt manager:
|
||||
|
||||
IF a 3xBox is foreground -AND-
|
||||
the current mapped 3xBox is background
|
||||
THEN
|
||||
MapIn foreground 3xBox;
|
||||
Dispatch interrupt;
|
||||
|
||||
[Return to [OS/2 Prototype Disks](/disks/pcx86/os2/misc/)]
|
||||
80
disks/pcx86/os2/misc/football/87357/README.md
Normal file
80
disks/pcx86/os2/misc/football/87357/README.md
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
---
|
||||
layout: page
|
||||
title: "OS/2 FOOTBALL Boot Disk (v4.41.00)"
|
||||
permalink: /disks/pcx86/os2/misc/football/87357/
|
||||
machines:
|
||||
- id: deskpro386
|
||||
type: pcx86
|
||||
debugger: true
|
||||
config: /devices/pcx86/machine/compaq/deskpro386/ega/2048kb/debugger/machine.xml
|
||||
autoMount:
|
||||
A:
|
||||
path: /disks/pcx86/os2/misc/football/FOOTBALL-44100.json
|
||||
---
|
||||
|
||||
OS/2 FOOTBALL Boot Disk (v4.41.00)
|
||||
---
|
||||
|
||||
This disk contained an updated version of [OS/2 FOOTBALL Boot Disk (v7.68.17)](/disks/pcx86/os2/misc/football/87058/).
|
||||
It was built in December 1987, using final OS/2 1.0 sources merged with assorted FOOTBALL changes, and although
|
||||
it was originally assigned version number 1.3, this version of OS/2 would ultimately become 2.0.
|
||||
|
||||
It crashes on an 80286, jumping to invalid code immediately after performing a processor check. On an 80386,
|
||||
the following version banner is displayed:
|
||||
|
||||
Operating System/2 Version 1.30
|
||||
(C) Copyright Microsoft Corp. 1981, 1987, 1988.
|
||||
(C) Copyright IBM Corp. 1981, 1987. All rights reserved.
|
||||
|
||||
Internal revision 4.41.00, 12/02/87
|
||||
|
||||
The numbering of revisions must have been, um, revised, because despite the lower revision (4.41.00 vs. 7.68.17),
|
||||
it *is* newer than the 7.68.17 prototype. This is confirmed by the boot message (12/02/87), the file dates (12-23-87)
|
||||
and the higher version number (1.3).
|
||||
|
||||
A directory listing of this disk is provided [below](#directory-of-os2-football-boot-disk-v44100).
|
||||
|
||||
{% include machine.html id="deskpro386" %}
|
||||
|
||||
### Directory of OS/2 FOOTBALL Boot Disk (v4.41.00)
|
||||
|
||||
Volume in drive A has no label
|
||||
Directory of A:\
|
||||
|
||||
IBMBIO COM 4096 12-23-87 11:48a
|
||||
IBMDOS COM 316071 12-23-87 4:59p
|
||||
IBMDOS SYM 59156 12-23-87 4:59p
|
||||
OSO001 MSG 65992 12-23-87 11:46a
|
||||
SHELL EXE 12990 12-23-87 5:16p
|
||||
HARDERR EXE 16752 12-23-87 3:16p
|
||||
SWAPPER EXE 4148 12-23-87 1:20p
|
||||
CMD EXE 60736 12-23-87 1:16p
|
||||
COMMAND COM 25564 12-23-87 1:02p
|
||||
COUNTRY SYS 14632 12-23-87 4:17p
|
||||
SINGLEQ SYS 3688 12-23-87 3:47p
|
||||
MSG DLL 6602 12-23-87 1:17p
|
||||
NLS DLL 5160 12-23-87 1:20p
|
||||
SESMGR DLL 24773 12-23-87 4:39p
|
||||
ANSICALL DLL 3627 12-23-87 2:34p
|
||||
BKSCALLS DLL 7204 12-23-87 2:38p
|
||||
BMSCALLS DLL 3090 12-23-87 2:38p
|
||||
BVSCALLS DLL 30747 12-23-87 2:47p
|
||||
DOSCALL1 DLL 8813 12-23-87 2:51p
|
||||
KBDCALLS DLL 6709 12-23-87 2:53p
|
||||
MONCALLS DLL 6836 12-23-87 2:53p
|
||||
MOUCALLS DLL 5683 12-23-87 2:54p
|
||||
QUECALLS DLL 11237 12-23-87 2:59p
|
||||
VIOCALLS DLL 13933 12-23-87 3:19p
|
||||
CLOCK01 SYS 2761 12-23-87 1:21p
|
||||
DISK01 SYS 18792 12-23-87 1:24p
|
||||
KBD01 SYS 14835 12-23-87 1:31p
|
||||
PRINT01 SYS 7818 12-23-87 1:38p
|
||||
SCREEN01 SYS 1572 12-23-87 1:39p
|
||||
COM01 SYS 8756 12-23-87 1:45p
|
||||
EGA SYS 2111 12-23-87 1:47p
|
||||
EXTDSKDD SYS 1877 12-23-87 1:48p
|
||||
CONFIG SYS 149 12-23-87 4:42p
|
||||
33 file(s) 776910 bytes
|
||||
427008 bytes free
|
||||
|
||||
[Return to [OS/2 Prototype Disks](/disks/pcx86/os2/misc/)]
|
||||
1
disks/pcx86/os2/misc/football/FOOTBALL-44100.json
Normal file
1
disks/pcx86/os2/misc/football/FOOTBALL-44100.json
Normal file
File diff suppressed because one or more lines are too long
1
disks/pcx86/os2/misc/football/FOOTBALL-76817.json
Normal file
1
disks/pcx86/os2/misc/football/FOOTBALL-76817.json
Normal file
File diff suppressed because one or more lines are too long
22
disks/pcx86/os2/misc/football/README.md
Normal file
22
disks/pcx86/os2/misc/football/README.md
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
---
|
||||
layout: page
|
||||
title: OS/2 FOOTBALL Disks
|
||||
permalink: /disks/pcx86/os2/misc/football/
|
||||
---
|
||||
|
||||
OS/2 FOOTBALL Disks
|
||||
---
|
||||
|
||||
#### OS/2 FOOTBALL Boot Disk (v7.68.17)
|
||||
|
||||
The [OS/2 FOOTBALL Boot Disk (v7.68.17)](/disks/pcx86/os2/misc/football/87058/) contained a prototype version of OS/2
|
||||
from February 1987 that was designed to test two important new features of the Intel 80386 processor: paging and V86-mode.
|
||||
This prototype was forked from pre-1.0 OS/2 sources, and the only hardware it supported was the COMPAQ DeskPro 386-16.
|
||||
|
||||
#### OS/2 FOOTBALL Boot Disk (v4.41.00)
|
||||
|
||||
The [OS/2 FOOTBALL Boot Disk (v4.41.00)](/disks/pcx86/os2/misc/football/87357/) contained an updated FOOTBALL prototype.
|
||||
It was built in December 1987, using final OS/2 1.0 sources merged with assorted FOOTBALL changes, and although
|
||||
it was originally assigned version number 1.3, this version of OS/2 would ultimately become 2.0.
|
||||
|
||||
[Return to [OS/2 Prototype Disks](/disks/pcx86/os2/misc/)]
|
||||
23
disks/pcx86/os2/misc/manifest.xml
Normal file
23
disks/pcx86/os2/misc/manifest.xml
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?xml-stylesheet type="text/xsl" href="/versions/pcx86/1.23.0/manifest.xsl"?>
|
||||
<manifest type="software">
|
||||
<title>OS/2 Prototype Disks</title>
|
||||
<disk id="disk01" size="1228800" chs="80:2:15" img="cpdos/archive/286DOS-76800.img" href="/disks/pcx86/os2/misc/cpdos/286DOS-76800.json" md5="d206be5501ae2e5cfead6a93d4b7b953" md5json="040f2bd5e1d9176b0ac7b5fc24ec8b2c">
|
||||
<name>OS/2 CP-DOS (v7.68)</name>
|
||||
</disk>
|
||||
<disk id="disk02" size="1228800" chs="80:2:15" img="football/archive/FOOTBALL-76817.img" href="/disks/pcx86/os2/misc/football/FOOTBALL-76817.json" md5="fe76a77d6931490d1936945fb60bada8" md5json="9477050abad7153895f6f4023227b4f7">
|
||||
<name>OS/2 FOOTBALL (v7.68.17)</name>
|
||||
</disk>
|
||||
<disk id="disk03" size="1228800" chs="80:2:15" img="football/archive/FOOTBALL-44100.img" href="/disks/pcx86/os2/misc/football/FOOTBALL-44100.json" md5="adf9c504f249c281afa88697cc5bfae1" md5json="1ee20675444641e0398434ffa6eabe19">
|
||||
<name>OS/2 FOOTBALL (v4.41.00)</name>
|
||||
</disk>
|
||||
<disk id="disk04" size="1228800" chs="80:2:15" img="1.0/archive/OS210-88286.img" href="/disks/pcx86/os2/misc/1.0/OS210-88286.json">
|
||||
<name>OS/2 1.0 Debugger</name>
|
||||
</disk>
|
||||
<disk id="disk05" size="1228800" chs="80:2:15" img="cpdos/archive/SIZZLE-76818-19870107.img" href="/disks/pcx86/os2/misc/cpdos/SIZZLE-76818-19870107.json" md5="ced5ecb7f44b52a2f276c050efa94160" md5json="79840e6f2a2236a7bb228751d7c22d00">
|
||||
<name>OS/2 SIZZLE (v7.68.18)</name>
|
||||
</disk>
|
||||
<disk id="disk06" size="1228800" chs="80:2:15" img="cpdos/archive/SIZZLE-76818-19870107-DEBUG.img" href="/disks/pcx86/os2/misc/cpdos/SIZZLE-76818-19870107-DEBUG.json" md5="9c9270b83aea4798f2618d38465f56b8" md5json="bd6baaa820d6ff254f81ec7d7ff07e67">
|
||||
<name>OS/2 SIZZLE (v7.68.18 DEBUG)</name>
|
||||
</disk>
|
||||
</manifest>
|
||||
Loading…
Reference in a new issue