Added MS-DOS 1.x and 2.0 directory listings (and fixed improper fault handling on 8086 machines)
This commit is contained in:
parent
a145f3704e
commit
c3215b7aca
6 changed files with 216 additions and 9 deletions
|
|
@ -32,8 +32,8 @@ that automatically run the software.
|
|||
|
||||
### MS-DOS (Microsoft)
|
||||
|
||||
* MS-DOS 1.25
|
||||
* MS-DOS 2.00
|
||||
* [MS-DOS 1.25](/disks/pc/dos/microsoft/1.25/)
|
||||
* [MS-DOS 2.00](/disks/pc/dos/microsoft/2.00/)
|
||||
* [MS-DOS 3.20](/disks/pc/dos/microsoft/3.20/)
|
||||
* MS-DOS 3.21
|
||||
* MS-DOS 3.30
|
||||
|
|
|
|||
109
disks/pc/dos/microsoft/1.25/README.md
Normal file
109
disks/pc/dos/microsoft/1.25/README.md
Normal file
|
|
@ -0,0 +1,109 @@
|
|||
---
|
||||
layout: page
|
||||
title: MS-DOS 1.25
|
||||
permalink: /disks/pc/dos/microsoft/1.25/
|
||||
machines:
|
||||
- type: pc-dbg
|
||||
id: ibm5150-msdos125
|
||||
config: /devices/pc/machine/5150/mda/64kb/debugger/machine.xml
|
||||
automount:
|
||||
A:
|
||||
path: /disks/pc/dos/microsoft/1.25/MSDOS-COMPAQ-111.json
|
||||
---
|
||||
|
||||
MS-DOS 1.25
|
||||
---
|
||||
|
||||
There was no MS-DOS 1.25 *per se*. Instead, there were assorted OEM releases of MS-DOS based on version 1.25.
|
||||
|
||||
Here, we have two such releases:
|
||||
|
||||
* MS-DOS v1.25 (Compaq v1.11)
|
||||
* MS-DOS v1.25 (Compaq v1.12)
|
||||
|
||||
Directory listings of each of these 360Kb diskettes are provided [below](#directory-listings).
|
||||
|
||||
{% include machine.html id="ibm5150-msdos125" %}
|
||||
|
||||
Directory Listings
|
||||
---
|
||||
|
||||
### Directory of MS-DOS v1.25 (Compaq v1.11) Disk
|
||||
|
||||
Volume in drive A has no label
|
||||
|
||||
Directory of A:\
|
||||
|
||||
IOSYS COM 1998 05-13-83 12:00p
|
||||
MSDOS COM 6136 05-13-83 12:00p
|
||||
COMMAND COM 4959 05-13-83 12:00p
|
||||
LINK EXE 41856 05-13-83 12:00p
|
||||
EDLIN COM 2432 05-13-83 12:00p
|
||||
SYS COM 645 05-13-83 12:00p
|
||||
DEBUG COM 6619 05-13-83 12:00p
|
||||
BASIC COM 549 05-13-83 12:00p
|
||||
BASICA COM 547 05-13-83 12:00p
|
||||
FORMAT COM 3296 05-13-83 12:00p
|
||||
EXE2BIN EXE 1280 05-13-83 12:00p
|
||||
DISKCOPY COM 1812 05-13-83 12:00p
|
||||
DISKCOMP COM 1291 05-13-83 12:00p
|
||||
MODE COM 1800 05-13-83 12:00p
|
||||
CHKDSK COM 1720 05-13-83 12:00p
|
||||
COMP COM 1484 05-13-83 12:00p
|
||||
WORDS 1242 05-13-83 12:00p
|
||||
BASICA EXE 54272 05-13-83 12:00p
|
||||
TEST EXE 18560 05-13-83 12:00p
|
||||
DEMO BAT 14 05-13-83 12:00p
|
||||
DEMO BAS 7808 05-13-83 12:00p
|
||||
DEMO1 BAS 17920 05-13-83 12:00p
|
||||
DEMO2 BAS 17792 05-13-83 12:00p
|
||||
DEMO3 BAS 21120 05-13-83 12:00p
|
||||
DEMO4 BAS 6528 05-13-83 12:00p
|
||||
JUGGLER DAT 16128 05-13-83 12:00p
|
||||
USA DAT 16128 05-13-83 12:00p
|
||||
INTEREST BAS 384 05-13-83 12:00p
|
||||
28 file(s) 256320 bytes
|
||||
|
||||
Total files listed:
|
||||
28 file(s) 256320 bytes
|
||||
53248 bytes free
|
||||
|
||||
### Directory of MS-DOS v1.25 (Compaq v1.12) Disk
|
||||
|
||||
Volume in drive A has no label
|
||||
|
||||
Directory of A:\
|
||||
|
||||
IOSYS COM 1998 11-28-83 12:00p
|
||||
MSDOS COM 6140 11-28-83 12:00p
|
||||
COMMAND COM 4959 11-28-83 12:00p
|
||||
LINK EXE 41856 11-28-83 12:00p
|
||||
EDLIN COM 2432 11-28-83 12:00p
|
||||
SYS COM 645 11-28-83 12:00p
|
||||
DEBUG COM 6619 11-28-83 12:00p
|
||||
BASIC COM 549 11-28-83 12:00p
|
||||
BASICA COM 547 11-28-83 12:00p
|
||||
FORMAT COM 3376 11-28-83 12:00p
|
||||
EXE2BIN EXE 1280 11-28-83 12:00p
|
||||
DISKCOPY COM 1946 11-28-83 12:00p
|
||||
DISKCOMP COM 1433 11-28-83 12:00p
|
||||
MODE COM 1800 11-28-83 12:00p
|
||||
CHKDSK COM 1770 11-28-83 12:00p
|
||||
COMP COM 1484 11-28-83 12:00p
|
||||
WORDS 1242 11-28-83 12:00p
|
||||
BASICA EXE 54304 11-28-83 12:00p
|
||||
TEST EXE 18560 11-28-83 12:00p
|
||||
DEMO BAT 14 11-28-83 12:00p
|
||||
DEMO BAS 7936 11-28-83 12:00p
|
||||
DEMO1 BAS 18048 11-28-83 12:00p
|
||||
DEMO2 BAS 17920 11-28-83 12:00p
|
||||
DEMO3 BAS 21248 11-28-83 12:00p
|
||||
DEMO4 BAS 6656 11-28-83 12:00p
|
||||
JUGGLER DAT 16128 11-28-83 12:00p
|
||||
USA DAT 16128 11-28-83 12:00p
|
||||
INTEREST BAS 384 11-28-83 12:00p
|
||||
28 file(s) 257402 bytes
|
||||
|
||||
Total files listed:
|
||||
28 file(s) 257402 bytes
|
||||
52224 bytes free
|
||||
78
disks/pc/dos/microsoft/2.00/README.md
Normal file
78
disks/pc/dos/microsoft/2.00/README.md
Normal file
|
|
@ -0,0 +1,78 @@
|
|||
---
|
||||
layout: page
|
||||
title: MS-DOS 2.00
|
||||
permalink: /disks/pc/dos/microsoft/2.00/
|
||||
machines:
|
||||
- type: pc
|
||||
id: ibm5160-msdos200
|
||||
config: /devices/pc/machine/5160/mda/256kb/machine.xml
|
||||
automount:
|
||||
A:
|
||||
path: /disks/pc/dos/microsoft/2.00/MSDOS-COMPAQ-212.json
|
||||
---
|
||||
|
||||
MS-DOS 2.00
|
||||
---
|
||||
|
||||
There was no MS-DOS 2.00 *per se*. Instead, there were assorted OEM releases of MS-DOS based on version 2.00.
|
||||
|
||||
Here, we have one such release:
|
||||
|
||||
* MS-DOS v2.00 (Compaq v2.12)
|
||||
|
||||
A directory listing of this 360Kb diskette is provided below.
|
||||
|
||||
{% include machine.html id="ibm5160-msdos200" %}
|
||||
|
||||
### Directory of MS-DOS v2.00 (Compaq v2.12) Disk
|
||||
|
||||
Volume in drive A has no label
|
||||
|
||||
Directory of A:\
|
||||
|
||||
IBMBIO COM 5120 01-01-80 12:00p
|
||||
IBMDOS COM 17408 01-01-80 12:00p
|
||||
COMMAND COM 18272 12-04-84 12:00p
|
||||
CLOCK SYS 947 12-04-84 12:00p
|
||||
ENHDISK SYS 1521 12-04-84 12:00p
|
||||
ANSI SYS 1593 12-04-84 12:00p
|
||||
FORMAT COM 6560 12-04-84 12:00p
|
||||
CHKDSK COM 6468 12-04-84 12:00p
|
||||
SYS COM 1600 12-04-84 12:00p
|
||||
DISKCOPY COM 2122 12-04-84 12:00p
|
||||
DISKCOMP COM 1850 12-04-84 12:00p
|
||||
COMP COM 2259 12-04-84 12:00p
|
||||
EDLIN COM 8096 12-04-84 12:00p
|
||||
MODE COM 3342 12-04-84 12:00p
|
||||
FDISK COM 5968 12-04-84 12:00p
|
||||
BACKUP COM 5129 12-04-84 12:00p
|
||||
RESTORE COM 5308 12-04-84 12:00p
|
||||
PRINT COM 4506 12-04-84 12:00p
|
||||
RECOVER COM 2439 12-04-84 12:00p
|
||||
ASSIGN COM 946 12-04-84 12:00p
|
||||
TREE COM 2122 12-04-84 12:00p
|
||||
GRAPHICS COM 702 12-04-84 12:00p
|
||||
SORT EXE 1632 12-04-84 12:00p
|
||||
FIND EXE 6331 12-04-84 12:00p
|
||||
MORE COM 4380 12-04-84 12:00p
|
||||
BASIC COM 1078 12-04-84 12:00p
|
||||
BASICA COM 1076 12-04-84 12:00p
|
||||
BASICA EXE 64272 12-04-84 12:00p
|
||||
EXE2BIN EXE 1649 12-04-84 12:00p
|
||||
LINK EXE 42368 12-04-84 12:00p
|
||||
DEBUG COM 12171 12-04-84 12:00p
|
||||
DEMO BAT 14 12-04-84 12:00p
|
||||
DEMO BAS 5447 12-04-84 12:00p
|
||||
DEMO1 BAS 15114 12-04-84 12:00p
|
||||
DEMO2 BAS 15261 12-04-84 12:00p
|
||||
DEMO3 BAS 20987 12-04-84 12:00p
|
||||
DEMO4 BAS 4977 12-04-84 12:00p
|
||||
USA DAT 16128 12-04-84 12:00p
|
||||
TEST EXE 21438 12-04-84 12:00p
|
||||
INTEREST BAS 384 12-04-84 12:00p
|
||||
WORDS 1306 12-04-84 12:00p
|
||||
41 file(s) 340291 bytes
|
||||
|
||||
Total files listed:
|
||||
41 file(s) 340291 bytes
|
||||
2048 bytes free
|
||||
|
|
@ -1025,6 +1025,14 @@ CPU.prototype.runCPU = function(fOnClick)
|
|||
catch(exception) {
|
||||
if (typeof exception != "number") throw exception;
|
||||
if (MAXDEBUG) this.println("CPU exception " + str.toHexByte(exception));
|
||||
/*
|
||||
* TODO: If we ever get into a situation where every single instruction is generating a fault
|
||||
* (eg, if an 8088 executes opcode 0xFF 0xFF, which is incorrectly routed to fnFault() instead
|
||||
* of fnGRPUndefined()), the browser may hang because we're failing to yield often enough.
|
||||
* This is likely because the thrown exceptions are taking MUCH longer than normal instructions,
|
||||
* throwing off our burst calculations. We need to either adjust the burst or break out of the
|
||||
* DO-WHILE loop on every exception.
|
||||
*/
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -3776,6 +3776,18 @@ X86.fnXORw = function(dst, src)
|
|||
*/
|
||||
X86.fnGRPFault = function(dst, src)
|
||||
{
|
||||
/*
|
||||
* This should NEVER be called on 8086/8088 CPUs, and yet we preset some of the handlers in aOpGrpPOPw,
|
||||
* aOpGrp4b, and aOpGrp4w to call it. initProcessor() DOES patch aOpGrp4b[0x07] and aOpGrp4w[0x07] to
|
||||
* fnGRPInvalid, but that's it.
|
||||
*
|
||||
* However, given the infrequency of this call, it's simpler to continue presetting all the handlers in
|
||||
* aOpGrpPOPw to their post-8086 default, and deal with the appropriate 8086 behavior here (which for now,
|
||||
* is to call fnGRPUndefined instead).
|
||||
*/
|
||||
if (this.model < X86.MODEL_80186) {
|
||||
return X86.fnGRPUndefined.call(this, dst, src);
|
||||
}
|
||||
X86.fnFault.call(this, X86.EXCEPTION.GP_FAULT, 0);
|
||||
return dst;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -4342,7 +4342,7 @@ X86.opGRP3w = function()
|
|||
X86.opCLC = function()
|
||||
{
|
||||
this.clearCF();
|
||||
this.nStepCycles -= 2; // CLC takes 2 cycles on all CPUs
|
||||
this.nStepCycles -= 2; // CLC takes 2 cycles on all CPUs
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
@ -4353,7 +4353,7 @@ X86.opCLC = function()
|
|||
X86.opSTC = function()
|
||||
{
|
||||
this.setCF();
|
||||
this.nStepCycles -= 2; // STC takes 2 cycles on all CPUs
|
||||
this.nStepCycles -= 2; // STC takes 2 cycles on all CPUs
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
@ -4373,7 +4373,7 @@ X86.opCLI = function()
|
|||
return;
|
||||
}
|
||||
this.clearIF();
|
||||
this.nStepCycles -= this.cycleCounts.nOpCyclesCLI; // CLI takes LONGER on an 80286
|
||||
this.nStepCycles -= this.cycleCounts.nOpCyclesCLI; // CLI takes LONGER on an 80286
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
@ -4394,7 +4394,7 @@ X86.opSTI = function()
|
|||
}
|
||||
this.setIF();
|
||||
this.opFlags |= X86.OPFLAG.NOINTR;
|
||||
this.nStepCycles -= 2; // STI takes 2 cycles on all CPUs
|
||||
this.nStepCycles -= 2; // STI takes 2 cycles on all CPUs
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
@ -4405,7 +4405,7 @@ X86.opSTI = function()
|
|||
X86.opCLD = function()
|
||||
{
|
||||
this.clearDF();
|
||||
this.nStepCycles -= 2; // CLD takes 2 cycles on all CPUs
|
||||
this.nStepCycles -= 2; // CLD takes 2 cycles on all CPUs
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
@ -4416,7 +4416,7 @@ X86.opCLD = function()
|
|||
X86.opSTD = function()
|
||||
{
|
||||
this.setDF();
|
||||
this.nStepCycles -= 2; // STD takes 2 cycles on all CPUs
|
||||
this.nStepCycles -= 2; // STD takes 2 cycles on all CPUs
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
@ -4655,5 +4655,5 @@ X86.aOpGrp4b = [
|
|||
|
||||
X86.aOpGrp4w = [
|
||||
X86.fnINCw, X86.fnDECw, X86.fnCALLw, X86.fnCALLFdw, // 0xFF(reg=0x0-0x3)
|
||||
X86.fnJMPw, X86.fnJMPFdw, X86.fnPUSHw, X86.fnGRPFault // 0xFF(reg=0x4-0x7)
|
||||
X86.fnJMPw, X86.fnJMPFdw, X86.fnPUSHw, X86.fnGRPUndefined // 0xFF(reg=0x4-0x7)
|
||||
];
|
||||
|
|
|
|||
Loading…
Reference in a new issue