# Bildschirmhardcopy unter DOS
# Drucker LPT/PRN nach Datei 
################################


ESC to Exit                   AnaDisk 2.07 26-Aug-92                 F1 for Help

0    5   10   15   20   25   30   35   40   45   50   55   60   65   70   75  79
ͻͻ
  A: Cyl 0 Side 0                      Select sector                        
ͼͼ
 TRACK MAP ͻ
 Select sector , ENTER starts edit, Change track , Exit ESC               
                                                                              
 CYL HEAD SECT SIZE FLAGS  CYL HEAD SECT SIZE FLAGS                           
   0    0    1  128          0    0   10  128          0    0   19  128       
   0    0    2  128          0    0   11  128          0    0   20  128       
   0    0    3  128          0    0   12  128          0    0   21  128       
   0    0    4  128          0    0   13  128          0    0   22  128       
   0    0    5  128          0    0   14  128          0    0   23  128       
   0    0    6  128          0    0   15  128          0    0   24  128       
   0    0    7  128          0    0   16  128          0    0   25  128       
   0    0    8  128          0    0   17  128          0    0   26  128       
   0    0    9  128          0    0   18  128                                 
                                                                              
                                                                              
                                                                              
                                                                              
                                                                              
ͼ

                                                                                
Enter CP/M file name.  If you specify a diskette drive (user                    
number is optional), it will override the selected CP/M drive.                  
You may include 'wild card' characters (* and ?) in the name.                   
                                                                                
*.*                                                                             
                                                                                
Enter DOS destination with drive and path (C:\DISKTOOL\22MASLIN assumed) -      
c:\temp\                                                                        
                                                                                
CTOD Ver. 1.44-Oct 31 1996, Copyright 1996, Sydex.  All rights reserved.        
Xerox 16/8 - SSDD 8" - 256 x 26 format                                          
                                                                                
Copying A0:MS-LOAD.COM to C:\TEMP\MS-LOAD.CPM                                   
Copying A0:MR.COM to C:\TEMP\MR.CPM                                             
Copying A0:SUBMIT.COM to C:\TEMP\SUBMIT.CPM                                     
Copying A0:PIP.COM to C:\TEMP\PIP.CPM                                           
Copying A0:MS-DOS-P.COM to C:\TEMP\MS-DOS-P.CPM                                 
Copying A0:MS-DOS-S.COM to C:\TEMP\MS-DOS-S.CPM                                 
Copying A0:SERIAL.SUB to C:\TEMP\SERIAL.SUB                                     
Copying A0:PARALLEL.SUB to C:\TEMP\PARALLEL.SUB                                 
Copying A0:MS-DOS.COM to C:\TEMP\MS-DOS.CPM                                     
9 file(s) copied                                                                
Copy complete                                                                   
Press any key to continue...                                                    

Physical C/H/S:  0/0/1                            Logical C/H/S:  0/0/1         
                                                                                
 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26           
                                                                                
500Khz  FM, 26 sectors of 128 bytes, Normal Data                                
                                                                           ASCII
ImageDisk Viewer 1.18 / Mar 07 2012 - Copyright 2007-2012 Dave Dunfield         
                                                                                
 0000   18 0E 36 30  4B 20 43 50  2F 4D 20 56  32 2E 32 20    ..60K CP/M V2.2   
 0010   1E 00 21 00  D4 01 02 0D  CD C0 00 21  80 D4 01 03    ..!........!....  
 0020   0C CD C0 00  0E 01 CD 21  F0 20 24 21  80 E0 01 01    .......!. $!....  
 0030   0D CD C0 00  21 00 E1 01  02 0D CD C0  00 C3 00 EA    ....!...........  
 0040   E5 C5 CD 24  F0 C1 E1 20  06 24 0C 0C  10 F2 C9 21    ...$... .$.....!  
 0050   DE 00 7E CD  0C F0 7E 23  B7 20 F7 C3  03 F0 20 20    ..~...~#. ....    
 0060   20 4C 4F 41  44 20 41 42  4F 52 54 45  44 00 00 00     LOAD ABORTED...  
 0070   00 00 00 00  00 00 00 42  44 33 30 35  32 30 33 38    .......BD3052038  
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                

Physical C/H/S:  0/0/1                            Logical C/H/S:  0/0/1         
                                                                                
 1 6 2 7 3 8 4 9 5                                                              
                                                                                
500Khz MFM, 9 sectors of 1024 bytes, Normal Data                                
                                                                           ASCII
ImageDisk Viewer 1.18 / Mar 07 2012 - Copyright 2007-2012 Dave Dunfield         
                                                                                
 0000   31 00 02 16  09 21 80 D7  3E 0A 92 4F  D3 2A 3E 80    1....!..>..O.*>.  
 0010   D3 2C 01 2F  00 D3 28 FB  76 ED B2 ED  B2 ED B2 ED    .,./..(.v.......  
 0020   B2 3E 00 D3  2C DB 2C 17  D2 25 02 DB  28 A7 C2 5D    .>..,.,..%..(..]  
 0030   02 15 C2 08  02 D3 FF D3  7F 21 62 02  7E A7 28 0A    .........!b.~.(.  
 0040   F6 80 D3 00  AF D3 00 23  18 F2 21 00  00 7E 2F 77    .......#..!..~/w  
 0050   BE CA 00 EE  2B 7C B5 C2  54 02 C3 4A  02 3E BF D3    ....+|..T..J.>..  
 0060   00 76 2A 20  64 69 73 61  62 6C 65 20  65 70 72 6F    .v* disable epro  
 0070   6D 20 2A 00  00 00 00 00  00 00 00 00  00 00 00 00    m *.............  
 0080   C3 05 D9 C3  01 D9 50 00  20 20 20 20  20 20 20 20    ......P.          
 0090   20 20 20 20  20 20 20 00  36 34 4B 20  43 50 2F 4D           .64K CP/M  
 00A0   20 32 2E 32  20 28 52 45  56 2E 20 33  2E 30 38 43     2.2 (REV. 3.08C  
 00B0   20 5A 43 50  52 29 0D 0A  0A 2D 34 2E  30 20 4D 48     ZCPR)...-4.0 MH  
 00C0   5A 00 2D 73  74 61 6E 64  61 72 64 20  6B 65 79 62    Z.-standard keyb  
 00D0   6F 61 72 64  0D 0A 2D 34  00 08 D8 17  D8 5A 20 43    oard..-4.....Z C  
 00E0   50 55 0D 0A  2D 36 4D 53  20 73 74 65  70 20 72 61    PU..-6MS step ra  
 00F0   74 65 0D 0A  2D 70 72 43  4F 4D 01 24  24 24 20 20    te..-prCOM.$$$    
                                                                                

B: 500k DD     T76  H0                  26x256  14  54                          
 1 14 2 15 3 16 4 17 5 18 6 19 7 20 8 21 9 22 10 23 11 24 12 25 13 26           
                                                                                
01234567
   
Write from C:\DISKTOOL\!XEROX\IMD\BOX11\B11D2B.IMD                              
IMD 1.17:  7/01/1990 23:58:38                                                   
(no label)                                                                      
                                                                                
  0/0: 500k SD - 26 sectors of 128 bytes - G1:7 G2:27                           
     : Single-sided                                                             
     : Single-step                                                              
  1/0: 500k DD - 26 sectors of 256 bytes - G1:14 G2:54                          
2002 sectors (283 Compressed, 2 Unavail)                                        
Write complete - press ENTER for main menu                                      
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                

A: 500k SD     T76  H0                  26x128  7   27                          
 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26           
                                                                                
01234567
   
Write from C:\DISKTOOL\!XEROX\IMD\BOX11\B11D8.IMD                               
IMD 1.17: 22/01/1990 22:48:49                                                   
CP/M  SS/SD                                                                     
                                                                                
  0/0: 500k SD - 26 sectors of 128 bytes - G1:7 G2:27                           
     : Single-sided                                                             
     : Single-step                                                              
2002 sectors (631 Compressed)                                                   
Write complete - press ENTER for main menu                                      
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                


   ANALYZING DISKETTE IN DRIVE A:

 Single-Sided 
 Sector size is 128 bytes
 Side 0 sector ID's 1 - 26   
 Interleave is 1:1 
 CP/M Non-system Diskette
 CP/M Directory at Cyl 2, Side 0

Copying A0:MACZLINK.COM to C:\TEMP\MACZLINK.CPM                                 
Copying A0:WHATSA.COM to C:\TEMP\WHATSA.CPM                                     
Copying A0:WS.COM to C:\TEMP\WS.CPM                                             
Copying A0:WSMSGS.OVR to C:\TEMP\WSMSGS.OVR                                     
Copying A0:WSOVLY1.OVR to C:\TEMP\WSOVLY1.OVR                                   
Copying A0:CREF80.COM to C:\TEMP\CREF80.CPM                                     
Copying A0:D.COM to C:\TEMP\D.CPM                                               
Copying A0:CBIOS05.MAC to C:\TEMP\CBIOS05.MAC                                   
Copying A0:CBIOS08.MAC to C:\TEMP\CBIOS08.MAC                                   
Copying A0:CLOAD05.PRN to C:\TEMP\CLOAD05.PRN                                   
Copying A0:L80.COM to C:\TEMP\L80.CPM                                           
Copying A0:LD.COM to C:\TEMP\LD.CPM                                             
Copying A0:M.COM to C:\TEMP\M.CPM                                               
Copying A0:MEMMAP.COM to C:\TEMP\MEMMAP.CPM                                     
Copying A0:CLOAD05.Z80 to C:\TEMP\CLOAD05.Z80                                   
Copying A0:CBIOS05.BAK to C:\TEMP\CBIOS05.BAK                                   
Copying A0:CBIOS05.Z80 to C:\TEMP\CBIOS05.Z80                                   
Copying A0:CBIOS05.HEX to C:\TEMP\CBIOS05.HEX                                   
Copying A0:CBIOS05.PRN to C:\TEMP\CBIOS05.PRN                                   
Copying A0:CPM60.SYS to C:\TEMP\CPM60.SYS                                       
Copying A0:DDT.COM to C:\TEMP\DDT.CPM                                           
Copying A0:CLOAD05.MAC to C:\TEMP\CLOAD05.MAC                                   
47 file(s) copied                                                               
Copy complete                                                                   
Press any key to continue...                                                    
;       .Z80
;********************************************************
;*                                                      *
;*      --  CUSTOM BIOS FOR CP/M VERSION 2.2  --        *
;*                 5.25-INCH DISK VERSION               *
;*                                                      *
;*                   APRIL 1981                         *
;*                                                      *
;*             CBIOS FOR XEROX CP/M DISK                *
;*    COMBINED VERSION FOR 5.25" AND 8" - JUNE 1981     *
;*                                                      *
;********************************************************
;
;       ASEG
;
MSIZE:  EQU     60
MONITR: EQU     0F000H          ;BASE OF SYSTEM MONITOR
;
EXTRA:  EQU     MSIZE-20
BASE:   EQU     EXTRA * 1024
;
CCP:    EQU     03400H + BASE   ;CONSOLE COMMAND PROCESSOR
BDOS:   EQU     03C06H + BASE   ;OPERATING SYSTEM ENTRY POINT
CBIOS:  EQU     04A00H + BASE   ;BASE OF CUSTOM BIOS
;
; EQUATES TO SELECT THE CONDITIONAL ASSEMBLY
;       FOR 5.25 OR 8 INCH DISKS
;
;       THE EQUATES DSKTY5 OR DSKTY8 ARE USED FOR
;       CONDITIONAL ASSEMBLY CONTROL
;
;       ONE CONDITIONAL ASSEMBLY FLAG SHOULD BE ON
;       AND THE OTHER SHOULD BE OFF AT ALL TIMES.
;
DSKTY5: EQU     1       ;5.25 INCH DISK TYPE FLAG
DSKTY8: EQU     0       ;8 INCH DISK TYPE FLAG
;
;
        ORG     CBIOS
;
        JP      BOOT            ;STANDARD JUMP TABLE TO
BVECTR: JP      WBOOT           ;THE SUBROUTINES OF CBIOS
SVECTR: JP      CONST
IVECTR: JP      CONIN
OVECTR: JP      CONOUT
        JP      LSTOUT          ;LIST DEVICE VECTOR
        JP      CONOUT          ;PUNCH DEVICE VECTOR
        JP      CONIN           ;READER DEVICE VECTOR
        JP      HOME
        JP      SELECT
        JP      SEEK
        JP      SETSEC
        JP      SETPTR
        JP      READ
        JP      WRITE
        JP      CONST           ;LIST DEVICE STATUS VECTOR
        JP      TRANS
;
;       JUMP VECTORS TO DIRECT PRINTER DRIVERS
;
        JP      POBUSY          ;LIST DEVICE STATUS
        JP      POSEND          ;LIST DEVICE OUTPUT
        JP      POINP           ;LIST DEVICE INPUT
;
;
;
BOOT:   XOR     A
        LD      (0003H),A       ;RESET IOBYTE TO ZEROS
        LD      (WUNIT),A       ;ZERO SAVE AREA FOR LOGGED DRIVE
;
;       MOVE XEROX ID TO THE SIGN ON MESSAGE
;
        LD      HL,00F7H        ;ADRS OF XEROX ID AFTER BOOT
        LD      DE,XEROXID      ;ADRS OF XEROX ID IN BIOS
        LD      BC,09D          ;NUMBER OF BYTES TO MOVE IN DECIMAL
        LDIR                    ;MOVE THEM
;
        LD      HL,SIGNON
        CALL    PMSG            ;PRINT SIGNON MESSAGE
        JR      GOCPM  
;
;
        IF      DSKTY5          ;5.25 INCH DISK
WBOOT:  LD      SP,STACK
        LD      A,(UNIT)        ;SAVE LOGGED DRIVE FOR
        LD      (WUNIT),A       ;* LATER USE
        LD      C,0
        CALL    SELECT          ;SELECT UNIT 0
        CALL    HOME            ;SEEK TRACK ZERO
        JP      NZ,BOMB
        LD      HL,3480H+BASE
        LD      BC,0803H
        CALL    RDLOOP          ;READ EVEN SECTORS ON TRK 0
        LD      HL,3400H+BASE
        LD      BC,0902H
        CALL    RDLOOP          ;READ ODD SECTORS ON TRK 0
        LD      C,1
        CALL    SEEK            ;SEEK TO TRACK 1
        JP      NZ,BOMB
        LD      HL,3C80H+BASE
        LD      BC,0901H        
        CALL    RDLOOP          ;READ ODD SECTORS ON TRK 1
        LD      HL,3D00H+BASE
        LD      BC,0902H
        CALL    RDLOOP          ;READ EVEN SECTORS ON TRK 1
        LD      C,2
        CALL    SEEK            ;SEEK TRACK #2
        JR      NZ,BOMB  
        LD      HL,4580H+BASE
        LD      BC,0501H
        CALL    RDLOOP          ;READ ODD SECTORS ON TRK 2
        LD      HL,4600H+BASE
        LD      BC,0402H
        CALL    RDLOOP          ;READ EVEN SECTORS ON TRK 2
GOCPM:  LD      A,0C3H          ;STORE JUMP VECTORS IN RAM
        LD      (00H),A
        LD      HL,CBIOS+3      ;JUMP TO CBIOS WARM BOOT AT 00H
        LD      (01H),HL
        LD      (05H),A
        LD      HL,BDOS         ;JUMP TO BDOS GOES AT 05H
        LD      (06H),HL
        LD      (38H),A
        LD      HL,MONITR       ;JUMP TO MONTR GOES AT 38H
        LD      (39H),HL
        LD      BC,0080H
        CALL    SETPTR          ;MAKE DISK BUFFER=0080H
        ENDIF                   ;END OF 5.25 INCH SECTION
        IF      DSKTY8          ;8 INCH DISK
WBOOT:  LD      SP,STACK
        LD      A,(UNIT)        ;SAVE LOGGED DRIVE FOR
        LD      (WUNIT),A       ;* LATER USE
        LD      C,0
        CALL    SELECT          ;SELECT UNIT 0
        CALL    HOME            ;SEEK TRACK ZERO
        LD      HL,3400H+BASE
        LD      BC,0D02H
        CALL    RDLOOP          ;READ EVEN SECTORS ON TRK 0
        LD      HL,3480H+BASE
        LD      BC,0C03H
        CALL    RDLOOP          ;READ ODD SECTORS ON TRK 0
        LD      C,1
        CALL    SEEK            ;SEEK TO TRACK 1
        JP      NZ,BOMB  
        LD      HL,4080H+BASE
        LD      BC,0A01H        
        CALL    RDLOOP          ;READ ODD SECTORS ON TRK 1
        LD      HL,4100H+BASE
        LD      BC,0902H
        CALL    RDLOOP          ;READ EVEN SECTORS ON TRK 1
GOCPM:  LD      A,0C3H          ;STORE JUMP VECTORS IN RAM
        LD      (00H),A
        LD      HL,CBIOS+3      ;JUMP TO CBIOS WARM BOOT AT 00H
        LD      (01H),HL
        LD      (05H),A
        LD      HL,BDOS         ;JUMP TO BDOS GOES AT 05H
        LD      (06H),HL
        LD      (38H),A
        LD      HL,MONITR       ;JUMP TO MONTR GOES AT 38H
        LD      (39H),HL
        LD      BC,0080H
        CALL    SETPTR          ;MAKE DISK BUFFER=0080H
        ENDIF
;
;       INITIALIZE THE PRINTER
;
        LD      A,07            ;LOAD BAUD RATE
        OUT     (0CH),A         ;SEND TO SIO CH. B
;
;       SEND A 'RESET' SEQUENCE TO THE PRINTER
;
        LD      B,03D           ;NUMBER OF BYTES IN SEQUENCE
        LD      HL,INPR2        ;ADRS OF 'RESET' TABLE
INPR1:  CALL    POBUSY          ;IS PRINTER READY?
        JR      C,INPR1         ;* REPEAT TILL READY
        LD      A,(HL)          ;GET THE BYTE
        OUT     (05H),A         ;SEND IT
        INC     HL              ;POINT TO NEXT BYTE
        DJNZ    INPR1           ;REPEAT TILL DONE
;
;
        LD      A,(WUNIT)       ;SELECT SAVED DRIVE
        LD      C,A             ;*
        JP      CCP             ;* JUMP TO COMMAND CONSOLE PROCESSOR
;
;       'RESET' SEQUENCE TABLE FOR PRINTER
;
INPR2:  DEFB    1BH             ; 'ESC'
        DEFB    0DH             ; 'CR'
        DEFB    50H             ; 'P'
;
;
RDLOOP: LD      (POINTR),HL     ;STORE ADDR. PASSED IN HL
        LD      A,C
        LD      (SECTOR),A      ;STORE SECT# PASSED IN C
        PUSH    HL
        PUSH    BC
        CALL    READ            ;READ THE SPECIFIED SECTOR
        POP     BC
        POP     HL
        JR      NZ,BOMB  
        INC     H               ;BUMP LOAD ADDRESS BY 256
        INC     C
        INC     C               ;BUMP SECTOR# BY 2
        DJNZ    RDLOOP  
        RET
;
;
BOMB:   LD      HL,DEAD
        CALL    PMSG
LOOP:   JP      LOOP

DEAD:   DEFB    CR,LF
        DEFB    'cannot boot CP/M $'
;
;
;
CONST:  JP      MONITR+6        ;MONITOR CONSOLE STATUS RTN.
;
CONIN:  JP      MONITR+9        ;MONITOR CONSOLE INPUT RTN.
;
CONOUT: LD      A,C
        JP      MONITR+12       ;MONITOR CONSOLE OUTPUT RTN.
;
;
;********************************************
;*                                          *
;*      LIST OUTPUT DEVICE DRIVER           *
;*                                          *
;********************************************
;
LSTOUT:  CALL    POINP           ;CHECK IF PRINTER HAS DATA
         JR      NC,LSTOUT       ;REPEAT TILL CLEAR
CPBSY:   CALL    POBUSY          ;CHECK IF PRINTER BUSY
         JR      C,CPBSY         ;REPEAT TILL READY
         LD      A,C             ;GET CHAR FROM C
         CALL    POSEND          ;PRINT THE CHARACTER
         CP      0AH             ;WAS IT A LINE FEED?
         RET     NZ              ;RETURN IF NOT
CPBSY2: CALL    POBUSY          ;IF SO GET PRINTER READY
        JR      C,CPBSY2        ;*
        LD      A,03            ;LOAD A 'ETX'
        CALL    POSEND          ;AND PRINT IT
WAIT:   CALL    POINP           ;LOOP TILL RECEIVE
        JR      C,WAIT          ;* AN 'ACT'
        RET                     ;THEN RETURN
;
;
;       PRINTER BUSY ROUTINE
;
POBUSY: IN      A,(07)          ;READ SIO PORT CH. B
        AND     04              ;MASK OUT BITS OF INTEREST
        XOR     04              ;* TO CHECK PRINTER STATUS
        SCF                     ;SET CARRY
        RET     NZ              ;RET WITH PRINTER NOT READY
        OR      A               ;* ELSE RESET CARRY
        RET                     ;* AND RET WITH PRINTER READY
;
;
;       PRINTER OUTPUT ROUTINE
;
POSEND: OUT     (05),A          ;SEND THE BYTE
        RET                     ;* AND RETURN
;
;
;       PRINTER INPUT STATUS ROUTINE
;
POINP:  IN      A,(07)          ;READ SIO PORT CH. B
        AND     01              ;CHECK FOR RECEIVE
        XOR     01              ;* CHARACTER AVAILABLE
        SCF                     ;SET CARRY
        RET     NZ              ;RET WITH NO CHARA AVAIL.
        IN      A,(05)          ;* ELSE GET CHARACTER
        OR      A               ;* RESET CARRY
        RET                     ;* AND RETURN
;
;
;
;********************************************************
;*                                                      *
;*      DISK I/O SUBROUTINES FOR CP/M CBIOS             *
;*                                                      *
;********************************************************
;
;
        IF      DSKTY5          ;5.25 INCH DISK
;
;
;       SECTOR TRANSLATE TABLE FOR STANDARD
;       1 IN 5 INTERLEAVE FACTOR
;
SECTAB: DEFB    1,6,11,16
        DEFB    3,8,13,18
        DEFB    5,10,15,2
        DEFB    7,12,17,4
        DEFB    9,14
;
;
;       DISK PARAMETER BLOCK FOR STANDARD 5.25" MINI FLOPPY
;
DPBLK:  DEFW    18              ;SECTORS PER TRACK
        DEFB    3               ;BLOCK SHIFT CONST.
        DEFB    7               ;BLOCK MASK CONST.
        DEFB    0               ;EXTENT MASK CONST.
        DEFW    81              ;MAX BLOCK#
        DEFW    31              ;MAX DIRECTORY ENTRY#
        DEFB    10000000B       ;ALLOCATION MASK MSB
        DEFB    00000000B       ;'             ' LSB
        DEFW    16              ;CHECK SIZE
        DEFW    3               ;RESERVED TRACKS
;
;
;       DISK PARAMETER HEADERS FOR A 4 DISK SYSTEM
;
DPHTAB: DEFW    SECTAB,0000H    ;DPH FOR UNIT 0
        DEFW    0000H,0000H
        DEFW    DIRBUF,DPBLK
        DEFW    CHK0,ALL0
 
        DEFW    SECTAB,0000H    ;DPH FOR UNIT 1
        DEFW    0000H,0000H
        DEFW    DIRBUF,DPBLK
        DEFW    CHK1,ALL1

        DEFW    SECTAB,0000H    ;DPH FOR UNIT 2
        DEFW    0000H,0000H
        DEFW    DIRBUF,DPBLK
        DEFW    CHK2,ALL2
 
        DEFW    SECTAB,0000H    ;DPH FOR UNIT 3
        DEFW    0000H,0000H
        DEFW    DIRBUF,DPBLK
        DEFW    CHK3,ALL3
        ENDIF                   ;END OF 5.25 INCH SECTION
        IF      DSKTY8          ;8 INCH DISK
;
;
;       SECTOR TRANSLATE TABLE FOR STANDARD
;       1 IN 6 INTERLEAVE FACTOR
;
SECTAB: DEFB    1,7,13,19
        DEFB    25,5,11,17
        DEFB    23,3,9,15
        DEFB    21,2,8,14
        DEFB    20,26,6,12
        DEFB    18,24,4,10
        DEFB    16,22
;
;
;       DISK PARAMETER BLOCK FOR STANDARD 8" FLOPPY
;
DPBLK:  DEFW    26              ;SECTORS PER TRACK
        DEFB    3               ;BLOCK SHIFT CONST.
        DEFB    7               ;BLOCK MASK CONST.
        DEFB    0               ;EXTENT MASK CONST.
        DEFW    242             ;MAX BLOCK#
        DEFW    63              ;MAX DIRECTORY ENTRY#
        DEFB    11000000B       ;ALLOCATION MASK MSB
        DEFB    00000000B       ;'             ' LSB
        DEFW    16              ;CHECK SIZE
        DEFW    2               ;RESERVED TRACKS
;
;
;       DISK PARAMETER HEADERS FOR A 2 DISK SYSTEM
;       THE LAST TWO REMOVED FOR SPACE.
;
DPHTAB: DEFW    SECTAB,0000H    ;DPH FOR UNIT 0
        DEFW    0000H,0000H
        DEFW    DIRBUF,DPBLK
        DEFW    CHK0,ALL0
 
        DEFW    SECTAB,0000H    ;DPH FOR UNIT 1
        DEFW    0000H,0000H
        DEFW    DIRBUF,DPBLK
        DEFW    CHK1,ALL1
        ENDIF                   ;END OF 8 INCH SECTION
;
;
;
;
SETSEC: LD      A,C
        LD      (SECTOR),A      ;STORE SECTOR NUMBER PASSED
        RET                     ; VIA BC
;
;
TRANS:  EX      DE,HL           ;ADD TRANSLATION TABLE ADDRESS
        ADD     HL,BC           ; PASSED IN DE TO SECTOR# IN BC
        LD      L,(HL)
        LD      H,0             ;LOOKUP PHYSICAL SECTOR NUMBER
        RET                     ; AND RETURN IT IN HL
;
;
SETPTR: LD      (POINTR),BC     ;STORE DATA POINTER PASSED
        RET                     ; VIA BC
;
;
;
SELECT: LD      HL,0            ;PREP TO CHECK FOR MAX UNIT#
        LD      A,C
;
;
        IF      DSKTY5          ;5.25" SYSTEM
        CP      4               ;IS ALLOWED TO HAVE 4 DRIVES
        ENDIF
;
;
        IF      DSKTY8          ;8" SYSTEM
        CP      2               ;IS ALLOWED TO HAVE 2 DRIVES
        ENDIF
;
;
        RET     NC              ;RETURN WITH HL=0 IF C > 3
        LD      (UNIT),A        ;STORE C AS NEW DRIVE UNIT#
        LD      L,A             ;
        ADD     HL,HL
        ADD     HL,HL
        ADD     HL,HL
        ADD     HL,HL           ;MULTIPLY UNIT# BY 16
        LD      DE,DPHTAB
        ADD     HL,DE           ;ADD START ADDRESS OF DHP BLOCK
        RET                     ;DO NOT ACTUALLY SELECT THE DRIVE
SELEX:  PUSH    BC              ;SAVE REGISTERS VALUES
        PUSH    HL
        LD      A,(UNIT)        
        LD      C,A             ;LOAD C WITH DISK DRIVE NUMBER
        LD      A,(PUNIT)       ;LOAD PREVIOUSLY SELECTED DRIVE
        CP      C               ;COMPARE WITH CURRENTLY SELECTED DRIVE
        JR      Z,SELEX1        ;DO NOT SELECT IF SAME DRIVE
SELEX2: LD      B,0             ;LOAD B WITH SEEK SPEED FOR THIS DRIVE
        CALL    MONITR+27       ;CALL SELECT ROUTINE IN MONITOR
        JR      Z,SELEX1        
        CALL    REPORT          ;CALL ERROR ROUTINE
        JR      NZ,SELEX3       
        LD      A,(UNIT)        ;SAVE AS NEXT DRIVE
        LD      C,A             ;LOAD DRIVE TO BE SELECTED IN C 
        JR      SELEX2          ;
SELEX1: LD      A,(UNIT)        ;LOAD DRIVE JUST SELECTED
        LD      (PUNIT),A       ;STOR IT AS A PREVIOUS DRIVE
        POP     HL
        POP     BC              ;RESTORE REGISTERS
        RET                     ;EXIT IF SELECTED SUCCESSFULY
SELEX3: XOR     A 
        LD      (UNIT),A
        JP      0H              ;DISABLE FURTHER BIOS CALLS BY
;       RET                     ; INDICATING SELECT ERROR TO BDOS
;
;
;
HOME:   CALL    SELEX           ;FIND OUT IF DRIVE IS SELECTED
        CALL    MONITR+30       ;CALL HOME ROUTINE IN MONITOR
        RET     Z               ;RETURN IF ALL WENT WELL
        CALL    REPORT
        JR      Z,HOME          ;RE-TRY HOME IF ERROR INDICATED
        RET
;
;
SEEK:   CALL    SELEX           ;FIND OUT IF DRIVE IS SELECTED
        LD      A,C             ;GET TRACK # FROM C
        LD      (TRACK),A
        CALL    MONITR+33       ;CALL SEEK ROUTINE IN MONITOR
        RET     Z               ;EXIT IF NO ERRORS INDICATED
        CALL    REPORT          ;REPORT SEEK ERROR TO CONSOLE
        RET     NZ              ;RETURN PERMANENT ERROR UNLESS
        LD      A,(TRACK)       ; RE-TRY REQUEST IS INDICATED
        LD      C,A
        JR      SEEK  
;
;
;
READ:   CALL    SELEX           ;FIND OUT IF DRIVE IS SELECTED
        LD      HL,(POINTR)
        LD      A,(SECTOR)
        LD      C,A
        CALL    MONITR+36       ;CALL READ ROUTINE IN MONITOR
        RET     Z               ;RETURN IF NO ERRORS
        CALL    REPORT          ;REPORT DISK ERROR TO CONSOLE
        JR      Z,READ          ;RE-TRY READ IF INDICATED
        RET
;
;
;
WRITE:  CALL    SELEX           ;FIND OUT IF DRIVE IS SELECTED
        LD      HL,(POINTR)
        LD      A,(SECTOR)
        LD      C,A
        CALL    MONITR+39       ;CALL WRITE ROUTINE IN MONITOR
        RET     Z               ;RETURN IF NO ERRORS
        LD      E,A             ;SAVE 1771 I/O STATUS FLAG
        RLA
        RLA                     ;CRY CONTAINS WRITE PROTECT STATUS
        JR      NC,WRIT1        ;CONTINUE IF NOT WRITE PROTECTED
        LD      HL,DSKMSG
        CALL    PMSG            ;PRINT 'disk'
        LD      HL,WRTERR
        CALL    PMSG            ;PRINT 'write protected'
        CALL    REP3            ;WAIT FOR CONSOLE INPUT
        JR      Z,WRITE         ;RETRY IF INDICATED
        RET
WRIT1:  LD      A,E             ;RETRIEVE SAVED 1771 STATUS
        CALL    REPORT          ;REPORT DISK ERROR TO CONSOLE
        JR      Z,WRITE         ;RE-TRY WRITE IF INDICATED
        RET                     ;ELSE RETURN PERMANENT ERROR
;
;
;       ON ENTRY (A) = 1771 I/O STATUS FLAG
;
;
REPORT: PUSH    AF              ;SAVE 1771 I/O STATUS
        LD      HL,DSKMSG
        CALL    PMSG            ;PRINT 'disk '
        POP     AF              ;RETRIEVE SAVED STATUS
        RLA                     ;TEST FIRST FOR DRIVE-NOT-READY ERROR
        JR      C,REP2          ;JUMP IF THAT IS THE PROBLEM
        LD      HL,ERRMSG       ;OTHER TYPE OF ERROR SO ---
        CALL    PMSG            ;PRINT 'error '
        JR      REP3            ;GET CONSOLE INPUT
REP1:   LD      A,1             ;SET UP A NZERO CONDITION FOR RETURN
        OR      A               ;RETURN PERM ERROR INDICATION IN A
        RET
;
REP2:   LD      HL,RDYMSG
        CALL    PMSG            ;PRINT DISK-NOT-READY MESSAGE
REP3:   CALL    IVECTR          ;AND WAIT FOR CONSOLE INPUT
        CP      'C'-64
        JR      Z,REP1  
        XOR     A               ;RETURN A=0 IF SOMETHING OTHER THAN
        RET                     ;CONTROL-C WAS TYPED AT THE CONSOLE
;
;
;
;       CHARACTER STRING OUTPUT ROUTINE. PRINTS ASCII DATA
;       POINTED TO BY HL UNTIL A DOLLAR SIGN IS ENCOUNTERED

PMSG:   LD      A,(HL)          ;HL POINTS TO ASCII STRING
        CP      '$'
        INC     HL
        RET     Z
        LD      C,A             ;PRINT CHARACTER IF NOT DOLLAR SIGN
        CALL    OVECTR
        JR      PMSG  
;
;
;
;       
LF:     EQU     0AH             ;LINE FEED
CR:     EQU     0DH             ;CARRIAGE RETURN
;       
DSKMSG: DEFB    CR,LF
        DEFB    'disk $'
ERRMSG: DEFB    'error  $'
RDYMSG: DEFB    'drive not ready -$'
WRTERR: DEFB    'write protected$'
SIGNON: DEFB    CR,LF
        DEFB    'COPYRIGHT (C) 1981, XEROX CORPORATION'
        DEFB    CR,LF
        DEFB    CR,LF
        DEFB    'CP/M REG. TM 2.2  SY 2.0  2-294 '
XEROXID: DEFB   '         '
CRLF:   DEFB    CR,LF
        DEFB    '$'
;
;
UNIT:   DEFS    1
PUNIT:  DEFS    1
WUNIT:  DEFS    1
TRACK:  DEFS    1
SECTOR: DEFS    1
POINTR: DEFS    1
        DEFS    32
STACK:  DEFS    1               ;LOCAL STACK FOR WARM BOOT
;
;********************************************************
;*                                                      *
;*      DISK I/O BUFFERS FOR BDOS FILE HANDLER          *
;*                                                      *
;********************************************************
;
;
;
DIRBUF: DEFS    128             ;SCRATCH DIRECTORY BUFFER
;
ALL0:   DEFS    32              ;UNIT 0 ALLOCATION BUFFER
CHK0:   DEFS    16              ;UNIT 0 CHECK VECTOR
ALL1:   DEFS    32              ;UNIT 1 ALLOCATION VECTOR
CHK1:   DEFS    16              ;UNIT 1 CHECK VECTOR
        IF      DSKTY5          ;ONLY FOR 5.25 INCH DISK
ALL2:   DEFS    32              ;UNIT 2 ALLOCATION VECTOR
CHK2:   DEFS    16              ;UNIT 2 CHECK VECTOR
ALL3:   DEFS    32              ;UNIT 3 ALLOCATION VECTOR
CHK3:   DEFS    16              ;UNIT 3 CHECK VECTOR
        ENDIF
;
;
;
;
;
        END


A: 500k DD     T76  H1                  26x256  14  54                          
 1 14 2 15 3 16 4 17 5 18 6 19 7 20 8 21 9 22 10 23 11 24 12 25 13 26           
   
01234567
   
Write from C:\DISKTOOL\!XEROX\IMD\BOX14\B14D6.IMD                               
IMD 1.17:  7/01/1990 21:29:16                                                   
820-II  DS/DD                                                                   
                                                                                
  0/0: 500k SD - 26 sectors of 128 bytes - G1:7 G2:27                           
  0/1: 500k DD - 26 sectors of 256 bytes - G1:14 G2:54                          
  0/0: Double-sided                                                             
     : Single-step                                                              
4004 sectors (771 Compressed)                                                   
Write complete - press ENTER for main menu                                      
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                

A: 500k DD     T76  H1                  26x256  14  54                          
 1 14 2 15 3 16 4 17 5 18 6 19 7 20 8 21 9 22 10 23 11 24 12 25 13 26           
   
01234567
   
Write from C:\DISKTOOL\!XEROX\IMD\BOX14\B14D6.IMD                               
IMD 1.17:  7/01/1990 21:29:16                                                   
820-II  DS/DD                                                                   
                                                                                
  0/0: 500k SD - 26 sectors of 128 bytes - G1:7 G2:27                           
  0/1: 500k DD - 26 sectors of 256 bytes - G1:14 G2:54                          
  0/0: Double-sided                                                             
     : Single-step                                                              
4004 sectors (771 Compressed)                                                   
Write complete - press ENTER for main menu                                      
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                

Error reading diskette A: (Cyl 2, Side 0, Sect 1):                              
Sector not found                                                                
Enter R - retry operation, A - abort program, I - ignore error                  
Copying A0:SUBMIT.COM to C:\TEMP\SUBMIT.CPM                                     
Error reading diskette A: (Cyl 2, Side 0, Sect 1):                              
Sector not found                                                                
Enter R - retry operation, A - abort program, I - ignore error                  
Copying A0:SWAP.COM to C:\TEMP\SWAP.CPM                                         
Copying A0:SYSGEN.COM to C:\TEMP\SYSGEN.CPM                                     
Copying A0:TIME.COM to C:\TEMP\TIME.CPM                                         
Copying A0:WHATSA.COM to C:\TEMP\WHATSA.CPM                                     
Copying A0:WS.COM to C:\TEMP\WS.CPM                                             
Copying A0:WSMSGS.OVR to C:\TEMP\WSMSGS.OVR                                     
Copying A0:WSOVLY1.OVR to C:\TEMP\WSOVLY1.OVR                                   
Copying A0:XSUB.COM to C:\TEMP\XSUB.CPM                                         
Copying A0:ZSID.COM to C:\TEMP\ZSID.CPM                                         
Copying A0:SURVEY.COM to C:\TEMP\SURVEY.CPM                                     
Copying A0:TERMINAL.BAX to C:\TEMP\TERMINAL.BAX                                 
Copying A0:XERBAK.BOS to C:\TEMP\XERBAK.BOS                                     
Copying A0:XERCPY.BOS to C:\TEMP\XERCPY.BOS                                     
Copying A0:XERMAIN.BOS to C:\TEMP\XERMAIN.BOS                                   
Copying A0:CONFIGUR.ASM to C:\TEMP\CONFIGUR.ASM                                 
53 file(s) copied                                                               
Copy complete                                                                   
Press any key to continue...                                                    

Physical C/H/S:  0/0/1                            Logical C/H/S:  0/0/1         
                                                                                
 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26           
                                                                                
500Khz  FM, 26 sectors of 128 bytes, Normal Data                                
                                                                           ASCII
ImageDisk Viewer 1.18 / Mar 07 2012 - Copyright 2007-2012 Dave Dunfield         
                                                                                
 0000   EB 01 05 00  ED B0 21 D5  00 0E 05 09  BE 38 FC C0    ......!......8..  
 0010   23 4E 23 ED  A0 AF 12 7E  23 6E 23 29  29 EB 2A 83    #N#....~#n#)).*.  
 0020   00 09 22 83  00 47 7A 21  80 E9 B7 20  01 19 22 87    .."..Gz!... ..".  
 0030   00 D9 21 80  00 CD 2A F0  21 85 00 34  D9 B7 C0 10    ..!...*.!..4....  
 0040   EC 32 04 00  21 03 EA E5  21 F6 00 11  DA 00 0E 0A    .2..!...!.......  
 0050   ED B0 12 13  3E C9 12 CD  00 EA 34 02  16 04 3F 22    ....>.....4...?"  
 0060   03 05 04 3F  1A 02 14 07  1F 12 03 0A  07 1F 00 01    ...?............  
 0070   16 04 3F 00  FF FF 20 44  43 30 30 30  30 36 37 32    ..?... DC0000672  
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                

A: 500k DD     T9   H0                  26x256  14  54                          
 1 14 2 15 3                                                                    
                                                                                
01234567
W                                                                      
Write from C:\DISKTOOL\!XEROX\IMD\BOX14\B14D7.IMD                               
IMD 1.17:  7/01/1990 21:45:09                                                   
XEROX  DD/SS                                                                    
                                                                                
  0/0: 500k SD - 26 sectors of 128 bytes - G1:7 G2:27                           
     : Single-sided                                                             
     : Single-step                                                              
  1/0: 500k DD - 26 sectors of 256 bytes - G1:14 G2:54                          
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                

A: 500k DD     T76  H0                  26x256  14  54                          
 1 14 2 15 3 16 4 17 5 18 6 19 7 20 8 21 9 22 10 23 11 24 12 25 13 26           
                                                                                
01234567
   
Write from C:\DISKTOOL\!XEROX\IMD\BOX14\B14D7.IMD                               
IMD 1.17:  7/01/1990 21:45:09                                                   
XEROX  DD/SS                                                                    
                                                                                
  0/0: 500k SD - 26 sectors of 128 bytes - G1:7 G2:27                           
     : Single-sided                                                             
     : Single-step                                                              
  1/0: 500k DD - 26 sectors of 256 bytes - G1:14 G2:54                          
2002 sectors (1027 Compressed)                                                  
Write complete - press ENTER for main menu                                      
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
D N _        Touch <ANY KEY> to return to previous HELP level. $

Enter <LETTER> or touch the <ESC> key to return to previous HELP screen. $

Touch <ANY KEY> to continue or

touch the <ESC> key to return to previous HELP screen----------------------

        Enter   <+> key to scroll to next manual reference screen

                <-> key to scroll to previous manual reference screen

                <ESC> key to return to previous HELP screen. $ $   $  $ 

                        HELP GUIDE      Ver 0.3


        WELCOME!!!  This is a help guide for users of the

        XEROX 820-II computer.  To use this guide, read the

        information displayed and enter the desired <KEY>

        in response to the questions asked.


        To exit the help guide, touch the <CTRL> key and

        simultaneously touch the <C> key (this is referred

        to as entering CTRL+C).


        Touch the <ESC> key to return to the previous display.


        Enter <A> for information about CP/M commands

        Enter <B> for reference to manuals

        Enter <C> for XEROX 820-II special features $ 

                        CP/M USER'S GUIDE



        A       CP/M CONTROL KEYS

        B       CP/M BUILT-IN COMMANDS

        C       SYSTEM PROGRAMS

        D       ERROR MESSAGES

        E       CP/M COMMAND SUMMARY







$ 

                        CP/M CONTROL KEYS



        A       CTRL+C

        B       CTRL+E

        C       CTRL+H OR BACKSPACE

        D       CTRL+I

        E       CTRL+J OR LINE FEED

        F       CTRL+M

        G       CTRL+P

        H       CTRL+R

        I       CTRL+S

        J       CTRL+U OR CTRL+X

        K       CTRL+Z

        L       RETURN

        M       DELETE



$ 


                        CTRL+C



        Restarts CP/M (or aborts whatever program is

        running and restores the CP/M command line).

        CTRL+C is also used to log in a newly-inserted

        disk.  CTRL+C is called a warm start or warm

        boot.



$ 


                        CTRL+E



        Moves the cursor to the beginning of the next line

        without performing a RETURN (see RETURN).  Use

        CTRL+E to type long command lines.



$ 


                CTRL+H or BACKSPACE



        Deletes one character and erases it from the

        screen.



$ 


                        CTRL+I



        This is a TAB function.  CTRL+I will append 8 spaces

        to a line (tabs to the next 8th column:8,16,24...).

        CTRL+I is used in text files with the ED program or

        other text editors.



$ 


                CTRL+J or LINE FEED



        Equivalent to the RETURN function.



$ 


                        CTRL+M



        Equivalent to the RETURN function



$ 


                        CTRL+P



        Turns on the list device (printer, tape ...).

        Everything typed and displayed is also sent to

        the list device.  Entering CTRL+P again will

        turn off the list device.



$ 


                        CTRL+R



        Displays the current command line.  This is useful

        when editing after DELETE as it will show the newly-

        corrected command line.





$ 


                        CTRL+S



        Temporarily stops the display from scrolling.  To

        continue scrolling, type any character.  CTRL+S is

        useful to scroll and stop long displays.



$ 


                CTRL+U or CTRL+X



        Cancels the current line (does not transmit it to

        CP/M).



$ 


                        CTRL+Z



        Terminates input from the keyboard when using the

        ED program (or PIP program where input is from the

        CON: device).



$ 


                        RETURN



        Transmits the command line to CP/M and performs

        a carriage return/line feed combination to move

        the cursor to the next line.



$ 


                        DELETE



        Deletes one character and redisplays it. To display

        the corrected command line without the deleted

        characters, use CTRL+R.



$ 

                        BUILT-IN COMMANDS



        A       Changing Disk Drives

        B       DIR Command

        C       ERA Command

        D       REN Command

        E       SAVE Command

        F       TYPE Command

        G       USER Command








$ 

                Changing Disk Drives


        d:


        The d: command changes the current disk drive to

        drive d.  Whenever a command is entered CP/M will

        search the current disk drive for that filename

        (or command name, if the command is not a built-in

        command), unless a disk drive has been specified

        with the filename.


EXAMPLE:


        To change from drive A to drive B


        A>B:

        B>

                (CP/M will now search for filenames or command

                names on drive B.)



$ 


                        DIR Command


        DIR {d:filename}

        DIR displays the names of files from the disk in

        the current drive, or displays a specific filename.

        Another disk drive is specified by using d:.  File

        references may be used in place of the filename

        (e.g. *.EXT).


EXAMPLES:


        A>DIR *.BAK

                (Displays all files with BAK extension).


        A>DIR B:EXAMPLE.TXT

                (In this example, DIR searches in drive B

                for EXAMPLE.TXT, but the current drive is

                still drive A.)


$ 

                        ERA Command


        ERA {d:filename}

        The ERA command erases (deletes) the file named

        by filename, or the files whose names match with

        filematch (using the '*' or '?' symbols).  Use

        the optional d: to specify a disk drive other than

        the current drive. An 'ERA *.*' will erase all

        files in the current user area, or all files on the

        disk if user areas are not used (see USER command).


EXAMPLES:


        A>ERA EXAMPLE.TXT

                (This erases one file.)


        A>ERA B:*.BAK

                (This erases all files on the disk in drive B

                that have '.BAK' as a file type.)


$ 


                        REN Command


        REN newname=oldname


        Renames one file on the disk in the current drive

        to a specified name (changes its name from an old

        name to a new name).  Drive prefixes are not allowed.



EXAMPLE:


        A>REN NEWNAME.TXT=OLDNAME.BAK


$ 


                        SAVE Command


        SAVE n d:filename


        SAVE places n number of pages (256 bytes per page)

        from the program area of main memory (transient

        program area, TPA) in a file.  To calculate n, use

        decimal value of the NEXT value in DDT's display.


EXAMPLE:


        A>DDT SAMPLE.COM

        NEXT PC

        1D80 00

        G0

        A>SAVE 29 COPY.COM


$ 


                        TYPE Command


        TYPE {d:filename}

        Displays the contents of one or more text files (or

        program source files) from the disk of the current

        drive or the drive (d:) specified.


EXAMPLES:


        A>TYPE *.TXT


        A>TYPE B:EXAMPLE.TXT


$ 


                        USER Command


        USER n


        User areas are imaginary areas on a disk which

        are useful if you intend to share the disk with

        other users and you wish to restrict access to

        files.






$ 


                USER Command (continued)


        When you load CP/M (cold start), CP/M assumes you

        are in user area 0 (for compatibility).  By changing

        your user area with USER, you may store files into

        another user area (you must copy files using PIP with

        the G parameter).  An 'ERA *.*'command willonly erase

        files in the current user area.  Files are stored with

        an associated user number, with 0 remaining compatible

        with previous versions.  If you never use USER, your

        files will remain compatible.


        EXAMPLE:


        A>USER 2

                (User 2 would now be the current level).



$ 

                        SYSTEM PROGRAMS



        A       ASM Program (Assembler)

        B       DDT Program (Debugger)

        C       DUMP Program

        D       ED Program (Text Editor)

        E       LOAD Program

        F       MOVCPM Program

        G       PIP Program

        H       STAT Program

        I       SUBMIT and XSUB

        J       SYSGEN








$ 

                ASM Program (Assembler)


        ASM filename.ahp


        The ASM.COM program assembles a source program

        in filename.ASM, which is in the current drive,

        or the drive specified by 'a'.  ASM.COM then puts

        the assembled program (filename.HEX) on the disk in

        the current drive or the drive specified by 'h',

        and puts the program listing (filename.PRN) on the

        disk in the current drive or drive specified by

        'p'.  (If you need to specify 'a','h', or 'p' only,

        you must specify all three).


        If you specify a 'Z' for 'h' or 'p', then ASM.COM

        will not generate filename.HEX or filename.PRN

        respectively.  If you specify an 'X' for 'p', then

        the listing will appear at the console only (no

        filename.PRN).


$ 


                ASM Program (continued)


EXAMPLES:


        A>ASM PROGRAM

                (Assemble PROGRAM.ASM in drive A, and put

                PROGRAM.HEX and PROGRAM.PRN in drive A)


        A>ASM PROGRAM1.BAB

                (Assemble B:PROGRAM1.ASM, put PROGRAM1.HEX

                in drive A, and put PROGRAM1.PRN in drive B)


$ 

                DDT Program (Debugger)


        DDT {d:filename.HEX}

        DDT {d:filename.COM}


        DDT loads the program named by filename.HEX or

        filename.COM into the transient program area (TPA),

        where it can be debugged with the DDT commands (see

        CP/M manual).  The program replaces whatever

        previously occupied the program area.  If no file-

        name is specified, DDT commands act on whatever is

        already in the program area.  DDT displays the

        program counter (PC), and the NEXT address (ending

        address plus 1) of the program in the transient

        program area (TPA).


EXAMPLE:


        A>DDT PROGRAM.COM


$ 


                        DUMP Program


        DUMP filename


        The DUMP.COM program displays the contents of a file

        in hexidecimal form.  A CTRL+P should be performed

        before using DUMP to dump the contents to the printer.


EXAMPLE:


        A>DUMP PROGRAM.COM


$ 


                ED Program (Text Editor)


        ED filename


        The ED.COM program is a text editor used to

        create and edit text files.  ED maintains a

        backup copy (filename.BAK) of your text file

        as it was before the current ED session.  ED

        creates an edit buffer and provides editing

        commands to modify the text (see CP/M manual).


EXAMPLE:


        A>ED B:PROGRAM.TXT


$ 

                        LOAD Program


        LOAD d:filename


        The LOAD.COM program takes a file with a '.HEX'

        extension and converts it to an executable file

        (program or transient command) with a '.COM'

        extension.  You do not have to specify '.HEX' with

        your filename, since LOAD assumes that it has a

        '.HEX' extension.  '.HEX' files are created by the

        CP/M assembler (Intel hexidecimal format).  Specify

        a drive letter 'd:' if the file is not on the disk

        in the current drive.


        The error message 'ERROR: CANNOT OPEN SOURCE,

        LOAD ADDRESS xxxx'  means that you did not specify

        the filename or that LOAD cannot find the file on the

        disk in the specified drive.




$ 


                LOAD Program (continued)


EXAMPLE:


        A>LOAD PROGRAM

                (Load PROGRAM.HEX from drive A)

        FIRST ADDRESS   0100

        LAST ADDRESS    0234

        BYTES READ      0135

        RECORDS WRITTEN   02

        .

        .

        .

                (This tells you the first and last address, the

                number of bytes, and the number of 128-byte

                records in PROGRAM.COM)


$ 

                        MOVCPM Program


        MOVCPM {*} {*}

        MOVCPM (n} {*}


        The MOVCPM.COM program prepares a new copy of the

        CP/M system.  By itself, 'MOVCPM' prepares a new

        copy that makes use of all available system memory,

        and starts running this new version.  With 'n',

        MOVCPM prepares a copy that utilizes nK bytes

        (e.g., if n is 48, it uses 48K bytes) of system

        memory, and starts running this new version.  However,

        if you include the asterisk '*' after 'n',

        MOVCPM prepares a copy of CP/M (using nK) for

        subsequent saving on disk with the SYSGEN program

        (or SAVE command).  The command 'MOVCPM * *'

        prepares a copy of CP/M that utilizes all of the

        available system memory, and leaves the copy in

        memory for subsequent saving on disk with SYSGEN

        or SAVE.

$ 


                MOVCPM Program (continued)


EXAMPLES:


        A>MOVCPM 48

                (Prepare a 48K CP/M system and run it)


        A>MOVCPM 64 *

                (Prepare a 64K CP/M system ready for a SYSGEN

                to save it on disk)


        A>MOVCPM * *

                (Prepare a CP/M system using all available

                system memory for a SYSGEN to save it on disk)


$ 


                        PIP Program


        PIP argument line


        The PIP.COM program copies files.  Each argument

        line contains filenames, filename matches, or

        device names with optional parameters.  PIP

        operations involve copying from a source (or

        original) file or device to a destination (or

        copy) file or device.  Each argument line takes

        the general form: destination=source.


        PIP has many features, consult your CP/M manual for

        a full explanation.


$ 


                PIP Program (continued)


EIP PROGRAM1.TXT=B:PROGRAM2.TXT

                (This copies PROGRAM2.TXT from disk B to disk A

                with the new name of PROGRAM1.TXT)


        A>PIP A:=B:PROGRAM3.COM

                (This copies FILE3.COM from disk B to disk A

                and names the copied file PROGRAM3.COM)


        A>PIP A:=B:*.*[V]

                (This copies all files from disk B to disk A

                and all files keep the same name. The [V] causes

                all copied data to be verified.)


$ 


                        STAT Program


        STAT d:

        STAT {d:filename}


        The STAT.COM program provides statistics on files,

        disks, and devices.  The statistics are disk space,

        file size, attributes, and device assignments.


EXAMPLES:


        A>STAT B:*.PRN

                (This displays the size for all '.PRN'

                files on the disk in drive B).


$ 


                STAT Program (continued)


EXAMPLES (continued)


        A>STAT B:

                (This displays the amount of free space on

                the disk in drive B).


        See your CP/M manual to learn how to assign file

        attributes.


$ 


                        SUBMIT and XSUB


        SUBMIT d:filename


        The SUBMIT command creates a file which contains the

        commands you listed in your submit file called

        filename.SUB.  CP/M then executes these commands

        in the order they're listed, before returning

        control to your keyboard for commands.


        You create your '.SUB' file with a text editing

        program like ED.COM.  Each text line can only

        contain one command line.


        If you include 'XSUB' as your first command in

        your '.SUB' file, your submitted commands can ask

        for data from the buffered command line.


$ 

                SUBMIT and XSUB (continued)


EXAMPLE:


        Suppose you created a file called DOIT.SUB

        that contained the following commands:


                DDT

                IPROGRAM1.HEX

                R

                G0

                SAVE 1 COPY.COM


        You can execute this 'batch' of commands by typing:


        A>SUBMIT DOIT


$ 


                        SYSGEN


        The SYSGEN program places a copy of the CP/M operating

        system on disk.  You use it to make backup copies of

        the system.  It would be a good idea to put the CP/M

        system on all of your disks for convenience.


        When running this program, SYSGEN asks for the drive

        name of your current system disk. Respond with the letter

        of the drive where the system is located, unless you

        want to skip the system read operation if the system is

        already in memory due to a MOVCPM operation.  SYSGEN

        then asks for a destination drive name (the drive of the

        disk to receive the copy).  This should be answered by

        typing in the drive name or a  RETURN to restart your

        system.


$ 


                SYSGEN (continued)


EXAMPLE:


        A>:SYSGEN

        820-II SYSGEN VERSION 3.0

        SOURCE DRIVE NAME (OR RETURN TO SKIP) A:

        SOURCE ON A:. TOUCH <RETURN> TO CONTINUE, OR <ESC> TO EXIT.

        FUNCTION COMPLETE.

        DESTINATION DRIVE NAME (OR <RETURN> TO EXIT) B:

        DESTINATION ON B:. TOUCH <RETURN> TO CONTINUE, OR <ESC> TO EXIT.

        FUNCTION COMPLETE.

        DESTINATION DRIVE NAME (OR <RETURN> TO EXIT):


$ 

                        ERROR MESSAGES



        A       NO FILE or FILE NOT FOUND

        B       BDOS ERR ON d:

        C       INVALID DISK ASSIGNMENT

        D       READ, WRITE, OR SELECT ERRORS







$ 


                NO FILE or FILE NOT FOUND



        This message means that the disk does not contain

        the file you specified in the command line.

        If you specified a filename match, no files were

        found that match your name.  Check your entry.



$ 


                        BDOS ERR ON d:



        The is the most common error message.  d: is the

        name of a disk drive.  CP/M either could not find

        a disk in that drive, or the disk is not properly

        formatted.  Other possibilities are:  the flexible

        disk is physically write protected, the disk is

        the wrong density for the disk drive controller,

        the disk drive is not ready.


        If 'SELECT' is displayed, you may have selected a

        drive that does not exist.  If 'R/O' is displayed,

        your disk has been assigned the 'read only'

        attribute with a STAT command.


        Type a RETURN to recover, or CTRL+C for a warm start.


$ 


                INVALID DISK ASSIGNMENT



        This message may appear if, in a STAT command, you

        followed a drive specifier ('d:') with anything

        other than '=R/O'.



$ 


                READ, WRITE, OR SELECT ERRORS



        Select error indicates you have attempted to access a

        drive that is not ready or a disk that has not been

        formatted(initialized).


        A read or write error appears if the attempted operation

        was not successful.  To continue, select one of the

        indicated options:

        Type "A" to accept and return the error to the program

        Type "I" to ignore the error

        Type "R" to retry the operation again.


        If selection of one of the options is not successful,

        use <CTRL+C> to return to CP/M.





$ 


                        CP/M COMMAND SUMMARY



        A       CONTROL KEYS

        B       BUILT-IN COMMANDS

        C       SYSTEM PROGRAMS

        D       ERROR MESSAGES








$ 

                        CONTROL KEYS


CTRL+C          Restart CP/M (terminate program), performs a  warm

                start for a newly-inserted disk.


CTRL+E          Moves cursor to beginning of next line for long

                command lines.


CTRL+H or BACKSPACE

                Deletes one character and erases it from the screen.


CTRL+I          Add 8 spaces (tab to next 8th column:8,16,24...).


CTRL+J or LINE FEED

                Same as RETURN.


CTRL+M          Same as RETURN.


$ 

                CONTROL KEYS (continued)


CTRL+P          Turn on list device (printer, tape...).  Type

                CTRL+P again to turn off list device.


CTRL+R          Repeat the command line.


CTRL+S          Temporarily stop the display; continue by typing

                any character.


CTRL+U or CTRL+X

                Cancel the current line (do not transmit it to CP/M).


CTRL+Z          End input from keyboard during ED or PIP session.


RETURN          Transmit command line to CP/M and do a carriage

                return/line feed to move cursor to next line.


DELETE          Delete one character and redisplay it.  To display

                corrected command line without deleted characters,

                use CTRL+R.


$ 


                        BUILT-IN COMMANDS


d:              Change current disk drive to d:.


DIR {d:filename} or DIR {d:filematch}

                Display one or more files.


ERA {d:filename} or ERA {d:filematch}

                Erase one or more files.


REN newname=oldname

                Rename oldname to newname.


SAVE n d:filename

                Save n pages to d:filename.


TYPE {d:filename} or TYPE {d:filematch}

                Display contents of one or more text files.


USER n          Set current user area to user number n.


$ 

                                                                        HELP

                                                                        PATH

                                                                         A
 E
 C 

                        SYSTEM PROGRAMS


ASM filename.ahp

                Assemble filename.ASM in the current drive or drive

                specified by 'a', put the assembled program

                (filename.HEX) in the current drive or drive

                specified by 'h', and put the listing

                (filename.PRN) in the current drive or drive

                specified by 'p'.


DDT {d:filename.HEX} or DDT {d:filename.COM}

                Load filename.HEX or filename.COM into the program

                area to debug with DDT commands.


DUMP filename
                Display the file's contents in hexadecimal.


ED filename     Create and/or edit a text file.


$ 


                SYSTEM PROGRAMS (continued)


LOAD d:filename

                Convert filename.HEX to an executable program

                called filename.COM.


MOVCPM          Prepare a new copy of system.


PIP argument

                Copy files.


STAT {d:filename}

                Display file and disk information.


SUBMIT d:filename {parameters}

                Execute commands in a CP/M text file.


SYSGEN          Place a copy of the system on a disk.


$ 


                        ERROR MESSAGES


NO FILE or FILE NOT FOUND

                Disk does not contain file you specified.


BDOS ERR ON d:  No disk in drive, disk is not formatted properly,

                disk is so old that CP/M can't read it, disk drive

                is not on, door is not closed, drive doesn't exist,

                or you're trying to write to a read only disk.


INVALID DISK ASSIGNMENT

                In a STAT command, you followed 'd:' with something

                other than '=R/O'.


Read,  Write, or Select Err d: A(ccept), I(gnore), R(etry)

                Error encountered trying to Read, Write, or Select

                a disk.  Touch <CTRL+C> to return to CP/M.




$                               REFERENCE MANUALS AVAILABLE



        XEROX Manuals

        -------------

        1       820-II CP/M Operating System Reference Guide(9R80448)

        2       820-II CP/M Operating System Handbook(9R80449)

        3       820-II Word Processing Reference Guide(9R80445)

        4       820-II Word Processing Handbook(9R80446)

        5       820-II Operation Manual



        Additional Reference Materials

        --------------------------

        A       CP/M Handbook (by Rodney Zaks)







$                           SUBJECT GUIDE TO REFERENCE MANUALS


        (Numbers correspond to manual numbers listed on previous screen)

                             Manual                              Manual

        Subject             Reference       Subject             Reference

        ----------------------------------------------------------------- 





$       $           $

        $Assembler.................1,A$Baud Rate Generator.........1$BDOS......................1,A$CBIOS, Modificion.........1$CCP (Cons Command Proc)...1,A$Clock Generator.............1$Connector Pin Assignments...1$CP/M, Commands..........1,5,A$CP/M, 
Description.......1,2,A$CP/M, History...............A$CP/M, Intern Structure....1,A, Display Blanking.......1$CRT, Display Codes........1,5$CRT, Display Generator....1,5$CRT, Scrolling..............1$CRT, Ram Addresing..........1$Debugger.................
.1,A$Diagnostics.............1,3,5$Editing.........y Disk Controller......1$Floppy Disk Format......1,4,5$Floppy Disk Parameter Table.1$Floppy Disk Translation Sync1$Forms Tractor...............1$Installation, 820-II....1,3,5$Interrupt 
Processing........1$Keyboard Codes...., Cold Start..........1$Memory, 64K Ram.............1$Memory, Bank Switching......1$Memory, Organization....1,5,A$Memory, Refresh.............1$Monitor, Commands.........1,5$Monitor, User Entry Points..1$Pin 
Assignments....t Address Decoder........1$Port Assignments............1$Ports, Parallel I/O.....1,5,A$Ports, Serial I/O.......1,5,A$Printer, 40 CPS/20 CPS..1,3,5$Real Time Clock.............1$Reset Controller..........1,5$Sector Blocking.m Call 
Conventions.....1$System Generation.........1,A$Theory Of Operation.........1$Word Processing...........3,4$Z80, CPU..................1,A$Z80, CTC....................1$Z80, PIO....................1$Z80, SIO..........                             $         
                    $                             $                             $                             $                             $                             $                             $                             $                        
     $                             $                             $                             $                             $                             $                             $                             $                             $         
                    $                             $                             $                             $                             $                             $                             $                             $                        
     $                             $                             $ S



                        XEROX 820-II SPECIAL FEATURES



        A       SCREEN PRINT

        B       MONITOR COMMANDS

        C       HOST TERMINAL COMMANDS

        D       DISPLAY CONTROL CODES

        E       ESCAPE SEQUENCES

        F       SUBROUTINE ENTRY POINTS











$ 


                        SCREEN PRINT


        Touching the <CTRL> key and simultaneously touching

        the <HELP> key will cause the contents of the video

        display to be sent to the serial printer port.

        Printing will begin with a carriage return and line

        feed sequence, followed by the top line of the display.

        The contents of the the screen should not be altered

        during the screen print so that a complete screen

        image can be reproduced.  After the last line has

        been printed, a carriage return and line feed sequence

        will be sent to the printer to separate one screen

        print from the next.






$ 


                SCREEN PRINT (continued)


        Touching the <CTRL> key and simultaneously touching

        the <HELP> key during a screen print will terminate

        the print out, although some printers will continue

        printing the information received before the termi-

        nation was detected.  Screen print may be initiated

        at any time, in any program.  It should be noted that

        certain control codes that may be displayed on the

        screen can cause unpredictable operation with some

        printers that interpret control codes as direct printer

        commands.








$ 
                        MONITOR COMMANDS


        The Basic Operating System monitor (BOS) is the primary

        control program for the XEROX 820-II computer.  The BOS

        monitor begins execution when the computer is first

        powered on, or whenever the reset button is pressed.

        The monitor commands are:

        d(isplay memory)        D [start adress] [end address]

        m(odify memory)         M <address>

        x(tended memory test)   X <start address> <end address>

        f(ill memory)           F <start address> <end address> <fill data>

        c(opy memory)           C <start address> <end address> <dest address>

        v(erify memory block)   V <start address> <end address> <with address>

        g(oto)                  G <address> [HL DE BC registers]

        i(nput)                 I <16-bit port address>

        o(utput)                O <16-bit port address> <data>

        r(ead disk sector)      R <drive unit> <track> <sector> <address>

        b(aud rate)             B <buad rate code> [channel]

        t(ypewriter)            T [baud rate code]

        h(ost terminal)         H [channel]

        p(rinter protocol)      P <Xon/Xoff> [status mask] [status value]

$ 


                MONITOR COMMANDS (continued)


        Touching the <CTRL> key and simultaneously touching

        the <ESC> key will normally terminate a program and

        return control to the BOS monitor.  Control is actually

        passed to the routine that is pointed to by the JUMP vector

        at location F003 hex.  User programs may trap the <CTRL+ESC>

        key by modifying the jump at F003 to point to their own

        software termination or warm start routine.












$ 


                        HOST TERMINAL COMMANDS


        At power-on or reset, the communications port is set

        for 300 baud, and the printer port for 1200 baud.

        Both serial ports are set for 7 data bits and even

        parity with one stop bit.


        <CTRL+DOWN ARROW> Scroll up

        <CTRL+UP ARROW>   Scroll down

        <CTRL+DEL>        Enable local echo

        <CTRL+LINE FEED>  Enable local auto line feed

        <CTRL+1>          Enable remote echo

        <CTRL+2>          Enable remote auto line feed

        <CTRL+.>          Transmit BREAK

        <CTRL+ESC>        Exit terminal mode






$ 


                        DISPLAY CONTROL CODES


        <CTRL+E>        Set cursor character as next character

        <CTRL+F>        Restore previous attribute mode

        <CTRL+G>        Bell

        <CTRL+H>        Backspace or cursor left

        <CTRL+I>        Horizontal tab

        <CTRL+J>        Line feed or cursor down

        <CTRL+K>        Cursor up

        <CTRL+L>        Cursor right

        <CTRL+M>        Carriage return

        <CTRL+Q>        Clear to end of screen

        <CTRL+X>        Clear to end of line

        <CTRL+Z>        Clear screen and home cursor

        <CTRL+[>        Escape

        <CTRL+_>        Display next character direct






$ 


                        ESCAPE SEQUENCES


        <ESC+(>         Disable attribute display

        <ESC+)>         Enable attribute display

        <ESC+*>         Clear screen

        <ESC+0>         Pass 7-bit keyboard data

        <ESC+1>         Pass 8-bit keyboard data

        <ESC+4>         Set blink attribute mode

        <ESC+5>         Set graphics attribute mode

        <ESC+6>         Set blink attribute mode

        <ESC+7>         Set inverse video attribute mode

        <ESC+8>         Set low intensity attribute mode

        <ESC+=>         XY cursor position leadin

        <ESC+E>         Line insert

        <ESC+Q>         Character insert

        <ESC+R>         Line delete

        <ESC+T>         Clear to end of line

        <ESC+W>         Character delete

        <ESC+Y>         Clear to end of screen


$ 

                        SUBROUTINE ENTRY POINTS


        Most of the entry points are downward compatible with

        the original XEROX Model 820 BOS Monitor.  Differences

        are noted with an *.  Entries with a # are provided

        exclusively for 820 bios compatibility.


*       F000 - Cold start.  The Resident monitor is reloaded from ROM.

*       F003 - Warm start.  Performed when <CTRL+ESC> is touched.

        F006 - Keyboard status.  Returns FF if ready, 00 if not ready.

        F009 - Keyboard input.  Waits for, then returns data in reg A.

        F00C - CRT output.  From register A, saves/restores all regs.

*       F00F - Fast CRT output.  From reg C, destroys all registers.

        F012 - SIO-B input ready status.  Returns status in register A.

        F015 - SIO-B input data.  Returns character in A.

        F018 - SIO-B output data.  Transmits character from register A.

#       F01B - Select logical disk.  From register C. (00H-0FH)

#       F01E - Home disk.  Seek track 0.

#       F021 - Seek logical track.  Track in C, always returns success.

#       F024 - Read sector.  Transfer address in HL, sector in reg C.

$ 

                SUBROUTINE ENTRY POINTS (continued)


#       F027 - Write sector.  Transfer address in HL, sector in reg C.

        F02A - Execute physical driver.  Parameter block pointer in HL.

        F02D - Set direct CRT cursor.  Address from registers HL.

        F030 - Direct CRT display.  Store A at loc set by direct CRT

                cursor, increments direct cursor address.

        F033 - CRT memory block move.  Move memory block to or from

                screen.  Source address in HL, destination in DE, number

                of bytes to move in BC, register A indicates type to move.

        F036 - Return disk map table address in registers HL.

        F039 - Return address of time of day locations in registers HL.

        F03C - Return configuration status.

        F03F - SIO-B output ready status.  Returns FF if ready, 00 if not.

        F042 - Get or set configurable data.

        F045 - Start screen print.  Initiates background screen print.

        F048 - User accessible 1 second interrupt.






$

A: 500k SD     T2   H0                  26x128  7   27                          
 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16                                         
                                                                                
01234567
W                                                                             
Write from C:\DISKTOOL\!XEROX\IMD\BOX15\B15D1.IMD                               
IMD 1.17:  7/01/1990 11:01:00                                                   
XEROX                                                                           
Adventure    Pac Man                                                            
                                                                                
  0/0: 500k SD - 26 sectors of 128 bytes - G1:7 G2:27                           
     : Single-sided                                                             
     : Single-step                                                              
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                


   ANALYZING DISKETTE IN DRIVE A:

 Single-Sided 
 Sector size is 128 bytes
 Side 0 sector ID's 1 - 26   
 Interleave is 1:1 
 CP/M Directory at Cyl 2, Side 0

Textbetrachter: C:\...X21\B21D12.TXT    Col 0             581 Byte           0% 
IMageDisk Analyzer 1.18 / Mar 12 2012                                           
IMD 1.17:  5/01/1990  2:21:02                                                   
                                                                                
XEROX 820                                                                       
                                                                                
820-II                                                                          
                                                                                
CP/M 2.2                                                                        
                                                                                
COPYRIGHT 1982                                                                  
                                                                                
REV 1.000    3Q82                                                               
                                                                                
PART NUMBER 130S22203                                                           
                                                                                
Required cylinders: 77                                                          
Required heads    : 1                                                           
Data rate         : 500kbps                                                     
Est. maximum track: 8951 bytes                                                  
                                                                                
Possible drives/options to write B21D12.IMD :                                   
                                                                                
 3.5" HD 80-track   NOTE: *1 *2                                                 
1Hilfe  2K.Umbr 3       4Hex    5       6       7Suche  8Betra. 9Druck  10Beend.

A: 500k DD     T76  H0                  26x256  14  54                          
 1 14 2 15 3 16 4 17 5 18 6 19 7 20 8 21 9 22 10 23 11 24 12 25 13 26           
                                                                                
01234567
   
Write from C:\DISKTOOL\!XEROX\IMD\BOX21\B21D12.IMD                              
IMD 1.17:  5/01/1990  2:21:02                                                   
XEROX 820                                                                       
820-II                                                                          
CP/M 2.2                                                                        
COPYRIGHT 1982                                                                  
REV 1.000    3Q82                                                               
PART NUMBER 130S22203                                                           
                                                                                
  0/0: 500k SD - 26 sectors of 128 bytes - G1:7 G2:27                           
     : Single-sided                                                             
     : Single-step                                                              
  1/0: 500k DD - 26 sectors of 256 bytes - G1:14 G2:54                          
2002 sectors (1161 Compressed)                                                  
Write complete - press ENTER for main menu                                      
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
