Updated OS/2 disk information
This commit is contained in:
parent
a3d19ff7df
commit
0c0e508f78
18 changed files with 260 additions and 105 deletions
|
|
@ -1,8 +1,10 @@
|
|||
<script>
|
||||
{% if site.pcjs.compiled %}
|
||||
<script>
|
||||
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
||||
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
||||
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
||||
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
||||
ga('create', 'UA-49658648-1', 'pcjs.org');
|
||||
ga('send', 'pageview');
|
||||
</script>
|
||||
</script>
|
||||
{% endif %}
|
||||
|
|
|
|||
|
|
@ -70,6 +70,9 @@
|
|||
}
|
||||
})();
|
||||
</script>
|
||||
|
||||
{% include google-analytics.html %}
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -11,16 +11,16 @@ Exciting news for OS/2 fans: PCjs (v1.16.1) is now able to run OS/2 1.0 on
|
|||
of recent work in PCjs to fully emulate the Intel 80286 processor and 16-bit protected-mode, including undocumented
|
||||
features like [LOADALL](/pubs/pc/reference/intel/80286/loadall/) and triple-fault resets.
|
||||
|
||||
For a quick demo, try the [OS/2 1.0 Debugger Boot Disk](/disks/pc/os2/misc/1.0/debugger/). In a few seconds,
|
||||
For a quick demo, try the [OS/2 1.0 Debugger Boot Disk](/disks/pc/os2/misc/1.0/88286/). In a few seconds,
|
||||
you'll see a very rudimentary OS/2 shell (a slimmed-down version of the OS/2 Program Selector) that allows you to
|
||||
start the protected-mode command interpreter ("Start a Program") or the real-mode command interpreter ("command.com").
|
||||
|
||||
[<img src="/blog/images/os2-debugger.jpg" alt="OS/2 1.0 With Kernel Debugger"/>](/disks/pc/os2/misc/1.0/debugger/)
|
||||
[<img src="/blog/images/os2-debugger.jpg" alt="OS/2 1.0 With Kernel Debugger"/>](/disks/pc/os2/misc/1.0/88286/)
|
||||
|
||||
As an added bonus, the Model 5170 machines feature two serial ports, with COM1 connected to a simulated serial
|
||||
mouse and COM2 connected to the **Control Panel** output window.
|
||||
|
||||
Once you've booted the [OS/2 1.0 Debugger Boot Disk](/disks/pc/os2/misc/1.0/debugger/) from the assortment of
|
||||
Once you've booted the [OS/2 1.0 Debugger Boot Disk](/disks/pc/os2/misc/1.0/88286/) from the assortment of
|
||||
[Other OS/2 Disks](/disks/pc/os2/misc/), you can click on the **Control Panel** output window, press Ctrl-C, and
|
||||
find yourself magically transported into the OS/2 Kernel Debugger. The **Control Panel** display is functioning
|
||||
as both the output window for all PCjs messages and PCjs Debugger commands, as well as a serial input/output device
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ And here are some machines from our [IBM PC Disk Archive](/disks/pc/):
|
|||
* [Multitasking MS-DOS 4.00](/disks/pc/dos/microsoft/4.0M/)
|
||||
* [IBM Diagnostics v2.20](/disks/pc/diags/ibm/2.20/)
|
||||
* [IBM OS/2 1.0](/disks/pc/os2/ibm/1.0/)
|
||||
* [OS/2 1.0 Debugger Boot Disk](/disks/pc/os2/misc/1.0/debugger/)
|
||||
* [OS/2 1.0 Debugger Boot Disk](/disks/pc/os2/misc/1.0/88286/)
|
||||
* [CP/M-86 v1.1B](/disks/pc/cpm/1.1b/)
|
||||
* [Infocom Zork I](/disks/pc/games/infocom/zork1/)
|
||||
|
||||
|
|
|
|||
|
|
@ -7,5 +7,6 @@ permalink: /devices/pc/machine/compaq/deskpro386/
|
|||
Compaq DeskPro 386 Machines
|
||||
---
|
||||
|
||||
* [Compaq DeskPro 386 with EGA, 2Mb RAM](ega/2048kb/)
|
||||
* [Compaq DeskPro 386 with VGA, 2Mb RAM](vga/2048kb/)
|
||||
* [Compaq DeskPro 386 with VGA, 4Mb RAM, running Windows 95](vga/4096kb/)
|
||||
|
|
|
|||
|
|
@ -63,8 +63,9 @@ that automatically run the software.
|
|||
|
||||
### Other OS/2 Disks
|
||||
|
||||
* [OS/2 1.0 Debugger Boot Disk](/disks/pc/os2/misc/1.0/debugger/)
|
||||
* [OS/2 FOOTBALL Boot Disk (v7.68.17)](/disks/pc/os2/misc/football/debugger/)
|
||||
* [OS/2 1.0 Debugger Boot Disk](/disks/pc/os2/misc/1.0/88286/)
|
||||
* [OS/2 FOOTBALL Boot Disk (v7.68.17)](/disks/pc/os2/misc/football/87058/)
|
||||
* [OS/2 FOOTBALL Boot Disk (v4.41.00)](/disks/pc/os2/misc/football/87357/)
|
||||
|
||||
### Microsoft Windows
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
layout: page
|
||||
title: OS/2 1.0 Debugger Boot Disk
|
||||
permalink: /disks/pc/os2/misc/1.0/debugger/
|
||||
permalink: /disks/pc/os2/misc/1.0/88286/
|
||||
machines:
|
||||
- id: ibm5170
|
||||
type: pc-dbg
|
||||
|
|
@ -9,14 +9,16 @@ machines:
|
|||
automount:
|
||||
A:
|
||||
name: OS/2 1.0 Debugger Boot Disk
|
||||
path: /disks/pc/os2/misc/1.0/debugger/OS210-BOOT.json
|
||||
path: /disks/pc/os2/misc/1.0/OS210-88286.json
|
||||
redirect_from:
|
||||
- /disks/pc/os2/misc/1.0/debugger/
|
||||
---
|
||||
|
||||
OS/2 1.0 Debugger Boot Disk
|
||||
---
|
||||
|
||||
This disk contains a version of OS/2 1.0 built on October 12, 1988, which includes the built-in kernel debugger used by
|
||||
Microsoft and IBM for internal development.
|
||||
This disk contains a version of OS/2 1.0 built on October 12, 1988, which includes the built-in kernel debugger
|
||||
used by Microsoft and IBM for internal development.
|
||||
|
||||
Note that [IBM OS/2 1.0](/disks/pc/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, it displays:
|
||||
|
|
@ -34,13 +36,13 @@ A directory listing of this disk is provided [below](#directory-of-os2-10-debugg
|
|||
|
||||
{% 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.
|
||||
|
||||
### Directory of OS/2 1.0 Debugger Boot Disk
|
||||
|
||||
IBMBIO COM 4096 10-12-88 12:32p
|
||||
IBMDOS COM 299143 10-12-88 10:53a
|
||||
IBMDOS SYM 62788 10-12-88 10:54a
|
||||
|
|
@ -9,15 +9,19 @@ Other OS/2 Disks
|
|||
|
||||
### OS/2 1.0 Debugger Boot Disk
|
||||
|
||||
The [OS/2 1.0 Debugger Boot Disk](/disks/pc/os2/misc/1.0/debugger/) contains a version of OS/2 1.0 built on
|
||||
The [OS/2 1.0 Debugger Boot Disk](/disks/pc/os2/misc/1.0/88286/) contains a version of OS/2 1.0 built on
|
||||
October 12, 1988, which includes the built-in kernel debugger used by Microsoft and IBM for internal development.
|
||||
For more details, see the "OS/2 1.0" [blog post](/blog/2014/12/04/).
|
||||
For more details, see the [OS/2 1.0](/blog/2014/12/04/) blog post.
|
||||
|
||||
### OS/2 FOOTBALL Boot Disk (v7.68.17)
|
||||
|
||||
The [OS/2 FOOTBALL Boot Disk (v7.68.17)](/disks/pc/os2/misc/football/debugger/) contains a prototype version of OS/2
|
||||
from early 1987 that was designed to test new features of the Intel 80386 processor (eg, paging and V86-mode).
|
||||
The [OS/2 FOOTBALL Boot Disk (v7.68.17)](/disks/pc/os2/misc/football/87058/) contains a prototype version of OS/2
|
||||
from early 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.
|
||||
It was never released outside of Microsoft and IBM.
|
||||
|
||||
### OS/2 FOOTBALL Boot Disk (v4.41.00)
|
||||
|
||||
The [OS/2 FOOTBALL Boot Disk (v4.41.00)](/disks/pc/os2/misc/football/87357/) contains an updated FOOTBALL prototype,
|
||||
despite the lower revision number. Click the link for details.
|
||||
|
||||
Return to [IBM PC Disk Archive](/disks/pc/#other-os2-disks).
|
||||
|
|
|
|||
139
disks/pc/os2/misc/football/87058/README.md
Normal file
139
disks/pc/os2/misc/football/87058/README.md
Normal file
|
|
@ -0,0 +1,139 @@
|
|||
---
|
||||
layout: page
|
||||
title: "OS/2 FOOTBALL Boot Disk (v7.68.17)"
|
||||
permalink: /disks/pc/os2/misc/football/87058/
|
||||
machines:
|
||||
- id: deskpro386
|
||||
type: pc-dbg
|
||||
config: /devices/pc/machine/compaq/deskpro386/ega/2048kb/machine.xml
|
||||
automount:
|
||||
A:
|
||||
name: OS/2 FOOTBALL Boot Disk (v7.68.17)
|
||||
path: /disks/pc/os2/misc/football/FOOTBALL-76817.json
|
||||
---
|
||||
|
||||
OS/2 FOOTBALL Boot Disk (v7.68.17)
|
||||
---
|
||||
|
||||
This disk contains a prototype version of OS/2 from early 1987, code-named **FOOTBALL** (aka **PIGSKIN**).
|
||||
It predates the release of OS/2 1.0 by some 8 months.
|
||||
|
||||
On boot, the following message is displayed on-screen:
|
||||
|
||||
CP-DOS version 1.0
|
||||
Copyright 1986,1987 Microsoft Corp.
|
||||
|
||||
PIGSKIN Internal revision 7.68.17, 87/02/26
|
||||
|
||||
This prototype was designed to test two important new features of the Intel 80386 processor: paging and V86-mode.
|
||||
|
||||
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
|
||||
state-of-the-art Intel CPU at the time was the 80286.
|
||||
|
||||
The FOOTBALL prototype was forked from 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, and as of April 1987, they were adapting it to run on the Model 80 PS/2.
|
||||
It is unlikely that any FOOTBALL prototype was ever released outside of Microsoft and IBM.
|
||||
|
||||
Although FOOTBALL contained features not found in OS/2 until version 2.0, there is no direct connection between this
|
||||
internal Microsoft effort and OS/2 2.0. Some of the 32-bit support and paging work undoubtedly migrated to version 2.0
|
||||
eventually, but that would have happened much later, since work on OS/2 2.0 did not begin in earnest until October 1987,
|
||||
after 1.0 was finished.
|
||||
|
||||
Booting FOOTBALL
|
||||
---
|
||||
|
||||
When booting on a [Compaq DeskPro 386-16 with 2Mb of RAM](/devices/pc/machine/compaq/deskpro386/ega/2048kb/),
|
||||
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/1024k, 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 on-screen boot message is displayed.
|
||||
|
||||
Under PCjs, the kernel crashes shortly thereafter. This issue is still under investigation.
|
||||
|
||||
A directory listing of this disk is provided [below](#directory-of-os2-football-boot-disk-v76817).
|
||||
|
||||
{% include machine.html id="deskpro386" %}
|
||||
|
||||
### 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
|
||||
|
||||
Return to [Other OS/2 Disks](/disks/pc/os2/misc/).
|
||||
75
disks/pc/os2/misc/football/87357/README.md
Normal file
75
disks/pc/os2/misc/football/87357/README.md
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
---
|
||||
layout: page
|
||||
title: "OS/2 FOOTBALL Boot Disk (v4.41.00)"
|
||||
permalink: /disks/pc/os2/misc/football/87357/
|
||||
machines:
|
||||
- id: deskpro386
|
||||
type: pc-dbg
|
||||
config: /devices/pc/machine/compaq/deskpro386/ega/2048kb/machine.xml
|
||||
automount:
|
||||
A:
|
||||
name: OS/2 FOOTBALL Boot Disk (v4.41.00)
|
||||
path: /disks/pc/os2/misc/football/FOOTBALL-44100.json
|
||||
---
|
||||
|
||||
OS/2 FOOTBALL Boot Disk (v4.41.00)
|
||||
---
|
||||
|
||||
This disk contains an updated version of the [OS/2 FOOTBALL Boot Disk (v7.68.17)](/disks/pc/os2/misc/football/87058/).
|
||||
|
||||
It crashes on an 80286, jumping to invalid code immediately after performing a processor check. On an 80386,
|
||||
the following boot message is displayed on-screen:
|
||||
|
||||
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 build date (12/02/87), the file dates (12-23-87)
|
||||
and the higher version number. Version 1.30 was probably anticipated to be the first 80386 release, an honor
|
||||
that ultimately went to version 2.00.
|
||||
|
||||
### 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 [Other OS/2 Disks](/disks/pc/os2/misc/).
|
||||
|
|
@ -1,75 +0,0 @@
|
|||
---
|
||||
layout: page
|
||||
title: "OS/2 FOOTBALL Boot Disk (v7.68.17)"
|
||||
permalink: /disks/pc/os2/misc/football/debugger/
|
||||
machines:
|
||||
- id: deskpro386
|
||||
type: pc-dbg
|
||||
config: /devices/pc/machine/compaq/deskpro386/ega/2048kb/machine.xml
|
||||
automount:
|
||||
A:
|
||||
name: OS/2 FOOTBALL Boot Disk (v7.68.17)
|
||||
path: /disks/pc/os2/misc/football/debugger/FOOTBALL-7.68.17.json
|
||||
---
|
||||
|
||||
OS/2 FOOTBALL Boot Disk (v7.68.17)
|
||||
---
|
||||
|
||||
This disk contains a prototype version of OS/2 from early 1987 (code-named FOOTBALL) that was designed to test new
|
||||
features of the Intel 80386 processor (eg, paging and V86-mode). 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 (the demo probably occurred in March 1987), but also with the underlying goal of demonstrating
|
||||
to IBM that Microsoft was ahead of the curve on 32-bit design considerations for OS/2.
|
||||
|
||||
The FOOTBALL prototype was forked from 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, and as of April 1987, they were adapting it to run on the Model 80 PS/2.
|
||||
No versions of FOOTBALL were ever released outside of Microsoft and IBM.
|
||||
|
||||
Although FOOTBALL contained features not found in OS/2 until version 2.0, there is no direct connection between this
|
||||
internal Microsoft effort and OS/2 2.0. Some of the 32-bit support and paging work undoubtedly migrated to version 2.0
|
||||
eventually, but that would have happened much later, since work on OS/2 2.0 did not begin in earnest until October 1987,
|
||||
after 1.0 was finished.
|
||||
|
||||
A directory listing of this disk is provided [below](#directory-of-os2-football-boot-disk-v76817).
|
||||
|
||||
{% include machine.html id="deskpro386" %}
|
||||
|
||||
### 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
|
||||
|
||||
Return to [Other OS/2 Disks](/disks/pc/os2/misc/).
|
||||
|
|
@ -3,10 +3,13 @@
|
|||
<manifest type="software">
|
||||
<title>Other OS/2 Disks</title>
|
||||
<machine href="/disks/pc/os2/misc/1.0/debugger/machine.xml"/>
|
||||
<disk id="disk01" size="1228800" chs="80:2:15" href="/disks/pc/os2/misc/1.0/debugger/OS210-BOOT.json">
|
||||
<disk id="disk01" size="1228800" chs="80:2:15" img="1.0/static/OS210-88286.img" href="/disks/pc/os2/misc/1.0/OS210-88286.json">
|
||||
<name>OS/2 1.0 Debugger Boot Disk</name>
|
||||
</disk>
|
||||
<disk id="disk02" size="1228800" chs="80:2:15" img="football/debugger/static/FOOTBALL-7.68.17.img" href="/disks/pc/os2/misc/football/debugger/FOOTBALL-7.68.17.json" md5="3825dc8053f904c266b1ce98dbf1e981" md5json="7ea3f05e71ae4f3ccc7432f025426140">
|
||||
<disk id="disk02" size="1228800" chs="80:2:15" img="football/static/FOOTBALL-76817.img" href="/disks/pc/os2/misc/football/FOOTBALL-76817.json" md5="3825dc8053f904c266b1ce98dbf1e981" md5json="7ea3f05e71ae4f3ccc7432f025426140">
|
||||
<name>OS/2 FOOTBALL Boot Disk (v7.68.17)</name>
|
||||
</disk>
|
||||
<disk id="disk03" size="1228800" chs="80:2:15" img="football/static/FOOTBALL-44100.img" href="/disks/pc/os2/misc/football/FOOTBALL-44100.json" md5="d4dd7e3afc4ea60fc302b93d5b2c4c4b" md5json="6a85048a4c2eccfc911aeda13db5e6f7">
|
||||
<name>OS/2 FOOTBALL Boot Disk (v4.41.00)</name>
|
||||
</disk>
|
||||
</manifest>
|
||||
|
|
|
|||
|
|
@ -1010,8 +1010,8 @@ h.restore=function(a){var b=0,c="unsupported restore format";if(a&&0<a.length){v
|
|||
b+" changes applied)";b=-1;break}if(this.Ye){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(k=this.A[k][q][r]){for(q=k.data.length;q<e;)k.data[q++]=k.pattern;q=0;k.vd=e;for(k.Vc=f.length;e<g;)k.data[e++]=f[q++];b++}}}0>b?-2!=b&&this.controller.Va("Unable to restore disk '"+this.P+": "+c):qo(this);return b};
|
||||
h.toJSON=function(){var a=JSON.stringify(this.A,function(a,c){return"file"==a?void 0:c}),a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,""),a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:"),a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,""),a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")};
|
||||
function zo(a){Wa.call(this,"FDC",a,zo,524288);this.dmaRead=this.nk;this.dmaWrite=this.pk;this.dmaFormat=this.Ek;this.W=a.autoMount||null;this.C=[];this.qa=!Ja("Mobi")&&window&&"FileReader"in window}eb(zo);aa={};var Ao={3:{Rd:3,ie:0,name:aa.Jn},4:{Rd:2,ie:1,name:aa.Hn},5:{Rd:9,ie:7,name:aa.Rn},6:{Rd:9,ie:7,name:aa.Cn},7:{Rd:2,ie:0,name:aa.En},8:{Rd:1,ie:2,name:aa.In},10:{Rd:2,ie:7,name:aa.Dn},13:{Rd:6,ie:7,name:aa.pn},15:{Rd:3,ie:0,name:aa.Gn}};h=zo.prototype;
|
||||
h.Vb=function(a,b,c){var d=this;switch(b){case "listDisks":return this.xa[b]=c,c.onchange=function(){var a=d.xa.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("({"+b+"})")}catch(k){Ba("FDC option error: "+k.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.xa[b]=c,c.onchange=function(){var a=ca(c.value,10);null!=a&&Bo(d,a)},
|
||||
!0;case "loadDrive":return this.xa[b]=c,c.onclick=function(){var a=d.xa.listDisks;a&&Co(d,a.options[a.selectedIndex].text,a.value)},!0;case "mountDrive":return this.qa?(this.xa[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Co(d,ha(b,!0),b,a)}return!1}):c.parentNode.removeChild(c),!0}return!1};
|
||||
h.Vb=function(a,b,c){var d=this;switch(b){case "listDisks":return this.xa[b]=c,c.onchange=function(){var a=d.xa.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(k){Ba("FDC option error: "+k.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.xa[b]=c,c.onchange=function(){var a=ca(c.value,10);null!=a&&Bo(d,a)},!0;
|
||||
case "loadDrive":return this.xa[b]=c,c.onclick=function(){var a=d.xa.listDisks;a&&Co(d,a.options[a.selectedIndex].text,a.value)},!0;case "mountDrive":return this.qa?(this.xa[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Co(d,ha(b,!0),b,a)}return!1}):c.parentNode.removeChild(c),!0}return!1};
|
||||
h.Hc=function(a,b,c,d){this.ja=b;this.M=c;this.ma=d;this.ha=a;this.R=Eb(a,"ChipSet");if((this.W=Do(this.ha,"autoMount")||this.W)&&"string"==typeof this.W)try{this.W=eval("("+this.W+")")}catch(e){Ba("FDC auto-mount error: "+e.message+" ("+this.W+")"),this.W=null}Eo(this);ic(b,this,Fo);mc(b,this,Go);this.qa&&Ho(this,"Local Disk","?");Ho(this,"Remote Disk","??");Io(this)||sb(this)};
|
||||
h.nc=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.ha.$g){this.C=[];for(var c=0;c<this.A.length;c++)Jo(this,c,!0);Io(this,!0)}}else if(!this.restore(a))return!1;if(c=this.xa.listDrives){for(;c.firstChild;)c.removeChild(c.firstChild);c.textContent="";for(var d=0;d<this.la;d++){var e=window.document.createElement("option");e.value=d;e.textContent=String.fromCharCode(65+d)+":";c.appendChild(e)}0<this.la&&(c.value="0",Bo(this,0))}}return!0};h.mc=function(a){return a?this.save():!0};
|
||||
h.reset=function(){Eo(this)};
|
||||
|
|
|
|||
|
|
@ -961,8 +961,8 @@ f.restore=function(a){var b=0,c="unsupported restore format";if(a&&0<a.length){v
|
|||
b+" changes applied)";b=-1;break}if(this.oe){c="unable to modify write-protected disk";b=-1;break}e=l[k++];k=l[k++];l=e+k.length;if(p=this.A[p][q][w]){for(q=p.data.length;q<e;)p.data[q++]=p.pattern;q=0;p.Sc=e;for(p.zc=k.length;e<l;)p.data[e++]=k[q++];b++}}}0>b&&-2!=b&&this.controller.Ja("Unable to restore disk '"+this.B+": "+c);return b};
|
||||
f.toJSON=function(){var a=JSON.stringify(this.A,function(a,c){return"file"==a?void 0:c}),a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,""),a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:"),a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,""),a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")};
|
||||
function Fl(a){Ia.call(this,"FDC",a,Fl);this.dmaRead=this.pj;this.dmaWrite=this.qj;this.dmaFormat=this.Dj;this.N=a.autoMount||null;this.D=[];this.da=!xa("Mobi")&&window&&"FileReader"in window}Qa(Fl);aa={};var Gl={3:{ed:3,wd:0,name:aa.zm},4:{ed:2,wd:1,name:aa.xm},5:{ed:9,wd:7,name:aa.Hm},6:{ed:9,wd:7,name:aa.sm},7:{ed:2,wd:0,name:aa.um},8:{ed:1,wd:2,name:aa.ym},10:{ed:2,wd:7,name:aa.tm},13:{ed:6,wd:7,name:aa.fm},15:{ed:3,wd:0,name:aa.wm}};f=Fl.prototype;
|
||||
f.Eb=function(a,b,c){var d=this;switch(b){case "listDisks":return this.pa[b]=c,c.onchange=function(){var a=d.pa.descDisk,b=c.options[c.selectedIndex];if(a&&b){var l={};if(b=b.getAttribute("data-value"))try{l=eval("({"+b+"})")}catch(p){ra("FDC option error: "+p.message)}b=l.desc;void 0===b&&(b="");l=l.href;void 0!==l&&(b='<a href="'+l+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.pa[b]=c,c.onchange=function(){var a=ca(c.value,10);null!=a&&Hl(d,a)},
|
||||
!0;case "loadDrive":return this.pa[b]=c,c.onclick=function(){var a=d.pa.listDisks;a&&Il(d,a.options[a.selectedIndex].text,a.value)},!0;case "mountDrive":return this.da?(this.pa[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Il(d,ea(b,!0),b,a)}return!1}):c.parentNode.removeChild(c),!0}return!1};
|
||||
f.Eb=function(a,b,c){var d=this;switch(b){case "listDisks":return this.pa[b]=c,c.onchange=function(){var a=d.pa.descDisk,b=c.options[c.selectedIndex];if(a&&b){var l={};if(b=b.getAttribute("data-value"))try{l=eval("("+b+")")}catch(p){ra("FDC option error: "+p.message)}b=l.desc;void 0===b&&(b="");l=l.href;void 0!==l&&(b='<a href="'+l+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.pa[b]=c,c.onchange=function(){var a=ca(c.value,10);null!=a&&Hl(d,a)},!0;
|
||||
case "loadDrive":return this.pa[b]=c,c.onclick=function(){var a=d.pa.listDisks;a&&Il(d,a.options[a.selectedIndex].text,a.value)},!0;case "mountDrive":return this.da?(this.pa[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Il(d,ea(b,!0),b,a)}return!1}):c.parentNode.removeChild(c),!0}return!1};
|
||||
f.wc=function(a,b,c,d){this.ma=b;this.A=c;this.Sa=d;this.sa=a;this.T=hb(a,"ChipSet");if((this.N=Jl(this.sa,"autoMount")||this.N)&&"string"==typeof this.N)try{this.N=eval("("+this.N+")")}catch(e){ra("FDC auto-mount error: "+e.message+" ("+this.N+")"),this.N=null}Kl(this);Kb(b,this,Ll);Mb(b,this,Ml);this.da&&Nl(this,"Local Disk","?");Nl(this,"Remote Disk","??");Ol(this)||Ya(this)};
|
||||
f.$b=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.sa.ig){this.D=[];for(var c=0;c<this.B.length;c++)Pl(this,c,!0);Ol(this,!0)}}else if(!this.restore(a))return!1;if(c=this.pa.listDrives){for(;c.firstChild;)c.removeChild(c.firstChild);c.textContent="";for(var d=0;d<this.aa;d++){var e=window.document.createElement("option");e.value=d;e.textContent=String.fromCharCode(65+d)+":";c.appendChild(e)}0<this.aa&&(c.value="0",Hl(this,0))}}return!0};f.Zb=function(a){return a?this.save():!0};
|
||||
f.reset=function(){Kl(this)};
|
||||
|
|
|
|||
|
|
@ -426,7 +426,7 @@ FDC.prototype.setBinding = function(sHTMLType, sBinding, control)
|
|||
var sValue = controlOption.getAttribute("data-value");
|
||||
if (sValue) {
|
||||
try {
|
||||
dataValue = eval("({" + sValue + "})");
|
||||
dataValue = eval("(" + sValue + ")");
|
||||
} catch (e) {
|
||||
Component.error("FDC option error: " + e.message);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1010,8 +1010,8 @@ h.restore=function(a){var b=0,c="unsupported restore format";if(a&&0<a.length){v
|
|||
b+" changes applied)";b=-1;break}if(this.Ye){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(k=this.A[k][q][r]){for(q=k.data.length;q<e;)k.data[q++]=k.pattern;q=0;k.vd=e;for(k.Vc=f.length;e<g;)k.data[e++]=f[q++];b++}}}0>b?-2!=b&&this.controller.Va("Unable to restore disk '"+this.P+": "+c):qo(this);return b};
|
||||
h.toJSON=function(){var a=JSON.stringify(this.A,function(a,c){return"file"==a?void 0:c}),a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,""),a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:"),a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,""),a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")};
|
||||
function zo(a){Wa.call(this,"FDC",a,zo,524288);this.dmaRead=this.nk;this.dmaWrite=this.pk;this.dmaFormat=this.Ek;this.W=a.autoMount||null;this.C=[];this.qa=!Ja("Mobi")&&window&&"FileReader"in window}eb(zo);aa={};var Ao={3:{Rd:3,ie:0,name:aa.Jn},4:{Rd:2,ie:1,name:aa.Hn},5:{Rd:9,ie:7,name:aa.Rn},6:{Rd:9,ie:7,name:aa.Cn},7:{Rd:2,ie:0,name:aa.En},8:{Rd:1,ie:2,name:aa.In},10:{Rd:2,ie:7,name:aa.Dn},13:{Rd:6,ie:7,name:aa.pn},15:{Rd:3,ie:0,name:aa.Gn}};h=zo.prototype;
|
||||
h.Vb=function(a,b,c){var d=this;switch(b){case "listDisks":return this.xa[b]=c,c.onchange=function(){var a=d.xa.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("({"+b+"})")}catch(k){Ba("FDC option error: "+k.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.xa[b]=c,c.onchange=function(){var a=ca(c.value,10);null!=a&&Bo(d,a)},
|
||||
!0;case "loadDrive":return this.xa[b]=c,c.onclick=function(){var a=d.xa.listDisks;a&&Co(d,a.options[a.selectedIndex].text,a.value)},!0;case "mountDrive":return this.qa?(this.xa[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Co(d,ha(b,!0),b,a)}return!1}):c.parentNode.removeChild(c),!0}return!1};
|
||||
h.Vb=function(a,b,c){var d=this;switch(b){case "listDisks":return this.xa[b]=c,c.onchange=function(){var a=d.xa.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(k){Ba("FDC option error: "+k.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.xa[b]=c,c.onchange=function(){var a=ca(c.value,10);null!=a&&Bo(d,a)},!0;
|
||||
case "loadDrive":return this.xa[b]=c,c.onclick=function(){var a=d.xa.listDisks;a&&Co(d,a.options[a.selectedIndex].text,a.value)},!0;case "mountDrive":return this.qa?(this.xa[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Co(d,ha(b,!0),b,a)}return!1}):c.parentNode.removeChild(c),!0}return!1};
|
||||
h.Hc=function(a,b,c,d){this.ja=b;this.M=c;this.ma=d;this.ha=a;this.R=Eb(a,"ChipSet");if((this.W=Do(this.ha,"autoMount")||this.W)&&"string"==typeof this.W)try{this.W=eval("("+this.W+")")}catch(e){Ba("FDC auto-mount error: "+e.message+" ("+this.W+")"),this.W=null}Eo(this);ic(b,this,Fo);mc(b,this,Go);this.qa&&Ho(this,"Local Disk","?");Ho(this,"Remote Disk","??");Io(this)||sb(this)};
|
||||
h.nc=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.ha.$g){this.C=[];for(var c=0;c<this.A.length;c++)Jo(this,c,!0);Io(this,!0)}}else if(!this.restore(a))return!1;if(c=this.xa.listDrives){for(;c.firstChild;)c.removeChild(c.firstChild);c.textContent="";for(var d=0;d<this.la;d++){var e=window.document.createElement("option");e.value=d;e.textContent=String.fromCharCode(65+d)+":";c.appendChild(e)}0<this.la&&(c.value="0",Bo(this,0))}}return!0};h.mc=function(a){return a?this.save():!0};
|
||||
h.reset=function(){Eo(this)};
|
||||
|
|
|
|||
|
|
@ -961,8 +961,8 @@ f.restore=function(a){var b=0,c="unsupported restore format";if(a&&0<a.length){v
|
|||
b+" changes applied)";b=-1;break}if(this.oe){c="unable to modify write-protected disk";b=-1;break}e=l[k++];k=l[k++];l=e+k.length;if(p=this.A[p][q][w]){for(q=p.data.length;q<e;)p.data[q++]=p.pattern;q=0;p.Sc=e;for(p.zc=k.length;e<l;)p.data[e++]=k[q++];b++}}}0>b&&-2!=b&&this.controller.Ja("Unable to restore disk '"+this.B+": "+c);return b};
|
||||
f.toJSON=function(){var a=JSON.stringify(this.A,function(a,c){return"file"==a?void 0:c}),a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,""),a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:"),a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,""),a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")};
|
||||
function Fl(a){Ia.call(this,"FDC",a,Fl);this.dmaRead=this.pj;this.dmaWrite=this.qj;this.dmaFormat=this.Dj;this.N=a.autoMount||null;this.D=[];this.da=!xa("Mobi")&&window&&"FileReader"in window}Qa(Fl);aa={};var Gl={3:{ed:3,wd:0,name:aa.zm},4:{ed:2,wd:1,name:aa.xm},5:{ed:9,wd:7,name:aa.Hm},6:{ed:9,wd:7,name:aa.sm},7:{ed:2,wd:0,name:aa.um},8:{ed:1,wd:2,name:aa.ym},10:{ed:2,wd:7,name:aa.tm},13:{ed:6,wd:7,name:aa.fm},15:{ed:3,wd:0,name:aa.wm}};f=Fl.prototype;
|
||||
f.Eb=function(a,b,c){var d=this;switch(b){case "listDisks":return this.pa[b]=c,c.onchange=function(){var a=d.pa.descDisk,b=c.options[c.selectedIndex];if(a&&b){var l={};if(b=b.getAttribute("data-value"))try{l=eval("({"+b+"})")}catch(p){ra("FDC option error: "+p.message)}b=l.desc;void 0===b&&(b="");l=l.href;void 0!==l&&(b='<a href="'+l+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.pa[b]=c,c.onchange=function(){var a=ca(c.value,10);null!=a&&Hl(d,a)},
|
||||
!0;case "loadDrive":return this.pa[b]=c,c.onclick=function(){var a=d.pa.listDisks;a&&Il(d,a.options[a.selectedIndex].text,a.value)},!0;case "mountDrive":return this.da?(this.pa[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Il(d,ea(b,!0),b,a)}return!1}):c.parentNode.removeChild(c),!0}return!1};
|
||||
f.Eb=function(a,b,c){var d=this;switch(b){case "listDisks":return this.pa[b]=c,c.onchange=function(){var a=d.pa.descDisk,b=c.options[c.selectedIndex];if(a&&b){var l={};if(b=b.getAttribute("data-value"))try{l=eval("("+b+")")}catch(p){ra("FDC option error: "+p.message)}b=l.desc;void 0===b&&(b="");l=l.href;void 0!==l&&(b='<a href="'+l+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.pa[b]=c,c.onchange=function(){var a=ca(c.value,10);null!=a&&Hl(d,a)},!0;
|
||||
case "loadDrive":return this.pa[b]=c,c.onclick=function(){var a=d.pa.listDisks;a&&Il(d,a.options[a.selectedIndex].text,a.value)},!0;case "mountDrive":return this.da?(this.pa[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Il(d,ea(b,!0),b,a)}return!1}):c.parentNode.removeChild(c),!0}return!1};
|
||||
f.wc=function(a,b,c,d){this.ma=b;this.A=c;this.Sa=d;this.sa=a;this.T=hb(a,"ChipSet");if((this.N=Jl(this.sa,"autoMount")||this.N)&&"string"==typeof this.N)try{this.N=eval("("+this.N+")")}catch(e){ra("FDC auto-mount error: "+e.message+" ("+this.N+")"),this.N=null}Kl(this);Kb(b,this,Ll);Mb(b,this,Ml);this.da&&Nl(this,"Local Disk","?");Nl(this,"Remote Disk","??");Ol(this)||Ya(this)};
|
||||
f.$b=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.sa.ig){this.D=[];for(var c=0;c<this.B.length;c++)Pl(this,c,!0);Ol(this,!0)}}else if(!this.restore(a))return!1;if(c=this.pa.listDrives){for(;c.firstChild;)c.removeChild(c.firstChild);c.textContent="";for(var d=0;d<this.aa;d++){var e=window.document.createElement("option");e.value=d;e.textContent=String.fromCharCode(65+d)+":";c.appendChild(e)}0<this.aa&&(c.value="0",Hl(this,0))}}return!0};f.Zb=function(a){return a?this.save():!0};
|
||||
f.reset=function(){Kl(this)};
|
||||
|
|
|
|||
Loading…
Reference in a new issue