LnSOS BOOT 1.1 SOS.KERNEL SOS KRNLI/O ERRORFILE 'SOS.KERNEL' NOT FOUND%INVALID KERNEL FILE: xةw,@  ȱlmi8#)!)SOS DRVR"CHARSET )((8*,;((*,((+)((9/(p((>3  =9 :9 .(+( 8#8# %3(8 ((,+)(%.4$)?((,(103 CFFAALu' *SOS.DRIVER 9p*SOS.INTERP6W- *SOS.KERNEL Y,VT 5!aCFUTIL.TXTM& >dLԡm#i㰼m#iЕOLԡȱfg hi !dLԡ憦  Ljmkm l y`2 Lԡ8(Je稽)ʈ@L 7  3  5  >>< (&20 *, **>> "2*&" " >>  ">> "8""> """"""<   !"#$%&'()*+,-./012348fxL@ ] I)!) g 80 J8}L y L 0yʽz0 y L7  Lh `*f*&*)` ` m j`Hآ H)L` L``  `L` H , 8 V ТΕLϦI ] +)J* g I V L) @L) L8``Lթ`~L8L)  =H 'HH N M))Mhh0 ϭPh0 йPL)`}~L< L }ީ~` ɠɀ)ӮԮmwӥmxԐ mi` HHGH`  &`L 0ޤՐڢ,P<0 )ߍL- J,P,QJ,R,SJ,T,U,W`,t0L40 ( dȅɥŐ ĐL  }LO}~~Șݻ~`}ժuvЭ H ʊJyjhz|ֆ׆ح)JfJf$PIJfש ʈ8 @ש wx LVخ ʊJJJ莟mwwxix" (èÈ``,t0L4 HH`L  d!  `ɖ" ( dÈ  ``,t0L4 d0Cս30. , V  @„ȄL5`ʝ`))/((((PPPP @``` @@@@`xp<@ @ :H9H` (# ( -l..PcJt`,t$ ( t`tL4`,t0L4 HH`! (`ɻ """"""""33333333DDDDDDDDUUUUUUUUffffffffwwwwwwww(C) 1980 Apple ComputerDL8H\0`(d  $,($  ,9Copyright (C) 1983 Apple Computer, Inc. Graphics Driver..GRAFIX b """"""""33333333DDDDDDDDUUUUUUUUffffffffwwwwwwww0,>!SHOLES 1!1!2@23#3#4$4$5%5%6^67&7&8*8*9(9(0)0)-_-=+=+\|QWERTYUI OP[{]}`~`~ASDFGHJ K L ;:;:'"'"ZXCVBNM ,<,<.>.>/?/?d0hp00000>" <"<"""<< <"""<"><$""< """"  "" 6***""""""""""<""< :< $"""2,"""""**6"""""< >>8  8>> ""*:<"">""""""""""""">>><2"<""">""" ""  ">"6**"""""&*2""""""""""""*,"" "" ">""""""""""""""**6"""""""> >>>ӭԭ h h`8٭028ٍڍ0Z$eٍeڍm٥m8٥08ٍڍ`8٥058ٍڍ0ԭeٍeڍ808٥8٥ 8مڅ H , V Εm٭mڭ))njnjnjfjfjfj+mӥmԐ8L( Ӣ ,$0F,b `  L LBa@LB a @LLD8?8`DE( 8DCDE` E0LXDE`DHEH hEGhDFL \DF]EGL) d>`H_E ^Db) b bh`  b)h` mDm`DE(E ZHYH`Lh~}k} =@ '` `è" (ÙY`L_Ùe`Ù `` q>  ,  C[JC` ?`> HH` s) L/ d` 6H5H` D^Ol>` ` Jcd % ( i=` ( (,=) =x)) v(cd `# (,=ȅɅŐİ  ( ,=  HH`! (88" (èYÈ`,=0L (C) 1980 Apple 'H&H` (# (9d7="Z[    $ 3 : = F d  > B H M s `e|&+.QVYcjuy~':{  .SILENTYPE A@  @   .169DWfy   % * > A H K Z v z }      % , 1 5 : = B K R Z _ b g n s x ~    ) . 6 = J P S X /47=G\x{~'+.149?CGIKMOQSUWY[]_acegikmoqsuwy{}%(-47=FMUX\_jmzJJJJ)`'+9;=?ACEGINR\aejns~  #&).369<ADGJMP^g $*-06=HLORWcfloruz$01ʐ1`JJJJ)`%υߥ`1(ȦJJJ`&&*`JJ` **&*&ߥ`J` ***`` ` Jjjߊ` ߊ`JfJfFߪ߆` `JfJfJfF`ߩ`$011̰JJJJ) ܭL Fܪ7߭$PH8 nߩ nh ߍϭ - k, ϥ- kϱϮEϑʩ`P z  HH` k(h`$0#$E$0p Q%Qʑ`pPIE1p$E$0p Q%Q̑`pPIE1pΦ#(fL% ('Άѽн`8Hٰ hIiHمh8Iif٤Φݰ>Jj8ۅe݅eޅ $  m`!J8݅ eۅ$  m` , V $צ! LP \LD$f`<,&ʰ,i8i#Hiihifʦʆi) v`i,ʐi,iPIIʥ)ifʦʆ̐pLj/Fϐ&Ȅ`'@τ`Fϐ@ E҅F8ئȢΆѽϽ`/(L%τ`ϩE҅0Ȅfݠ %)  %)`%  0.)      0  ` ` @ ``8٨JJJ ) u˘ vͽʅ̆`8Hi #iϤҐ мφi`J y բӅLx  mӥmԐL] h `  )`%)8`)    H   ʥ)Ģ    H Ģ L E% %) L 8`ۅ&ۥeepɀjff&ݥeepɀjfDmCDEhBkȌB`LBkB` '`)ݲ>`A@>A HH`>`<>EeFJKL.^CcHV=WwBbG? "#Rgnh*2U^wb b) b b)b``@?m` _ ^`\]LY@?m`  ٥`^_LY j` j@)` jLX@)c`@)a`@HEmDh0_^`0]\DEH j@ jhLXB j@0)HmHHh jܭ@L`@)[) L:[)L:[0 H j[ jh` (# (jjA`,A$ (BC x) @( A`% (ALpx)`(BC `,A0Lp& (,A0Lp9 æĬSɀ֙TȌS 9S`YX`X-,ˆ̭U)? VW @? B J O T [ ` e j m p {     ' + / 1 3 5 7 9 ; = ? D I M T Y ^ a f k q v { (Z.AUDIO C(C) 1980 by Apple Computer Inc.D vHuH   "&)-047CKNUX[^nqt $ * - 2 7 > C F I L Q Z d k |   * - 0 3 < ? B E H K N o x    ! $ ) , 1 4 7 : 8AINQTY]bv{~ !&),14>ADHKPSW`eipuy|  "(+037:?BGKPSdilotwz'+579;=?BFKQTWZ]`ehknsvy| !$'048;@FIMPUY\`hknqw  %*.36$# >1fN&`6> 9?6">A@.~A>0=3&@~|cpa ,&(*,.0246;@Cchkx 2;@CNRWY[]_acegjq{A@ADIAAIHAAAHAHI@EA@?A> 6A}5 AA>III$QIHII""M]DIAAIHIAHEHIIAA H_ AAp*@"*QIYQIPIIAPIDIAAIHIA"AHBLI@QA@^ A8`8)8ILH > ' ` j 8` ) ` > ` C ` L ` S ` 348``  y y 8 ``  b6>#B r>@62 >?>>>>2@~|cpC p*dI"*E!EAQIGII8;;<3ij X 3gh5 X 53e,<0m;f,<0m< X ij X h`  `0>H hJ)@$0P L S S L P  J L `J0 H/ H` d y ~ o t Z 8`8 5 P P ) ` C $ a0 '8` P a P a J  L a 0 P a0 P a0 P a0 ) 9:`Y_Zx) ) =(`H6H 7I%h7680 9:LV 9:9L) [,8누 ,[ Hh tF t,80,[ t` ^H ))[_^Zh`3J 3L 3 ) 4J 4 ح4 ) 3 5 P L 4  J L ) P LL ) 0)9  tL> )&0 ,8BkL  ,8Ii`a a tL> a0ca t L 8D9E:II  t8 t`A t\] L  678F:G0 г氭LA t  BHb)bZI[J`K`IZJ[K`` H 0L06,8 `  t( K ,8`   ) J J LS HH `,80`B`#$+29Y` `` Z` [` [ j X `[) >`b b)b`@d`e`BNk B L;<,b= ' 9 : , FDGE  L BLqk E: -D9%    C  tB@Bk L!8D9E:9 ?ddxtB˩Eʍ@Xx ,P Eʍ(itiBX`,A0Lp HH`! (```,A0Lp HH`L%&S```lBcguwy{}$(/4:?IXad#DParallel Printer Driver -- Copyright (C) 1983 by Apple Computer Inc.v7.PRINTER A`@dCopyright (C) 1983 by Apple Computer Inc. 5  Hdcefh&+si M0  h) `(" ( (È& 8 `)2ȱÍ3`)1`Ɂ" (cefd`Hcefh) `xÙ+(`xÙ&(`)4`)5`)6`)7`)8`)9`,i`(" ((è%È`2ȭ3`1`d`c`+È`&È` * IMk`4`5`6`7`8`9`<ȭ=` * @jI`:ȭpȭqé,i0LÈ`,g HH`LL! l      j`; ;j`uBL8 uCL8 u)u;) u;L8   x) `(, LuL1upp<`uqq=L> vuL L L <Li Li ,g0L HH`! ( 9EKQWbmz?AL8 >m<>@m=@<=L8 <m>?=m@AL8 C9L8 ; ;k`;);k`,@`<,m p<L<`<p<`,ms<L=q=L> ,lXL ==L> ,lCL <=L> <,n)LL8 L8 u:L8 ;)ߍ;Ls Ls i )"|tȌs|st HH` MjH,: <J h̰ <rh,oL`%CYgu #1:CY` 9C<m><=m@=>@K50P;ҥ,8 L%\   8҅¥Ӆé҅L,5,6  * @jIH,5 p  He҅Ґhe…å逅h,23Lhґȥӑ,10 h0  `,g0L ҅ӥĥŰ+,0p 4    4(P 4 4 `,g0L,10kH0 ԥ f0)ĭ9)9҅xh(ĥŐL i,1HȊ©L,52,9-P" a{)9 Ln90$0%,7 ҥ L$0T,8O +hcefd(c,@cfabdf`cnx  (,4h`dd,9P"<:J H) +̰ H) +ʭcP h̰ʩd8,h)ec efeede`,5 H h 4 `5!  0`)aIL,, 3,,0-./(,$)x*%)/+(```04@DRTVXZ01 % (, :'`'LM :01 `,'0LM& (,'0LMIĥIC ,$P( n(.0- .-L 3L 3`,,P*M#-"x Z)(,,p` *+)+X,,PM#-" 2Z SHRH` (# ($GGjc`,'$ ( 2 *)60!M:0p ȱq L`" (~)y ~JJ* I `x|x|,,}P-X~ F }~L } `,}0 x) `(`hh% ( ΍ ύ逅Ñ}`` " ( ĩ~Íĩϭ & &υΠÑΈ~ F ~ҰةeÅÐн},,P,`,g$ ( $g " x) (,`% (gL,}0, `gK 1x ` (`98  bLH8 xʍ6ʍ7hh)ɄJJRH88,< ʠʠ &,<0,80ʬ8ʠ6ʠ7( hL8 989::m8ʥi,;Ɂ)˭5i ɠ)54`x* ,< N8 =i N% JL@ҭ"A N! xLC L 'Lp- >)AE)H ;LLW x0Lx:9,<0 `Ld L)(I bL)8 ʪi)I8R & h:1ߠ*x (,< = NL% AҩA N= ,>- JD)3E)X,qȑ ;?L x0LC L '5դԦ kˍ12/` N=    `H Wh (0­1í2L-. * <өхυ L"= DÈ` ȑ`! (`.-LLL$?`?` hh- (*J%/hh`դ8eԅԥi ՄԐhh, (MIPLIOKN`ȑȥ.- * ө<ѩ ϩ - (A͝ )X@ @ ' (  L "x) Q(`x)(` 2H1H` (& ( ( (##D0C 3 *̍m%%#$  " ` L ``(%, ( *x (I  ) (j`;Profile Driver -- Copyright (C) 1983 by Apple Computer Inc.`.PROFILE&% `)ߍQI "L), (3C> SHJI̍ƅԥDžծ*x (3'  . G R Y f {    ! $ 4 9 F I P S V \ a h m p s x |     + / @ C H K R Y j o t | ,/DIMV_x}  RU  2;AGMS[fot|              . 3 6 9 < ? B E H N S V \ _ b w      ! ( 0 7 I N S _  !$(+.147<?BFILORUX]`finsw| !%*/369<?BEJMRUX]`hRX_fj &+38;?DGLTot <?BGLQgjox',/25:BGKORY\aelpu0 JfiΥiώJe΅Хiю@ F $p̑бʑΈ0 Б̱ΑʈeمΐeمАA萿 > `ʝ"`t  !#%')+;CNU\eh "*-036<BLȎбʑΈ0Ƞ l L> $)טɀIim>ٮ@8pذ `$0"8,:Jک@ׅפ؈۩MjL,:08*Ȅ F ,:J}΅н(I I $0;P̑бʑΈ,:JՐ̑ʈ0 Ցʭr̈A萠L> ֦ڱΑ0Б֤ l L p,:I`I`<,:J̰`=m@>,:J}ʅ̽(I I `<Mj,:0pJՐ̑ʈ`pJհ0`ՑʭrpȐ`=m@< F l AL> 8p,:Jf׮@$PA F $P@/A'ʤ˅΄ϥ̤ͅЄ F $é ĩ `:) j:;jN;~j;O,:0'???>>8?>p<<AAA@@8A@q==C)CB)B Crx 00 )ߍ:) J,P,QJ,R,S,T,V( > `,k<,: J ʝ88 (`…ʍ0Åˍ142;)5I)5i 4`)5;`xH)$ 45R8 h(`x ( 3  +J FF tѤ `U t`*8`AB*0 B8` L=?՝ԝϝН ` 1`*x (DEHG 1h H J IFD`* H FFLx (̠`x (̠` [   `L `` ``I FF x (̠%Llevel Format Complete - Lowlevel Format Aborted - Block is bad Drive Media Verification Complete - Drive Media Verification Aborted -  Press: Up/Down Arrows, Letter or RETURN to SelectPress: ANY KEY to continuePress: Up/Down A5789:;<=>?@ABCDEFGHIJKL!!!MCopyright 2003 Dale S. Jackson7DRIVE:  DRIVES ONLINEDrive Name Slot Drive ========== ==== ===== There are no drivers present in the systemLowSOS NTRPI-L5# JDJanFebMarAprMayJunJulAugSepOctNovDecBJan 31, 2003 d'@BUNFORMATTEDPARTITIONX?JD.CONSOLE!h%#'=/)07Jehp{"$FM Copyright Apple Computer - Feb 01 1983 ( RS232.DRIVER )_r.RS232 c "߄P(C) Apple Computer Inc. 1983L`+ (' (i0 (" (! (ȑ``"r.FMTD2 Dr.FMTD3 r.FMTD4 #(-CHMR'>AJQV]`gju` La` Laҥҭ%z8 a aHh` 9ԥ",8`` ` z0 z`Ɠ8`% ` Ɠ8` a a$L HH`& (`! ( Í&č'( `)&'( ׅP w VLxөЭ#iԩѥѢ` w`L "L"L#L%ƓL` ` ѥ#H` wI)jH(ih`$֠L 꽌ɪ8``80^݌Hh [ [݌ m m m \ \ \EEHJНh l m m m`HJН݌h Hh݌` JJJJ F``kpuLi hjI)) Apple Computer, 1983. Disk /// Formatter Driver.gr.FMTD1  [I꽌ɪVɭռYռY$/6;>AHOTW\_bx{'69@IPW]`cfjmpsx} #4:=Z_bpsv{ "%(+.2ADGJx{~5(C#fowz*13579;=?ACFNWaehmpx "'+@\mrv{#&+25FKQT\adgjmry~rrows, RETURN to select, ESCAPE to exit to Main MenuPress: -F to lowlevel format, -P to initialize new partition, ESC to exitPress: ESCAPE to Halt Lowlevel FormatPress: ESCAPE to Halt Verification-S to Save the partition table, -F to Initialize the partition volumePress: Up/Down Arrows, RETURN/TAB to select, ESCAPE to exit to Main MenuPress: Up/Down arrows, RETURN/TAB to select, ESCAPE to restore entryProgram Execution Halted Press: SPACE to resume, ESCAPE to abort erro_4Ʌ"ፗ‰ibtv-ݎ -;HXhǎDXލڋvp $ 7 T-H  E "%DO-335 # (F&}L% $" *I8$H$J "+*15*o++   ( ;8JSTVFPQƇ݇)C ȞƝ̛ ɘ$   ID not foundSpare sectors exhaustedData transfer error/Aborted commandCorrupted Media FormatWrite/Erase failed"+ʍOьXd~߄--ʇܐu2c _'6AÈو톡$9Lg`IuS„ԍ82id block number or block cannot be foundInvalid CommandGeneral device errorSelf test OKMiscellaneous ErrorInvalid CommandInvalid head or sector invalidAddress OverflowSupply voltage out of toleranceUncorrectable ECC errorCorrected ECC ErrorSelf test failede Error $ has occurredDevice not FoundInvalid status/control codeInvalid control parameter listResource not availableCall not supported by deviceI/O errorDrive not connectedSegment request deniedSegment table fullUncorrectable I/O error has occurredInval28K DEVICE INFORMATION SLOT: DEVICE: MODEL NO: SERIAL NO: FIRMWARE: LBA SUPPORT: CFA FEATURE: CAPACITY: Warning - LBA mode not supported 0% Complete  0 SOS/DevicART SEGMENT8CREATED DATEPARTITION BLOCK LENGTH VOLUME NAME8=================================$=============== #0: #1:8MODIFIED DATE #2:8============ #3: #4: #5:8UNUSED CAPACITY #6:8=============== #7:8 > 97m for IDE devices0 (master)1 (slave) Device Media Formatting.....please standby DRIVE PARTITION INFORMATION MODEL NO: SLOT: DEVICE: 0 (master)4CAPACITY: BlocksSTNNNNNNNNNNNNNNNNNNMMM Scanning systeng contents of this drive? Yes/NoInitialize this volume with the name ? Yes/NoVolume Initialization SuccessfulError initializing volume directory - Version 1.01CF/IDE DRIVE MANAGEMENT UTILITYNgion of the diskSave changes to the drive partition table? Yes/No  Updating the partition table information ..... Verify blocks on the drive listed above? Yes/No: : Initialize a new partition table? Yes/NoOK to destroy the existition # , , , , , , , have changed and the drive needs updatingDo you wish to edit the conflicting partitions? Yes/NoPartition table on drive needs updating prior to initializing this volumeWARNING: Partitions # & are overlaying the same reontrolling Microprocessor ErrorSlave Failed WARNING: LowLevel formatting will destroy all data on the drive This device does not support low level formattingMaximum allowable partition size is 65535Block value cannot exceed drive capacityPartird (V) Verify Drive (F) Format Drive (P) Partition Drive (Q) Quit INTERNAL DIAGNOSTIC TEST: Diagnostic Testing CompleteYesNoMaster FailedNo Error DetectedFormatter Device ErrorSector Buffer ErrorECC Circuitry ErrorCrs occurred WARNING: Contents of the volume will be erasedERROR: writing partition table parameters to driveERROR: Unable to access partition table on this driveM(S) Select Drive (T) Test Interface Ca       $ $ $ $ $ $ $ $ Δٔ&/8AJS\en͕i|ȕەئ˔֔ #,5>GPYbk~ʕݕ_ݎ*!"%&'( !/56012347>: 8;<Ʀ<ʆ5` ̬LA ÂÂL ÂĂ ɂÂLiÂĂĂ "i$i(i?i0iÂ0 "$(>/'=L֭8 %&3 XS4$4 N N0 NL֭43*2; e N N N //e--. $4 $4 $4 ѭ0 Lϗ3B N ߍ 3 i/i/i/ eLߍ N N k N ߍ Ꜣ N N Nʣ L N) Lߙ`)T N NU N $hLߙ Nh N $Lߙ  N! N 筠P/W >%&3 XS/$4 N N0 N$4LJ )L֭ N N k N ߍ NS N  N N N N N L a҂ %&% a%ʣ  % , 5ɿ)ݡ*L6J N L Р А HHLNZ Nb N[ Na N\ Nc N] Nd N^ Ne`) N_ Ne`)f N` NY N9LN N 2 Nʣ   N(LM   4(`67 w` f   ɂςՂZ!    N NP N 8 L陦6 X N N! L`7 7ً N N҂ ˖%̖&΂ @ N? Nʣ NLߙ6҂ `%a&΂L i##؂#ԂLȂL%& d3}6 QLN`7h&h%L̲L  ǂEeޘ8f4Lϒ8N!  -$ #@ @@@@ I$@@@@@@@@ U*U*U*U* *U*U*U*Ux (8Hhx)(`/ #ݕLL.`  N N L8 L221L  ]L  uL1v2. A[a{)ߐ *0: *LT% **Ȕ%%$0٢X N NI N LA$ 2  zL 9L ZLL NX N 9  N1L N 0ș`C}6 QD N N# N $`!1  P0/ ϗ1L)1Lhuui Z 9 z11֥1`2Ȕ*% $0 NI N`ȹRI @9ٵ;٬ 2գ+ٵ"٬enu DATE .EQU 007 ;Date Display CLRVPORT .EQU 008 ;Clear viewport screen BORDER .EQU 009 ;Viewport border DRVHEDR .EQU 00A ;drive header display DWINDMSG .EQU 00B ;drive select wiSG .EQU 002 ;Clear message VIEWPORT .EQU 003 ;Display viewport window VERSION .EQU 004 ;Version number display MENU0 .EQU 005 ;Main Menu ESC0 .EQU 006 ;Escape Message for Main M;CFutil0 .TITLE "APPLE /// CF/IDE DRIVE UTILITY Ver 1.01" ;Equates: ;Print message index Equates MSGWIND .EQU 000 ;Message window TITLE .EQU 001 ;Program title CLRMNOPQRSTUVW abc ) e e e `ʣ )N  Y  (``8`LH) 0:ihJJJJ 0:i`$ Nl #D'+X'S'' '' 筠0//  N% NLϗ5`  N  NL' /'` Ȕ%F%) 0;%),'=H=DhʝD5=H=XhʝX]'=H=hʝc=)`u==ɘ8ʩ8ʕ8ݎ=8%& d` ʭ5`ۂꂍڂ( Ni N 5L Q'`'d `` NM NʣLߙ/` ) )ȹ)eȹ) )ȹ)e ` &&eee`      0 ؊ 0 0  % %`&*  &`5h 0 e?>x ǎ/`1C'ȑ'ȑ'K'ȑ'L3'ȵ'ȵ'K'ȵ'`c) ȹ)e e(O OȢ0OOȩ,Oȩ OȢOOȌ=`c) ȹ)e ȹ) )ȹ)e & ȹ) )ȹ)e) ijJJJ0/i/i/i// Ӫ ˪ Ӫ ˪ ˪ Ӫ ˪ ӪiHhH Ӫ0 Ӫ I  Ӫ1 N> N LNi`  N= NLϗ/i//i%$&% %1 0%~% N Lꨨ;}6%: N; Q< N $#1% Nj N  NL N1 NLz1 3%4&%Hi%h   "Ñȩ'ȩ '1) ) ȵ)Jf i 98`1 յ լ գ 18 u uu:9 8 8 9 ՚ Ց 0 3%4& ߣ Z ?X NL NL N10B P1+) NG6eHih QH N1 #L N1` 0Ҋ 0֊1 NE N NF N $ǩ2`uuȩu` 1Lf$0` 2GL ˮ  NQ N Z8`  %0% L% NM Nʣ` ˮ    %1% $ :" 9 8 NR N ndow NODRIVE .EQU 00C ;no drives message CmpltMsg .EQU 00D ;Complete message CMDLINE .EQU 00E ;command line window DLEADER .EQU 00F ;Display prefix for driver name list ESC2 .EQU 010 ;escape message for drivename select PROMPT0 .EQU 011 ;Lower display window LFMTCMD .EQU 012 ;Lowlevel format command display VRFYCMD .EQU 013 ;Verify drive command display PARTCMD .EQU 014 ;PE .EQU 04A ;copyright notice message FESC6 .EQU 04B ;high level format keystroke message CLRMSGW .EQU 04C ;clear message window ESC1B .EQU 04D ;press any key message SLOTPOS .EQU 04E EQU 046 ;prompt to re edit partitions ERASMSG1 .EQU 047 ;erase volume message - part 1 ERASMSG2 .EQU 048 ;erase volume message - part 2 ESC6A .EQU 049 ;escape/restore message for part editor COPYRITdisplay viewport with vert positioning PTWARN1 .EQU 043 ;partition change warning msg leader PTWARN2 .EQU 044 ;partition change warning msg trailer PTOVLAP .EQU 045 ;warning about partition overlaps RE_EDIT .U 03E ;format successfull message PRANYKEY .EQU 03F ;press any key addon message DASH .EQU 040 ;space dash space text DRVNCONT .EQU 041 ;drive not connected message VIEWPOS .EQU 042 ; 03A ;escape message for partition editor HFMT0MSG .EQU 03B ;format partition prompt message HFMT1MSG .EQU 03C ;format partition default curser DIRERR .EQU 03D ;error formatting vol message HFMTCMP .EQstic testing complete message PARTHDR .EQU 037 ;Primary Partition display header PTMENU1 .EQU 038 ;Partition information display = Part 1 BLOCKS .EQU 039 ;blocks trailing message for rem cap ESC6 .EQU on halted message BLOCKBAD .EQU 033 ;current verify block is bad message VFYCOMP .EQU 034 ;drive verification complete message TESTLST .EQU 035 ;test IFC list of parameters TESTCOMP .EQU 036 ;diagnoDiagnostic error $8x message FMTDONE .EQU 02F ;format complete message OCCUR .EQU 030 ;errors occurred message ESC5 .EQU 031 ;escape message to interupt verifying VFYHALT .EQU 032 ;verificati ;Diagnostic error $02 message TestER03 .EQU 02B ;Diagnostic error $03 message TestER04 .EQU 02C ;Diagnostic error $04 message TestER05 .EQU 02D ;Diagnostic error $05 message TestER8x .EQU 02E ;READATE .EQU 026 ;display created date LMODDATE .EQU 027 ;display modified date TestER00 .EQU 028 ;Diagnostic error $00 message TestER01 .EQU 029 ;Diagnostic error $01 message TestER02 .EQU 02A mat message CURSER .EQU 022 ;move curser to x,y location PTBLMSG .EQU 023 ;partition table update prompt UPDATMSG .EQU 024 ;updating drive message UPDATERR .EQU 025 ;error message updating drive CRS .EQU 01D ;Number of Errors BeepNclr .EQU 01E ;Beep and clear line FWARNING .EQU 01F ;format warning message ESC3 .EQU 020 ;escape message for format routine FMTMSG .EQU 021 ;forage No_LBA .EQU 019 ;No LBA support message BLKBAD2 .EQU 01A ;Trailer for bad block message VFYHLTD .EQU 01B ;Verification Aborted message FMTHLTD .EQU 01C ;Lowlevel Format Aborted message NUMERartition drive command display TESTCMD .EQU 015 ;Test IFC command display SELECCMD .EQU 016 ;Select drive command display GASGAUGE .EQU 017 ;Gas gage display PROGBAR .EQU 018 ;Progress bar for gas g ;Slot display position leader RBLKS .EQU 04F ;Remaining capacity header SEARCH .EQU 050 ;Scan system message OUTRANG1 .EQU 051 ;Input greater than 65535 - out of range message MAXBLOCK .EQU 052 SOS KRNLb.D1/SOS.INTERPŠ̠Š.D1/SOS.DRIVERР頞 0 ) (lH'&3&'&#e'#%e'%'&"$"$#%'#%h`$e`î** }*`o^`on 8 JJAj@` *?($`ΠņɠŠ堠РѠ͠஠әƆH v?c,,,,h߈ߢ~))`3PLLP*%(i&`Ѕ񩏍E H pph`X٠ŠҠî!((ͽϠРРSOS NTRPSOS DRVR(.D1(YYYYMMDDWHHMMSSMMM̱忠ΠͽŠ堠Р͠Ю̠Ɔx߭J ʈc(()o/ e/''ʈ((''()(1i / e/''ʈ((''((''((''' ('`ŠDAY, DD-MON-YY HH:MMSUNMONTUEWEDTHUFRISATJANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDECé@L&I/O ERRORINTERPRETER FILE NOT FOUNDINVALID INTERPRETER FILEINCOMPATIBLE INTERPRETERDRIVER FILE NOT FOUNDINVALID DRIVER FILEDRIVER FILE TOO LARGEROM ERROR: PLEASE NOTIFY YOUR DEALERTOO MANY DEVICESTOO MANY BLOCK DEVICESEMPTY DRIVER FILE '(i%%%h}%%`8 ȥ!8 !)"qȥ#q#e$ȱe%L)%`@(((( % %`((((࠰$(ɠH(@(h((((@(`%z %% %~(A{(L%`.8(.Je.&ʈ.s(1 6$P8"ȥ#L1$8"ȥ#(ϸ`"##L]$"qȥ#q0,$p)@"q"ȩq"8`*$% $% 8% $L$* $8%8 $`8 &'$% 8&$'% 8$%%`H   q ȥ q Hi hi 1  % H H ȱ h h % $$ 0 e e H i hi âz %` 1 8`    # &ȱ ' # i" i# # #`8 ȥ H h `8 6$P`8"#%#%"$w"$#%"`荚ٍ荺 荚`荺``` D ( )  * ) 4* * h* ))` L% q ȥ q Hi hi  i" i# #% $ȱ %ȱ &ȱ '`<!((g %(r(z(q( %y(i(0z %"#$ %&' $"#$%&'   `%$%ɠ%* " ~#C #p $ %*0"#)#)i $"% * %*  L! {" j% %ƌ(X#"$% "$ #%%& '   ` {" & ɠ% %)  !( (" %(r(z(q( %y(a(0: %   "$%&e$'e% R % <XZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~%e,ȥ,*,- y,,,-,,,ȱ,,- yL+,ȑ,` 2"p-,-L(Ġ %>,i-i8, ȱ,%,W,pp ڠ %p`l  " ) i LLLRLLLLL*LLLLLhh`LLL`SOS 1.3 01-NOV-82(C) 1980, 1982 BY APPLE COMPUTER INC. ) `G0 `8`HiHiH ihhȱh`86)IH)heuQɸ` ` W` ] %饚0` W` ߰4`)|E8ȍ۱Ǎ X̰% & !J8` *LĢ `8 iۥƍۥǍ`ۅ %  6 )Ѱ Ѱ` 𝭧e ǐ bǰL*ۈ5ȱ۠ƍȱǍ X̐ H h1  /ݐE`ۈۅ ۅ 8ƭ X̐`LLŠǠ  ݭv̅w̅ ðzv̍ŭw̍ŭƭ ­ōō T̰]ŅƮņ X̠8iȱiiȱi ṰŅǭŅ XLōۭ۩ۅ ȱ8D`F`8eYƍťǍŠ)͠ Wٍۭۅ5ۅƭۅ X̰ ìۈۑ T̰ۅƭۅ X̰ۙ%ۍ" T`K8`)` İ ۱ۈ` ưW/ۈęۈЍ۩@` 8 MƐ  5 Q8`LŅ ۅ ۩ۍۅ Lɰ ʰۅۄÍÍۙ'Ù ۍ*ۨ  Ѝ۹ۙ8v- ðJ ¥ ð, ðLO ʰƥLT`'  mې浰``8 8 nʰ0 ̰+泱Ƴ m° x̰ ̐8` m° x̰8 ۢ8 ˰y ` ¥ nʰ泱Ƴ T̰#泪 Ѳ *Ƴ ` L:Ϡ`泑Ƴ` LaĥH8`JȘ I8`  S`ۈۥۥ۩Íۭۍۭۍ հL¢H8`Jj Ȅ ۍۆeۅiۅ Lɰ ʰWۅۄ ¦J> ɩE` eĐL Ȑ 15WL QL5WW{5 ې'`,55 ې'` ݠ B1 ȩȑ Lɦ8`5  @ R㥶i ` İG8`F`X8``éۅĩ >` T֩xxMH]@ Kۅ5H ɐE$ eİ Ȱ h`h`8`W h8`hR`hLҿ i x +ۅ5ۅ6 ǰ `E8<W`­ `0XLۅ5` ռ``ߤeI`IiţO`Ȯʆ/ )󘑡`()0zq 滅ѺY Ueۅ5Ѻ Ѻ  Qܐ'`i ҩ *C8/y.i/ ȑ  © $ E7<3W`ȽLֽȄ @8`R ) [)_[AͰ")[)_[A:0/.ЩȑΘ8e * ȩ`Loü 7)?۽۩ W٠Յ<ōōř ռV7 uM78 V榠=ü#)@5 ɐ /ݐE ) .) @L `lqhٯ޿=ϓTXIֲ̛̐~ؠIJK,-NOPQ0vt `` LLɠ8`ΛLL渠`e`M) `ۅH)Ѱ%}ʈh Qܐ'``hi ` p6۽ʹZ5 HȐ/i i `гW8`0( ɐ Ȱ ʮ6E`5 խ ɐ ޢ ȰLǽi `< Ȱ+<#5 ې'` ɐ /ݐE`W8`R` 5&i ` Ȱ 0i `<8> ȐT eİF cȰB)Hh5 ˭)*ȑƑȥǑ'(ȑ`L)ɭ)Ѷ*i ڥ(8` ְ( ȱ5 HȦ)`Lxץ: ש ְ⥺i ꥻ(8`Lx Lxש u )۠0)p խ.8`)@ ϰ) ϰۈۅƭۅǭۅ5 X̰ *ƭ۬͵̶L  ΐ` Wհ> H۪ȱHۑhƳh sϰq ` ʰiȱi `)5©éՅĩ5 }JJ+`.`8`ɂ )`@ ש ְO ֤FHۑۑh8`P) հ Wհҥ,J+j泭۪ƳۑȊ ) ~ fPL ͊.>.ʱ+,EP!.E.Lw+,,ӄ*- P*e (` հB հ5 Wհ0,J۪泭ۑƳ sϰ(` L Ͱ2 ~ P kҐ#L8 T 2ΠHHȑhhȑ`Ld )N8` xհ*eȱ+eȱ,i۠Ѻ۹ۑ񥤅- ť.Lcԥ.La Ͱ$)rJ Lɰ )# Ԑ) ͰU..++,,IJ/ ӥ-.?Цե,J+jѲ4Ƴǥ4聠 H hH kh8`8-ȥ.L 8*Ʊ )8 0*-`.G.ʱ*+,EP'.E.LұE0+,,ӄ*p-e  )LBѠٳ )8`i (` )N8`*eȱ+eȱ,i۠Ѻ*ȱ+L - ť.Lkҥ. ՅL ͐Ld ~ pа.J/)@߅4N8`) ))УJ8` ۑȭۑǠۑۑȭۑ($S8`O8` "` / 򑺠+* ͐H h8` ΰi `()  *ǵ յý5Ņ4gȩυɩč5 iψ }.8` iϙLIѠ ˢ L΢ ΰ LϠ ˢ ΰ1` Đ@ АP8`B8`ۑJJJJ -ѥ +jѲ84ƳJJ 2ΐ3泑ƳLTΩ潑ƽ`ƱƳ ΰ( {Π۵*+)e`8`)` J J + ΰ" 0 ΰ 🱼ѼL8`ǩ Ϡ` ϰ ƑȥǑ` Ѻе*`)ȥ+8ۍې  ,ѺLTΠ"LΠ5 խ ɐ /ݐE`C8`)@ ϰa)ۥ,8ېu+J,\ ȱLJΠ) ϰ'#,J(] { ΰ ƑȥǑ.8` { ΰ,JѲ ƳL΅ƱƳ ΰҥ,J0`#$"0#`!qȱi 5H5Ƶ ǽ jh5`L2̩ƍv̥Ǎw̩ÎL%ϠƄǥLj̩۬L~̠HHh` ̐`*ѺG0?M`)J"u-- M8`۬` # ː`  = O̰)= I`JJJJѶQi Lˢ  0 ̐ `"L˦ `H8`8$$"$= O̰=`$0`#$"0`$` H hQ)fʅ F jF jF jF &!  eװ*  ̰F湥 ƹ`Z8`@  ʰ泭ۑƳ ʐ` ʐ` ˰ ƹ Wː`ۘ . . .۪8*JۦȱѶ"` ɰ Ȑ`E`Ɔ X̐8`>>5Ѷ Qܩ<`>`\ʊJJJJ ۍ۩  ˰Fȱ X̰6 0 Lɠ 0ۑۑ8ȱ`H8` ɹ $  8JJJJ8 ` ۅƄ X Ġȱ۠ ȍ۱۠ ۭ) ۍ ð*)#  O̰``)(`N8` ) xհۈ ̰آ*գ  Ͱ ݢգ LvL{ؠ; ˦,+* ʈJj =ؠ yiȩ`y4泱ƳHhz ʠiȱizLA`L;ؠ"  `1` Đ7@8V۩ Lɠ۪8ۊ۠X)JJJp8**-p hhJJJJ 00) 0`ǀЀOHH p0%Px0pNp(PhhQL(p8**-phh SU  U.ST  UOSQ R 窭 JJҘ)e}ҭ e8ЅЩѩӠEӅ ЭHH p0Hppxpppp( ̍pJJ ̍phh`HH p0Ex0pp(0 (   `x )HH8(=&(+ʈ&ਹ''&&hh(` * @ HH` 2``ӠР    0) ȑȱȱȱ008 8hhh H(`x )HH'Ƚ!88x , ,,(`," , *)` `߭lߩ * xLx @h hhh ,0)ߨ)Ah&'0HHHH xhhhh ,0)ߍLLhhh@)&&&(&('+*H)H(h)H@x )HH30.0\-JM-, J3,e$,d,,  * *l߅߅H ߅ \xi ߅LHHH *ح)0 D) HHHH,, ߩ0  xLߍ󠠩à٠΀ƉŠŠӠҠȠHHH *ح)0 D) HHHH,, ߘ)@ *)X  xI)}h)L, L )ڠ) w߭)Ů􅮈 ߠ'x)) J,QJ,SJ,U,P,W(`)(()  8)j`J j߅`0X ٠͠堘ӠȠŠ=`Insert volume: Τ in device: 蠠ɠ then press the ALPHA LOCK key twicex)_ @,P,R,T,V) )) `)8( ߠ',@ ߠ0  '葺 ݰL`5`i 祻(8`2ޝ51©ޅéąŅƍ >ϩ 1ޠ== f ɰ`ޭ`5=(5= i Х(`=H hDC5 L3ܵ ɐ /ݐ 8`5 ˥JJJJ8 H h ` ܠ825H h5 ɐ /ݐ 8`Hh ܥ5 `ɥܥܥܥܥ5`܅܅܅܅܅5`( ݰ)Ѻ ݰL ݰ泱Ƴ ʰȭۮ ʰͩΪΩۦ eװqȭqLJ  ˰Aۅƭۅ X̰2%&N  ʰƭ X̐`Ӏ堁ӠҠՈ՘̠ƠŠӠ̠ɤӮȪŅ͠Ϊ ܆5 HȰۈ)ۅƭۅ X̰ 3ڰLÍLT̥L㼠  ʰ` İK ХP8` LɐH80)N  հ)@LO ˰)0 ̐` M ­۠泭ۑƳѲƱƳ X̰ RڰäJۑĥ` İo!)N8`WپX0 ĥLä X0 ĥLà !"#$ Đ2@H AڰCŰrP` 3ڰ(` AڰѶ? İG8`Fە1 ռ İ ЩP߭)@N8`1@8` Aڰ񈱴`HJJJJh)y` (2`]PU]]UPPX0 0 PPXPP  į󠠩ҙ̙ɠΠɊՐӠӢ̢ՠҠŠԠҚРĠ鱃ԠȠࠠLQ  * WHHH>%H H @`)h8`  HШБˆeЅА SYSTEM FAILURE = $hh8`hhhxآY_Z@tPRVT,p S JJJJ ) ʍL@ i0i6`îӉ͠堧ǥӥ``HhHy)(h`H` 0L?i `h` `` `x)( 8 `jjJJԥ)եӬɂ )Ӆ҅`  `H0Xh`Π'à̠ȈL` 8`څ  Lk%  Lk8Lu텚8嚅 L L Ld V ``  h` ک V `ۅץ  VLFx) ( :` H ) L  .P'pб0 &L:L5'8+8`0Fܢ` ř,Ř 0 8f)J ӭƅХDžѥL1LUȑ  i ߩLL )  札)  ҩLL` **éL0;` H ) 4 )ߍ) hjjjjۥ0CF = -$(L !LLL&L L-LJ٥eƦ ,L  # ` (L.L…ҥÅγ`%!^0 ^)@`a R =` *^)ـooL]^)?i |TU QTU]qUoqTITsUsprRprqs]ToUXa` RL=Xa` R` *R`abRcdTefVghXijSdfhj RR`^0U ` 0 ʠ0 8 `ůàՠԠàࠝӢӠ ȠDž̖͌͊頀ϐωŠŠӠҠȠ"'*INYox{  %*/:>GIKMUclsy  $.BPV^dhxYLJ,h,VLJj)`X5L8,jL%,TP TcL,UUTdLXXL%lk,W0f,bPZ,[0W[cLZnoln _L" `L" aX ) ` ) `x,V0 %)(`JN{031e-Yx V(Y K`j) )g kkL)` kkLl ),b-cWLldWuoeQ,T0L@TEPd>gZ[M,h,oe$YHV ))ho kk0 qroqk(`RȭS` l  o `ȩ`,Q0L HH`LB<Xf,T U K,U0x])] olXYmnpqVWZ[kj^)  ]] ^ ) (`\" ( Ù\ `ÍRȱÍS`lofo7,T0*,V-x ) V)(LU Kh,RSL@pȥȑ`,Q0LmEąĩEŅ Km`l KL 8fol,Q0L HHGH`! (NOo}`\" (x\È HH` (# ( (Q`,Q$ ()PJK % "]RSiTU Q`% (QLl Xx )(JK `,Q0LpEąĩEŅ|o,i0prH 8f  )* i LiHh`PQPQ>P Q,PQ"PɀQ@PAQ`8`nɀ<)nopoLpp` 0h8蘠fȊf` ab 1abo)abaݰb L9c`` a N0Ioa0H ha`pLopna n`  3ɠ/8 L %iLɠ8逨J Hh $`b >_-%^%p_^^_ab"08^c_L8^c_L8^c_L8^c_ȑcc\] ab^_ ``aV R0M bba dda `Q8STRQ ST`c\ȱc]a  b 5DU e\^e]_ ^_ ^_LH8\^]_?Je\^e]_,78\^]_ ^ݰ_ ^_LH^_ $bL@A^_aoQ*@A RQL@A `T8`RLSJTKQHIQiHiIKNJ)M8逅OPOPHMIN'a MHNILHOIPaOHPI8JHFKIGFGaHMINNMʆSTL8HSITQQSTde0f`   cCȱcD C Ea  UV 1 ELUFVG FUUCVDեYCWZDXWXCUDV[ v`b0WXYZiUcȥVcWX eeYZ ggE` @SATRDžŠƠŚ̮ÎȠ Ӡ̠Ӡ` LL#L/LL'Lgab `abBcd cdBrcadbho:ab.cݰdDcݰd8abҊ v+abc %(-5QY\adgjmruz  #NSM Copyright Apple Computer - Feb 01 1983 ( SERIAL.DRIVER ).SERIALR A")Copyright (C) 1983 by Apple Computer Inc. HH` (# (KXT .")"#)  #`,.$ ()-'( / .`% (.L ;Maximum block value message VRFYMSG .EQU 053 ;Prompt to proceed with drive verification NOFRMAT .EQU 054 ;Low level format not supported ERASEPT .EQU 055 ;Initialize new partition prompt PTMENU2 .EQU 7antz  !P_bew(+.1RZd z(L(8Hh`x (`x)(`.$&HJln%')+-/1357<EHMTY\dknux~ "%(+.36?CFINQUX[^a- 1KL mu a= a0Lyةv` 0@PFÙȄiȥiɥi֥i׭àٔLϘ HH` -ϝ0Ly @0JLzL mu0Н0)XP` aȽ Ly8Lz h0 = ϝ0) -0)$Hȱ֝h Ly pL1C(,! (ؑL-  `È`ȑ`Å֥ą׭ϩԩL,½}}i` եJԐ,L(…֥Å׭ٰ- (yӥyҹi` -ӝҝѝԝeՅ`ץ` ש`f` h ͅΨȑȥR 6͑ȥΑȰ` 6'L( ϝ0) '0) H u a L(vw`ؽv  `%L( L,"1#%  <إ̙v(`x `8`̹%="8  Х  ` &H%H` (&(QF8ۅLF) ,revised version 1.1 8/13/2004ئ(((((((($Hl JD.CFIDE4 JD.CFIDE5 JD.CFIDE6 JD.CFIDE7 JD.CFIDE8 JDWritten By Dale S. Jackson, initial writing 12/12/02Z_ '058FV[fjsuwKSet Byte $0 to 0=master or 1=slave, & Byte $1 to partition number on driver$.CFIDE1 JDH.CFIDE2 JDl.CFIDE3% &$0) `/0) `,.0L tHsH`! (xy```,.0L HH`Ln,/023x #) "# (```'+"'*CFMR,/0x ('( `,.0L& (,.0L7 Đ`ʥ逅8n134nʐ3x1eʍ1,/p/H h(eʅ8ʅİLa )`Y)D00L:1?24n21   056 ;Partition information display - Part 2 ESC4 .EQU 057 ;escape message to interupt formatting CLRPMPT .EQU 058 ;Clear Prompt area & restore previous window settings TCapBlks .EQU 059 ;Total Capacity Display DEVHDR1 .EQU 05A ;Device information display header #1 DEVHDR2 .EQU 05B ;Device information display header #2 DEVHDR3 .EQU 05C ;Device information display header #3 DEVHDR4 .EQU 05D ;Devi1 EReg .EQU 0FFDF ;enviornment register BANKREG .EQU 0FFEF ; ATA Command Codes ATA_XErr .EQU 003 ATACRead .EQU 020 ATACWrit .EQU 030 ATA_Vrfy .EQU 040 ATA_Frmt .EQU 050 ATA_Diing block for partition BegBlkHB .EQU 0B5 ;8 bytes EndBlkLB .EQU 0C0 ;8 bytes EndBlkMB .EQU 0C8 ;8 bytes EndBlkHB .EQU 0D0 ;8 bytes ;Reference address Equates EXTPG .EQU 160e DfltSTlb .EQU 0A2 ;Default Starting Block $01 BegBlkLB .EQU 0A3 ;8 bytes DfltSTmb .EQU 0AB ;default starting block for partition BegBlkMB .EQU 0AC ;8 bytes DfltSThb .EQU 0B4 ;default starts DfltSzLB .EQU 090 ;LB default starting partition size P0sizeLB .EQU 091 ;8 bytes LB of partition size DfltSzHB .EQU 099 ;HB default starting partition size P0sizeHB .EQU 09A ;8 bytes HB of partition siz program array tables DNUMLST .EQU 060 ;8 bytes SLOTLST .EQU 068 ;8 bytes UNUMLST .EQU 070 ;8 bytes DRVNLST .EQU 078 ;8 bytes PTVALID .EQU 080 ;8 bytes EXISTVOL .EQU 088 ;8 byte 035 STACK .EQU 036 ERRCODE .EQU 037 TOTSECT .EQU 038 ;3 bytes LB,MB,HB Divisor .EQU 03B NUMDNAME .EQU 03C DevIDpg0 .EQU 03D ;2 bytes IBuffHB .EQU 03F ;1 bytes ;internalm .EQU 031 ;PartNum=current partition number $0 to $7 CurVcol .EQU 032 ;CurVcol=current vertical column in table TRK0($0), ;BLEN0($1), or VOL0($2) NUMERROR .EQU 033 HALTFLAG .EQU 034 CURDRIVE .EQU bytes DNAMEPTR .EQU 023 ;2 bytes INDEX .EQU 025 ;2 bytes PARTTBL .EQU 027 ;2 bytes POSITION .EQU 02A BPERCTR .EQU 02B ;2 bytes BCTR .EQU 02D ;2 bytes BUFFCALL .EQU 02F ;2 bytes PartNu 012 BEGTRK .EQU 013 ;3 bytes ENDTRK .EQU 016 ;3 bytes BUFFPG0 .EQU 019 ;2 bytes BUFFPG1 .EQU 01B ;2 bytes STATBUF1 .EQU 01D ;2 bytes STATBUF2 .EQU 01F ;2 bytes SCRBUF .EQU 021 ;2 006 ;3 bytes MENU0SEL .EQU 009 DECPLACE .EQU 00A TEMPVAL .EQU 00B TEMPVAL1 .EQU 00C TEMPVAL2 .EQU 00D TEMPVAL3 .EQU 00E TEMPVAL4 .EQU 00F TEMPVAL5 .EQU 010 TEMPVAL6 .EQU 011 LOCSTAT .EQU .EQU 06A ;Partition needs update prior to vol initialization ;Zero Page Pointer Equates ZPGTEMP0 .EQU 000 ZPGTEMP1 .EQU 001 MLPLIER .EQU 002 PRODUCT .EQU 003 ;3 bytes MLPCND .EQU ge AnsNo .EQU 066 ;No message ClrLower .EQU 067 ;Clear viewport below VTPOS ERASEDRV .EQU 068 ;2nd prompt for lowlevel format PTReadER .EQU 069 ;Error message can't access partition table PTNUPD QU 061 ;Device model # ascii Devic_nx .EQU 062 ;Device device # ascii Seria_nx .EQU 063 ;Device serial # ascii FirmW_nx .EQU 064 ;Device firmware version ascii AnsYes .EQU 065 ;Yes messace information display header #4 DEVHDR5 .EQU 05E ;Device information display header #5 DEVHDR6 .EQU 05F ;Device information display header #6 DEVHDR7 .EQU 060 ;Device information display header #7 Model_nx .Eag .EQU 090 ATAIdent .EQU 0EC ;Partition Table Equates PtChkSum .EQU 000 ;Checksum of partition table bytes $01 thru $FF PtSIdx .EQU 010 ;Device serial number (20 ascii characters) PtRevIdx .EQU 024 ;Device firmware revision number (8 ascii characters) PtModIdx .EQU 02C ;Device model information (40 ascii characters) ORIGDATE .EQU 064 MODDATE .EQU 06C ;Keystroke Equates LFARROW .EQU 008 Tefined) ; Bit 4 = IDNF requested block ID is in error or cannot be found ; Bit 3 = 0 (undefined) ; Bit 2 = ABRT command was aborted or an invalid command ; Bit 1 = _Data .BLOCK 005,000 ;Err_Data - byte $0 = error code ; Bit 7 = BBK bad block has been detected ; Bit 6 = UNC uncorrectable error was encountered ; Bit 5 = 0 (und UFTXTLEN .EQU *-UNFMTTXT BLANK01 .ASCII "PARTITIONX" BLTXTLEN .EQU *-BLANK01 BITINDEX .BYTE 0FF,07F,03F,01F,00F,007,003,001 .BYTE 000 DEV_ID .BYTE 0D1,010,04A,044 ;Device ID for CF/Ide driver Err .BYTE 064,000,000 ;100 .BYTE 0E8,003,000 ;1000 .BYTE 010,027,000 ;10000 .BYTE 0A0,086,001 ;100000 .BYTE 040,042,00F ;1000000 LSB,MSB,HSB UNFMTTXT .ASCII "UNFORMATTED" not support either CFA feature set or LBA mode ;$02=this device supports LBA mode and CFA feature set ;$03=this device supports LBA mode but does not support CFA feature set MULTPCND .BYTE 00A,000,000 ;10OND .BLOCK 005,000 MMONTHS .ASCII "JanFebMarAprMayJunJulAugSepOctNovDec" DATEDISP .BYTE 001,01A,042,001 .ASCII "Jan 31, 2003" .BYTE 004 MODE_ID .BYTE 000 ;$01=this device doesCK 004,000 MANUFID .BYTE 04A,044 TIMEDATE .BYTE 001 .WORD YEAR YEAR .BLOCK 004,000 MONTH .WORD 000 DAY .WORD 000 WEEK .BYTE 000 HOUR .WORD 000 MIN .WORD 000 SEC 000 DRIVNUM .BYTE 000 DINFO .BYTE 004 DNUM .BYTE 000 DNAME .WORD DNAMEPTR DINFOLST .WORD SLOTNUM .BYTE 009 SLOTNUM .BYTE 000 UNITNUM .BYTE 000 DEVTYPE .BYTE 0D1 SUBTYPE .BLO .ORG CODELOAD-14. .ASCII "SOS NTRP" .WORD 0000 .WORD CODELOAD .WORD CODELEN JMP BEGIN ;Data Buffers CHR .BYTE 000 INPUT .BYTE 007 ModelLen .EQU 027 LBAlen .EQU 001 CapacLen .EQU 002 CODELOAD .EQU 08200 ;loading address for this interpreter ;Entry point of interpreter .ABSOLUTE .PROC SOSNTRP Blks .EQU 004 ;Device Identification Data Index Equates SerIdx .EQU 014 RevisIdx .EQU 02E ModelIdx .EQU 036 LBAidx .EQU 063 CapacIdx .EQU 072 SerLen .EQU 013 RevisLen .EQU f partition in blocks VOL0 .EQU 002 ;Volume name of this partition ;Parameter block specific to current SOS request ATA_Cmd .EQU 000 Sect_HB .EQU 001 Sect_MB .EQU 002 Sect_LB .EQU 003 Num_S .EQU 0D3 ;Console control/status code equates FLSHTYPE .EQU 005 ;Partition variable index equates TRK0 .EQU 000 ;Beginning block # for this partition BLEN0 .EQU 001 ;Size oAB .EQU 009 DNARROW .EQU 00A UPARROW .EQU 00B RETURN .EQU 00D RTARROW .EQU 015 ESCAPE .EQU 01B SPACE .EQU 020 OAPL_QM .EQU 0BF OAPPLE_F .EQU 0C6 OAPPLE_P .EQU 0D0 OAPPLE_0 (undefined) ; Bit 0 = AMNF general error ;Err_Data - byte $1 thru $3 = block # (LB, MB, & HB) ;Err_Data - byte $4 = # of blocks left to complete command ;SOS Call Blocks CONSOLE .BYTE 008 .ASCII ".CONSOLE" READCON .BYTE 004 CONREF .BYTE 000 .WORD INPUT .WORD 0001 .WORD 000 RELSEG .BYTE 001 RELNUM .BYTE 000 RESCR .ASCII "There are no drivers present in the system" NODRVEND .EQU * DRVLEADR .BYTE 01A,000 DRVPOS .BYTE 000,011 DLDREND .EQU * FMTCOMP .ASCII "Lowlevel Format Complete - " FMTCMEND .EQU * FMTHAL .ASCII "========== ==== =====" .BYTE 00A,00D,002 DWINDEND .EQU * SLOTLDR .BYTE 018,014 SLOTVAL .BYTE 000,018,01A DRVNVAL .BYTE 000 SLDREND .EQU * NODRVS .BYTE 01A,013,007 ASCII "DRIVE: " DRVHDEND .EQU * DWINDOW0 .BYTE 01A,01E,000 .ASCII " DRIVES ONLINE" .BYTE 01A,016 DWINDULC .BYTE 002,002 .ASCII "Drive Name Slot Drive" .BYTE 00A,00D * .BYTE 004 CPMPEND .EQU * CNOTICE .BYTE 006,001,01A,018,001 .ASCII "Copyright 2003 Dale S. Jackson" .BYTE 004 CNOTEND .EQU * DRVHDR .BYTE 001,01A,037,001,01F .reen output windows & display messages MWINDOW .BYTE 006,001,01A,04D,014,003,018,001 .BYTE 002 MWINDEND .EQU * CLRMSGS .BYTE 01E,004 CLRMSEND .EQU * PPROMPT0 .BYTE 006,001,01A,000,016,01D PRMP0END .EQU .BYTE 002 ;Event ID .WORD ESCHDLR ;Event handler address EVHDLRXB .BYTE 000 ;Event handler bank .BYTE 01B ;Attention character - ESCAPE ;Sc 010 .WORD SCRBUF ATTNEVNT .BYTE 003 STATREF2 .BYTE 000,006 .WORD ATTNBUFF OPENCON .BYTE 004 .WORD CONSOLE CONREFN .BLOCK 004,000 ATTNBUFF .BYTE 080 ;Priority SETCON .BYTE 003 CTRLREF2 .BYTE 000,001 .WORD STATBUF2 CTRLCALL .BYTE 003 CTRLREF1 .BYTE 000 CTRLCODE .BYTE 000 .WORD SCRBUF VPOSCALL .BYTE 003 CTRLREF4 .BYTE 000 .BYTE DFMTCALL .BYTE 003 DFmtRef .BYTE 000,0FE .WORD SCRBUF DEVCALL .BYTE 002 .WORD CONSOLE DEVNUM .BYTE 000 CONSTAT .BYTE 003 STATREF1 .BYTE 000,001 .WORD STATBUF1 RE .WORD DevIDpg0 BUFFCTRL .BYTE 003 CALLREF1 .BYTE 000,001 ;Device UserIO Call .WORD BUFFCALL ERRSTAT .BYTE 003 CALLREF2 .BYTE 000,002 ;Device Error Information .WORD Err_Data ,003 ;Return Device Partition Map .WORD PARTTBL DevStat0 .BYTE 003 SDNUM1 .BYTE 000,000 ;Device Drive # .WORD DRIVNUM DevIdent .BYTE 003 SDNUM2 .BYTE 000,001 ;Device Indentification TINDX .BYTE 003 PRTREF2 .BYTE 000 .WORD INDEX PRTLEN1 .WORD 000 WRITDNAM .BYTE 003 PRTREF3 .BYTE 000 .WORD DNAMEPTR PRTLEN2 .WORD 000 PTBLSTAT .BYTE 003 CALLREF0 .BYTE 0000,011 .WORD FONT2 FINDSEG .BYTE 006,000,011 PAGES .WORD 0017 BASE .BLOCK 004,000 SEGNUM .BYTE 000 WRITCHR .BYTE 003 PRTREF1 .BYTE 000 .WORD CHR .WORD 001 WRI.BYTE 003 CTRLREF3 .BYTE 000,012 .WORD SCRBUF CLOSLIST .BYTE 001 CLOSREF .BYTE 000 SETFONT1 .BYTE 003 SREF1 .BYTE 000,011 .WORD FONT1 SETFONT2 .BYTE 003 SREF2 .BYTE 00TD .ASCII "Lowlevel Format Aborted - " FMTHMEND .EQU * BTRKHDR .ASCII "Block " BADSECT .BLOCK 008,020 BTRKTLR .ASCII " is bad" BTRKHEND .EQU * VFYCMPLT .BYTE 00A,00D .ASCII "Drive Media Verification Complete - " VFYCMEND .EQU * NVFYERR .BLOCK 004,000 VFYHALTD .BYTE 00A,00D .ASCII "Drive Media Verification Aborted - " VFYHMEND .EQU * EESC0 .BYTE 01E,018,00D,012 .ASCII "Press:" 0A .ASCII "(T) " MENU0I2 .BYTE 01A,004,001,011 TTESTCMD .ASCII "Test Interface Card" .BYTE 011 TTESTEND .EQU *-6 MENU0V1 .BYTE 00D,00A .ASCII "(V) " MENU0V2 .BYTE 01A,004,002,011 006,001,01A,04D,014,003,01A,001,003,002 .BYTE 01C,01A,01B,005,002 .ASCII "(S) " MENU0S2 .BYTE 01A,004,000,011 SSELCMD .ASCII "Select Drive" .BYTE 011 SSELEND .EQU * MENU0I1 .BYTE 00D,0YTE 011 .ASCII " Unable to access partition table on this drive" PTRDEREN .EQU * CURSEPOS .BYTE 006,01A SCRHPVP .BYTE 000,000,005 CURSEND .EQU * ;Main Menu Display MENU0WVP .BYTE * UDATERR .BYTE 007,012 .ASCII "ERROR:" .BYTE 011 .ASCII " writing partition table parameters to drive" UDATEREN .EQU * PTRDERR .BYTE 007,012 .ASCII "ERROR:" .B * ERASVOL1 .BYTE 01E,007,012 .ASCII "WARNING:" .BYTE 011 .ASCII " Contents of the volume " ERASEND1 .EQU * PNAME2 .BLOCK 00F,000 ERASVOL2 .ASCII " will be erased" ERASEND2 .EQU d " .BYTE 012 .ASCII "Press:" .BYTE 011 .ASCII " SPACE to resume, ESCAPE to abort" VFYSTEND .EQU * ERROCCUR .ASCII " errors occurred" .BYTE 00A,00D OCCUREND .EQU .BYTE 011 .ASCII " Up/Down arrows, RETURN/TAB to select," .ASCII " ESCAPE to restore entry" .BYTE 004 ESC6AEND .EQU * VFYSTOP .BYTE 01E .ASCII "Program Execution Halte"Press:" .BYTE 011 .ASCII " Up/Down Arrows, RETURN/TAB to select," .ASCII " ESCAPE to exit to Main Menu" .BYTE 004 EESC6END .EQU * EESC6A .BYTE 01E,012 .ASCII "Press:" 018,002,07F .ASCII "-S to Save the partition table, " .BYTE 07F .ASCII "-F to Initialize the partition volume" .BYTE 004 FESC6END .EQU * EESC6 .BYTE 01E,012 .ASCII .BYTE 004 EESC4END .EQU * EESC5 .BYTE 01E,018,014,012 .ASCII "Press:" .BYTE 011 .ASCII " ESCAPE to Halt Verification" .BYTE 004 EESC5END .EQU * FEESC6 .BYTE II "-P to initialize new partition, ESC to exit" .BYTE 004 EESC3END .EQU * EESC4 .BYTE 01E,018,013,012 .ASCII "Press:" .BYTE 011 .ASCII " ESCAPE to Halt Lowlevel Format" " to exit to Main Menu" .BYTE 004 EESC2END .EQU * EESC3 .BYTE 01E,012 .ASCII "Press:" .BYTE 011,020,07F .ASCII "-F to lowlevel format, " .BYTE 07F .ASC .ASCII " ANY KEY to continue" .BYTE 004 EESC1END .EQU * EESC2 .BYTE 01E,012 .ASCII "Press:" .BYTE 011 .ASCII " Up/Down Arrows, RETURN to select, ESCAPE" .ASCII .BYTE 011 .ASCII " Up/Down Arrows, Letter or RETURN to Select" .BYTE 004 EESC0END .EQU * EESC1B .BYTE 01E,018,018 EESC1A .BYTE 012 .ASCII "Press:" .BYTE 011 VVRFYCMD .ASCII "Verify Drive" .BYTE 011 VVRFYEND .EQU *-7 MENU0L1 .BYTE 00D,00A .ASCII "(F) " MENU0L2 .BYTE 01A,004,003,011 LLFMTCMD .ASCII "Format Drive" .BYTE 011 LLFMTEND .EQU *-7 MENU0P1 .BYTE 00D,00A .ASCII "(P) " MENU0P2 .BYTE 01A,004,004,011 PPARTCMD .ASCII "Partition Drive" .BYTE 011 PPARTEND .EQU *-7 MENU0Q1 .BYTE 00D,00A .ASCII "(Q) " MENU0Q .BYTE 012,059,011 .ASCII "es/No" ERAS0END .EQU * ERASMSG3 .ASCII "OK to destroy the existing contents of this drive? " .BYTE 012,059,011 .ASCII "es/No" ERAS3END .EQU * HLMSG0 .ASC .EQU * ORGDATE0 .BYTE 01A,03A,007 ORGDATE1 .BLOCK 008,020 ORGDEND .EQU * NEWDATE0 .BYTE 01A,03A,00B NEWDATE1 .BLOCK 008,020 NEWDEND .EQU * ERASMSG0 .ASCII "Initialize a new partition table? " YTE 00A,01E,018,009 .ASCII "Updating the partition table information ..... " UPDATEND .EQU * ASKVFRY .ASCII "Verify blocks on the drive listed above? " .BYTE 012,059,011 .ASCII "es/No" ASKVEND verlaying the same region of the disk" .BYTE 004 PTLAPEND .EQU * UDATPTBL .ASCII "Save changes to the drive partition table? " .BYTE 012,059,011 .ASCII "es/No" UDATEND .EQU * UPDATDRV .Be" PTUPDEND .EQU * PTLAP .BYTE 007,012 .ASCII "WARNING:" .BYTE 011 .ASCII " Partitions #" PTCNFLT1 .BYTE 000 .ASCII " & " PTCNFLT2 .BYTE 000 .ASCII " are onflicting partitions? " .BYTE 012,059,011 .ASCII "es/No" REDITEND .EQU * PTUPD2 .BYTE 007 .ASCII "Partition table on drive needs updating prior" .ASCII " to initializing this volumBYTE 01E .ASCII "Partition #" PPTW1END .EQU * PPTNUM .ASCII " , , , , , , , " PPTWARN2 .ASCII " have changed and the drive needs updating" PPTW2END .EQU * REDITPT .ASCII "Do you wish to edit the co .ASCII "Maximum allowable partition size is 65535" .BYTE 004 RANG1END .EQU * MAXBLK .BYTE 007 .ASCII "Block value cannot exceed drive capacity" .BYTE 004 MXBLKEND .EQU * PPTWARN1 . " LowLevel formatting will destroy all data on the drive" FWARNEND .EQU * NOTFMT .BYTE 007,01E,018,00C .ASCII "This device does not support low level formatting" NOFMTEND .EQU * RANG1ERR .BYTE 007 ontrolling Microprocessor Error" .BYTE 011 DERend05 .EQU * DiagEr8x .ASCII "Slave Failed" DERend8x .EQU * FWARN .BYTE 00A,00A,01E,012 .ASCII "WARNING:" .BYTE 011 .ASCII .ASCII "Sector Buffer Error" .BYTE 011 DERend03 .EQU * DiagEr04 .BYTE 007,012 .ASCII "ECC Circuitry Error" .BYTE 011 DERend04 .EQU * DiagEr05 .BYTE 007,012 .ASCII "C DERend00 .EQU * DiagEr01 .ASCII "No Error Detected" DERend01 .EQU * DiagEr02 .BYTE 007,012 .ASCII "Formatter Device Error" .BYTE 011 DERend02 .EQU * DiagEr03 .BYTE 007,012 .ASCII "Diagnostic Testing " Cmplete .ASCII "Complete" TESTDEND .EQU * YesAns .ASCII "Yes" YesEnd .EQU * NoAns .ASCII "No" NoEnd .EQU * DiagEr00 .BYTE 007 .ASCII "Master Failed" 2 .BYTE 01A,004,005,011 .ASCII "Quit" .BYTE 011 MENU0END .EQU * TESTLIST .BYTE 00A .ASCII "INTERNAL DIAGNOSTIC TEST: " TSTLSEND .EQU * TESTDONE .BYTE 00A,00A,018,016 II "Initialize this volume with the name " PNAME1 .BLOCK 00F,020 HLMSG1 .ASCII "? " .BYTE 012,059,011 .ASCII "es/No" HLMSGEND .EQU * HFMTCOMP .BYTE 018,013 .ASCII "Volume Initialization Successful" HFMTCEND .EQU * WDIRERR .BYTE 007 .ASCII "Error initializing volume directory" WDIRREND .EQU * DASHTXT .ASCII " - " DASHEND .EQU * ;Program Version Display CMDWINer)" DEVNOend .EQU * .BYTE 018,034 .ASCII "CAPACITY: " PTHDREND .EQU * TOTCAP .BLOCK 008,020 PPTMENU1 .ASCII " Blocks" .BYTE 01F PBLKEND .EQU * .BYTE 01A,013,0INFORMATION" .BYTE 00A,00A,00D .ASCII "MODEL NO: " Model .BLOCK 028,020 MODELend .EQU * .BYTE 00A,00D .ASCII "SLOT: " SlotVal2 .ASCII " DEVICE: " DEVICE .ASCII "0 (mastrmatting.....please standby" .BYTE 004 FMTDEND .EQU * SerialNo .BLOCK 014,020 SERLend .EQU * FirmWare .BLOCK 008,020 FIRMWend .EQU * PPARTHDR .BYTE 01A,017,000 .ASCII "DRIVE PARTITION l4 .END ;CFutil1 SRCH .BYTE 01A,014,009 .ASCII "Scanning system for IDE devices" SRCHEND .EQU * DRV0MSTR .ASCII "0 (master)1 (slave) " FMDIALOG .BYTE 018,00E .ASCII "Device Media Fo .BYTE 003,002 NEWPOS .BYTE 019 VTPOS .BYTE 000 VTEND .EQU * .BYTE 01D NPOSEND .EQU * .INCLUDE CFutil1 .INCLUDE CFutil2 .INCLUDE CFutil3 .INCLUDE CFuti CLRSCRN .BYTE 006,001,01A,04D,014,003,01A,001 .BYTE 003,002,01C VPORT .BYTE 006,001,01A,04D,013,003,01A,001 .BYTE 003,002 VPORTEND .EQU * INVPORT .BYTE 006,001,01A,04D,011,003,01A,001 084,085,086,084,085,086,084,085 .BYTE 086,084,085,086,084,085,086,084 .BYTE 085,086,084,085,086,084,085,086 .BYTE 084,085,086,084,085,086,083 BDREND .EQU * ;Inner Display Window,085,086,084,085,086,084 .BYTE 085,086,084,085,086,084,085,086 .BYTE 084,085,086,084,085,086,084,085 .BYTE 086,084,085,086,084,085,086,084 .BYTE 085,086,084,085,086,084,085,086 .BYTE 018,04E,087,088,018,04E,087 .BYTE 088,018,04E,087,088,018,04E,087 .BYTE 088,018,04E,087,088,018,04E,087 ;Border Bottom Line .BYTE 082,085,086,084,085,086,084,085 .BYTE 086,08487,088,018,04E,087 .BYTE 088,018,04E,087,088,018,04E,087 .BYTE 088,018,04E,087,088,018,04E,087 .BYTE 088,018,04E,087,088,018,04E,087 .BYTE 088,018,04E,087,088,018,04E,087 .BYTE 088,84,085,086,084,085,086,084 .BYTE 085,086,084,085,086,084,085,086 .BYTE 084,085,086,084,085,086,081 ;Border Side Lines .BYTE 088,018,04E,087,088,018,04E,087 .BYTE 088,018,04E,05,086,084,085,086 .BYTE 084,085,086,084,085,086,084,085 .BYTE 086,084,085,086,084,085,086,084 .BYTE 085,086,084,085,086,084,085,086 .BYTE 084,085,086,084,085,086,084,085 .BYTE 086,0 INSCREND .EQU * BORDERX .BYTE 01A,04E,016,003,01A,000,002,002 ;Border Top Line .BYTE 080,085,086,084,085,086,084,085 .BYTE 086,084,085,086,084,085,086,084 .BYTE 085,086,084,08D .BYTE 001,01A,001,001,01E CMDWEND .EQU * VERMSG .ASCII "Version 1.01" VEREND .EQU * ;Viewport and Borders INITSCRN .BYTE 006,001,01C,018,018 .ASCII "CF/IDE DRIVE MANAGEMENT UTILITY"05 .ASCII "START SEGMENT" .BYTE 018,038 .ASCII "CREATED DATE" .BYTE 01A,006,006 .ASCII "PARTITION BLOCK LENGTH VOLUME NAME" .BYTE 018,038 .BLOCK 00C,03D .BYTE 01A,006,007 .BLOCK 009,03D .BYTE 018,012 .BLOCK 007,03D .BYTE 018,01C .BLOCK 005,03D .BYTE 018,024 .BLOCK 00F,03D PPTMENU2 .B; Bit 7 = BBK bad block has been detected ; Bit 6 = UNC uncorrectable error was encountered ; Bit 5 = 0 (undefined) ; Bit 4 = IDNF requested block ID is in error or cannot be found SEGRQDN .ASCII "Segment request denied" ENDERRE1 .EQU * SEGTBLFL .ASCII "Segment table full" ENDERRE2 .EQU * ;Device Specific Errors ;Err_Data - byte $0 = error code * BADOP .ASCII "Call not supported by device" ENDERR26 .EQU * IOERR .ASCII "I/O error" ENDERR27 .EQU * DRNOTCON .ASCII "Drive not connected" ENDERR28 .EQU * ;Memory Call Error Descriptions evice not Found" ENDERR10 .EQU * BADCTL .ASCII "Invalid status/control code" ENDERR21 .EQU * BADCTLPM .ASCII "Invalid control parameter list" ENDERR22 .EQU * NORESRC .ASCII "Resource not available" ENDERR25 .EQU ;File Call Error Descriptions ERRDESC .ASCII "SOS/Device Error $" GENERR .WORD 000 .ASCII " has occurred" ENDERR00 .EQU * ;Device Call Error Descriptions DNFERR .ASCII "D .BYTE 089,08A .BYTE 004 GASGAEND .EQU * PROGRESS .BYTE 001,01A,005,012 PCENT .BYTE 020,020,030,018 GAS_HPOS .BYTE 013,012,020,011,004 PROGREND .EQU * ;End of Screen Messages 9,08A,089,08A,089,08A ;50 chrs long .BYTE 089,08A,089,08A,089,08A,089,08A .BYTE 089,08A,089,08A,089,08A,089,08A .BYTE 089,08A,089,08A,089,08A,089,08A .BYTE 089,08A,089,08A,089,08A,089,08A .BYTE 011 .ASCII " - LBA mode not supported" LBAnoEnd .EQU * GASGAGE .BYTE 001,01A,005,012 .ASCII " 0% Complete " .BYTE 089,08A,089,08A,089,08A,089,08A .BYTE 089,08A,08 .ASCII " LBA SUPPORT: " DEV6HDR .BYTE 00A,00D .ASCII " CFA FEATURE: " DEV7HDR .BYTE 00A,018,004 .ASCII "CAPACITY: " DEV7END .EQU * LBA_NO .BYTE 012 .ASCII "Warning" .ASCII "DEVICE: " DEV2HDR .BYTE 00A,018,004 .ASCII "MODEL NO: " DEV3HDR .BYTE 00A,018,003 .ASCII "SERIAL NO: " DEV4HDR .BYTE 00A,018,004 .ASCII "FIRMWARE: " DEV5HDR .BYTE 00A,00D38,00F NREMCAP .BLOCK 008,020 TooLrg .ASCII "> 9728K" DEV1HDR .BYTE 00A,00A,018,01C .ASCII "DEVICE INFORMATION" .BYTE 00A,018,008 .ASCII "SLOT: " SlotVal3 .BYTE 000,00A,018,006 ASCII "UNUSED CAPACITY" .BYTE 01A,009,00E .ASCII "#6:" .BYTE 018,038 .BLOCK 00F,03D .BYTE 01A,009,00F .ASCII "#7:" PPTMEND .EQU * REMCAP .BYTE 01A,08,038 .BLOCK 00C,03D .BYTE 01A,009,00B .ASCII "#3:" .BYTE 01A,009,00C .ASCII "#4:" .BYTE 01A,009,00D .ASCII "#5:" .BYTE 018,038 .YTE 01A,009,008 .ASCII "#0:" .BYTE 01A,009,009 .ASCII "#1:" .BYTE 018,038 .ASCII "MODIFIED DATE" .BYTE 01A,009,00A .ASCII "#2:" .BYTE 01 ; Bit 3 = 0 (undefined) ; Bit 2 = ABRT command was aborted or an invalid command ; Bit 1 = 0 (undefined) ; Bit 0 = AMNF general error ;Err_Data - byte $1 thru $3 = block # (LB, MB, & HB) ;Err_Data - byte $4 = # of blocks left to complete command UNCerr .ASCII "Uncorrectable I/O error has occurred" UNCend .EQU * IDNFerr .ASCII "Invalid block number or block ;BLKBAD2 .WORD VFYHALTD ;VFYHLTD .WORD FMTHALTD ;FMTHLTD .WORD NVFYERR ;NUMERRS .WORD ERASVOL1 ;BeepNclr .WORD FWARN ;FWARNING .WORD EESC3 MD ;PARTCMD .WORD TTESTCMD ;TESTCMD .WORD SSELCMD ;SELECCMD .WORD GASGAGE ;GASGAUGE .WORD PROGRESS ;PROGBAR .WORD LBA_NO ;NO_LBA .WORD BTRKTLR CMDWIND ;CMDLINE .WORD DRVLEADR ;DLEADER .WORD EESC2 ;ESC2 .WORD PPROMPT0 ;PROMPT0 .WORD LLFMTCMD ;LFMTCMD .WORD VVRFYCMD ;VRFYCMD .WORD PPARTC CLRSCRN ;CLRVPORT .WORD BORDERX ;BORDER .WORD DRVHDR ;DRVHEDR .WORD DWINDOW0 ;DWINDMSG .WORD NODRVS ;NODRIVE .WORD Cmplete ;CmpltMsg .WORD .WORD CLRMSGS ;CLRMSG .WORD VPORT ;VIEWPORT .WORD VERMSG ;VERSION .WORD MENU0WVP ;MENU0 .WORD EESC0 ;ESC0 .WORD DATEDISP ;DATE .WORD rrupted Media Format" Xer13end .EQU * Xerr14 .ASCII "Write/Erase failed" Xer14end .EQU * ;Screen Display Pointers & Lengths MSGADR .WORD MWINDOW ;MSGWIND .WORD INITSCRN ;TITLE er09end .EQU * Xerr10 .ASCII "ID not found" Xer10end .EQU * Xerr11 .ASCII "Spare sectors exhausted" Xer11end .EQU * Xerr12 .ASCII "Data transfer error/Aborted command" Xer12end .EQU * Xerr13 .ASCII "Co Xerr06 .ASCII "Supply voltage out of tolerance" Xer06end .EQU * Xerr07 .ASCII "Uncorrectable ECC error" Xer07end .EQU * Xerr08 .ASCII "Corrected ECC Error" Xer08end .EQU * Xerr09 .ASCII "Self test failed" XASCII "Miscellaneous Error" Xer02end .EQU * Xerr03 .ASCII "Invalid Command" Xer03end .EQU * Xerr04 .ASCII "Invalid head or sector invalid" Xer04end .EQU * Xerr05 .ASCII "Address Overflow" Xer05end .EQU * d ; $1F = Data transfer error/Aborted command ; $0C,$38,$3B,$3C,$3F = Corrupted Media Format ; $03 = Write/Erase failed Xerr01 .ASCII "Self test OK" Xer01end .EQU * Xerr02 . ; $11 = Uncorrectable ECC error ; $18 = Corrected ECC Error ; $05,$30-34,$37,$3E = Self test or diagnostic failed ; $10,$14 = ID not found ; $3A = Spare sectors exhauste ; $20 = Invalid Command ; $21 = Invalid address (requested head or sector invalid) ; $2F = Address Overflow (address too large) ; $35,$36 = Supply voltage out of tolerance Error Code Request ; Returns 1 byte of exteded error code in Buffer ; $00 = No Error Detected ; $01 = Self test OK (No error) ; $09 = Miscellaneous Error cannot be found" IDNFend .EQU * ABRTerr .ASCII "Invalid Command" ABRTend .EQU * AMNFerr .ASCII "General device error" AMNFend .EQU * ;CF Extended Error Descriptions ;Extended ;ESC3 .WORD FMDIALOG ;FMTMSG .WORD CURSEPOS ;CURSER .WORD UDATPTBL ;PTBLMSG .WORD UPDATDRV ;UPDATMSG .WORD UDATERR ;UPDATERR .WORD ORGDATE0 ;CREADATE .WORD NEWDATE0 ;LMODDATE .WORD DiagEr00 ;TestER00 .WORD DiagEr01 ;TestER01 .WORD DiagEr02 ;TestER02 .WORD DiagEr03 ;TestER03 .WORD DiagEr04 ;TesBYTE DLDREND-DRVLEADR ;DLEADER .BYTE EESC2END-EESC2 ;ESC2 .BYTE PRMP0END-PPROMPT0 ;PROMPT0 .BYTE LLFMTEND-LLFMTCMD ;LFMTCMD .BYTE VVRFYEND-VVRFYCMD ;VRFYCMD .BYTE PPARTEND-PR .BYTE DRVHDEND-DRVHDR ;DRVHEDR .BYTE DWINDEND-DWINDOW0 ;DWINDMSG .BYTE NODRVEND-NODRVS ;NODRIVE .BYTE TESTDEND-Cmplete ;CmpltMsg .BYTE CMDWEND-CMDWIND ;CMDLINE .EREND-VERMSG ;VERSION .BYTE MENU0END-MENU0WVP ;MENU0 .BYTE EESC0END-EESC0 ;ESC0 DATELEN .BYTE 000 ;DATE .BYTE VPORTEND-CLRSCRN ;CLRVPORT .BYTE BDREND-BORDERX ;BORDE .WORD PTUPD2 ;PTNUPD MSGLEN .BYTE MWINDEND-MWINDOW ;MSGWIND .BYTE INSCREND-INITSCRN ;TITLE .BYTE CLRMSEND-CLRMSGS ;CLRMSG .BYTE VPORTEND-VPORT ;VIEWPORT .BYTE V_nx .WORD FirmWare ;FirmW_nx .WORD YesAns ;AnsYes .WORD NoAns ;AnsNo .WORD NEWPOS ;ClrLower .WORD ERASMSG3 ;ERASEDRV .WORD PTRDERR ;PTReadERHDR4 .WORD DEV5HDR ;DEVHDR5 .WORD DEV6HDR ;DEVHDR6 .WORD DEV7HDR ;DEVHDR7 .WORD Model ;Model_nx .WORD Device ;Devic_nx .WORD SerialNo ;Seria ;ESC4 .WORD PPROMPT0 ;CLRPMPT .WORD TOTCAP ;TCapBlks .WORD DEV1HDR ;DEVHDR1 .WORD DEV2HDR ;DEVHDR2 .WORD DEV3HDR ;DEVHDR3 .WORD DEV4HDR ;DEV ;OUTRANG1 .WORD MAXBLK ;MAXBLOCK .WORD ASKVFRY ;VRFYMSG .WORD NOTFMT ;NOFRMAT .WORD ERASMSG0 ;ERASEPT .WORD PPTMENU2 ;PTMENU2 .WORD EESC4 FEESC6 ;FESC6 .WORD MWINDOW ;CLRMSGW .WORD EESC1B ;ESC1B .WORD SLOTLDR ;SLOTPOS .WORD REMCAP ;RBLKS .WORD SRCH ;SEARCH .WORD RANG1ERRD PTLAP ;PTOVLAP .WORD REDITPT ;RE_EDIT .WORD ERASVOL1 ;ERASMSG1 .WORD ERASVOL2 ;ERASMSG2 .WORD EESC6A ;ESC6A .WORD CNOTICE ;COPYRITE .WORD .WORD EESC1A ;PRANYKEY .WORD DASHTXT ;DASH .WORD DRNOTCON ;DRVNCONT .WORD INVPORT ;VIEWPOS .WORD PPTWARN1 ;PTWARN1 .WORD PPTWARN2 ;PTWARN2 .WOR .WORD PPTMENU1 ;BLOCKS .WORD EESC6 ;ESC6 .WORD HLMSG0 ;HFMT0MSG .WORD HLMSG1 ;HFMT1MSG .WORD WDIRERR ;DIRERR .WORD HFMTCOMP ;HFMTCMP .WORD BTRKHDR ;BLOCKBAD .WORD VFYCMPLT ;VFYCOMP .WORD TESTLIST ;TESTLST .WORD TESTDONE ;TESTCOMP .WORD PPARTHDR ;PARTHDR .WORD PPTMENU1 ;PTMENU1 tER04 .WORD DiagEr05 ;TestER05 .WORD DiagEr8x ;TestER8x .WORD FMTCOMP ;FMTDONE .WORD ERROCCUR ;OCCUR .WORD EESC5 ;ESC5 .WORD VFYSTOP ;VFYHALT PARTCMD ;PARTCMD .BYTE TTESTEND-TTESTCMD ;TESTCMD .BYTE SSELEND-SSELCMD ;SELECCMD .BYTE GASGAEND-GASGAGE ;GASGAUGE .BYTE PROGREND-PROGRESS ;PROGBAR .BYTE LBAnoEnd-LBA_NO ;NO_LBA .BYTE BTRKHEND-BTRKTLR ;BLKBAD2 .BYTE VFYHMEND-VFYHALTD ;VFYHLTD .BYTE FMTHMEND-FMTHALTD ;FMTHLTD NUMVLEN .BYTE 000 ;NUMERRS .BYTE 002 ;BeepNclr .BFirmWare ;FirmW_nx .BYTE YesEnd-YesAns ;AnsYes .BYTE NoEnd-NoAns ;AnsNo .BYTE NPOSEND-NEWPOS ;ClrLower .BYTE ERAS3END-ERASMSG3 ;ERASEDRV .BYTE PTRDEREN-PTRDERR ;PTReadE DEV7HDR-DEV6HDR ;DEVHDR6 .BYTE DEV7END-DEV7HDR ;DEVHDR7 .BYTE MODELend-Model ;Model_nx .BYTE DEVNOend-Device ;Devic_nx .BYTE SERLend-SerialNo ;Seria_nx .BYTE FIRMWend- .BYTE DEV2HDR-DEV1HDR ;DEVHDR1 .BYTE DEV3HDR-DEV2HDR ;DEVHDR2 .BYTE DEV4HDR-DEV3HDR ;DEVHDR3 .BYTE DEV5HDR-DEV4HDR ;DEVHDR4 .BYTE DEV6HDR-DEV5HDR ;DEVHDR5 .BYTE TFMT ;NOFRMAT .BYTE ERAS0END-ERASMSG0 ;ERASEPT .BYTE PPTMEND-PPTMENU2 ;PTMENU2 .BYTE EESC4END-EESC4 ;ESC4 .BYTE CPMPEND-PPROMPT0 ;CLRPMPT TCAPLEN .BYTE 000 ;TCapBlks E NREMCAP-REMCAP ;RBLKS .BYTE SRCHEND-SRCH ;SEARCH .BYTE RANG1END-RANG1ERR ;OUTRANG1 .BYTE MXBLKEND-MAXBLK ;MAXBLOCK .BYTE ASKVEND-ASKVFRY ;VFRYMSG .BYTE NOFMTEND-NOC6A .BYTE CNOTEND-CNOTICE ;COPYRITE .BYTE FESC6END-FEESC6 ;FESC6 .BYTE CLRMSEND-MWINDOW ;CLRMSGW .BYTE EESC1END-EESC1B ;ESC1B .BYTE SLDREND-SLOTLDR ;SLOTPOS .BYTD-PPTWARN2 ;PTWARN2 .BYTE PTLAPEND-PTLAP ;PTOVLAP .BYTE REDITEND-REDITPT ;RE_EDIT .BYTE ERASEND1-ERASVOL1 ;ERASMSG1 .BYTE ERASEND2-ERASVOL2 ;ERASMSG2 .BYTE ESC6AEND-EESC6A ;ES.BYTE EESC1END-EESC1A ;PRANYKEY .BYTE DASHEND-DASHTXT ;DASH .BYTE ENDERR28-DRNOTCON ;DRVNCONT .BYTE VTEND-INVPORT ;VIEWPOS .BYTE PPTW1END-PPTWARN1 ;PTWARN1 .BYTE PPTW2ENLOCKS .BYTE EESC6END-EESC6 ;ESC6 .BYTE PNAME1-HLMSG0 ;HFMT0MSG .BYTE HLMSGEND-HLMSG1 ;HFMT1MSG .BYTE WDIRREND-WDIRERR ;DIRERR .BYTE HFMTCEND-HFMTCOMP ;HFMTCMP END-VFYCMPLT ;VFYCOMP .BYTE TSTLSEND-TESTLIST ;TESTLST .BYTE TESTDEND-TESTDONE ;TESTCOMP .BYTE PTHDREND-PPARTHDR ;PARTHDR .BYTE PPTMENU2-PPTMENU1 ;PTMENU1 .BYTE PBLKEND-PPTMENU1 ;B .BYTE FMTCMEND-FMTCOMP ;FMTDONE .BYTE OCCUREND-ERROCCUR ;OCCUR .BYTE EESC5END-EESC5 ;ESC5 .BYTE VFYSTEND-VFYSTOP ;VFYHALT .BYTE BADSECT-BTRKHDR ;BLOCKBAD .BYTE VFYCMER01 .BYTE DERend02-DiagEr02 ;TestER02 .BYTE DERend03-DiagEr03 ;TestER03 .BYTE DERend04-DiagEr04 ;TestER04 .BYTE DERend05-DiagEr05 ;TestER05 .BYTE DERend8x-DiagEr8x ;TestER8x ATDRV ;UPDATMSG .BYTE UDATEREN-UDATERR ;UPDATERR .BYTE ORGDEND-ORGDATE0 ;CREADATE .BYTE NEWDEND-NEWDATE0 ;LMODDATE .BYTE DERend00-DiagEr00 ;TestER00 .BYTE DERend01-DiagEr01 ;TestYTE FWARNEND-FWARN ;FWARNING .BYTE EESC3END-EESC3 ;ESC3 .BYTE FMTDEND-FMDIALOG ;FMTMSG .BYTE CURSEND-CURSEPOS ;CURSER .BYTE UDATEND-UDATPTBL ;PTBLMSG .BYTE UPDATEND-UPDR .BYTE PTUPDEND-PTUPD2 ;PTNUPD ;Main Menu Pointers & Lengths MENU0LST .ASCII "STVFPQ" MENU0ADR .WORD MENU0S2 .WORD MENU0I2 .WORD MENU0V2 .WORD MENU0L2 .WORD MENU0P2 .WORD MENU0Q2 MENU0LEN .BYTE MENU0I1-MENU0S2 .BYTE MENU0V1-MENU0I2 .BYTE MENU0L1-MENU0V2 .BYTE MENU0P1-MENU0L2 .BYTE MENU0Q1-MENU0P2 .BYTE ACK7 .WORD BLKLEN0 ;#BLEN0 .WORD BLKLEN1 .WORD BLKLEN2 .WORD BLKLEN3 .WORD BLKLEN4 .WORD BLKLEN5 .WORD BLKLEN6 .WORD BLKLEN7 BB,0C6,0CB,0D6,0DB PMSGADR .WORD TRACK0 ;#TRK0 .WORD TRACK1 .WORD TRACK2 .WORD TRACK3 .WORD TRACK4 .WORD TRACK5 .WORD TRACK6 .WORD TR .WORD VNAME5-5 .WORD VNAME6-5 .WORD VNAME7-5 ;Partition table indexes for starting block & partition length STBindex .BYTE 0A3,0A8,0B3,0B8,0C3,0C8,0D3,0D8 VSZindex .BYTE 0A6,0AB,0B6,0D VNAME4 .WORD VNAME5 .WORD VNAME6 .WORD VNAME7 VOLADR .WORD VNAME0-5 .WORD VNAME1-5 .WORD VNAME2-5 .WORD VNAME3-5 .WORD VNAME4-5 ENVAL3 .WORD BLENVAL4 .WORD BLENVAL5 .WORD BLENVAL6 .WORD BLENVAL7 PNAMEADR .WORD VNAME0 .WORD VNAME1 .WORD VNAME2 .WORD VNAME3 .WOR .WORD TRKVAL3 .WORD TRKVAL4 .WORD TRKVAL5 .WORD TRKVAL6 .WORD TRKVAL7 BLENADR .WORD BLENVAL0 .WORD BLENVAL1 .WORD BLENVAL2 .WORD BLA,024,00D VNAME5 .BLOCK 010,020 VOLNAME6 .BYTE 01A,024,00E VNAME6 .BLOCK 010,020 VOLNAME7 .BYTE 01A,024,00F VNAME7 .BLOCK 010,020 TRKADR .WORD TRKVAL0 .WORD TRKVAL1 .WORD TRKVAL2 E 01A,024,009 VNAME1 .BLOCK 010,020 VOLNAME2 .BYTE 01A,024,00A VNAME2 .BLOCK 010,020 VOLNAME3 .BYTE 01A,024,00B VNAME3 .BLOCK 010,020 VOLNAME4 .BYTE 01A,024,00C VNAME4 .BLOCK 010,020 VOLNAME5 .BYTE 01 .BYTE 01A,01C,00D BLENVAL5 .BLOCK 006,000 BLKLEN6 .BYTE 01A,01C,00E BLENVAL6 .BLOCK 006,000 BLKLEN7 .BYTE 01A,01C,00F BLENVAL7 .BLOCK 006,000 VOLNAME0 .BYTE 01A,024,008 VNAME0 .BLOCK 010,020 VOLNAME1 .BYTBLKLEN1 .BYTE 01A,01C,009 BLENVAL1 .BLOCK 006,000 BLKLEN2 .BYTE 01A,01C,00A BLENVAL2 .BLOCK 006,000 BLKLEN3 .BYTE 01A,01C,00B BLENVAL3 .BLOCK 006,000 BLKLEN4 .BYTE 01A,01C,00C BLENVAL4 .BLOCK 006,000 BLKLEN5 ,000 TRACK5 .BYTE 01A,012,00D TRKVAL5 .BLOCK 008,000 TRACK6 .BYTE 01A,012,00E TRKVAL6 .BLOCK 008,000 TRACK7 .BYTE 01A,012,00F TRKVAL7 .BLOCK 008,000 BLKLEN0 .BYTE 01A,01C,008 BLENVAL0 .BLOCK 006,000 K 008,000 TRACK1 .BYTE 01A,012,009 TRKVAL1 .BLOCK 008,000 TRACK2 .BYTE 01A,012,00A TRKVAL2 .BLOCK 008,000 TRACK3 .BYTE 01A,012,00B TRKVAL3 .BLOCK 008,000 TRACK4 .BYTE 01A,012,00C TRKVAL4 .BLOCK 008 COL_HPOS .BYTE 012 .BYTE 01C .BYTE 024 ITEM_LEN .BYTE 007 ;Starting Block .BYTE 005 ;Partition Length .BYTE 00F ;Volume Name TRACK0 .BYTE 01A,012,008 TRKVAL0 .BLOC MENU0END-MENU0Q2 FUNCADR .WORD SELDRV-1 .WORD TESTIFC-1 .WORD VERIFY-1 .WORD FORMAT-1 .WORD PARTITIO-1 .WORD QUIT-1 ;Partition Display Variables .WORD VOLNAME0 ;#VOL0 .WORD VOLNAME1 .WORD VOLNAME2 .WORD VOLNAME3 .WORD VOLNAME4 .WORD VOLNAME5 .WORD VOLNAME6 .WORD VOLNAME7 ;Misc Variables Address List VFYERADR .WORD NVFYERR PTHDRADR .WORD TOTCAP PTLRADR .WORD NREMCAP BSECTADR .WORD BADSECT ;General SOS Call Error Codes SOSERR .BYTE 000 nd-Xerr14 ;FONT CODE FONT1 .BYTE 008 .BYTE 000 .BYTE 000,000,000,000,040,008,002,001 .BYTE 001 .BYTE 000,000,000,000,001,008,020,040 .BYTE 002 Xerr07 .BYTE Xer08end-Xerr08 .BYTE Xer09end-Xerr09 .BYTE Xer10end-Xerr10 .BYTE Xer11end-Xerr11 .BYTE Xer12end-Xerr12 .BYTE Xer13end-Xerr13 .BYTE Xer14eror $20 Description Len .BYTE UNCend-UNCerr ;CF Extended Error Description Len .BYTE Xer04end-Xerr04 .BYTE Xer05end-Xerr05 .BYTE Xer06end-Xerr06 .BYTE Xer07end-1end-Xerr01 ;CF Extended Error $01 Description Len .BYTE ABRTend-ABRTerr .BYTE Xer02end-Xerr02 ;CF Extended Error $09 Description Len .BYTE IDNFend-IDNFerr .BYTE Xer03end-Xerr03 ;CF Extended ErDERR28-DRNOTCON ;Memory Call Error Description Len .BYTE ENDERRE1-SEGRQDN .BYTE ENDERRE2-SEGTBLFL ;Device Specific Errors .BYTE AMNFend-AMNFerr .BYTE Xer0ption Len .BYTE ENDERR10-DNFERR .BYTE ENDERR21-BADCTL .BYTE ENDERR22-BADCTLPM .BYTE ENDERR25-NORESRC .BYTE ENDERR26-BADOP .BYTE ENDERR27-IOERR .BYTE EN .WORD Xerr11 .WORD Xerr12 .WORD Xerr13 .WORD Xerr14 ;General SOS Call Error Description Len ERMSGLEN .BYTE ENDERR00-ERRDESC ;Device Call Error Descri ;CF Extended Error Description Address .WORD Xerr04 .WORD Xerr05 .WORD Xerr06 .WORD Xerr07 .WORD Xerr08 .WORD Xerr09 .WORD Xerr10 .WORD ABRTerr ;$04 .WORD Xerr02 ;CF Extended Error $09 Description Address .WORD IDNFerr ;$10 .WORD Xerr03 ;CF Extended Error $20 Description Address .WORD UNCerr ;$40 ry Call Error Description Address .WORD SEGRQDN .WORD SEGTBLFL ;Device Specific Errors .WORD AMNFerr ;$00 .WORD Xerr01 ;CF Extended Error $01 Description Address Call Error Description Address .WORD DNFERR .WORD BADCTL .WORD BADCTLPM .WORD NORESRC .WORD BADOP .WORD IOERR .WORD DRNOTCON ;Memo .BYTE 015,016,016,016,016,016,016,016 .BYTE 016,017,017,018,019,01A,01A,01A .BYTE 01A,01A,01B ;General SOS Call Error Description Address ERMSGADR .WORD ERRDESC ;Device ex XerrCode .BYTE 001,009,020,021,02F,035,036,011 .BYTE 018,005,030,031,032,033,034,037 .BYTE 03E,010,014,03A,01F,00C,038,03B .BYTE 03C,03F,003 XerrIndx .BYTE 00B,00D,00F,011,012,013,013,014 ;Device Call Error Codes .BYTE 010,021,022,025,026 .BYTE 027,028 ;Memory Call Error Codes .BYTE 0E1,0E2 SERRLEN .EQU *-SOSERR ;CF Extended Error Codes & ind .BYTE 001,001,002,008,040,000,000,000 .BYTE 003 .BYTE 040,040,020,008,001,000,000,000 .BYTE 004 .BYTE 000,000,000,000,049,000,000,000 .BYTE 005 .BYTE 000,000,000,000,024,000,000,000 .BYTE 006 .BYTE 000,000,000,000,012,000,000,000 .BYTE 007 .BYTE 040,040,040,040,040,040,040,040 FONT2 .BYTE 003 .BYTE 008 .BYTE 001,N1 TXA ASL A TAX LDA MSGADR,X STA INDEX LDA MSGADR+1,X STA INDEX+1 PRTMSG2 BRK .BYTE 0CB .WORD WRITINDX J #PRANYKEY JSR PRTMSG BRK .BYTE 0CA .WORD READCON LDX #CLRMSG JSR PRTMSG JMP MAINMENU PRTMSG LDA MSGLEN,X PRTMSG1 STA PRTLE STA INDEX LDA ERMSGADR+1,X STA INDEX+1 BRK .BYTE 0CB .WORD WRITINDX JSR ERRORCK PrtLast LDX #DASH JSR PRTMSG LDX DX #MSGWIND JSR PRTMSG LDX #BeepNclr JSR PRTMSG LDA ERMSGLEN,Y STA PRTLEN1 TYA ASL A TAX LDA ERMSGADR,X E ERROR NoError RTS ERROR STA ERRCODE LDY #SERRLEN LDA ERRCODE $1 CMP SOSERR,Y BEQ PrtError DEY BNE $1 GenError JSR BINHEX PrtError L A BCS PrtError DEY CPY #00B BCS $2 LDY #000 LDA Err_Data JMP GenError ;Error handler for SOS errors ERRORCK BNor ASL A BCC $1 LDX #MSGWIND JSR PRTMSG LDX #BeepNclr JSR PRTMSG JSR PrtBdBlk JMP PrtLast $1 LDY #010 $2 ASLXerrIndx,X JMP PrtError ;CFutil2 ;Device Specific Error Handler ErrHndlr LDA Err_Data BEQ NoError LDY MODE_ID CPY #002 BEQ XtendErr StdErr #000 LDA @BUFFPG0,Y ;Get extended error code LDX #XerrIndx-XerrCode-1 $1 CMP XerrCode,X BEQ $2 DEX BPL $1 JMP GenError $2 LDY PLP RTS ;Get & Display CF extended error code XtendErr LDY #ATA_Cmd LDA #ATA_Xerr STA @BUFFCALL,Y JSR CALLDRVR BCS StdError LDY BNE $3 PLA SBC #001 BNE $2 DEY BNE $1 PHP ;Set2Mhz SEI LDA EReg AND #07F STA EReg 2.7 Wait1sec PHP ;Set1Mhz SEI LDA EReg ORA #080 STA EReg PLP LDY #003 $1 LDA #0FF SEC $2 PHA $3 SBC #001 5,02A,055,02A,055,02A,055 ;Wait - Copy of Apple's wait routine. ;Areg=desired delay time, where Delay(us) = (5Areg^2 + 27Areg + 26)/2 ;or more usefully: Areg = (Delay[in uS]/2.5 + 2.09)^.5 -001,001,001,001,001,001,001 .BYTE 009 ;Gas Gage character 1 .BYTE 055,02A,055,02A,055,02A,055,02A .BYTE 00A ;Gas Gage character 2 .BYTE 02A,05MP ERRORCK PRTDNAME TXA ASL A ASL A ASL A ASL A ADC #080 STA DNAMEPTR LDY #000 LDA @DNAMEPTR,Y STA PRTLEN2 INC DNAMEPTR PRTDNAM2 BRK .BYTE 0CB .WORD WRITDNAM JMP ERRORCK PRTBYTE STA CHR BRK .BYTE 0CB .WORD WRITCHR JMP @STATBUF2,Y TYA STA @SCRBUF,Y ;initialize screen buffer BRK ;save initial console status .BYTE 082 .WORD CONSTAT JSR FATALERR LDA #00B STA PRTREF1 STA PRTREF2 STA PRTREF3 STA CONREF LDY #000 ;Initialize console status buffers LDA #05A STA @STATBUF1,Y STA EF4 STA STATREF1 STA STATREF2 STA SREF1 STA SREF2 BRK .BYTE 0C8 .WORD OPENCON JSR FATALERR LDA CONREFN ALLOCMEM BRK .BYTE 084 .WORD DEVCALL JSR FATALERR LDA DEVNUM STA CTRLREF1 STA CTRLREF2 STA CTRLREF3 STA CTRLR ERRCODE STA MENU0SEL LDY #077 ;# of zero page data buffer locations $1 STA DNUMLST,Y DEY BPL $1 LDA #001 STA DfltSTlb JSR PRTBYTE BRK .BYTE 083 .WORD ATTNEVNT JSR ERRORCK STA HALTFLAG PLP RTS BEGIN TSX STX STACK LDA #000 STA JSR PRTMSG PLP JMP GRPDONE $2 CMP #020 BNE $1 BRK .BYTE 083 .WORD RESCR JSR ERRORCK LDA #004 JSR LDX #VFYHALT JSR PRTMSG $1 BRK .BYTE 0CA .WORD READCON JSR ERRORCK LDA INPUT CMP #01B BNE $2 LDX #CLRMSG .BYTE 083 .WORD CTRLCALL JMP ERRORCK HALTPRG PHP LDX #MSGWIND JSR PRTMSG BRK .BYTE 082 .WORD RESCR JSR ERRORCK BYE BRK .BYTE 065 .WORD BYE ;event handler for escape keystroke ESCHDLR SEC ROR HALTFLAG LDA #FLSHTYPE STA CTRLCODE BRK JMP ERRORCK QUIT LDA #001 JSR PRTBYTE LDA #01C JSR PRTBYTE LDA SEGNUM STA RELNUM BRK .BYTE 045 .WORD RELSEG ERRCODE PLA STA INDEX+1 PLA STA INDEX $2 JMP $2 CLOSE BEQ $1 STA CLOSREF BRK .BYTE 0CC .WORD CLOSLIST $1 DEX+1 JSR DECIMAL7 CLC LDX #BLOCKBAD ADC MSGLEN,X JSR PRTMSG1 LDX #BLKBAD2 JMP PRTMSG FATALERR BNE $1 RTS $1 STA ERRORCK PrtBdBlk LDX #002 $1 LDA Err_Data+1,X STA PRODUCT,X DEX BPL $1 LDA BSECTADR STA INDEX LDA BSECTADR+1 STA IN STA CTRLCODE BRK ;turn off screen echo .BYTE 083 .WORD CTRLCALL BRK ;save current console status .BYTE 082 .WORD RESETCON JSR FATALERR LDY #001 STA @STATBUF2,Y LDY #006 STA @STATBUF2,Y BRK .BYTE 083 .WORD RESETCON JSR FATALERR BRK .BYTE LDX #Devic_nx JSR PRTMSG LDX #DEVHDR2 ;Display model # info JSR PRTMSG LDX #Model_nx JSR PRTMSG LDX #DEVHDR3 ;Display serial # info HA LDA FUNCADR,X PHA LDX #CLRVPORT JMP PRTMSG ;Routine to display device info DispInfo LDX #DEVHDR1 ;Display device info JSR PRTMSG ENU0STD $1 INX BNE MENU0STD ;Return for main menu CRET0 LDX MENU0SEL SELECT0 TXA STA MENU0SEL ASL A TAX LDA FUNCADR+1,X PENU0STD $1 DEX BPL MENU0STD ;Down arrow for main menu DN0 LDX MENU0SEL CPX #005 ;Number of menu items BNE $1 LDX #000 BEQ M JSR PRTMSG LDX MENU0SEL JMP MENU0HL ;Up arrow for main menu UP0 LDX MENU0SEL BNE $1 LDX #005 ;Number of menu items BNE MEQ $2 LDX #005 ;Number of menu items AND #0DF $1 CMP MENU0LST,X BEQ SELECT0 DEX BPL $1 JMP GETCHR1 $2 LDX #COPYRITE JSR ERRORCK LDA INPUT CMP #UPARROW BEQ UP0 CMP #DNARROW BEQ DN0 CMP #RETURN BEQ CRET0 CMP #OAPL_QM B INDEX+1 LDY #003 LDA #012 STA @INDEX,Y JSR PRTMSG2 LDA #011 STA @INDEX,Y GETCHR1 BRK .BYTE 0CA .WORD READCON ;Print highligted menu item MENU0HL LDA MENU0LEN,X STA PRTLEN1 TXA ASL A TAX LDA MENU0ADR,X STA INDEX LDA MENU0ADR+1,X STA PRTMSG LDX #ESC0 JSR PRTMSG LDX MENU0SEL JMP MENU0HL ;Print non highlighted menu item MENU0STD STX MENU0SEL JSR PRTMSG2 #CMDLINE JSR PRTMSG LDX #VERSION JSR PRTMSG LDX #DATE JSR PRTMSG LDX #MENU0 JSR PRTMSG LDX #MSGWIND JSR ogram routines MAINMENU LDX STACK TXS BRK ;RESET CONSOLE .BYTE 083 .WORD RESETCON JSR ERRORCK MENUINIT LDX #CLRPMPT JSR PRTMSG LDX JSR PRTMSG LDX #SEARCH JSR PRTMSG JSR PREPDATE JSR GETDNAME JSR Wait1sec JMP MENUINIT ;Main Menu and home origin for pr 083 .WORD SETFONT1 JSR ERRORCK BRK .BYTE 083 .WORD SETFONT2 JSR ERRORCK LDX #TITLE JSR PRTMSG LDX #BORDER JSR PRTMSG LDX #Seria_nx JSR PRTMSG LDX #DEVHDR4 ;Display firmware version info JSR PRTMSG LDX #FirmW_nx JSR PRTMSG LDX #DEVHDR5 ;Display LBA support info JSR PRTMSG LDX #AnsYes LDA MODE_ID AND #002 BNE $1 LDX #No_LBA $1 JSR PRTMSG LDX #ify Drive Media Routine VERIFY LDX #CMDLINE JSR PRTMSG LDX #VRFYCMD JSR PRTMSG JSR DISPDRV LDX #CLRVPORT JSR PRTMSG JSR DispInf JSR PRTMSG BIT HALTFLAG BPL PTBLWRIT JMP FMTPTBL PTBLWRIT JSR InitPTbl JSR INCVPOS JSR UDATDRV JMP PAUSE ;Ver #FMTDONE ;display format complete message BIT HALTFLAG BPL $1 LDX #FMTHLTD $1 JSR PRTMSG LDX #NUMERRS JSR PRTMSG LDX #OCCUR DEX LDA VFYERADR+1 STA INDEX+1 LDA NUMERROR STA PRODUCT LDA #000 STA PRODUCT+1 JSR DECIMAL3 STA NUMVLEN LDX call LDA #ATA_Frmt STA @BUFFCALL,Y LDX #ESC4 ;Halt option message for format routine STX ZPGTEMP0 JSR STRTOPER LDA VFYERADR STA INStartFmt LDA #01E JSR PRTBYTE LDX #PROMPT0 JSR PRTMSG LDX #FMTMSG JSR PRTMSG JSR CLRCALL LDY #ATA_Cmd ;Setup low level format rtition table JMP MAINMENU NXTCHNCE LDX #PROMPT0 JSR PRTMSG LDX #ERASEDRV JSR PRTMSG JSR QUERY_YN BCC StartFmt JMP MAINMENU LDX #NOFRMAT JSR PRTMSG FMTPTBL LDX #PROMPT0 JSR PRTMSG LDX #ERASEPT JSR PRTMSG JSR QUERY_YN BCC PTBLWRIT ;Write a blank pa #OAPPLE_P BEQ FMTPTBL CMP #ESCAPE BNE $2 JMP MAINMENU FMTBEGIN LDA MODE_ID ;check if device supports CFA feature set AND #001 BEQ NXTCHNCE 0CA .WORD READCON JSR ERRORCK LDX #CLRMSGW JSR PRTMSG LDA INPUT AND #0DF CMP #OAPPLE_F BEQ FMTBEGIN CMP STA VTPOS JSR INCVPOS LDX #FWARNING JSR PRTMSG $2 LDX #MSGWIND JSR PRTMSG LDX #ESC3 JSR PRTMSG BRK .BYTE LDX #CMDLINE JSR PRTMSG LDX #LFMTCMD JSR PRTMSG JSR DISPDRV LDX #CLRVPORT JSR PRTMSG JSR DispInfo LDA #00A #DEVHDR7 ;Display Total device capacity info JSR PRTMSG LDX #TCapblks JSR PRTMSG LDX #BLOCKS JMP PRTMSG ;LowLevel Format Routine FORMAT DEVHDR6 ;Display CFA features support info JSR PRTMSG LDX #AnsYes LDA MODE_ID AND #001 BEQ $2 LDX #AnsNo $2 JSR PRTMSG LDX o LDA #00A STA VTPOS LDX #PROMPT0 JSR PRTMSG LDX #VRFYMSG JSR PRTMSG JSR QUERY_YN BCC $1 JMP MAINMENU $1 LDX #CLRMSG JSR PRTMSG JSR CLRCALL LDY #ATA_Cmd ;Setup read-verify call LDA #ATA_Vrfy STA @BUFFCALL,Y LDX #ESC5 ;Halt option mesUFFCALL,Y DEY LDA Err_Data+3 ADC #000 STA @BUFFCALL,Y JSR InitBPER JMP NXTBLK2 INCVPOS LDA VTPOS ;increment viewport vertical position DY #Sect_LB LDA Err_Data+1 ;update call address with next block after error ADC #001 STA @BUFFCALL,Y DEY LDA Err_Data+2 ADC #000 STA @BPOS JSR PRTMSG LDA #01C JSR PRTBYTE LDA #002 STA VTPOS $2 JSR INCVPOS INC NUMERROR JSR PrtBdBlk CLC L BMI $1 JSR ATTNOFF ;if not bad block error then report error and exit to menu JMP ErrHndlr $1 LDA NUMERROR ;If first error then clear viewport BNE $2 LDX #VIEWRVR ;Verify Num_Blks BIT HALTFLAG BPL $2 JSR HALTPRG $2 BCC NEXTRK ;Bad block error routine for verify or format device routines BLKVFERR LDA Err_Data R+1 $2 JSR INCRSECT BIT HALTFLAG BPL $3 JSR HALTPRG $3 JSR PRT_GAGE NXTBLK2 BIT HALTFLAG BPL $1 JSR HALTPRG $1 JSR CALLD NEXTRK LDY #Num_Blks LDA @BUFFCALL,Y BEQ $1 ;If Num_Blks=$0 then increment BCTR $0100 CLC ADC BCTR STA BCTR BCC $2 $1 INC BCTPRTMSG LDA #080 ;Turn on attention event STA ATTNBUFF BRK .BYTE 083 .WORD ATTNEVNT JSR ERRORCK JSR CALLDRVR BCS BLKVFERR JSR InitBPER ;Setup counter for gas gage display LDX #MSGWIND JSR PRTMSG LDX ZPGTEMP0 JSR PRTMSG LDX #GASGAUGE ;gas gage progess display JSR POSITION ;percentage counter LDA #032 STA Divisor ;Initialize number of gas gage increments LDA #013 STA GAS_HPOS ;Initialize gas gage starting horizontal position he device, display a gas gage progress indicator, and handle ;user interupt of function STRTOPER TSX STX LOCSTAT LDA #000 STA HALTFLAG STA NUMERROR STA PRTMSG LDX #NUMERRS JSR PRTMSG LDX #OCCUR JSR PRTMSG JMP PAUSE ;Subroutine to perform a function over the entire capacity ;of tDUCT LDA #000 STA PRODUCT+1 JSR DECIMAL3 STA NUMVLEN LDX #VFYCOMP BIT HALTFLAG BPL $2 LDX #VFYHLTD $2 JSR sage for verify routine STX ZPGTEMP0 JSR STRTOPER LDA VFYERADR STA INDEX LDA VFYERADR+1 STA INDEX+1 LDA NUMERROR STA PRO CMP #00E BCS $1 INC VTPOS $1 LDX #VIEWPOS JMP PRTMSG ;Subroutine to print progress & gas gage indicator PRT_GAGE LDA BPERCTR+1 BEQ $0