home *** CD-ROM | disk | FTP | other *** search
-
- ---------------------------------------------------------------------
- ╘ H E ─ ╔ ╙ ╦ ─ ╧ ├ ╘ ╧ ╥
- ---------------------------------------------------------------------
-
- ─╔╙╦ ╒╘╔╠╔╘┘ ╨╥╧╟╥┴═ ╞╧╥ ╘╚┼ ├╧══╧─╧╥┼ ╓╔├-20, ├-64 ┴╬─ ├-128
-
- ─OCUMENTATION WRITTEN BY ╦EVIN ╚ISEL
- ╫ITH SPECIAL THANKS TO ═IKE ╫ILLIS
-
- ╘HE ─╔╙╦ ─╧├╘╧╥ PROGRAM WITH VERSIONS FOR THE ├OMMODORE ╓╔├-20 (OF ANY SIZE
- MEMORY), ├-64 AND ├-128 IS ONE OF THE MOST POWERFUL DISK UTILITIES THAT YOU
- WILL EVER OWN. ╔T ALLOWS YOU TO NOT ONLY VIEW BUT CHANGE ANY BYTE OF DATA
- STORED ON ANY OF YOUR 1540, 1541, 1570, 1571, 4040 AND COMPATIBLE DISKETTES.
- ╫ITH ╘HE ─╔╙╦ ─╧├╘╧╥ YOU CAN PERFORM TASKS THAT NORMALLY WOULD INVOLVE HOURS
- OF PROGRAMMING, ACTUALLY REPAIR "CRASHED" DISK DATA AND HAVE A LITTLE FUN ALL
- AT THE SAME TIME. ┬EFORE WE DO HAVE ALL THIS FUN, WE'LL HAVE TO TAKE A LOOK
- AT HOW ├OMMODORE HAS SET UP THE FORMAT OF THEIR DISKS. ╫E'LL LIMIT OUR
- DISCUSSION TO WHAT IS REFERRED TO AS THE ├OMMODORE "╟├╥" FORMAT. ╘HAT'S THE
- FORMAT NORMALLY USED ON 1540, 1541, 1570, 1571, 4040, ═╙─ AND SOME OTHER
- ├OMMODORE "WORK ALIKE" MACHINES AND DISKS. ╘HERE ARE OTHER ├OMMODORE ╟├╥
- FORMATS LIKE THAT USED ON OLDER MACHINES LIKE THE 8050, 8250, ╙╞─-1001 AND
- EVEN A SPECIAL FORMAT FOR ├╨/═ BUT WHILE YOU CAN READ AND MODIFY THESE TYPES
- WITH ╘HE ─╔╙╦ ─╧├╘╧╥, WE WILL NOT REALLY DELVE TOO DEEP INTO THEM AT THIS
- TIME.
-
- ╔F YOU COULD SEE THE ACTUAL MAGNETIC PATTERNS ON THE DISKETTE, YOU WOULD
- NOTICE THAT THAT THERE ARE 35 CONCENTRIC TRACKS OF DATA ARRANGED SOMEWHAT LIKE
- A PHONOGRAPH RECORD EXCEPT THAT THE 35 TRACKS DO NOT LEAD INTO ONE ANOTHER.
- ╒NTIL RECENTLY, THE STANDARD ├OMMODORE FORMAT ONLY ALLOWED USE OF A SINGLE
- SIDE OF THE DISKETTE. ╘HE NEW 1571 DISK DRIVE IS ACTUALLY DOUBLE-SIDED AND
- CAN STORE TWICE AS MUCH INFORMATION AS A SINGLE-SIDED DRIVE BY PLACING AN
- ADDITIONAL 35 TRACKS ON THE OPPOSITE SIDE OF THE DISKETTE. ╔F YOU SQUINTED
- YOUR EYES A LITTLE HARDER YOU WOULD SEE THAT EACH TRACK IS SECTIONED OFF INTO
- SMALLER PIECES WHICH WE CALL SECTORS OR BLOCKS (A SECTOR IS THE SAME AS A
- BLOCK.) ┬ECAUSE THE OUTERMOST TRACK (TRACK #1) IS MUCH LARGER OR LONGER THAN
- THE INNERMOST TRACK (TRACK #35), IT CONTAINS MORE SECTORS OR BLOCKS. ╔N FACT,
- HERE IS HOW IT BREAKS DOWN (THE TRACK NUMBERS SHOWN IN PARENTHESIS APPLY TO
- THE SECOND SIDE OF DOUBLE-SIDED DISKS):
-
- ╘╥┴├╦# ╙┼├╘╧╥#╙
- &1-17 (36-52) 0-20 (21 ╘╧╘┴╠)
- 18-24 (53-59) 0-18 (19 ╘╧╘┴╠)
- 25-30 (60-65) 0-17 (18 ╘╧╘┴╠)
- 31-35 (66-70) 0-16 (17 ╘╧╘┴╠)
-
- ┼ACH SECTOR HOLDS 256 BYTES OF DATA. ╠ET'S SEE...THAT'S 17*21 + 7*19 + 6*18 +
- 5*17 = 683 SECTORS * 256 BYTES IN EACH SECTOR...YES THAT'S 174,848 BYTES OF
- STORAGE ON A SINGLE-SIDED DISKETTE (DOUBLE THAT FIGURE FOR DOUBLE SIDED
- DISKS.) ╘HE DRIVE NEEDS SOME OF THAT SO THE REAL "USER AVAILABLE" SPACE IS
- ACTUALLY SOMEWHERE AROUND 168,656 FOR SINGLE-SIDED DISKS AND 337,312 FOR
- DOUBLE-SIDED DISKS. ├OMPARED TO OTHER "SINGLE DENSITY" 5 1/4 INCH DISKETTE
- FORMATS, THIS FIGURE IS QUITE IMPRESSIVE.
-
- ╠ET'S LOOK AT THE FIRST SECTOR OF DATA, TRACK 18 AND SECTOR 0. ╘HE DISK DRIVE
- STARTS STORING ITS DATA HERE, IN THE MIDDLE OF THE DISKETTE, TO SPEED UP ITS
- OPERATION. ╔F YOU HAVE ╘HE ─╔╙╦ ─╧├╘╧╥ PROGRAM, ╠╧┴─ AND ╥╒╬ IT NOW. ┘OU
- DON'T NEED IT FOR THIS DISCUSSION, BUT IT SURE WILL HELP. ╚IT ANY KEY TO
- START UP THEN ENTER "18" FOR THE TRACK AND "0" FOR THE SECTOR. ╘HE SCREEN
- WILL FILL WITH WHAT LOOKS LIKE SEMI-GIBBERISH. ┘OU ARE NOW LOOKING AT A
- SINGLE SECTOR OF DISKETTE DATA. ╔F YOU HAVE THE ├-64 OR ├-128 VERSION OF ╘HE
- ─╔╙╦ ─╧├╘╧╥, A LIST OF ONE KEY COMMANDS AVAILABLE TO YOU ARE DISPLAYED ALONG
- WITH A SHORT DEFINITION OF EACH COMMAND. ╘HE ╓╔├-20 VERSION DISPLAYS JUST THE
- ONE KEY COMMANDS BECAUSE OF ITS SMALLER SCREEN, BUT PRESSING "╚" DISPLAYS A
- ╚┼╠╨ SCREEN IF YOU FORGET WHAT THESE COMMANDS ARE. ╫E WILL SEE HOW TO USE ALL
- OF THESE POWERFUL COMMANDS LATER IN THIS DISCUSSION.
-
- ┘OU ARE NOW LOOKING AT A SPECIAL SECTOR WHERE THE DRIVE STORES IT'S ┬LOCK
- ┴VAILABILITY ═AP (┬┴═) AND OTHER INFORMATION ABOUT THE DISKETTE. ╘HIS SECTOR
- IS THE FIRST SECTOR IN THE FILE THAT HOLDS THE DISKETTE'S DIRECTORY AND IS
- GENERALLY REFERRED TO AS THE "DIRECTORY HEADER". ╙UBSEQUENT DIRECTORY SECTORS
- CONTAIN THE NAMES AND OTHER DATA PERTAINING TO THE REMAINING FILES ON THE
- DISKETTE.
-
- ╬OTICE THAT YOUR CURSOR IS IN THE UPPER LEFT CORNER OF THE SCREEN. ╒SE THE
- CURSOR CONTROL KEYS TO MOVE THE CURSOR AROUND. ╘WO INDICATORS, "VALUE" AND
- "POSITION", WILL CHANGE AS THE CURSOR MOVES AROUND THE SCREEN. ┴S YOU MAY
- RECALL, EACH SECTOR CONTAINS 256 BYTES WHICH ARE NUMBERED (BY THEIR POSITION)
- FROM 0 TO 255. ╔F YOU TAP THE ╚╧═┼ KEY THE CURSOR'S POSITION SHOULD BE 0. ┴
- "CURSOR LEFT" WILL CAUSE THE CURSOR TO "WRAP AROUND" TO THE LAST SPACE IN THE
- SECTOR AND SHOULD YIELD A POSITION OF 255.
-
- ╨RESS ╚╧═┼ AGAIN AND NOTICE THE VALUE OF THE BYTE IN POSITION 0. ╔T SHOULD BE
- 18. ╘HE VALUE OF THE BYTE IN POSITION 1 SHOULD BE 1. ╘HE FIRST TWO BYTES OF
- EVERY SECTOR ON THE DISK ARE "POINTERS". ╘HEY TELL THE DRIVE WHERE THE NEXT
- TRACK AND SECTOR OF THE DIRECTORY FILE (THE ONE WE'RE LOOKING AT NOW) IS
- LOCATED. ╘HE NEXT TRACK AND SECTOR IS TRACK 18, SECTOR 1. ╘HE BYTE IN
- POSITION 2 WILL HAVE A VALUE OF 65 WHICH IS DISPLAYED BY ╘HE ─╔╙╦ ─╧├╘╧╥ AS AN
- ┴. ╘HIS TELLS THE DRIVE WHICH ├OMMODORE DISK FORMAT THE DISK IS. ╔F THIS
- BYTE IS ANYTHING OTHER THAN AN ┴ (OR 65) THEN YOUR DRIVE WILL REFUSE WRITE TO
- IT. ╔T WILL READ FINE, BUT IT WILL NOT WRITE. ╘HE NEXT BYTE, #3 IS USED TO
- TELL A DOUBLE-SIDED DRIVE WHETHER OR NOT THE DISKETTE HAS BEEN FORMATTED AS A
- DOUBLE-SIDED DISKETTE. ╔F IT IS SINGLE-SIDED THE VALUE OF THE BYTE IN THIS
- POSITION WILL BE ZERO. ╞OR DOUBLE-SIDED, THE BYTE WILL HAVE A VALUE OF 128.
-
- ╨OSITIONS 4-143 CONTAIN THE ┬LOCK ┴VAILABILITY ═AP OR "┬┴═". ─ON'T EXPECT TO
- BE ABLE TO MAKE SENSE OF THE ┬┴═ BY SIMPLY VIEWING IT ON YOUR SCREEN (ALTHOUGH
- SOME VERSIONS OF ╘HE ─╔╙╦ ─╧├╘╧╥ TRANSLATE EACH ENTRY INTO A SMALL CHART
- DISPLAYED ELSEWHERE ON THE SCREEN.) ╔T IS PLACED HERE BY THE DRIVE IN THE
- FORM OF BINARY NUMBERS. ╘HE ┬┴═ IS LIKE A ROAD MAP FOR THE DISK DRIVE. ╔T
- TELLS THE DRIVE WHICH SECTORS HOLD VALID DATA AND WHICH ONES ARE FREE TO WRITE
- TO. ╫HEN YOU USE THE ╓┴╠╔─┴╘┼ OR ├╧╠╠┼├╘ COMMAND THE DRIVE REORGANIZES ITS
- ┬┴═. ─ON'T EVER TRY TO ALTER THE ┬┴═ UNLESS YOU REALLY KNOW WHAT YOU ARE
- DOING. ┘OU CAN REALLY MESS THINGS UP BY PLAYING AROUND HERE. ╥EMEMBER THAT
- ╘HE ─╔╙╦ ─╧├╘╧╥ DOES NOT COME WITH MALPRACTICE INSURANCE!
-
- ═OVE YOUR CURSOR TO POSITION 144. ╘HINGS HERE MAY LOOK A BIT FAMILIAR.
- ╘HAT'S RIGHT, YOU ARE LOOKING AT THE DISK'S NAME. ╘HE DISK NAME IS STORED AT
- POSITIONS 144-159. ┬YTES #160 AND #161 WILL BE SHIFTED SPACES (VALUE 160.)
- ┬YTES #162 AND #163 CONTAIN THE DISK'S ╔─ CHARACTERS. ╘HOSE ARE THE TWO
- CHARACTERS YOU GIVE AFTER THE DISK NAME WHEN YOU FORMAT A DISK. ┴NOTHER
- SHIFTED SPACE IS AT #164 AND THE NEXT TWO BYTES (165,166) CONTAIN THE ─╧╙
- VERSION IDENTIFIER- 2┴. ┬YTES #167-170 HAVE SHIFTED SPACES AND #171-255 ARE
- ALL UNUSED AND CONTAIN VALUES OF 0, WHICH ARE DISPLAYED AS "@"'S ("AT" SIGNS)
- ON SINGLE-SIDED DISKS. ┬YTES #221-225 ARE USED ON DOUBLE-SIDED DISKS TO STORE
- THE NUMBER OF SECTORS THAT ARE "FREE" IN TRACKS 36-70. ╞OR INSTANCE, IF THE
- BYTE IN POSITION #221 CONTAINS VALUE OF FIVE, THAT MEANS THAT FIVE SECTORS IN
- TRACK 36 ARE UNUSED RIGHT NOW.
-
- ╘RACK 18, ╙ECTOR 0 (┬┴═ AND ─IRECTORY ╚EADER)
- ---------------------------------------------
-
- ┬┘╘┼ ╓┴╠╒┼ ─┼╞╔╬╔╘╔╧╬
- ------------------------------------------------------------------
- 0,1..... 18,1.... ╘RACK AND SECTOR OF NEXT BLOCK IN FILE.
- 2....... 65...... ├HARACTER "┴" - 1540/1541/4040 FORMAT.
- 3....... 0/128... ╞LAG FOR SINGLE/DOUBLE SIDED MODE.
- 4-143............ ┬IT MAP OF AVAILABLE SECTORS (┬┴═.)
- 144-161.......... ─ISK NAME WITH SHIFTED SPACES.
- 162,163.......... ╘WO DISK ╔─ CHARACTERS.
- 164..... 160..... ╙HIFTED SPACE.
- 165,166 50,65... ├HARACTERS "2┴" - ─╧╙ IDENTIFIER.
- 167-170 160..... ╙HIFTED SPACES.
- 171-255 0....... ╒NUSED FOR ╙╙ DISKS BUT MAY CONTAIN OTHER VALUES.
- 221-255 ........ ┬LOCKS FREE FOR TRACKS 36-70 (─╙ DISKS ONLY.)
-
-
- ╙INCE THE ┬┴═ IN TRACK 18, SECTOR 0 CAN ONLY HOLD THE BLOCK MAP OF TRACKS
- 1-35, DOUBLE-SIDED DISKS MAKE USE OF SECTOR 0 ON TRACK 53 TO STORE A SECOND
- ┬┴═ FOR TRACKS 36-70.
-
- ╘HE NEXT TRACK AND SECTOR THAT WE NEED TO SEE IS 18,1 (FROM NOW ON, THIS IS
- HOW WE'LL DENOTE TRACK AND SECTOR NUMBERS.) ╘HERE ARE TWO WAYS TO VIEW THAT
- TRACK AND SECTOR. ╫E COULD USE THE "╙" (DIFFERENT SECTOR) COMMAND (THIS
- COMMAND IS "┬" FOR "BLOCK" ON SOME ─╔╙╦ ─╧├╘╧╥ VERSIONS) AND ENTER THE TRACK
- AND SECTOR NUMBERS OF THE SECTOR WE WANT TO GO TO, ╧╥ SINCE IT IS THE NEXT
- SECTOR IN OUR FILE WE CAN USE THE "╬" (NEXT SECTOR) COMMAND. ╨RESS "╬" NOW.
-
- ╘HIS IS THE FIRST SECTOR OF THE DISK'S DIRECTORY ENTRIES AND YOU SHOULD
- RECOGNIZE THE NAMES OF SOME OF THE FILES ON THE DISK. ┴S ALWAYS, THE NEXT
- TRACK AND SECTOR OF THIS FILE IS DEFINED BY BYTES #0 AND #1. ╔F THERE ARE
- MORE THAN 8 FILES ON YOUR DISKETTE, BYTE #0 SHOULD HAVE A VALUE OF 18 AND BYTE
- #1 WILL BE 4. ╘HE NEXT PART OF THE SECTOR IS DIVIDED INTO EIGHT DIFFERENT
- SECTIONS THAT HOLD DATA ABOUT THE FIRST EIGHT FILES ON THE DISK:
-
- ╘RACK 18, ╙ECTOR 1 (─IRECTORY SECTOR)
- -------------------------------------
-
- ┬┘╘┼ ╓┴╠╒┼ ─┼╞╔╬╔╘╔╧╬
- -------------------------------------------------------------
- 0,1..... 18,4.... ╘RACK & ╙ECTOR OF NEXT DIRECTORY SECTOR.
- 2-31............. ╞ILE ENTRY 1
- 34-63............ ╞ILE ENTRY 2
- 66-95............ ╞ILE ENTRY 3
- 98-127........... ╞ILE ENTRY 4
- 130-159.......... ╞ILE ENTRY 5
- 162-191.......... ╞ILE ENTRY 6
- 194-223.......... ╞ILE ENTRY 7
- 226-255.......... ╞ILE ENTRY 8
-
-
- ┘OU MAY NOTICE THAT EACH FILE ENTRY IS SEPARATED BY TWO BYTES WHICH ARE NOT
- USED. ╘HE CHART THAT FOLLOWS SHOWS THE BREAKDOWN FOR A ╙╔╬╟╠┼ ╞╔╠┼ ENTRY
- STARTING WITH THE FIRST BYTE OF THAT ENTRY. ╞OR EXAMPLE, BYTE #2 OF THE FIRST
- FILE ENTRY IS ACTUALLY BYTE #4 OF THE SECTOR. ╘HIS IS HOW EACH FILE ENTRY IS
- LAID OUT IN THIS AND ALL SUCCESSIVE DIRECTORY SECTORS:
-
- ╙INGLE ─IRECTORY ╞ILE ┼NTRY:
- ----------------------------
-
- ┬┘╘┼ ╓┴╠╒┼ ─┼╞╔╬╔╘╔╧╬
- ------------------------------------------------------------
- 0................ ╞ILE TYPE AS FOLLOWS:
- 128....... ─┼╠-DELETED
- 129....... ╙┼╤-SEQUENTIAL
- 130....... ╨╥╟-PROGRAM
- 131....... ╒╙╥-USER
- 132....... ╥┼╠-RELATIVE
- 1,2.............. ╘RACK AND SECTOR OF WHERE FILE BEGINS.
- 3-18............. ╞ILE NAME "PADDED" WITH SHIFTED SPACES.
- 19-20............ ╥┼╠ ONLY-╘&╙ OF 1ST SIDE SECTOR BLOCK.
- 21............... ╥┼╠ ONLY-╥ECORD SIZE.
- 22-25............ ╒NUSED.
- 26,27............ ╘&╙ OF REPLACEMENT FILE-╙┴╓┼ W/╥┼╨╠┴├┼.
- 28,29............ # OF SECTORS IN FILE:LOW BYTE,HIGH BYTE.
-
-
- ╨AY ATTENTION TO BYTE #0 IN THE FILE ENTRY. ╘HIS BYTE DEFINES WHICH TYPE THE
- FILE IS. ╔F THE BYTE IN THIS POSITION HAS A VALUE OF 130 THE DRIVE SEES THAT
- FILE AS A PROGRAM OR "╨╥╟" FILE. ╔T'S NOT OFTEN THAT YOU SEE ─┼╠ FILES.
- (╘HEY ARE FAIRLY UNDOCUMENTED BUT EXPERIMENTATION HAS SHOWN THAT YOU CAN ╧╨┼╬
- AND READ THEM BUT IF YOU TRY TO WRITE THEM THEY TURN UP ON THE DIRECTORY AS
- ╙┼╤ FILES.)
-
- ╔'M SURE YOU'VE SEEN ╨╥╟ AND ╙┼╤ FILES. ┬UT WHAT ARE ╒╙╥ (USER) FILES? ╔'M
- GLAD YOU ASKED! ╒╙╥ FILES ARE EXACTLY THE SAME AS ╙┼╤ (SEQUENTIAL) FILES
- EXCEPT THAT THEY HAVE A DIFFERENT NAME. ╘HIS MAKES THEM STAND OUT WHEN YOU
- LIST A DIRECTORY AND REMINDS YOU THAT YOU MAY HAVE DECIDED TO DO SOMETHING A
- BIT DIFFERENT WITH THEM. ╧╨┼╬ING AND READING ╒╙╥ FILES REQUIRES THE SAME
- SYNTAX AS SEQUENTIAL FILES EXCEPT THAT THE LETTER "╒" IS SUBSTITUTED FOR THE
- "╙" IN THE ╧╨┼╬ COMMAND. ╫E ARE NOT GOING TO DISCUSS ╥┼╠ATIVE FILES HERE.
- ╘╚┴╘ SUBJECT STILL BAFFLES YOUR HUMBLE AUTHOR AND APPARENTLY SOME OF THE
- ├OMMODORE MANUAL WRITERS AS WELL!
-
- ═OVE YOUR CURSOR TO POSITION #2. ╘HIS IS THE FIRST BYTE (#0) OF THE FIRST
- FILE ENTRY OF THE DIRECTORY. ╔TS VALUE TELLS YOU WHAT TYPE OF FILE IT IS AND
- MOST LIKELY WILL BE 129 (SEQUENTIAL) OR 130 (PROGRAM.) ╘HE CHARACTERS THAT
- ╘HE ─╔╙╦ ─╧├╘╧╥ DISPLAYS FOR THESE VALUES WILL EITHER BE A REVERSED "A" OR
- "B". ╘HE TWO BYTES DIRECTLY FOLLOWING THE FILE TYPE TELL YOU (AND THE DRIVE)
- WHERE THE ACTUAL FILE IS. ╔N MOST CASES THE DISK DRIVE STORES THE FIRST FILE
- AT 17,0 AND THESE ARE THE VALUES YOU MAY EXPECT HERE. ╔F YOU THINK YOU KNOW
- HOW TO USE THE "╙" (NEW SECTOR) COMMAND WE'LL LEARN A NEW COMMAND. ╨LACE THE
- CURSOR IN POSITION #3. ╬OW YOU CAN USE THE "╩" (JUMP TO LINK UNDER CURSOR)
- COMMAND. ╘HIS CAUSES ╘HE ─╔╙╦ ─╧├╘╧╥ TO SEARCH FOR AND DISPLAY THE TRACK AND
- SECTOR THAT THE CURSOR IS INDICATING. ╔F YOU DON'T HAVE THE CURSOR PLACED
- CORRECTLY, YOU WILL PROBABLY BE SPECIFYING AN ILLEGAL SECTOR AND ╘HE ─╔╙╦
- ─╧├╘╧╥ WILL TELL YOU. ╔F THIS HAS HAPPENED, YOU CAN JUST INPUT NEW TRACK AND
- SECTOR NUMBERS...GO BACK TO 18,1 AND TRY IT AGAIN.
-
- ╙INCE IT IS VERY LIKELY THAT YOU ARE NOW LOOKING AT 17,0 AND IT IS ALSO A
- PROGRAM FILE WE'LL COVER THAT NEXT. ┬UT BEFORE WE LOOK AT THE FILE, HIT THE
- "+" KEY. ╘HIS COMMAND TELLS ╘HE ─╔╙╦ ─╧├╘╧╥ TO GO TO THE NEXT SECTOR ON THE
- CURRENT TRACK, ╬╧╘ THE NEXT SECTOR IN THE FILE. ┘OU WILL BE LOOKING AT 17,1
- NOW. ╔T MAY NOT EVEN CONTAIN ANY DATA FROM THE FILE YOU JUST LEFT. ╘O GET
- BACK TO 17,0 JUST HIT THE "-" KEY WHICH DOES JUST THE OPPOSITE OF THE "+"
- COMMAND.
-
- ┘OU MIGHT BE SAYING TO YOURSELF, "╚EY, THIS DOESN'T LOOK LIKE A PROGRAM!
- ╫HERE ARE THE ╨╥╔╬╘S, ╨╧╦┼S, ╨┼┼╦S AND ╥┼═S?". ╫ELL, THEY ARE ALL STILL THERE
- BUT HAVE BEEN "TOKENIZED" INTO ONE OR TWO BYTE VALUES. ┘OUR ├OMMODORE
- COMPUTER STORES THE ┬┴╙╔├ KEYWORDS IN THIS MANNER TO SAVE MEMORY AND SPEED
- EXECUTION. ╫HEN YOU ╠╔╙╘, THE COMPUTER TRANSLATES THESE TOKENS FOR YOU SO IT
- IS EASIER TO READ BUT ALL ┬┴╙╔├ KEYWORDS AND SOME OPERATORS ARE STORED USING
- ONLY ONE OR TWO BYTES.
-
- ┴T THIS POINT, YOU MAY WANT TO LOOK AT A ┬┴╙╔├ PROGRAM THAT YOU ARE FAMILIAR
- WITH, PERHAPS ONE THAT YOU HAVE WRITTEN YOURSELF. ╒SE THE "╤" (QUIT) COMMAND
- AND REMOVE YOUR DISKETTE. ┬ECAUSE WE WILL ACTUALLY BE RE-WRITING INFORMATION
- TO YOUR DISKETTE, YOU WILL WANT TO USE A SPARE THAT IS EXPENDABLE. ╔N FACT,
- YOU SHOULD SIMPLY MAKE A BACK-UP COPY OF A DISK YOU USE ALL THE TIME SO THINGS
- LOOK FAMILIAR.
-
- ╧NCE THE PRACTICE DISKETTE IS IN THE DRIVE, HIT ANY KEY. ╞IND THE PROGRAM YOU
- WANT TO LOOK AT BY STARTING WITH TRACK 18 AND SECTOR 1 (THE DIRECTORY.) ╒SE
- THE "╬" COMMAND TO ADVANCE TO SUBSEQUENT SECTORS IN THE DIRECTORY UNTIL YOU
- SEE YOUR PROGRAM. ╨OSITION YOUR CURSOR AT BYTE #1 (THE SECOND BYTE) OF THE
- ╞╔╠┼ ┼╬╘╥┘ FOR THAT FILE (TWO BYTES DIRECTLY BEFORE THE PROGRAM NAME IS WHERE
- YOU WANT TO BE.) ╘HE "╩" COMMAND SHOULD TAKE YOU TO THE FIRST TRACK AND
- SECTOR WHERE YOUR PROGRAM IS LOCATED.
-
- ╔F YOU NOW SEE SOMETHING THAT VAGUELY RESEMBLES THE PROGRAM YOU WERE LOOKING
- FOR, GREAT! ╨RESS THE ╚╧═┼ KEY AND WE'LL TAKE A LOOK AT YOUR PROGRAM.
- ╨ROGRAM FILES ARE FORMATTED LIKE THIS:
-
- ╨ROGRAM (╨╥╟) FILE FORMAT:
- --------------------------
- ┬┘╘┼ ─┼╞╔╬╔╘╔╧╬
- -------------------------------------------------------------
- 0,1.............. ╘&╙ OF NEXT SECTOR OF PROGRAM.
- 2,3.............. ╠OAD ADDRESS IN LOW BYTE, HIGH BYTE
- FORMAT (ONLY ON FIRST SECTOR OF FILE.)
- ├-64 IS USUALLY 1,8 OR 1+(8*256)=2049
- 4,5.............. ╠OW BYTE, HIGH BYTE NUMBER IDENTIFYING
- THE ADDRESS OF THE NEXT ┬┴╙╔├ LINE.
- 6,7.............. ╞IRST ┬┴╙╔├ LINE NUMBER IN ╠┬,╚┬
- 8-255............ ╥EST OF DATA WITH KEYWORDS TOKENIZED.
- ╘HREE ZERO BYTES MARK THE END OF A
- PROGRAM AND USUALLY THE FILE AS WELL.
-
-
- ┴S USUAL, THE FIRST TWO BYTES CONTAIN THE TRACK AND SECTOR OF THE NEXT SECTOR
- OF DATA. ╘HE NEXT TWO BYTES MAY SEEM A BIT UNUSUAL TO YOU AND YOU MIGHT WANT
- TO GET OUT A CALCULATOR 'CAUSE AS MUCH AS ╔ HATE TO SAY IT, WE'RE GOING TO DO
- SOME (YES THAT DREADED WORD) ═┴╘╚. ╞OR SOME REASON, COMPUTERS OFTEN STORE
- NUMBERS A LITTLE BACKWARDS (AS FAR AS HUMANS ARE CONCERNED.) ╘HE CLASSIC CASE
- IS WHEN NUMBERS ARE EXPRESSED IN THE ╠╧╫ ┬┘╘┼, ╚╔╟╚ ┬┘╘┼ FORMAT. ╙INCE EACH
- BYTE CAN ONLY STORE VALUES 0-255 (256 UNIQUE VALUES TOTAL), IF YOU NEED TO
- EXPRESS A LARGER NUMBER, YOU MUST USE MORE THAN JUST ONE BYTE. ╘WO BYTES WORK
- WELL BECAUSE YOU CAN EXPRESS UP TO 65536 (OR 256*256) DIFFERENT VALUES. ┬UT
- THIS IS WHERE THE COMPUTER GOES BACKWARDS. ╘O FIND THE NUMBER SPECIFIED IN
- THE LOW BYTE, HIGH BYTE FORMAT, YOU MULTIPLY THE ╙┼├╧╬─ VALUE IN THE PAIR BY
- 256 THEN ADD THAT RESULT TO THE ╞╔╥╙╘ VALUE. ╬OW HOW IS THAT? ╚ERE'S AN
- EQUATION:
-
-
- ╪ = (╓┴╠╒┼2 * 256) + ╓┴╠╒┼1
-
-
- ╔F YOU'RE A BIT UNEASY ABOUT THIS, DON'T WORRY, YOU ARE NOT ALONE. ╫HENEVER
- WE TALK ABOUT "LOW BYTE, HIGH BYTE" NUMBERS, JUST USE THIS EQUATION AND YOU'LL
- BE OKAY.
-
- ┬YTES #2 AND #3 IN THE FIRST SECTOR OF A PROGRAM FILE ALWAYS CONTAIN THE "LOAD
- ADDRESS" OF THE PROGRAM. ╘HIS TELLS THE COMPUTER WHERE IN THE COMPUTER'S
- MEMORY TO PUT THE PROGRAM. ╔F YOU ARE LOOKING AT A NORMAL ┬┴╙╔├ PROGRAM THIS
- LOW BYTE, HIGH BYTE NUMBER SHOULD EQUAL THE "START OF ┬┴╙╔├" LOCATION OF YOUR
- COMPUTER (THE ACTUAL START OF ┬┴╙╔├ ON ├OMMODORE MACHINES IS ONE LOCATION
- LOWER THAN THE VALUES SHOWN, BUT SINCE THAT BYTE ALWAYS CONTAINS A ZERO VALUE
- WE DO NOT CONSIDER IT HERE.) ╘HE FOLLOWING TABLE SHOWS THE START OF ┬┴╙╔├
- LOCATIONS FOR ├OMMODORE MACHINES IN DECIMAL AND LOW BYTE, HIGH BYTE VALUES:
-
- ╙╘┴╥╘ ╧╞ ┬┴╙╔├ ═┴├╚╔╬┼
- DECIMAL LB/HB
- -------------------------------------------------------
- 2049... 1,8...... ├OMMODORE-64
- 7169... 1,28..... ├OMMODORE-128 (NORMAL)
- 16385... 1,64..... ├OMMODORE-128 (IN GRAPHIC MODE)
- 4097... 1,16..... ╓╔├-20 - UNEXPANDED
- 1025... 1,4...... ╓╔├-20 - 3╦ EXPANSION
- 4609... 1,18..... ╓╔├-20 - 8╦ OR MORE EXPANSION
- 1025... 1,4...... ╨┼╘/├┬═ SERIES.
-
-
- ╔F YOU OWN AN UNEXPANDED ╓╔├-20 THE BYTES IN POSITIONS #2 AND #3 SHOULD
- CONTAIN A 1 AND 16 RESPECTIVELY...1+(16*256)=4097. ╘HE START OF ├-128 ┬┴╙╔├
- WILL VARY DEPENDING ON WHETHER THE PROGRAM WAS SAVED WHILE IN HI-RES GRAPHIC
- MODE OR NOT. ╔N ALL CASES, THE LOAD ADDRESS APPEARS ONLY ON THE FIRST
- SECTOR/BLOCK OF THE FILE.
-
- ╘HE NEXT TWO BYTES (#4 AND #5) IN A ┬┴╙╔├ PROGRAM FILE CONTAIN THE MEMORY
- LOCATION WHERE THE NEXT (NOT THE FIRST) ┬┴╙╔├ LINE IS STORED IN MEMORY. ┴FTER
- THAT, #6 AND #7 CONTAIN THE FIRST ┬┴╙╔├ LINE NUMBER (AGAIN IN ╠┬, ╚┬.)
-
- ╧UR ACTUAL PROGRAM TEXT BEGINS AT BYTE #8. ╘HE VALUE STORED THERE WILL MORE
- THAN LIKELY BE A ┬┴╙╔├ KEYWORD WHICH HAS BEEN "TOKENIZED". ╥EMEMBER THAT
- ┬┴╙╔├ REDUCES ALL OF ITS KEYWORDS TO ONE OR TWO BYTE TOKENS. ┘OU MAY HAVE A
- HARD TIME FIGURING OUT WHAT KEYWORD A REVERSED "Y" STANDS FOR. ╬EWER ├-64 AND
- ├-128 VERSIONS OF ╘HE ─╔╙╦ ─╧├╘╧╥ DISPLAY THE ┬┴╙╔├ KEYWORD CORRESPONDING THE
- TOKEN OR TOKEN PAIR UNDER THE CURSOR. ╔F YOU ARE USING A SIMPLER VERSION, YOU
- MAY WANT TO LOOK IN YOUR COMPUTER'S PROGRAMMER'S REFERENCE GUIDE FOR A CHART
- OF WHICH KEYWORDS ARE REPRESENTED BY WHICH TOKEN VALUES. ┴CTUALLY, A REVERSED
- "Y" HAS A VALUE OF 153 AND IS THE TOKEN FOR THE ┬┴╙╔├ KEYWORD ╨╥╔╬╘. ┘OU
- MIGHT SEE A REVERSED "O" (VALUE-143) NEAR THE BEGINNING OF YOUR PROGRAM. ╘HIS
- IS THE TOKEN FOR ╥┼═.
-
- ╙OME OTHER CHARACTERS WHICH ARE NOT ┬┴╙╔├ TOKENS MAY SHOW UP AS WELL. ┴ COLOR
- COMMAND, SUCH AS 'SWITCH TO BLACK' WITHIN A ╨╥╔╬╘ STATEMENT WILL PRODUCE A
- REVERSED "P" AND HAS A VALUE OF 144, BUT THAT IS THE SAME CHARACTER/TOKEN
- VALUE USED FOR THE ╙╘╧╨ KEYWORD. ╚OW DOES THE COMPUTER KNOW THAT IT MEANS
- 'SWITCH TO BLACK' AND NOT ╙╘╧╨? ┬ECAUSE IT IS IN QUOTES. ┴NYTHING AFTER AN
- ╧── ╬╒═┬┼╥ OF QUOTES IS NOT CONSIDERED AS A ┬┴╙╔├ KEYWORD, BUT AS TEXT OR
- SPECIAL ╨╥╔╬╘ COMMANDS BY THE COMPUTER. ┴NY VALUE NOT IN THE COMPUTER'S LIST
- FOR KEYWORDS IS ALSO NOT CONSIDERED.
-
- ╫HILE VIEWING A PROGRAM FILE YOU WILL SURELY SEE A NUMBER OF BYTES WHICH
- CONTAIN ZERO VALUES (DISPLAYED AS "@"'S.) ╘HE END OF EVERY ┬┴╙╔├ LINE IS
- DESIGNATED BY A ZERO BYTE. ╔F YOU SEE THREE ZERO BYTES IN A ROW, THAT TELLS
- THE COMPUTER WHERE THE END OF THE ┬┴╙╔├ PROGRAM IS LOCATED.
-
- ╨RESS THE "╬" KEY UNTIL YOU FIND THE END OF THE FILE. ╔T SHOULD BE EASY TO
- SPOT BECAUSE BYTE #0 OF THE SECTOR WILL HAVE A VALUE OF ZERO (REMEMBER THIS IS
- THE POINTER TO THE NEXT TRACK, AND SINCE THERE IS NO NEXT TRACK...OH, YOU GET
- THE IDEA.) ┬UT TAKE A GLANCE AT BYTE #1. ╘HIS IS NOW THE POINTER TO THE
- POSITION OF THE ╠┴╙╘ ┬┘╘┼ IN THIS SECTOR. ╘HIS IS THE SAME METHOD USED IN ALL
- FILE TYPES TO SPECIFY THE LAST BYTE IN THE LAST SECTOR.
-
- ╘HE NEXT TWO FILE TYPES THAT WE WILL LOOK AT ARE REALLY EASY! ╙EQUENTIAL AND
- ╒SER FILES, WHICH SHARE IDENTICAL FORMATS, ARE VERY STRAIGHTFORWARD. ╔F YOU
- HAVE ANY ╙┼╤ FILES ON YOUR DISK, TAKE A LOOK AT ONE NOW. ╒NLESS THE
- PROGRAMMER WAS DOING TRICKY THINGS, YOU SHOULD BE ABLE TO READ ALL THE
- INFORMATION FROM THE FILE JUST WITH ╘HE ─╔╙╦ ─╧├╘╧╥. ╘HE ONLY "WEIRD"
- CHARACTERS THAT YOU SHOULD COME ACROSS ARE THE "SEPARATORS" WHICH ARE USUALLY
- NOTHING BUT CARRIAGE RETURNS--├╚╥$(13). ╘HESE ARE DISPLAYED AS LOWER-CASE
- "M"'S AND SEPARATE THE DATA.
-
- ╙EQUENTIAL (╙┼╤) OR ╒SER (╒╙╥) FILE FORMAT:
- -------------------------------------------
- ┬┘╘┼ ╓┴╠╒┼ ─┼╞╔╬╔╘╔╧╬
- -----------------------------------------------------------
- 0,1.............. ╘&╙ OF NEXT DATA SECTOR.
- 2-256............ ─ATA STORAGE. ╘EXT AND NUMERIC VALUES
- USUALLY SEPARATED BY ├╚╥$(13)
- (DISPLAYED AS "M".)
-
-
- ╘HE TIME HAS COME TO LOOK AT SOME OF THE MORE POWERFUL THINGS THAT ╘HE ─╔╙╦
- ─╧├╘╧╥ LETS YOU DO. ╒P UNTIL NOW, ALL WE'VE REALLY DONE IS ╓╔┼╫┼─ THE
- DISKETTE. ╠ET'S TAKE A STAB AT ALTERING IT. ╧NCE AGAIN, ╔'D LIKE TO REMIND
- YOU TO MAKE SURE THAT THE DISKETTE YOU ARE WORKING WITH IS A COPY OF ANOTHER
- ONE OF YOUR DISKETTES OR CONTAINS NOTHING OF ANY VALUE TO YOU. ╫E WON'T
- PHYSICALLY HARM THE DISKETTE OR DRIVE IN ANY WAY, BUT IF AN ERROR IS MADE IT
- COULD REALLY FOUL SOME OF YOUR FILES!
-
- ╘HE ─╔╙╦ ─╧├╘╧╥ IS A LITTLE LIKE A WORD PROCESSOR; YOU CAN ACTUALLY TYPE RIGHT
- ONTO THE SCREEN BY USING THE "╘" (TEXT MODE) COMMAND. ┴FTER PRESSING "╘"
- EVERYTHING YOU TYPE WILL APPEAR ON ╘HE ─╔╙╦ ─╧├╘╧╥'S SCREEN AND LATER MAY BE
- WRITTEN RIGHT TO THE DISKETTE. ╨RESSING ╥┼╘╒╥╬ ENDS TEXT MODE.
-
- ╙INCE YOU CANNOT TYPE SOME CHARACTERS OR VALUES DIRECTLY FROM THE KEYBOARD OR
- YOU SIMPLY MAY WANT TO ASSIGN A CERTAIN VALUE TO A CERTAIN BYTE, YOU MAY USE
- THE "@" (CHANGE BYTE) COMMAND. ╚IT THE "@" KEY AND YOU MAY ENTER ANY NUMBER
- FROM 0-255 AND THAT VALUE WILL BE ASSIGNED TO THE CURRENT BYTE WHEN YOU PRESS
- ╥┼╘╒╥╬. ╬EWER VERSIONS OF ╘HE ─╔╙╦ ─╧├╘╧╥ WILL LET YOU ENTER ╚┼╪ VALUES IF
- YOU PRECEDE THE NUMBER WITH A "$" (DOLLAR SIGN.)
-
- ├ALL UP ANY SECTOR (STAY OUT OF THE DIRECTORY FOR NOW) ON YOUR PRACTICE
- DISKETTE AND TRY OUT THE THE CHANGING FEATURES FOR YOURSELF. ┴NY CHANGES YOU
- MAKE AT THIS POINT ARE ╬╧╘ ACTUALLY MADE TO THE DISKETTE. ┘OU ═╒╙╘ ISSUE THE
- "╥" (REWRITE CURRENT SECTOR) COMMAND FOR THE INFORMATION TO BE PLACED IN THAT
- SECTOR OF THE DISKETTE. ┬ECAUSE YOU MAY NOT WISH TO CHANGE THE SECTOR, YOU
- WILL BE PROMPTED WITH "┴RE YOU SURE?" WHENEVER YOU USE THE "╥" COMMAND. ╟O
- AHEAD AND REWRITE THE SECTOR YOU ARE WORKING WITH. ╥EMEMBER THE TRACK AND
- SECTOR NUMBERS SO THAT YOU CAN CALL IT UP LATER TO SEE THAT THE CHANGES WERE
- ACTUALLY MADE.
-
- ╬OW WE ARE GOING TO LOOK AT SOME USEFUL THINGS THAT YOU AND ╘HE ─╔╙╦ ─╧├╘╧╥
- CAN ACCOMPLISH. ├ALL UP TRACK 18, SECTOR 0. ╫ANT TO CHANGE THE NAME OF YOUR
- DISKETTE? ╙IMPLY MOVE THE CURSOR TO POSITION #144 , PRESS "╘" FOR TEXT MODE,
- TYPE THE NEW NAME (LESS THAN 16 CHARACTERS), PRESS ╥┼╘╒╥╬ AND THEN "╥" TO
- REWRITE THE SECTOR. ┴NSWER "┘" (FOR "YES") WHEN THE PROGRAM ASKS, "┴RE ┘OU
- ╙URE?". ─ONE! ╠OAD THE DIRECTORY BY TYPING- ╠╧┴─"$",8 -THEN ╠╔╙╘ AND SEE FOR
- YOURSELF THAT THE DISK NOW HAS A NEW NAME!
-
- ╘RY CHANGING THE NAME OF THE DISKETTE TO INCLUDE NOT JUST TEXT WHICH YOU'VE
- TYPED IN, BUT A FEW DIFFERENT VALUES THAT YOU CAN CREATE WITH THE "@" COMMAND.
- IF YOU MAKE THE FIRST TWO BYTES OF THE NAME FIELD 13 AND 147 FOLLOWED BY TEXT,
- WHENEVER YOU ╠╔╙╘ THE DIRECTORY, THE SCREEN WILL CLEAR FIRST...AUTOMATICALLY!
-
- ╫HEN YOU ╠╧┴─ THE DIRECTORY OF YOUR DISKETTE, THE DRIVE SENDS THE DATA TO THE
- COMPUTER IN SOMEWHAT THE SAME FORMAT AS A ┬┴╙╔├ PROGRAM. ╘HIS IS WHY YOU CAN
- ╠╔╙╘ IT. ╔F THE DISK NAME CONTAINS ANY VALUE THAT CORRESPONDS TO A ┬┴╙╔├
- KEYWORD, THE DISKETTE NAME WILL DISPLAY THAT KEYWORD. ╘HIS WOULD ALLOW YOU TO
- HAVE DISK NAMES WHICH EXCEED THE STANDARD 16 CHARACTER LIMIT. ╞OR EXAMPLE TRY
- THIS DISK NAME (THE NUMBERS STAND FOR ┬┘╘┼ ╓┴╠╒┼╙, USE THE "@" COMMAND TO
- ENTER THEM. ─ON'T FORGET THE "╥" COMMAND TO PUT YOUR CHANGES ON THE
- DISKETTE.)
-
- ╨╧╙╔╘╔╧╬: 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159
- ╓┴╠╒┼: 34 140 32 162 32 184 69 68 79 77 32 164 32 65 76 76
-
-
- ╘HE NEW DISK NAME BECOMES, "╥┼╙╘╧╥┼ ╬┼╫ ╞╥┼┼─╧═ ╘╧ ┴╠╠", A FULL 26 CHARACTERS!
- ┘OU HAVE PROBABLY FIGURED OUT THAT SOME OF THE VALUES YOU ENTERED ARE THE
- CODES FOR ┬┴╙╔├ KEYWORDS. ┘OU CAN PREVENT THE DIRECTORY FROM ╠╔╙╘ING ENTIRELY
- BY ENTERING ALL ZERO VALUES IN THE DISK NAME.
-
- ┬YTES #162-#166 CAN ALSO BE ALTERED TO DISPLAY DIFFERENT THINGS WHEN YOU ╠╔╙╘
- A DIRECTORY. ╙TART WITH POSITION #162 AND ENTER THIS SEQUENCE OF VALUES WITH
- THE "@" COMMAND:
-
- ╨╧╙╔╘╔╧╬: 162 163 164 165 167 ╧╥ ╨╧╙╔╘╔╧╬: 162 163 164 165 167
- ╓┴╠╒┼: 137 73 136 44 138 ╓┴╠╒┼: 194 65 66 79 79
-
- ╘O SEE HOW THIS WORKS YOU MUST ACTUALLY ╠╧┴─ THE DIRECTORY. ╒SING THE ─╧╙
- ╫┼─╟┼ "@$" COMMAND WON'T SHOW THESE "TOKEN BYTE" EFFECTS SINCE THE ╫┼─╟┼ DOES
- NOT TREAT THE THE DIRECTORY STRICTLY AS A ┬┴╙╔├ PROGRAM.
-
- ┬YTES #171-#220 ARE COMPLETELY UNUSED BY THE DRIVE, SO YOU CAN PUT ANYTHING
- YOU WANT THERE SUCH AS YOUR NAME AND ADDRESS OR A SECRET MESSAGE. ╘HIS SPACE
- MAY BE RE-WRITTEN BY THE DRIVE ON OCCASION, SO DON'T PUT ANYTHING IMPORTANT
- HERE.
-
- ┘OU CAN "WRITE PROTECT" YOUR DISKETTES BY SIMPLY CHANGING THE BYTE IN POSITION
- #2 OF 18,0. ╘HE VALUE OF THAT BYTE IS NORMALLY 65 (DISPLAYED AS AN "┴"), BUT
- IF YOU CHANGE IT TO ANYTHING ELSE, YOUR DRIVE WILL REFUSE TO WRITE TO THE
- DISKETTE UNTIL YOU ╬┼╫ OR ╚┼┴─┼╥ (REFORMAT) IT WHICH, OF COURSE, DESTROYS ALL
- THE DATA. ╧NCE YOU CHANGE THIS BYTE DON'T EXPECT TO CHANGE IT BACK (OR
- ANYTHING ELSE ON THE DISKETTE FOR THAT MATTER.) ╘HE CHANGE IS PERMANENT.
-
- ╒SE THE "╬" COMMAND TO GO TO THE FIRST DIRECTORY SECTOR. ╘HE MOST USEFUL
- BYTES IN THIS SECTOR (AND SUBSEQUENT DIRECTORY SECTORS) ARE THE "FILE TYPE"
- BYTES WHICH ARE THE FIRST BYTE OF EVERY FILE ENTRY. ┴S YOU MAY RECALL, THIS
- BYTE IDENTIFIES THE TYPE OF FILE THAT THE ENTRY IS. ╙OME WORD PROCESSORS WILL
- ONLY READ A CERTAIN TYPE OF FILE. ╔F YOU WANT TO READ A ╨╥╟ FILE AND YOUR
- PROGRAM WILL ONLY ACCEPT ╙┼╤ FILES, SIMPLY CHANGE THE FILE TYPE. ╫ITH ╘HE
- ─╔╙╦ ─╧├╘╧╥ YOU CAN CHANGE ╙┼╤ FILES TO ╨╥╟ FILES OR CHANGE ANY OTHER TYPE TO
- ANY TYPE YOU WANT.
-
- ╫HEN A FILE IS SCRATCHED THE FILE TYPE BYTE IS CHANGED BY THE DRIVE TO ZERO.
- ╔F YOU HAVE JUST ACCIDENTALLY SCRATCHED A FILE YOU DO NOT WANT SCRATCHED, IT
- IS SIMPLE TO RESCUE IT WITH ╘HE ─╔╙╦ ─╧├╘╧╥ AS LONG AS NO NEW FILES HAVE BEEN
- WRITTEN TO THE DISKETTE. ┴LL THAT NEEDS TO BE DONE IS TO CHANGE THE FILE TYPE
- BYTE FROM ZERO TO WHATEVER VALUE THE FILE SHOULD BE WITH THE "@" COMMAND (I.E.
- 130 FOR A PROGRAM FILE, 129 FOR A SEQUENTIAL FILE.) ┘OU MUST ╓┴╠╔─┴╘┼ OR
- ├╧╠╠┼├╘ THE DISKETTE AFTER THIS OPERATION SO THE ┬┴═ WILL BE UPDATED. ╘╚╔╙
- ╔╙ ╓┼╥┘ ╔═╨╧╥╘┴╬╘! ╘HE ┬┴═ STILL THINKS THE FILE HAS BEEN SCRATCHED AND THAT
- THOSE SECTORS ARE FREE AND WILL REWRITE THEM WITH ANY NEW FILE.
-
- ╔T IS POSSIBLE TO AVOID THE ABOVE PROBLEM BY "SCRATCH PROTECTING" SELECTED
- FILES ON THE DISKETTE. ╔F YOU CHANGE THE VALUE STORED IN THE FILE TYPE BYTE,
- TO THAT VALUE PLUS 64, THE DRIVE WILL REFUSE TO SCRATCH THAT FILE. ╞OR
- EXAMPLE, IF THE FILE IS A ╨╥╟ (VALUE:130), CHANGE THE BYTE TO 194 (130+64) TO
- PROTECT IT. ╘HIS IS A VERY NICE FEATURE ESPECIALLY IF YOU EVER USE "PATTERN
- MATCHING" IN YOUR SCRATCH COMMANDS. ╙CRATCH PROTECTED FILES ARE EASY TO SPOT
- WHEN YOU ╠╔╙╘ THE DIRECTORY (OR USE THE ─╧╙ "@$" COMMAND), A "<" (LESS THAN)
- SYMBOL WILL BE DISPLAYED DIRECTLY TO THE RIGHT OF THE FILE TYPE. ╬OTE THAT
- THIS FEATURE IS NOT USABLE WITH DOUBLE-SIDED DISKS--THE 1571 NOT ONLY WILL
- REFUSE TO SCRATCH A "PROTECTED" FILE, IT WON'T ╠╧┴─ IT EITHER (WHILE IN
- DOUBLE-SIDED MODE.)
-
- ╙OME OF YOU MAY HAVE HEARD THAT THERE IS A PROBLEM WITH THE ├OMMODORE 1541 AND
- 1571 ╙┴╓┼ AND ╥┼╨╠┴├┼ COMMAND. ╘HE PROBLEM IS THAT OCCASIONALLY THE FILE
- POINTERS (BYTES #1 AND #2 OF THE FILE ENTRY) ARE NOT PROPERLY WRITTEN. ╘HE
- RESULT IS THAT YOU TRY TO ╠╧┴─ "MAIL LIST" BUT "MUTANT ALIENS" SHOWS UP IN
- YOUR COMPUTER. ╔T IS POSSIBLE WITH ╘HE ─╔╙╦ ─╧├╘╧╥ TO CURE THIS PROBLEM BY
- SEARCHING THROUGH THE DISKETTE FOR THE ORIGINAL FILE (WHICH IS EASIER SAID
- THAN DONE), NOTING THE TRACK AND SECTOR OF WHERE IT STARTS, AND REWRITING THE
- POINTERS IN THE FILE ENTRY. ╧FTEN, IT IS TOO LATE AND OTHER DATA HAS BEEN
- WRITTEN INTO THE OLD SECTORS. ╔F YOU DO SUCCESSFULLY REWRITE THE POINTERS YOU
- SHOULD RE╙┴╓┼ THE FILE SOMEWHERE ELSE SO THAT ┴╠╠ THE DATA IS PUT WHERE THE
- DISK DRIVE WANTS IT. ┴GAIN, IT IS RECOMMENDED THAT YOU PERFORM A VALIDATE
- OPERATION TO UPDATE THE ┬┴═ SHOULD YOU SUCCESSFULLY REWRITE THE POINTERS.
-
- ╔F YOU WANT TO TEMPORARILY PROTECT FILES ON YOUR DISKETTE FROM BEING ╠╧┴─ED,
- VIEWED OR OTHERWISE TAMPERED WITH, YOU CAN CHANGE BYTE #0 OF TRACK AND SECTOR
- 18,1 TO A VALUE OF ZERO. ╘HE DRIVE WILL THINK THAT THE DIRECTORY IS ONLY ONE
- SECTOR LONG AND WILL REFUSE ACCESS TO ANY FILES BEYOND THE FIRST EIGHT. ╘HE
- FILES YOU WANT PROTECTED SHOULD NOT APPEAR IN THE FIRST DIRECTORY SECTOR.
- ╥EMEMBER THAT EVEN ┘╧╒ WILL NOT BE ABLE TO GET TO THE FILE UNTIL BYTE #0 OF
- 18,0 IS CHANGED BACK TO 18. ─O NOT PERFORM A ╓┴╠╔─┴╘┼ COMMAND AS THE ┬┴═ WILL
- THINK THAT ALL THE PROTECTED FILES DO NOT EXIST. ┴LSO, DON'T ╙┴╓┼ ANY NEW
- FILES AS THE REST OF YOUR DIRECTORY MIGHT BE DESTROYED.
-
- ┴NOTHER METHOD OF PROTECTING FILES FROM BEING ╠╧┴─ED IS TO CHANGE THE NAME OF
- THE FILE TO A SERIES OF ├╚╥$ CODES WHICH CANNOT NORMALLY BE TYPED IN FROM THE
- KEYBOARD. ╧NE EXAMPLE WOULD BE TO CHANGE THE FILE NAME TO A CARRIAGE RETURN
- (VALUE: 13) BY USING THE "@" COMMAND. ╫HEN ┘╧╒ WANT TO ╠╧┴─ THE FILE, JUST
- TYPE ╠╧┴─├╚╥$(13),8 (OR ANY OTHER VALUE NOT EASY TO TYPE FROM THE KEYBOARD.)
-
- ╘AKE A LOOK AT BYTES #28 AND 29 OF A ╙╔╬╟╠┼ DIRECTORY ENTRY (REMEMBER THE FILE
- TYPE BYTE IS #0.) ╘HIS IS WHERE THE DISK DRIVE STORES THE NUMBER OF SECTORS
- THAT THE FILE OCCUPIES IN ╠┬,╚┬ FORMAT. ╙INCE ONE RARELY SEES A FILE THAT
- TAKES UP MORE THAN 255 SECTORS, BYTE #29 WILL PROBABLY CONTAIN A VALUE OF
- ZERO. ┬Y ALTERING THESE TWO VALUES YOU CAN MAKE SOME PRETTY ODD FILE SIZES
- SHOW UP WHEN SOMEONE VIEWS THE DIRECTORY. ├HANGING BOTH BYTES TO ZERO VALUES
- WILL MAKE IT SEEM THAT THE FILE OCCUPIES ZERO SECTORS. ╟IVE BYTE #28 A VALUE
- OF 15 AND BYTE #29 A VALUE OF 39 AND THAT FILE WILL BE DISPLAYED AS HAVING
- 9999 SECTORS IN IT!
-
- ├HANGING THE DATA STORED IN ACTUAL FILES IS A FAIRLY STRAIGHTFORWARD
- OPERATION. ╙OME ┬┴╙╔├ PROGRAMS ARE "COMPACTED" WHICH MAKES EDITING SOME LINES
- IMPOSSIBLE WITH THE ├OMMODORE SCREEN EDITOR. ╫ITH ╘HE ─╔╙╦ ─╧├╘╧╥ YOU CAN
- CHANGE THE LINE RIGHT ON THE DISKETTE WITHOUT EVER ╠╧┴─ING THE PROGRAM INTO
- MEMORY. ╔N FACT, IF YOU HAVE THE ORIGINAL ─╔╙╦ ─╧├╘╧╥ PROGRAM, YOU KNOW THAT
- COMPANY WHO RELEASED IT INTO THE PUBLIC DOMAIN MADE IT VERY HARD TO ALTER AND
- BUILT ADVERTISING INTO IT. ┘OU CAN USE ╘HE ─╔╙╦ ─╧├╘╧╥ TO ERASE ALL THAT
- ADVERTISING AND MAY EVEN BE ABLE TO DELETE THE OFFENDING LINES.
-
- ╔F YOU HAVE A FAVORITE MACHINE LANGUAGE UTILITY OR GAME, IT MAY BE FUN TO
- CHANGE ITS PROMPTS OR TEXT. ╟ENERALLY YOU HAVE TO HAVE A FAIRLY GOOD
- KNOWLEDGE OF HOW TO USE A MACHINE LANGUAGE MONITOR TO DO THIS BUT IT IS SIMPLE
- WHEN YOU HAVE ╘HE ─╔╙╦ ─╧├╘╧╥. ╩UST GO THROUGH THE FILE AND CHANGE THE TEXT
- TO ANYTHING YOU WANT. ╔T IS USUALLY IMPORTANT TO KEEP THE TEXT THE SAME
- LENGTH AS THE ORIGINAL. ╔MAGINE SOMETHING LIKE "╩UMPMAN" IN ╙PANISH OR
- ╞RENCH!
-
- ╔ HAVE ONLY TOUCHED ON A FEW POSSIBLE USES FOR ╘HE ─╔╙╦ ─╧├╘╧╥. ┴FTER YOU
- HAVE WORKED WITH IT FOR SOME TIME, ╔'M SURE YOU'LL FIND MANY MORE.
-