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 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL