`L i=L\Ʃx ? N'i  ͭЅ?0ȱ Ѕ?iȱi lԠԠ͠ԠϠŠͮŠ SYSTEM.APPLE   L$J$PASCALSYSYSATCH VISTA VISTA0 ATTACH.DATAvg SYSTEM.ATTACHvgb PBOOT.CODE<vg"% MAKETURN.CODEvg%- PBOOT.LIB^<vg-1ATTACH.DRIVERSg1= READ.ME.TEXTvgbbvbh~ ~ ~ .bv0b(&꽌ɪɖ'*&%&,E'зЮ꽌ɪФ`+*xH&x'8*7Ixix&&  ') + &п x) ++`FG8`0($ p,&") (jJJ>L+ "?I>  N `  ` x V Nx .x- z `V0^*^*>` aI꽌ɪVɭ&Y&&Y& 꽌ɪ\8`&GƁ\ƂƁ\ 6U UD137U UD138U UD139U UD140U UD141U UD142U UD143U UDJVM1 /UDRWI :UNDEFU WRITEBIO  PSTAT .)h~h62LGLGhhhhH~H`hhhhhhhhhh5324010&1&2&3824352300282( D a·ΐީG:VISTA Yrc |צ00EE B00EA Gצ00E8 /07L^ȡ  ɡ؞&s&&4Y  Yj8>x8^< |hhHH`8hhhhhhh h hhȱLC8 ȥ  e ȱ e 8iiHHHH`Jt,40<v^b(-(A needed driver is not in ATTACH.DRIVERSYrc |צ00EE B00EA Gצ00E8 /07L^ȡ  ɡ؞&s&&4Y  Yf8hhhhhhhhGU /@8Y[<>PJLFHJL579;=?ACEGIKMOQSةY  Y eٓYyؤ ١-(A needed driver is not in ATTACH.DRIVERS ȡإYˡצreading driver,!6 d <ȡةYعQ+~ ( .v4nB  00EE BB00E2 B!00EA Gצ00E8 /0 Y ˡY ˡ  4 Yš.,A  IN HEX CHAR--..rZ ڨ铡 VS!4 ٪P,,T تP,,T بġ!4 6SS012345678 9 A B C DEF<Jۨڨš+áġR٪P-././ġh-,,.,04,~TTACH.DATAȡ Y ATTACH.DATA"ˡ(צ#ATTACH.DATA needed by SYSTEM.ATTACHATTACH.DRIVERS"ˡ+&ATTACH.DRIVERS needed by SYSTEM.ATTACHYˡ1צ,Reading segment dictionary of ATTACH.DRIVERتPצERROR =>RETURN to exit SYSTEM.ATTACH:R`Y Yآ آ V6000תSצ6000Nآ V4000תSצ6000+V2000תآ Sצ4000 S6000תצNo records in APRINTU PSUBDR =RREAD RINIT REMIU RELOCATE REMOU RWRITE RSTAT 4SYSTU UD128U  UD129U UD130U UD131U UD132U UD133U LLG DHIHLGHI ŐLG`y7ȱ`H_Hl`P: PM~trpmkigeca_][WTQJ=:   O^xged to UNIT #9"  6  7M "á;7M #4:SYSTEM.TURNKEY" á צ ** ERROR **צ UNIT #9 IS NOT ONLINE PLEASE MOUNT DISK ANDצPRESS "I" TO RE-INITIALIZE  '-BhPhQhhi`e ⽠ I I I`QHPH``RP&%"ht'Root volume has been changed to UNIT #9"  6  7M "á;7M #4:SYSTEM.TURNKEY" á צ ** ERROR **צ UNIT #9 IS NOT ONLINE PLEASE MOUNT "(C) Apple Computer Inc. 1979, 1980(C) U.C. Regents 1979צ" Root volume transfer system byצ The Byte Shop of Miami'Root volume has been chanצWelcome 7M צ , to Apple II Pascal 1.1 צBased on UCSD Pascal II.1 צCurrent date is 7M  --7M  ???ת צJAN Febת צMar Aprת צMay Junת צJul Augת צSep Octת צNov Decתҥ7M  ' FIXER VISTA VISTA  A2H  THE FOLLOWING UTILITIES HAVE BEEN ADDED  TO THE A800'S 5" PASCAL DISTRIBUTION  DISKETTE IN ORDER TO MAKE THE CURRENT  TEMPORARY A800 ATTACHES TO PASCAL A  LITTLE MORE USER FRIENDLY:   (PBOOT.CODE (MAKETURN.CODE (PBOOT.LIB (   THE UTILITon will be "incorrect. " "  Hopefully there will be no major bugs  in the programs or this documentation,  however if there are, please FEEL FREE  TO GIVE US A CALL.    %***** SPECIAL NOTE ***** %  THESE UTILITIES ARE CONSIDERED BY VIST*will be saved with the cor- *rect date. ( The last two inconveniences are "caused by the fact that the system "checks the date and whether workfiles "exist while the Root volume is still "UNIT #4, so that when the system "transfers this informati*keep it from getting a stack- *overflow.) $3. The system date will always *default to the date stored on *your 5" boot drive when the *system is started. This *means that you must set the *date when the system is *started up so that the files ! This can be *prevented by getting into the *habit of saving your files *before compiling or assembl- *ing them. This may seem *awkward, but it is very easy *to get used to. (A good idea *is to select the swapping *option in the compiler to Y WOULD *SUGGEST THAT ALL YOUR EIGHT- *INCH DISKETTES HAVE THESE *TWO FILES TRANSFERRED TO THEM *AS PART OF THEIR INITIAL- *IZATION PROCESS. $2. If the system is restarted in *any way (EXCEPT A CTRL-@ USER *INTERRUPT), the workfiles *will be LOST" (UNIT *#9) drives. THIS IS EASILY *ACCOMPLISHED BY TRANSFERRING *SYSTEM.APPLE AND *SYSTEM.PASCAL (IN THAT ORDER) *ON TO ANY DISKETTE WHICH IS *TO BE USED IN UNIT #9, PRIOR *TO TRANSFERRING (OR CREATING) *ANY OTHER FILES ON THE *DISKETTE. SAFET*the filename which it *contains is excecuted as a *startup file.   A few restrictions are imposed upon  the user of the Root volume transfer  system: $ $1. SYSTEM.PASCAL must start at the $ same block# on both the 5" *(UNIT #4) and the 8ome message is printed *and the system is told that *the Root volume is the disk *in UNIT #9, then the PROGRAM *EXITS TO THE MAIN SYSTEM *MENU. $5. If SYSTEM.TURNKEY exists (It is *created using the *MAKETURN.CODE utility) then 1. UNIT #9 is read to see if it is *ONLINE. $2. If not, then the user is *informed and asked to mount *the disk and press "I" to *restart THE SYSTEM. $3. The program then looks for a *file SYSTEM.TURNKEY. $4. If it does not exist then a *welcANSFER PROCESS AND  NOT THE ENTIRE PASCAL SYSTEM.LIBRARY.  THE FULL SIZED SYSTEM.LIBRARY WILL  NORMALLY RESIDED ON UNIT #9 SINCE  CONTROLLED WILL BE PASSED TO THAT UNIT,  THUS NO NAME CONFLICTS SHOULD RESULT.   PBOOT.CODE EXECUTES AS FOLLOWS:   MATICALLY EXECUTES SYSTEM.STARTUP  AT THE END OF THE BOOT PROCESS.  IN ADDITION, THE FILE PBOOT.LIB MUST BE  TRANSFERRED FROM VISTA0: TO VISTA1:,  AND RENAME (CHANGED) TO SYSTEM.LIBRARY.  PBOOT.LIB ONLY CONTAINS LIBRARY ENTRIES  REQUIRED FOR THE TRNFERRED FROM THE VISTA0:  DISTRIBUTION DISKETTE TO YOUR VISTA1:  PASCAL BOOT DISKETTE (SEE INSTALLATION  PROCEDURES IN A800 MANUAL). ONCE  TRANSFERRED, VISTA1:PBOOT.CODE SHOULD  BE RENAMED (CHANGED) TO  VISTA1:SYSTEM.STARTUP. PASCAL AUTO- the Root  volume to be transfered to UNIT #9; THE  FIRST OF THE EIGHT-INCH DRIVES. This  TRANSFER ALLOWS UNIT #9 TO ACT AS THE  SYSTEM UNIT. IN ORDER FOR PASCAL TO  PERFORM THIS TRANSFER AUTOMATICALLY  FOLLOWING BOOT-UP, PBOOT.CODE SHOULD  BE TRAIES WERE PROVIDED BY RANDY  UBILLOS OF THE BYTE SHOP OF MIAMI.  ANY QUESTION CONCERNING THE USE OF  THESE UTILITIES SHOULD STILL BE  DIRECTED TO VISTA; AND, IF NECESSARY,  VISTA WILL CONSULT DIRECTLY WITH THE  AUTHOR.   The file PBOOT.CODE allowsA  TO BE ONLY TEMPORARY ENHANCEMENTS TO  THE PASCAL SYSTEM RUNNING ON THE A800  CONTROLLER. VISTA'S INTENTION IS TO  PROVIDE OUR CONTROLLER USERS AN  AUTOBOOTABLE EIGHT-INCH VERSION OF  PASCAL AS SOON AS POSSIBLE.      VISTA HEREIN WISHES TO THANK MR. RANDY  UBILLOS AND THE BYTE SHOP OF MIAMI FOR  TAKING THE TIME TO CREATE THESE UTIL-  ITIES. IZE < FBLKSIZE THEN ,BEGIN N := FBLKSIZE DIV FRECSIZE; .WHILE RECNUM-N >= 0 DO 0BEGIN RECNUM := RECNUM-N; 2BYTE := BYTE+N*FRECSIZE; 2WHILE BYTE > FBLKSIZE DO 4BEGIN BLOCK := BLOCK+1; 6BYTE := BYTE-FBLKSIZE 4END 0END ,END; *WHILE RECNUM > 0 DO ,LOCK,N: INTEGER; "BEGIN SYSCOM^.IORSLT := INOERROR; $IF F.FISOPEN THEN &WITH F,FHEADER DO (BEGIN BLOCK := 0; BYTE := FBLKSIZE; *IF (RECNUM < 0) OR NOT FSOFTBUF OR 2((DFKIND = TEXTFILE) AND (FRECSIZE = 1)) THEN ,GOTO 1; (*NO SEEK ALLOWED*) *IF FRECS ' "PROCEDURE FSEEK(VAR F: FIB; RECNUM: INTEGER); PROCEDURE FREADREAL(VAR F: FIB; VAR X: REAL); "PROCEDURE FWRITEREAL(VAR F: FIB; X: REAL; W, D: INTEGER);   IMPLEMENTATION $ "PROCEDURE FSEEK(*VAR F: FIB; RECNUM: INTEGER*); $LABEL 1; $VAR BYTE,B B'LIBARY FOR VISTA STARTUP BY R.U. & B.D.PASCALIOCHAINSTU EM.TURNKEY,, lrPLEASE ENTER THE NAME OFTHE FILE WHICH YOU WOULDLIKE TO HAVE EXCECUTEDUPON SYSTEM STARTUPצOR PRESS FOR NO FILEEnter name -> Pd.CODE׷_צ Filename -> ,צ#4:SYSTEM.TURNKEY,,,FDeleting Startup file,#4:SYSTFOR VISTA STARTUP SYSTEMPLEASE ENTER THE NAME OFTHE FILE WHICH YOU WOULDLIKE TO HAVE EXCECUTEDUPON SYSTEM STARTUPצOR PRESS FOR Ndצ.áPצ.CODEUPצ.CODEæ.codeץÄ%צ Bad extensiondš)Filename too longdV,X ׶  TURNKEY FILE CREATOR"0 MAKETURN BEGIN RECNUM := RECNUM-1; .BYTE := BYTE+FRECSIZE; .WHILE BYTE > FBLKSIZE DO ' "PROCEDURE FSEEK(VAR F: FIB; RECNUM: INTEGER); PROCEDURE FREADREAL(VAR F: FIB; VAR X: REAL); "PROCEDURE FWRITEREAL(VAR F: FIB; X: REAL; W, D: INTEGER); ݢݣޢÄɡ3ڕġ$ڕšš"šޣ Ąޣ ݣ ˡRݣ &ݢ ݢݢ!ݣ "ˡݣ ˄ݢ!ۂnkig^TRPMKIGECA?=;741*eLGrs @HIcdeHLGHIk ŐhhLG`PPMji)lh]h^62LGLGh_h`hh{^H]Hi`hghhhehfhchdhahbh_h`efev5324g0h10&1&2&3824352300n282of%crds @dfoonLGNVISTA ext? ( ׯ,á(+( "ˡ$ Can't find ::9 ƀ:ײ9 ƀ:צSYSTEM.SWAPDISK&:(7,צ*SYSTEM.WRK.CODE[*]To what codتPš++0تPRš&+R+P&P0&Ršز&RPز&PR,VV"6h ssembleצCompile what text? ( ׯ,á(+( "ˡ$ Can't find ::9 ƀ:ײ9 ƀ:צSYSTEM.SWAPDISK&:(7,צ*SYSTEM.WRK.CODE[*]To what cod "PROCEDURE SETCHAIN(TYTLE:STRING); "PROCEDURE SETCVAL(VAL:STRING); "PROCEDURE GETCVAL(VAR VAL:STRING); "PROCEDURE SWAPON; "PROCEDURE SWAPOFF; "  IMPLEMENTATION E :::&:(xáצAssembleצCompile what t$ $ ݞ$' ݑ$ $݂ō $݂ġ ݂$ $ $ȡ%  0 ފ$čV   .ˡ:  Eɡ  -ݑ š 0 0 ߿`ġ(   ݂. ݕ ؂݂3  ݕ 0 . ݑ0 ݕ݂ ؂ ɡ  |, R -   $ $ ݞ$' ݑ$ $݂ō $݂ġ ݂$ $ $ȡ%  0 ފ$čV   .ˡ:  E.áBڲzؼ0ݞ$ڲzjeEÍɍEáޢ >ۓɡ ؼ݀$ ؼݞ$ۡܡ ؼ$ Dɍ -   "ˡ\ݣ ݣ šݢ ݣ ݢݣݣ ݣ ݣݣńݢݣݢݢݢˡݢݢ ۚݢܚ  / |á +-Í-ڲzؼ 0> VISTA VISTA  *the filename which it *contains is excecuted as a *startup file.   A few restrictions are imposed upon  the user of the Root volume transfer  system: $ $1. SYSTEM.PASCAL must start at the $ same block# on both the 5" *(UNIT #4) and the 8e message is printed *and the system is told that *the Root volume is the disk *in UNIT #9, then the PROGRAM *EXITS TO THE MAIN SYSTEM *MENU. $5. If SYSTEM.TURNKEY exists (It is *created using the *MAKETURN.CODE utility) then . UNIT #9 is read to see if it is *ONLINE. $2. If not, then the user is *informed and asked to mount *the disk and press "I" to *restart THE SYSTEM. $3. The program then looks for a *file SYSTEM.TURNKEY. $4. If it does not exist then a *welcomRANSFER PROCESS AND  NOT THE ENTIRE PASCAL SYSTEM.LIBRARY.  THE FULL SIZED SYSTEM.LIBRARY WILL  NORMALLY RESIDED ON UNIT #9 SINCE  CONTROL WILL BE PASSED TO THAT UNIT,  THUS NO NAME CONFLICTS SHOULD RESULT.   PBOOT.CODE EXECUTES AS FOLLOWS:  1 MATICALLY EXECUTES SYSTEM.STARTUP  AT THE END OF THE BOOT PROCESS.  IN ADDITION, THE FILE PBOOT.LIB MUST BE  TRANSFERRED FROM VISTA0: TO VISTA1:,  AND RENAMED (CHANGED) TO SYSTEM.LIBRARY.  PBOOT.LIB ONLY CONTAINS LIBRARY ENTRIES  REQUIRED FOR THE TNFERRED FROM THE VISTA0:  DISTRIBUTION DISKETTE TO YOUR VISTA1:  PASCAL BOOT DISKETTE (SEE INSTALLATION  PROCEDURES IN A800 MANUAL). ONCE  TRANSFERRED, VISTA1:PBOOT.CODE SHOULD  BE RENAMED (CHANGED) TO  VISTA1:SYSTEM.STARTUP. PASCAL AUTO- the Root  volume to be transfered to UNIT #9; THE  FIRST OF THE EIGHT-INCH DRIVES. This  TRANSFER ALLOWS UNIT #9 TO ACT AS THE  SYSTEM UNIT. IN ORDER FOR PASCAL TO  PERFORM THIS TRANSFER AUTOMATICALLY  FOLLOWING BOOT-UP, PBOOT.CODE SHOULD  BE TRAIES WERE PROVIDED BY RANDY  UBILLOS OF THE BYTE SHOP OF MIAMI.  ANY QUESTION CONCERNING THE USE OF  THESE UTILITIES SHOULD STILL BE  DIRECTED TO VISTA; AND, IF NECESSARY,  VISTA WILL CONSULT DIRECTLY WITH THE  AUTHOR.   The file PBOOT.CODE allowsH  THE FOLLOWING UTILITIES HAVE BEEN ADDED  TO THE A800'S 5" PASCAL DISTRIBUTION  DISKETTE IN ORDER TO MAKE THE CURRENT  TEMPORARY A800 ATTACHES TO PASCAL A  LITTLE MORE USER FRIENDLY:   (PBOOT.CODE (MAKETURN.CODE (PBOOT.LIB (   THE UTILITO^" (UNIT *#9) drives. THIS IS EASILY *ACCOMPLISHED BY TRANSFERRING *SYSTEM.APPLE AND *SYSTEM.PASCAL (IN THAT ORDER) *ON TO ANY DISKETTE WHICH IS *TO BE USED IN UNIT #9, PRIOR *TO TRANSFERRING (OR CREATING) *ANY OTHER FILES ON THE *DISKETTE. SAFETY WOULD *SUGGEST THAT ALL YOUR EIGHT- *INCH DISKETTES HAVE THESE *TWO FILES TRANSFERRED TO THEM *AS PART OF THEIR INITIAL- *IZATION PROCESS. $2. If the system is restarted in *any way (EXCEPT A CTRL-@ USER *INTERRUPT), the workfiles *will be LOSTREATE THESE UTIL-  ITIES, AND FOR SUPPLYING THEM TO US FOR  DISTRIBUTION.   CONTROLLER. VISTA'S INTENTION IS TO  PROVIDE OUR CONTROLLER USERS AN  AUTOBOOTABLE EIGHT-INCH VERSION OF  PASCAL AS SOON AS POSSIBLE.      VISTA HEREIN WISHES TO THANK MR. RANDY  UBILLOS AND THE BYTE SHOP OF MIAMI FOR  TAKING THE TIME TO Chowever if there are, please FEEL FREE  TO GIVE US A CALL.    %***** SPECIAL NOTE ***** %  THESE UTILITIES ARE CONSIDERED BY VISTA  TO BE ONLY TEMPORARY ENHANCEMENTS TO  THE PASCAL SYSTEM RUNNING ON THE A800 s information "will be incorrect. " "  NOTICE: THESE UTILITIES MAY NOT BE "VERSION INDEPENDENT. THEY MAY ONLY "EXECUTE CORRECTLY ON APPLE PASCAL "VERSION 1.1. " "  Hopefully there will be no major bugs  in the programs or this documentation,  *will be saved with the cor- *rect date. ( The last two inconveniences are "caused by the fact that the system "checks the date and whether workfiles "exist while the Root volume is still "UNIT #4, so that when the system "transfers TO UNIT #9 thi*keep it from getting a stack- *overflow.) $3. The system date will always *default to the date stored on *your 5" boot drive when the *system is started. This *means that you must set the *date when the system is *started up so that the files ! This can be *prevented by getting into the *habit of saving your files *before compiling or assembl- *ing them. This may seem *awkward, but it is very easy *to get used to. (A good idea *is to select the swapping *option in the compiler to ```````````````````````````````````````````````````````````````````````````````````````````````````````````