_  __   _  _         _ _     _      _           _           
  __| |/ /_ | || |     __| (_)___| | __ (_)_ __   __| | _____  __
 / _` | '_ \| || |_   / _` | / __| |/ / | | '_ \ / _` |/ _ \ \/ /
| (_| | (_) |__   _| | (_| | \__ \   <  | | | | | (_| |  __/>  < 
 \__,_|\___/   |_|    \__,_|_|___/_|\_\ |_|_| |_|\__,_|\___/_/\_\
                                                                 
            

DISK MANAGER.C

FILE INFORMATION

FILENAME(S): DISK MANAGER.C

FILE TYPE(S): USR

FILE SIZE: 5.7K

FIRST SEEN: 2025-12-01 01:08:52

APPEARS ON: 1 disk(s)

FILE HASH

30b5775cf2e87119bedeca31a77d85fb385a07538450c7abfec1bffc1f6c927a

FOUND ON DISKS (1 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
SUPER C V 2 0 DISK MANAGER.C USR hedning, loot 21 7 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

00000000: 85 81 9F 2F 2A 20 C4 49  53 4B 20 4D 41 4E 41 47  |.../* .ISK MANAG|
00000010: 45 52 2E 20 D0 52 4F 47  52 41 4D 45 44 20 42 59  |ER. .ROGRAMED BY|
00000020: 20 D0 41 54 52 49 43 20  C8 45 44 4C 49 4E 20 38  | .ATRIC .EDLIN 8|
00000030: 37 2D 30 36 2D 32 34 20  2A 2F 0D 1C 0D 1C 0D 9E  |7-06-24 */......|
00000040: 23 49 4E 43 4C 55 44 45  20 22 53 54 44 49 4F 2E  |#INCLUDE "STDIO.|
00000050: 48 22 0D 9E 23 49 4E 43  4C 55 44 45 20 22 44 49  |H"..#INCLUDE "DI|
00000060: 53 4B 57 45 44 47 45 2E  48 22 0D 9E 23 49 4E 43  |SKWEDGE.H"..#INC|
00000070: 4C 55 44 45 20 22 41 4C  4C 4F 43 41 54 49 4F 4E  |LUDE "ALLOCATION|
00000080: 2E 43 22 0D 9E 23 49 4E  43 4C 55 44 45 20 22 57  |.C"..#INCLUDE "W|
00000090: 49 4E 44 4F 57 53 32 2E  43 22 0D 1C 0D 1C 0D 1F  |INDOWS2.C"......|
000000A0: 23 44 45 46 49 4E 45 20  D4 C5 D2 CD C9 CE C1 D4  |#DEFINE ........|
000000B0: C5 20 20 20 20 33 0D 1C  0D 1C 0D 1C 0D 1C 53 54  |.    3........ST|
000000C0: 41 54 49 43 20 42 59 54  45 20 50 41 54 54 45 52  |ATIC BYTE PATTER|
000000D0: 4E 5B 34 31 5D 20 3D 20  DB 20 31 30 32 2C 31 30  |N[41] = . 102,10|
000000E0: 32 2C 31 30 32 2C 31 30  32 2C 31 30 32 2C 31 30  |2,102,102,102,10|
000000F0: 32 2C 31 30 32 2C 31 30  32 2C 0D 1C 20 20 20 20  |2,102,102,..    |
00000100: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000110: 20 20 20 20 20 20 20 20  31 30 32 2C 31 30 32 2C  |        102,102,|
00000120: 31 30 32 2C 31 30 32 2C  31 30 32 2C 31 30 32 2C  |102,102,102,102,|
00000130: 31 30 32 2C 31 30 32 2C  0D 1C 20 20 20 20 20 20  |102,102,..      |
00000140: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000150: 20 20 20 20 20 20 31 30  32 2C 31 30 32 2C 31 30  |      102,102,10|
00000160: 32 2C 31 30 32 2C 31 30  32 2C 31 30 32 2C 31 30  |2,102,102,102,10|
00000170: 32 2C 31 30 32 2C 0D 1C  20 20 20 20 20 20 20 20  |2,102,..        |
00000180: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000190: 20 20 20 20 31 30 32 2C  31 30 32 2C 31 30 32 2C  |    102,102,102,|
000001A0: 31 30 32 2C 31 30 32 2C  31 30 32 2C 31 30 32 2C  |102,102,102,102,|
000001B0: 31 30 32 2C 0D 1C 20 20  20 20 20 20 20 20 20 20  |102,..          |
000001C0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000001D0: 20 20 31 30 32 2C 31 30  32 2C 31 30 32 2C 31 30  |  102,102,102,10|
000001E0: 32 2C 31 30 32 2C 31 30  32 2C 31 30 32 2C 31 30  |2,102,102,102,10|
000001F0: 32 2C 30 20 DD 3B 0D 1C  0D 1C 53 54 41 54 49 43  |2,0 .;....STATIC|
00000200: 20 42 59 54 45 20 42 41  43 4B 43 4F 4C 5B 34 31  | BYTE BACKCOL[41|
00000210: 5D 20 3D 20 DB 20 33 2C  33 2C 33 2C 33 2C 33 2C  |] = . 3,3,3,3,3,|
00000220: 33 2C 33 2C 33 2C 33 2C  33 2C 0D 1C 20 20 20 20  |3,3,3,3,3,..    |
00000230: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000240: 20 20 20 20 20 20 20 20  33 2C 33 2C 33 2C 33 2C  |        3,3,3,3,|
00000250: 33 2C 33 2C 33 2C 33 2C  33 2C 33 2C 0D 1C 20 20  |3,3,3,3,3,3,..  |
00000260: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000270: 20 20 20 20 20 20 20 20  20 20 33 2C 33 2C 33 2C  |          3,3,3,|
00000280: 33 2C 33 2C 33 2C 33 2C  33 2C 33 2C 33 2C 0D 1C  |3,3,3,3,3,3,3,..|
00000290: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000002A0: 20 20 20 20 20 20 20 20  20 20 20 20 33 2C 33 2C  |            3,3,|
000002B0: 33 2C 33 2C 33 2C 33 2C  33 2C 33 2C 33 2C 33 2C  |3,3,3,3,3,3,3,3,|
000002C0: 30 20 DD 3B 0D 1C 0D 1C  53 54 41 54 49 43 20 43  |0 .;....STATIC C|
000002D0: 48 41 52 20 52 4F 4F 54  53 54 52 5B 34 5D 5B 32  |HAR ROOTSTR[4][2|
000002E0: 31 5D 3D DB 20 DB 22 20  31 35 34 31 20 C4 49 53  |1]=. ." 1541 .IS|
000002F0: 4B 20 43 4F 4D 4D 41 4E  44 53 20 22 DD 2C 0D 1C  |K COMMANDS ".,..|
00000300: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000310: 20 20 20 20 20 20 20 20  20 20 20 20 20 DB 22 20  |             ." |
00000320: C4 49 52 45 43 54 4F 52  59 20 46 49 4C 45 52 20  |.IRECTORY FILER |
00000330: 20 20 20 22 DD 2C 0D 1C  20 20 20 20 20 20 20 20  |   ".,..        |
00000340: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000350: 20 20 20 20 20 DB 22 20  D3 45 54 55 50 20 20 20  |     ." .ETUP   |
00000360: 20 20 20 20 20 20 20 20  20 20 20 22 DD 2C 0D 1C  |           ".,..|
00000370: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000380: 20 20 20 20 20 20 20 20  20 20 20 20 20 DB 22 20  |             ." |
00000390: C5 58 49 54 20 20 20 20  20 20 20 20 20 20 20 20  |.XIT            |
000003A0: 20 20 20 22 DD 20 DD 3B  0D 1C 0D 1C 0D 1C 4D 41  |   ". .;......MA|
000003B0: 49 4E 28 29 0D 1C 0D 1C  DB 0D 1C 0D 1C 49 4E 54  |IN().........INT|
000003C0: 20 20 4C 4F 4F 50 3B 0D  1C 43 48 41 52 20 43 3B  |  LOOP;..CHAR C;|
000003D0: 0D 1C 0D 1C 43 48 41 52  20 2A 53 43 52 41 44 52  |....CHAR *SCRADR|
000003E0: 20 3D 20 30 58 45 30 30  30 3B 0D 1C 43 48 41 52  | = 0XE000;..CHAR|
000003F0: 20 2A 43 4F 4C 41 44 52  20 3D 20 35 35 32 39 36  | *COLADR = 55296|
00000400: 3B 0D 1C 42 59 54 45 20  2A 42 4F 52 44 45 52 20  |;..BYTE *BORDER |
00000410: 3D 20 35 33 32 38 30 3B  0D 1C 42 59 54 45 20 2A  |= 53280;..BYTE *|
00000420: 53 43 52 45 45 4E 20 3D  20 35 33 32 38 31 3B 0D  |SCREEN = 53281;.|
00000430: 1C 42 59 54 45 20 2A 43  4F 4C 4F 55 52 20 3D 20  |.BYTE *COLOUR = |
00000440: 20 20 36 34 36 3B 0D 1C  0D 1C 46 49 4C 45 20 43  |  646;....FILE C|
00000450: 4F 4D 43 48 41 4E 3B 0D  1C 0D 1C 0D 1C 20 20 20  |OMCHAN;......   |
00000460: 20 20 43 4C 52 53 43 52  3B 0D 1C 0D 1C 20 20 20  |  CLRSCR;....   |
00000470: 20 20 2A 43 4F 4C 4F 55  52 20 3D 20 33 3B 0D 1C  |  *COLOUR = 3;..|
00000480: 0D 1C 20 20 20 20 20 43  45 4E 54 52 45 28 22 20  |..     CENTRE(" |
00000490: C4 49 53 4B 20 CD 41 4E  41 47 45 52 20 D6 31 2E  |.ISK .ANAGER .1.|
000004A0: 30 5C 4E 22 29 3B 0D 1C  20 20 20 20 20 43 45 4E  |0\N");..     CEN|
000004B0: 54 52 45 28 22 20 C2 59  5C 4E 22 29 3B 0D 1C 20  |TRE(" .Y\N");.. |
000004C0: 20 20 20 20 43 45 4E 54  52 45 28 22 20 20 D0 41  |    CENTRE("  .A|
000004D0: 54 52 49 43 20 C8 45 44  4C 49 4E 5C 4E 5C 4E 22  |TRIC .EDLIN\N\N"|
000004E0: 29 3B 0D 1C 20 20 20 20  20 43 45 4E 54 52 45 28  |);..     CENTRE(|
000004F0: 22 28 43 29 20 31 39 38  37 20 42 59 20 C4 D2 C5  |"(C) 1987 BY ...|
00000500: C1 CD 20 D3 CF C6 D4 22  29 3B 0D 1C 0D 1C 20 20  |.. ....");....  |
00000510: 20 20 20 43 20 3D 20 49  4E 4B 45 59 28 D3 D4 C4  |   C = INKEY(...|
00000520: C9 CF 29 3B 0D 1C 0D 1C  20 20 20 20 20 43 4C 52  |..);....     CLR|
00000530: 53 43 52 3B 0D 1C 0D 1C  20 20 20 20 20 2A 42 4F  |SCR;....     *BO|
00000540: 52 44 45 52 20 3D 20 33  3B 0D 1C 20 20 20 20 20  |RDER = 3;..     |
00000550: 2A 53 43 52 45 45 4E 20  3D 20 36 3B 0D 1C 20 20  |*SCREEN = 6;..  |
00000560: 20 20 20 2A 43 4F 4C 4F  55 52 20 3D 20 33 3B 0D  |   *COLOUR = 3;.|
00000570: 1C 0D 9F 20 20 2F 2A 20  C6 49 4C 4C 20 42 41 43  |...  /* .ILL BAC|
00000580: 4B 47 52 4F 55 4E 44 20  50 41 54 54 45 52 4E 20  |KGROUND PATTERN |
00000590: 2A 2F 0D 1C 0D 1C 20 20  20 20 20 46 4F 52 20 28  |*/....     FOR (|
000005A0: 4C 4F 4F 50 3D 30 3B 4C  4F 4F 50 3C 32 35 3B 4C  |LOOP=0;LOOP<25;L|
000005B0: 4F 4F 50 2B 2B 2C 43 4F  4C 41 44 52 2B 3D 34 30  |OOP++,COLADR+=40|
000005C0: 2C 53 43 52 41 44 52 2B  3D 34 30 29 0D 1C 20 20  |,SCRADR+=40)..  |
000005D0: 20 20 20 20 20 DB 0D 1C  20 20 20 20 20 20 20 20  |     ...        |
000005E0: 20 4D 4F 56 45 28 53 43  52 41 44 52 2C 34 30 2C  | MOVE(SCRADR,40,|
000005F0: 50 41 54 54 45 52 4E 2C  35 33 29 3B 0D 1C 20 20  |PATTERN,53);..  |
00000600: 20 20 20 20 20 20 20 4D  4F 56 45 28 43 4F 4C 41  |       MOVE(COLA|
00000610: 44 52 2C 34 30 2C 42 41  43 4B 43 4F 4C 2C 35 33  |DR,40,BACKCOL,53|
00000620: 29 3B 0D 1C 20 20 20 20  20 20 20 DD 0D 1C 0D 9F  |);..       .....|
00000630: 20 20 2F 2A 20 CF 50 45  4E 20 44 49 53 4B 20 53  |  /* .PEN DISK S|
00000640: 54 41 54 55 53 20 57 49  4E 44 4F 57 20 2A 2F 0D  |TATUS WINDOW */.|
00000650: 1C 0D 1C 20 20 20 20 20  4F 50 45 4E 57 49 4E 28  |...     OPENWIN(|
00000660: 32 32 2C 30 2C 32 34 2C  33 39 29 3B 0D 1C 0D 9F  |22,0,24,39);....|
00000670: 20 20 2F 2A 20 C9 4E 49  54 49 41 4C 49 5A 45 20  |  /* .NITIALIZE |
00000680: 44 49 53 4B 20 44 52 49  56 45 20 2A 2F 0D 1C 0D  |DISK DRIVE */...|
00000690: 1C 20 20 20 20 20 43 4F  4D 43 48 41 4E 3D 4F 50  |.     COMCHAN=OP|
000006A0: 45 4E 44 49 53 4B 43 48  41 4E 28 38 2C C5 CD D0  |ENDISKCHAN(8,...|
000006B0: D4 D9 29 3B 0D 1C 20 20  20 20 20 44 49 53 4B 43  |..);..     DISKC|
000006C0: 4F 4D 28 43 4F 4D 43 48  41 4E 2C 22 49 30 3A 22  |OM(COMCHAN,"I0:"|
000006D0: 29 3B 0D 1C 0D 1C 20 20  20 20 20 49 46 28 44 49  |);....     IF(DI|
000006E0: 53 4B 53 54 41 54 28 43  4F 4D 43 48 41 4E 29 29  |SKSTAT(COMCHAN))|
000006F0: 0D 1C 20 20 20 20 20 20  20 45 52 52 4F 52 54 52  |..       ERRORTR|
00000700: 41 50 28 43 4F 4D 43 48  41 4E 29 3B 0D 1C 0D 1C  |AP(COMCHAN);....|
00000710: 20 20 20 20 20 50 52 49  4E 54 53 54 41 54 28 29  |     PRINTSTAT()|
00000720: 3B 0D 1C 0D 9F 20 20 2F  2A 20 CF 50 45 4E 20 52  |;....  /* .PEN R|
00000730: 4F 4F 54 20 4D 45 4E 55  20 2A 2F 0D 1C 0D 1C 20  |OOT MENU */.... |
00000740: 20 20 20 20 52 4F 4F 54  4D 45 4E 55 28 32 2C 32  |    ROOTMENU(2,2|
00000750: 29 3B 0D 1C 0D 9F 20 20  2F 2A 20 D4 45 52 4D 49  |);....  /* .ERMI|
00000760: 4E 41 54 45 20 45 58 45  43 55 54 49 4F 4E 2A 2F  |NATE EXECUTION*/|
00000770: 0D 1C 0D 1C 20 20 20 20  20 45 58 49 54 28 29 3B  |....     EXIT();|
00000780: 0D 1C 0D 1C DD 0D 1C 0D  1C 0D 1C 0D 1C 0D 9F 2F  |.............../|
00000790: 2A 20 D0 52 49 4E 54 20  44 49 53 4B 20 53 54 41  |* .RINT DISK STA|
000007A0: 54 55 53 20 54 4F 20 4D  45 53 53 41 47 45 20 4C  |TUS TO MESSAGE L|
000007B0: 49 4E 45 20 2A 2F 0D 1C  0D 96 56 4F 49 44 20 50  |INE */....VOID P|
000007C0: 52 49 4E 54 53 54 41 54  28 29 0D 1C 0D 1C DB 0D  |RINTSTAT()......|
000007D0: 1C 20 20 20 20 20 4D 4F  56 45 28 30 58 45 30 30  |.     MOVE(0XE00|
000007E0: 30 2B 39 32 31 2C 33 38  2C 43 4C 52 53 54 52 2C  |0+921,38,CLRSTR,|
000007F0: 35 33 29 3B 0D 1C 20 20  20 20 20 43 55 52 53 4F  |53);..     CURSO|
00000800: 52 28 32 33 2C 32 29 3B  0D 1C 20 20 20 20 20 57  |R(23,2);..     W|
00000810: 52 49 54 45 53 54 41 54  28 29 3B 0D 1C DD 0D 1C  |RITESTAT();.....|
00000820: 0D 1C 0D 9F 2F 2A 20 48  41 4E 44 4C 45 20 44 49  |..../* HANDLE DI|
00000830: 53 4B 20 45 52 52 4F 52  53 20 2A 2F 0D 1C 0D 96  |SK ERRORS */....|
00000840: 56 4F 49 44 20 45 52 52  4F 52 54 52 41 50 28 46  |VOID ERRORTRAP(F|
00000850: 49 4C 44 45 53 29 0D 1C  0D 1C 46 49 4C 45 20 46  |ILDES)....FILE F|
00000860: 49 4C 44 45 53 3B 0D 1C  0D 1C DB 0D 1C 0D 1C 43  |ILDES;.........C|
00000870: 48 41 52 20 43 3B 0D 1C  0D 1C 20 20 20 20 20 49  |HAR C;....     I|
00000880: 46 20 28 4F 50 45 4E 57  49 4E 28 31 32 2C 37 2C  |F (OPENWIN(12,7,|
00000890: 31 36 2C 32 38 29 29 0D  1C 20 20 20 20 20 20 DB  |16,28))..      .|
000008A0: 0D 1C 20 20 20 20 20 20  20 20 50 52 49 4E 54 53  |..        PRINTS|
000008B0: 54 41 54 28 29 3B 0D 1C  0D 1C 20 20 20 20 20 20  |TAT();....      |
000008C0: 20 20 43 55 52 53 4F 52  28 31 33 2C 38 29 3B 0D  |  CURSOR(13,8);.|
000008D0: 1C 20 20 20 20 20 20 20  20 50 55 54 53 28 22 C9  |.        PUTS(".|
000008E0: 2F CF 20 C5 52 52 4F 52  20 4F 43 43 55 52 45 44  |/. .RROR OCCURED|
000008F0: 2E 22 2C D3 D4 C4 C9 CF  29 3B 0D 1C 20 20 20 20  |.",.....);..    |
00000900: 20 20 20 20 43 55 52 53  4F 52 28 31 36 2C 38 29  |    CURSOR(16,8)|
00000910: 3B 0D 1C 20 20 20 20 20  20 20 20 50 55 54 53 28  |;..        PUTS(|
00000920: 22 5B D2 C5 D4 D5 D2 CE  5D 20 54 4F 20 43 4F 4E  |"[......] TO CON|
00000930: 54 49 4E 55 45 22 2C D3  D4 C4 C9 CF 29 3B 0D 1C  |TINUE",.....);..|
00000940: 0D 1C 20 20 20 20 20 20  20 20 57 48 49 4C 45 20  |..        WHILE |
00000950: 28 28 43 3D 49 4E 4B 45  59 28 D3 D4 C4 C9 CF 29  |((C=INKEY(.....)|
00000960: 29 20 21 3D 20 C3 D2 29  3B 0D 1C 0D 1C 20 20 20  |) != ..);....   |
00000970: 20 20 20 20 20 44 49 53  4B 43 4F 4D 28 46 49 4C  |     DISKCOM(FIL|
00000980: 44 45 53 2C 22 55 39 22  29 3B 0D 1C 0D 1C 20 20  |DES,"U9");....  |
00000990: 20 20 20 20 20 20 50 52  49 4E 54 53 54 41 54 28  |      PRINTSTAT(|
000009A0: 29 3B 0D 1C 20 20 20 20  20 20 DD 0D 1C DD 0D 1C  |);..      ......|
000009B0: 0D 1C 0D 9F 2F 2A 20 D0  52 45 53 53 45 4E 54 20  |..../* .RESSENT |
000009C0: 4D 45 4E 55 20 41 4E 44  20 47 45 54 20 43 48 4F  |MENU AND GET CHO|
000009D0: 49 53 45 20 2A 2F 0D 1C  0D 96 56 4F 49 44 20 52  |ISE */....VOID R|
000009E0: 4F 4F 54 4D 45 4E 55 28  52 4F 57 2C 43 4F 4C 29  |OOTMENU(ROW,COL)|
000009F0: 0D 1C 0D 1C 49 4E 54 20  52 4F 57 2C 43 4F 4C 3B  |....INT ROW,COL;|
00000A00: 0D 1C 0D 1C DB 0D 1C 0D  1C 49 4E 54 20 20 4C 4F  |.........INT  LO|
00000A10: 4F 50 3B 0D 1C 49 4E 54  20 20 42 41 52 52 4F 57  |OP;..INT  BARROW|
00000A20: 2C 43 48 4F 49 53 45 3B  0D 1C 42 4F 4F 4C 45 41  |,CHOISE;..BOOLEA|
00000A30: 4E 20 54 45 52 4D 20 3D  20 C6 C1 CC D3 C5 3B 0D  |N TERM = .....;.|
00000A40: 1C 0D 1C 20 20 20 20 20  49 46 20 28 4F 50 45 4E  |...     IF (OPEN|
00000A50: 57 49 4E 28 52 4F 57 2C  43 4F 4C 2C 52 4F 57 2B  |WIN(ROW,COL,ROW+|
00000A60: 38 2C 43 4F 4C 2B 32 31  29 29 0D 1C 20 20 20 20  |8,COL+21))..    |
00000A70: 20 20 DB 0D 1C 20 20 20  20 20 20 20 20 57 48 49  |  ...        WHI|
00000A80: 4C 45 20 28 54 45 52 4D  20 3D 3D 20 C6 C1 CC D3  |LE (TERM == ....|
00000A90: C5 29 0D 1C 20 20 20 20  20 20 20 20 20 20 20 20  |.)..            |
00000AA0: DB 0D 1C 20 20 20 20 20  20 20 20 20 20 20 20 20  |...             |
00000AB0: 20 57 52 49 54 45 52 4F  4F 54 28 52 4F 57 2B 31  | WRITEROOT(ROW+1|
00000AC0: 2C 43 4F 4C 2B 31 29 3B  0D 1C 0D 1C 20 20 20 20  |,COL+1);....    |
00000AD0: 20 20 20 20 20 20 20 20  20 20 43 48 4F 49 53 45  |          CHOISE|
00000AE0: 20 3D 20 52 4F 4F 54 42  41 52 28 52 4F 57 2B 33  | = ROOTBAR(ROW+3|
00000AF0: 2C 43 4F 4C 2B 31 29 3B  0D 1C 0D 1C 20 20 20 20  |,COL+1);....    |
00000B00: 20 20 20 20 20 20 20 20  20 20 53 57 49 54 43 48  |          SWITCH|
00000B10: 20 28 43 48 4F 49 53 45  29 0D 1C 20 20 20 20 20  | (CHOISE)..     |
00000B20: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 DB 0D  |              ..|
00000B30: 1C 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00000B40: 20 20 20 20 20 20 43 41  53 45 20 30 3A 0D 1C 0D  |      CASE 0:...|
00000B50: 1C 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
00000B60: 20 20 20 20 20 20 20 20  20 20 20 44 49 53 4B 4D  |           DISKM|
00000B70: 45 4E 55 28 36 2C 31 35  29 3B 0D 1C 0D 1C 20 20  |ENU(6,15);....  |
00000B80: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000B90: 20 20 20 20 20 20 20 20  42 52 45 41 4B 3B 0D 1C  |        BREAK;..|
00000BA0: 0D 1C 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |..              |
00000BB0: 20 20 20 20 20 20 20 43  41 53 45 20 31 3A 0D 1C  |       CASE 1:..|
00000BC0: 0D 1C 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |..              |
00000BD0: 20 20 20 20 20 20 20 20  20 20 20 20 44 49 52 46  |            DIRF|
00000BE0: 49 4C 45 52 28 31 2C 31  33 29 3B 0D 1C 0D 1C 20  |ILER(1,13);.... |
00000BF0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000C00: 20 20 20 20 20 20 20 20  20 42 52 45 41 4B 3B 0D  |         BREAK;.|
00000C10: 1C 0D 1C 20 20 20 20 20  20 20 20 20 20 20 20 20  |...             |
00000C20: 20 20 20 20 20 20 20 20  43 41 53 45 20 32 3A 0D  |        CASE 2:.|
00000C30: 1C 0D 1C 20 20 20 20 20  20 20 20 20 20 20 20 20  |...             |
00000C40: 20 20 20 20 20 20 20 20  20 20 20 20 20 53 45 54  |             SET|
00000C50: 55 50 28 31 30 2C 32 30  29 3B 0D 1C 0D 1C 20 20  |UP(10,20);....  |
00000C60: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000C70: 20 20 20 20 20 20 20 20  42 52 45 41 4B 3B 0D 1C  |        BREAK;..|
00000C80: 0D 1C 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |..              |
00000C90: 20 20 20 20 20 20 20 44  45 46 41 55 4C 54 3A 0D  |       DEFAULT:.|
00000CA0: 1C 0D 1C 20 20 20 20 20  20 20 20 20 20 20 20 20  |...             |
00000CB0: 20 20 20 20 20 20 20 20  20 20 20 20 20 54 45 52  |             TER|
00000CC0: 4D 20 3D 20 54 45 52 4D  49 4E 41 54 45 28 31 30  |M = TERMINATE(10|
00000CD0: 2C 31 32 29 3B 0D 1C 0D  1C 20 20 20 20 20 20 20  |,12);....       |
00000CE0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000CF0: 20 20 20 42 52 45 41 4B  3B 0D 1C 0D 1C 20 20 20  |   BREAK;....   |
00000D00: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000D10: DD 0D 1C 0D 1C 20 20 20  20 20 20 20 20 20 20 20  |.....           |
00000D20: 20 DD 0D 1C 0D 1C 20 20  20 20 20 20 DD 0D 1C 0D  | .....      ....|
00000D30: 1C DD 0D 1C 0D 1C 0D 1C  0D 9F 2F 2A 20 D7 52 49  |........../* .RI|
00000D40: 54 45 20 52 4F 4F 54 20  4D 45 4E 55 20 54 4F 20  |TE ROOT MENU TO |
00000D50: 53 43 52 45 45 4E 20 2A  2F 0D 1C 0D 96 56 4F 49  |SCREEN */....VOI|
00000D60: 44 20 57 52 49 54 45 52  4F 4F 54 28 52 4F 57 2C  |D WRITEROOT(ROW,|
00000D70: 43 4F 4C 29 0D 1C 0D 1C  49 4E 54 20 52 4F 57 2C  |COL)....INT ROW,|
00000D80: 43 4F 4C 3B 0D 1C 0D 1C  DB 0D 1C 0D 1C 49 4E 54  |COL;.........INT|
00000D90: 20 4C 4F 4F 50 3B 0D 1C  0D 1C 20 20 20 20 43 4C  | LOOP;....    CL|
00000DA0: 45 41 52 57 49 4E 28 29  3B 0D 1C 0D 1C 20 20 20  |EARWIN();....   |
00000DB0: 20 50 55 54 43 48 41 52  28 D2 C5 D6 C5 D2 D3 CF  | PUTCHAR(.......|
00000DC0: C6 C6 29 3B 0D 1C 20 20  20 20 43 55 52 53 4F 52  |..);..    CURSOR|
00000DD0: 28 52 4F 57 2C 43 4F 4C  29 3B 0D 1C 20 20 20 20  |(ROW,COL);..    |
00000DE0: 50 55 54 53 28 22 20 3E  3E 3E 3E 20 D2 CF CF D4  |PUTS(" >>>> ....|
00000DF0: 20 CD C5 CE D5 20 3C 3C  3C 3C 22 2C D3 D4 C4 C9  | .... <<<<",....|
00000E00: CF 29 3B 0D 1C 0D 1C 20  20 20 20 46 4F 52 20 28  |.);....    FOR (|
00000E10: 4C 4F 4F 50 3D 30 3B 4C  4F 4F 50 3C 34 3B 4C 4F  |LOOP=0;LOOP<4;LO|
00000E20: 4F 50 2B 2B 29 0D 1C 20  20 20 20 20 20 DB 0D 1C  |OP++)..      ...|
00000E30: 20 20 20 20 20 20 20 20  43 55 52 53 4F 52 28 52  |        CURSOR(R|
00000E40: 4F 57 2B 4C 4F 4F 50 2B  32 2C 43 4F 4C 29 3B 0D  |OW+LOOP+2,COL);.|
00000E50: 1C 20 20 20 20 20 20 20  20 50 55 54 53 28 52 4F  |.        PUTS(RO|
00000E60: 4F 54 53 54 52 5B 4C 4F  4F 50 5D 2C D3 D4 C4 C9  |OTSTR[LOOP],....|
00000E70: CF 29 3B 0D 1C 20 20 20  20 20 20 DD 0D 1C 0D 1C  |.);..      .....|
00000E80: DD 0D 1C 0D 1C 0D 9F 2F  2A 20 C7 45 54 20 43 48  |......./* .ET CH|
00000E90: 4F 49 53 45 20 46 52 4F  4D 20 52 4F 4F 54 20 4D  |OISE FROM ROOT M|
00000EA0: 45 4E 55 20 2A 2F 0D 1C  0D 96 49 4E 54 20 52 4F  |ENU */....INT RO|
00000EB0: 4F 54 42 41 52 28 52 4F  57 2C 43 4F 4C 29 0D 1C  |OTBAR(ROW,COL)..|
00000EC0: 0D 1C 49 4E 54 20 52 4F  57 2C 43 4F 4C 3B 0D 1C  |..INT ROW,COL;..|
00000ED0: 0D 1C DB 0D 1C 0D 1C 49  4E 54 20 20 49 4E 44 45  |.......INT  INDE|
00000EE0: 58 20 20 3D 20 30 3B 0D  1C 49 4E 54 20 20 4F 46  |X  = 0;..INT  OF|
00000EF0: 46 53 45 54 20 3D 20 30  3B 0D 1C 43 48 41 52 20  |FSET = 0;..CHAR |
00000F00: 4B 45 59 3B 0D 1C 0D 1C  0D 1C 20 20 20 20 20 43  |KEY;......     C|
00000F10: 55 52 53 4F 52 28 52 4F  57 2C 43 4F 4C 29 3B 0D  |URSOR(ROW,COL);.|
00000F20: 1C 20 20 20 20 20 50 55  54 43 48 41 52 28 D2 C5  |.     PUTCHAR(..|
00000F30: D6 C5 D2 D3 CF CE 29 3B  0D 1C 20 20 20 20 20 50  |......);..     P|
00000F40: 55 54 53 28 52 4F 4F 54  53 54 52 5B 49 4E 44 45  |UTS(ROOTSTR[INDE|
00000F50: 58 5D 2C D3 D4 C4 C9 CF  29 3B 0D 1C 0D 1C 20 20  |X],.....);....  |
00000F60: 20 20 20 57 48 49 4C 45  20 28 28 4B 45 59 20 3D  |   WHILE ((KEY =|
00000F70: 20 49 4E 4B 45 59 28 D3  D4 C4 C9 CF 29 29 20 21  | INKEY(.....)) !|
00000F80: 3D 20 C3 D2 29 0D 1C 20  20 20 20 20 20 20 20 20  |= ..)..         |
00000F90: DB 0D 1C 0D 1C 20 20 20  20 20 20 20 20 20 20 20  |.....           |
00000FA0: 43 55 52 53 4F 52 28 52  4F 57 2B 49 4E 44 45 58  |CURSOR(ROW+INDEX|
00000FB0: 2C 43 4F 4C 29 3B 0D 1C  20 20 20 20 20 20 20 20  |,COL);..        |
00000FC0: 20 20 20 50 55 54 43 48  41 52 28 D2 C5 D6 C5 D2  |   PUTCHAR(.....|
00000FD0: D3 CF C6 C6 29 3B 0D 1C  20 20 20 20 20 20 20 20  |....);..        |
00000FE0: 20 20 20 50 55 54 53 28  52 4F 4F 54 53 54 52 5B  |   PUTS(ROOTSTR[|
00000FF0: 49 4E 44 45 58 5D 2C D3  D4 C4 C9 CF 29 3B 0D 1C  |INDEX],.....);..|
00001000: 0D 1C 20 20 20 20 20 20  20 20 20 20 20 53 57 49  |..           SWI|
00001010: 54 43 48 20 28 4B 45 59  29 0D 1C 20 20 20 20 20  |TCH (KEY)..     |
00001020: 20 20 20 20 20 20 20 20  20 20 20 DB 0D 1C 20 20  |           ...  |
00001030: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001040: 43 41 53 45 20 C3 D2 D3  D5 D0 3A 0D 1C 0D 1C 20  |CASE .....:.... |
00001050: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001060: 20 20 20 20 20 20 49 46  20 28 49 4E 44 45 58 3E  |      IF (INDEX>|
00001070: 30 29 0D 1C 20 20 20 20  20 20 20 20 20 20 20 20  |0)..            |
00001080: 20 20 20 20 20 20 20 20  20 20 20 20 DB 0D 1C 20  |            ... |
00001090: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000010A0: 20 20 20 20 20 20 20 20  20 49 4E 44 45 58 2D 2D  |         INDEX--|
000010B0: 3B 0D 1C 20 20 20 20 20  20 20 20 20 20 20 20 20  |;..             |
000010C0: 20 20 20 20 20 20 20 20  20 20 20 DD 0D 1C 20 20  |           ...  |
000010D0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000010E0: 20 20 20 20 20 42 52 45  41 4B 3B 0D 1C 0D 1C 20  |     BREAK;.... |
000010F0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001100: 20 43 41 53 45 20 C3 D2  D3 C4 CF D7 CE 3A 0D 1C  | CASE .......:..|
00001110: 0D 1C 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |..              |
00001120: 20 20 20 20 20 20 20 20  20 49 46 20 28 49 4E 44  |         IF (IND|
00001130: 45 58 3C 33 29 0D 1C 20  20 20 20 20 20 20 20 20  |EX<3)..         |
00001140: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 DB  |               .|
00001150: 0D 1C 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |..              |
00001160: 20 20 20 20 20 20 20 20  20 20 20 20 49 4E 44 45  |            INDE|
00001170: 58 2B 2B 3B 0D 1C 20 20  20 20 20 20 20 20 20 20  |X++;..          |
00001180: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 DD 0D  |              ..|
00001190: 1C 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
000011A0: 20 20 20 20 20 20 20 20  42 52 45 41 4B 3B 0D 1C  |        BREAK;..|
000011B0: 0D 1C 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |..              |
000011C0: 20 20 DD 0D 1C 0D 1C 20  20 20 20 20 20 20 20 20  |  .....         |
000011D0: 20 20 43 55 52 53 4F 52  28 52 4F 57 2B 49 4E 44  |  CURSOR(ROW+IND|
000011E0: 45 58 2C 43 4F 4C 29 3B  0D 1C 20 20 20 20 20 20  |EX,COL);..      |
000011F0: 20 20 20 20 20 50 55 54  43 48 41 52 28 D2 C5 D6  |     PUTCHAR(...|
00001200: C5 D2 D3 CF CE 29 3B 0D  1C 20 20 20 20 20 20 20  |.....);..       |
00001210: 20 20 20 20 50 55 54 53  28 52 4F 4F 54 53 54 52  |    PUTS(ROOTSTR|
00001220: 5B 49 4E 44 45 58 5D 2C  D3 D4 C4 C9 CF 29 3B 0D  |[INDEX],.....);.|
00001230: 1C 0D 1C 20 20 20 20 20  20 20 20 20 DD 0D 1C 0D  |...         ....|
00001240: 1C 20 20 20 20 20 52 45  54 55 52 4E 28 49 4E 44  |.     RETURN(IND|
00001250: 45 58 29 3B 0D 1C 0D 1C  DD 0D 1C 0D 1C 0D 1C 0D  |EX);............|
00001260: 96 44 49 53 4B 4D 45 4E  55 28 52 4F 57 2C 43 4F  |.DISKMENU(ROW,CO|
00001270: 4C 29 0D 1C 0D 1C 49 4E  54 20 52 4F 57 2C 43 4F  |L)....INT ROW,CO|
00001280: 4C 3B 0D 1C 0D 1C DB 0D  1C 0D 1C 43 48 41 52 20  |L;.........CHAR |
00001290: 4B 45 59 3B 0D 1C 0D 1C  20 20 20 20 4F 50 45 4E  |KEY;....    OPEN|
000012A0: 57 49 4E 28 52 4F 57 2C  43 4F 4C 2C 52 4F 57 2B  |WIN(ROW,COL,ROW+|
000012B0: 31 30 2C 43 4F 4C 2B 31  38 29 3B 0D 1C 0D 1C 20  |10,COL+18);.... |
000012C0: 20 20 20 43 55 52 53 4F  52 28 52 4F 57 2B 31 2C  |   CURSOR(ROW+1,|
000012D0: 43 4F 4C 2B 31 29 3B 0D  1C 20 20 20 20 50 55 54  |COL+1);..    PUT|
000012E0: 53 28 22 20 44 49 53 4B  20 43 4F 4D 4D 41 4E 44  |S(" DISK COMMAND|
000012F0: 53 22 2C D3 D4 C4 C9 CF  29 3B 0D 1C 0D 1C 20 20  |S",.....);....  |
00001300: 20 20 4B 45 59 20 3D 20  49 4E 4B 45 59 28 D3 D4  |  KEY = INKEY(..|
00001310: C4 C9 CF 29 3B 0D 1C 0D  1C 20 20 20 20 43 4C 4F  |...);....    CLO|
00001320: 53 45 57 49 4E 28 29 3B  0D 1C 0D 1C DD 0D 1C 0D  |SEWIN();........|
00001330: 1C 0D 1C 0D 96 44 49 52  46 49 4C 45 52 28 52 4F  |.....DIRFILER(RO|
00001340: 57 2C 43 4F 4C 29 0D 1C  0D 1C 49 4E 54 20 52 4F  |W,COL)....INT RO|
00001350: 57 2C 43 4F 4C 3B 0D 1C  0D 1C DB 0D 1C 0D 1C 43  |W,COL;.........C|
00001360: 48 41 52 20 4B 45 59 3B  0D 1C 0D 1C 20 20 20 20  |HAR KEY;....    |
00001370: 20 4F 50 45 4E 57 49 4E  28 52 4F 57 2C 43 4F 4C  | OPENWIN(ROW,COL|
00001380: 2C 52 4F 57 2B 32 30 2C  43 4F 4C 2B 32 32 29 3B  |,ROW+20,COL+22);|
00001390: 0D 1C 0D 1C 20 20 20 20  20 43 55 52 53 4F 52 28  |....     CURSOR(|
000013A0: 52 4F 57 2B 31 2C 43 4F  4C 2B 31 29 3B 0D 1C 20  |ROW+1,COL+1);.. |
000013B0: 20 20 20 20 50 55 54 53  28 22 20 44 49 52 45 43  |    PUTS(" DIREC|
000013C0: 54 4F 52 59 20 46 49 4C  45 52 22 2C D3 D4 C4 C9  |TORY FILER",....|
000013D0: CF 29 3B 0D 1C 0D 1C 20  20 20 20 20 4B 45 59 20  |.);....     KEY |
000013E0: 3D 20 49 4E 4B 45 59 28  D3 D4 C4 C9 CF 29 3B 0D  |= INKEY(.....);.|
000013F0: 1C 0D 1C 20 20 20 20 20  43 4C 4F 53 45 57 49 4E  |...     CLOSEWIN|
00001400: 28 29 3B 0D 1C 0D 1C DD  0D 1C 0D 1C 0D 1C 0D 96  |();.............|
00001410: 53 45 54 55 50 28 52 4F  57 2C 43 4F 4C 29 0D 1C  |SETUP(ROW,COL)..|
00001420: 0D 1C 49 4E 54 20 52 4F  57 2C 43 4F 4C 3B 0D 1C  |..INT ROW,COL;..|
00001430: 0D 1C DB 0D 1C 0D 1C 43  48 41 52 20 4B 45 59 3B  |.......CHAR KEY;|
00001440: 0D 1C 0D 1C 20 20 20 20  20 4F 50 45 4E 57 49 4E  |....     OPENWIN|
00001450: 28 52 4F 57 2C 43 4F 4C  2C 52 4F 57 2B 36 2C 43  |(ROW,COL,ROW+6,C|
00001460: 4F 4C 2B 31 35 29 3B 0D  1C 0D 1C 20 20 20 20 20  |OL+15);....     |
00001470: 43 55 52 53 4F 52 28 52  4F 57 2B 31 2C 43 4F 4C  |CURSOR(ROW+1,COL|
00001480: 2B 31 29 3B 0D 1C 20 20  20 20 20 50 55 54 53 28  |+1);..     PUTS(|
00001490: 22 20 53 45 54 55 50 22  2C D3 D4 C4 C9 CF 29 3B  |" SETUP",.....);|
000014A0: 0D 1C 0D 1C 20 20 20 20  20 4B 45 59 20 3D 20 49  |....     KEY = I|
000014B0: 4E 4B 45 59 28 D3 D4 C4  C9 CF 29 3B 0D 1C 0D 1C  |NKEY(.....);....|
000014C0: 20 20 20 20 20 43 4C 4F  53 45 57 49 4E 28 29 3B  |     CLOSEWIN();|
000014D0: 0D 1C 0D 1C DD 0D 1C 0D  1C 0D 1C 0D 96 42 4F 4F  |.............BOO|
000014E0: 4C 45 41 4E 20 54 45 52  4D 49 4E 41 54 45 28 52  |LEAN TERMINATE(R|
000014F0: 4F 57 2C 43 4F 4C 29 0D  1C 0D 1C 49 4E 54 20 52  |OW,COL)....INT R|
00001500: 4F 57 2C 43 4F 4C 3B 0D  1C 0D 1C DB 0D 1C 0D 1C  |OW,COL;.........|
00001510: 43 48 41 52 20 20 20 20  4B 45 59 3B 0D 1C 42 4F  |CHAR    KEY;..BO|
00001520: 4F 4C 45 41 4E 20 41 4E  53 57 45 52 20 3D 20 2D  |OLEAN ANSWER = -|
00001530: 31 3B 0D 1C 0D 1C 20 20  20 20 20 4F 50 45 4E 57  |1;....     OPENW|
00001540: 49 4E 28 52 4F 57 2C 43  4F 4C 2C 52 4F 57 2B 36  |IN(ROW,COL,ROW+6|
00001550: 2C 43 4F 4C 2B 32 30 29  3B 0D 1C 0D 1C 20 20 20  |,COL+20);....   |
00001560: 20 20 43 55 52 53 4F 52  28 52 4F 57 2B 32 2C 43  |  CURSOR(ROW+2,C|
00001570: 4F 4C 2B 31 29 3B 0D 1C  20 20 20 20 20 50 55 54  |OL+1);..     PUT|
00001580: 53 28 22 20 C1 52 45 20  59 4F 55 20 53 55 52 45  |S(" .RE YOU SURE|
00001590: 20 28 D9 2F CE 29 22 2C  D3 D4 C4 C9 CF 29 3B 0D  | (./.)",.....);.|
000015A0: 1C 0D 1C 20 20 20 20 20  57 48 49 4C 45 20 28 41  |...     WHILE (A|
000015B0: 4E 53 57 45 52 20 3D 3D  20 2D 31 29 0D 1C 20 20  |NSWER == -1)..  |
000015C0: 20 20 20 20 20 20 20 DB  0D 1C 20 20 20 20 20 20  |       ...      |
000015D0: 20 20 20 20 20 4B 45 59  20 3D 20 49 4E 4B 45 59  |     KEY = INKEY|
000015E0: 28 D3 D4 C4 C9 CF 29 3B  0D 1C 0D 1C 20 20 20 20  |(.....);....    |
000015F0: 20 20 20 20 20 20 20 49  46 20 28 4B 45 59 20 3D  |       IF (KEY =|
00001600: 3D 20 27 4E 27 29 0D 1C  0D 1C 20 20 20 20 20 20  |= 'N')....      |
00001610: 20 20 20 20 20 20 20 20  41 4E 53 57 45 52 20 3D  |        ANSWER =|
00001620: 20 C6 C1 CC D3 C5 3B 0D  1C 0D 1C 20 20 20 20 20  | .....;....     |
00001630: 20 20 20 20 20 20 45 4C  53 45 20 49 46 20 28 4B  |      ELSE IF (K|
00001640: 45 59 20 3D 3D 20 27 59  27 29 0D 1C 0D 1C 20 20  |EY == 'Y')....  |
00001650: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001660: 20 41 4E 53 57 45 52 20  3D 3D 20 D4 D2 D5 C5 3B  | ANSWER == ....;|
00001670: 0D 1C 0D 1C 20 20 20 20  20 20 20 20 20 DD 0D 1C  |....         ...|
00001680: 0D 1C 20 20 20 20 20 43  4C 4F 53 45 57 49 4E 28  |..     CLOSEWIN(|
00001690: 29 3B 0D 1C 0D 1C 20 20  20 20 20 52 45 54 55 52  |);....     RETUR|
000016A0: 4E 28 41 4E 53 57 45 52  29 3B 0D 1C 0D 1C DD 0D  |N(ANSWER);......|
000016B0: 1C 0D 00                                          |...             |
.../* DISK MANAGER. PROGRAMED BY PATRIC 
HEDLIN 87-06-24 */......#INCLUDE "STDIO.
H"..#INCLUDE "DISKWEDGE.H"..#INCLUDE "AL
LOCATION.C"..#INCLUDE "WINDOWS2.C"......
#DEFINE TERMINATE    3........STATIC BYT
E PATTERN[41] = . 102,102,102,102,102,10
2,102,102,..                            
102,102,102,102,102,102,102,102,..      
                      102,102,102,102,10
2,102,102,102,..                        
    102,102,102,102,102,102,102,102,..  
                          102,102,102,10
2,102,102,102,102,0 .;....STATIC BYTE BA
CKCOL[41] = . 3,3,3,3,3,3,3,3,3,3,..    
                        3,3,3,3,3,3,3,3,
3,3,..                            3,3,3,
3,3,3,3,3,3,3,..                        
    3,3,3,3,3,3,3,3,3,3,0 .;....STATIC C
HAR ROOTSTR[4][21]=. ." 1541 DISK COMMAN
DS ".,..                             ." 
DIRECTORY FILER    ".,..                
             ." SETUP              ".,..
                             ." EXIT    
           ". .;......MAIN().........INT
  LOOP;..CHAR C;....CHAR *SCRADR = 0XE00
0;..CHAR *COLADR = 55296;..BYTE *BORDER 
= 53280;..BYTE *SCREEN = 53281;..BYTE *C
OLOUR =   646;....FILE COMCHAN;......   
  CLRSCR;....     *COLOUR = 3;....     C
ENTRE(" DISK MANAGER V1.0\N");..     CEN
TRE(" BY\N");..     CENTRE("  PATRIC HED
LIN\N\N");..     CENTRE("(C) 1987 BY DRE
AM SOFT");....     C = INKEY(STDIO);....
     CLRSCR;....     *BORDER = 3;..     
*SCREEN = 6;..     *COLOUR = 3;....  /* 
FILL BACKGROUND PATTERN */....     FOR (
LOOP=0;LOOP<25;LOOP++,COLADR+=40,SCRADR+
=40)..       ...         MOVE(SCRADR,40,
PATTERN,53);..         MOVE(COLADR,40,BA
CKCOL,53);..       .....  /* OPEN DISK S
TATUS WINDOW */....     OPENWIN(22,0,24,
39);....  /* INITIALIZE DISK DRIVE */...
.     COMCHAN=OPENDISKCHAN(8,EMPTY);..  
   DISKCOM(COMCHAN,"I0:");....     IF(DI
SKSTAT(COMCHAN))..       ERRORTRAP(COMCH
AN);....     PRINTSTAT();....  /* OPEN R
OOT MENU */....     ROOTMENU(2,2);....  
/* TERMINATE EXECUTION*/....     EXIT();
.............../* PRINT DISK STATUS TO M
ESSAGE LINE */....VOID PRINTSTAT()......
.     MOVE(0XE000+921,38,CLRSTR,53);..  
   CURSOR(23,2);..     WRITESTAT();.....
..../* HANDLE DISK ERRORS */....VOID ERR
ORTRAP(FILDES)....FILE FILDES;.........C
HAR C;....     IF (OPENWIN(12,7,16,28)).
.      ...        PRINTSTAT();....      
  CURSOR(13,8);..        PUTS("I/O ERROR
 OCCURED.",STDIO);..        CURSOR(16,8)
;..        PUTS("[RETURN] TO CONTINUE",S
TDIO);....        WHILE ((C=INKEY(STDIO)
) != CR);....        DISKCOM(FILDES,"U9"
);....        PRINTSTAT();..      ......
..../* PRESSENT MENU AND GET CHOISE */..
..VOID ROOTMENU(ROW,COL)....INT ROW,COL;
.........INT  LOOP;..INT  BARROW,CHOISE;
..BOOLEAN TERM = FALSE;....     IF (OPEN
WIN(ROW,COL,ROW+8,COL+21))..      ...   
     WHILE (TERM == FALSE)..            
...              WRITEROOT(ROW+1,COL+1);
....              CHOISE = ROOTBAR(ROW+3
,COL+1);....              SWITCH (CHOISE
)..                   ...               
      CASE 0:....                       
   DISKMENU(6,15);....                  
        BREAK;....                     C
ASE 1:....                          DIRF
ILER(1,13);....                         
 BREAK;....                     CASE 2:.
...                          SETUP(10,20
);....                          BREAK;..
..                     DEFAULT:....     
                     TERM = TERMINATE(10
,12);....                          BREAK
;....                   .....           
 .....      ............../* WRITE ROOT 
MENU TO SCREEN */....VOID WRITEROOT(ROW,
COL)....INT ROW,COL;.........INT LOOP;..
..    CLEARWIN();....    PUTCHAR(REVERSO
FF);..    CURSOR(ROW,COL);..    PUTS(" >
>>> ROOT MENU <<<<",STDIO);....    FOR (
LOOP=0;LOOP<4;LOOP++)..      ...        
CURSOR(ROW+LOOP+2,COL);..        PUTS(RO
OTSTR[LOOP],STDIO);..      ............/
* GET CHOISE FROM ROOT MENU */....INT RO
OTBAR(ROW,COL)....INT ROW,COL;.........I
NT  INDEX  = 0;..INT  OFFSET = 0;..CHAR 
KEY;......     CURSOR(ROW,COL);..     PU
TCHAR(REVERSON);..     PUTS(ROOTSTR[INDE
X],STDIO);....     WHILE ((KEY = INKEY(S
TDIO)) != CR)..         .....           
CURSOR(ROW+INDEX,COL);..           PUTCH
AR(REVERSOFF);..           PUTS(ROOTSTR[
INDEX],STDIO);....           SWITCH (KEY
)..                ...                  
CASE CRSUP:....                       IF
 (INDEX>0)..                        ... 
                         INDEX--;..     
                   ...                  
     BREAK;....                  CASE CR
SDOWN:....                       IF (IND
EX<3)..                        ...      
                    INDEX++;..          
              ...                       
BREAK;....                .....         
  CURSOR(ROW+INDEX,COL);..           PUT
CHAR(REVERSON);..           PUTS(ROOTSTR
[INDEX],STDIO);....         .....     RE
TURN(INDEX);.............DISKMENU(ROW,CO
L)....INT ROW,COL;.........CHAR KEY;....
    OPENWIN(ROW,COL,ROW+10,COL+18);.... 
   CURSOR(ROW+1,COL+1);..    PUTS(" DISK
 COMMANDS",STDIO);....    KEY = INKEY(ST
DIO);....    CLOSEWIN();.............DIR
FILER(ROW,COL)....INT ROW,COL;.........C
HAR KEY;....     OPENWIN(ROW,COL,ROW+20,
COL+22);....     CURSOR(ROW+1,COL+1);.. 
    PUTS(" DIRECTORY FILER",STDIO);.... 
    KEY = INKEY(STDIO);....     CLOSEWIN
();.............SETUP(ROW,COL)....INT RO
W,COL;.........CHAR KEY;....     OPENWIN
(ROW,COL,ROW+6,COL+15);....     CURSOR(R
OW+1,COL+1);..     PUTS(" SETUP",STDIO);
....     KEY = INKEY(STDIO);....     CLO
SEWIN();.............BOOLEAN TERMINATE(R
OW,COL)....INT ROW,COL;.........CHAR    
KEY;..BOOLEAN ANSWER = -1;....     OPENW
IN(ROW,COL,ROW+6,COL+20);....     CURSOR
(ROW+2,COL+1);..     PUTS(" ARE YOU SURE
 (Y/N)",STDIO);....     WHILE (ANSWER ==
 -1)..         ...           KEY = INKEY
(STDIO);....           IF (KEY == 'N')..
..              ANSWER = FALSE;....     
      ELSE IF (KEY == 'Y')....          
         ANSWER == TRUE;....         ...
..     CLOSEWIN();....     RETURN(ANSWER
);.........
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL