Merge branch 'master' into gh-pages

This commit is contained in:
Jeff Parsons 2017-07-06 08:42:12 -07:00
commit c022d6c198
17 changed files with 1676 additions and 1427 deletions

View file

@ -8,6 +8,8 @@
<disk path="/disks/pcx86/empty/EMPTY-1440K.json">Empty Diskette (1.44M)</disk>
<disk path="/disks/pcx86/cpm/1.1b/CPM86-DISK1.json">CP/M-86 (Disk 1)</disk>
<disk path="/disks/pcx86/cpm/1.1b/CPM86-DISK2.json">CP/M-86 (Disk 2)</disk>
<disk path="/disks/pcx86/cpm/1.1b/CPM86-DISK1-PCJS.json">CP/M-86 (PCjs Disk 1)</disk>
<disk path="/disks/pcx86/cpm/1.1b/CPM86-DISK2-PCJS.json">CP/M-86 (PCjs Disk 2)</disk>
<disk path="/disks/pcx86/diags/ibm/1.02/5150_ADVDIAG_102.json">IBM PC Diagnostics 1.02</disk>
<disk path="/disks/pcx86/diags/ibm/2.20/5150_5155_5160_ADVDIAG_220.json">IBM PC Diagnostics 2.20</disk>
<disk path="/disks/pcx86/diags/ibm/2.07/5170_ADVDIAG_207.json">IBM PC AT Diagnostics 2.07</disk>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -8,7 +8,194 @@ machines:
resume: 1
---
CP/M-86 1.1B
------------
CP/M-86 1.1B (Eagle Computer)
-----------------------------
This is an OEM version of CP/M-86 by Eagle Computer. On boot, it reports:
Eagle CP/M-86 Ver 1.1B 05/20/83
The PCjs Disk Archives include the two Eagle Computer distribution diskettes, along with two related disks from our
private collection that contain [Useful CP/M-86 Utilities](#useful-cpm-86-utilities).
{% include machine.html id="ibm5150" %}
This machine is also available with a [Debugger](debugger/).
### Directory of CP/M-86 (Disk 1)
Drive A: User : 0
Recs Bytes FCBs Attributes Name
205 26k 1 Dir RW A:ASM86 .CMD
197 26k 1 Dir RW A:ASSIGN .CMD
6 2k 1 Dir RW A:BOOTPCDS.SYS
15 2k 1 Dir RW A:BOOTWIN .SYS
7 2k 1 Dir RW A:CLDIR .CMD
173 22k 1 Dir RW A:CPM .H86
109 14k 1 Dir RW A:DDT86 .CMD
157 20k 1 Dir RW A:DISKUTIL.CMD
153 20k 1 Dir RW A:DISKUTL .CMD
72 10k 1 Dir RW A:ED .CMD
43 6k 1 Dir RW A:GENCMD .CMD
52 8k 1 Dir RW A:HELP .CMD
183 24k 1 Dir RW A:HELP .HLP
14 2k 1 Dir RW A:PD .CMD
59 8k 1 Dir RW A:PIP .CMD
73 10k 1 Dir RW A:STAT .CMD
31 4k 1 Dir RW A:SUBMIT .CMD
121 16k 1 Dir RW A:SYS .CMD
21 4k 1 Dir RW A:TOD .CMD
193 26k 1 Dir RW A:WCPM .SYS
1 2k 1 Dir RW A:WINSTALL.SUB
110 14k 1 Dir RW A:WRTLDR .CMD
----------------------------------------------
Total: 268k 22
A: RW, Free Space: 20k
### Directory of CP/M-86 (Disk 2)
Drive B: User : 0
Recs Bytes FCBs Attributes Name
91 12k 1 Dir RW B:8087 .LIB
209 28k 1 Dir RW B:BACKUP .CMD
137 18k 1 Dir RW B:COPYDISK.A86
19 4k 1 Dir RW B:COPYDISK.CMD
860 108k 4 Dir RW B:CPMBIOS .A86
81 12k 1 Dir RW B:DEBLOCK .LIB
76 10k 1 Dir RW B:GENDEF .CMD
65 10k 1 Dir RW B:LDBDOS .H86
89 12k 1 Dir RW B:LDCOPY .A86
66 10k 1 Dir RW B:LDCOPY .CMD
44 6k 1 Dir RW B:LDCPM .A86
8 2k 1 Dir RW B:LDCPM .H86
40 6k 1 Dir RW B:LMCMD .CMD
47 6k 1 Dir RW B:LOADER .CMD
1 2k 1 Dir RW B:NEWSYS .SUB
56 8k 1 Dir RW B:RANDOM .A86
201 26k 1 Dir RW B:RESTORE .CMD
1 2k 1 Dir RW B:SINGLES .DEF
176 22k 1 Dir RW B:TBIOS .A86
----------------------------------------------
Total: 304k 22
B: RW, Free Space: 20k
### Directory of CP/M-86 (PCjs Disk 1)
Drive A: User : 0
Recs Bytes FCBs Attributes Name
205 26k 1 Dir RW A:ASM86 .CMD
197 26k 1 Dir RW A:ASSIGN .CMD
6 2k 1 Dir RW A:BOOTPCDS.SYS
15 2k 1 Dir RW A:BOOTWIN .SYS
7 2k 1 Dir RW A:CLDIR .CMD
109 14k 1 Dir RW A:DDT86 .CMD
145 20k 1 Dir RW A:DISKUTIL.CMD
72 10k 1 Dir RW A:ED .CMD
43 6k 1 Dir RW A:GENCMD .CMD
52 8k 1 Dir RW A:HELP .CMD
183 24k 1 Dir RW A:HELP .HLP
14 2k 1 Dir RW A:PD .CMD
59 8k 1 Dir RW A:PIP .CMD
73 10k 1 Dir RW A:STAT .CMD
31 4k 1 Dir RW A:SUBMIT .CMD
121 16k 1 Dir RW A:SYS .CMD
21 4k 1 Dir RW A:TOD .CMD
201 26k 1 Dir RW A:TRANSFER.CMD
193 26k 1 Dir RW A:WCPM .SYS
1 2k 1 Dir RW A:WINSTALL.SUB
101 14k 1 Dir RW A:WM .CMD
24 4k 1 Dir RW A:WM .HLP
110 14k 1 Dir RW A:WRTLDR .CMD
----------------------------------------------
Total: 270k 23
A: RW, Free Space: 18k
### Directory of CP/M-86 (PCjs Disk 2)
Drive B: User : 0
Recs Bytes FCBs Attributes Name
1 2k 1 Dir RW B:BOB .BAS
41 6k 1 Dir RW B:BOB .CMD
1 2k 1 Dir RW B:BOB .INT
2 2k 1 Dir RW B:BOB .LST
3 2k 1 Dir RW B:BOB .OBJ
1 2k 1 Dir RW B:BOB .SYM
48 6k 1 Dir RW B:CB86 .CMD
326 42k 2 Dir RW B:CB86 .L86
127 16k 1 Dir RW B:CB86 .OR1
123 16k 1 Dir RW B:CB86 .OR2
210 28k 1 Dir RW B:CB86 .OR3
163 22k 1 Dir RW B:CBAS86 .CMD
137 18k 1 Dir RW B:CRUN86 .CMD
103 14k 1 Dir RW B:LIB86 .CMD
259 34k 2 Dir RW B:LINK86 .CMD
344 44k 2 Dir RW B:RASM86 .CMD
57 8k 1 Dir RW B:XREF86 .CMD
----------------------------------------------
Total: 264k 20
B: RW, Free Space: 50k
Useful CP/M-86 Utilities
------------------------
### CB86.CMD
--------------------------------------------------
CB-86 CBASIC Compiler Version 2.0
Serial No. XXXX-0000-654321 All rights reserved
Copyright (c) 1982,1983 Digital Research, Inc.
--------------------------------------------------
### CBAS86.CMD
--------------------------------------------------
CBAS86 Version 1.4
Serial No. 3005-0000-002705 All rights reserved
Copyright (c) 1981-1983 Digital Research, Inc.
--------------------------------------------------
### CRUN86.CMD
--------------------------------------------------
CRUN86 Version 1.4
Serial No. 3005-0000-002705 All rights reserved
Copyright (c) 1981-1983 Digital Research, Inc.
--------------------------------------------------
### LIB86.CMD
--------------------------------------------------
LIB-86 Library Manager Version 1.0
Serial No. XXXX-0000-654321 All Rights Reserved
Copyright (C) 1982,1983 Digital Research, Inc.
--------------------------------------------------
### LINK86.CMD
--------------------------------------------------
LINK-86 Linkage Editor Version 1.02
Serial No. XXXX-0000-654321 All Rights Reserved
Copyright (C) 1982,1983 Digital Research, Inc.
--------------------------------------------------
### RASM86.CMD
--------------------------------------------------
RASM-86 Relocating Assembler Version 1.2
Serial No. 1042-0000-000001 All Rights Reserved
Copyright (C) 1982,1983 Digital Research, Inc.
--------------------------------------------------
### XREF86.CMD
--------------------------------------------------
XREF86 Version 1.4
Serial No. 3005-0000-002705 All rights reserved
Copyright (c) 1981-1983 Digital Research, Inc.
--------------------------------------------------
### WM.CMD
8086/8088 WORDMASTER Release 1.00 serial # WM9999XX
COPYRIGHT (C) 1981 MICROPRO INTERNATIONAL CORPORATION

View file

@ -0,0 +1,15 @@
---
layout: page
title: "IBM PC (Model 5150) running CP/M-86 v1.1B with Debugger"
permalink: /disks/pcx86/cpm/1.1b/
machines:
- id: ibm5150
type: pcx86
debugger: true
resume: 1
---
CP/M-86 1.1B (Eagle Computer) with Debugger
-------------------------------------------
{% include machine.html id="ibm5150" %}

View file

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcx86/1.35.2/machine.xsl"?>
<machine id="ibm5150" type="pcx86" border="1" pos="center" background="default">
<name pos="center">IBM PC (Model 5150), MDA, 256K, Debugger</name>
<computer id="cpm-mda-256k" name="IBM PC"/>
<cpu id="cpu8088" model="8088" autostart="true"/>
<ram id="ramLow" addr="0x00000" test="false" comment="no memory test"/>
<rom id="romBASIC" addr="0xf6000" size="0x8000" file="/devices/pcx86/rom/5150/basic/BASIC100.json"/>
<rom id="romBIOS" addr="0xfe000" size="0x2000" file="/devices/pcx86/rom/5150/1981-04-24/PCBIOS-REV1.json"/>
<video ref="/devices/pcx86/video/ibm/mda/ibm-mda.xml"/>
<fdc id="fdcNEC" automount='{A: {name: "CP/M-86 (Disk 1)", path: "/disks/pcx86/cpm/1.1b/CPM86-DISK1.json"}, B: {name: "CP/M-86 (Disk 2)", path: "/disks/pcx86/cpm/1.1b/CPM86-DISK2.json"}}' pos="right">
<control type="list" binding="listDrives"/>
<control type="list" binding="listDisks">
<manifest ref="/disks/pcx86/cpm/1.1b/manifest.xml" disk="*"/>
</control>
<control type="button" binding="loadDisk">Load</control>
<control type="description" binding="descDisk" padLeft="8px"/>
</fdc>
<keyboard ref="/devices/pcx86/keyboard/us83-buttons-minimal.xml"/>
<debugger id="debugger"/>
<panel ref="/devices/pcx86/panel/wide.xml"/>
<chipset id="chipset" model="5150" sw1="01000001" sw2="10011000" pos="left" padLeft="8px" padBottom="8px">
<control type="switches" label="SW1" binding="sw1" left="0px"/>
<control type="switches" label="SW2" binding="sw2" left="0px"/>
<control type="description" binding="swdesc" left="0px"/>
</chipset>
</machine>

View file

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcx86/1.35.2/machine.xsl"?>
<machine id="ibm5150" type="pcx86" border="1" pos="center" background="default">
<name pos="center">IBM PC (Model 5150) running CP/M-86</name>
<computer id="cpm-mda-64k" name="IBM PC"/>
<name pos="center">IBM PC (Model 5150), MDA, 256K</name>
<computer id="cpm-mda-256k" name="IBM PC"/>
<ram id="ramLow" addr="0x00000"/>
<rom id="romBASIC" addr="0xf6000" size="0x8000" file="/devices/pcx86/rom/5150/basic/BASIC100.json"/>
<rom id="romBIOS" addr="0xfe000" size="0x2000" file="/devices/pcx86/rom/5150/1981-04-24/PCBIOS-REV1.json"/>
@ -20,5 +20,5 @@
<control type="button" binding="reset">Reset</control>
</cpu>
<keyboard ref="/devices/pcx86/keyboard/us83-buttons-minimal.xml"/>
<chipset id="chipset" model="5150" sw1="01000001" sw2="11110000"/>
<chipset id="chipset" model="5150" sw1="01000001" sw2="10011000"/>
</machine>

View file

@ -9,10 +9,16 @@
<publisher href="http://en.wikipedia.org/wiki/Eagle_Computer">Eagle Computer</publisher>
<releaseDate>May 20, 1983</releaseDate>
<machine href="/disks/pcx86/cpm/1.1b/machine.xml"/>
<disk id="disk01" size="327680" chs="40:2:8" img="archive/CPM86-DISK1.dsk" href="/disks/pcx86/cpm/1.1b/CPM86-DISK1.json" md5="0cfdd3af220207b49a63c4cd2b3c0be4" md5json="224fd69ff9e4e6ac05e9433d2b2ef315">
<disk id="disk01" size="327680" chs="40:2:8" img="archive/CPM86-DISK1.img" href="/disks/pcx86/cpm/1.1b/CPM86-DISK1.json" md5="0ad2a1ebf83d7846fece9e9c6741f83f" md5json="51fc85d3a4dc6b4c97aa8eb3b9d9200a">
<name>CP/M-86 (Disk 1)</name>
</disk>
<disk id="disk02" size="327680" chs="40:2:8" img="archive/CPM86-DISK2.dsk" href="/disks/pcx86/cpm/1.1b/CPM86-DISK2.json" md5="50cca3911096c28845089aa5317d96d8" md5json="67f21f46e4b4b9a9c9195e610aeb8d32">
<disk id="disk02" size="327680" chs="40:2:8" img="archive/CPM86-DISK2.img" href="/disks/pcx86/cpm/1.1b/CPM86-DISK2.json" md5="604c3e60c3a044e19bb22d15184bc22c" md5json="4f7972845b50e0d7e83f9cae5c04b407">
<name>CP/M-86 (Disk 2)</name>
</disk>
<disk id="disk03" size="327680" chs="40:2:8" img="archive/CPM86-DISK1.dsk" href="/disks/pcx86/cpm/1.1b/CPM86-DISK1-PCJS.json" md5="0cfdd3af220207b49a63c4cd2b3c0be4" md5json="9a0810c8e0e09580351c4507b25b2af2">
<name>CP/M-86 (PCjs Disk 1)</name>
</disk>
<disk id="disk04" size="327680" chs="40:2:8" img="archive/CPM86-DISK2.dsk" href="/disks/pcx86/cpm/1.1b/CPM86-DISK2-PCJS.json" md5="50cca3911096c28845089aa5317d96d8" md5json="7eab021d02d25bf928acdec7351968d5">
<name>CP/M-86 (PCjs Disk 2)</name>
</disk>
</manifest>

View file

@ -9,4 +9,4 @@ CP/M-86
Information is available for these versions of CP/M-86:
* [CP/M-86 1.1B](/disks/pcx86/cpm/1.1b/)
* [CP/M-86 1.1B (Eagle Computer)](/disks/pcx86/cpm/1.1b/)

File diff suppressed because it is too large Load diff

View file

@ -4927,7 +4927,7 @@ class DebuggerX86 extends Debugger {
return;
}
if (sCmd[1] && "bwd".indexOf(sCmd[1]) < 0) {
if (sCmd[1] && "abwd".indexOf(sCmd[1]) < 0) {
this.println("unrecognized dump command");
return;
}
@ -4951,20 +4951,22 @@ class DebuggerX86 extends Debugger {
}
var sDump = "";
var fASCII = false;
var size = (sCmd == "dd"? 4 : (sCmd == "dw"? 2 : 1));
var cb = (size * len) || 128;
var cLines = ((cb + 15) >> 4) || 1;
var cbLine = (size == 4? 16 : this.nBase); // the base also happens to be a reasonable number of bytes/line
if (sCmd[1] == 'a') {
fASCII = true;
cLines = 25;
cbLine = 160;
cb = cLines * cbLine;
}
while (cLines-- && cb > 0) {
var data = 0, iByte = 0, i;
var sData = "", sChars = "";
sAddr = this.toHexAddr(dbgAddr);
/*
* It's just coincidence that we want to dump 8 bytes per line when using base 8 and 16 bytes
* per line when using base 16, because octal requires more digits.
*/
var nBytes = (size == 4? 16 : this.nBase);
for (i = nBytes; i > 0 && cb > 0; i--) {
for (i = cbLine; i > 0 && cb > 0; i--) {
var b = this.getByte(dbgAddr, 1);
data |= (b << (iByte++ << 3));
if (iByte == size) {
@ -4972,14 +4974,17 @@ class DebuggerX86 extends Debugger {
sData += (size == 1? (i == 9? '-' : ' ') : " ");
data = iByte = 0;
}
sChars += (b >= 32 && b < 128? String.fromCharCode(b) : '.');
sChars += (b >= 32 && b < 128? String.fromCharCode(b) : (fASCII? '' : '.'));
cb--;
}
if (sDump) sDump += '\n';
sDump += sAddr + " " + sData + Str.pad(sChars, sChars.length + i * 3 + 1, true);
if (fASCII) {
sDump += sChars;
} else {
sDump += sAddr + " " + sData + Str.pad(sChars, sChars.length + i * 3 + 1, true);
}
}
if (sDump) this.println(sDump);
if (sDump) this.println(sDump.replace(/\s*$/, ""));
this.dbgAddrNextData = dbgAddr;
}

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

View file

@ -71134,7 +71134,7 @@ class DebuggerX86 extends Debugger {
return;
}
if (sCmd[1] && "bwd".indexOf(sCmd[1]) < 0) {
if (sCmd[1] && "abwd".indexOf(sCmd[1]) < 0) {
this.println("unrecognized dump command");
return;
}
@ -71158,20 +71158,22 @@ class DebuggerX86 extends Debugger {
}
var sDump = "";
var fASCII = false;
var size = (sCmd == "dd"? 4 : (sCmd == "dw"? 2 : 1));
var cb = (size * len) || 128;
var cLines = ((cb + 15) >> 4) || 1;
var cbLine = (size == 4? 16 : this.nBase); // the base also happens to be a reasonable number of bytes/line
if (sCmd[1] == 'a') {
fASCII = true;
cLines = 25;
cbLine = 160;
cb = cLines * cbLine;
}
while (cLines-- && cb > 0) {
var data = 0, iByte = 0, i;
var sData = "", sChars = "";
sAddr = this.toHexAddr(dbgAddr);
/*
* It's just coincidence that we want to dump 8 bytes per line when using base 8 and 16 bytes
* per line when using base 16, because octal requires more digits.
*/
var nBytes = (size == 4? 16 : this.nBase);
for (i = nBytes; i > 0 && cb > 0; i--) {
for (i = cbLine; i > 0 && cb > 0; i--) {
var b = this.getByte(dbgAddr, 1);
data |= (b << (iByte++ << 3));
if (iByte == size) {
@ -71179,14 +71181,17 @@ class DebuggerX86 extends Debugger {
sData += (size == 1? (i == 9? '-' : ' ') : " ");
data = iByte = 0;
}
sChars += (b >= 32 && b < 128? String.fromCharCode(b) : '.');
sChars += (b >= 32 && b < 128? String.fromCharCode(b) : (fASCII? '' : '.'));
cb--;
}
if (sDump) sDump += '\n';
sDump += sAddr + " " + sData + Str.pad(sChars, sChars.length + i * 3 + 1, true);
if (fASCII) {
sDump += sChars;
} else {
sDump += sAddr + " " + sData + Str.pad(sChars, sChars.length + i * 3 + 1, true);
}
}
if (sDump) this.println(sDump);
if (sDump) this.println(sDump.replace(/\s*$/, ""));
this.dbgAddrNextData = dbgAddr;
}

File diff suppressed because one or more lines are too long