LmSOS BOOT 2.2 by B.C. (c) 1985 by ON THREE. SOS KRNLI/O ERRORFILE 'SOS.KERNEL' NOT FOUNDINVALID KERNEL FILExةw,@  4  J  С Сȱ⩤i8# D I S K W I N D O W / / / Disk Block Editor Utility for the Apple /// USER GUIDE D A DataSystems - 1984 -MORE.V2.NOTESR!R-DISKNAME.DAT#R$!R,FLASHNAME.DATJR5cR5%SEG.T Zj1Ÿ/ k!!*SOS.DRIVER ?41Z*SOS.INTERP s4kel! *SOS.KERNEL ,Vl!a-READ.ME.FIRST0P;+USER.MANUAL4?el!s/VERSION.2.NOTES+,!III.DAD.051325Au' *HELLO.TEXTP:HELLO k!*MENU.MAKER }1>*QUICK.NOTEl!*,QUICK.NOTE.2<jo,o,RUN.DISK.WINDOW ) D) 8Lm#im#iЛ#L⡠ȱ С С.6L憦  СLmm l y` @8(Je稽6ʈ Placed into the Public Domain January, 1988 The Disk Window /// software supplied to you is Copyrighted 1984 by D A Datasystems. Although every effort has been made to ascertain correct performance of Disk Win  !"#$%&'()*+,-./0123456789:Be certain everything is BACKED UP before you start to work it over with DW///. TEST OUT and PRACTICE all operations on extra diskettes before going after real live data. THINK TWICE, then once more BEFORE EVERY WRITE BL EXTREMELY DANGEROUS TOOL. Its a trivial exercise to render a diskette unbootable or turn an entire Profile subdirectory into meaningless nonsense... Familiarize yourself with all available SOS and systems internals documentation. WHAT TO DO FIRST Familiarize yourself with the contents of these notes. Recognize the inherent risks associated with using the powerful tool you now own. DISK WINDOW /// is, by dint of being such a powerful tool, also an tand-alone program, simply copy the contents of side two to a disk that has your SOS.Kernal, SOS.Interp (Basic) and the SOS.Driver file for your system. The program can also be placed on a hard disk. asked to turn the disk over and you're on your way. Disk Window may also be run from Basic by typing "Run .d(x)/Hello" where (x) is the disk drive. When you are finished, you will be returned to Menu. Maker on side one. To run as a ser Apple Business Basic and is on side two of this WAP PD disk. Side one is bootable and contains our Menu.Maker program. Obviously, the User Manual for Disk Window /// is on side one. By running the program "Run.Disk.Window" you will be * * -1- Disk Window /// D A DataSystems RUNNING THE PROGRAM(s) Disk Window /// runs undmal file-based structures, Disk Window /// can be quite useful in allowing simple debugging and patching of file data which is ultimately, itself, stored as disk-block data. *able sectors on the disk, the file-type byte in a file directory entry, and the boot code in block 0, for instance. Although its power lies in its granting you the ability to access and change disk data outside of the norcess and alter any location on any Apple /// disk storage device. Using Disk Window /// you can access those parts of the disk which are normally reserved solely for Operating System access. These include the 'bitmap' mapping avail D A DataSystems Description Disk Window /// is a collection of Basic and Assembler language programs which function together to allow you to directly ac// SIG of Washington Apple Pi. D A DataSystems 3792 Windover Hamburg, NY 14075 716-648-2462 Disk Window /// dow ///, we cannot guarantee that it is bug free. WE WILL MAKE EVERY REASONABLE EFFORT to assist you with any problems or questions that may arise. This User Manual has been edited to reflect its Public Domain status by the /OCK command you issue. Practice the UNdo command. Familiarize yourself with all available SOS and system internals documentation. Contact your dealer to obtain the "SOS Reference Manuals". -2- Disk Window /// D A DataSystems Notes on DISK BLOCKs and DEVICES Although different types of disk storage media, and those of differen used for command entry and informational messages. Note that the lower left window with the =====> pointer also logs the current block number and position code (T M or B for Top, Middle or Bottom) e.g. ====> 01C3T. The main willed the 'keyblock' which itself stores, in a two byte hex format, the block numbers of all the data blocks associated with the file. Disk Window /// Display Format The lower 'windows' of the display aredisplay, this notation is most typical of other system internal representations and is relatively standard for 'low level' progframming functions similar to DW///. To give on example, SOS files maintain a special non-data block ca each byte (with values ranging from 0 to 255 decimal) is represented by two digits from the set 0...9,A,B,C,D,E,F. this represents all possible byte valuyes as 00-FF. In addition to allowing a more compact and uniform Disk Window /// D A DataSystems Notes on HEX or Hexadecimal Numbers All numeric representations in DW/// are in base sixteen or 'hexadecimal' notation where the SOS.DRIVER file on your DW/// diskette. Standard Apple /// floppies can hold 140K of data in 280 blocks, the Profile Hard Disk allows for up to 9728 blocks (hex'2600). -3- ndow /// diskette is configured for access to standard floppies .D1 through .D4 and the .Profiule hard disk. For less standard devices you should use the System Configuration Program (SCP) on your System Utilities Diskette to alterat, like every other Apple /// application, Disk Window /// requires that the driver for the device to be accessed reside in the SOS.DRIVER file on the boot diskette that you use. The driver file supplied on the bootable Disk Wihese terms simply identify the currently viewable 256 bytes; the entire 512 are read in and available to you. Since this entire system bottlenecks at the level of the device driver, you are probably not surprised to learn thiew and alter disk data at the level of the 'block'. Since limitations of display size preclude presentation of more than 256 bytes in the more readable format that is used, we make reference to Top, Middle, and Bottom of blocks. Ts for YOU, the application, into the more familiar file structures - paths, files and directories. But ultimately SOS accesses the pieces of a file via block specifications to the device drivers. Disk Window /// allows you to v'blocks'; and regardless of where they are physically located on the disk, each successive block is accessed simply by SOS as a sequentially higher block number, starting at zero. Of course SOS takes care of organizing these blockce Drivers". By allowing the drivers to handle the dirty work of tracks, sectors and interleaving factors, SOS can always request and expect disk data from a device's driver in a standardized format - 512 byte chunks labelled t manufacturers, may actually store data in a variety of different physical formats, one feature of the Apple /// operating system (SOS) is that all devices are accessed through small manufactured supplied programs called "Devindow displays sixteen rows of sixteen bytes of block data in standard hex and ascii equivalents as follows : fff xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx aaaaaaaaaaaaaaa fff xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx aaaaaaaaaaaaaaa fff is the offset of the start of the row in the block ranging from 000-1F0 xx xx... represent sixteen consecutive bytes of hex data aaaa... represent the ascii equivalents, IF ANY, of the sixteen ENTS OF A BLOCK - the CA and CX commands. Only the contents of the currently viewed block may be changed. These two commands change the viewed contents; the Write Block (WB) command actually places the altered block data on the disk. vious (RP) commands repetitively. -5- Disk Window /// D A DataSystems Disk Window /// Command Detail CHANGING THE CONTe, would be a Read Block, followed by View and Change commands, followed by a Write. *** Your most recent command is available as default for next command simply be pressing return. This is handy using the Read Next (RN) and Read Preacter always. *** All command lines are terminated by pressing . Prior to that press, you may edit and alter the command line using left and right cursor keys. *** A typical command sequence,after specifying a devic383) VM WB Write current Block to device WB QT Quit QT *** Note that the parts of the command, if there are more than one, are separated by the comma char SB,nnnn UN Undo restore post-read contents of block UN VT View 'Top' half of block (bytes 0-255) VT VB View Bottom half of block (bytes 256-511) VB VM View Middle of block (bytes 128-ce or file dd RB Read Block nnnn from device RB,nnnn RN Read Next block RN RP Read Previous block RP SB Set Current Block Number to nnnn scii values abc... CX Change Hex - at offset fff in block CX,fff,xxyy... replace with hex values xx,yy,... DD Dump to Destination - dump blocks bbbb to DD,bbbb,cccc,dd cccc to devien rerun and re-specify the device. Device viewing commands are : Command Function Syntax CA Change Ascii - at offset fff in block CA,fff,abc... replace with a the device for the to-be-viewed disk. Be very careful when you go to your .profile or other hard disk. All followup commands will access this device. To change to another device exit to the rerun prompt via the QT command thDisk Window /// Command Summary The first command you will be prompted for is a specification for the device to be viewed. The default is .D1. You may remove the DW/// diskette from the built in drive at this point to allow use of s of the first directory block (#2) of a floppy disk with volume name /DADATA. -4- Disk Window /// D A DataSystems 00 00 00 00 00 00 00 ....u........... 020 00 00 C3 27 0D 15 00 06 00 18 01 2A 53 4F 53 2E ...'.......*SOS. 030 4B 45 52 4E 45 4C 00 00 00 00 00 0C 08 00 2C 00 KERNEL........,. which, by the way, represents the first 64 byte bytes of data in the row. If no standard ascii equivalent exists, a period "." is substituted. For example : 000 00 00 03 00 F6 44 41 44 41 54 41 00 00 00 00 00 .....DADATA..... 010 00 00 00 00 75 00 00 00 00 CA - Change Ascii allows you to specify the new values directly as an ASCII text string of characters. format CA,fff,aaaaaaa... fff is block offset aaaaaa...is ascii substitution data example CA,018,TEST which, for the sample block above, would change bytes 18-1B (hex) to the characters TEST writing the altered block to disk would have the effect of changing the volume name to /DATE preventing use of the UNdo command. -8- Disk Window /// D A DataSystems SETTING THE Current Block Value - The SB command S - This command, with no parameters (format is simply RP), will read the previous block from the device and display the first 256 bytes of it. notes Executing any Read command 'locks in' any preceeding Write 7 reads block F7 (hex... 247 decimal) RN - This command, with no parameters (format is simply RN), will read the next successive block from the device and display the first 256 bytes of it. RP d viewing. It also forces a View Top command to immediately display the first 256 bytes of the block. format RB,bbbb bbbb is a hex specification of the block number to be read example RB,F D A DataSystems READING BLOCK DATA - the RB and RN and RP commands RB - This command Reads the specified block from the already established device and makes it available for changing an to another since the 'printing' format expands. NOTE the allowance for 'NULL' device QUICK-SCAN VIEWING USING * as the destspec. -7- Disk Window /// a sequence of blocks (0-8 here). notes during the Dump you may hit the space bar to pause then any key to continue or type Q to quit back to viewing command entry level. Don't try to dump one whole disk floppy (.Dn assumed specified) to a file on the .profile/misc subdirectory called "fulldisk.dump" - DD,0,8,* a special case which dumps to a null device allowing you to quickly view tput device or file examples DD,2,1A,.printer which will print blocks 2 thru 1A - DD,000,118,.profile/misc/fulldisk.dump which will dump all 280 (decimal) blocks of a the s to a device or file of your choosing and to the screen. format DD,ssss,ffff,destspec ssss is starting block number (hex) ffff is final block number destspec is specification of ou -6- Disk Window /// D A DataSystems PRINTING ONE OR MORE BLOCKS & DUMPING TO DISK - the DD command DD - Dump to Destination. Prints the specified blocka name length of 6 characters). notes No delimiters between successive hex bytes. Offest value, and any other number spec for that matter can be simplified (i.e. 4 instead of 004) ff,xxyyxxyy... fff is block offset xxyy is hex byte substitution data example CA,4,F6444154455354 which would change our volume name to /DATEST (not /DATESTC since the F6 byte specifies STC notes Be careful with upper/lower case... directory entries changed to lower case cannot be accessed by SOS. CX Change Hex allows changed value to be specified as full byte data format CA,fB - Although normal read operations either explicitly specify the block number, or implicitly alter it (RN,RP), there may be times when you which to move the contents of the current data block to a new disk location. Since the Write command only writes the current block, we need a means of changing the current block number without altering the data block contents... the Set Block (SB) command accomplishes notes This is the DANGER ZONE. . This is the only part of this whole system that actually alters your diskette or hard disk. This may not be where you make your typo, but this is where you plug that typ D A DataSystems WRITING an ALTERED BLOCK TO DISK - the WB command WB - This command will write the current block back to the device, regardless of its contents. format WB near the bottom of 'Top' and the top of 'Bottom'. Using VT and VB in succession will show the entire contents of the block. -11- Disk Window /// . format VT or VM or VB example VM will display 256 bytes of current block from offsets 080-18F notes The VM command is included as a convenience to bypass splitting of viewable data NG THE CONTENTS OF THE CURRENT BLOCK - the VT & VB & VM commands VT - These commands will allow you to view different pieces of VB the 512 byte current block. Top, Bottom and Middle 256 VM byte segments respectively that your next Read command renders any preceeding Writes Un-reversable. -10- Disk Window /// D A DataSystems VIEWI WB to re-write the restored block. notes UNdo works because the Read commands actually execute double reads of the specified block and the second copy is set aside. This points to a limitation of UN which is ed the wrong block or device. You might re-read the block and restore the values in locations 0-5, if you remember what they were. Instead simply enter UN, wait a few seconds for the restore, then and to reset the block to the restored values. format UN examples After the following sequence of commands ... RB,6 CX,0,FF0810141AFF WB you realize that you alterhanges to a block and written that block back to disk by mistake. This command will restore the block FOR VIEWING ONLY, back to its state when it was last read. Note that you must still execute a write (WB) comm- Disk Window /// D A DataSystems RECOVERING FROM ACCIDENTAL WRITES - the UN (undo) command UN - Occassionally you will find that you have made significant cate file keyblock which specifies the actual blocks used by the file. Notes Set Block does not alter Data. Only the value of the Current Block. -9accomplishes this ... RB,9F (may need to repeat to get good read) SB,10E WB In addition to this change you will have to find and alter the disk bitmap (block 6) and the appropri this. Format SB Examples Because of occasional verify errors on block 159 of your diskette, you wish to move the contents of that block to unused block 270. The following command sequence o right into the middle of your boot code or disk directory. Don't let the existence of the UN command lull you into a false sense of security. Set a little timer in your head to countdown from ten each time you type WB and take the time to review changes made, current device and the situation in general... then press return. We have not implemented an obnoxious series of "Are You Sure" spect to this manual or with respect to the software described in this manual, its quality, performance, merchantability, or fitness for any particular purpose. D A DATASYSTEMS software is sold or licensed "as is". The entire risk as t -13- Disk Window /// D A DataSystems DISCLAIMER OF ALL WARRANTIES AND LIABILITIES D A DATASYSTEMS makes no warranties, either express or implied, with remand. Then go ahead and take the plunge, Write an altered block to disk... but immediately Undo it. Practice this one. This type of access is a heady thing, go ahead and enjoy it but go ahead slowly. which maps the space allocation of the entire diskette... on profile this extends into blocks 7 & 8. After you are comfortable with Read and View. Find some harmless data or text file and practice the two forms of the Change com003C-0042, 00EE-00F0, and 00FE-0102. Good time for a scratchpad...this is not a Macintosh. Now you can go ahead and view the raw file data. Try to steer clear of block 6 on floppies since it usually contains the "bitmap" .<=>?@AB........ command...VB 100 00 00 00 00 00 00 00 00 00 00 00 00 00 01 01 01 ................ These byte pairs, 256 apart specify, in a keyblock, the actual blocks occupied by the file data. In this case these are 000C, ersed hi-byte/lo-byte format. In our example far above then keyblock for the SOS.KERNEL file is block 0008. Reading block 8 we might find the following : command...VT 000 0C 3C 3D 3E 3F 40 41 42 EE EF F0 FE FF 00 01 02 u 5 which contain the volume catalog and match the ascii data values to your experience with catalogs. Count off 15 bytes for file name then note the one-byte file type value then two bytes for the keyblock pointer in revge, you can work without them (we did ?!) but be prepared for some pretty serious disasters. Make a copy of a floppy and go to work on it. First, stick with Read and View commands to get the feel for DW///. Look at blocks 2 thrm your dealer. They're a bit pricey but worth it. After all, the disk data you will be 'windowing' is all file data or SOS file housekeeping information, the structures of which are detailed in these manuals. If you need a challen// D A DataSystems Suggestions for Use First and foremost we reiterate our suggestion that you pick up a copy of the Apple /// SOS Reference Manual vols. 1 & 2 froa prompt to rerun the program. Responding in the affirmative will allow you to re-specify a device to be viewed then re-enter the command mode. -12- Disk Window /es no parameters. Only the current block is written. ENDING A SESSION WITH A SPECIFIC DEVICE - the QT (quit) command QT - This command, with no parameters (format is simply QT), will return you to type messages since, in our experience, ignoring these just becomes part of S.O.P. anyways... but we'll say it again here : ARE YOU SURE (Y/N) ? Notice that the Write Block command tako its quality and performance is with the buyer. Should the programs prove defective following their purchase, the buyer (and not D A DATASYSTEMS, its distributors or retailers) assumes the entire cost of all necessary servicing, repair, or correction and any incidental or consequential damages. In no event will D A DATASYSTEMS be liable for direct, indirect, incidental, or consequential damages resulting from any defect in the software, even if D >@ABCDEFGHIJKLMNOPQRSTUVWXGA7  3  5  >>< (&20 *, **>> "2*&" " >>  ">> "8""> """"""< SOS DRVR"CUSTOM.3 )((8*,;((*,((+)((9/(p((>3  =9 :9 .(~|L|LNqooGoDDDcc0ccpc]]c"QM"|@@pAATT**|o adjust this program (or any other) please call the /// SIG or bring your questions to our next meeting! s. Most of the time, Daryl Anderson places the program code to quit towards the top of the program. It will be obvious to you where we have made these changes in both parts of this program. If you are not familiar with Basic and wish some help t;=rns you to Menu.Maker rather than ending completely. If you wish to use this program outside of the PD disk, it's a simple matter to load in the two Basic programs involved (Disk.Window and Dskwind.Main) into Basic and change them to fit your need QUICK NOTE 2 Disk Window, as with other D.A.Datasystems disks have been modified a tiny bit to conform to the WAP /// SIG PD disk system. That is, we've fixed the program so that when you have finished working with it, the program retuSTATE. -15- ON OF IMPLIED WARRANTIES IS NOT PERMITTED IN SOME STATES. THE ABOVE EXCLUSION MAY NOT APPLY TO YOU. THIS WARRANTY PROVIDES YOU WITH SPECIFIC LEGAL RIGHTS. THERE MAY BE OTHER RIGHTS THAT YOU MAY HAVE WHICH VARY FROM STATE TO * * * APPLE COMPUTER, INC. MAKES NO WARRANTIES, EITHER EXPRESS OR IMPLIED, REGARDING THE ENCLOSED COMPUTER SOFTWARE PACKAGE, ITS MERCHANTABILITY OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. THE EXCLUSIor exclusion may not apply to you. D A DATASYSTEMS reserves the right to make improvements in the product described in this manual at any time and without notice. The word Apple is a registered trademark of Apple Computer. A DATASYSTEMS has been advised of the possibility of such damages. Some states do not allow the exclusion or limitation of implied warranties or liability for incidental or consequential damages, so the above limitation >> ""*:<"">""""""""""""">>><2"<""">""" ""  ">"6**"""""&*2""""""""""""*,"" "" ">""""""""""""""**6"""""""> >>>xrL ==L: ,lCL <=L: <,n)LL8 L8 u:L8 ;)ߍ;j`; ;j`uBL8 uCL8 u)u;) u;L8    x) `(,  LuL-upp<`uqq=L: vuL L L #1:CY` 9C<m><=m@=>@?AL8 >m<>@m=@<=L8 <m>?=m@AL8 C9L8 ; ;k`;);k`,@`<,m p<L<`<p<`,ms<L=q=L: ,lXґȥӑ,10 h0  `,g0L  ҅ӥĥŰ+,0p 4 Ls  Ls i )"|tȌs|st HH` MjH,: <J h̰ <rh,oL`%CYgu9 Ln90$0%,7 ҥ L$0T,8OK50P;ҥ,8 L%\   8҅¥Ӆé҅L,5,6  & @jIH,5 p  He҅Ґhe…å逅h,23Lhʩd8,h)ec efeede`,5 H  h 4  `5!    4(P 4 4  `,g0L,10kH0 ԥ f0)ĭ9)9҅xh(ĥŐL i,1HȊ©L,52,9-P" a{) b) )ab)a a,h0& &+%a0 +hcefd(c,@cfabdf`cnx  (,4h`dd,9P"<:J H) +̰ H) +ʭcP h̰BTVSPLH   5"ʘ HH` (# (=  0`)aI88  >!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>0# #0~$ <"<"""<< <"""<"><$""< """"  "" 6***""""""""""<""< :< $"""2,"""""**6"""""< >>> <Le Le ,g0L HH`! ( 9EKQWbmz`(" ((è%È`2ȭ3`1`d`c`+È`&È` & IMk`4`5`6`7`8`9`<ȭ=` & @jI`:ȭpȭqé,i0L È`,g HH`LL! l      5  Hdcefh&+si  M0   h) `(" (  (È& 8  `)2ȱÍ3`)1`Ɂ" (cefd`Hc HH`! (`ɖ" (èÈ``,t0L4 HH`L  d!  `ɖ" ( dÈ  ``,t0L4 d0Cս30. , V  @„ȄL5/((((PPPP @``` @@@@`xp<@ @ :H9H` (# ( -l..PcJt`,t$ ( t`tL4`,t0L4www """"""""33333333DDDDDDDDUUUUUUUUffffffffwwwwwwww(C) 1980 Apple Computer (+@EIR[ty} NQ9Copyright (C) 1983 Apple Computer, Inc. Graphics Driver..GRAFIX b """"""""33333333DDDDDDDDUUUUUUUUffffffffwwwww     ! ( 0 7 I N S _  . G R Y f {    ! $ 4 9 F I P S V \ a h m p s x |     ' + < ? D G N U f k p x ?BEJMRUX]`h  2;AGMS[fot|              . 3 6 9 < ? B E H N S V \ _ b w  KORY\aelpu !$(+.147<?BFILORUX]`finsw| !%*/369<+;CNU\eh "*-036<BLORX_fj &+38;?DGLTot <?BGLQgjox',/25:BG̑ʈ0 Ցʭr̈A萠L: ֦ڱΑ0Б֤ h L  p,:0 JfiΥiώJe΅Хiю@ B $p̑бʑΈ0 Б̱ΑʈeمΐeمАA萿 :  `ʝ"`t  !#%')L: 8p,:Jf׮@$PA B $P@/A'ʤ˅΄ϥ̤ͅЄ B $̑бʑΈ0Ƞ h L: $)טɀIim>ٮ@8pذ `$0"8,:Jک@ׅפ؈۩MjL,:08*Ȅ B ,:J}΅н(I I $0;P̑бʑΈ,:JՐrx 0, )ߍ:) J)*PR,T,V( : `,k<,: JI`I`<,:J̰`=m@>,:J}ʅ̽(I I `<Mj,:0pJՐ̑ʈ`pJհ0`ՑʭrpȐ`=m@< B h A$g " x) (,`% (gL,}0, `gé ĩ `:) j:;jN;~j;O,:0'???>>8?>p<<AAA@@8A@q==C)CB)B C}0 x) `(`hh% ( ΍ ύ逅Ñ}`` " ( ĩ~Íĩϭ & &υΠÑΈ~ F ~ҰةeÅÐн},,P,`,g$ ( efh) `xÙ+(`xÙ&(`)4`)5`)6`)7`)8`)9`,i0!M:0p ȱq L `" (~)y ~JJ* I `x|x|,,}P-X~ F }~L } `,`ʝ`))ժuvЭ H ʊJyjhz|ֆ׆ح)JfJf$PIJfש ʈ8 @ש wx LVخ ʊJJJ莟mwwxix 0ޤՐڢ,P<0 )ߍL- J,P,QJ,R,SJ,T,U,W`,t0L40 ( dȅɥŐ ĐL /47=G\x{~'+.149?CGIKMOQSUWY[]_acegikmoqsuwy{}J) ܭL FܪJJJJ)`'+9;=?ACEGINR\aejns~  #&).369<ADGJMP^g $*-06=HLORWcfloruzp Q%Q̑`pPIE1pΦ#$01ʐ1`JJJJ)`%υߥ`1(ȦJJJ`&&*`JJ` **&*&ߥ`J` ***`` ` Jjjߊ` ߊ`JfJfFߪ߆` `JfJfJfF`ߩ`$011̰JJJ LP \LD$7߭$PH8 nߩ nh ߍϭ - k, ϥ- kϱϮEϑʩ`P z  HH` k(h`$0#$E$0p Q%Qʑ`pPIE1p$E$0(L%τ`ϩE҅0Ȅ(fL% ('Άѽн`8Hٰ hIiHمh8Iif٤Φݰ>Jj8ۅe݅eޅ $  m`!J8݅ eۅ$  m` , V $צ!ϤҐ мφi`Jf`<,&ʰ,i8i#Hiihifʦʆi) v`i,ʐi,iPIIʥ)ifʦʆ̐pLj/Fϐ&Ȅ`'@τ`Fϐ@ E҅F8ئȢΆѽϽ`/epɀjff&ݥeepɀjffݠ %)  %)`%  0.)      0  ` ` @ ``8٨JJJ ) u˘ vͽʅ̆`8Hi #i,$0F y բӅLx  mӥmԐL] h `  )`%)8`)    H   ʥ)Ģ    H Ģ L E% %) L 8`ۅ&ۥe륅eٍeڍ808٥8٥ 8مڅ H , V Εm٭mڭ))njnjnjfjfjfj+mӥmԐ8L( Ӣ й` m j`Hآ Hӭԭ h h`8٭028ٍڍ0Z$eٍeڍm٥m8٥08ٍڍ`8٥058ٍڍ0ԭ V 8fxL@ ] I)!) g 80 J8}L y L 0yʽz0 y L7  Lh `*f*&*)` ϭPh0 йPL)`)L` L``  `L` H , 8 V ТΕLϦI ] +)J* g I`LL) @L) L8``Lթ`~L8L)  =H 'HH N M))Mhh0 }LO}~~Șݻ~`}}~L< L }ީ~` ɠɀ)ӮԮmwӥmxԐ mi` HHGH`  &%(-47=FMUX\_jmz  .169DWfy   % * > A H K Z v z }      % , 1 5 : = B K R Z _ b g n s x ~    ) . 6 = J P S X [    $ 3 : = F d  > B H M s `e|&+.QVYcjuy~':{01 % (, :'`'LM :01 `,'0LM& (,'0LMIĥIC ,$P( n(.0- .-L 3L 3`,,P*M#-"x Z)(,,p` *+)+X,,PM#-" 2Z SHRH` (# ($GGjc`,'$ ( 2 *)6Ucfkw &+8;@CJMPSV]bejApple Dot Matrix Printer Driverv7.DMP A Copyright (C) 1983 by Apple Computer Inc.am and associated files. EAD PASCAL TEXT FILES."04=10:"78C";"ANY KEY RETURNS TO THE MENU."!>G$:::".D1/MENU.MAKER",320R",220(204::"79A";""; 2D=1:F=1 <#4;a$ FD=D+1 P#5;a$ZD=60#5;12)dD=60D=1nF=F+1::d$;::Y=1100:Y x13402  CATCH PASCAL TEXT FILES 202 :F*=08:"78C";"SORRY BUT MENU.MAKER CAN'T R".D1/MENU.MAKER",220 d$="" A$="PRINTING "+B$(I),16,B)=01:=0::"80C";A$;:#3,B$(I),16,B)Z=1#3;b$:"78A";b$Z=Z+1:Z=18:1290 1260 #4,B$(I),16,B)#5,".PRINTER"+ž#4#5;12):::".D1/MENU.MAKE30C$="N"C$="n"1160;:=23:=0::"79C";"PRESS ANY KEY TO HALT LISTING": $1020.202 8::Z=1B::=23:=0::"79C";"WOULD YOU LIKE A PRINTED COPY?":1C$:C$<>"Y"C$<>"y"C$<>"N"C$<>"n"1170*C$="N"C$="n"Y[\79C";"PRESS ANY KEY TO HALT LISTING"::202 1020#2,B$(I),16,B)ž#242:::1160Z=1#2;A$:"78A";A$Z=Z+1:Z>1842:::Z=1980*:=23:=0::"79C";"CONTINUE...?":1C$:C$<>"Y"C$<>"y"C$<>"N"C$<>"n"10 MENU.MAKER TEXT MODULESEG=0"MENU.MAKER"890&*X=11000: TEXT SLOW-DOWN LOOP ,X.1,180,22:2,280,21:2,2380,23:z:A$="LISTING "+B$(I),16,B)$=01:=0::"80C";A$;::12)>=23:=0::"I82-A/0M)-/M#-" &0x,) ++`x,`,'0LM ! (```*M#ȩ ȭ-ȩ`,'0LM @>L,, 3,,0-./(,$)x*%)/+(```04@DRTVXZ\^`belv{!$'*-049?BIUcfkw &+8;@CJMPSV]bej!Apple // Super Serial Card Drivert.SSCARD A "߄P(C) ApplvЭ H ʊJyjhz|ֆ׆ح)JfJf$PIJfש ʈ8 @ש wx LVخ ʊJJJ莟mwwxixÈ``,t0L4 HH`L  d!  `ɖ" ( dÈ  ``,t0L4 d0Cս30. , V  @„ȄL5`ʝ`))ժu/((((PPPP @``` @@@@`xp<@ @ :H9H` (# ( -l..PcJt`,t$ ( t`tL4`,t0L4 HH`! (`ɖ" ( """"""""33333333DDDDDDDDUUUUUUUUffffffffwwwwwwww(C) 1980 Apple Computer147:=@CWZadkn9Copyright (C) 1983 Apple Computer, Inc. Graphics Driver..GRAFIX b """"""""33333333DDDDDDDDUUUUUUUUffffffffwwwwwwwwDINS^bkmoqy!$'*-036<?FKUn|  $)036=BEJQX]`ejorw "'.\pqnp aLm bLm cZ ) ` ) `x,X0R p)(`KO} #9<CHKjoz $*-fYuqgQ,V0L@VEPf>i\]M,j,qg$[HX ))hq mm0 stqs[L,j,XLl)`Z5L,lLp,VP VeLE,WWVfLEZZLpnl,Y0g,dP\,]0X]eLERl`)  __ ` ) (`^" ( Ù^ `ÍTȱÍU`n064e0[x R X([ `R )l) )g mmL)` mmL ),d-eYL 8fqn,S0L lHkH`! (rs`^" (x^ÈȌm(`TȭU` n  q `ȩ`,S0L HH`Lfh,V W ,W0x_)_ qnZ[oprsXY\]mKL `,S0LrEąĩEŅq,k0stH 8fqhq:,V0-,X0x R) X)(LW h,TULarȥȑ`,S0LoEąĩEŅ o`n L# HH` (# (ALS`,S$ ( M iR)QKL % "_TUkVW S`% (SLn Zx R)(e Computer Inc. 1983M 0ޤՐڢ,P<0 )ߍL- J,P,QJ,R,SJ,T,U,W`,t0L40 ( dȅɥŐ ĐL  }LO}~~Șݻ~`}}~L< L }ީ~` ɠɀ)ӮԮmwӥmxԐ mi` HHGH`  &`LL) @  .169DWfy   % * > A H K Z v z }      % , 1 5 : = B K R Z _ b g n s x ~    ) . 6 = J P S X [ \x{~'+.149?CGIKMOQSUWY[]_acegikmoqsuwy{}%(-47=FMUX\_jmz'+9;=?ACEGINR\aejns~  #&).369<ADGJMP^g $*-06=HLORWcfloruz/47=G`JJJJ)`%υߥ`1(ȦJJJ`&&*`JJ` **&*&ߥ`J` ***`` ` Jjjߊ` ߊ`JfJfFߪ߆` `JfJfJfF`ߩ`$011̰JJJJ) ܭL FܪJJJJ)`$PH8 nߩ nh ߍϭ - k, ϥ- kϱϮEϑʩ`P z  HH` k(h`$0#$E$0p Q%Qʑ`pPIE1p$E$0p Q%Q̑`pPIE1pΦ#$01ʐ1 ('Άѽн`8Hٰ hIiHمh8Iif٤Φݰ>Jj8ۅe݅eޅ $  m`!J8݅ eۅ$  m` , V $צ! LP \LD$7߭&ʰ,i8i#Hiihifʦʆi) v`i,ʐi,iPIIʥ)ifʦʆ̐pLj/Fϐ&Ȅ`'@τ`Fϐ@ E҅F8ئȢΆѽϽ`/(L%τ`ϩE҅0Ȅ(fL%)  %)`%  0.)      0  ` ` @ ``8٨JJJ ) u˘ vͽʅ̆`8Hi #iϤҐ мφi`Jf`<,ӅLx  mӥmԐL] h `  )`%)8`)    H   ʥ)Ģ    H Ģ L E% %) L 8`ۅ&ۥeepɀjff&ݥeepɀjffݠ %٥8٥ 8مڅ H , V Εm٭mڭ))njnjnjfjfjfj+mӥmԐ8L( Ӣ ,$0F y  h h`8٭028ٍڍ0Z$eٍeڍm٥m8٥08ٍڍ`8٥058ٍڍ0ԭeٍeڍ808@ ] I)!) g 80 J8}L y L 0yʽz0 y L7  Lh `*f*&*)` ` m j`Hآ Hӭԭ` L``  `L` H , 8 V ТΕLϦI ] +)J* g I V 8fxLL) L8``Lթ`~L8L)  =H 'HH N M))Mhh0 ϭPh0 йPL)`)L    $ 3 : = F d  > B H M s `e|&+.QVYcjuy~':{(Z.AUDIO C(C) 1980 by Apple Computer Inc.D vHuH` (# (jjA`,A$ (BC x) @( A`% (ALpx)`(BC `,A0Lp& (,A0Lp9 æĬSɀ֙TȌS 9S`YX`X-,CTERESOURCE UNAVAILABLDIRECTORY FULDUPLICATE VOLUM ERROR Please Press SPACE BAR IN PROGRAM INTERRUPTED%&'(%+.@C$DE FG!H"I'MN#PQRTW(X潭`: 808`:dd@՚H Z#IJJCSTRING TOO LONFORMULA TOO COMPLECAN'T CONTINUUNDEF'D FUNCTIOVARIABLSOS CALFILES BUSNOT SOI/FILE TOO LARGWRITE PROTECDISK SWITCHEBAD PATFILE NOT FOUNPATH NOT FOUNVOLUME NOT FOUNDUPLICATE FILDISK FULFILE LOCKEFILE NOT OPEDEVICE DISCONNECONV&CONV$CONV%LEFT$RIGHT$MID$INSTR>=<^/*-+NEXT WITHOUT FOSYNTARETURN WITHOUT GOSUOUT OF DATILLEGAL QUANTITOVERFLOOUT OF MEMORUNDEF'D STATEMENBAD SUBSCRIPRANGINVOKSTACK OVERFLOREDIM'D ARRADIVISION BY ZERILLEGAL DIRECTYPE MISMATNDEELSCONLISCLEAGENETABTSPCUSINTHEAMOSTEANOEXTENSIODIAFNOAAAAAAAAAAAAAASGNINTABSATYPRECAAAAAAAAAAPDLBUTTONSQRRNDLOGEXPCOSSINTANATNAAAAAAAAAAAASTR$HEX$CHR$LENVALASCTENAACONVOERRLIERKBEOTIMEDATEPREFIXEXFNEXFN%OUTREINDENAAAAAAAPOHOMA SUB$OFTRACNOTRACNORMAINVERSSCALERESUMALEGOTIRESTORSWAGOSURETURRESTOOALOASAVDELETRURENAMLOCUNLOCCREATEXECHAIAAACATALOAADATIMAGCADEAPRIssssssssss\3!z~IssssssssssssIG%ӓ,ssևwn7}|tttUUZ{fzxxˆU膅[L<^ENFONEXINPUOUTPUDIREAWRITOPECLOSATEXABYAAAAAWINDOINVOKPERFORAAFRHPOVP̠Ώ h:gpOn[n٧s]ds3issssssss0b>&dsjs|T}|s[rtuvwxyz{|}~ŭ᭭򭭪𭭠򠭠頭퀠Šӳ頠𠠀𠠠堠젭ӠΠSOS NTRPRHeLZĠР쁭堠堠ՠP򠭠έ魭$(/4:?IXad#ˆ̭U)? VW @ ?ddxtB˩Eʍ@Xx ,P Eʍ(itiBX`,A0Lp HH`! (```,A0Lp HH`L%&S```lBcguwy{}ABB 9::)ѭ [ I[ aυ婶ZeLLL^$%Lae LGidFddddddd.ddddddddd ɕdˏd`Ls  Apple Business BASIC v1.23 - Copyright Apple Computer, 1980-83 LPL(\)&P ěj9ȑ9ȑ99i=:i: >i>`Ɂ7XWWXjnXWi` ]?@@bgchch )^ ]b ]b^b^L\b8g+H__^8_ 9:: Ga.ghh 悅` A` \\ɾ,L<^hhZkKhLhhhe9e:: mLg jei `Ls j:,"hhhhLgɜEɝDɞLb Hɾɺдmhɾ Qp aj pi `p j` jLi j,d wlOZL^L^-L(dPL<^OPMNKLhhLg` Ls ҥ?ieCiLa,  aFL s a iLg ]hhh5h689H: H:HLHKHH6H5HHH` ui` pi` Qp j pi `p i` j jK$L%8eȢЅ iLOPP$pX0S&ȱhȱKȱLe潥ɂ逅$L# $mKL x~ m khLgLsLc h5逢)&a TH THLgL6k8:9: STT`)ɀLK$Lb8gLOPPKLMNhhm Vf0 mLf) mWA 0 -a mL8fW;8<< 悕` 6kLU*i kXX 4XLy \\'_ch_chbi^g \ihh ] Qp aj ih `p b iq bqn %jjg56Ly { b bq | XHWHHHֺh$PLh wlȱȱ%$LWH mh x~  m#W", mȱ28eLeji`Lwl mȱ"Ɂɂ ȱ :, iTjj ȱiVjj8逪XW0 Vf0WHW$ 0X: h ,@dd )e dʙdH &eh(dL ddک,ddLd:e``eLeHELLO ue 5eLse6e:7ee8ee:e`EAd j @a(% -, bLs j {ghhL<^gHhHhH , - b j$% @ag5h6h6hhhhh8g5h6h 悅`6 "]La ud `L  d.CONSOLE[[ TdSdddddd0 ddddd`dd A 6 s e 9c()' 9cKHLI jLdj89弅:彬: 悅`H hɝɞɜ)`dd  6芅 e ()'` e'()HKIL 9cL>hL<^) i!Ls j @aLK$L% :: 悅 lc!)` +b` +b` sL :b#`L,H s h ऊL(,L8f` A KL jLdjOPPKLL h AKL` Ѽ   (`H shLs Aji!S)Lt`SSS`L` z :0.`9::hhgg.%g& $gegަhH逪hhʰ` ҥ [ aLT ҥIJJABB=>>;<<?@@T ě hhhHH  `89$ 0~!L`!sm?iٰcL`S )!a{)Qi ڐ߽S) -ai) -aɢ ɣɍж$HS -ahʥ0SSȩ5%"/װ&hԐɈf0ɔĐ 8,f 8f L_ʅSS=ȄL`ȱi8eiidHddhd) _ ƢLh _L>h jhP _S @a-Qggeg5hih 6i6 "]S" ]$%SSSg a aL^ S S`La8 SiUjjS):,$f 0$ p fHhH_HcH uhch_hhhfhi0hhhB B A` ֥'( )&񦕤LNKM$Lb ě $m wl "m6X6+5 56ɀ56H $mhɀ(Z)& mL k~ wlL ͝dL Nsd# wl^_ ꂅ__hg^`8 悕`gHhHhH5?6@6@*5g5666gҦhhhhhhhhg:e:;e; ;m;`@c@c?be^@e@ _m__^ \Lx] i6g55``BY BSAMHH H]h`L^bLb$%/%5$ &5 &5e$$5e%%$&%$e$% Lk ׫ sHH ~qLPkHHh$0'ph | ZlWȥmW`L$|hXWXL-hm lmmLkl VYZZ{|| w ᐥlmmYZZ LxWXX ox ExYW# kXX 4=^W^0A,^`=8WW>X> 悅XXXL:^ g`L<^ l Jj bx bp,_;Ll  ~q$0P oՅ5R66R l ~ L%l $m0 =k $m#`$L#i)8#Ll  s s( L7bʊ# L-l m hxd5d$0H y^Vy dv88; 54541r |LiHi z xz U{y xy рz xh '~z zLz z~ zm zl zk zj zL{LyJ eyexew~ev~f~ffffJ`5665y5x5w5zEn{z lkj |yjJkjlkmlmi in`emeymlexlkewkjevjLkyi&m&l&k&j8iIiii9fjfkflfmf`nIngjIjgIm lkj`L<^}i0vvvvvj`L656 wh H5Gh`lmm566 Lx5Hȱ5ȱ5 F665 w56h(` x("LH)&h`( '&'`lmm566LxĠLx znInEz{iLx y? zL||uu`8i$iznIii0ĨV y${Wiuu8Iem_B_B`)&N> ȱI8gJJ hhge ghh f feLH>H= x\L|F )XHABB8 __^hHI8e^ @1 @+?%GHHHIJJih BABGHh`$  ě u Дs IJJ^__Lveȱeȱe `LćHƽ Ƽh`$ lȱlLL{ɝɍLɎСL s HI s shmHmHlHHɦ# shmHmHlHH , hHLt  ,, shTTLui ui,L3$0 |Lu xijk6kxyy xxy6i L[ s r$PLsi,L3-hLs L*tɘcɭ_ TTLdd`jk8L|L3L3TL3,L3i LL r$PLLBLsș Ȅ ( qƚƚ` s s),;,=,#,(,,ѼLL<^L<^ llmm$P$?TUJ)TU  ' Lsi imLqLsh E0`H ty ))ELyq  8 $0!PizEn{dUeUi hLqLs `wLr !L2 {}$ 0`QɀX zLs.+"2mXm tL qXXW zzEn{i x }H$ ]kh8 )KLe9e:: }Lgi , p s$8$0p`PL<^Յ H s r ɀ ȱX Hih0 & ?<I?iE W Lq s )L<^ȱQȱȅR dj sLHoUVV$ LhU Lp$ LL<^opL^```?EXTRA IGNORED?REENTER $0pL,`LgXW ׫ k*iXX 4X \\L<^Xii7 { n k$ |WlXVVE$ P% eT{||Hd ̐h p IkLo00$0 L>o "m nV dj$D$ P 膼Lo$0",i [ kLoHSHhp< {}$ p0H 07h ]k ,LmUVV `p F sLn 2 ukLoF вLm jȪЖ LL<^~p l nhhLgOPP` Add# 6d s S SS@Ln A " r ,; s lLn#f  ;П ⭩,SLn "mʆ,S _S% nLh "mL_T ST#L(, U VV ׫$ 0  QpU= d hkddhe##5ddˏdd?Ll ,?#$04dHHd = d hkddˡddhhd`LsL#&F  ; s b 0` L+l$ Nsd#Lzm566ȱ5Ll H# wl m#͉LchL$m QRKLLsh$0LU$v5ui`uei0,iiL0y{n`nI0hhL,yLy |i{ xi` |={{ {LZ{ zL{ |8ii zivjwk xlym* 蕁24(y&x&w&v0⨥ymyxlxwkwvjvL{@jjj)(L{L<^~jklmL y5665m5l5k5n j5i`d,]WXX566 |m5 ^|l5k5n %j5i5` |m l)m |m`znth` |ht`i  y my`i n*` |jkjI*mlinLyFn`nEz0ʢiH xH ?5^6_6_hhXhXhWLk ? % ?Џ`5566` xe5566ɂ66` s p `  zLseff z.!'$ iߪ$ 0 H8eAi\h$ P8 (Lt$ 0}5}} ,kk} , kklm Lٓ[ 80@ 6 2`  dkH) ojhJJJJ ojL 0:i`L<^ jHHHHHH s jhLyqhhh6h6h555_ȱ5VHHHH %L/5H6H6Ht $mlmkljkij8ihn`L,$0DpA q enHi80 @Lyu \ % @u ćh `&m&l&k&j`2L0 և yxLT}$0pLI oբRLi `u LLi u Lui0 ܆ چ,,% п 擩lm0u 1eL5665`iɀ*iH i  @8 ei $ tutt tj ȡhn` t` 0RN0R 0R$n-RRR`i` p`5665i`$0BP?iH i hLbe55f5f6e}Lme6u5u }`6ʈ`v`jip` ? #  ue }~ %u $ چ 0 u}` L uu  ) }Li <i@L{i$i0 p $ 1`ui` LL Lbb `}i~ei^~0] e e^`}`566i5`_cf_cfi^eub` ?^qbep`L<^ ?8b^e` rp`I` ? ㄩp^|be #^b ebbu|beiee^^iL56^f" ऩ थ (! ( ऩ थ (" ( द!LGb8Lऩ@iu +-ELj) e | ^ .' "5 1 p) iIii i)Lm` ?i $0 ׄ $0 $0 ^`Hhth`^Qb ^^ 8` `H Jh(L悈`H逨h` Hh8 Hɀjhji` HihJi(`  ~q$L ɺ b$P i pi$ȱLdjɻƟ dj 柰ީ Lihh sLg  s ! b   s "!!!+|] {n LU{HLʁIڢIڢ-(h#5ᆥ](IڢʥnH BiHɁy U{y рhɁ xhLB` vy{| g|S}dpL}Qz}c0~~D:~L̑56gh6hegehh `iɇoȘ戅 aziȅ xdo`Abi$nFn) i  j g g ^ ܇.Laz͠Lć ^ ׄ& ć ׄ ć ͠L- x |z K{ | T}{ x xnH yxn0 I B xh B Lр |  ZuL.y +|z% T}uH }h{ ~|H !z az ~hJ inIn`L~8;)q4X>Vt~w/z*|cYX ~uƀ1rP aziP | |iɈ { T}i8Huiiu x BU 瀩{h z` |] az 뀩]Laz | i8fe.șR0șRmymlylkykjyj00ڊIi i/ȄȪ)Re.șRI)ЪR0.ȩ+f.8f-RER/8 i:RRRRRR`y`'d |Ģ { &{f o0`LB ` H$ge &{h 80 '~L}H |h |zEn{iLxf d$h0Ly ef q80fL}COt#t$JZ mLKjk8 | ~Lm ^|-$nșRnȩ0iL f~ azea~ } \~ } &{e B{e yx %}ei0nihoi8傐IL|`7 z!L|iD8$n yiLyn)FjjjLyiɠ %}nnI*imLyjklm` s e-o+ smo..IE)2s S -+fh r$h8fL}fg s$gPf8ef B{fp ;<<ccb? @c@ube.a{bb,\(eb cc`ebcA[8饰 a{8`8\e@@He? ]@@?hbbb0 ea ȑbc8L@ @@h5h656H |mHlHkHjHiHl5 8eeghh^__` HHH H bqh hhhn0iɐ1 }L yxL%}\i FHHHHH 6hhhHHlm ,҄ shh)>=>hgh<<;[a{ sL͙ɚʚ `pAƚЙϚŚњ˚ ̚8 悅DDF͚ Κ8 DiFEC CD)ӚDmӚDԚCBКLěŚAݚ⚠IȌ 8 ꂍ  8 ꂅJJ` !7Ri88 pi UŦLUUU HHHHL 2hh LW iL 2hlhkhn jhimhHɗ8 Ls`LIŚ1CUDVDVU Lŧ 0 7U L`L:^֩ ŚEĚ L| Qp QeeRee8 1 V` 痠U` hh R LsL  z (L[ Rީ  @Y%(&:$LU s և ^|iHn %jHkHlHK s n ZlHmH5 s iH jHH楩e ) ,LsLR eՅ7V8U #   785U6VLΔU7e778ҥU^V_bcF_hcCgDhebbc \^__`U8傅UV` |UȱU` L<^ |UUƜ0ƛ ӗWqeWȱWqei W` |8UUWȥVUX`UeUUVUO / +'L U)łiV VL LI 8U 7ȱ7 UU ЯUVULU7V8 p L LZ U qUU qUH85h688V77U U 5qUWȥ6qUX7qWWȥ8qWW ٥IiV) V LVU?e8V je?e>e8U>e5V?e665e=e@eee8 hx57 xLCx8I77JJ8 88` H dhjL YYHH dYZZ oxhhe5566ɂ逅66 wZZY L YIL=m ) s  ʊHYImm shhhhYhZhZHHE` 3YZZ xLCxl5Ym6Z78ߠȘH yxy hL3 j kqHHHH s H , ,H s s ~qhh 1 lhhXhXhWWȱW7ȱW8 eLNLXZWX ` GGH HlHmHmH khmhmhlh hk8j7k8Lޒ e7788IjJkJk )lmm'&`UR{R||L̐: / cRRȹRRȥ Rл s `Lsh sh5lh6mh6mhxhyhy x x Qȱx7ȱx88 Ƃ 7e7888ł75 楽HHȱȱ6H6H5H s =к bqhhh Lshhhh` ~R/mZlmYZ PujHkki^^`H"h{||kjkȱ{ "ie{||  V{|56|6 w&5L<^i8e` ě u8A?pB@B@ )onL܇jkL| Nsdȩ8 NsdL2Lа,L<^ A s ׫ g iq s= sXHXHWHHHH ajL? b rLiq HHH s iqhhh5ȱ6ȱLI65 g5H6 2|Hgȑgʆ5a g5ȑgȥg <^^^__ɂ逅____<;إy6 hlhm^Ȋ^LL:^ȥ5^H^h ͎el5emȆ6п  ͎e^e__ iLZe *& eegggegȱgehh Ľ ,L<^  8` ^LQ ŠhhL6 $P 訽5 ͎56ۥ 8ee L:^?be^@ce@c __^_ \__^;<<6  $Phihi^Ȋ^6RRRRH uhA?B@7B@87F8f7877878L:^7 8*JA5gB6B68 悅h圍h?H@H@HI?J@J@ "]h@h@h?gAhBhBJJ8 悅J圍J7ߚ8BܚLs`䚌B L:^`Ib^JcJcm J_mm嚍J_AgBhBh \^A_B_B` ^"( zM jF566 x}z{6{LҜ #z{{"} GLsL<^ jHHH i dj ٥z{{ j}hhh ;в| |膆  pd8isŠt`dyoopd8ip`J uv`&&&8孪孪宐橈`! @ uA?B@B 悅@=g>h>h ]=i>j>k a=g8i>hj>h 悅ki=5j>6k6k;el)@7Me0u(> ƬƫHH ,hohp` ɩCe0R`ȹR`ee?e@e ue 5e T L=e;e`Lso`n}pm aa`dyo ɃɄ b`" lJJJJYe s ˰L8Ls LԫN l@u=ekPe tMe )llNesOet NeOetMeCOeNeȌ=e>e;e "] a a$% iLg֢   sLj$%`8f  a e ; ` s ɩ` YLILcopL7 z0xH ׫$0_ ;h8fH`aai shH2 h zJJJJf Ik ɩ` ̬ t os YLA ևLLק jWXX` ׫$` ,`HȘe`{ai|a|h kLF  a h ; ` s 欦op б G je б ɩ ̬ 穰t d sd 7L=LVdʆ `! `Ȣ`  婐 ɩ`$ L2u u`I Il8)id`  z Q%e,ȥ,*,- y,,,-,,,ȱ,,- yL+,ȑ,` 2"p-,-L(Ġ %>,i-i8, ȱ,%,W,pp ڠ %p`l  " ) i SOS KRNLb.D1/SOS.INTERPŠ̠Š.D1/SOS.DRIVERР頞 0 ) (lH'&3&'&#e'#%e'%'&"$"$#%'#%h`$eh`L)i   HH `TH..TH..TH..THATS ALL, FOLKS!R`RT RT`#RT RRRRR`0R`RR 㵩:RRL㵆  ~ RR`BLOCKS FREE: BLOCKS USED: TOTAL BLOCKS: sj]"]\AjiGa@aI[5x<^sě xCxEx5eҥV{}g}gkj̐kIk~^hT}27uejewsHH st\hh H PASCODPASTXTTEXT PASDTABINARYFONT FOTO BASIC DATA WPTEXTSYSTEMRESERVRESERVCAT RPSDATRPSIDXAFDISCASMOD AFRPT SCNLIBk;eo $'>ed?eehi?e ueL5e qrL,op ɩ`et?ek;e`hZ L<^hZL<^L=ee>e ?e`opqrst !e5ehe?eLje LjeR=89R>:>:iR:RiRRiRL`8(RR(`EeFe  s bq Vml0L dMeL` bՍe :RRRiRȐȰRe9Re: J 2IHJh*=>> 95:6:6R L1 1Lԫ`L:^  aFL^R, ue 5eLڭR7>e?e5e?eJeKeLje֩ u>e?eՍ>5Ѷ Qܩ<`>`\ʊJJJJ ۍ۩  ˰Fȱ X̰6 0 Lɠ 0ۑۑ8ȱ`H8` ɹ $  8JJJJ8 ` ۠ǽi `< Ȱ+<#5 ې'` ɐ /ݐE`W8`R` 5&i ` Ȱ 0i `<8> ȐT eİF cȰB)Hh5 ˭)*ȑƑȥǑ'(ȑ`L)ɭ)Ѷ*e`M) `ۅH)Ѱ%}ʈh Qܐ'``hi ` p6۽ʹZ5 HȐ/i i `гW8`0( ɐ Ȱ ʮ6E`5 խ ɐ ޢ ȰLȍ۱Ǎ 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۬` # ː`  = O̰)= I`JJJJѶQi Lˢ  0 ̐ `"L˦ `H8`8$$"$= O̰=`$0`#$"0`$0`#$"0#`!qȱi 5H5Ƶ ǽ jh5`L2̩ƍv̥Ǎw̩ÎL%ϠƄǥLj̩۬L~̠HHh` ̐`*ѺG0?M`)J"u-- M8`ۈ)ۅƭۅ 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ڰ񈱴 ˦,+* ʈJj =ؠ yiȩ`y4泱ƳHhz ʠiȱizLA`L;ؠ"  `1` Đ7@8V۩ Lɠ۪8ۊ۠X)JJJƄ X Ġȱ۠ ȍ۱۠ ۭ) ۍ ð*)#  O̰``)(`N8` ) xհۈ ̰آ*գ  Ͱ ݢգ LvL{ؠ;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΅ƱƳ ΰҥ,J泱Ƴ ʰȭۮ ʰͩΪΩۦ eװqȭqLJ  ˰Aۅƭۅ X̰2%&N  ʰƭ X̐`Ӏ堁ӠҠՈ՘̠ƠŠӠ̠ɤӮȪŅ͠Ϊ ܆5 HȰ /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// SIG, Washington Apple Pi 12022 Parklawn Drive Rockville, MD. 20852 (301)-984-030sic; +Q Quits."r12);::"80C";a$;:+w#9,"DISKNAME.DAT":#9;DISKNAME$:#9|d$=DISKNAME$$=23:=0::"80C";d$;::12)201M=3:=14:"This /// SIG Disk is \^ 19";Р,2)", Washington Apple `, Ltd."=4:B$(1)="":B$(2)=""A$=16,B) THEN 240 #1, d$="":=10:"80C";d$ ž#1300I=0"I=I+1:#1;A$(I):290,#1 6L=I-1@j=1:same=0 J:SEG=0 Tœ2030^CT<1CT=1cCT>13000Zha$="{,|,~,}; selects; to new disk; J/2)=4:=+1:ۙ=44B$(J);:J=J+1I:1,180,22:2,280,21:2,2380,23:8A$(1000),B$(1000),C%(511),C$(20),name$(20):=10:=0UCA=128:LCA=UCA+32CT=15 IF PREFIX$= PREFIX$+MID$(B$(I),VOLUME NAME (/DISKNAME) OR DEVICE NAME (.Dx)"P12);::"80C";a$;:Zb$="CHANGING DISKS"$d=23:=0::"80C";b$;::12).n=12:=20:"MAKE A NEW MENU FOR DISK: ";N$xN$)<2110=N$ :210 I=1L(A$(I),A$))200B$0 WAP /// SIG MENU.MAKER PROGRAM (v. 6.2) =".D1"210: Coldstart (320: Warmstart &*X=11000: TEXT SLOW-DOWN LOOP ,X.1 CHANGE DISK SUBROUTINE23œ202:2200<RFa$=" YOU MAY SELECT YOUR DISK BY  :#2,".D1/hello.text" ž#265 (#2;ERIN$ 2ERIN$<40A#2/F=23:=25:"PRESS ANY KEY TO CONTINUE.":G$P".d1/Menu.Maker"d in February, 1989 to reflect some modifications by former WAP /// SIGer Robert Howe. Notes on the changes are in the More.V2.Notes file. We hope you enjoy this program, and many of the others submitted by Daryl into the public domain. ns Daryl Anderson's Disk Window /// + program, a disk block editor that will let you actually dig into a file or program on a block by block basis. Complete instructions are on side one and the program itself is on side two. This disk was update0 WELCOME! WAP /// SIG Public Domain Library Disk Category/Number: DA Datasystems/3DAD-05 Disk Format: Self-booting Basic (Side One ONLY) This disk contai"BASIC 0":150A$="TEXT 0":150A$="CAT 0":150A$="FONT 0":150A$="FOTO 0":150A$(L),"BLOCKS")510*=27:=19:"FREE MEMORY AVAILABLE: ";=7:=20:"80C";A$(L);$:=5:THPOS=4:I=1:IBOTM=J-1:620Q=:=26:=21:1600 =Q:WW=0A=:A=21A=9&oldprefix$=40A=31410: Control C "aborts" program to Basic(:A=13770: Return Selects a file *DA=27:50: Escape to change disks/FA=324000: back out one directory level 3GA=(80+UCA)A=(80+L Run Side Two Program3"TURN THIS DISK OVER TO RUN DISK WINDOW /// +":6"I WILL WAIT A FEW MOMENTS FOR YOU TO DO THAT..."(X=150002X<F(P"OK RUNNING DISK WINDOW /// + NOW."ZX=11000dXn".D1/HELLO" I don't know what will happen if you run this and don't have a clock. There is a quirk as a result of my adding the time -- when you type in a command, you cannot edit the first letter of the command. If you made a typing mistake with the first letter, Notes for the 2.07B version of Disk Window: By Robert Howe WAP /// SIG The main difference between this version and the version DA released into the public domain is that I have added a time display in the upper left corner of the screen. a$,1)="/"5060:s=s-1 5030=a$240 MENU.MAKER 6.2 * Thanks to C.M.Davidson for his help!el; G$:::320H: Error Routine 202:U=11:"79C";"BAD PATH ERROR (NO DISK IN DISK DRIVE OR DESIRED FILE NOT FOUND.)"X=11000:X:::210Z a$="{,|,~,}; selects; back 1 lev 1600 &:WW=1:0 :SEG=1;".D1/S EG.F" SEG=1".D1/SEG.G"diskname$=3802  CATCH PASCAL TEXT FILES 202 :F*=08:"78C";"SORRY BUT MENU.MAKER CAN'T READ PASCAL TEXT FILES."04=10:"M$="NOVEMBER":1750M$="DECEMBER":1750826);"-";M$;" ";Ѡ,2));", ";"19";Р,2);" ";/П,2))=>13П,2))-12;џ,6);:1780$П,2))=0"12";џ,6);:ٟ;$П,2))=>12" PM-":" AM-" 1830WW=1530 =26:=211660,1670,1680,1690,1700,1710,1720,1730,1740^M$="JANUARY":1750hM$="FEBRUARY":1750rM$="MARCH":1750|M$="APRIL":1750M$="MAY":1750M$="JUNE":1750M$="JULY":1750M$="AUGUST":1750M$="SEPTEMBER":1750M$="OCTOBER":1750T 0")2070H540R\A$="RUNNING "+B$(I),16,B)f"79C";A$;:=0pB$(I),16,B) z::SEG=1".D1/SEG.T"t=+B$(I),16,B) yCT=CT+1~240:=24:=0:"@ ..... "DATE.TIME.LINE" ....JM=Ҡ,4,2))BTM1630,1640,1650,0=+IBOTM/2-.5):I=IBOTM:I/2=I/2)I=I-1 œ2120B=B$(I),16)," ")-1 B$(I),"BASIC 0")850B$(I),"TEXT 0")890 B$(I),"CAT 0")1140*B$(I),"FONT 0")18504B$(I),"FOTO 0")1930>B$(I),"PASTXB$(I);v:520: 500THPOS=4:I/2=I/2)I=I-1I=IBOTM THPOS=44:I/2<>I/2)I=I+1I2=-1:I=I-2:IBOTM<30THPOS=44I=IBOTM/2)*2:=+IBOTM/2)-1:CA)"PRINT.ALL": OA+P 3HA=(81+UCA)A=(81+LCA):::: OA+Q Quits 3IA=(83+LCA)A=(83+UCA)"PRINT.SHOW": OA+S 2JA=(68+LCA)A=(68+UCA)/Screen.Savers/HELLON=THPOS:B$(I);XA<8A>11540bA-7640,660,690,720l:=THPOS:xDC5 L3ܵ ɐ /ݐ 8`5 ˥JJJJ8 H h ` ܠ825H h5 ɐ /ݐ 8`Hh ܥ5 `ɥܥܥܥܥ5`܅܅܅܅܅5`( ݰ)Ѻ ݰL ݰӭƅХDžѥL1LUȑ  i ߩLL )  札)  ҩLL` **éL0;` H ) 4 )ߍ) hjjjjۥ0CF = -$(L !LLL&L L-LJ٥eƦ ,L  # ` (L.L…ҥÅ,] Xx,f (I0јIFjFjFji```x@gŽPy+wLwԠ͠ŠԹ.D1 .D2 .D3 .D`HJJJJh)y` (2ϩ 1ޠ== f ɰ`ޭ`5=(5= i Х(`=H h h` ک V `ۅץ  VLFx) ( :` H ) L  .P'pб0 &L:L5'8+8`0Fܢ` ř,Ř 0 8f)J ȈL` 8`څ  Lk%  Lk8Lu텚8嚅 L L Ld V `` ͝de0f`   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+abcabRcdTefVghXijSdfhj RR`^0U ` 0 ʠ0 8 `ůàՠԠàࠝӢӠ ȠDž̖͌͊頀ϐωŠŠӠҠȠγ`%!^0 ^)@`a R =` *^)ـooL]^)?i |TU QTU]qUoqTITsUsprRprqs]ToUXa` RL=Xa` R` *R`X`U T  *\AX[ @F\B9ɏ5\o*Ɂo)[[ @^`U V  *C?^0: ݳ ٢ ^)?i` *)@o `p^ XiH 1h `)X0 8~X 1`C X`)X0`C РǠ𠠐ŠŠӠҠȠƠŮƠҢâӠUAQY @?ZY 9ZYY^TU QZoȥɭ }`` ? }``  }`X0i 8~XX0H }h襯` ©Wéĭ }0W`F X0A */5BL. zF`LLz Lz`Y `Ơ堧 B k L( LO  %   }` ` ?!©UéĩU󥣍V }`` ?)) $p10LYeieLVȱ d0L`Hȱ hh` WɸSI I.ȩ8A 8ɸ4ɠ(H)h h8   `    i Ȣ d` $,)?P^ GL㢮 5L}P.)(Ơ L`ޠ LR  稱 I)0JJJJѤ  БĈ` H`)à`֩ нѽ>`]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`Π'à̠oQ*@A RQL@A `T8`RLSJTKQHIQiHiIKNJ)M8逅OPOPHMIN'a MHNILHOIPaOHPI8JHFKIGFGaHMINNMʆSTL8HSITQQST `Q8STRQ ST`c\ȱc]a  b 5DU e\^e]_ ^_ ^_LH8\^]_?Je\^e]_,78\^]_ ^ݰ_ ^_LH^_ $bL@A^_ang Disk Window /// you can access those parts of the disk which are normally reserved solely for Operating System access. These include the 'bitmap' mapping available sectors on the disk, the file-type byte in a file directory entry, and the boot ] DISK ID#: 3DAD-05 BOOTABLE?: Bootable Disk Window /// is a collection of Basic and Assembler language programs which function together to allow you to directly access and alter any location on any Apple /// disk storage device. Usi /// SIG, Washington Apple Pi 12022 Parklawn Drive Rockville, MD. 20852 (301)-984-0300 WAP /// SIG PUBLIC DOMAIN LIBRARY PDS NAME: Disk Window /// numbers, this program will permit a screen text printout whenever a keyboard input is allowed. Use the KEYPAD NUMBERS for this command. You will see a letter at the upper right screen position indicating your selection. Except for programs which have redefined the use of the keypaden to your printer. Use Control-1 to request screen text printout. Control-2 will toggle from normal to condensed size print. (if you have an Apple DMP) A QUICK NOTE: Included with your SOS.Driver file is the Attach.Driver. An explanation of how to use it follows: The "ATTACH" Driver will let you send a copy of what you see on the scre  )* 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 ddacode in block 0, for instance. Although its power lies in its granting you the ability to access and change disk data outside of the normal file-based structures, Disk Window /// can be quite useful in allowing simple debugging and patchinNotes for version 2.x. Earlier versions of Disk Window were strictly "device block oriented". This meant that access was to a chosen DEVICE and was NOT directly related to more useful data structures such as FILES. Naturally such device-level access allo Search for possible Directory header These are detailed in the following. .ff HELP DISPLAY - the H and ? commands Pressing H or ? will display a menu of help screens available. These include the main "Command Summ are : H and ? Help XD eXamine Device XF eXamine File SA Search for Ascii SX Search for Hex SR Search for Range SD mmand... ===> 0000 Command : The NEW COMMANDS which have been added to the 2.x versionh Search for Directory blks SD,startblk,finblk,dest(*) START with an XD or XF co DD,startblk,finblk,dest(*) Search for Ascii string SA,startblk,finblk,dest(*),aaaa... Search for Hex value list SX,startblk,finblk,dest(*),xxxx... Search posn for value Range SR,startblk,finblk,dest(*),ppllh Read Next RN | Read Previous RP Quit QT | Undo UN Dump to Destination ite Block WB Set Block SB,bb | View Middle VM View Top VT | View Bottom VB Change Ascii CA,loc,aaaa... | Change Hex CX,loc,xxxx... mmand Summary :: Press H or ? for HELP after all commands eXamine Device XD,devicename | eXamine File XF,filename Read Block RB,bb | Wrsession is to specify the object or your attentions via one of the two eXamine commands, XD or XF. sn-TTT D I S K W I N D O W / / / + v-2.05 Co in a file or on a device) for certain specific data. We have added a number of sophisticated Search/Scan functions in this version. At initial startup time Disk Window ///+ will present the following screen: As noted, the first thing you should do in t has been added here. In addition those earlier versions only allowed one form of 'sequential scan' of the data - a sequential "dump" of blocks to a printer or other output device. Many users have requested tha ability to SEARCH sequential blocks (eitherwed for viewing any file or anything at all on a disk, but one had to be familiar with the way in which SOS stores files over a device in order to find all the correct blocks making up the device. Many users have requested a true FILE ACCESS function and iary" screen as well as some useful SOS Filing System information summarized for those of you who don't keep your copy of SOS Reference Manual open next to your machine (!). .ff EXAMINING A DEVICE - the XD command XD - eXamine Device. Will cause all later requests for block access to be 'raw' block numberd for that device. format XD,dname dname is the SOS name of the device you wish to examine or al-FFF (decimal 10-4095) for the characters "JOE' and display the list of 'hits' on the device named .PRINTER. SA,0,FFF,.PROFILE/D1.HITS,^.D1 will search blocks 0-FFF for the character will search blocks 0-117 (decimal 0-279 or an entire floppy disk) for the characters ".D1" and display a list of 'hits' on the CONSOLE. SA,A,FFF,.PRINTER,JOE will search blocks A the .CONSOLE. aaaa is a sequence of ASCII characters if you type a "^" character as the first in the sequence the search will IGNORE CASE. examples SA,0,117,*,.D1 the final block number to be searched dest specifies the destination where you want the list of 'hit' blocks to be displayed indicating * here will display the results on - Search through a specified range of blocks for a specific sequence of ASCII characters. format SA,stblk,finblk,dest(*),aaaa... stblk is the starting block number of the search finblk isw will allow you to read a LOCKED FILE but will NOT allow writing to such a file. In order to unlock to a locked file you must exit DW then type UNLOCK 'filename'. .ff SEARCH/SCAN FOR ASCII TEXT - the SA command SAntion was used to match the block numbering scheme used by devices. This command will automatically perform a 'Read Block 0' command leaving you with a display of block 0 of the file. Disk Windoamed .PROFILE/EZ.DATA notes If you specify a block number beyond the end of the file the error report number 4C will be made. REMEMBER... the 1st block in the file is number 0 not number 1. This conve wish to examine or alter block data on. examples XF,.PROFILE/EZ.DATA/MYFILE will cause all later requests for block read or write to be made on the file named MYFILE in the subdirectory ncted file. The first block of a file is assigned block #0 and each successive block contains the next 512 bytes of the file. format XF,fname fname is any legal SOS filename or pathname which you display window will indicate the name of the device currently being viewed. .ff EXAMINING A FILE - the XF command XF - eXamine Device. Will cause all later requests for block access to refer to the seleer installed in your boot SOS.DRIVER file. This command will automatically perform a 'Read Block 0' on the device once it is selected. Once the selection is made the top line of the main LE device. notes Naturally device access is not allowed on non-block devices (e.g. .PRINTER or .RS232). The device that you wish to examine must be "available" to Disk Window and hence must have a drivter block data on. Note that all legal SOS block device names must begin with a period (.D1, .PROFILE). examples XD,.PROFILE will cause all later requests for block read or write to be made on the .PROFIs ".D1", ignoring case, and send the listing of 'hits' to a file named D1.HITS on the .PROFILE. This search will thus find both ".D1" and ".d1" notes The search will abort whenever an error is encountered in accessing a particular block. This can be used to your advantage in scanning files for which you do not know the actual length (and thus cannot exactly specify the last block till see this translation has taken place. the blocks of a floppy for possible subdirectory header blocks. notes This command is actually internally translated into a "Search Range" command. When the 'Enter Command' prompt re-appears you w format SD,stblk,finblk,dest(*) same as SA exept no 4th parameter. The search will actually be made for values in byte #04 within the range E1-EF. examples SD,0,117,* which will search all SEARCH/SCAN for POSSIBLE DIRECTORY HEADERS - the SD command SD - will search/scan a sequence of blocks for those which are possible subdirectory header blocks. Useful in recovering from a "blown" volume header.called SD for 'Search Dir' (detailed below) but decided to leave in the more generic search for your possible use. Let us know if you come up with any other generally useful "Search Range" functions. .ff of each subdirectory. Such a header block will always have a byte value in the range E1-EF in position 4 (where the second "nybble" specifies the name length). We went ahead and supplied such a function unction might turn out to be useful except for one case... when you have "blown" your volume header and want to rebuilt the directories. A large part of such a rebuild is finding the Header blocks SR,3F,1FF,.printer,800010 which will search blocks 3F-1FF (decimal 63-511) for a value within the range 00-10 (decimal 0-16) in byte number 80 (decimal 128). notes I'm not really sure how the SR fast parameter which specifies : pp the position in each block to be checked (in hex) ll the low value (hex) to be accepted for the byte hh the high value (hex) to be accepted examples NGE OF VALUES - the SR command SR - Checks a specific byte position in each block for a value within a range specified. format SR,stblk,finblk,dest(*),ppllhh same as SA excepting the l this case we appear to be searching for code that alters the SOS Environment Register (at FFDF) since this hex sequence would match the assembler code for STA FFDF. .ff SEARCH/SCAN a POSITION for a RA values to be scanned for. examples SX,0,117,*,8DDFFF will scan blocks 0-117 (decimal 0-279) for the sequence of three hex values 8D DF and FF and print a list of 'hits' on the CONSOLE. InST - the SX command SX - Search through a range of blocks for a specified HEX value or value list. format SX,stblk,finblk,dest(*),xxxx.. same as SA except xxxx specifies a list of Hexadecimal o be searched). By specifying FFF (or 999) as the last block you can effectively tell Disk Window to keep searching until it hits the End Of File error (4C) then abort. .ff SEARCH/SCAN FOR HEX VALUE LI selects; sets Prefix to .D1; aborts."12);::"80C";a$;:d$=DISKNAME$$=23:=0::"80C";d$;::12)1,180,22F=3:=14:"This /// SIG Disk is \^ 1991, Washington Apple `, Ltd."=4:B$(1)="":B$(2)="""A$= ram (on Side Two). USER.MANUAL :Disk Window user manual. VERSION.2.NOTES :Some notes on Version 2 by Robert Howe. MORE.V2.NOTES :Additional notes on Version 2. READ.ME.FIRST :What's on this disk. On Side Two is the Disk Window ///+ progrg of file data which is ultimately, itself, stored as disk-block data. On Side One: QUICK.NOTE :Information about the Attach.Driver QUICK.NOTE.2 :Information about WAP /// SIG changes to Disk Window. RUN.DISK.WINDOW :Run the progMANY THANKS TO /// SIGER ROBERT HOWE FOR MAKING THIS PROGRAM EVEN BETTER! DISK WINDOW ///+ BY DARYL ANDERSON 1,3104), or my mailbox at THREE's COMPANY (804) 747-8752, or even by the US Mail at 2890 63rd Street, Sacramento, CA 95817. Best Wishes, Robert Howe. 't plug in a speaker plug to silence the internal speaker...so out went the beeps. I would be interested in hearing if my handiwork put in new bugs into Disk Window ///. Please let me know if you find any. I can be reached on CompuServe (user #7107just press RETURN in order to get the "Error in Command" message. You will then have the opportunity to start over. I also got rid of many of the "beeps" in the program. I found them annoying, but since my modem cable blocks my speaker jack, I couldn"BASIC 0":40,A$="TEXT 0":406A$="CAT 0":40@A$="FONT 0":40JA$="FOTO 0":40TA$(L),"BLOCKS")370*^=27:=19:"FREE MEMORY AVAILABLE: ";h=7:=20:"80C";A$(L);$r:=5:THPOS=4:I=1:IBOTM=J-1:480|Q=:=26:=21:1400 =Q:WW=0A=:A=21A=9oldprefix$=A=31110A=27:=".D1":980A=13630=THPOS:B$(I);A<8A>11400A-7500,520,550,580:=THPOS:B$(I);:380: 500THPOS=4:I/2=I/2)I=I-1I=IBOTM THPO ɩE` eĐL Ȑ 15WL QL5WW{5 ې'`,55 ې'` ݠ B1 ȩȑ Lɦ8`5  @ R㥶i ` İG8`F34) GLOAD.D$16);1) GRAFIXONX=12000:X::RELEASE:#530 (Version 4.53) |: CHANGE THE FONT".D1/download.inv"C$=B$(I),16,B)array$="C%"name$=34)+C$+34)getfont(@name$,@array$)loadfont(@array$)30#5,".GRAFIX"".D1/BGRAF.INV"D$=B$(I),16,B)name$=34)+D$+;" ";Ѡ,2));", ";"19";Р,2);" ";/П,2))=>13П,2))-12;џ,6);:1580$"П,2))=0"12";џ,6);:ٟ;$,П,2))=>12" PM-":" AM-" 61630@WW=1390J=26:=21:1400 T1400 ^:WW=1:h +r ...... "MENU.MAKER" ":1550M$="FEBRUARY":1550M$="MARCH":1550M$="APRIL":1550M$="MAY":1550M$="JUNE":1550M$="JULY":1550M$="AUGUST":1550M$="SEPTEMBER":1550M$="OCTOBER":1550M$="NOVEMBER":1550M$="DECEMBER":1550826);"-";M$13202=78=11010<9F=23:=0::"79C";"PRESS ANY KEY TO HALT LISTING":P2,280,2 Z1310dn"x ..... "DATE.TIME.LINE" ....M=Ҡ,4,2))BM1430,1440,1450,1460,1470,1480,1490,1500,1510,1520,1530,1540M$="JANUARYH$ SLOW FLASH :120#X=1100: TEXT SLOW-DOWN LOOPX810 Halt Subroutine::=23:=0::"79C";"PRESS ANY KEY TO HALT LISTING.": 1300(=23:=0::"79C";"CONTINUE...?":'(<>89<>121<>78<>110#4,B$(I),16,B)#5,".PRINTER" $ž#4120 .#4;a$ 8#5;a$ B1070LV:=24:=0::-`#8,".D1/FLASHNAME.DAT":#9;FLASH$:#8%jFLASH=110: FLASHER SUBROUTINEtSLOW=110~FLASH/2=FLASH/2):۴ =11:=07 FLAS:=".d1":=12:=0:120=+B$(I),16,B)1408A$(1000),B$(1000),C%(511),C$(20),name$(20):=10:=0 :120;::=23:=0::"79C";"WOULD YOU LIKE A HARD COPY?":1C$:C$<>"Y"C$<>"y"C$<>"N"C$<>"n"1010C$="N"C$="n"120$<>"y"C$<>"N"C$<>"n"850\C$="N"C$="n"1000;f:=23:=0::"79C";"PRESS ANY KEY TO HALT LISTING": p840z2,280,21K:=23:=0::"79C";"TO PRINT OR RETURN TO MENU, HIT THE SPACE BAR":C$:C$<>" "930:ۺ1000 (I),16,B)$=01:=0::"80C";A$;::12)E=23:=0::"79C";"PRESS ANY KEY TO HALT LISTING"::2,280,21 840#2,B$(I),16,B) ž#2910*#2;A$:A$:12304810 >:120*H:=23:=0::"79C";"CONTINUE...?":0RC$:C$<>"Y"CB$(I),"BASIC 0")700B$(I),"TEXT 0")740B$(I),"CAT 0")960B$(I),"FONT 0")1660B$(I),"FOTO 0")1730400A$="RUNNING "+B$(I),16,B)"79C";A$;:=0B$(I),16,B):A$="LISTING "+B$S=44:I/2<>I/2)I=I+1&I2=-1:I=I-2:NIBOTM<30XTHPOS=44I=IBOTM/2)*2:=+IBOTM/2)-1:0b=+IBOTM/2-.5):I=IBOTM:I/2=I/2)I=I-1lvB=B$(I),16)," ")-1 I8`  S`ۈۥۥ۩Íۭۍۭۍ հL¢H8`Jj Ȅ ۍۆeۅiۅ Lɰ ʰWۅۄ ¦J> nʰ0 ̰+泱Ƴ m° x̰ ̐8` m° x̰8 ۢ8 ˰y ` ¥ nʰ泱Ƴ T̰#泪 Ѳ *Ƴ ` L:Ϡ`泑Ƴ` LaĥH8`JȘN8`) ))У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 ` ۠ǽi `< Ȱ+<#5 ې'` ɐ /ݐE`W8`R` 5&i ` Ȱ 0i `<8> ȐT eİF cȰB)Hh5 ˭)*ȑƑȥǑ'(ȑ`L)ɭ)Ѷ*e`M) `ۅH)Ѱ%}ʈh Qܐ'``hi ` p6۽ʹZ5 HȐ/i i `гW8`0( ɐ Ȱ ʮ6E`5 խ ɐ ޢ ȰLȍ۱Ǎ 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ة  )LBѠٳ )8`i (` )N8`*eȱ+eȱ,i۠Ѻ*ȱ+L - ť.Lkҥ. ՅL ͐Ld ~ pа.J/)@߅4