|
Before typing in programs, please refer to "How To Type COMPUTE!'s Gazette Programs," "A Beginner's Guide To Typing In Programs," and "The Automatic Proofreader" that appear before the Program Listings. |
999 REM END: REM PROGRAM 1: CHANGE DISK NAME :rem 249
1000 INPUT "{CLR}NEW DISK NAME";DN$ :rem 79
1010 IF LEN(DN$)<16 THEN DN$=DN$+CHR$(168 ):GOTO 1010:REM STRETCH TO 16 CHARS :rem 177
1020 IF LEN(DN$) > 16 THEN DN$=LEFT$(DN$, 16): REM SHORTEN NAME TO 16 CHARACTERS :rem 52
1030 OPEN 15,8,15,"I": REM OPEN DISK COMMAND CHANNEL :rem 126
1040 OPEN 8,8,8,"#": REM OPEN DIRECT ACCESS CHANNEL :rem 64
1050 PRINT#15, "U1:"8;0;18;0: REM READ TRACK 18, SECTOR 0 INTO CHANNEL 8 BUFFER :rem 39
1060 PRINT#15, "B-P: "8; 144: REM MOVE BUFFER-POINTER TO FIRST BYTE OF DISK NAME :rem 239
1070 PRINT#8, DN$;: REM PUT NEW NAME IN CHANNEL 8 BUFFER, REPLACING OLD NAME :rem 50
1080 PRINT#15,"U2:"8;0;18;0:REM WRITE BUFFER WITH NAME CHANGED :rem 108
1090 CLOSE 8: REM CLOSE DIRECT ACCESS CHANNEL :rem 114
1100 CL0SE15: REM CLOSE COMMAND CHANNEL :rem 42
1110 REM GOTO 100: REM RESTART DISPLAY T&S PROGRAM IF APPENDED :rem 127
1999 REM END: REM PROGRAM 2: CHANGE DISK{SPACE}ID :rem 151
2000 INPUT "{CLR}NEW DISK ID";ID$ :rem 183
2010 IF LEN(ID$) <> 2 THEN 2000: REM REJECT IMPROPER LENGTH ID :rem 104
2020 OPEN 15,8,15,"I": REM OPEN DISK COMMAND CHANNEL :rem 126
2030 OPEN 8,8,8,"#": REM OPEN DIRECT ACCESS CHANNEL :rem 64
2040 PRINT#15, "U1: "8;0;18;0: REM READ TRACK 18, SECTOR 8 INTO CHANNEL 8 BUFFER :rem 39
2050 PRINT#15, "B-P:"8;162: REM MOVE BUFFER-POINTER TO FIRST BYTE OF DISK ID :rem 91
2060 PRINT#8, ID$;: REM PUT NEW ID IN CHANNEL 8 BUFFER, REPLACING OLD ID :rem 5
2070 PRINT#15, "U2:"8;0;18;0: REM STORE BUFFER TO DISK :rem 245
2080 CLOSE 8: REM CLOSE DIRECT ACCESS CHANNEL :rem 114
2090 CLOSE15: REN CLOSE COMMAND CHANNEL :rem 51
2100 REM GOTO 188: REM RESTART DISPLAY T&S PROGRAM IF APPENDED :rem 127
2999 REM END: REN PROGRAM 3, UNSCRATCH FILES :rem 75
3000 INPUT "{CLR}WHICH SECTOR";S$: S=VAL( S$): IF S<0 OR S>19 THEN 3000 :rem 178
3010 PRINT "{2 DOWN}WHAT IS THE FIRST BYTE":PRINT"OF THE FILE YOU WISH" :rem 253
3020 PRINT"TO UNSCRATCH?" :rem 35
3030 INPUT BP$: BP=VAL(BP$): REM INPUT FILE TARGET BYTE FOR UNSCRATCH :rem 89
3030 BS=(BP=2)+(BP=34)+(BP=66)+(BP=98)+(BP=130)+(BP=162)+(BP=194)+(BP=226) :rem 168
3035 IFBS<>-1THEN3828:REM REJECT INVALID{SPACE}INPUT :rem 45
3040 PRINT "{2 DOWN}SELECT FILE TYPE:" :rem 22
3050 PRINT "{DOWN}{2 SPACES}1. SEQUENTIAL":rem 4
3060 PRINT "{2 SPACES}2. PROGRAM" :rem 18
3070 PRINT "{2 SPACES}3. USER" :rem 59
3080 PRINT "{2 SPACES}4. RELATIVE":rem 98
3090 PRINT "{2 DOWN}WHICH ONE?" :rem 83
3100 GET A$: IF A$="" THEN 3188 :rem 171
3110 A=VAL(A$): IF A<1 OR A>4 THEN 3188: {SPACE}REM REJECT INVALID CHOICE:rem 39
3120 B=A+128: REM SET INPUT BYTE. TO MATCH DOS FILE CODES :rem 158
3130 OPEN 15,8,15,"I": REM OPEN COMMAND CHANNEL TO DISK : rem 36
3140 OPEN8,8,8, "0": REM OPEN DIRECT ACCESS CHANNEL TO DISK : rem 17
3150 PRINT#15, "U1: "8; 0; 18; S: REM LOAD SE CTOR CONTAINING FILE TO BE UNSCRATCHED : rem 98
3160 PRINT#15, "B-P:"8;BP: REM SET BUFFER POINTER TO TARGET ADDRESS :rem 163
3170 PRINT#8, CHR$(B);: REM CHANGE TARGET FILE CODE IN CHANNEL 8 BUFFER:rem 246
3180 PRINT#15, "U2:"8;0;18;S: REM RETURN{SPACE}CHANGED CONTENTS TO TARGET SECTOR :rem 128
3190 CLOSE 8: REM CLOSE DIRECT ACCESS CHANNEL :rem 117
3200 CLOSE 15: REM CLOSE COMMAND CHANNEL:rem 45
3210 REM GOTO 188: REM RESTART DISPLAY TR S PROGRAM WHEN FIRST REM REMOVED: rem 98
3999 REN END: REM PROGRAM 4, SCRATCH OR SCRATCH AND LEAVE ON DIRECTORY:rem 114
4000 PRINT"{CLR}SELECT OPTION:" :rem 251
4010 PRINT"{DOWN}1. COMPLETE SCRATCH":rem 183
4020 PRINT"2. SCRATCH, BUT LEAVE":rem 131
4021 PRINT"{3 SPACES}ON DIRECTORY":rem 234
4030 PRINT"{2 DOWN}WHICH ONE?" :rem 78
4040 GET A$: IF A$="" THEN 4848 :rem 179
4050 A=VAL(A$): IF A<1 OR A>2 THEN 4040:{SPACE}REM REJECT INVALID INPUT:rem 18
4060 IF A=1 THEN B=0: REM SET TO PERMANENTLY DELETE :rem 149
4070 IF A=2 THEN B=128: REM SET TO LEAVE{SPACE}ON DIRECTORY :rem 191
4080 INPUT"{2 DOWN}WHICH SECTOR";SS: S=VA L(S$): IF S<8 OR S>19 THEN 4080: rem 75
4090 PRINT "{2 DOWN}WHAT IS THE FIRST BYTE":PRINT"OF THE FILE YOU WISH":rem 6
4091 PRINT "TO SCRATCH?" :rem 137
4100 INPUT BP$: BP=VAL(BP$): REM INPUT FILE TARGET BYTE FOR SCRATCH :rem 182
4110 BS=(BP=2)+(BP=34)+(BP=66)+(BP=98)+(B P=138)+(BP=162)+(BP=194)+(BP=226): rem 168
4120 IFBS<>-1THEN4188: REM REJECT INVALID{SPACE}INPUT :rem 41
4130 OPEN 15,8,15,"I": REM OPEN COMMAND CHANNEL TO DISK : rem 37
4140 OPEN8,8,8,"#": REM OPEN DIRECT ACCESS CHANNEL TO DISK :rem 18
4150 PRINT#15, "U1: "8; 0; 18; S: REM LOAD SECTOR CONTAINING FILE TO BE SCRATCHED:rem 184
4160 PRINT#15, "B-P:"8;BP: REM SET BUFFER POINTER TO TARGET ADDRESS :rem 164
4170 PRINT#8, CHR$(B);: REM CHANGE TARGET FILE CODE IN CHANNEL 8 BUFFER: rem 247
4180 PRINT#15, "U2: "8; 0; 18; S: REM RETURN CHANGED CONTENTS TO TARGET SECTOR:rem 121
4190 CLOSE 8: REN CLOSE DIRECT ACCESS CHANNEL : rem 118
4200 CLOSE 15: REM CLOSE COMMAND CHANNEL: rem 46
4210 REM GOTO 188: REN RESTART DISPLAY T&S PROGRAM WHEN FIRST REM REMOVED: rem 99
Published in COMPUTE!'s Gazette, Issue 15, September 1984. Copyright © 1984 COMPUTE! Publications, Inc.
| This page has been created by Sami Rautiainen. | |
| Read the small print. | Last updated August 26, 1998. |