50432_DOS_Users_Guide_Version_2.6_May80 50432 DOS Users Guide Version 2.6 May80

50432_DOS_Users_Guide_Version_2.6_May80 50432_DOS_Users_Guide_Version_2.6_May80

User Manual: 50432_DOS_Users_Guide_Version_2.6_May80

Open the PDF directly: View PDF PDF.
Page Count: 509

Download50432_DOS_Users_Guide_Version_2.6_May80 50432 DOS Users Guide Version 2.6 May80
Open PDF In BrowserView PDF
DISK OPERATING SYSTEM
DOS.
User's Guide

Version 2 (Upgraded to 2.6)
May, 1980
Document No. 50432

DATAPOINT

DISK OPERATING SYSTEM
DOS.

User's Guide
Version 2 (Upgraded to 2.6)
May,

Document No.

Copyright © 1980 Oatapoint Corporation. All Rights Reserved

1980

50432

PREF-ACE

The purpose of this User's Guide is to provide the user of a
Datapoint DOS that information required to generate a system, make
effective use of the available commands, and to make user-written
programs compatible with the DOS.

This manual applies to all Version 2.6 and above "dot-series"
Disk Operating Systems, such as DOS.A, DOS.B, and so on.
manual replaces the previous Version 2.5 DOS User's Guide.

i

This

TABLE OF CONTENTS
page
1.

CHANGES FROM PRIOR VERSIONS
1.1 Utility Programs
1 . 1 . 1 BACKUP
1.1.2 CAT
1 • 1 . 3 COpy
1.1.4 DOSGEN
1.1.5 DUMP
1.1.6 EDIT
1 • 1 • 7 INDEX

1-1
1-1
1-1
1-1
1-1

1-1
1-2
1-2
1-2
1-2
1-2
1-2
1-2

1.1.8 f-1IN

1.1.9 PUTIPL
1.1.10 PUTVOLID
1 • 1 • 11 REFORMAT
1 . 1 . 12 SORT
1.2 System Routines

2.

1-3
1-3

INTRODUCTION
2.1 Hardware Support Required
2.2 Software Configurations Available
2.3 Program Compatibility

2-1
2-1
2-2
2-2

3.1 General Information
3.2 Command Line Syntax
3.3 Command Interpretation

3-1
3-1
3-1
3-2

3.4 Documentation Conventions
3.5 Program Signon Messages

3-3

4.

EQUIPMENT CARE
4.1 Environment
4.2 Processor
4.3 Disks and Disk Drives
4.4 Other Peripherals

4-1
4-1
4-2
4-2
4-2

5.

DISK FILES
5.1 File Names
5.2 File Creation
5.3 File Deletion
5.4 File Protection

5-1
5-1

5-2
5-3
5-3

SYSTEM GENERATION
6.1 Initial Generation
6.1.1 Formatting

6-1
6-1
6-1

3.

6.

OPERATOR COMMANDS

3-3

ii

6.1.2 Cassette System Generation
6.2 Partial Generation
6.3 UPGRADE/X
6.4 Scratch Disk Generation
6.5 Generation Cassettes and Emergencies

6-2

7.

ABTONOFF COMMAND
7.1 Purpose
7.2 Use

7-1
7-1
7-1

8.

APP COMMAND
8.1 Purpose
8.2 Use

8-1
8-1
8-1

9.

AUTO COMMAND
9.1 Purpose
9.2 Use
9.3 Operation of AUTOed Program

9-1
9-1
9-1

6-)~

6-5
6-6
6-6

9-2

10. AUTOKEY COMMAND
10.1 Purpose
10.2 Use
10.3 The Hardware Auto-Restart Facility
10.3.1 Processors with tape decks
10.3.2 Processors without tape decks
10.4 Automatic Program Execution Using AUTO
10.5 Auto-Restart Facilities Using AUTOKEY
10.6 A Simple Example
10.7 A More Complicated Example
10.8 Special Considerations
10.9 AUTOKEY and DATASHARE

10-1
10-1
10-1
10-2
10-2
10-2
10-3
10-3
10-3

11. BACKUP COMMAND
11.1 Purpose
11.2 Use
11.2.1 Options
11.3 Mirror Image Copy
11.4 Reorganizing Files
11.4.1 Copying DOS to Output Disk
11.4.2 Deleting Named Files
11.4.3 Copying Named Files
11.5 Use of KEYBOARD and DISPLAY Keys
11.6 Error Messages
11.7 Reorganizing Files for Faster Processing
11.8 BACKUP with CHAIN
11.9 £licks during Copying
11.10 Special Considerations for BACKUP

11-1
11-1
11-1
11-2
11-3
11-3
11-4
11-4
11-4
11-5
11-5
11-6
11-7
11-7
11-7

iii

10-1i

10-8
10-8

12. BLOKEDIT COMMAND
12.1 Purpose
12.2 Use
12.3 File Descriptions
12.3.1 Command Statement Lines
12.3.2 Source File
12.3.3 New File
12.4 Messages
12.4.1 Informative Messages
12.4.2 Fatal Errors
12.4.3 Selectively Fatal Errors

12-1
12-1
12-1
12-2
12-2
12-4
12-4
12-4
12-6
12-6
12-7

13. BOOT
13.1 Purpose
13.2 Use
13.3 Messages

13-1
13-1
13-1
13-2

14. BUILD COMMAND
14.1 Purpose
14.2 Use
14.3 A Simple Example
14.4 KEYBOARD and DISPLAY Keys

14-1
14-1
14-1
1 Ll-2
14-2

15. CAT COMMAND
15.1 Purpose
15.2 Use

15-1
15-1
15-1

16. CHAIN COMMAND
16.1 Purpose
16.2 Use
16.2.1 CHAIN Compilation
16.2.2 CHAIN Execution
16.3 Tag Definition
16.4 CHAIN Directives
16.4.1 IF Directive
16.4.2 ELSE/XIF Directives
16.5 Tag Value Substitution
16.6 BEGIN/END Directives
16.7 ABORT Directives
1 6 • 8 Com i.n en t s
16.9 Complex CHAIN Examples
16.10 Resuming An Aborted CHAIN
16.11 CHAIN Programming Considerations

16-1
16-1
16-1
16-2
16-2
16-3
16-4
16-4
16-6
16-6
16-7
16-8
16-9
16-11
16-14
16-15
17-1
17-1
17-1

17. CHANGE COMMAND
17 . 1 Pur pose
17.2 Use

iv

18. COpy COMMAND
18.1 Purpose
18.2 Use

18-1
18-1
18-1

19. DOSGEN COMMAND
19.1 Purpose
19.2 Use
19.3 Special Considerations

19-1
19-1
19-1
1,9-2

20. DSKCHECK
20.1 Purpose
20.2 Use
20.3 Options
20.4 System Tables and Data
20.5 Execution Phases
20.5.1 Initialization
20.5.2 HDI Checking
20.5.3 CAT Checking
20.5.4 Directory Checking
20.5.5 HIB Checking
20.5.6 Cluster Allocation, Phase 1
20.5.7 Cluster Allocation, Phase 2
20.5.8 Lockout CAT Checking
20.6 Operational Messages
20.7 Error Message Definitions
20.7.1 Operational Error Messages
20.7.2 Initialization Error Messages
20.7.3 HDI Errors
20.7.4 CAT Errors
20.7.5 Directory Errors
20.7.6 RIB Errors
20.7.7 Lockout CAT Errors

20-1
20-1
20-1
20-1
20-2
20-2
20-2
20-3
20-3
20-3
20-4
20-5
20-5
20-5
20-5
20-7
20-7
20-8
20-10
20-10
20-12
20-14
20-17

21. DUMP COMMAND
21.1 Purpose
21.2 Use
21.3 Informational Messages Provided
21.4 Level One Commands To DUMP
21.5 Level Two Commands To DUMP
21.6 Level Three Commands To DUMP
21.7 Level Four Commands To DUMP
21.8 Level Five Commands to DUMP
21.9 Error Messages

21-1
21-1
21-1
21-2
21-4
21-4
21-5
21-6
21-7
21-7

22. THE DUMP93XO COMMAND
22.1 Purpose
22.2 Use
22.3 The primary command handler

22-1
22-1
22-1
22-3

v

22.4
22.5
22.6
22.7
22.8
22.9

Using
Screen Display format
The Screen Dump Command Handler
Cassette Operations
Drive Numbers
Error Messages

23. EDIT
23.1 Purpose
23.2 Use
23.3 Parameter List
23.3.1 Margin Bell
23.3.2 Tab Key Character
23.3.3 Mode
23.3.4 Update
23.3.5 Key-click
23.3.6 Space Compression
23.3.7 Non-verification
23.4 Examples
23.5 Data Entry and Retrieval
23.5.1 Data Entry
23.5.2 Multi-line Record Entry
23.6 Data Retrieval
23.7 EDIT Command Format
23.8 Basic EDIT Commands
23.8.1 Setting Tabs
23.8.2 Setting TEXT Mode
23.8.3 INSERTing a Line
23.8.4 DELETEing a Line
23.8.5 COPYing a Line
23.8.6 MODIFYing a Line
23.8.7 LOCATEing a Line
23.8.8 ENDing EDIT
23.9 Intermediate Commands
23.9.1 Changing Special Characters
23.9.2 Changing Tabs
23.9.3 Changing Modes and Options
23.9.4 Deleting Lines
23.9.5 MODIFY Command
23.9.5.1 Line Modification
23.9.5.2 Field Modification
23.9.6 Line Splitting
23.9.7 Line Concatenation
23.9.8 File Search Commands
23.9.9 BYPASS End of File
23.9.10 Terminating EDIT
23.10 Advanced Commands
23.11 Recovery Procedures

vi

22-3
22-5
22-6
22-8
22-10
22-10
23-1
23-1
23-1
23-2
23-2
23-3
23-3
23-3
23-4
23-4
23-4
23-4
23-6
23-6
23-7
23-8
23-8
23-9
23-9
23-9
23-10
23-11
23-11
23-12
23-13
23-13
23-14
23-14
23-15
23-16
23-17
23-18
23-18
23-20
23-21
23-21
23-21
23-24
23-24
23-26
23-30

23.12
23.13
23.14
23.15
23.16

Glossary
Command List
EDIT ERROR MESSAGES
Configuration Sector
Example of a Definition File

23-30
23-34
23-41
23-42
23-44

24. ENCODE/DECODE COMMANDS
24.1 Purpose
24.2 Use

24-1
24-1
24-1

25. FILES COMMAND
25.1 Purpose
25.2 Use
25.3 Default Messages
25.4 File Descriptions
25.5 Error Messages

25-1
25-1
25-1
25-2
25-3
25-4

26. fIX COMMAND
26.1 Purpose
26.2 Use
26.3 Commands
26.4 Error Messages

26-1
26-1
26-1
26-1
26-3

27. FIXAPPLY
27.1 Purpose
27.2 Use
27.2.1 FIXAPPLY Phase One
27.2.2 FIXAPPLY Phase Two
27.2.3 Fatal Phase One Error Messages

2'7-1
27-1
27-1
27-1
27-2
27-3

28. FREE COMMAND
28.1 Purpose
28.2 Use

28-1
28-1
28-1

29. INDEX COMMAND
29.1 Purpose
29.2 Use
29.2.1 Parameters
29.2.2 System Requirements
29.3 Choosing A Record Key
29.4 Preprocessing the File
29.4.1 Invoking Reformat
29.4.2 Considerations for Unattended Indexing
29.5 INDEX Messages
29.6 lSI File Formats
29.7 Index File Size
29.8 Examples of the Use of INDEX

vii

29-1
29-1
29-1
29-2
29-3
29-3
29-4
29-4
29-5
29-5
29-7
29-10
29-11

30. THE INITDISK COMMAND
30.1 Purpose
30.2 Use
30.3 Error messages

30-1
30-1
30-1
30-1

31. KILL COMMAND
31.1 Purpose
31.2 Use

31-1
31-1
31-1

32. LIST COMMAND
32.1 Purpose
32.2 Use
32.3 Input file Specification
32.4 Starting Point
32.5 Output File Specification
32.6 Output Device
32.7 Output Format
32.8 Format Control
32.9 Operator Controls
32.10 Error Conditions

32-1
32-1
32-1
32-2
32-2
32-3
32-3
32-4
32-4
32-5
32-5

33. MANUAL COMMAND
33.1 Purpose
33.2 Use

33-1
33-1
33-1

34. MIN COMMAND
34.1 Purpose
34.2 Use
34.2.1 Command Line
34.2.2 Options
34.2.3 Multi-File Named Tapes
34.2.3.1 MOUT With Directory Tapes
34.2.3.2 CTOS Tapes
34.2.4 Multiple Numbered-File Tapes
34.2.5 Double File Tapes
34.2.6 Single File Tapes
34.3 Tape Formats
34.3.1 Single File Tapes
34.3.2 Double File Tapes
34.3.3 Multiple Numbered-File Tapes
34.3.4 Multiple Named-File T~pes
34.4 Errors

34-1
34-1
34-1
34-1
34-1
34-3
34-3
34-5
34-6
34-6
34-7
34-7
34-7
34-8
34-8
34-8
34-9

35. MOUT COMMAND
35.1 Purpose
35.2 Use
35.3 File Names
35.4 Writing

35-1
35-1
35-1
35-5
35-7

viii

35.5 Verifying

35-8

36. NAME COMMAND
36.1 Purpose
36.2 Use

36-1
36-1
36-1

31.

31-1

38.

38-1
38-1
38-1

39. REFORMAT COMMAND
39.1 Purpose
39.2 Use
39.3 Output File Formats
39.4 Reasons for Reformatting
39.5 Reformat Messages
39.6 Text File Formats

39-1
39-1
39-1
39-3
39-3
39-4
39-7

40. REWIND COMMAND
40.1 Purpose
40.2 Use

40-1
40-1
40 ... 1

41. SAPP COMMAND
41.1 Purpose
41.2 Use

41-1
41-1
41-1

PUTIPL COMMAND
37.1 Purpose
37.2 Use

37-1
37-1

PUTVOLID COMMAND
38.1 Purpose
38.2 Use

42. SORT COMMAND
42.1 Purpose
42.2 Use
42.3 Fundamental SORT Concepts
42.3.1 File Formats
42.3.2 The Key Options
42.3.3 How to Sort a File
42.4 SORT Command Line and Options
42.4.1 Generalized Command Statement Format
42.4.2 Keys: Overlapping and in Backwards Order
42.4.3 Collating Sequence File
42.4.4 Ascending and Descending sequences
42.4.5 Input/output File Format Options
42.4.6 Limited Output Format Option
42.4.7 TAG File Output Format Option
42.4.8 Key tag File Output Format Option
42.4.9 HARDCOPY Output Option
42.4.10 Primary/Secondary Sorting Considerations

ix

42-1
42-1
42-1
42-2
42-2
42-3
42-4
42-4
42-4
42-9
42-10
42-11
42-11
42-12
42-16
42-18
42-19
42-20

42.4.11 SORT Work Files
42.5 Disk space requirements
42.6 LINK into SORT from programs
42.7 The Use of CHAIN with SORT
42.7.1 Defining a Chain File for SORT
42.7.2 Naming a repetitive SORT procedure
42.7.3 Using CHAIN to cause a merge
42.8 SORT Execution-Time Messages

42-20
42-21
42-21
42-26
42-26
42-27
42-28
42-28

43. SUR COMMAND
43.1 Purpose
43.2 Use
43.2.1 Establishing a "Current SUbdirectoryU
43.2.2 Creating a Subdirectory
43.2.3 Deleting a Subdirectory
43.2.4 Renaming a Subdirectory
43.2.5 Displaying Subdirectories
43.3 About Subdirectories
43.3.1 Creation of Subdirectories
43.3.2 Deletion of Subdirectories
43.3.3 Being "in a Subdirectory"
43.3.4 Scope of a File Name
43.3.5 About Subdirectory SYSTEM
43.3.6 Files vs. the User Being "in a Subdirectory"
43.3.7 Getting a File into a Subdirectory

43-1
43-1
43-1
43-2
43-2

44. U800T COMMAND
44.1 Purpose
44.2 Use
44.3 UBoor System Load Operation

