332 lines
15 KiB
Erlang
332 lines
15 KiB
Erlang
:::::::::::::::::::::::::::::::::::::::
|
||
::*:::::::::::::::::::::::::::::::::*::
|
||
::: :::
|
||
::: DISK TIPS & TRICKS TUTORIAL :::
|
||
::: PART 1 :::
|
||
::: INTRODUCTION TO DOS :::
|
||
::: :::
|
||
::: BY CANDY APPLE :::
|
||
::: :::
|
||
::*:::::::::::::::::::::::::::::::::*::
|
||
:::::::::::::::::::::::::::::::::::::::
|
||
|
||
*:::::::::::::::::::::::::::::::*
|
||
:: DISTRIBUTED BY ::
|
||
:: CRYSTAL CASTLE 313/856-3804 ::
|
||
*:::::::::::::::::::::::::::::::*
|
||
|
||
THIS ARTICLE CONTAINS AN OVERVIEW OF HOW A NORMAL DISK IS FORMATTED AND DIS-
|
||
CUSSES BRIEFLY THE TWO WAYS OF READING A DISK. IT IS WRITTEN FOR THOSE WHO
|
||
AREN'T FAMILIAR WITH DOS OR FOR THOSE WHO WANT A SHORT REVIEW ON DISK FORMAT-
|
||
TING, ETC.
|
||
|
||
FIRST LET'S START OFF WITH A LITTLE BACKGROUND ON HOW DOS FORMATS A DISK.
|
||
WHEN A DISK IS 'INIT'IALIZED BY DOS, IT WILL DIVIDE IT INTO 35 CONCENTRIC
|
||
TRACKS. IF YOU HAVE DOS 3.3, THEN EACH TRACK WILL BE DIVIDED INTO 16 BLOCKS
|
||
CALLED SECTORS, WHEREAS DOS 3.2 WILL CREATE 13 SECTORS. ON EACH OF THESE
|
||
SECTORS ARE AN ADDRESS MARK AND A DATA MARK.
|
||
|
||
THE ADDRESS MARK WILL TELL DOS WHAT TRACK AND SECTOR IT IS CURRENTLY READ-
|
||
ING. WITHIN THIS ADDRESS MARK, THE VOL- UME, TRACK, SECTOR, AND CHECKSUM INFOR-
|
||
MATION CAN BE FOUND. THE DATA MARKS SURROUNDS THE ACTUAL DATA AND TELLS DOS
|
||
WHERE THE DATA BEGINS AND ENDS. IT ALSO CONTAINS A CHECKSUM THAT'S USED TO VER-
|
||
IFY THE ACCURACY OF THE DATA.
|
||
|
||
THE TRACKS ARE NUMBERED FROM $00 (0- DEC.) TO $22 (34-DEC.); WHEREAS THE
|
||
SECTORS ARE NUMBERED FROM $00 (0) TO $0F (15). THE DOS PROGRAM USES TRACKS $00
|
||
THRU TRACKS $02 (A TOTAL OF 3 TRACKS;0,1,2).
|
||
|
||
THE DOS ALLOWS THE APPLE TO MANIPULATE DATA ON A DISKETTE. WITHIN THE DOS
|
||
PRO- GRAM ARE ALL OF THE COMMANDS THAT CON- TROL THE DISKDRIVE (I.E.: CATALOG,
|
||
INIT, LOAD...) AND THE ERROR MESSAGES WHICH YOU HAVE PROBABLY SEEN BY NOW.
|
||
|
||
ON THE DISK CONTROLLER CARD THAT CON- NECTS THE APPLE TO YOUR DISK DRIVE IS A
|
||
SMALL PROGRAM, SO THAT WHEN YOU BOOT A DISK, IT WILL TELL THE DISK DRIVE TO READ
|
||
TRACK $00(0). THE PROGRAM ON TRK $00, SCT $00 CONTAINS THE INFORMATION TO READ
|
||
IN SECTORS $00-$09 ON TRACK $00. THIS PROGRAM ON SECTORS $00-$09 WILL READ IN
|
||
THE REMAINING INFORMATION ON TRK $00-$02. IN OTHER WORDS, THE APPLE HAS NOW
|
||
LOADED THE DOS, AND DOS WILL NOW TAKE OVER AND RUN THE PROGRAM YOU HAVE
|
||
INITIALIZED THE DISK WITH.
|
||
|
||
DOS FINDS THE HELLO PROGRAM BY GOING TO THE VOLUME TABLE OF CONTENTS (VTOC)
|
||
AND DIRECTORY THAT'S LOCATED ON TRACK $11 (17). THE VTOC OR "BIT MAP" WILL SHOW
|
||
WHICH SECTORS ARE USED AND WHICH ARE FREE. THE DIRECTORY BEGINS ON SECTOR
|
||
$0F(15) AND CONTINUES ON DOWN TO SECTOR $01(19). THE VTOC AND DIRCECTORY ARE
|
||
USED BY DOS WHEN YOU SAVE OR DELETE A FILE.
|
||
|
||
WITHIN THE DIRECTORY, YOU WILL FIND A LIST OF ALL THE FILES FOUND ON THE DISK.
|
||
EACH ENTRY CONTAINS A POINTER TO THE TRACK/SECTOR LIST, FILE-LOCKED AND
|
||
FILE-TYPE CODE, FILE-NAME AND FILE-SIZE WHICH WE'LL GO INTO MORE DETAIL LATER.
|
||
ACTUALLY THE TRK/SCT LIST IS A LIST OF THE TRK/SCT PAIRS THAT STORE THAT FILE.
|
||
THAT'S WHY SAVING A BLANK FILE ALWAYS TAKES 2 SECTORS BECAUSE ONE IS USED FOR
|
||
THE BLANK FILE AND ONE IS FOR THE TRK/ SCT LIST.
|
||
|
||
BECAUSE THE CATALOG TRACK IS IN THE CENTER OF THE DISK, THE ARM NEVER HAS TO
|
||
TRAVEL MORE THEN 17 TRACKS TO GET TO THE CATALOG TRACK. THEN AS FILES ARE
|
||
ALLOCATED ON THE DISK, THEY WILL OCCUPY THE TRACKS JUST ABOVE THE CATALOG FIRST
|
||
UNTIL IT REACHES TR $22(34), THEN IT WILL START USING THE TRACKS JUST BELOW THE
|
||
CATALOG $10(16), THEN TRACK $0F(15) ETC, MOVING TOWARDS THE DOS IMAGE TRACKS.
|
||
|
||
ANOTHER THING THAT'S INTERESTING TO KNOW IS THAT WHEN YOU 'SAVE' OR 'BSAVE' A
|
||
PROGRAM, DOS WILL TOTALLY ALTER THE PROGRAM CODE BEFORE IT IS WRITTEN TO THE
|
||
DISK. THEN WHEN YOU 'LOAD' OR 'RUN' THAT PROGRAM, DOS WILL CHANGE IT BACK AGAIN
|
||
TO ITS ORIGINAL FORM, ALTHOUGH THE USER NEVER NOTICES THIS PROCESS.
|
||
|
||
YOU MIGHT WONDER WHY DOS GOES TO ALL THIS EXTRA TROUBLE? ACTUALLY THE AP-
|
||
PLE'S HARDWARE (AND THAT OF OTHER MA- CHINES) HAS SOME LIMITATIONS WHICH RE-
|
||
STRICT THE RANGE OF BYTE VALUES THAT CAN BE ALLOWED TO PASS BETWEEN THE MA-
|
||
CHINE AND ITS DISK DRIVES.
|
||
|
||
IF YOU TYPE "CALL -151" AND LIST A RANGE OF MEMORY (SAY 'F800.FFFF'), YOU WILL
|
||
NOTICE THAT ALMOSE EVERY BYTE VALUE FROM $00 TO $FF CAN BE SEEN SCROLLING BY.
|
||
EVERYTHING THAT'S STORED IN RAM SUCH AS PROGRAMS, TEXT FILES, ETC.., IS
|
||
REPRESENTED BY A BLOCK OF HEX VALUES IN THIS RANGE. THIS MEANS THAT THE APPLE
|
||
HAS 256 DIFFERENT BYTE VALUES TO USE FOR REPRESENTING INFOR- MATION IN MEMORY
|
||
(THERE ARE 256 DIFFER- ENT HEX NUMBERS IN THE RANGE OF $00 TO $FF).
|
||
|
||
UNFORTUNATELY, WHEN THE APPLE COMMUNI- CATES WITH THE DISK DRIVES, IT CAN'T
|
||
HANDLE SUCH A LARGE RANGE OF VALUES DUE TO HARDWARE CONSTRAINTS. DOS 3.3 CAN
|
||
ONLY SEND TO THE DISK OR RECIEVE FROM IT THE VALUES $96 TO $FF (150 TO 256).
|
||
EVEN SOME OF THESE BYTES WITHIN THAT RANGE ARE ILLEGAL BECAUSE THEY VIOLATE
|
||
APPLE HARDWARE RULES, AND OTHERS ARE RESERVED FOR SPECIAL DISK USE. ACTUALLY
|
||
DOS 3.3 HAS TO REPRESENT ALL 256 DIF- FERENT VALUES THAT APPEAR IN RAM USING
|
||
ONLY 64 VALUES ON THE DISK. EARLIER VERSIONS OF DOS HAD TO MAKE DO WITH A
|
||
SMALLER RANGE OF DISK BYTES.
|
||
|
||
THERE ARE 2 WAYS OF READING A DISK:
|
||
|
||
1) A RAW NIBBLE DUMP
|
||
2) AN RWTS READ.
|
||
|
||
"RAW NIBBLES" REFERS TO INFORMATION EX- ACTLY AS IT IS REPRESENTED ON DISK -
|
||
IN THE SPECIALLY ENCODED FORM DESCRIBED ABOVE.
|
||
|
||
NIBBLE DUMP YOU WILL NOTICE (ON A DOS 3.3 DISK) THAT THE HEX NUMBERS WILL BE
|
||
BETWEEN THE VALUES $96 TO $FF. THIS IS HARDLY RECOGNIZABLE AS PROGRAM OR TEXT
|
||
FILE CODE. YOU WILL ALSO SEE DOZENS OF HEX NUMBERS WHICH HELP DOS DO ITS JOB IN
|
||
GETTING INFORMATION ON AND OFF THE DISK. THESE "DOS MARKS" WILL TELL YOU A
|
||
GREAT DEAL ABOUT THE DISK AND WILL BE COVERED IN A LATER TUTORIAL.
|
||
|
||
THE OTHER WAY A DISK IS READ IS THROUGH A SUBROUTINE IN DOS CALLED "READ AND
|
||
WRITE TRACKS AND SECTORS" OR OTHERWISE KNOWN AS RWTS. THIS ROUTINE PUTS DATA
|
||
(WRITES) ON THE DISK AND GETS IT BACK (READS). ONE OF ITS IMPORTANT JOBS IS TO
|
||
TRANSLATE THE RAW NIBBLES FROM THE DISK INTO INTELLIGIBLE CODE FOR APPLE ROMS
|
||
AND PROGRAMMERS.
|
||
|
||
THE RWTS WILL ALSO FILTER OUT THE DOS MARKS REFEREED TO EARLIER, BECAUSE ONCE
|
||
THE PROGRAM IS LOADED INTO MEMORY, THE DATA MARKS SERVE NO PURPOSE AND SO THEY
|
||
ARE DISCARDED AFTER BEING PICKED UP BY THE READ/WRITE HEAD. JUST REMEMBER THAT
|
||
WHEN DOS LOADS AND RUNS ANY PROGRAM, IT WILL AUTOMATICALLY PERFORM AN RWTS READ
|
||
TO GET THE PROGRAM INTO MEMORY, WHEREAS A RAW NIBBLE DUMP COMES DIRECTLY FROM
|
||
THE DISK AND BYPASSES RWTS AND DOS ENTIRELY.
|
||
|
||
IN THE NEXT TUTORIAL, WE'LL GET DOWN TO BUSINESS AND START EXAMINING THE VTOC
|
||
AND ITS INNER WORKINGS.
|
||
|
||
INCLUDED BELOW IS A HEX, BINARY, DECI- MAL CHART WHICH MIGHT PROVE USEFUL TO
|
||
YOU IN LATER TUTORIALS.
|
||
|
||
HEX BINARY DECIMAL
|
||
0 0000 0000 0
|
||
1 0000 0001 1
|
||
2 0000 0010 2
|
||
3 0000 0011 3
|
||
4 0000 0100 4
|
||
5 0000 0101 5
|
||
6 0000 0110 6
|
||
7 0000 0111 7
|
||
8 0000 1000 8
|
||
9 0000 1001 9
|
||
A 0000 1010 10
|
||
B 0000 1011 11
|
||
C 0000 1100 12
|
||
D 0000 1101 13
|
||
E 0000 1110 14
|
||
F 0000 1111 15
|
||
10 0001 0000 16
|
||
20 0010 0000 32
|
||
3F 0011 1111 63
|
||
40 0100 0000 64
|
||
7F 0111 1111 127
|
||
80 1000 0000 128
|
||
AA 1010 1010 170
|
||
C0 1100 0000 192
|
||
E8 1110 1000 232
|
||
FE 1111 1110 254
|
||
FF 1111 1111 255
|
||
|
||
=======================================
|
||
:::::::::::::::::::::::::::::::::::::::
|
||
::*:::::::::::::::::::::::::::::::::*::
|
||
::: :::
|
||
::: DISK TIPS & TRICKS TUTORIAL :::
|
||
::: PART 2 :::
|
||
::: CLOSER LOOK AT THE VTOC :::
|
||
::: :::
|
||
::: BY CANDY APPLE :::
|
||
::: :::
|
||
::*:::::::::::::::::::::::::::::::::*::
|
||
:::::::::::::::::::::::::::::::::::::::
|
||
|
||
*:::::::::::::::::::::::::::::::*
|
||
:: DISTRIBUTED BY ::
|
||
:: CRYSTAL CASTLE 313/856-3804 ::
|
||
*:::::::::::::::::::::::::::::::*
|
||
|
||
THIS TUTORIAL WILL REPRESENT THE FIRST LEG OF YOUR JOURNEY TOWARDS DISK
|
||
EXPERTISE. LET IT BE KNOW N THAT THE DOS MOD- IFICATIONS EXPLAINED BELOW AND
|
||
HEREAFTE R ONLY APPLY TO A STANDARD DOS 3.3 SLAVE DISK UNLESS OTHE RWISE STATED.
|
||
A DISK WITH ANY OTHER TYPE OF DOS SUCH AS DOS 3.2 OR A FAST DOS WILL HAVE
|
||
LOCATIONS WHERE MANY OF T HESE PATCHES WON'T WORK AND COULD EVEN RUIN A DISK.
|
||
IN FA CT IT'S BEST TO MAKE THESE PATCHES ON A SCRATCH DISK UN TIL THINGS WORK
|
||
PROPERLY. THE AUTHOR IS NOT RESPONSIBL E FOR DAMAGE DONE TO ANY DISKETTE.
|
||
|
||
TO CONTINUE WITH THIS TUTORIAL, YOU WIL L NEED A DOS 3.3 SLAVE DISK AND A
|
||
TRACK AND SECTOR EDITOR PROG RAM SUCH AS DISK EDIT, THE INSPECTOR, TRICKY DICK,
|
||
OR THE SECT OR EDITOR ON COPY II+, ETC. ALSO, SO WE CAN WORK AND UNDERSTA ND ON
|
||
THE SAME LEVEL, MAKE A 'FID' COPY OF THE APPLE SYSTEM M ASTER DISKETTE AND LEAVE
|
||
IT UNPROTECTED. NOW LETS GET STA RTED.
|
||
|
||
|
||
THE VOLUME TABLE OF CONTENTS
|
||
--- ------ ----- -- --------
|
||
|
||
USING YOUR DISK EDIT PROGRAM, READ IN T RACK $11(17), SECTOR $00(0). YOU ARE
|
||
NOW LOOKING AT THE VTO C WHICH WILL SOONER OR LATER IN YOUR LIFE GET OVERWRITTEN
|
||
WITH WORRY ABOUT FIXING A CLOBBERED VTOC RIG HT NOW BUT IN A LATER TUTORIAL
|
||
WE'LL DISCUSS THIS.
|
||
|
||
LET'S TAKE A CLOSER LOOK AT THE FIRST L INE OF DATA STARTING WITH BYTE $00.
|
||
IT SHOULD LOOK SIMILIAR TO THE FOLLOWING:
|
||
|
||
BYTE TRACK $11 SECTOR$00
|
||
|
||
00: 04 11 0F 03 00 00 FE 00
|
||
|
||
|
||
THE FIRST NUMBER "04" DOESN'T HAVE ANY FUNCTIONS, SO IGNORE IT. THE NEXT TWO
|
||
NUMBERS GIVE US THE F IRST CATALOG ENTRIES. THE SECOND BYTE REPRESENTS THE
|
||
TRACK NU MBER AND THE NEXT IS THE SECTOR NUMBER. IN OTHER WORDS, IT' S TELLING
|
||
US THAT THE CATALOG STARTS ON TRACK $11, SECTOR $0F (ON A DOS 3.2 DISK, IT
|
||
STARTS AT SECTOR $0C). THE FOURTH B YTE, "03" TELLS US THAT THE DOS VERSION IS
|
||
3.3 (A "2" = 3.2). THE FIFTH AND SIXTH BYTES AREN'T USED. THE "FE" GIVES US T
|
||
HE DISK VOLUME NUMBER WHICH IN THIS CASE IS 254 DECIMAL.
|
||
|
||
THE NEXT SEVERAL ROWS CONTAIN ZEROS BUT WHEN WE GET TO BYTE "$27", NOTICE THE
|
||
"7A". THIS BYTE INDI CATES THE MAXIMUM NUMBER OF TRACK/SECTOR ADDRESSES THAT A
|
||
TRACK AND SECTOR LIST IS ALLOWED TO HOLD, SO $7A = 122 ( DECIMAL) OF 256 BYTE
|
||
SECTORS IN A TRACK/SECTOR LIST.
|
||
|
||
STARTING WITH BYTE $30, YOU WILL SEE TH E FOLLOWING:
|
||
|
||
BYTE $30....12 01 00 00 23 10 00 01
|
||
|
||
THE FIRST NUMBER, "12", INDICATES THAT TRACK $12 WAS THE LAST TRACK ALLOCATED
|
||
BY DOS FOR FILE STORAGE . THE NEXT NUMBER MAY BE DIFFERENT, SINCE A SMALL
|
||
VARIATION I N THE WAY FID WROTE OUT THE FILES COULD ALTER THE SELECTION OF THE
|
||
NEXT TRACK USED. IF YOU HAVE "01", THAT TELLS US THAT TH E NEXT TRACK THAT DOS
|
||
WILL ATTEMPT TO WRITE TO IS $12 + $01 = $13. INSTEAD OF A "1", YOU MIGHT SEE AN
|
||
"FF". THIS TELLS DOS TO SEARCH IN A NEGATIVE DIRECTION, FOR EXAMPLE 12 - 1, FOR
|
||
THE NEXT AVAILABLE TRACK. A HEX NUMBER WHOSE HIGH BIT IS SET OR WHOSE VALUE IS
|
||
$80 OR GREATER IS TAKEN AS A NEGATIVE N UMBER BY THE SYSTEM.
|
||
|
||
NOW GO TO THE "23 10". THESE BYTES INDI CATE THAT DOS HAS FOR- MATTED $23(35)
|
||
TRACKS ON THE DISK AND T HAT EACH TRACK CONTAINS $10(16) SECTORS. THE "00 01"
|
||
ALSO INDI CATE THAT THERE ARE $100(256) BYTES PER SECTOR. THIS IS WR ITTEN IN
|
||
LO/HI BYTE FORMAT - SO REVERSE THEM TO GET $100.
|
||
|
||
|
||
BIT MAPS
|
||
--- ----
|
||
|
||
NOW COMES THE "BIT MAP" FIELD WHICH IS THE MOST IMPORTANT AREA OF THE VTOC.
|
||
STARTING WITH BYTE $38 AN D EXTENDING UP TO BYTE $C8 ARE THE BIT MAPS. THESE
|
||
BIT M APS TELL DOS WHICH TRACKS AND SECTORS HAVE NOT BEEN WRITTE N ON AND WHICH
|
||
ARE AVAILABLE FOR FILE STORAGE. SO DOS DOE SN'T CLOBBER THE PROGRAMS ON THE
|
||
DISK, IT WILL LOOK AT T HE BIT MAP FIELD EACH TIME YOU SAVE ANY NEW INFORMATION
|
||
ON TH E DISK. IF YOU'RE LOOKING AT THE "FID"ED SYSTEM MASTER, Y OU WILL BE
|
||
SEEING MOSTLY ZEROS. SINCE THIS IS A LITTLE D IFFICULT TO LEARN ON TRY THE
|
||
FOLLOWING:
|
||
|
||
(1) BREAK OUT OF YOUR DISK EDIT PROGR AM
|
||
|
||
(2) PLACE AN UNINITIALIZED DISK IN TH E DRIVE
|
||
|
||
(3) TYPE "CALL -151" TO GO INTO THE M ONITOR
|
||
|
||
(4) TYPE "BEFE:24"
|
||
|
||
(5) NOW "INIT HELLO" ON THE UNINITIAL IZED DISK
|
||
|
||
(6) REBOOT YOUR DISK EDIT PROGRAM AND READ IN TRACK $11, SECTOR $00 OF THE
|
||
TEST DISK YOU J UST CREATED.
|
||
|
||
|
||
|
||
YOU WILL NOW NOTICE SEVERAL DOZEN "FF"S ' THAT WEREN'T PRESENT ON THE SYSTEM
|
||
MASTER DISK. NOW LET'S L OOK AT THE ROWS STARTING WITH BYTE $38 WHICH IS THE
|
||
FIRST BYTE O F THE BIT MAP.
|
||
|
||
WHOEVER WROTE DOS, EMPLOYED A SIMPLE WA Y OF RECORDING THE STATUS (FULL OR
|
||
EMPTY) OF EVERY SINGLE SECTOR ON THE DISK AND SQUEEZING THIS INFO INTO AS LITTLE
|
||
SPAC E AS POSSIBLE. IT'S DONE BY ASSIGNING A TWO BYTE "MAP" TO E ACH TRACK AND
|
||
THEN STRUCTURING DOS TO VARY THE VALUES OF T HE MAP WHICH INDICATES THE TRACKS
|
||
AVAILABLE SECTORS.
|
||
|
||
THE ILLUSTRATION BELOW SHOWS HOW THE MA PS ARE LINKED TO THEIR RESPECTIVE
|
||
TRACKS:
|
||
|
||
BYTE# TRK $00 TRK $01
|
||
38: !00 00! 00 00 !00 00! 00 00
|
||
TRK $02 TRK $03
|
||
40: !00 00! 00 00 !FF FF! 00 00
|
||
TRK $04 TRK $05
|
||
48: !FF FF! 00 00 !FF FF! 00 00
|
||
:
|
||
:
|
||
: TRK $1E TRK $1F
|
||
B0: !FF FF! 00 00 !00 00! 00 00
|
||
|
||
THE FIRST "00 00" STARTING WITH BYTE $3 8 IS THE BIT MAP FOR TRACK $00, THE
|
||
NEXT "00 00" ARE SKIPPED AND THE THIRD BYTE PAIR ARE ASSIGNED TO $01, THIS
|
||
METHOD C ONTINUES ON THROUGH THE BIT MAP FIELD.
|
||
|
||
THIS APPEARS AS SEEMINGLY MEANINGLESS D ATA ABOUT EACH SECTOR'S STATUS BUT
|
||
REMEMBER THAT ALL HEX BYTES ARE COMPOSED OF 8 INDIVIDUAL BITS. IF YOU ARE
|
||
UNFAMILIAR WITH THIS, THEN I SUGGEST YOUR READ UP ON THE HEXADECIMAL SYSTEM. I
|
||
WON'T GO INTO IT HERE BECAUSE THERE ARE NUMEROUS ARTICLES AND BOOKS, ETC., ON
|
||
THIS SUBJECT. ANYWAY, IF WE A LLOT 2 BYTES FOR EACH TRACKS BIT MAP, WE THEN
|
||
HAVE 16 BITS TO PLAY WITH.
|
||
|
||
ISN'T IT A COINCIDENCE THAT EACH TRACK ALSO CONTAINS 16 SEC- TORS. AND WHAT'S
|
||
EVEN MORE CONVENIENT IS THAT EACH BIT CAN HAVE 1 OR 2 VALUES - A '0' OR A '1'.
|
||
I F A SINGLE BIT IS ASSIGNED TO EACH SECTOR IN A TRACK, WE CAN SHOW THAT A
|
||
SECTOR IS FREE BY SETTING ITS BIT TO A '1', WH EREAS A '0' WOULD TELL US AND DOS
|
||
THAT IT CONTAINS DATA. LOOK AT THE EXAMPLE BELOW:
|
||
|
||
SECTOR #'S : FDECBA98 76543210
|
||
BIT VALUES : 00111111 11111111
|
||
BYTE VALUES: 3F FF
|
||
|
||
THE '0'S' IN SECTORS $0F AND $0E TELLS US THAT THESE ARE USED; THE '1'S' IN
|
||
SECTORS $0D-$00 TELLS US T HAT THEY ARE FREE. THE APPLE WILL AUTOMATICALLY
|
||
TRANSLATE THE BINARY NUMBER, '00111111' INTO THE HEX NUMBER '3F', AN D
|
||
'11111111' INTO 'FF', AND THE BIT MAP WOULD SHOW UP AS '3F FF '. REFER TO THE
|
||
HEX, BINARY, DECIMAL TABLE IN THE FIRST TUTO RIAL.
|
||
|
||
IF YOU'VE BEEN FOLLOWING ALONG IN THE E XAMPLE ON THE TEST DISK YOU SHOULD SEE
|
||
THESE 2 BYTES STARTING A T BYTE $80. THIS TELLS US THAT THE '3F FF' REPRESENTS
|
||
THE STAT US OF THE SECTORS IN TRACK $12(18). THIS IS WHERE THE HELLO PROGRAM
|
||
WAS LOCATED WHEN YOU INITIALIZED THIS TEST DISK. S O IT OCCUPIES SECTORS $0E
|
||
AND $0F. WHENEVER DOS WRITES DATA ON A TRACK, IT ALWAYS STARTS WITH THE HIGHEST
|
||
AVAILABLE SECTO R AND THEN WORKS DOWN.
|
||
|
||
A GLANCE AT THE TABLE IN THE FIRST TUTO RIAL SHOWS US THAT IF YOU WANT TO SHOW
|
||
THAT ALL THE 16 SECTOR S ON A GIVEN TRACK ARE FREE, THEN ALL OF ITS 16 BITS ARE
|
||
SET T O '1', GIVING US AN 'FF FF' BYTE-PAIR. IF YOU WANTED TO RE SERVE AN
|
||
ENTIRE TRACK FOR SOMETHING, THEN PLACE '00 00' INTO ITS BIT MAP.
|
||
|
||
NOW THAT WE'RE BECOMING FAMILIAR WITH D OS AND ITS VTOC, NEXT TIME WE'LL START
|
||
PERFORMING A FEW TIPS & TRICKS.
|
||
|
||
|