Digital Research
This commit is contained in:
2020-11-06 18:50:37 +01:00
parent 621ed8ccaf
commit 31738079c4
8481 changed files with 1888323 additions and 0 deletions

View File

@@ -0,0 +1,9 @@
COMMON.DIR This directory contains modules common to many utilities.
CCPMPC V1.0
Note that some use scd86a.a86 (containing 'jmp plm'),
while others use scd.a86 ('jmp plmstart'). This should be cleaned up
and made consistent for all utils.
10/21/82
I've chosen to use "scd.a86" (and "plmstart") for all utils, where possible.
So far it's the only ".a86" module I'm using.

View File

@@ -0,0 +1,17 @@
declare
lit literally 'literally',
dcl lit 'declare',
true lit '0ffh',
false lit '0',
no lit 'not',
boolean lit 'byte',
forever lit 'while true',
cr lit '13',
lf lit '10',
tab lit '9',
ctrlc lit '3',
ff lit '12',
page$len$offset lit '1ch',
nopage$mode$offset lit '2Ch',
sectorlen lit '128';

View File

@@ -0,0 +1,8 @@
/*
Copyright (C) 1983
Digital Research
P.O. Box 579
Pacific Grove, CA 93950
*/

View File

@@ -0,0 +1,22 @@
declare
f$drvusr lit '0', /* drive/user byte */
f$name lit '1', /* file name */
f$namelen lit '8', /* file name length */
f$type lit '9', /* file type field */
f$typelen lit '3', /* type length */
f$rw lit '9', /* high bit is R/W attribute */
f$dirsys lit '10', /* high bit is dir/sys attribute */
f$arc lit '11', /* high bit is archive attribute */
f$ex lit '12', /* extent */
f$s1 lit '13', /* module byte */
f$rc lit '15', /* record count */
f$diskmap lit '16', /* file disk map */
diskmaplen lit '16', /* disk map length */
f$drvusr2 lit '16', /* fcb2 */
f$name2 lit '17',
f$type2 lit '25',
f$cr lit '32', /* current record */
f$rrec lit '33', /* random record */
f$rreco lit '35'; /* " " overflow */

View File

@@ -0,0 +1,7 @@
/* Flag Format */
dcl flag$structure lit 'structure(
pd word,
ignore byte)';

View File

@@ -0,0 +1,23 @@
declare md$structure literally
'structure(
link word,
start word,
length word,
plist word,
unused word)';
declare ms$structure literally
'structure(
link word,
start word,
length word,
flags word,
mau word)';
declare sat$structure literally
'structure(
start word,
len word,
num$allocs byte)';

View File

@@ -0,0 +1,45 @@
/* Concurrent CP/M function numbers */
dcl m$prtbuf lit '9',
m$select lit '14',
m$openf lit '15',
m$closef lit '16',
m$deletef lit '19',
m$readf lit '20',
m$writef lit '21',
m$makef lit '22',
m$getlogin lit '24',
m$curdsk lit '25',
m$setdma lit '26',
m$setatt lit '30',
m$setusr lit '32',
m$readrf lit '33',
m$writerf lit '34',
m$resetdrv lit '37',
m$errmode lit '45',
m$dirbios lit '50',
m$makeq lit '134',
m$openq lit '135',
m$deleteq lit '136',
m$readq lit '137',
m$creadq lit '138',
m$writeq lit '139',
m$cwriteq lit '140',
m$delay lit '141',
m$dispatch lit '142',
m$setprior lit '145',
m$attach lit '146',
m$detach lit '147',
m$setcns lit '148',
m$parse lit '152',
m$getcns lit '153',
m$sysdat lit '154',
m$getpd lit '156',
m$abort lit '157';
/* Internal calls */
dcl mi$sleep lit '0212H',
mi$wakeup lit '0213H';

View File

@@ -0,0 +1,9 @@
/* MP/M-86 XIOS function numbers */
dcl mx$conin lit '1',
mx$conout lit '2',
mx$lstout lit '4',
mx$switch lit '7',
mx$upstatus lit '8';

View File

@@ -0,0 +1,11 @@
declare
lit literally 'literally',
dcl lit 'declare',
true lit '0ffh',
false lit '0',
no lit 'not',
boolean lit 'byte',
forever lit 'while true',
tab lit '9';

View File

@@ -0,0 +1,48 @@
/*
Proces Literals MP/M-8086 II
*/
declare pnamsiz literally '8';
declare pd$hdr literally 'structure
(link word,thread word,stat byte,prior byte,flag word,
name (8) byte,uda word,dsk byte,user byte,ldsk byte,luser byte,
mem word';
declare pd$structure literally 'pd$hdr,
dvract word,wait word,org byte,net byte,parent word,
cns byte,abort byte,conmode word,lst byte,sf3 byte,sf4 byte,sf5 byte,
reservd (4) byte,pret word,scratch word)';
declare psrun lit '00',
pspoll lit '01',
psdelay lit '02',
psswap lit '03',
psterm lit '04',
pssleep lit '05',
psdq lit '06',
psnq lit '07',
psflagwait lit '08',
psciowait lit '09';
declare pf$sys lit '00001h',
pf$keep lit '00002h',
pf$kernal lit '00004h',
pf$pure lit '00008h',
pf$table lit '00010h',
pf$resource lit '00020h',
pf$raw lit '00040h',
pf$ctlc lit '00080h',
pf$active lit '00100h',
pf$tempkeep lit '00200h',
pf$ctld lit '00400h',
pf$childabort lit '00800h',
pf$noctls lit '01000h';
declare pcm$11 lit '00001h',
pcm$ctls lit '00002h',
pcm$rout lit '00004h',
pcm$ctlc lit '00008h',
pcm$ctlo lit '00080h',
pcm$rsx lit '00300h';

View File

@@ -0,0 +1,39 @@
/* Queue Descriptor */
dcl qnamsiz lit '8';
dcl qd$structure lit 'structure(
link word,
net byte,
org byte,
flags word,
name(qnamsiz) byte,
msglen word,
nmsgs word,
dq word,
nq word,
msgcnt word,
msgout word,
buffer word)';
/* queue flag values */
dcl qf$mx lit '001h'; /* Mutual Exclusion */
dcl qf$keep lit '002h'; /* NO DELETE */
dcl qf$hide lit '004h'; /* Not User writable */
dcl qf$rsp lit '008h'; /* rsp queue */
dcl qf$table lit '010h'; /* from qd table */
dcl qf$rpl lit '020h'; /* rpl queue */
dcl qf$dev lit '040h'; /* device queue */
/* Queue Parameter Block */
dcl qpb$structure lit 'structure(
flgs byte,
net byte,
qaddr word,
nmsgs word,
buffptr word,
name (qnamsiz) byte )';

View File

@@ -0,0 +1,104 @@
;
; Concurrent CP/M-86 v2.0 with BDOS version 3.1
; Interface for PLM-86 with separate code and data
; Code org'd at 0
; Created:
; October 5, 1981 by Danny Horovitz
; Revised:
; 28 Mar 83 by Bill Fitler
name scd
dgroup group dats,stack
cgroup group code
assume cs:cgroup, ds:dgroup, ss:dgroup
stack segment word stack 'STACK'
stack_base label byte
stack ends
dats segment para public 'DATA' ;CP/M page 0 - LOC86'd at 0H
org 4
bdisk db ?
org 6
maxb dw ?
org 50h
cmdrv db ?
pass0 dw ?
len0 db ?
pass1 dw ?
len1 db ?
org 5ch
fcb db 16 dup (?)
fcb16 db 16 dup (?)
cr db ?
rr dw ?
ro db ?
buff db 128 dup (?)
tbuff equ buff
buffa equ buff
fcba equ fcb
org 100h ;past CPM data space
saveax dw 0 ;save registers for mon functions
savebx dw 0
savecx dw 0
savedx dw 0
public bdisk,maxb,cmdrv,pass0,len0
public pass1,len1,fcb,fcb16,cr,rr
public ro,buff,tbuff,buffa,fcba
public saveax,savebx,savecx,savedx
dats ends
code segment public 'CODE'
public xdos,mon1,mon2,mon3,mon4
extrn plmstart:near
org 0h ; for separate code and data
jmp pastserial ; skip copyright
jmp patch ; store address of patch routine at start
db 'COPYRIGHT (C) 1983, DIGITAL RESEARCH '
db ' CONCURRENT CP/M-86 2.0, 03/31/83 ' ; db ' MP/M-86 2.0, 10/5/81 '
pastserial:
pushf
pop ax
cli
mov cx,ds
mov ss,cx
lea sp,stack_base
push ax
popf
jmp plmstart
xdos proc
push bp
mov bp,sp
mov dx,[bp+4]
mov cx,[bp+6]
int 224
mov saveax,ax
mov savebx,bx
mov savecx,cx
mov savedx,dx
pop bp
ret 4
xdos endp
mon1 equ xdos ; no returned value
mon2 equ xdos ; returns byte in AL
mon3 equ xdos ; returns address or word BX
mon4 equ xdos ; returns pointer in BX and ES
patch:
nop
nop
nop
nop
org 0100h ; leave room for patch area
code ends
end

View File

@@ -0,0 +1,186 @@
MCS-86 MACRO ASSEMBLER SCD PAGE 1
ISIS-II MCS-86 MACRO ASSEMBLER V2.1 ASSEMBLY OF MODULE SCD
OBJECT MODULE PLACED IN :F0:SCD.OBJ
ASSEMBLER INVOKED BY: :F0: SCD.A86 XREF
LOC OBJ LINE SOURCE
1 ;
2 ; Concurrent CP/M-86 v2.0 with BDOS version 3.1
3 ; Interface for PLM-86 with separate code and data
4 ; Code org'd at 0
5 ; Created:
6 ; October 5, 1981 by Danny Horovitz
7 ; Revised:
8 ; 28 Mar 83 by Bill Fitler
9
10 name scd
11
12 dgroup group dats,stack
13 cgroup group code
14
15 assume cs:cgroup, ds:dgroup, ss:dgroup
16
---- 17 stack segment word stack 'STACK'
0000 18 stack_base label byte
---- 19 stack ends
20
---- 21 dats segment para public 'DATA' ;CP/M page 0 - LOC86'd at 0H
22
0004 23 org 4
0004 ?? 24 bdisk db ?
0006 25 org 6
0006 ???? 26 maxb dw ?
0050 27 org 50h
0050 ?? 28 cmdrv db ?
0051 ???? 29 pass0 dw ?
0053 ?? 30 len0 db ?
0054 ???? 31 pass1 dw ?
0056 ?? 32 len1 db ?
005C 33 org 5ch
005C (16 34 fcb db 16 dup (?)
??
)
006C (16 35 fcb16 db 16 dup (?)
??
)
007C ?? 36 cr db ?
007D ???? 37 rr dw ?
007F ?? 38 ro db ?
0080 (128 39 buff db 128 dup (?)
??
)
0080 40 tbuff equ buff
0080 41 buffa equ buff
005C 42 fcba equ fcb
43
0100 44 org 100h ;past CPM data space
MCS-86 MACRO ASSEMBLER SCD PAGE 2
LOC OBJ LINE SOURCE
0100 0000 45 saveax dw 0 ;save registers for mon functions
0102 0000 46 savebx dw 0
0104 0000 47 savecx dw 0
0106 0000 48 savedx dw 0
49 public bdisk,maxb,cmdrv,pass0,len0
50 public pass1,len1,fcb,fcb16,cr,rr
51 public ro,buff,tbuff,buffa,fcba
52 public saveax,savebx,savecx,savedx
53
---- 54 dats ends
55
56
---- 57 code segment public 'CODE'
58 public xdos,mon1,mon2,mon3,mon4
59 extrn plmstart:near
60
0000 61 org 0h ; for separate code and data
0000 EB4B90 62 jmp pastserial ; skip copyright
0003 EB7690 63 jmp patch ; store address of patch routine at start
0006 434F5059524947 64 db 'COPYRIGHT (C) 1983, DIGITAL RESEARCH '
48542028432920
313938332C2044
49474954414C20
52455345415243
4820
002B 20434F4E435552 65 db ' CONCURRENT CP/M-86 2.0, 03/31/83 ' ; db ' MP/M-86 2.0, 10/5/81 '
52454E54204350
2F4D2D38362032
2E302C2030332F
33312F383320
004D 66 pastserial:
004D 9C 67 pushf
004E 58 68 pop ax
004F FA 69 cli
0050 8CD9 70 mov cx,ds
0052 8ED1 71 mov ss,cx
0054 8D260000 R 72 lea sp,stack_base
0058 50 73 push ax
0059 9D 74 popf
005A E90000 E 75 jmp plmstart
76
005D 77 xdos proc
005D 55 78 push bp
005E 8BEC 79 mov bp,sp
0060 8B5604 80 mov dx,[bp+4]
0063 8B4E06 81 mov cx,[bp+6]
0066 CDE0 82 int 224
0068 A30001 R 83 mov saveax,ax
006B 891E0201 R 84 mov savebx,bx
006F 890E0401 R 85 mov savecx,cx
0073 89160601 R 86 mov savedx,dx
0077 5D 87 pop bp
0078 C20400 88 ret 4
89 xdos endp
90
MCS-86 MACRO ASSEMBLER SCD PAGE 3
LOC OBJ LINE SOURCE
005D 91 mon1 equ xdos ; no returned value
005D 92 mon2 equ xdos ; returns byte in AL
005D 93 mon3 equ xdos ; returns address or word BX
005D 94 mon4 equ xdos ; returns pointer in BX and ES
95
007B 96 patch:
007B 90 97 nop
007C 90 98 nop
007D 90 99 nop
007E 90 100 nop
0100 101 org 0100h ; leave room for patch area
102
---- 103 code ends
104 end
MCS-86 MACRO ASSEMBLER SCD PAGE 4
XREF SYMBOL TABLE LISTING
---- ------ ----- -------
NAME TYPE VALUE ATTRIBUTES, XREFS
??SEG . . . SEGMENT SIZE=0000H PARA PUBLIC
BDISK . . . V BYTE 0004H DATS PUBLIC 24# 49
BUFF. . . . V BYTE 0080H DATS PUBLIC 39# 40 41 51
BUFFA . . . V BYTE 0080H DATS PUBLIC 41# 51
CGROUP. . . GROUP CODE 13# 15
CMDRV . . . V BYTE 0050H DATS PUBLIC 28# 49
CODE. . . . SEGMENT SIZE=0100H PARA PUBLIC 'CODE' 13# 57 103
CR. . . . . V BYTE 007CH DATS PUBLIC 36# 50
DATS. . . . SEGMENT SIZE=0108H PARA PUBLIC 'DATA' 12# 21 54
DGROUP. . . GROUP DATS STACK 12# 15 15
FCB . . . . V BYTE 005CH DATS PUBLIC 34# 42 50
FCB16 . . . V BYTE 006CH DATS PUBLIC 35# 50
FCBA. . . . V BYTE 005CH DATS PUBLIC 42# 51
LEN0. . . . V BYTE 0053H DATS PUBLIC 30# 49
LEN1. . . . V BYTE 0056H DATS PUBLIC 32# 50
MAXB. . . . V WORD 0006H DATS PUBLIC 26# 49
MON1. . . . L NEAR 005DH CODE PUBLIC 58 91#
MON2. . . . L NEAR 005DH CODE PUBLIC 58 92#
MON3. . . . L NEAR 005DH CODE PUBLIC 58 93#
MON4. . . . L NEAR 005DH CODE PUBLIC 58 94#
PASS0 . . . V WORD 0051H DATS PUBLIC 29# 49
PASS1 . . . V WORD 0054H DATS PUBLIC 31# 50
PASTSERIAL. L NEAR 004DH CODE 62 66#
PATCH . . . L NEAR 007BH CODE 63 96#
PLMSTART. . L NEAR 0000H EXTRN 59# 75
RO. . . . . V BYTE 007FH DATS PUBLIC 38# 51
RR. . . . . V WORD 007DH DATS PUBLIC 37# 50
SAVEAX. . . V WORD 0100H DATS PUBLIC 45# 52 83
SAVEBX. . . V WORD 0102H DATS PUBLIC 46# 52 84
SAVECX. . . V WORD 0104H DATS PUBLIC 47# 52 85
SAVEDX. . . V WORD 0106H DATS PUBLIC 48# 52 86
STACK . . . SEGMENT SIZE=0000H WORD STACK 'STACK'
STACK_BASE. V BYTE 0000H STACK 18# 72
TBUFF . . . V BYTE 0080H DATS PUBLIC 40# 51
XDOS. . . . L NEAR 005DH CODE PUBLIC 58 77# 89 91 92 93 94
ASSEMBLY COMPLETE, NO ERRORS FOUND

View File

@@ -0,0 +1,64 @@
/* System Data Page */
dcl sysdat$pointer pointer;
dcl sysdat$ptr structure(
offset word,
segment word) at (@sysdat$pointer);
declare sd based sysdat$pointer structure (
supmod (4) word,
/* rtmmod (4) word,
memmod (4) word,
ciomod (4) word,
bdosmod (4) word,
xiosmod (4) word,
netmod (4) word,
reservd (4) word */
space(28) word,
mpmseg word,
rspseg word,
endseg word,
module$map byte,
ncns byte,
nlst byte,
nccb byte,
nflags byte,
srchdisk byte,
mmp word,
nslaves byte,
dayfile byte,
tempdisk byte,
tickspersec byte,
lul word,
ccb word,
flags word,
mdul word,
mfl word,
pul word,
qul word,
qmau (4) word,
rlr word,
dlr word,
drl word,
plr word,
slr word,
thrdrt word,
qlr word,
mal word,
version word,
vernum word,
mpmvernum word,
tod (2) word,
tod_sec byte,
ncondev byte,
nlstdev byte,
nciodev byte,
lcb (2) word,
lckmax byte,
opmax byte,
sysltot (2) word,
cmod byte );
declare sd$byte based sysdat$pointer (1) byte;

View File

@@ -0,0 +1,18 @@
/* MP/M-86 II User Data Area format - August 8, 1981 */
declare uda$structure lit 'structure (
dparam word,
dma$ofst word,
dma$seg word,
func byte,
searchl byte,
searcha word,
searchabase word,
dcnt word,
dblk word,
error$mode byte,
mult$cnt byte,
df$password (8) byte,
pd$cnt byte)';

View File

@@ -0,0 +1,20 @@
/**** VAX commands for generation - read the name of this program
for PROGNAME below.
$ util := PROGNAME
$ ccpmsetup ! set up environment
$ assign 'f$directory()' f1: ! use local dir for temp files
$ plm86 'util'.plm xref 'p1' optimize(3) debug
$ link86 f2:scd.obj, 'util'.obj to 'util'.lnk
$ loc86 'util'.lnk od(sm(code,dats,data,stack,const)) -
ad(sm(code(0),dats(10000h))) ss(stack(+32)) to 'util'.
$ h86 'util'
***** Then, on a micro:
A>vax progname.h86 $fans
A>gencmd progname data[b1000]
***** Notes: Stack is increased for interrupts. Const(ants) are last
to force hex generation.
****/

View File

@@ -0,0 +1,81 @@
/* Concurrent CP/M Character Control Block Structure */
/* +---------+---------+---------+---------+
00 | attach | queue |
+---------+---------+---------+---------+
04 | flag | startcol| column | nchar |
+---------+---------+---------+---------+
08 | mimic | msource | pc | vc |
+---------+---------+---------+---------+
0C | btmp | resrvd | state |
+---------+---------+---------+---------+
10 | maxbufsiz | vinq |
+---------+---------+---------+---------+
14 | voutq | vcmxq |
+---------+---------+---------+---------+
18 | qpbflgs | qpbfill | qpbqaddr |
+---------+---------+---------+---------+
1C | qpbnmsgs | qpbbuffptr |
+---------+---------+---------+---------+
20 | qbuff | cosleep |
+---------+---------+---------+---------+
24 | usleep | vsleep |
+---------+---------+---------+---------+
28 | ... reserved ... |
+---------+---------+---------+---------+
*/
dcl ccb$structure lit 'structure (attach address, queue address,
flag byte, startcol byte, column byte, nchar byte, mimic byte, msource byte,
ccb$tail1';
dcl ccb$tail1 lit
'pc byte, vc byte, btmp byte, reservd byte, state word, maxbufsiz word,
ccb$tail2';
dcl ccb$tail2 lit
'vinq address, voutq address, vcmxq address,
qpbflags byte, qpbresrvd byte, qpbqaddr address,
qpbnmsgs address, qpbbuffptr address, qbuff address, cosleep word,
usleep word, vsleep word, r1 word, r2 word)';
declare /* flag values */
cf$listcp lit '001h', /* control P toggle */
cf$compc lit '002h', /* suppress output */
cf$switchs lit '004h', /* XIOS supports switch screening */
cf$conout lit '008h', /* XIOS console output ownership */
cf$vout lit '010h', /* process writing to VOUTQ */
cf$bufp lit '020h'; /* toggle to control printer echo */
/* on control P when background */
/* and buffered */
/* values of state byte */
/* conout goes to XIOS */
/* state word flags */
dcl
csm$buffered lit '0001h',
csm$background lit '0002h',
csm$purging lit '0004h',
csm$noswitch lit '0008h',
csm$suspend lit '0010h',
csm$abort lit '0020h',
csm$filefull lit '0040h',
csm$ctrlS lit '0080h',
csm$ctrlO lit '0100h',
csm$ctrlP lit '0200h';
dcl x$init$offset lit '0Ch',
x$init$pointer pointer,
x$init$ptr structure (offset word, segment word) at (@x$init$pointer),
x$init based x$init$pointer structure
(tick byte, ticks$sec byte, door byte, resrvd1 (2) byte,
nvcns byte, nccb byte, nlst byte, ccb word, lcb word);
dcl lcb$structure lit 'structure (attach address, queue address,
flag byte, startcol byte, column byte, nchar byte,
mimic byte, msource byte)';

View File

@@ -0,0 +1,79 @@
/* Concurrent CP/M Character Control Block Structure */
/* +---------+---------+---------+---------+
00 | attach | queue |
+---------+---------+---------+---------+
04 | flag | startcol| column | nchar |
+---------+---------+---------+---------+
08 | mimic | msource | pc | vc |
+---------+---------+---------+---------+
0C | btmp | rsvd | state |
+---------+---------+---------+---------+
10 | maxbufsiz | vinq |
+---------+---------+---------+---------+
14 | voutq | vcmxq |
+---------+---------+---------+---------+
18 | qpbflgs | qpbfill | qpbqaddr |
+---------+---------+---------+---------+
1C | qpbnmsgs | qpbbuffptr |
+---------+---------+---------+---------+
20 | qbuff | cosleep |
+---------+---------+---------+---------+
24 | usleep | vsleep |
+---------+---------+---------+---------+
28 | ... reserved ... |
+---------+---------+---------+---------+
*/
dcl ccb$structure lit 'structure (attach address, queue address,
flag byte, startcol byte, column byte, nchar byte, mimic byte, msource byte,
ccb$tail1';
dcl ccb$tail1 lit
'pc byte, vc byte, btmp byte, rsvd byte, state word, maxbufsiz word,
ccb$tail2';
dcl ccb$tail2 lit
'vinq address, voutq address, vcmxq address,
qpbflags byte, qpbresrvd byte, qpbqaddr address,
qpbnmsgs address, qpbbuffptr address, qbuff address, cosleep word,
usleep word, vsleep word, r1 word, r2 word)';
declare /* flag values */
cf$listcp lit '001h', /* control P toggle */
cf$compc lit '002h', /* suppress output */
cf$switchs lit '004h', /* XIOS supports switch screening */
cf$conout lit '008h', /* XIOS console output ownership */
cf$vout lit '010h'; /* process writing to VOUTQ */
/* values of state byte */
/* conout goes to XIOS */
/* state word flags */
dcl
csm$buffered lit '0001h',
csm$background lit '0002h',
csm$purging lit '0004h',
csm$noswitch lit '0008h',
csm$suspend lit '0010h',
csm$abort lit '0020h',
csm$filefull lit '0040h',
csm$ctrlS lit '0080h',
csm$ctrlO lit '0100h',
csm$ctrlP lit '0200h';
dcl x$init$offset lit '0Ch',
x$init$pointer pointer,
x$init$ptr structure (offset word, segment word) at (@x$init$pointer),
x$init based x$init$pointer structure
(tick byte, ticks$sec byte, door byte, resrvd1 (2) byte,
nvcns byte, nccb byte, nlst byte, ccb word, lcb word);
dcl lcb$structure lit 'structure (attach address, queue address,
flag byte, startcol byte, column byte, nchar byte,
mimic byte, msource byte)';

View File

@@ -0,0 +1,16 @@
/* This utility requires MP/M or Concurrent function calls */
/****** commented out for CCP/M-86 :
declare Ver$OS literally '11h',
Ver$Needs$OS literally '''Requires MP/M-86''';
******/
declare Ver$OS literally '14h',
Ver$Needs$OS literally '''Requires Concurrent CP/M-86''';
declare Ver$Mask literally '0fdh'; /* mask out Is_network bit */
declare Ver$BDOS literally '30h'; /* minimal BDOS version rqd */

View File

@@ -0,0 +1,18 @@
vax SCD.A86 $$fans
vax COMLIT.LIT $$fans
vax COPYRT.LIT $$fans
vax FCB.LIT $$fans
vax FLAG.LIT $$fans
vax MDSAT.LIT $$fans
vax MFUNC.LIT $$fans
vax MXFUNC.LIT $$fans
vax NEWCOM.LIT $$fans
vax PROCES.LIT $$fans
vax QD.LIT $$fans
vax SD.LIT $$fans
vax UDA.LIT $$fans
vax VAXCMD.LIT $$fans
vax VCCB.LIT $$fans
vax VCCB.SAV $$fans
vax VERMPM.LIT $$fans
vax XFER.SUB $$fans