44-1
44-1
44-1
44-2

45.

45-1

UTILITY/OVL

43~2

43-2
43-3
43-3
1~3-4

43-4
43-4
43-5
43-5
43-6
43-6

46. UTILITY/REL
46.1 Printer Drivers
46.1.1 Print Driver Routines
46.1.2 ASA Control Characters
46.2 SECINOUT DriverS
46.2.1 SECINOUT Driver Routines

46-1
46-1
46-2
46-3
46-3
46-4

47.

47-1

UTILITY/SYS

48. SYSTEM DESCRIPTION
48.1 System Philosophy
48.2 System Structure

48-1
48-1
48-1

49. SYSTEM STRUCTURE
49.1 Disk Structure

49-1
49-1

x

49.1.1 Introduction
49-1
49.~.2 Disk Space Management:
CAT and Lockout CAT
49-2
49.1.3 Files: HDI, Directory Mapping Bytes, Directory, R49-3
49.1.4 Sector Identification
49-4
49.1.5 Addressing Byte Structures
49-5
49.1.5.1 PDA - Physical Disk Address
49-5
49.1.5.2 RIB Address/Protection
49-5
49.1.5.3 Segment Descriptor - used in RIB to define a
segment.
49-6
49.1.5.4 Physical File Number - ~~ed to access directory
and HDI
49-6
49.2 Disk Data Formats
49-7
49.3 Memory Mapping
49-8
49.4 Memory Tables
49-9
49.4.1 Entry Point Tables
49-9
49.4.2 Logical File Table
49-9
49.5 Disk Overlays
49-11
49.6 The Command Interpreter
49-12
50. INTEHRUPT HANDLING
50.1 Interrupt Mechanism
50.2 Interrupt Scheduler
50.3 Active Processes
50.4 Timing Considerations
50.5 DOS Interrupt Routines
50.5.1 SETI$
50.5.2 CLRI$
50.5.3 CS$
50.5.4 TP$
50.6 Programming Considerations
50.6.1 Background Code
50.6.2 Foreground Code

50-1
50-1
50-1
50-3
50-4
50-5
50-5
50-5
50-6
50-6
50-6
50-6
50-7

51. SYSTEM ROUTINES
51.1 Parameterization
51.2 Exit Conditions
5'1 . 3 Err 0 r Han d 1 i n g
51.4 Foreground Routines
51.4.1 CS$ - Change Process State
51.4.2 TP$ - Terminate Process
51.4.3 SETI$ - Initiate Foreground Process
51.4.4 CLRI$ - Terminate Foreground Process
51.5 Loader Routines
51.5.1 800T$ - Reload the Operating System
51.5.2 RUNX$ - Load and Run a File by Number
51.5.3 LOADX$ - Load a File by Number
51.5.4 INCHL - Increment the Hand L Registers
51.5.5 DECHL - Decrement the Hand L Registers

51-1
51-1
51-2
51-2
51-2
51-3
51-3
51-3
51-4
51-4
51-4
51-5
51-5
51-5
51-6

xi

51.5.6 GETNCH - Get the Next Disk Buffer Byte
51.5.7 DR$ - Read a Sector into the Disk Buffer
51.5.8 DW$ - Write a Sector from the Disk Buffer
51.5.9 DSKWAT - Wait for Disk Ready
51.6 File Handling Routines
51.6.1 PREP$ - Open or Create a File
51.6.2 OPEN$ - Open an Existing File
51.6.3 LOAD$ - Load a File
51.6.4 RUN$ - Load and Run a File
51.6.5 CLOSES - Close a File
51.6.6 CHOPS - Delete Space in a File
51.6.7 PROTE$ - Change the Protection on a File
51.6.8 POSIT$ - Position to a Record within a File
51.6.9 READ$ - Read a Record into the Buffer
51.6.10 WRITE$ - Write a Record from the Buffer
51.6.11 GET$ - Get the Next Buffer Character
51.6.12 GETR$ - Get an Indexed Buffer Character
51.6.13 PUTS - Store into the Next Buffer Position
51.6.14 PUTR$ - Store into an Indexed Buffer Position
51.6.15 BSP$ - Backspace One Physical Sector
51.6.16 BLKTFR - Transfer a Block of Memory
51.6.17 TRAP$ - Set an Error Condition Trap
51.6.18 EXIT$ - Reload the Operating System
51.6.19 ERROR$ -- Reload the Operating System
51.6.20 WAIT$ -- DOS Wait-a-~rJhile "NOP" Routine
51.7 Keyboard and Display Routines
51.7.1 DEBUG$ - Enter the Debugging Tool
51.7.2 KEYIN$ - Obtain a Line from the Keyboard
51.7.3 DSPLY$ - Display a Line on the Screen

51-6
51-7
51-8
51-8
51-9
51-10
51-10
51-11
51-11
51-12
51-13
51-14
51-15
51-15
51-16
51-16
51-17
51-18
51-18
51-19
51-19
51-20
51-22
51-23
51-23
51-24
51-24
51-27
51-28

52. DOS FUNCTION FACILITY (DOSFNC)
52-1
52.1 FUNC1 - Retrieve Directory and C.A.T. Addresses
52-2
52.2 FUNC2 - Retrieve Directory Sector or Filename
52-5
52.3 FUNC3 - Retrieve RIB Information
52-7
52.4 FUNC4 - Retrieve DOS Configuration Information
52-9
52.5 FUNC5 - Request Access to System Tables
52-10
52.6 FUNC6 - Keyboard / Display Interface Routines Function52-11
52.7 FUNC7 - Test the Disk Buffer Memory
52-14
52.8 FUNC8 - Timed Pause
52-15
52.9 FUNC9 - Non-Sharable Resource Status Request
52-16
52.10 FUNC10 - Partition Information Function
52-18
52.11 FUNC11 RAM Screen Loader
52-19
52.12 FUNC12 - Enable Memory Resident Overlays
52-21
52.13 Overlay Loader (FUNC-13,14,15)
52-22
52.14 FUNC-13 Overlay Lookup By Name
52-24
52.15 FUNC-14 Load Absolute Library Member
52-25
52.16 FUNC-15 Relocatable Loader
52-26
52.17 FUNC-16 Disable Memory Resident Overlays
52-28

xii

53. CASSETTE HANDLING ROUTINES
53.1 TPBOF$ - Position to the Beginning of a File
53.2 TPEOF$ - Position to the End of a File
53.3 TRW$ - Physically Rewind a Cassette
53.4 TBSP$ - Physically Backspace One
53.5 TWBLK$ - Write an Unformatted Block
53.6 TR$ - Read a Numeric CTOS Record
53.7 TREAD$ - TR$ and Wait for the Last Character
53.8 TW$ - Write a Numeric CTOS Record
53.9 TWRIT$ - TW$ and Wait for the Last Character
53.10 TFMR$ - Read the Next File Marker
53.11 TFMW$ - Write a File Marker Record
53.12 TTRAP$ - Set an Error Condition Trap
53.13 TWAIT$ - Wait for I/O Completion
53.14 TCHK$ - Get I/O Status

53-1
53-2
53-2
53-3
53-3
53-3
53-4
53-4
53-5
53-5
53-6
53-6
53-7
53-8
53-8

54. COMMAND INTERPRETER ROUTINES
54.1 CMDINT - Return & Scan MCR$ line
54.2 DOS$ - Return & Display Sign On
54.3 NXTCMD - Return and Dislay "READY"
54.4 CMDAGN - Return & Give Message
54.5 GETSYM - Get Next Symbol
54.6 GETCH - Get the Next Character
54.7 GETAEN - Get Auto-Execute Physical File Number
.54.8 PUTAEN - Set or Clear a File to be Auto-Executed
54.9 GETLFB - Open the User-Specified Data File
54.10 PUTCHX - Store the Character in "A"
54.11 PUTCH - Alternate Version of PUTCHX
54.12 PUTNAM - Format a Filename from Directory
54.13 MOVSYM - Obtain the Symbol Scanned by GETSYM
54.14 GETDBA - Obtain Disk Controller Buffer Address
54.15 SCANfS - Scan Off File Specification
54.16 TeWAIT - Test controller memory & wait

54-1
54-1
54-2
54-2
54-2
54-3
54-3
54-4
54-4
54-4
54-5
54-6
54-6
54-7
54-7
54-7
54-8

55.

USER SUPPORTED INPUT/OUTPUT

55-1

56. ERROR MESSAGES
56.1 System Error Messages
56.2 Utility Program Error Messages

56-1
56-1
56-3

ROUTINE ENTRY POINTS

57-1

58. PROCESSOR DEBUG
58.1 Introduction
58.2 Startup Procedure
58.3 Saving the Machine State
58.4 Display Format

58-1
58-1
58-1
58-2
58-2

57.

xiii

58.5
58.6
58.7
58.8
58.9

The Command Interpreter
Command Syntax
Input Command List
DEBUG Command Summary
Extensions to Standard DEBUG

Appendix A. DOS.A AND DOS.E
A.1 Planning for DOS.A/DOS.E
A.1.1 DOS.A Physical Configuration
A.1.2 DOS.E Physical Configuration
A.2 Disk Drives
A.3 Disk Media
A.4 Loading and unloading Disk Cartridges
A.5 Switches and Indicators
A.6 Care and Handling of Disk Cartridges
A.7 Care and Maintenance of the 9350 Drives
A.8 Head Crashes
A.8.1 Prevention of Head Crashes
A.8.2 Recognition of a Head Crash
A.8.3 What to Do if You Have a Head Crash
A.9 Preparing Disk Packs for Use
A.10 Disk Organization under DOS.A/DOS.E
A.10.1 Logical Drive Mapping
A.10.2 Size of a Logical Drive
A.10.3 Cluster Mapping
A.10.4 Segments under DOS.A
A.10.5 Maximum File Size
A.10.6 Cluster Allocation Table and Directory
A.11 Internal DOS Parameterization
A.11.1 Physical Disk Address Format
A.11.2 Hardware Address Structure
Appendix B. DOS.B
B.1 Planning for DOS.B
B.2 File Storage Capacity under DOS.B
B.3 Disk Drives
B.4 Disk Media
B.5 Loading and unloading Disk Packs
B.5.1 Models 9370-9373
8.5.2 Model 9374/9375
B.6 Switches and indicators
B.6.1 Models 9370-9373
B.6.1.1 Memorex Drives
B.6.1.2 "Telex" Drives
B.6.1.3 Common Features
B.6.2 Model 9374/9375
B.7 Care and Handling of Disk Packs
B.8 Care and Maintenance of the 9370 Drives

xiv

58-3
58-3
58-4
58-8
58-9
A-1
A-1
A-1
A-2
A-2
A-2
A-2
A-3
A-4
A-5
A-5
A-6
A-6
A-7
A-7
A-8
A-8
A-8
A-8
A-9
A-9
A-10
A-11
A-11
A-11
B-1
B-1
B-1
B-2
B-2
B-2
B-2
B-3
8-4
B-4
B-4
B-5
B-5
B-6
B-7
B-7

B.9 Head Crashes
B.10 Preparing Disk Packs for Use
B.11 Disk Organization under DOS.B
B.11.1 Logical Drive Mapping
B.11.2 Size of a Logical Drive
8.11.3 Cluster Mapping
B.11.4 Segments under DOS.S
8.11.5 Maximum File Size
B.11.6 Cluster Allocation Table and Directory
B.12 Internal DOS Parameterization
B.12.1 Physical Disk Address Format
B.12.2 Hardware Address Structure

B-9
B-9
B-10
B-10
B-11
B-11
B-12
8-12
B-13
B-14
B-14
B-14

Appendix C.
INTRODUCTION TO OOS.C
C.1 Planning for DOS.C
C.2 Performance of DOS.C
C.3 Disk Drives
C.4 Disk Media
C.5 Loading and Unloading Diskettes
C.6 Drive Numbering and Switches
C.7 Care and Handling of Diskettes
C.8 Preparing Diskettes for Use
C.9 Suggested Disk Organization Techniques
C.10 Disk Organization under DOS.C
C.10.1 Radius Spiraling and Sector Skewing
C.10.2 Size of a Diskette
C.10.3 Cluster Mapping
C.10.4 Segments under DOS.C
C.10.5 Maximum File Size
C.10.6 Cluster Allocation Table and Directory
C.11 Internal DOS Parameterization
C.11.1 Physical Disk Address Format

C-1
C-1
C-2
C-3
C-3
C-3
C-5
C-5
C-6
C-7
C-8
C-8
C-10
C-10
C-11
C-11
C-12
C-13
C-13

Appendix D. DOS.D
D.1 Planning for DOS.D
D.2 File Storage Capacity under DOS.D
0.3 Disk Drives
D.4 Disk Media
0.5 Loading and Unloading Disk Packs
D.6 Switches and Indicators
D.7 Disk Organization under DOS.D
0.7.1 Logical Drive Mapping
D.7.2 Size of a Logical Drive
D.7.2.1 Models 9370-9373 and 9390-9393
0.7.2.2 Models 9374/9375
0.7.3 Cluster Mapping
0.7.4 Segments under DOS.D
0.7.5 Maximum File Size

xv

D-1
0-1
0-1
0-2
0-2
0-2
D-J-t

D-5
0-5
0-6
0-6
0-7
D-7
0-7
0-8

D.7.6 Cluster Allocation Table and Directory
D.8 Internal DOS Parameterization
D.8.1 Physical Disk Address Format

D-8
D-9
D-9

Appendix E. DOS.G - 1800 OPERATING SYSTEM
E.1 CRT / Keyboard Interface Under DOS.G
E.1.1 Screen Line Numbering
£.1.2 Displaying on the Screen
E.1.3 Inputting Data From the Keyboard
E.1.4 Special CRT / Keyboard Features
E.2 Diskette Organization Under DOS.G
E.2.1 Loading and Unloading Diskettes
E.2.2 Drive Numbering
E.2.3 Care and Handling of Diskettes
E.2.4 Preparing Diskettes for Use
E.2.5 Sector Skewing
E.2.6 Size of a Diskette
E.2.7 Cluster Mapping
E.2.8 Segments Under DOS.G
E.2.9 Cluster Allocation Table and Directory
E . 3 In t ern a I DOS Par a In e t e r i z a t ion
E.3.1 Physical Disk Address Format

E-1
E-1
E-2
E-3
E-3
E-3
E-5
E-5
E-6
E-6
E-6
E-6

Appendix F.

COMPARSION CHART FOR DOS'S

Appendix G. DISK DATA FORMATS
G.1 Disk Data Formats
G.2 OBJECT File Format for Disk
G.3 Relocatable Code Formats
G.3.1 Directory
G.3.2 Program Identification
G.3.3 Object Text
G.3.3.1 Memory Location
G.3.3.2 Absolute Text
G.3.3.3 Complex Relocatable References
G.3.3.4 Simple Relocatable References
G.3.4 External Definitions
G.3.5 External and Forward References (4096 maximum)
G.3.6 Transfer Address
G.4 Format of Library Files
G.4.1 Directory
G.4.2 Hembers
G.4.3 Library Type Chart
G.5 DATABUS Code File Format
G.6 DATAfORM Data File Format
G.7 MULTIfORM File Format
G.8 TEXT File Format
G.9 lSI File Format

xvi

E-7
E-7

E-7
E-8
E-9

E-9
F-1
G-1
G-1
G-1
G~3

G-4
G-5
G-5
G-6

G-6
G-7
G-8
G-10
G-11
G-11
G-12
G-12
G-13
G-14
G-14
G-14
G-15
G-16
G-18

G.10 SORT TAG File Format

xru

CHAPTER 1.

CHANGES FROM PRIOR VERSIONS

The following changes have been implemented in DOS since
version 2.5 and its maintenance releases.
All features and
corrections from the version 2.5 DOS releases are included in the
2.6 releases unless otherwise noted below.
1.1 Utility Programs

1.1.1 BACKUP
Error detection and correction has been significantly
improved. There is also a big performance improvement.

1 • 1 . 2 CAT
The CAT command will abort a search between drives if the
keyboard key is depressed.
1.1.3 COpy
COpy now has an "E" option which, if set, will cause COPY to
stop copying and chop the file when end of file is reached.
If
you press the keyboard key while COpy is clicking, COpy will now
close and chop the file at that point.

1.1.4 DOSGEN
DOSGEN now writes on the volume being DOSGENed and then reads
the data back.

CHAPT ER

1.

CHANGES FROM PRIOR VERSIONS

1-1

1 • 1 .5 DUMP
DUMP now has "P" and "Q" options for handling print files.
1 • 1 • 6 EDIT
T1;>/O new commands have been added to EDIT.
The" :G*" command
will display the line number of the pointed line. The" :T*"
command will display the current tab settings.

1.1.7 INDEX

INDEX will now accept column numbers up to 32,767 for key and
primary/secondary record specification.
1.1.8 MIN

MIN will now accept then "r" option to direct it to use the
rear cassette deck. MIN also checks for the existance of cassette
decks before executing.
1.1.9 PUTIPL

PUTIPL may now be run on a local volume while running under
ARC.
1.1.10 PUTVOLID

PUTVOLID may now be run on a local volume while running under
ARC.
1.1.11 REFORMAT

REFORMAT will now accept a record length specification of up
to 65535.

1-2

DISK OPERATING SYSTEM

1.1.12 SORT
SORT will now accept column numbers of up to 32767 for key
and primary/secondary record selection. The SORT key trains are
now sorted so an intermediate pass is not always required. SORT
now requires at least 20k and a 5500 instruction set.
1.2 System Routines
There is no longer an arbitrary upper limit on file size. A
file may be as large a~ will fit on one volume.
When running under ARC all DOS utilities permit access of up
to 31 logical drives. However, only 16 of these may be local
since in stand-alone mode DOS only permits accessihg 16 drives.
All 31 may be remote ARC volumes if you wish.

CHAPTER

1.

CHANGES FROM PRIOR VERSIONS

1-3

CHAPTER 2.

INTRODUCTION

Datapoint Corporation's Disk Operating System (DOS) is a
comprehensive system of facilities for sophisticated data
management.
DOS provides the operator with a powerful set of system
commands by which the operator can control data movement and
processing from the system console. These commands allow the
system operator to accomplish things which could be substantially
more difficult on other computing systems. Sorting a large file,
for instance, can generally be accomplished in a single command
line. Despite the simplicity of operation, a wide range of
features is provided.
To the programmer, DOS offers a set of facilities to simplify
and generalize his task and file management problems.
Concepts
like dynamic disk space allocation allow programs to efficiently
operate without regard to the amount of space required for the
data files they are using. In addition, the disk file structure
used by DOS allows for direct random access to data files.
DOS
also makes use of fully space-compressed text files.
These features, combined with the ability to support up to
200 million bytes of high-speed random access disk storage,

provide a full range of data processing capabilities.
2.1 Hardware Support Required

The minimal configuration required to run DOS is a Datapoint
processor (1100, 1800, 2200, 5500, or 6600 family), with a minimum
16K of memory, and one disk storage unit (9320, 9350, 9370, 9380,
9390, or 1840 series).
For backup and support purposes, users
with the Diskette 1100 series computer are required to have at
least one system with more than one diskette drive.
1800 systems
always use a minimum of 2 diskette drives. Configurations based
on the other processors can operate with only a single disk drive
unit in conjunction with the integral tape cassettes in most
processors, but for backup and system support purposes a two-drive
system is a recommended minimum.

CHAPTER

2.

INTRODUCTION

2-1

2.2 Software Configurations Available
DOS is provided in several different models. Different
1I10dels are used depending upon the type of processor and disk in
use at an installation. Specific models are indicated by a letter
after a period in the name of DOS. The following models of DOS
are currently defined:
DOS.A -- Supports 9350 series disk drives on Datapoint 2200
and 5500/6600 family computers.
DOS.B -- Supports 9370 series disk drives on Datapoint 2200
and 5500/6600 family computers.
DOS.C -- Supports 9380 series disk drives on Datapoint 1100,
2200 and 5500/6600 family computers.
DOS.D -- Supports 9370 series and 9390 series disk drives on
Datapoint 5500/6600 family computers and 9320 series disk drives
on the 1800/3800 series computers. DOS.D is the host DOS for the
Datapoint ARC system, and is one of the operating systems
supporting the Datapoint Partition Supervisor systems.
DOS.E -- Supports 9350 series disk drives (with 16 buffer
disk controller) on Datapoint 5500/6600 family computers. DOS.E
also supports the Datapoint Partition Supervisor systems.
DOS.G -- Supports 1840 series disk drives on Datapoint 1800
family computers.
DOS.H -- Supports 151~0 series disk drives on Datapoint 1500
family computers.
(DOS.H is not described in this manual. See
instead the DOS.H User's Guide, model code 50308.)
2.3 Program Compatibility
This manual describes the compatible set of facilities
available to the DOS user within the Disk Operating System.
Programs written in any of the supported higher level languages
(DATASHARE, COBOL, BASIC, RPG II and others) will generally run
unmodified on any of the DOS. Most programs written in assembler
language will also run under any of the dot-series DOS, without
reassembly.
Basically, in only a few cases will a program need to be
changed when it is transferred from one DOS to another. The need
for program modification will usually stem from one or more of the

2-2

DISK OPERATING SYSTEM

following types of situations, which should be avoided whenever
possible:
1) Programs which make assumptions regarding the size of
files.
For example, programs originally written for the 9350
series disks might assume that the size of the biggest possible
file could be expressed as four ASCII digits.
Under DOS.D, this
assumption is invalid since files under DOS.D may be over 38,000
data sectors long.
2) Programs which make assumptions regarding the physical
structuring of the data on the disks. For example, each DOS
allocates space on the disk in segments of different sizes, and
places its system tables in different locations on the disk.

3) Programs which generate or modify physical disk addresses
themselves. Since the disks are each organized somewhat
differently to take advantage of the particular characteristics of
the specific type of drives involved, the physical disk addresses
naturally vary among different DOS.
4) Programs which rely upon other characteristics of a DOS
which are not documented in this manual. A possible situation
would be where a programmer might look at the values in the
registers following the return from a system routine and
determine, for instance, that some routine always seemed to return
with the value "1" in one of the registers.
If he then constructs
his program in such a manner that it will not function correctly
if the "1" is not present upon return from the routine, then he is
likely to find that his program will not work properly on a
different DOS.
5)

programs which physically address the CRT/keyboard.

Only the first of the above situations will occur when using
a high-level language. The others only occur in assembler
language programs operating at the most detailed level of access
to operating system routines. Programmers who require this level
of detailed knowledge about the DOS will find the information
specific to each DOS in the Appendix for the DOS they are using.

CHAPTER

2.

INTRODUCTION

2-3

CHAPTER 3.

OPERATOR COMMANDS

All Datapoint computers include, as a standard feature, an
integral CRT display through which the internal computer
communicates with the operator. The system console also includes
a typewriter-style keyboard which the operator uses to communicate
wIth the computer. The DOS is normally controlled by commands
entered at this system console.
3.1 General Information
When DOS first becomes ready for commands, it displays a
signon message on the CRT and says "READY". Upon completion of
any job the DOS generally again displays "READY". Whenever the
ready message is shown, the operator may key in a command, which
will be displayed on the bottom line of the CRT as it is keyed in.
While typing a command, the BACKSPACE key will erase one character
for correction, and the CANCEL key will erase the entire line.
A command line specifies first what job is to be performed,
then any disk files or special system directives, then options for
the job. The command programs provided with DOS are described in
this manual; the information that must be entered for each command
is specified in the chapter about that command. A command line is
always terminated with the ENTER key.

3.2 Command Line Syntax
In general, a command line is entered as:
,,,;[options]
Each  indicates a DOS file name specification (see the Disk
Files chapter) or possibly a special field sucb as a subdirectory
name. The first  on the line always specifies the program
that will be run. Special attention must be given to the
separators between fields on the command line. The most common
separators are space and comIlla. For legibility the first two
fields are usually separated by a space and subsequent fields are
separated by a comma. A command then usually looks like:
SORT ACCTFILE,SRTFILE,:DR3;2-11

CHAPTER

3.

OPERATOR COMMANDS

3-1

In this example the first field, the program to be executed, is
"SORT". The second field is "ACCTFILE", the third is "SRTFILE",
and the fourth is ": DR3". All of these fields provide information
to the SORT program. A semi-colon (;) is a special separator
which always separates  entries from [opti~nsl.
In the
above example the options field is "2-11". Slash (/) and colon
(:) are special separators used within a file name.
Aside from the separators noted above, most special
characters ($, ?, #, =, and so on) act as separators just like
space or comma. In general, any character that is not a
syntactically valid part of a file name will be interpreted as a
field separator. The command example above could have been
entered as:
SORT@ACCTFILE=SRTFILE$:DR3;2-11
Even / and : may be interpreted as field separators if not used as
valid portions of a file name.
Thus the command
COpy NAME/TXT/TEMP
has three fields: COpy, NAME/TXT, and TEMP. The use of special
characters is not recommended since the resulting command line is
very confusing for human interpretation.
3.3 Command Interpretation
As already noted, the first field on the command line
specifies the program to be executed. For any command this first
field must be given, any other fields mayor may not be needed for
a particular command. The command program must be a loadable
object file or the program load will fail and the DOS will simply
return to "READY" condition.
If the program specified to be run
cannot be found, the DOS displays the message "WHAT?" and waits
for another command.
If desired, the program name specification
can be preceeded by an asterisk (*) or a colon (:), indicating the
command is to be located in UTILITY/SYS in preference to a
separate command file (See Command Interpreter section).
Fields on the command line are often order dependent.
If a
command is being used which accepts several fields, one of which
is not wanted, skip that field by entering two separators with
nothing between them.
SORT ACCTFILE, ,:DR3;2-11

3-2

DISK OPERATING SYSTEM

By using two commas, ":DR3" is recognized as the fourth field on
the line, with the third field being null.
3.4 Documentation Conventions
When the command line is discussed in this manual, the first
field is called the "command"; subsequent fields before the
semi-colon are called "" or some similiar term;
characters following the semi-colon are called "options" or
"parameters".
Prototype command lines will be shown in the form:
command [J[,J[, . .

~J[;J

Items enclosed in angle brackets ("") represent a
specification that will be entered on the actual command line.
The angle brackets are not punctuation actually used on the
command line. Square brackets also appear on the prototype lines
but are not actually used as punctuation on the command line.
Items enclosed in square brackets ("[;J") represent
optional fields that may be omitted or included as desired by the
operator. Items on a prototype line that appear as capital
letters represent the actual characters that must be entered.
Items appearing as small letters represent the location for some
different actual entry.
3.5 Program Signon Messages
When a command program begins execution it first displays a
message identifying itself.
If the command is specific to one
single DOS, the signon message will also identify which DOS the
command is designed to execute under. The main purpose of the
signon message is to allow the operator to determine, in the event
of some difficulty, whether a superseded version of the command
program is in use.

CHAPTER

3.

OPERATOR COMMANDS

3-3

CHAPTER 4.

EQUIPMENT CARE

Computers, disk drives, printers, and other data processing
equipment are delicate devices. They must be operated correctly
and given a degree of care to continue to perform correctly.
Datapoint prints "A Guide for Operating Datapoint Equipment",
model code #60252, which gives detailed instructions on the
operation of Datapoint equipment. It is recommended that any
installation without trained computer operators obtain this
manual.
4.1 Environment
Datapoint systems must be installed in an area with adequate
air conditioning. Datapoint processors can stand a fairly wide
range of temperatures, but disk drives should have a temperature
range of 60 to 80 degrees F. (15.5 to 26.7 degrees C.). The
temperature tolerance varies with the type of drive in use
(diskette drives can stand a much wider temperature range) but the
60-80 degree range is safest. Humidity must be kept low enough to
avoid condensation (below 80%) but high enough to avoid excessive
static electricity problems.
The machine area must be reasonably clean and dust-free.
Fanatic cleanliness is not necessary, but dust, cigarette ashes,
spilled liquids, and so forth can seriously affect machine
operation.
Processors and peripherals require fairly "clean" power to
avoid erratic operation. Machine room power should be supplied
from a completely separate transformer if possible. Be sure
devices such as adding machines and power tools are not connected
to the same power leads as computer equipment. The electric
motors in these devices cause severe power line noise and will
seriously affect machine operation. If necessary, isolation
transformers are available to supply clean power for Datapoint
equipment.

CHAPTER

4.

EQUIPMENT CARE

4-1

4.2 Processor
The only user maintenance on the processor is to dust and
clean the cabinet, CRT screen, and keyboard occassionally and to
clean the cassette decks. The cassette decks are especially
sensitive to grime: dirty decks can cause read/write errors and
can even destroy tapes. The decks are cleaned in the same way
audio cassette decks are cleaned. Use tape head cleaner and a
cotton swab to clean the tape heads and capstans; use a dry,
lint-free cloth or swab to clean the pinch rollers. The cassette
decks should be cleaned as necessary depending on use; normally
every few months, as often as weekly if the decks get very heavy
use.
Be sure the ventilation slots on the top and rear of the
processor are never blocked, as impeded air flow will cause
overheating.

4.3 Disks and Disk Drives
Be sure all operators know how to insert and remove disks in
the disk drives. Disks must be stored properly in an environment
similar to that for the equipment. Consult the appendices of this
manual, or the Guide for Operating Datapoint Equipment, or the
Datapoint Product Specifications (green sheets) for details on
disk handling.
The disk drives must not be subjected to bumps or jolts or
head misalignment can occur. Physical location of the drives must
allow adequate air circulation for cooling purposes.
4.4 Other Peripherals
All peripherals should be dusted occasionally in keeping with
the necessary environment cleanliness. Aside from printers, most
Datapoint peripherals require practically no user maintenance.
For any necessary care, consult the Guide for Operating Datapoint
Equiprnent, the green sheets, or your Datapoint service
representative.
4

Printer ribbons must be changed periodically to maintain
print quality.
Cloth ribbons left in use for too long can
disintegrate, requiring a very messy clean-up of inky lint when
the ribbon is finally changed, so check the ribbon occasionally.
To avoid paper jams on printers, be sure the paper is aligned
correctly when loaded, and be sure the paper has a free path into

4-2

DISK OPERATING SYSTEM

the printer and as it emerges to the paper tray.

CHAPTER

4.

EQUIPMENT CARE

4-3

CHAPTER 5.

DISK FILES

On all DOS-supported disks, information is stored in sectors,
each of which contains 256 bytes of information. Sectors
containing related information are organized in a single
structured group called a file. All information on a disk will
generally be organized in files, except for certain system tables.
5.1 File Names
From the console, files are identified by a NAME, EXTENSION,
and LOGICAL DRIVE NUMBER. The NAME consists of up to eight
alphanumeric characters (no special characters). Typical file
names would include:
EDIT
EI"1PLOYEE
23NOV76

PAYROLL
JUL1075
X1

The EXTENSION must start with a letter and may be followed by
If an extension is used in a
up to two alphanumeric characters.
file name, it is separated from the NAME by a slash (I).
The
extension further identifies the file and usually indicates the
type of information contained in the file. A "TXT" extension
means text and usually implies data or program source code. "ABS"
implies program object code (absolute code) loadable by the system
loader. "CMD" implies an object code file to be used as a command
program from the system console. Other common extensions are:
REL, lSI, DBC, OVn, SYS, PRT, BAS, and LEX.
The LOGICAL DRIVE NUMBER specifies on which logical drive the
file is (or will be) located. The drive specification is
identified by a leading colon (:) and has the form ":DRn" or ":Dn"
or ": ". When the": DRn" or ": On" forms are used, the "n"
is a number indicating the logical drive number as assign~d at
system installation. The ":" form allows logical volume
identification, regardless of the physical drive on which the disk
i s 10 cat e d . "  " is an e i g h t c h a r act e rid en t i fie r pIa c ed 0 n
a disk by the PUTVOLID program.
The complete form of a file name is thus
NAME/EXTENSION:DRIVE

CHAPTER

5.

DISK FILES

5-1

When a file name is entered as part of a command, all three parts
of the name are not usually needed, though they can be specified.
The presence or absence of a part of the file name is determined
by the special separators "I" and":". Syntactically correct file
name entries are:
NAME/ABS:DRO
NAME/REL
NAME:DO
NAME

IABS:DR1

ITXT

:02
NAME:DOSD1

If a portion of the file name is not used, DOS applies default
values; the default value used depends on the location of the name
on the command line, and on the command in use.
The first field on any command line is the command program to
be run. For this field, a NAME must be given, the default
extension is CMD, and the default drive is any drive. (An "any
drive" default usually means a search of all drives, starting with
drive 0).
If the command name is preceeded by an asterisk (*) or
a colon (:), the default extension and all-drive search do not
apply, as the leading character indicates the given name is to be
located as a member of UTILITY/SYS (an "absolute library"), rather
than searched for as a file.
The default values for file names given as parameters to a
command are described separately for each command.
5.2 File Creation
Files are always created implicitly. That is, the operator
never specifically instructs the system to create a given file.
Any command that writes to an output file will write into an
existing file or will automatically create a new file if
necessary.
A file to be created will be created on the drive specified
in its file name field or specified in default values applied to
its name. When a file is being created on a specific drive, files
with the same name and extension on other drives are unaffected.
If no drive is specified in the name or by default, the file is
created on any drive which has free space, the search for
available space starting on drive O. "Available space" means one
free space in the drive's directory, in which to place the name of
the new file, and at least one cluster of free space on the disk,
in which to place the data the file will contain. (A "cluster" is
the smallest unit of disk space that can be assigned to a file;

5-2

DISK OPERATING SYSTEM

clusters are defined in the chapter on System Structure.)

5.3 File Deletion
Deletion of a file is performed explicitly by operator
command, using the KILL comlnand described later. No other
programs delete an existing file, although procedures such as
system generation and backup naturally destroy all files on the
output disk.
5.4 File Protection
DOS files can be given three types of protection: write
protection, delete protection, and no protection.
If a file is
write protected, it can be neither written upon nor deleted. If a
file is delete protected it cannot be deleted, although it can be
written over, effectively destroying any data previously in it.
If a file has no protection it can of course be modified in any
manner. The CHANGE command is used to set the protection of a
file.

CHAPTER

5.

DISK FILES

5-3

CHAPTER 6.

SYSTEM GENERATION

Before a disk can be used with DOS it must first be prepared
by writing onto it basic system tables. Also, a surface
verification must be performed so any bad areas of the disk
surface will not be used. On a new installation, the system
utility programs must be placed onto the disk for use. All these
operations constitute system generation.
6.1 Initial Generation
Datapoint distributes DOS in two forms: as a set of cassette
tapes or as a completely generated disk.
Users who receive the
complete disks need not perform the cassette generation described
below, as it has already been performed on their disk. Anyone
requiring additional working disks should generate them as
outlined in "Scratch Disk Preparation".
6.1.1 Formatting
Before a disk can be written or read on any drive, it must be
appropriately formatted.
Cartridge disks for use on Datapoint
drives (9350 series) require no formatting because they use
hardware formatting -- the sector formatting is inherent to the
disk. Datapoint diskettes (9380 series) are formatted when
received and do not require a special formatting process before
they can be used.
Diskettes for use on the dual-density drives (1840 series)
must be formatted when first used. The DOSGEN and BACKUP programs
of DOS.G are able to format the diskettes in the necessary manner.
The mass storage disks (9370 or 9390 series) also require a
special formatting process before they can be used. The first
tape of the DOS generation cassettes for mass storage operating
systems (DOS.B and DOS.D) is a formatting program. S~mply insert
the cassette in the rear cassette deck and depress RESTART/RUN (on
the 2200 processors only RESTART need be depressed). The tape
will rewind and then load the formatting program INITDISK. This
program will ask for a specific physical (not logical) drive
number containing the disk to be formatted.
After receiving a
reply, the program will ask if the operator is certain the drive
number is correct and the disk in it is scratch, since formatting

CHAPTER

6.

SYSTEM GENERATION

6-1

destroys any information previously on the disk. Formatting will
then proceed. When finished, the program will display a message
indicating the pack is completely formatted.
For additional information on the formatting program, see the
chapter on INITDISK.
6.1.2 Cassette System Generation
The first tape of the DOS generation cassettes (second tape,
for DOS.B and DOS.D) is the actual generation cassette. To use
this cassette load it into the rear cassette deck and depress
RESTART/RUN (on 2200 processors only RESTART needs be depressed).
The tape will rewind and then load the DOS generation program.
Loading takes about a minute. When the program has loaded it will
display a sign-on message and ask what logical drive is to be
generated. The drive specified must be on-line with a ready disk
in it.
Following drive selection the program will ask if a full
generation is desired. To get a full DOS generation, answer Y;
for a partial gen (useful only for upgrades from an older version
DOS) answer N.
Partial generation is described below. Following
selection of full generation, the program will ask to be sure the
disk in the selected drive is scratch, containing no valuable
files that would be destroyed by generation.
After the verification questio~, the program performs a
surface test on the cylinders used by DOS for its system tables
and operating files.
If this test fails, the disk is considered
unusable and error messages will so indicate. After a short pause
for the above test, the program will ask if any cylinders are to
be locked out. The normal answer to this question is N, since
locked-out cylinders cannot be used by DOS.
If it is desired to
lock out any cylinders for special use, consult the DOSGEN chapter
for a description of cylinder lockout.
The next step in system generation is a quick surface
verification of th~ entire disk surface.
If an error is
encountered, the program displays the cylinder number in which the
error occurred, beeps, and flags the cylinder in the Lockout CAT
so the DOS will not use it.
Following surface verification the basic system tables are
built on disk and the system programs are loaded from the tape.
Programs loaded are SYSTEMO/SYS - SYSTEM7/SYS, CAT/CMD, MIN/CMD,
and UBOOT/CMD.

6-2

DISK OPERATING SYSTEM

For initial generation of mass storage disks, be sure to
repeat the above procedure the proper number of times to assure
the entire physical volume is generated with all logical volumes.
To save time, the first logical volume of a physical pack can be
fully generated (finish loading utilities as described below),
then the remaining logical volume(s) on the pack can be generated
using the disk DOSGEN command described later.
After loading the system programs, system generation is
complete except for loading utilites, and the new DOS is brought
up ready for commands.
For 2200 and 5500 systems which need to be booted from a
cassette boot loader, as soon as the system is ready (easy to tell
since the message on the CRT is "READY") enter the command UBOOT
to produce a boot tape for the DOS. UBOOT will ask for a blank
tape in the front cassette deck and will then write and verify a
boot block on that tape.
It is wise to make at least two boot
tapes at this time, since the boot tape is the only way to start
up DOS. Any time it is necessary to start DOS (after the
processor has been turned off, after loading a different set of
disks, etc.) simply place the boot tape in the rear deck and
depress RESTART/RUN (RESTART only on 2200) to boot the operating
system.
To completely finish system generation, the system programs
and utilities must be loaded. These files are contained on the
second and third tapes of the system generation cassettes (third
and fourth tapes for DOS.B and DOS.D). To load the commands
simply place each cassette in turn into the front cassette deck
and enter the command
MIN;AO:Dn
where n is the drive number being generated. When the files on
these two tapes have been copied to disk, generation is finished.
The generation cassettes for DOS.C include a fourth tape of
system cominands, containing all the programs in UTILITY/SYS (see
the appropriate chapter in this manual) as separate files.
These
files are provided as a convenience so that only desired programs
can be placed on a system diskette, leaving free space on the
diskette for other use.

CHAPTER

6.

SYSTEM GENERATION

6-3

6.2 Partial Generation
The Dos generation tape program has an option to perform a
partial generation for purposes of upgrading an older version of
DOS to the present version. To use partial generation load the
gen tape and specify the drive to be generated. When the program
asks if a full generation is desired answer N. The program will
ask a couple of verification questions to be sure it should just
replace the system and command files, and will then do so.
During partial generation the eight system files SYSTEMO/SYS
through SYSTEM7/SYS are replaced by new files from the tape. The
old utili ty programs must be deleted and new programs loaded from
tape before partial generation is complete. If the disk being
upgraded includes an existing UTILITY/SYS file, it may be
necessary to use LIBSYS to upgrade the absolute library, rather
than simply overstoring the old library with the new one. For
more information, see the chapter on UTILITY/SYS.
When performing a partial generation on a DOS. 1.1, 2.1, or
2.2 disk, it will be necessary to replace the old MIN/CMD with the
new command from the generation tape before the utilities tapes
can be loaded.
(The old MIN cannot recognize the file format of
UTILITY/SYS.) The replacement operation must be performed before
the partial generation from the DOSGEN tape is performed.
To replace MIN, load the generation cassette in the front
deck and run MIN (the old command already on disk). MIN will
identify the tape as "CTOS SYSTEM TAPE FOR[\1AT" and will scan the
tape to find the CTOS catalog. When the catalog is located, the
files on the tape will be displayed and MIN will ask
LOAD B?
Skip the file named B by answering "N", skip CAT in the same
manner, then answer "Y" to load MIN.
The program will ask for a
DOS file name; the name given should be "MIN/CM.D". MIN will ask
to be sure the existing command should be overwri tten, answer tty"~
to the OVERWRITE? question. Once MIN/CMD has been loaded, enter
an asterisk to end.~he program when it asks if UBOOT should be
loaded.
After MIN/CMD has been replaced, use the new MIN to load the
utility tapes in the normal manner.
Following a partial generation, it is a good idea to BACKUP
the upgraded disk with reorganization.
The reorganization removes
any fragmentation in system files and allows an operator to easily

6-4

DISK OPERATING SYSTEM

delete undesired old files.
Until the old command files have been
deleted, be sure to enter a leading * on each command so as to use
the new utilities from UTILITY/SYS.
Partial generation is not valid between some versions of DOS
(notably Version 1 DOS.B and any newer version). Check with your
Datapoint System Engineer before attempting an upgrade by partial
generation.

6.3 UPGRADE/X
A disk-based upgrade facility is available in a file called
UPGRADE/X, X being the letter specification of the DOS in use.
UPGRADE is a standard text file to be used as a chain procedure by
the command
CHAIN UPGRADE/X;OUTPUT=:Dn
where n is the drive number containing the disk to be upgraded.
The UPGRADE proced~re copies the eight system files from the
new version disk (which should be in drive zero) to the specified
drive. SYSTEM7/SYS is copied by use of COPY SYSTEM7/SYS;7 to
preserve the subdirectory structure on the old disk. After the
system files are copied, old utilities on the output disk are
deleted and new utilities are copied from the input disk. The
program PUTIPL is then run to place the necessary IPL blocks on
the output disk.
Since UPGRADE is a text file, it can be edited to modify the
chain procedure followed, to adjust to special needs. Any
modifications performed should be very carefully considered to
assure a good upgrade. System conversions are a complex process
and any errors can result in an unusable disk or lost data.
As with partial generation from cassette, use of UPGRADE is
not valid for all possible versions of DOS. Check with your
Datapoint System Engineer before using UPGRADE for a disk
conversion.

CHAPTER

6.

SYSTEM GENERATION

6-5

6.4 Scratch Disk Generation
Any disk to be used in a DOS system must be generated to
contain the necessary system tables and basic system files.
Scratch disks or new system disks are best produced by use of the
DOSGEN program described later in this manual.
DOSGEN is a
totally disk based program and performs much more quickly than
cassette generation.
If necessary or desired, the DOS generation
cassette can be used to produce a new disk, as described above in
Initial Generation.

6.5 Generation Cassettes and Emergencies
If all boot tapes at an installation are lost or destroyed,
there is suddenly no way to access perfectly good disks. New boot
tapes can be made by loading the DOS generation cassette in the
rear deck and pressing RESTART/RUN, then holding down the KEYBOARD
key while the tape loads. After about 30 seconds a READY message
will appear on the screen from the CTOS (Cassette Tape Operating
System), which has just been loaded. Enter the command "RUN B"
and CTOS will load and run the program called "B", which is a
cassette-compatible version of USOOT, producing a new boot tape
for the DOS.
The generation tapes also provide an excellent backup copy of
all syste~ utilities and of the system files themselves. The
system files are on the DOS generation tape as files #21 through
#30 (SYSTEMO/SYS through SYSTEM7/SYS respectively). The
availability of such backups can be invaluable in event of massive
data loss on system disks.

6-6

DISK OPERATING SYSTEM

CHAPTER 7.

ABTONOFF COMMAND

7.1 Purpose
The ABTONOFF command is used to manually modify the ABTIF bit
in DOSFLAG (see the description of //ABTIF in the chapter on the
CHAIN command.)

7.2 Use
The command line for ABTONOFF is:
ABTONOFF []
Where  is one of "ON" or "OFF", specifying the desired
condition of the bit. The command will display the prior
condition of the bit before modifying its status. If it is
desired to just manually inspect the bit without modifying it,
specify no .

CHAPTER

7.

ABTONOFF COMMAND

7-1

CHAPTER 8.

APP COMMAND

8.1 Purpose
The APP command appends two object files together creating a
third. Object files are files containing absolute object code in
a format that can be loaded by the DOS loader.

8.2 Use
APP ,[J,
The APP command appends the second object file after the
first and puts the result into the third file.
Note that neither
of the input files are disturbed.
If extensions are not suppli'ed,
ABS is assumed. The first two files (if a second is specified)
must exist.
If the third file does not already exist, it will be
created. The first file's transfer address is discarded and the
new file is terminated by the transfer address of the second file.
The transfer address of an object file is defined as the entry
point of the program contained in the file.
Omitting the second file specification causes the first file
to be copied into the third file. For example:
APP DOG"CAT
will copy the file DOG/ABS into the file CAT/ABS.
The first and third file specifications are required.
either is omitted the message

If

NAME REQUIRED
will be displayed.
not be the same.

The second and third file specifications must

Because the APP command recognizes the actual end of the
object module contained in a file, APPing an object file, similiar
to the example above, is one technique for releasing excessive
unused space at the end of an object file.

CHAPTER

8.

APP COMMAND

8-1

Another use of the APP command is to append patches to object
files, since the object files being APPed may load at the same
address as the object code in the original program. However,
since the new code is at the end of the module, it is loaded over
the old code.

8-2

DISK OPERATING SYSTEM

CHAPTER 9.

AUTO COMMAND

9.1 Purpose
The AUTO command sets a program to be automatically executed
when the DOS is loaded. This auto-execute feature may be used to
facilitate automated procedures for unattended operation (as
described in the chapter on AUTOKEY), or for a varIety of other
purposes. AUTO can also simply change the program chosen for
auto-execution. Auto-execution is cleared by use of the MANUAL
command.
9.2 Use
AUTO is invoked by the comrnand
AUTO []
 is the name of the file to be auto-executed and must be
an executable object file on the booted drive of the system. The
default extension for  is ABS.
Following the program signon message, a line will be
displayed describing the prior status of auto-execution. If no
program was set to auto-execute, no message will be displayed.
If
there was a program set for auto-execute, the message
AUTO WAS SET TO filename/ext (pfn).
will appear, where "filename/ext (pfn)" specifies the name and
physical file number of the old auto-execute pr~gram. The
optional  on the command line is required if there was
not a previous program set for auto-execution.
If the 
is omitted when required the message
NAiv1E REQ ' D

will be displayed and the program will terminate.
If a  is given in the command line the message:
AUTO NOW SET TO filename/ext (pfn)

CHAPTER

9.

AUTO COMMAND

9-1

will be displayed (where pfn is the physical file number). When
the named file is set for AUTO execution a check is made to see if
the file is an object file and if the file is on the booted drive.
If the specified file does not exist, the message:
NO SUCH NAlvtE
will be displayed.

9.3 Operation of AUTOed Program
When a program is set to auto-execute, it will execute any
time the DOS is initialized. The automatic execution can be
suppressed by holding down the KEYBOARD key on the processor.
When the KEYBOARD key is depressed, DOS enters the normal command
interpreter ("READY" message) after initialization, regardless of
any program set for auto-execution.
Sometimes when a disk will not boot, the problem is caused by
an error in the auto-execute program. The program to be
auto-executed is identified only by its physical file number, so
if something has written over the program or if the program file
has been deleted, the system will hang up Hhen an attempt is made
to execute the file.
To bypass this kind of problem simply boot
the DOS while holding down the KEYBOARD key (to suppress
auto-execution) then execute the MANUAL command to clear
auto-execution.
The AUTO command specifies only the program to be executed,
providing no addi tional information .~vhen the specified program
is executed it is not given any command line information, since no
command line is provided. This characteristic of auto-execution
makes it impossible to use AUTO for programs requiring or even
accepting parameters from the command line.
Programs using
overlay files with the same name and a different extension will
not work when auto-executed because the name used to load the
overlay is usually obtained from the command line inforLnation.
Since almost all programs use command line information, very few
programs can be executed directly from auto-execution.
To overcome the limitations of direct auto-execution, the
command AUTOKEY makes it possible to extend the capabilities of
AUTO to encompass practically all programs. AUTOKEY is described
in a separate chapter later.
Automatic program execution is implemented by storing the
physical file number (PFN) of the file to be automatically

9-2

DISK OPERATING SYSTEM

executed. The PFN stored for this purpose is called the
Auto-Execute physical file number, or AEN. Whenever the operating
system is initialized by execution at the DOS$ entry point, the
file represented by the AEN of the booted drive is executed.
Normally the AEN is zero, representing no auto-execute program.
AUTO may set the AEN to any other value, allowing automatic
execution of any program, subject to the restrictions noted above.

CHAPTER

9.

AUTO COMMAND

9-3

CHAPTER 10.

AUTOKEY COMMAND

10.1 Purpose
Many users allow their Datapoint computers to run in an
unattended mode. This allows large data processing tasks, perhaps
running via the DOS command chaining facility (see CHAIN), to be
run during the evening hours when no operator is present. (An
example might be the creation of several new index files for one
or more large, ISAM-accessed data bases).
However, the momentary
power failures which data processing users are being forced to
contend with during times of shortage, thunderstorms and the like
can bring down any computer not having special, uninterruptible
power supplies. When this happens to a computer running in
unattended mode, the office staff will generally return the next
morning to find their computer sitting idle and its v-lork
unfinished.
The Datapoint computers are all equipped with an
automatic-restart facility which can be used to cause them to
automatically resume their processing tasks following such an
interruption. The purpose of the AUTOKEY (and AUTO) commands is
to provide a software mechanism for users who wish to handle such
unusual circumstances and provide for the restarting of a
processing task.
10.2 Use
To specify a command line to be used during automatic system
restart, simply enter:
AUTOKEY []
at the system console.
If no  is entered,
AUTOKEY will display the current autokey line if there is one and
then ask if this line is to be changed.
If "N" is answered,
AUTOKEY simply returns to the DOS and the DOS "READY" message is
displayed.
If "Y" is answered, AUTOKEY requests the new command
line to be configured and then returns to the DOS and "READY".
Alternatively, if the user wishes to simply specify a new
command line to be configured regardless of the current setting of

CHAPTER 10.

AUTOKEY COMMAND

10-1

the AUTOKEY command line, he can merely place the new command line
string after the "AUTOKEY" that invokes the AUTOKEY command. This
will cause AUTOKEY to simply display the old and new commmand
lines and return to DOS.
10.3 The Hardware Auto-Restart Facility
There are a number of ways Datapoint processors handle
auto-restart.
10.3.1 Processors with tape decks
There are two small tabs on the back edge (directly opposite
from where the tape is visible) of each cassette tape. The
leftmost of these (as you look at the top side of the cassette) is
the write protect tab, which prevents writing on the topmost side
of the tape. The right-hand tab is the auto-restart tab.
Users who frequently use both sides of cassettes will
probably immediately notice that if one turns over the tape, the
assignments of these two tabs switch around, the tab which had
been write protect now being auto restart and vice versa. This in
fact is precisely what happens.
If the auto-restart tab on the rear cassette is punched out
(or slid to the side), then the computer will automatically
re-boot, just like it does when RESTART/RUN is depressed, whenever
the processor goes to STOP. Assuming that the rear cassette drive
contains a DOS boot tape, this will cause DOS to come up and
execute any program set for auto-execution.
10.3.2 Processors without tape decks
The Datapoint 1100 family of processors are provided with
switch-selectable auto restart. The computer will either halt or
automatically restart upon being stopped, depending upon the
setting of an internal switch. This switch can be set by a
Datapoint representative upon request.
Datapoint 1800 and 6000 users are provided with a firmware
auto-restart. Thus if the machine ever halts (due to a power
failure for example), on being started again it will attempt to
load the operating system.

10-2

DISK OPERATING SYSTEM

10.4 Automatic Program Execution Using AUTO
In order to provide a mechanism for programs to resume
automatically following an interruption (such as a DATASHARE
system, for instance, which might be running unattended) DOS has a
comparable facility to enable a program to be automatically
executed whenever DOS comes up. (Note that any loading and
running the DOS, whether by an auto-restart, executing the RESTART
procedure, or under program control, will activate this facility.)
The AUTO command is used to establish a program to receive
control when DOS comes up. This setting can be cleared with the
MANUAL command. For some applications, the AUTO and MANUAL
commands are adequate to allow a programmed restart of a lengthy
data processing task.
However, some programs require parameters
be specified on the command line, and these are obviously not
present if no command line has been provided.
10.5 Auto-Restart Facilities Using AUTOKEY
AUTOKEY
way in which
auto-restart
the same one

is simply a command program which can be AUTOed. The
it works is very simple. If it is run via the DOS
facility, AUTOKEY supplies a command line just as if
line were entered at the system console.

The command line supplied to AUTOKEY could do anything that
can be specified in one command line to the DOS; DATASHARE could
be brought up, a SORT invoked, a user's own special restart
program started or even a CHAIN begun. AUTOKEY, when used with
AUTO, MANUAL, and CHAIN can therefore provide a very powerful
facility.
10.6 A Simple Example
As a simple example, assume that XYZ Company has several of
their sales offices on-line to their home office DATASHARE system,
which is running completely unatterided. Lightning strikes a
powerline outside of XYZ Company's home office, and power is cut
off for 15 seconds. As sQon as power is restored, their Datapoint
5500 computer re-boots its DOS (since the right-hand tab on the
boot tape has been punched out) and warmstarts the,DATASHARE
system. One command sequence to accomplish this would look like
the following:

CHAPTER 10.

AUTOKEY COMMAND

10-3

AUTOKEY
DOS. VER n.n AUTOMATIC KEYIN COMMAND
NO AUTOKEY LINE CONFIGURED.
CHANGE THE AUTOKEY LINE? Y
ENTER NEW AUTOKEY LINE:
DS55500
READY
AUTO AUTOKEY/CMD
AUTO NOW SET TO AUTOKEY/CMD (nnn)
READY
An alternate form of the above would be the following:
AUTOKEY DS55500
DOS. VER n.n AUTOMATIC KEYIN COMMAND
NO AUTOKEY LINE CONFIGURED.
ENTER NEW AUTOKEY LINE:
DS55500 <--- (this is supplied automatically)
READY
AUTO ~UTOKEY/CMD
AUTO NOW SET TO AUTOKEY/CMD (nnn)
READY
Once a program has been set for auto-execution, the only way
one can bypass it is to hold down the KEYBOARD key while the DOS
is coming up. This action bypasses the auto-executed program and
enters the normal command interpreter. The user then can use ihe
MANUAL command to clear the auto-execution option.
10.7 A More Complicated Example
The following example uses many of the features of other
facilities in the Datapoint system besides simply AUTOKEY.
Explaining all of these in detail is beyond the scope of this
section. The intention here is just to demonstrate the
sophistication possible using AUTOKEY in conjunction with the
other facilities within the DOS.
Let's assume that XYZ Company is running an eight-port
Datashare system. Each of the company's seven sales offices
around the country has a Datapoint 1100 computer which is
connected up to the home office Datashare system as a port. (The
eighth port is used by the home office's secretary, Susie.)
During the day, each of the seven sales offices makes inquiries of
the central inventory, price, and model code files through a
system of Datashare programs, and another Datashare program lets

10-4

DISK OPERATING SYSTEM

them key orders into a file called "ORDERSn" where n is their port
number. At the end of each business day, XYZ Company wants to
process these orders. First they put the seven files all into one
large file, sort it, and use a Datashare program to make
corresponding entries into the master order file. The master
order file is then reformatted and the index reconstructed. The
final step is to create a second copy of the master order file
onto magnetic tape, which will then be saved for backup purposes.
Since the operation just described is fairly lengthy, one of
the programmers at XYZ Company decided to allow it to run
unattended after everyone has gone home. They even set up Susie's
MASTER program so that it automatically takes down the Datashare
system and starts up the end-of-day processing one-half hour after
the company's Los Angeles sales office (two time zones behind the
Chicago main office) closes for the afternoon. When the daily
processing is completed, Datashare is brought back up again so
that it will be up by the time the first people start arriving at
the New York sales office the next morning, an hour before the
Chicago main office opens.
In the event of an unanticipated power failure, the system
will recover and bring itself back up, resuming operations at the
last checkpoint established by AUTOKEY. Notice that the system is
also left in a state such that after the chain completes,
Datashare will automatically restart in the event of any possible
system failure.
(NOTE:
Datapoint 9350 disk systems using Diablo
disk drives will initialize with hardware in "WRITE PROTECT" mode
after power interruption.)
The following chain file ("OVERNITE/TXT") accomplishes the
preceeding, assuming that sUbdirectory "SYSTEM" is used throughout
the chain. The chain file could be modified easily to eliminate
this assumption.
However, the chain file can be made almost
arbitrarily complicated; the point here is simply to show one of
many possible techniques for handling unattended operations which
wish to restart automatically in the case of some failure.
Notice
that the chain file might have to be modified depending on the
particular version of DATASHARE an installation is using.

CHAPTER 10.

AUTO KEY COMMAND

10-5

II IFS S1
II. FIRST SET UP FOR AUTO RESTART IF REQUIRED.
AUTOKEY CHAIN OVERNITE;S1
AUTO AUTOKEY/CMD
BUILD NULL;!
!

II. NEXT APPEND TOGETHER THE SEVEN FILES.
SAPP
SAPP
SAPP
SAPP
SAPP
SAPP

ORDERS1,ORDERS2,SCRATCH
SCRATCH,ORDERS3,SCRATCH
SCRATCH,ORDERS4,SCRATCH
SCRATCH,ORDERS5,SCRATCH
SCRATCH,ORDERS6,SCRATCH
SCRATCH,ORDERS7,SCRATCH
II. NOW SCRATCH CONTAINS THE DAILY FILES.
II. SET FIRST CHECKPOINT AT END OF PHASE 1
AUTOKEY CHAIN OVERNITE;S2
II XIF
II IFS S1,S2
II. PHASE TWO SORTS FILE "SCRATCH" INTO "ORDERDAY".
SORT SCRATCH,ORDERDAY;1-5
II. NEXT CHECKPOINT HAVING BUILT "ORDERDAY".
AUTOKEY CHAIN OVERNITE;S3
II XIF
II IFS S1,S2,S3
II. PHASE THREE PROCESSES THE FILE WITH A OS55500 PROGRAM.
BUILD CONFIGICHN;!
OS55500;C
Y
Y
Y
N

Y
N
N
Y
N

<----------null line (just hit enter)

CHAIN CONFIGICHN
DS55500 PROCESS

The program PROCESS/DBC ends with ROLLOUT "CHAIN NULL" to end the
program and continue the chain.

10-6

DISK OPERATING SYSTEM

I I. THE fv1ASTER ORDER FILE "ORDERl'1AS" NO'1'1 IS UPD?\TED.
II. SET NEXT CHECKPOINT
AUTOKEY CHAIN OVERNITE;S4
II XIF
II IFS S1,S2,S3,S4
II. PHASE FOUR REFORMATS THE MASTER ORDER FILE.
REFORMAT ORDERMAS,SCRATCH:WORK2;R
II. "SCRATCH" NOW IS A REFORHATTED COpy OF "ORDERMAS".
AUTOKEY CHAIN OVERNITE;S5
II XIF
II IFS S1,S2,S3,S4,S5
II. PHASE FIVE COPIES "SCRATCH" BACK TO "ORDERMAS"
COpy SCRATCH:WORK2,ORDERMAS
I I. " 0 RDE R~1 AS" 1StJ0 W REA DY FOR IN DE XI NG •
AUTOKEY CHAIN OVERNITE;S6
II XIF
II IFS S1,S2,S3,S4,S5,S6
II. PHASE SIX RECREATES THE INDEX FOR "ORDERMAS"
INDEX ORDERMAS;1-16
II. THE INDEX HAS NOW BEEN REBUILT.
AUTOKEY CHAIN OVERNITE;S7
II XIF
II IFS S1,S2,S3,S4,S5,S6,S7
II. NOW DUMP MASTER FILE TO 9-TRACK MAGNETIC TAPE.
TAPE ORDERMAS/TXT,I/E
B

o
200x4

X

*II.

NOW THE BACKUP COpy OF "ORDERMAS" IS ON TAPE.
AUTOKEY CHAIN OVERNITE;S8

IIXIF
IIIFS S1,S2,S3,S4,S5,S6,S7,S8
BUILD CONFIG/CHN;!
DS55500;C
Y
N
N
N
N
N
Y
N

3600
3600
3600
3600

CHAPTER 10.

AUTOKEY COMMAND

10-7

3600
3600
3600
3600
<------null line (just hit enter)
CHAIN CONFIG/CHN
KILL CONFIG/CHN

Y
KILL NULLITXT

Y
AUTOKEY DS55500
II. AND START UP OATASHARE FOR NEXT DAY.
OS55500
II XIF
10.8 Special Considerations
When building long chain files that allow for automatic
restart, several considerations must be made. Among these are
that a file must not be changed in such a way that the change
cannot be repeated if the previous checkpoint is actually used.
To accomplish this goal, frequently the file being updated must be
copied out to a scratch file, and the scratch file then updated.
Following the completion of the update is when another checkpoint
would be taken; following that the next phase would copy the
updated file back over the original. Note that a checkpoint (that
is, resetting the AUTOKEY command line) would have to be before
the creation of the dummy copy to be updated; putting a
checkpoint between the creation of the copy to update and the
actual updating process could result in the updating of a
partially updated copy.
A little thought when choosing places to
update the AUTOKEY command line is called for to ensure that the
chain may be resumed from any of them without incorrect results.
10.9 AUTOKEY and DATASHARE
Some users who make frequent use of the OATASHARE ROLLOUT
feature will notice that AUTO-ing AUTOKEY with the AUTOKEY command
line set to DS55500;R will mean that whenever any port rolls out
to any program or chain of programs, Oatashare is automatically
brought back up when that program or chain of programs finishes,
regardless of whether or not DS55500;R was included at the end of
the port's chain file.

10-8

DISK OPERATING SYSTEM

CHAPTER 11.

BACKUP COMMAND

11.1 Purpose
The BACKUP command provides for making copies of DOS disks.
The user can make either an exact mirror image copy of the input
disk or can select reorganization, which will group files by
extension and file name, remove unnecessary segmentation and allow
deletion of unnecessary files.
Reorganization also allows copying
of DOS disks onto disks with locked out cylinders that differ from
those on the input disk. Some special considerations apply for
specific disk configurations.
11.2 Use
A disk backup is initiated by the operator entering the
following command:
BACKUP ,[;options]
Input drive and output drive are specified as :DRn, or :Dn,
or :. If the drive selected as the input drive is not
protected (in "READ ONLY" mode), a message:
***PLEASE PROTECT YOUR INPUT DISK***
***OR, TAP "DISPLAY" KEY TO CONTINUE***
will be displayed.
At this point protecting the input drive or
holding down the DISPLAY key will cause the following message:
DRIVE n SCRATCH?
If the disk on drive n is scratch enter a "Y". Any other
reply will cause the program to return to DOS.
If you do reply
"Y", the program will display the message:
ARE YOU SURE?
If you are absolutely sure that you want to write over the
output disk, type "Y" again and press the enter key. Any other
reply will cause the program to return to DOS.
If the output disk
has not been DOSGENedor the DOS file structure on it has been

CHAPTER 11.

BACKUP COMMAND

11-1

damaged, the message:
DOSGEN YOUR DISK FIRST
will appear and control returns to DOS.
If the output disk has
been DOSGENed and seems in reasonable shape, the following message
is displayed:
FILE REORGANIZATION?
If different cylinders are locked out on the input and output
disks (if the disks' lockout CATs do not match), a mirror image
BACKUP is not possible so the "FILE REORGANIZATION?" question is
bypassed. Instead, a message appears specifying that
reorganization is required and BACKUP with reorganization proceeds
as described below.
If you wish to reorganize the files being transferred to the
output disk, enter a "Y" in response to the reorganization
question. In this case, see the section on reorganizing files for
further instructions.
If you do not wish to reorganize your files and desire a
mirror image copy of your input disk, enter an "N" in response to
the reorganization question.
11.2.1 Options

DOS. C BACKUP is capable of "eliminating" the SYSTEI'1 files on
the output drive during reorganization. This saves 60 sectors on
a DOS.C diskette system. The SYSTEM files are not really
eliminated, however, they only take the minimum amount of space
possible (3 sectors each on DOS.C). To eliminate the-SYSTEM
files, use a "; N" for [; option] on the command line and use BACKUP
with reorganization.
The output diskette generated in such manner is not capable
of booting or executing DOS by itself, however, if it becomes
necessary to put the system files and the contents of that
dis k e t teo n to a n e \-1 dis k e t t e, u se the "; S" 0 P t ion. The S YS TEM
files from the booted drive will be copied onto the output
diskette, along with the files from the input drive. This
operation requires a three drive system.

11-2

DISK OPERATING SYSTEM

11.3 Mirror Image Copy
If you have typed "N" in response to the file reorganization
question, the program will ask the question:
DO YOU WANT THE OUTPUT COpy VERIFIED?
The output copy should always be verified, so answer this
question 'Y'. Answering 'N' will result in a somewhat faster
backup operation, but there will be no testing for parity errors
on the output disk.
The program then asks:
DO YOU WANT TO COPY UNALLOCATED CLUSTERS?
Type "Y" and press the enter key if you want all data on the
disk copied regardless of whether or not it is in an area
allocated by DOS. This option is preferred in cases where you
suspect that your DOS files may be partially destroyed or the
output disk has never been fully initialized with data. Also use
this mirror image copy if you have the 9314 disk system and one of
the drive's heads gets misaligned. Backup will use the offset
feature to try and retrieve your data. If BACKUP uses the track
offset it will slow the program down but it could save your data.
Type "N" and pr es s the en ter ke y if you wi sh to copy your
disk as quickly as possible without copying unused areas of the
input disk. "Y" and "N" are the only replies allowed.
A mirror image backup makes the output disk a complete image
of the input disk. Following mirror image backup the volid of the
output disk is the same as the volid of the input disk, since even
the volid sector was copied during the backup. Mirror image
backup requires that the output drive have the same cylinders
locked out as the input drive.
11.4 Reorganizing Files
If you have typed "Y" in response to the file reorganization
question, the program will copy the System files, sort the
Directory names, and allow the operator to delete files before
copying the files to the disk copy.
Backup with reoganization to the booted drive is not
possible.

CHAPTER 11.

BACKUP COMMAND

11-3

11.4.1 Copying DOS to Output Disk
Various program status messages will appear during the
copying of DOS. System tables are initialized and then the
SYSTEMn/SYS files are copied to the output disk. The system
tables themselves are not copied from the input disk to the output
disk, as is done in a mirror image backup. Following backup with
reorganization the volid of the output disk is unchanged from what
it was before the backup.
11.4.2 Deleting Named Files
When all directory names have been sorted into file extension
followed by file name sequence the following question will be
displayed:
DELETE ANY FILES DURING REORGANIZATION?
Type "N" and press the enter key if all files are to be
copied. Type "Y" and press the enter key if you wish to delete
any files.
If you reply "Y" a message asking \vhich files are NOT
to be copied will appear. The lower screen will be filled by a
numbered list of files for you to choose from.
Type the number or
range of numbers (nn or nn-nn) found next to names of indivi-dual
files you wish deleted. Type "ALL" and press the enter key if you
wish to delete all of the files in the list. The files selected
for deletion will be erased from the list. When all desired
deletions have been made from a list, type"." and press the enter
key to advance to the next list of file names.
When all file name lists have been examined, the program will
advance to the copy named files phase.
11.4.3 Copying Named Files
Files with names in the system directory are copied in
alphanumeric file extension, file name sequence. The name of each
file is displayed as it is copied. All files are written as close
together as possible with a minimum of segmentation.

11-4

DISK OPERATING SYSTEM

11.5 Use of KEYBOARD and DISPLAY Keys
The KEYBOARD and DISPLAY keys may be pressed any time
messages are being displayed. Depressing the DISPLAY key will
hold the current display until the key is released. Depressing
the KEYBOARD key will cause the program to terminate and return to
DOS.
11.6 Error Messages
During the execution of BACKUP the following error messages
may appear:
*** PLEASE PROTECT YOUR INPUT DISK ***
*** OR, TAP "DISPLAY" KEY TO CONTINUE***
Action: Write-disable the input drive.
INVALID DRIVE SPECIFICATION!
Retype the BACKUP command with correct J,[;optionJ
The first file specification refers to the command file, if not
specified the commands will be entered via the keyboard. The
second file specification names the new (output) file.
If no
extension is supplied with the first file specification, TXT is
assumed. If no extension is supplied with the second file
specification, the extension given or assumed for the first file
is used. If no drive is given for the first file, all drives are

CHAPTER 12.

SLOKEDIT COMMAND

12-1

searched. If no drive is given for the second file, the drive
g i v en 0 r ass u med for the fir s t f i 1 e is use d . I f nod r i ve was
specified for the first file specification then both files are
opened on the first available drive. The specified output file
must not exist on any drive on line unless the "0" option is used,
in which case the file is overwritten.

12.3 File Descriptions
BLOKEDIT deals only with text files. For any given
application there will be one text file called the COMMAND FILE
which will hold the controlling commands for BLbKEDIT. Optionally
the controlling commands may be entered directly to BLOKEDIT via
the keyboard by omitting the command file parameter. There will
be one or more text files called SOURCE FILES from which lines of
text will be copied. And there will be one text file called the
NEW FILE which will be the desired end result for the application.

12.3.1 Command Statement Lines
The command statements are the controlling factor for a
BLOKEDIT execution. The command statements specify which source
files will be used and which lines of text will be copied from
them.
If the command statements are to be read from a command
file it must be generated by the DOS. EDIT command, or DOS. BUILD
command, etc., before BLOKEDIT can be used.
There are three kinds of statement lines that are meaningful
to BLOKEDIT: COMMENT lines, COMMAND lines, and QUOTED lines.
A COMMENT line is a line which has a first character of
period.
This is an example of COMMENT LINES:
. THESE THREE LINES ARE COMMENT LINES.
As in program source files, a comment line may have
explanatory notes or nothing at all following the period.
A COMMAND LINE is a line which has a SOURCE FILE NAME and/or
source file LINE NUMBERS, or begins with a double quote symbol
(

") .

12-2

DISK OPERATING SYSTEM

The following are some example command lines:
FILENAME/EXT:DRO
1-100
350-377
150/TXT

NAME
COpy
COpy
NAME

THE SOURCE FILE
LINES 1 THRU 100
LINES 350 THRU 377
THE SOURCE FILE

A command line must have a first character of an upper-case
alphabetic character, or a digit, or a double quote symbol.
A command line that begins with an upper-case alphabetic
character indicates that a new SOURCE FILE is being named.
A new
source file can be named only by putting the name of the file at
the very beginning of the command line. Optionally, the extension
and/or drive number for the file may be included with the source
file name.
If the source file name begins with a digit the file
extension must be given.
A command line that begins with a digit indicates that the
command line ~ill have ope or more numbers, which are the numbers
of the lines to be copied from the source file previously
specified into the new file.
A command line that begins with a double quote symbol
indicates the beginning/ending of QUOTED LINES. The only
information used by BLOKEDIT in a command line that begins with a
en) is the en) itself, therefore the rest of the line can be used
for comments.
A QUOTED LINE is a line between a pair of command lines which
begin with a double quote symbol.
This is an example of QUOTED LINES:
n THIS IS THE BEGINNING OF QUOTED LINES COMMAND LINE.
INCMNT HL
COUNT
POINT TO COUNTER
LAi'1
LOAD TO "A" REGISTER
AD
INCREMENT BY 1
LMA
RESTORE TO MEMORY
" THIS IS THE ENDING OF QUOTED LINES COMMAND LINE.

There may be more than one quoted line between the command
A quo ted 1 i n e wi 11 be cop i e d d ire c t 1 y
from the command file or keyboard to the new file.
Quoted lines
enable a BLOKEDIT user to include original lines of text in a new
file along with lines copied from source files.
1 i n est hat beg i n wi t h (").

CHAPTER 12.

BLOKE DIT COMI'1AND

12-3

12.3.2 Source File
The SOURCE FILE is a text file from which lines will be
copied. Source files are named in the command lines for a
BLOKEDIT application, and the lines to be copied from the source
file will also be specified in the command lines.
It will be
useful to have a listing of a source file with line numbers, as
produced by the LIST command, when creating the command statement
lines for a BLOKEDIT application.
12.3.3 New File
The NEW FILE is a text file produced by the BLOKEDIT command.
The new file is named at BLOKEDIT execution time by the second
file specification entered on the command line.
12.4 Messages
This section describes the operator messages that BLOKEDIT
may display on the CRT screen during execution. Some of the
messages are monitor messages to keep the operator informed of the
progress of the program, while other messages are error messages.
If the keyboard was selected as input to BLOKEDIT, the user will
be prompted by the "Please enter BLOKEDIT command
Enter * to
exit." message when input is required. The character * will
terminate SLOKEDIT and return to DOS.
The general format of the CRT display screen varies depending
on the source of the BLOKEDIT command statements.
If the command statements are being read from a command file
the format of the display is:

12-4

DISK OPERATING SYSTEM

/

DOS. VER. TEXT FILE BLOCKEDIT DATE
PROCESSING COMMAND LINE nnn CURRENT

oU'fpuf" FILErS-XXXXX7XX-\
SOURCE IS XXXXXXX/XXX:DR

Error Message Displayed Here If Necessary
\

If the command statements are being entered via the CRT keyboard,
the format is:

/-150S:-VER:-fExTFILE-BLOCKEOrr-DATE--·-OUTp·UT-flrEIs-xxxxXXX/XX\
PROCESSING COMMAND LINE nnn CURRENT SOURCE FILE IS -NONE-/ :DR

PLEASE ENTER A BLOKEDIT COMMAND

ENTER

*

TO EXIT

\

/

As BLOKEDIT commands are entered on the bottom line, previous
lines are rolled up the screen.

CHAPTER 12.

BLOKEDIT COMMAND

12-5

12.4.1 Informative Messages
PROCESSING COMMAND LINE .. CURRENT SOURCE FILE IS .. I .. :DR.
This message is the BLOKEDIT monitor message.
This message
is displayed while BLOKEDIT is writing lines of text to the new
file.
The monitor message displays the command file line number
currently being processed and the name, extension, and drive
number of the last named source file.
SOURCE FILE WENT TO E.O.F.
This message is displayed if the source file from which lines
were being copied ended before the specified lines were finished.
BLOKEDIT TRANSFER COMPLETE
OUTPUT FILE WAS name LINE COUNT WAS nnn
This message is displayed when all of the command file lines have
been executed. The number of lines in the new file is displayed
following the second line.
12.4.2 Fatal Errors
If SLOKEDIT detects a fatal error in the command statement
line the monitor message is rolled up the screen, an appropriate
error message is displayed, and the program aborts.
***NEW FILE NAME REQUIRED***
This message is displayed if the operator did not name a new
file when the BLOKEDIT command was called.
***COMMAND FILE DRIVE INVALID***
This message is displayed if the operator specified for the
command file a drive number that is invalid.
***NEW FILE DRIVE INVALID***
This message is displayed if the operator specified for the
new file a drive number that is invalid.
***COMMAND AND NEW FILE NAMES MUST NOT BE IDENTICAL***
This message is displayed if the operator specified command
file and new file names the same and the extension and the drives

12-6

DISK OPERATING SYSTEM

for the files were specified or assumed to be the same. Default
values of extensions and drives are described in an earlier
paragraph.
***COMMAND FILE NOT FOUND***
This message is displayed if the command file name was not
found on the drive(s) specified or assumed.
***NEW FILE NAME IN USE***
USE '0' OPTION ON COMMAND LINE TO OVER-WRITE EXISTING OUTPUT FILE.
This message is displayed if the specified output file was
found on the drive(s) specified or assumed. BLOKEDIT will not
write into an existing file if commands are being read from a
command file. If commands are being entered to BLOKEDIT via the
KEYBOARD, the operator is given the option to overwrite the
existing file:
***NEW FILE NAME IN USE, OVERWRITE IT? ANSWER WITH A YES OR NO
If the operator answers Yes (Y) the file is overwritten.
If the reply is No (N) BLOKEDIT returns control to DOS.
***BAD FILE SPECIfICATION***
This message is displayed if the first character of a command
file line, other than a quoted line, is an upper-case alpha
character but the DOS file specification was not recognizeable.
12.4.3 Selectively Fatal Errors
These errors are fatal when BLOKEDIT is reading a command
file, and informative when commands are being entered via the
keyboard.
**SOURCE FILE NOT FOUND**
This message is displayed if the source file specified could
not be found.
It is probably either misspelled or in a different
subdirectory.
**BAD LINE NUMBER SPECIFICATION**
This message is displayed if a command file line other than a
quoted line began with a digit but contained an unrecognizable
line number specification.

CHAPTER 12.

BLOKEDIT COMMAND

12-7

Here are some examples of valid line numbers:
4

999999
100-364
34,55-78,100-147

A single digit is acceptable.
A line number may have up to six digits.
First and last line to be selected are
separated by a dash.
Commas separate line specifications.

Here are some examples of invalid line numbers:
1A

123456'7
1'7 -34-'77

Only "-", ",", or space after a digit,
unless the line is a source file
name beginning with a digit. If it is,
an extension must be given.
Number has more than six digits.
Only two numbers separated by "_rI

**LINE NUMBER ZERO IS NOT VALID**
This megsage is displayed if a line number of zero is
specifed in a command line. It is ignored if entered via the
keyboard.
**START LINE NO.

> END LINE NO**

This message is displayed if the first number of a line
number pair is larger than the second number of the pair, as in:
235-176. It is ignored if entered via the keyboard.
**BAD DATA IN SOURCE FILE LINE nnn

***

This message is displayed if SLOKEDIT discovers non-ASCII
characters in a source file. The line number will be displayed
following the message.
If commands are being entered via the
keyboard the source file is reselected, and next command is
requested.
**NO VALID SOURCE FILE FOR TRANSFER**
This message is displayed if SLOKEDIT discovers line numbers
to be transfered from a-source file when there is no open source
file.

12-8

DISK OPERATING SYSTEM

**FORMAT OR RANGE ERROR ON SOURCE FILE**
This message is displayed if DOS discovers a file which can
not be read. If commands are being entered via the keyboard the
source file will be de-selected, and next command requested.

CHAPTER 12.

BLOKEDIT COMMAND

12-9

CHAPTER 13.

BOOT

13.1 Purpose
The Alternate Drive Boot program provides a facility allowing
a Datapoint disk user to boot to any drive in his system. This
can be helpful with single drive systems using multiple logical
drives per physical drive when it is necessary to DOSGEN or to
BACKUP a pack with reorganization. If it is desired to DOSGEN
disks on a single physical drive system, there is a peculiar
problem: If DOS is running on drive 0, you cannot remove the disk
in drive 0 and replace it with a scratch disk and continue with
DOSGEN. This program lets you boot from drive 1 so that the
DOSGEN program can be executed on drive o. It is assumed that
DOSGEN, CHAIN, COpy and PUTIPL are on drive 1.
13.2 Use
To boot DOS from a different drive than the currently
"booted tl drive, enter:
BOOT [:][;]
~~here the new "boot" drive is specified by  and the new DOS
command line following the semi-colon will be executed when the
boot process completes on the new drive.
If you are not sure
where the currently booted drive is, enter:

BOOT
This will display the location of the booted drive on the screen,
and ask for a new boot drive.

CHAPTER 13.

BOOT

13-1

13.3 Messages

WRONG DOS!!!
This program only operates on DOS version 2.5 or higher.
CURRENT "BOOTED" DRIVE IS :DRn.
This is a display of the currently "booted" drive.
THAT DRIVE IS OFF-LINE.
You requested booting from a drive that is not currently
available.
NOW BOOTING DOS FROM :DRn.
DOS will be booted from the new drive.
ENTER NEW "BOOT" DRIVE NUMBER (O-nn).
If a drive number was not specified on the command line,
you may enter a drive number here.
ENTER A DOS COMMAND LINE, OR TAP "ENTER".
When DOS is booted, it is possible to execute a command
line (like CHAIN, for example) as soon as the booting
process is done. If a DOS command line and a drive
specification were omitted when this program was entered,
you may now enter any valid DOS command line.

13-2

DISK OPERATING SYSTEM

CHAPTER 14.

BUILD COMMAND

14.1 Purpose

BUILD provides an alternative means to create a text file
without having to use the standard DOS editor. BUILD is useful
for rapid generation of very short text files, such as two and
three line CHAIN files.
Also, BUILD is usable from within a
CHAIN.
14.2 Use
The BUILD command is invoked by entering the command line:
BUILD [;]
The  defines the output file. This output file
specification is always required.
If the named file does not
exist, it is created. The default extension is ITXT.
The  is optional. If no end character is
specified on the command line, BUILD terminates upon receiving a
null input line (a null input line is a line consisting of only an
ENTER; a blank line is not a null line).
BUILD accepts input lines from the keyboard and writes each
one to the output file. When BUILD is ready to accept an input
line it displays a colon (:) as a prompting character.
Each input
line BUILD receives is tested for the presence of the specified
end character, if any, as the first character eqtered.
If the end
character is present as the only character of the entered line,
the end line is discarded (it is not written to the output file),
and an end of file mark is written to the output file and the
output file closed by returning to DOS.
Entering an end character followed by a string will pass the
string to the output line without the end character and will not
terminate BUILD. This action allows entering CHAIN commands into
a chain file being written by BUILD from within an active CHAIN.

CHAPTER 14.

BUILD COMMAND

14-1

14.3 A Simple Example
Suppose that the operator wishes to construct a simple CHAIN
file to establish a program to be auto-executed, so that the
auto-execute request can be accomplished later with a single
command line entered at the keyboard.
All that is required is to
enter at the system console:
BUILD ;A
AUTOKEY 
AUTO AUTOKEY/CMD
Upon recelvlng the " . . " input line, BUILD closes the output
file and terminates.
Note that in the two places where the If .... "
appears, any enterable character could have been used. (This
allows nesting calls to BUILD, which can be very useful in the
BUILDing of chain files). After the BUILD command is finished,
the output file named on the BUILD command line contains the
following two lines:
AUTOKEY 
AUTO AUTOKEY/CMD
files
files
chain
CHAIN

It is also possible, through BUILD nesting, to create chain
which during execution of the chain construct other chain
and execute them automatically upon completion of the first
(since any statement of a chain file is allowed to be a
command).

The chapter on the CHAIN command contains further examples of
the use of BUILD from within a CHAIN procedure.
14.4 KEYBOARD and DISPLAY Keys
The KEYBOARD and DISPLAY keys may be pressed any time
messages are being displayed. The keys will be effective just
prior to the display of the prompting ":". Depressing the DISPLAY
key will hold the current display until the key is released.
Depressing the KEYBOARD key will cause the program to terminate
and return to DOS.

14-2

DISK OPERATING SYSTEM

CHAPTER 15.

CAT COMMAND

15.1 Purpose

The CAT command selectively displays filenames in the DOS
directory or in a library directory. One may choose to display all
cataloged filenames on all drives online, or specific filenames on
specific drives.
15.2 Use

The CAT command is invoked by entering the command line:
CAT [][/][:][*][,L]
where:  specifies the filename or a portion of the
filename,  specifies the extension or a portion of the
extension,  specifies the logical disk drive, an asterisk
indicates the named file is a library, and L specifies list only
those files in the current subdirectory.
The default handling of the various input fields is any file
name, any extension, input not a library, and any subdirectory.
If the asterisk is used to specify a library check, the default
file name and extension becomes UTILITY/SYS.
Directory entries are displayed in the form:
NAME/EXTENSION (PFN) P
where PFN is the physical file number in octal (0-0317) and P is
the protection on the file; D for deletion, W for write, and blank
for none. If the file displayed is in a subdirectory other than
system, the directory entry is displayed in the form
NAME/EXTENSION-(PFN)P
with the dash indicating a sUbdirectory entry. All drives are
searched, unless a specific drive is requested, and as each drive
is scanned, the line
---- DRIVE n VOLUME ID (volid)

SUBDIRECTORY (subdirectory name):

CHAPTER 15.

CAT COMMAND

15-1

is displayed. This line is not displayed if the drive is not on
line, or if no files from it are to be displayed.
Depressing the DISPLAY key causes the catalog display to
pause as long as the key is held. Depressing the KEYBOARD key
causes the catalog display to terminate.
If CAT is already
displaying it will abort immediately. If CAT is still searching
it will abort when it changes drives.
If the CAT command is parameterized by an extension, only
files of that extension will be displayed.
If the CAT command is
parameterized by a name, only files of that name will be
displayed.
If the CAT command is parameterized by a name and an
extension, only files of that root name and extension (all drives)
will be displayed.
If the CAT command is parameterized by a drive
number, only files on that drive will be displayed. If only a
portion of the filename is entered, all files beginning with the
letters specified will be displayed. For example, entering:
CAT IT
would cause the display of all files on all on-line drives whose
extensions start with "T". Entering:
CAT MA:WORK2
would cause the display of all files on symbolic drive "WORK2"
whose file names start with "MA".

15-2

DISK OPERATING SYSTEM

CHAPTER 16.

CHAIN COMMAND

16.1 Purpose

The CHAIN command executes a series of programs as defined by
a procedure file created by the user.
The procedure file
contains the commands to invoke all required programs, and all
inputs for those programs. Basically, CHAIN repla6es the DOS
keyboard entry routine with a routine that reads lines from a work
file when the keyboard entry routine is called. Each time any
program would normally request a line to be entered from the
keyboard, it will read from the work file instead. When the last
line of the work file has been read, DOS is reloaded and commands
are again accepted from the keyboard.
CHAIN features several directives to control the procedure
executed. Tags defined on the CHAIN command line can be specified
to modify lines of the procedure file. CHAIN provides procedure
restart capabilities via "CHAIN *" and "CHAIN/OV1". When used
with AUTO and AUTOKEY, CHAIN provides an extensive automatic
procedure facility, as described in the AUTOKEY chapter.
The procedure file is a normal DOS text format file.
Procedure files are generally created using the DOS editor or the
BUILD command, but may also be created by any means producing a
suitable text file (a DATABUS program, for example).
16.2 Use
The command line to invoke a CHAIN procedure is of the form:
CHAIN [;[=J[,[=J . . . J[-JJ
 is the user-defined chain procedure file.
This file
must already exist and must be specified on the command line. The
default extension is fTXT. The  and  entries in the
option field are chain tags and their substitutIon values,
described fully below. The substitution value for a tag may be
specified in the form ## as well as in the form
=·
The CHAIN command line can be extended to more than one line

CHAPTER 16.

CHAIN COMMAND

16-1

by placing a hyphen (-) at the end of the option field. After
scanning the current line of the command, CHAIN will display a
colon as a prompt for the operator and wait for entry of another
line of tags and substitution values. The command can be
continued for several lines by repeated use of the hyphen.
16.2.1 CHAIN Compilation
CHAIN executes two phases, the first of which is compilation.
During compilation the specified procedure file is read and
compiled into a chain work file. Compilation consists of
evaluating and executing CHAIN directives and performing tag
substitution. The output of compilation is placed in a file
called CHAINP/SYS, which directs the operation of the program
chain during execution phase.
The chain work file is always placed on the same logical
drive as CHAIN/CMD and CHAIN/OV1, the CHAIN program files. When
operating under PS (Datapoint Partition Supervisor) the partition
10 is used in the' work file name instead of "P" to assure unique
identification of the chain work file for each partition. The
work file is placed in subdirectory SYSTEM no matter what the
current subdirectory is, so the current subdirectory can be
changed during the chain and the work file will still be
accessible. If the work file is created on an ARC (Attached
Resource Computer) remote volume it is placed in the current
subdirectory (rather than SYSTEM) to avoid work file usage
conflicts among different applications processors.
When CHAIN is used recursively (that is, when CHAIN is
invoked from within a chain procedure) the same work file is
re-used, the additional compiled information being added to the
end of the file.
The extent of recursive nesting of chain
procedures is limited only by the amount of space available for
the work file.
16.2.2 CHAIN Execution
Execution begins following compilation, when the 'first line
of the chain work file is read and given to DOS as a command line
input. Execution continues until the work file is exhausted or a
fatal error occurs. During CHAIN execution the DOS keyboard entry
routine is replaced by a disk read routine so that any entry
normally read from the keyboard will be read instead from the
chain work file. For details on this execution interface see the
section on "CHAIN Programming Considerations".

16-2

DISK OPERATING SYSTEM

CHAIN execution is aborted when:
1.

A line from the chain work file is longer than allowed. DOS
command lines within the chain procedure can be 80 characters
long. The allowable length of lines for input to different
programs depends on the programs used. For example, when a
program requests a file name it generally allows about 20
characters to be entered.
If a chain procedure gave a line of
30 characters in response to such a request the chain would
abort.

2.

The end of the work file is reached while a program is
requesting input. The work file must provide all responses
needed for execution of the programs used; it cannot invoke a
program then end without supplying all required inputs.

3.

An //ABTIf directive is executed when the ABTIr bit is set.
See the section on "ABORT Directives".

4.

A program executing during the chain procedure terminates in a
fatal error.
Each program can control whether it aborts or
continues a chain upon termination. For details see the
section on "CHAIN Programming Considerations".

16.3 Tag Definition
The CHAIN command line can contain both tag names and
substitution values for the tags. The tag names can be from one
to eight characters in length and may have values from one to
seventy characters in length. A tag must contain only letters or
digits. The value of a tag may contain any valid character except
comma (,), equals (=) or pound sign (#). The character
restriction depends on the syntax being used.
A tag is defined by just its presence on tke CHAIN command
line. Tags may have a value given to them by one of the following
syntaxes:
CHAIN DOIT;LIST,DATE=30NOV76,TIME=1500hr

(New Syntax)

CHAIN DOIT;LIST,DATE#30NOV76#,TIM£#1500hr#

(Old Syntax)

Both syntax structures are supported and the result of the
two CHAIN commands is identical. The tag LIST has been defined
but has a null value; DATE has the value of 30NOV76 and TIME has
the value of 1500hr.

CHAPTER 16.

CHAIN COMMAND

16-3

CHAIN allows two uses to be made of tags:
1. A tag can be tested to determine whether it was defined
on the CHAIN command line.
2.
The value of the tag can be substituted on CHAIN input
statements before the line is written to the work file.

16.4 CHAIN Directives
All CHAIN directives are denoted by the characters "II" at
the beginning of a line. Any number of spaces (including zero)
are scanned until the CHAIN directive is reached. The first thing
after the "II" must be a valid CHAIN directive else an error
message is issued and CHAIN is aborted. The following is a list
of these statements.

IIIFS
IIIFC
IIXIF
IIELSE
IIBEGIN
IIEND

IF SET (TAG DEFINED)
IF CLEAR (TAG NOT DEFINED)
END OF IF
REVERSE EFFECT OF IF
BRACKETS A GROUP OF
IF/ELSE/XIf STATEMENTS
EXECUTION TIME COMMENT
EXECUTION TIME BREAKPOINT
ABORT CHAIN COMPILATION
CONDITIONALLY ABORT CHAIN EXECUTION
(Note that the II's
COMPILATION TIME COMMENT.
are not present)

II.

11*

IIABORT
IIABTIF

16.4.1 IF Directive
The IF directive has two variations, IFS and IFC, which are
IF SET and IF CLEAR. The IFS directive proves positive if the tag
named appeared on the CHAIN command line, and negative if the tag
was omitted.
For example:

IIIFS LIST
will prove positive if LIST was mentioned in the CHAIN command
line, and negative if the tag does not exist, and

IIIFC LIST

16-4

DISK OPERATING SYSTEM

will prove positive if LIST was omitted and negative if it
appeared on the CHAIN command line.
When an IF directive tests negative, it causes the chain
compilation to skip all following lines of the procedure file
until a directive is reached which clears the effect of the IF (an
ELSE or XIF). When an IF directive tests positive it has no
effect on the chain compilation.
Normally the chain compilation
iss aid to" inc 1 u de" 1 i n e s fr 0 m the pro c e d u ref i 1 e j inc 1 us ion i s
inhibited by a negative evaluation of an IF directive.
Simple logical operations can be performed by IF directives.
The tags to be used are separated by logical operators. The
log i calOR i sin d i cat e d by':' ( v e r tic alb a r) 0 r ',' ( co mm a). Th e
logical AND is indicated by '&' (ampersand) or '.' (period). For
example the following lines are in the file DOlT:

IIIFS DATE&TIME:QUICK
DB C["1 PTE S T ; L
SAMPLE COMPILE

or

IIIFS DATE.TIME,QUICK
DBCMP TEST;L
SAMPLE COMPILE

If DATE and TIME or QUICK are defined on the CHAIN command line
the DBCMP lines will be included in the work file.
CHAIN DOITjDATE=30NOV76,TIME=1500hr
or
CHAIN DOIT;QUICK
or
CHAIN DOITjDATE,TIME
will all result in a true logical condition and the DBCMP lines
will be included.
IF directives are only evaluated if lines are being included.
If'one IF directive has proven negative and has inhibited the
inclusion of lines, all following IF directives will be ignored
until either an ELSE or XIF statement is found.4 For example~
IIIFS DATE
IIIFS TIME
DBCMP TESTjL
SAMPLE COMPILATION

IIXIF
If DATE was not defined, all lines until the IIXIF will be
ignored.
In this example, if DATE were not defined the IIIFS TIME
statement would not be evaluated and the DBCMP TEST;L would not be
included even if TIME was defined.

CHAPTER 16.

CHAI N COtv1MAND

16-5

16.4.2 ELSE/XIF Directives
CHAIN has two directives that will alter the inclusion of
lines from an IF directive. The first is the XIF directive.
It
will unconditionally terminate the range of the last IF directive.
The second is the ELSE directive; it will reverse the results of
the last IF directive; that is to say, if lines were being skipped
because the last IF proved negative, an ELSE would cause lines to
be included.
For example, the DOlT file contains the following lines:

IIIFS LIST
DBCMP TEST;L
SAMPLE COMPILATION
IIELSE
DBCMP TEST
IIXIF
I/IFS TAPE
MOUT;D,30NOV76,V
TEST/DBC

*//XIF
If CHAIN is invoked by 'CHAIN DOIT;LIST' the work file will
contain
DBCMP TEST;L
SAMPLE COMPILATION
If invoked by 'CHAIN DOIT;TAPE', the work file will contain
DBCMP TEST
MOUT;D,30NOV76,V
TEST/DBC

*
16.5 Tag Value Substitution
A tag value is substituted whenever a pair of '#\ symbols are
found with a syntactically valid tag name between them. The value
substituted is the tag value given in the CHAIN command line.
For example, contents of a file called DOlT:

16-6

DISK OPERATING SYSTEM

DBCMP TEST;XL
TEST PROGRAM COMPILED ON #DATE# -- UTIME#
DBCMP #NAME#;XL
#NAME# PROGRAM COMPILED ON #DATE# -- UTIME#
If CHAIN is invoked by
CHAIN DOIT;TIME=2400hr,DATE=29NOV76,NAME=TEST2
the work file will contain
DBCMP TEST;XL
TEST PROGRAM COMPILED ON 29NOV76 -- 2400hr
DBCMP TEST2;XL
TEST2 PROGRAM COMPILED ON 29NOV76 -- 2400hr
If a tag is mentioned in the CHAIN command line but given no
value and if the value is to be used for substitution, a null
value is substituted for the Utag# within the line. The effect is
that the OtagO characters disappear froln the line. Continuing the
above example, if CHAIN was invoked by
CHAIN DOIT;DATE=29NOV76,NAME=TEST2
the work file will contain
DBeMP TEST;XL
TEST PROGRAM COMPILED ON 29NOV76 -DBCMP TEST2;XL
TEST2 PROGRAM COMPILED ON 29NOV76
16.6 BEGIN/END Directives

The BEGIN and END statements allow groups of IF/ELSE/XIF
statements to be parenthesized. A counter called the BEGIN/END
counter is initialized to zero when compilation of a procedure
begins. If the use of procedural lines is turned off and a BEGIN
operator is encountered, then the BEGIN/END counter is
incremented. If an END operator is encountered, then the
BEGIN/END counter is decremented unless it is already zero. The
ELSE and XIF operators have no effect if the BEGIN/END counter is
not equal to zero. For example:

CHAPTER 16.

CHAIN COMMAND

16-7

IIIFS FLAG1
DBCMP TEST1;XL
TEST PROGRAM ONE
IIELSE
IIBEGIN
IIIFS FLAG2
DBCMP TEST2;XL
TEST PROGRAM TWO
IIELSE
DBCMP TESTTEST;XL
TEST TESTER

IIXIF
IIEND
IIXIF
IIIFS FLAG3.FLAG27

LIST SCRATCH;L
THE SCRATCH FILE AT FLAG 27

IIXIF
The 6th through the 12th lines will not be used if FLAG1
exists, notwithstanding the fact that there is an ELSE and XIF
operator within those lines, because the BEGIN/END pair prevented
these statements from having any effect.
16.7 ABORT Directives

The IIABORT statement will cause CHAIN to return to DOS if it
is processed. For example:

IIIFC TIMElDATE

**** TIME AND DATE ARE BOTH REQUIRED
IIABORT
IIXIF

If the procedure file is invoked with TIME or DATE missing, the
error message comment line would be displayed, and the compilation
of the input file would ABORT.
The IIABTIF statement will conditionally cause the execution
phase of CHAIN to ABORT. This statement causes DOSFLAG to be
examined and if bit 7 (ABTIF) is on, the chaining will abort. Bit
'1 of DOSFLAG is the abnormal program completion bit.
If non-fatal
errors have been found during the execution of the last program

16-8

DISK OPERATING SYSTEM

the ABTIf bit should be set.
contains:

For example, the procedure file

ABTONOFF OFF
KILL TESTFILE/CMD

Y
IIABTIF
KILL OUTPUT/TXT
Y

If the file TESTFILE/CMD is not found by KILL, it will set the
ABTIF bit. When the IIABTIF statement is processed the abnormal
program completion bit will be check~d, and in this case it will
be on, so the CHAIN will be aborted.
The ABTONOFF command should always be used to turn the ABTIF
bit off prior to execution of a program which will be tested using
IIABTIF. Once ABTIf is set on by some error, it is not cleared
except by ABTONOFF or by an abort caused by an IIABTIF directive.
16.8 Comments

CHAIN allows for two types of comment lines within the
procedural file.
One type is the execution time comment. This
type may appear only before a DOS command entry and will not
appear until just before that command is to be executed. An
execution time comment can appear only just before a command
because at any other place in a procedure file, the comment would
be presented as keyboard response to an executing program.
Comments can be placed at the end of a procedure, since this
location is equivalent to immediately prior to a command. For
example, the procedure file containing:
II. COMPILATION OF THE TEST PROGRAM

DBCMP TEST;XL
TEST PROGRAM
would cause the first line to be displayed before the assembly was
executed. A variation on the execution time comment is the
operator break point. For example, the procedure file containing:

CHAPTER 16.

CHAIN COMMAND

16-9

//* INSERT TAPE Z12548 INTO THE FRONT CASSETTE DECK
MOUT ; LV
TEST/TXT
DATA/TXT

*
would cause a BEEP and the first line to be displayed. At this
point the machine would wait for the operator to depress either
the KEYBOARD or DISPLAY key and then continue with the MOUT
process.
The second type of comment line is a compilation time
comment. This line is not included in the work file but is
displayed on the screen immediately after it is read from the
procedural file. This is useful in communicating to the operator
what procedure is about to be followed by CHAIN.
Both types of comment lines will be ignored (not displayed or
written) just as other procedure lines if a test has proven
negative and an ELSE or XIF operator has not been reached. For
example, if the following procedure file MAKETEST was created:
COMPILATION OF TEST PROGRAM
//IFS LIST
YOU ARE GOING TO GET A LISTING
DBeMP TEST;XL
TEST PROGRAfv1
//ELSE
YOU AREN'T GOING TO GET A LISTING
DBCMP TEST
and the CHAIN command:
CHAIN MAKETEST;LIST
was given, then only the lines:
. COMPILATION OF TEST PROGRAM
. YOU ARE GOING TO GET A LISTING
will appear on the screen before the procedure is executed.
however, the CHAIN command:
CHAIN MAKETEST
was given, then only the lines:

16-10

DISK OPERATING SYSTEM

If,

. COMPILATION OF TEST PROGRAM
. YOU AREN'T GOING TO GET A LISTING
will appear on the screen before the procedure is executed.
16.9 Complex CHAIN Examples

The chapter on the AUTOKEY command contains an example of the
use of AUTO and AUTOKEY combined with the use of CHAIN directives
using tag existence testing to set checkpoints for automatic
restart of a lengthy automated procedure. The example below uses
BUILD within a chain procedure to create a procedure file for
later execution by another chain. It uses several tags for both
existence testing and value substitution.
The procedure file below, "RUNTEST", is part of a series of
CHAIN procedures for program generation and testing. RUNTEST
builds a procedure file for program compilation; the resulting
procedure file would be run by a later CHAIN.
RUNTEST recognizes several tags:
PLUS

mention of this tag indicates the compilation
should use the DBCMPLUS compiler instead of the
older DBCMP compiler.

XTR

mention of this tag causes use of the additional
list output commands (C and R) available in
DBCMPLUS.

fLAG

the substitution value for this tag will be tag
existence tested for list control on the output
procedure file.

PROG

the substitution value for thi~ tag will be a tag
to provide program name in the output procedure
file.

DATE

the substitution value for this tag will provide
the compilation date in the output procedure
file.

CHAPTER 16.

CHA I N COtv1tvlAN D

16-11

RUNTEST contents:
· TEST FOR DBCMPLUS COMPILER FLAG

·
IIIFC
PLUS
IIBEGIN
· BEGIN PROCEDURE FOR DBCMP COMPILATION
BUILD COMPIT;!
· NOTE HOW BEGINNING INPUT LINE TO BUILD/CMD WITH THE TERMINATION CHARACTER
· ALLOWS ENTERING CHAIN COMMANDS TO THE OUTPUT FILE. THE LINE IMMEDIATELY
· BELOv~ IS WRITTEN OUT AS "I IIFS IIFLAGII"; IF IT HAD NOT BEGUN WITH "I If, IT
· WOULD HAVE BEEN INTERPRETED AS A CHAIN DIRECTIVE FOR THE CURRENT CHAIN.

·
IIIIFS
IIFLAGII
!II* COMPILATION LISTING
BE SURE PRINTER IS READY
DBCMP IIIIPROG##;LX
II#PROGII# COMPILATION
IIDATEII
!IIELSE
DBCMP III/PROGIlIl
!IIXIF
IIEND
• THIS "IIELSE" INSTRUCTION REVERSES THE EFFECT OF THE IfIIIFC PLUS" ABOVE

IIELSE
IIBEGIN
·
·
·
·
·
·

BEGIN PROCEDURE FOR DBCMPLUS COMPILATION USING OPTIONS OF DBCMPLUS
BASED ON "XTR,I FLAG.
THE II BEGI Nil ABOVE CAUSES THE "XIF" SAND "ELSE" S IN THE FOLLOWING SECTION
TO AFFECT ONLY DIRECTIVES AT THE SAME BEGIN/END LEVEL, AND NOT THE
"IIELSE" DIRECTIVE ABOVE, WHICH CONTROLS THE ENTIRE "PLUS" CONDITIONAL
SECTION.

BUILDCMPLIT;!
!IIIFS IIfLAG#
!II* COMPILATION LISTING

BE SURE PRINTER IS READY

· THE FOLLOWING DIRECTIVES ARE RECOGNIZED DURING CHAIN COMPILATION AND
· CONTROL SELECTION OF LINES TO FOLLOW THE BUILD COMMAND ABOVE.

·
IIIFS
XTR
16-12

DISK OPERATING SYSTEM

DBCMPLUS
IIELSE
DBCMPLUS
IIXIF
##PROG##
!IIELSE
DBCMPLUS
!IIXIF

##PROG##;LXCR
##PROG##;LX
COMPILATION #DATE#
##PROG##

· PROCEDURE IS EFFECTIVELY FINISHED AT THIS POINT, BUT IT IS ESSENTIAL TO
· PROVIDE AN "END" DIRECTIVE TO MATCH THE UNMATCHED "BEGIN" ABOVE, AND
· AN "XIF" TO TERMINATE THE "ELSE" IMMEDIATELY PRIOR TO THE "BEGIN".

IIEND
IIXIF . . END OF RUNTEST SAMPLE FILE .

· . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....... '. . . . . . . . . . . .. .

Entering the command
CHAIN RUNTEST;PLUS,XTR,FLAG=LIST,PROG=NAME,DATE=210CT78
produces a procedure file CMPLIT/TXT with the following contents:

IIIFS LIST

11* COMPILATION LISTING

BE SURE PRINTER IS READY

DBCMPLUS #NAME#;LXCR
#NAME# COMPILATION 210CT78
IIELSE
DBCMPL US #NAt"1E#
IIXIF
Entering the command
CHAIN RUNTEST;FLAG=PRINT,PROG=PROG,DATE
produces a procedure file COMPIT/TXT with the following contents:

CHAPTER 16.

CHA IN COI"1f"1AND

16-13

IIIFS PRINT
11* COMPILATION LISTING
DBCMP HPROGH;LX
HPROGH COMPILATION
IIELSE
DBCMP HPROGH

BE SURE PRINTER IS READY

IIXIF

16.10 Resuming An Aborted CHAIN
Before the CHAIN overlay fetches the next DOS command it
stores in the CHAINP/SYS file pointers for the line to be used.
If something goes wrong during the DOS command which follows and
the procedure is aborted, CHAIN still knows where it was in the
CHAINP/SYS file when the problem occurred. Since CHAIN does not
delete the CHAINP/SYS file unless the procedure completes
successfully, it can pick up where it stopped in the CHAINP/SYS
file if the operator can correct the condition which caused the
procedure to abort in the first place. Often, the reason for the
abort is something correctable like the disk running out of files.
In this case, the operator need only correct the condition and
then enter:
CHAIN

*

and the procedure will pick up with the command which failed
before. This action can generally be applied even if the RESTART
key has been depressed. Thus, one can recover from jammed paper
in a printer half way through a listing by simply depressing
RESTART, fixing the printer, and then entering the CHAIN *
command.
If the failing command cannot ever succeed, it may be
bypassed by entering the command:
CHAIN/OV1
This simply restarts the chain with the next available line in the
procedure. If the next line had been intended as a keyin line for
the failed program (as opposed to a DOS command line) the chain
will generally immediately abort again. However, by restarting
the chain in this manner, repeatedly if necessary, the invalid
step can usually be bypassed and chaining resumed. Use of
CHAIN/OV1 will not always work, since it depends on information in
processor memory to function.
If the area from MCR$+80 to
MCR$+100 is disturbed, CHAIN/OV1 will fail, usually causing a
range error or perhaps a system data failure.

16-14

DISK OPERATING SYSTEM

16.11 CHAIN Programming Considerations
CHAIN only replaces the DOS keyboard entry routine (KEYIN$).
Therefore, only programs that use this routine for input ~ill
receive their input from the chain file.
Programs which have
their own input routines, like the DOS editor, can be invoked from
a chain file but editing must be done manually by the operator.
Sometimes programs will use a different keyin routine based on DOS
Function 6 to request operator action for special circumstances
when it is desired to avoid using lines from the chain procedure.
When a program exits via EXIT$ or NXTCMD the chain continues
normally. If a program exits via ERROR$ or CMDAGN the chain is
aborted. Generally the terminating error message displayed by an
aborting program will remain visible on the screen following the
CHAIN abort.
Some programs can go through a rather complex set of requests
for input, which can make them difficult to use with the CHAIN
program. For this reason, most DOS programs allow almost all
options to be specified on the command line and keep the variation
in the number of keyin requests to a minimum. It is good practice
for all programs to be written with this concern in mind to
facilitate their use with CHAIN.

CHAPTER 16.

CHAIN COMMAND

16-15

CHAPTER 17.

CHANGE COMMAND

17.1 Purpose
The CHANGE command enables one to write protect, delete
protect, or clear the protection of a disk file.
If a file is
delete or write protected, a KILL command (or program generated
KILL) cannot affect it. If a file is write protected, it cannot
be written into by the standard system routines.
17.2 Use
CHANGE ;p
The option parameter "p" is used above to indicate the
protection for the file specified. Protection can be specified
as:
D - delete protect
W - write protect
X - clear protection.
For example:
CHANGE NAME/EXTENSION;D
CHANGE NAME/EXTENSION:DR2;X
will delete protect the file in the first case, and remove all
protection in the second case.
If a  is not given,
the message
NAI'1E REQUIRED.
will be displayed. If the file indicated by the first file
specification cannot be found, the message
NO SUCH NAME.
will be displayed. If the option parameter does not follow the
above syntax rules, the message
INVALID PROTECTION SPECIFICATION.

CHAPTER 17.

CHANGE COMMAND

17-1

will be displayed.
message

If no option parameter is specified the

PROTECTION UNCHANGED.
will be displayed.

17-2

DISK OPERATING SYSTEM

CHAPTER 18.

COpy COMMAND

18.1 Purpose
The COpy command produces a duplicate copy of a disk file.
It may be desired, for example, to make a copy on a separate
volume for backup or distribution purposes.
Another feature of the COPY command will optionally allow a
user to selectively update (replace) an existing file, or create
(add) a new file to receive the copy. These options used in
combination with the CHAIN utility provide an easy method of
updating and maintaining DOS disks.
The COPY command does not make assumptions about the format
of the sectors being copied, but merely copies the file
sector-for-sector. It can copy types of disk files which are not
possible to copy using the SAPP and APP commands. Some particular
types of files are still immovable, however. The outstanding
example are INDEX files, usually with extension IISI. These files
cannot be moved because index files contain, internal to
themselves, pointers indicating their actual physical location on
the disk volume, which are made invalid when the file is m6ved to
another place on the disk.

18.2 Use
The COPY command is invoked by entering at the system
console:
COpy [,J[;

Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.3
Linearized                      : No
XMP Toolkit                     : Adobe XMP Core 4.2.1-c043 52.372728, 2009/01/18-15:56:37
Create Date                     : 2011:05:10 09:36:25-08:00
Modify Date                     : 2011:05:10 10:22:54-07:00
Metadata Date                   : 2011:05:10 10:22:54-07:00
Producer                        : Adobe Acrobat 9.43 Paper Capture Plug-in
Format                          : application/pdf
Document ID                     : uuid:5f1f912e-240c-416b-adac-8a0acf557526
Instance ID                     : uuid:952b56f0-3f3c-4ea0-9edc-bf7830ba6dc3
Page Layout                     : SinglePage
Page Mode                       : UseOutlines
Page Count                      : 509
EXIF Metadata provided by EXIF.tools

Navigation menu