LBSOS KRNLI/O ERRORFILE 'SOS.KERNEL' NOT FOUNDINVALID KERNEL FILExةw,@  4  J  ȱ⩤i8#) ) 8LePascal Startup Program Notes This disk holds two, count 'em two, different Pascal startup programs. After not hearing from Quark for over three months, I decided to write a functional clone of the Pascal Startup program that accompanies Quark's Catalyst e;Ͱ/*PSTART.DOC"@Ͱ6*MENU.MAKER }; >DISKNAME.DAT{1READ.ME.FIRST7 / %SEG.T jŸ/ (INPERT02/ !IIII.BLM.052442Bu' +START.NOTESST; ; BLOOM.STARTUP ͰͰQUARK.STARTUP Ͱ Ͱ *QSTART.AW3!c6Ͱ Ȱ*QSTART.DOC> &<Ͱ Ȱ*PSTART.AW3m#im#iЛ#Lȱ  6L憦  Lsmm l y` @8(Je稽 ʈprogram selector system. After I finished my program, Quark released its program to the non-commercial domain. My first thought was to flush my program and just distribute the commercial-quality Quark program with this disk. Then my ego kicked in. I l bbbbbbbbbbbbbbbb_LNPEDIT Mail List Manager .PROFILE/CATALYST/MLM .PROFILE/CATALYST/MLM/SYSTEM.STARTUP Pascal Menu Editor CATALYST/PMENU.EDIT QUARK.STARTUPvͰ ' 'PASCAL.STARTS wͰ  *PMENU.EDIT Ͱ Y) .SYSTEM.STARTUPͰ - BLOOM.STARTUPvͰ' '*PSTART.LIB^-XͰ# +PSTART.CODE(,$ PSTART.CODE&Ͱа* erly on my printer, a Qume Sprint 5/45 set at 12 cpi and 6 lpi. The Apple Writer printing parameters are as follows: Left Margin (LM) = 12 Paragraph Margin (PM) = 0 Right Margin (RM) = 90 Top Margin (TM) = 3 f this disk. Take your pick. The DOC files can print on any machine. Each is formatted with no left margin and a line length of 78 characters. Each can be viewed on the console "as is" like this READ.ME.FIRST file. The AW3 files are set up to print propTART for Quark's. In two forms. The AW3 suffix implies an Apple Writer /// source file, and the DOC suffix implies a text file "printed" to disk. Look at each. The actual working systems are in the BLOOM.STARTUP and in the QUARK.STARTUP sub-directories oike my clone better than Tim Gill's original version. It's less obtuse and more flexible. No amount of user input can alter/update the Quark program. I'm still open to suggestion. You have a choice. I've documented both programs -- PSTART for mine and QSتP( R2" SYSTEM BUSYJڪP0 PۦתP./  ///ȄA.Oá /0/YYPY0ǠYPASCAL.STARTS' fileצ pascal.startsȡRƩ))*) ywáܶsystem.startup.áצSelect prefix for simple exitצPrefix for exit: ĥPĦׯ!DEFAULT>š,>+ Prefix for simple exit?!~ צUpdate 'Pˡ ááצDelete entry from menuDelete which entryשˡ橐ȡdƩ)Ʃ)P))P*)*)P詐' file not updated. Exit anyway?Pġ򩐙 ަEdit entry in menuצEdit which entryˡצStartup program options:ȡצEdit which item (0 to exit)?or simple exitצ 5) Update 'PASCAL.STARTS' fileájEUpdate (option 5) required to record changes in 'PASCAL.STARTS' FILE.Which option (0 to exit)?éÄNצ0*'PASCAL.STARTS)P "ÄצOptions:צ 1) Add entry to menu 2) Edit entry in menu 3) Delete entry from memory! 4) Select prefix fartup menu editor (version 1.0)P(צ pascal.starts"áP "ÄɄƩ)PƩ)"š"Ʃ)#Ʃ)""á)P"á* á'צStartup program options:Is all this correct?JEdit which item (0 to exit)?ˡ áá ia إ)צ(Pascal st צAdd entry to menuáInsert before which entryשˡ𩐔ġdƩ)Ʃ)P))P*)*)PȡHϲȡ ٛaٛzȄ ٛٛ ( 8 ع)צ Display name? ~)"š)#)"i)צ Prefix path?!~) <*) Program path?!~*) e:+ 3) Program path: ĥ*)PĦׯNONE>š:?>+ ^ ..//P/צ (0 to exit)?]/P؏ع 1) Display name: ) 2) Prefix path: ĥ)PצצNONE>š:?>ڪP-!~-ׯV,V-y-YÍV-n-NÍVVˡVQ^۪Pˡ צStartup programs:././ȡp..š (ĥ.)P*á. צ) /..I/-/Í/Í˄ ../ /˄/ /Í/ áJ ܪP1091ׯ070/1Z/Zȡ$ 001/00Ǹ šǸ 0//00ō 00ˡ0sR 0 ?J]Lim!>Z`0 : B  it: ĥPĦׯ!DEFAULT>š,>+ Prefix for simple exit?!~ צUpdate 'P PSTART Lh.h/hh ` ȹ ̒ /H.H`0.-*$!H!-,1`2`" .CATALYST1~|ysqce hצ$ key diskette in the internal drive. 4PRESS SPACE WHEN THE KEY DISKETTE HAS BEEN INSERTED. á (*Hj$<Pnv%6<e)))צ)))Pצ.Qũ)*áޥhũ)PhP Insert the h$ key diskette in the internal drive.ɡɡ  Insert thhũ)Ph׷h*áh . hצEWhich startup program (RETURN if none, 'Q' to QUIT to Catalyst menu)?ááצ ܥ)צ*pascal.starts"áv"ÄɄNũ)"á)"á))"Ä橐ˡ"Startup programs:ȡš (t the hצ$ key diskette in the internal drive. 4PRESS SPACE WHEN THE KEY DISKETTE HAS BEEN INSERTED. á?%Pascal startup selector (version 2.0)תP(??,ץ?ˡ3?P?תP?׷?P.QP Insert the h$ key diskette in the internal drive.ɡɡ  Inser?צ*interps"áצ*á ȡȡצPASCALˡ2ĥh(hPhצh ɡh"ˍhܪP11ׯ0m1aġ 11 01QˡL/1Z/Zȡ< 001/01/01/9ōǸ 00Ǹ šǸ 0//00ō00ˡ0l ڥ)??׷襒?*áh?PV PצP  -ÍÍ˄#]!~ȄAOá .ۿ..P.Ǡ.P ˄  Í á ئתP Pá.  +á  ˄,,P,Ǡ,P é " SYSTEM BUSYg_F V צ$ key diskette in the internal drive. 4PRESS SPACE WHEN THE KEY DISKETTE HAS BEEN INSERTED. á (*Hj$<Pnv%6<B.tl*Bloom**Pascal Startup Menu* .bl*QSTART*June 8, 1988*Page # * .cj QSTART ALLAN M. BLOOM, PhD CDP Institutional Research, Virginia Tech, Blacksburg, VA 24061 2303 San Marcos Street, Blacksburg, Virginia 24060 Office: (703) 961-7921 Home: (703) 951-2025 | | Pascal Program Selector | | | | PROGRAM file................: .PROFILE/SYSTEM.STARTUP | | LANGUAGE file.......(if req):_________________________________________ | | | MENU EDITOR: Filename:.PROFILE/SOS.MENU | | Program item specification form r installing RTPASCAL.1.1 and Pascal based programs. With the necessary files emplaced, go to the Selector menu and select the menu editor program. Add the following information in whatever Selector menu suits your fancy. .cj _____________________________is typically SYS1.2 or PASCAL. Whatever hard disk subdirectory in which your full Pascal system resides. You may use QSTART with either the Apple Pascal 1.1 Runtime System or your full Pascal development system. See SELECTOR.NOTES on the "Runtime" disk fo it, folks. QSTART must be in the root directory of your hard disk. If you have "Super PMoved" Pascal 1.2 into a hard disk directory, also make the following copy: .cj .D1/QUARK.STARTUP/SYSTEM.STARTUP --> .PROFILE/dirname/STARTUP .lj where "dirname" n the internal drive and use System Utilities to file copy the following: .cj .D1/QUARK.STARTUP/= --> .PROFILE/= .lj This will copy the three QSTART files to the hard disk root directory -- SYSTEM.STARTUP, PMENU.EDIT, and PASCAL.STARTS. No way aroundomates that process. You set the Pascal prefix and type the program's path name once. After that, you simply point to the program you want on QSTART's menu, and your program will be automatically launched. .cj INSTALLING QSTART .lj Put the QSTART disk ime Interpreter, MLM and its "impossible" brethren can be invoked from Selector. If you have the full Pascal development system, you can set the Pascal prefix with the System Filer, then execute the program directly from the Pascal command line. QSTART aut Manager (MLM) is a program that fits both categories. The Selector manual states that MLM cannot be invoked. With something like QSTART, and with a more powerful Pascal interpreter -- either the full Pascal development system or the Apple Pascal 1.1 Runtie Selector to choke. Any program that needs the Pascal (as opposed to the SOS) prefix set to a given value will die under Selector. Some programs make perfectly valid system calls that Selector's version of RunTime Pascal simply cannot deal with. Mail Listt), Quark's Tim Gill released the Apple /// version of QSTART to the non-commercial domain. QSTART is for Selector /// users who cannot invoke one or more of their favorite Pascal based programs from the Selector main menu. Two categories of programs caus "#$%&'()*+,-./0123456789:;< CIS: 76656,1514 BitNet: IRBLOOM @ VTVM1 .lj QSTART (for Quark STARTup) is the "Pascal Startup Program" system that accompanies Quark's Catalyst program selector for the Apple ///. By letter of May 20, 1988 to Allan M. Bloom (Copy available on reques .PROFILE/RTPASCAL.1.1 | | DATA prefix............(opt): | | CHARACTER SET file..(if req): (STANDARD CHARACTER SET) | | KEYBOARD LAYOUT file...(opt): (STANDARD KEYBOARD ARRANGEMENT) | |______________________________________________________________________| .lj If you are using QSTART with your full Pascal development system, the "language file" should be changed appropriately -- .PROFILE/SOS.INTERP for Super PMoved Pascal 1.2 as a program is executed. If just RETURN is pressed, the prefix will be left unchanged. 3. PROGRAM PATH - The pathname of the program that will be run. If just RETURN is pressed, no program will be run. Only the prefix will be set and the startup program willprogram menu. If the first character of this name is an asterisk (*), the user will be prompted to install the program disk in the onboard drive before the program is actually executed. 2. PREFIX PATH - The Pascal system prefix that will be set before the consists of three items. As Quark's Catalyst Version 2 manual states (page 4-2), the three items are defined as follows: .lm+3 .pm-3 1. DISPLAY NAME - A name consisting of from 1 to 34 characters that will be displayed as the program name in the startup | | Which option (0 to exit)? | |______________________________________________________________________| .lj Enter "1" (Press "1" then press RETURN) to add an entry to the QSTART menu. Each entry in the menuy | | 4. Select prefix for simple exit | | 5. Update 'PASCAL.STARTS' file | | | | | | 1. Add entry to menu | | 2. Edit entry in menu | | 3. Delete entry from memor____________________________________________ | | | Pascal startup menu editor (version 1.0) | | Options: to add, delete, or change -- menu entries. .ff .cj EDITING MENU ENTRIES .lj As an example, we'll add a QSTART menu entry for Mail List Manager. Press "1" and RETURN to invoke the menu editor. The screen now looks like this: .cj __________________________Selector menu or press RETURN to reach the Pascal development system's command line. If you invoked QSTART from the "runtime" interpreter, selecting "Q" is the same as pressing RETURN. You will quit to the Selector menu. You may also enter "1" to edit -- | | Which startup program (RETURN if none, 'Q' to QUIT to Catalyst menu)?| |______________________________________________________________________| .lj You can select "Q" to quit to the | | | | 1. Pascal Menu Editor | | | | | | Pascal startup selector (version 2.0) | | | | Startup programs: a menu of Pascal based programs, and you select one. You create and control the contents of QSTART's menu. Fresh from the box, the selection screen starts out looking like this: .cj ______________________________________________________________________ |n example. This is also the form you should use for any named program in your Selector menu that uses QSTART, except you might need to add a character set or keyboard layout file. .cj USING QSTART .lj Using QSTART is simple. The program presents you with be terminated. .pm0 .lm-3 The "add entry" screen asks four questions at screen bottom. As you answer the three questions about the entry items, each will be posted on the main part of the screen. .cj ______________________________________________________________________ | | | Pascal startup menu editor (version 1.0) | | Add entry to menu | | the root is the 4-unit. A Super PMoved Pascal 1.2 is a little odd, at least under Catalyst. It goes for either SYSTEM.STARTUP in the root directory or STARTUP in the SYS1.2 directory. I'm sure it's not random, but I haven't divined the way it works. Magicns. A "real" Pascal automatically invokes the SYSTEM.STARTUP program in what Pascal calls the 4-unit. Normally, the 4-unit is a disk in drive 1, the onboard drive. A PMoved Pascal 1.1 (full or runtime) must reside in the hard disk root directory and thinkst Manager, press "1" and RETURN. QSTART will automatically set the Pascal system prefix as instructed and chain to the MLM program for execution. .cj USAGE NOTES .lj QSTART only works in the root directory -- same as RTPASCAL.1.1, and for the same reaso | | Which startup program (RETURN if none, 'Q' to QUIT to Catalyst menu)?| |______________________________________________________________________| .lj You select a program by entering its number on the menu. To select Mail LisMail List Manager | | 2. Pascal Menu Editor | | | | (version 2.0) | | | | Startup programs: | | | | 1. ith the Mail List Manager example, the menu now looks like this: .cj ______________________________________________________________________ | | | Pascal startup selector the "menu editor" entry), you can exit without invoking option "5" and nothing will have been changed. .cj SELECTING A PROGRAM .lj After you have added one or more programs to QSTART's menu, you may select a program for automatic execution. Continuing we, or modify the menu. The final menu editing option is "5" (Update PASCAL.STARTS). After you have added, deleted, and modified the menu to your heart's content, you must invoke option "5" to make the changes permanent. If you made an error (like deleting In most instances, you want the default system prefix (the volume name of you high capacity disk), so leave this option alone. WARNING: Nothing prevents you from deleting the "menu editor" entry. If you delete that entry, you won't be able to add, delete ESCAPE key. The menu editor program can also delete existing menu entries or edit (change) items in an existing menu entry. Option "4" (Select prefix for simple exit) is used to set the Pascal system prefix when the startup program is exited via RETURN.ct, enter "Y" at the last question to return to the menu editor screen. If the program detects any errors, the word ERROR flashes in the lower left corner of the screen followed by text associated with the error. The error may be cleared out by pressing thP | | | | Is all this correct? | |______________________________________________________________________| .lj If all is corre | | 1. Display name: Mail List Manager | | 2. Prefix path: .PROFILE/CATALYST/MLM | | 3. Program path: .PROFILE/CATALYST/MLM/SYSTEM.STARTU, right? .ff In any event, please don't stick QSTART out in some random directory and expect it to do anything useful. Pascal will be very cross with you and tell you to reboot the system. There is no way QSTART can determine if the prefix path is correct. It can only determine whether or not the prefix is valid -- whether or not the prefix pathname exists. Mail List Manager and Quickfile are two programs that demand proper setting of the Pascal prefix. If a program can't find its data files, look to the p that accompanies Quark's Catalyst program selector for the Apple ///. By letter of May 20, 1988 to Allan M. Bloom (Copy available on request), Quark's Tim Gill released the Apple /// version of QSTART to the non-commercial domain. QSTART is for Selector =?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\ksburg, Virginia 24060 Office: (703) 961-7921 Home: (703) 951-2025 CIS: 76656,1514 BitNet: IRBLOOM @ VTVM1 QSTART (for Quark STARTup) is the "Pascal Startup Program" system QSTART ALLAN M. BLOOM, PhD CDP Institutional Research, Virginia Tech, Blacksburg, VA 24061 2303 San Marcos Street, Blac | End-of-file | |_____|_______________________________________|______________| .lj .tl .ff .blARTUP | | | 5 |Pascal Menu Editor | Menu Entry 2 | | 6 | | | | 7 |CATALYST/PMENU.EDIT | | | 8 | | | | 1 | | Prefix Line | | 2 |Mail List Manager | Menu Entry 1 | | 3 |.PROFILE/CATALYST/MLM | | | 4 |.PROFILE/CATALYST/MLM/SYSTEM.ST_______________________________ | | | | |Line |File contents | Meaning | |_____|_______________________________________|______________| | | rd line is the program to run. The third part is a null line -- nothing but a carriage return. This is a marker denoting the end of the file. The PASCAL.STARTS file corresponding to the above QSTART menu looks like this: .cj _____________________________f the line is null, as is normal, the prefix will be untouched. The second part consists of groups of three lines each, one line for each item describing a menu entry. The first line is the display name, the second is the Pascal system prefix, and the thin ASCII text file that can be viewed or edited with any handy text editor. It is a simple file laid out in three parts. It begins with a one-line entry that specifies the Pascal system prefix that will be set if the startup program is exited via RETURN. Irefix path name you typed as a probable cause of the problem. .cj FORMAT OF THE PASCAL MENU FILE .lj The menu file used by the Pascal Startup Program is called PASCAL.STARTS and resides in the root directory of your high capacity disk. PASCAL.STARTS is a/// users who cannot invoke one or more of their favorite Pascal based programs from the Selector main menu. Two categories of programs cause Selector to choke. Any program that needs the Pascal (as opposed to the SOS) prefix set to a given value will die under Selector. Some programs make perfectly valid system calls that Selector's version of RunTime Pascal simply cannot deal with. Mail List Manager (MLM) is a program that fits both categories. The Selector manual states that MLM cannot be invoked. With sts of QSTART's menu. Fresh from the box, the selection screen starts out looking like this: ______________________________________________________________________ | | | ept you might need to add a character set or keyboard layout file. USING QSTART Using QSTART is simple. The program presents you with a menu of Pascal based programs, and you select one. You create and control the contenour full Pascal development system, the "language file" should be changed appropriately -- .PROFILE/SOS.INTERP for Super PMoved Pascal 1.2 as an example. This is also the form you should use for any named program in your Selector menu that uses QSTART, excCHARACTER SET file..(if req): (STANDARD CHARACTER SET) | | KEYBOARD LAYOUT file...(opt): (STANDARD KEYBOARD ARRANGEMENT) | |______________________________________________________________________| If you are using QSTART with y | | PROGRAM file................: .PROFILE/SYSTEM.STARTUP | | LANGUAGE file.......(if req): .PROFILE/RTPASCAL.1.1 | | DATA prefix............(opt): | | Filename:.PROFILE/SOS.MENU | | Program item specification form | | Pascal Program Selector | | Pascal Startup Menu ______________________________________________________________________ | | | MENU EDITOR: laced, go to the Selector menu and select the menu editor program. Add the following information in whatever Selector menu suits your fancy. QSTART June 8, 1988 Page 1 Bloom Pascal system resides. You may use QSTART with either the Apple Pascal 1.1 Runtime System or your full Pascal development system. See SELECTOR.NOTES on the "Runtime" disk for installing RTPASCAL.1.1 and Pascal based programs. With the necessary files emp"Super PMoved" Pascal 1.2 into a hard disk directory, also make the following copy: .D1/QUARK.STARTUP/SYSTEM.STARTUP --> .PROFILE/dirname/STARTUP where "dirname" is typically SYS1.2 or PASCAL. Whatever hard disk subdirectory in which your full .D1/QUARK.STARTUP/= --> .PROFILE/= This will copy the three QSTART files to the hard disk root directory -- SYSTEM.STARTUP, PMENU.EDIT, and PASCAL.STARTS. No way around it, folks. QSTART must be in the root directory of your hard disk. If you have o the program you want on QSTART's menu, and your program will be automatically launched. INSTALLING QSTART Put the QSTART disk in the internal drive and use System Utilities to file copy the following: ment system, you can set the Pascal prefix with the System Filer, then execute the program directly from the Pascal command line. QSTART automates that process. You set the Pascal prefix and type the program's path name once. After that, you simply point tomething like QSTART, and with a more powerful Pascal interpreter -- either the full Pascal development system or the Apple Pascal 1.1 Runtime Interpreter, MLM and its "impossible" brethren can be invoked from Selector. If you have the full Pascal develop Pascal startup selector (version 2.0) | | | | Startup programs: | | | | 1. Pascal Menu Editor | | | | | | 1. Display name: Mail List Manager | | 2. Prefix path: .PROFILE/CATALYST/MLM | | 3. Program path: .PROFILE/CATALYST/MLM/SYSTEM.STARTUP | | Pascal startup menu editor (version 1.0) | | Add entry to menu | | try" screen asks four questions at screen bottom. As you answer the three questions about the entry items, each will be posted on the main part of the screen. ______________________________________________________________________ | RN is pressed, the prefix will be left unchanged. 3. PROGRAM PATH - The pathname of the program that will be run. If just RETURN is pressed, no program will be run. Only the prefix will be set and the startup program will be terminated. The "add ens name is an asterisk (*), the user will be prompted to install the program disk in the onboard drive before the program is actually executed. 2. PREFIX PATH - The Pascal system prefix that will be set before the program is executed. If just RETUCatalyst Version 2 manual states (page 4-2), the three items are defined as follows: 1. DISPLAY NAME - A name consisting of from 1 to 34 characters that will be displayed as the program name in the startup program menu. If the first character of thi | |______________________________________________________________________| Enter "1" (Press "1" then press RETURN) to add an entry to the QSTART menu. Each entry in the menu consists of three items. As Quark's Select prefix for simple exit | | 5. Update 'PASCAL.STARTS' file | | | | Which option (0 to exit)? | | 1. Add entry to menu | | 2. Edit entry in menu | | 3. Delete entry from memory | | 4. | | Pascal startup menu editor (version 1.0) | | Options: | | n example, we'll add a QSTART menu entry for Mail List Manager. Press "1" and RETURN to invoke the menu editor. The screen now looks like this: ______________________________________________________________________ | QSTART June 8, 1988 Page 2 Bloom Pascal Startup Menu EDITING MENU ENTRIES As aevelopment system's command line. If you invoked QSTART from the "runtime" interpreter, selecting "Q" is the same as pressing RETURN. You will quit to the Selector menu. You may also enter "1" to edit -- to add, delete, or change -- menu entries. | | Which startup program (RETURN if none, 'Q' to QUIT to Catalyst menu)?| |______________________________________________________________________| You can select "Q" to quit to the Selector menu or press RETURN to reach the Pascal d | | | | Is all this correct? | |______________________________________________________________________| If all is correct, enter "Y" at the last question to return to the menu editor screen. If the program detects any errors, the word ERROR flashes in the lower QSTART June 8, 1988 Page 3 Bloom t in some random directory and expect it to do anything useful. Pascal will be very cross with you and tell you to reboot the system. There is no way QSTART can determine if the prefix path is correct. It can only determine whether or not the prefix is vait works. Magic, right? QSTART June 8, 1988 Page 4 Bloom Pascal Startup Menu In any event, please don't stick QSTART outory and thinks the root is the 4-unit. A Super PMoved Pascal 1.2 is a little odd, at least under Catalyst. It goes for either SYSTEM.STARTUP in the root directory or STARTUP in the SYS1.2 directory. I'm sure it's not random, but I haven't divined the way the same reasons. A "real" Pascal automatically invokes the SYSTEM.STARTUP program in what Pascal calls the 4-unit. Normally, the 4-unit is a disk in drive 1, the onboard drive. A PMoved Pascal 1.1 (full or runtime) must reside in the hard disk root direcpress "1" and RETURN. QSTART will automatically set the Pascal system prefix as instructed and chain to the MLM program for execution. USAGE NOTES QSTART only works in the root directory -- same as RTPASCAL.1.1, and for | | Which startup program (RETURN if none, 'Q' to QUIT to Catalyst menu)?| |______________________________________________________________________| You select a program by entering its number on the menu. To select Mail List Manager, | | 2. Pascal Menu Editor | | | | | | Startup programs: | | | | 1. Mail List Manager ks like this: ______________________________________________________________________ | | | Pascal startup selector (version 2.0) | | othing will have been changed. SELECTING A PROGRAM After you have added one or more programs to QSTART's menu, you may select a program for automatic execution. Continuing with the Mail List Manager example, the menu now looAL.STARTS). After you have added, deleted, and modified the menu to your heart's content, you must invoke option "5" to make the changes permanent. If you made an error (like deleting the "menu editor" entry), you can exit without invoking option "5" and nf you high capacity disk), so leave this option alone. WARNING: Nothing prevents you from deleting the "menu editor" entry. If you delete that entry, you won't be able to add, delete, or modify the menu. The final menu editing option is "5" (Update PASCies or edit (change) items in an existing menu entry. Option "4" (Select prefix for simple exit) is used to set the Pascal system prefix when the startup program is exited via RETURN. In most instances, you want the default system prefix (the volume name o Pascal Startup Menu left corner of the screen followed by text associated with the error. The error may be cleared out by pressing the ESCAPE key. The menu editor program can also delete existing menu entrlid -- whether or not the prefix pathname exists. Mail List Manager and Quickfile are two programs that demand proper setting of the Pascal prefix. If a program can't find its data files, look to the prefix path name you typed as a probable cause of the problem. FORMAT OF THE PASCAL MENU FILE The menu file used by the Pascal Startup Program is called PASCAL.STARTS and resides in the root directory of your high capacity disk. PASCAL.STARTS is an ASCII text file that can be viewed o $ "TYPE DECMAX = INTEGER[36]; STUNT = RECORD CASE INTEGER OF 12:(W2:INTEGER[4]); 13:(W3:INTEGER[8]); 14:(W4:INTEGER[12]); 15:(W5:INTEGER[16]); 16:(W6:INTEGER[20]); 17:(W7:INTEGER[24]); 18:(W8:INTEGER[28]); 19:(W9:INTEGER[32]); 110:(W10:I]_`abcdefghijklmnopqrstuvwxyz{|}~g: H*LONGINTIPASCALIOSOSIO CHAINSTU & Page 5 | | | 8 | | End-of-file | |_____|_______________________________________|______________| QSTART June 8, 1988 | 4 |.PROFILE/CATALYST/MLM/SYSTEM.STARTUP | | | 5 |Pascal Menu Editor | Menu Entry 2 | | 6 | | | | 7 |CATALYST/PMENU.EDIT | | | 1 | | Prefix Line | | 2 |Mail List Manager | Menu Entry 1 | | 3 |.PROFILE/CATALYST/MLM | | | | | | |Line |File contents | Meaning | |_____|_______________________________________|______________| | | ird part is a null line -- nothing but a carriage return. This is a marker denoting the end of the file. The PASCAL.STARTS file corresponding to the above QSTART menu looks like this: ____________________________________________________________ prefix will be untouched. The second part consists of groups of three lines each, one line for each item describing a menu entry. The first line is the display name, the second is the Pascal system prefix, and the third line is the program to run. The thr edited with any handy text editor. It is a simple file laid out in three parts. It begins with a one-line entry that specifies the Pascal system prefix that will be set if the startup program is exited via RETURN. If the line is null, as is normal, the NTEGER[36]) /END; ' " "PROCEDURE FREADDEC(VAR F: FIB; VAR D: STUNT; L: INTEGER); "PROCEDURE FWRITEDEC(VAR F: FIB; D: DECMAX; RLENG: INTEGER); "  IMPLEMENTATION L E ^JECommand: E(dit, R(un, F(ile, C(omp, L(ink, X(ecute, A(ssem,  &  * عteVG8  )   uh[NA4'á (&آڢ٢آ&'ڢڢá ޡ?šڢڢ'ޡڢڢڢ~ڢ n( ȡ ۞$(@ $( $( ۡ#š #ȡšڢۑڢ.!ɡܢڕܢښ $"ڢܢۢڢ`` ڢ 2#آڢ٢آ*$آڢ٢آ(%آڢ٢آɄɡ& 8ݍ á ބݍݍܓ܄>ۢۢۢۢۢNۢۢۢܕ( trToNum(VAR decstr: string; poweroften: integer ): real;  procedure NumToStr( r: real; fixed: boolean; placecount: integer; 4var s: string; var expon: integer );  IMPLEMENTATION E and: E(dit, R(un, F(ile, C(omp, L(ink, X(ecute, A(ssem,) PROCEDURE FSEEK(VAR F: FIB; RECNUM: INTEGER); PROCEDURE FREADREAL(VAR F: FIB; VAR X: REAL); PROCEDURE FWRITEREAL(VAR F: FIB; xx: REAL; e1, e2: INTEGER); FUNCTION SUPER_MOD(A,B : INTEGER) : INTEGER; FUNCTION SUPER_DIV(A,B : INTEGER) : INTEGER;  function Shhƀ 0ȑƀ0hJJJJ 0ȑ) 0ȑƀĆLOL,3-'~{vvvvvvvvvvvZTNlb3 `\[TOG@;:3(  T[Fc= YP12 &%& FTYP13 &%& FT ei|ʽ 8襁i}ƅ|L,hƀhhh8hohlhXhhhFffff80)ƅܥ#FfII懥HHL,LGhhhhhƀhh-Ȅʈƅ})H揥>ʈƅ ~擥  抦|ɥ8包~ƅLII懩&&u`hh HHHHHL,}ʈƅFyʈƅ}ʈƍƎƋƊЌإL2d|e~28ʈƅyʈƅƉ` _LWŁ|}ƅLwE||怦}ʚH恺8倅偪ƅ  ILL, _LwLL,E0LL _Lw ILL,ELL _LwEe8刅刪ʈʈݒ&~ƀLV~HHL,~HH~HHHHHHL,~ʈƅFHHHH恥HL,0~}ʈƅ0I愊iʈؚH恥LŁ|} ƅLw ~~8ʭ==` 5l 5 l 5lhzh{hƁhhhƁ}eʆƀƀ|ʊe~8偅z{lzhhhhhh8冐 0 h HHHL,LGIL,h hBCʈ _.ł( Ł|} ŀ}|z Z   :    ( tV8$@hvhwhhxylxh:vwlv8<<+-Í-۲0ݡߑ ع      ' \)  ɡ-Í á ܑ ) '!Í ) % ɡ    ~ɡ  ~"ˡǀġg/  ( ǀ > *ڨ ɡ(MMMM܏M܏T+ܨ ء '$H`:hhhhhhH50HHH`*hhhh LHH`4hhhhhhhhhhhhhhhhȑ**ȩȑ&HHHH`h hhhhhhhhHHHHHH`(0 2) l` 0 2) l` 0 2) l` 0 2) l` hhhhhh404)@ 4) HHH š)  ȡ0ˡ š  *ݡ W~ ٦***תP(š_ۡɡڑ ɡá0PÄ,ߡצ-QP<ˡ;,ɡ#??P?0Q?P>>.P>8??P?8U?P/ؑ>,>Nš N>>š3=>?=?ȡ#@@P@צ0Q@P==ȡ5=?=?ȡ#ˡ/14 ڡؼáڡؼZš0áۀ š ۀ*ByO7>zS8ȡ ȄPšPMšM/(<<<0Eá4+á4-á4.1.Ǹ ɡ ۏ01ۑ+-4.L0Ná=;á/Ä ڡؼ1A3N3'Ä!4' Ä1./-+á -á0Ná1. 2 .á0Eáa4.12,ɡ1.0آ  "10ˍ8,ɡ 1ɡؿ 0ÄL2٢10ˡ103آ1 41á?˄??&@ۂ"ˡu??š???#?$???$?#ń ?#?$?ۚ?$ܚ?AAA?AˡA  5~ 09Ȅ.!~Ȅ/azōaA??@ɡ??"@?Ä?á?????,? >"Má? > >? >á @@@ Ą @ ?ˡ\?%,?%???&@?"% ,    ݂܂F  -    ޏݏ@܏ޏ@ݏ܏ޏݏ܏܏ ݏ ܏- +$&!&%š#$ە##š##$"$##ɡ#"ɡ2ݓ&&Í&&&á&"&!)&%&&Í&&"&!)$%&&!!$$#ȡ!ˡ ء##ȡ''0'Q'Phhhhhhhhhhhh&FffHHHHHH`Phhhhhh⨥HH`,hhhhhhhhhh訪 横v E 詀 vE 詀  Lj0 fLfJJJi䨩ȩ50,8 &5&  6 F5L L5HH`~u$hhhhhhhhhh訪 横 Ji&&0 fL]fJJJi&& Function SOS_Write ( RefNumb : Integer; Var OutputBuf; NumbBytes : Integer; 7Var RetCode ) : Boolean; Function SOS_S_Write ( RefNumb : Integer; Var OutputBuf; OffSet, 9NumbBytes : Integer; Var RetCode ) : Boolean; Function SOS_Close ( RefNumb : Integemb : Integer; Var InputBuf; BytesReq : Integer; 6Var BytesRead, RetCode ) : Boolean; Function SOS_S_Read ( RefNumb : Integer; Var InputBuf; OffSet, 8BytesReq :Integer; Var BytesRead, RetCode ) : Boolean; Integer; Var RetCode ) 9: Boolean; Function SOS_Open ( Var Path; ReqType, Pages : Integer; Var SysBuf, RefNumb, 6RetCode ) : Boolean; Function SOS_New_Line ( RefNumb, Flag : Integer; NewCh : Char; Var RetCode ) 7: Boolean; Function SOS_Read ( RefNue, FileList; ListLeng : Integer; :Var RetCode ) : Boolean; Function SOS_Volume ( Var DevName, VolName, TotalBlks, FreeBlks, RetCode ) 5: Boolean; Function SOS_Set_Prefix ( Var Prefix, RetCode ) : Boolean; Function SOS_Get_Prefix ( Var Prefix; Length : Function SOS_Destroy ( Var Pathname, RetCode ) : Boolean; Function SOS_Rename ( Var OldPath, NewPath, RetCode ) : Boolean; Function SOS_Set_Info ( Var Pathname, FileList; ListLeng : Integer; :Var Retcode) : Boolean; Function SOS_Get_Info ( Var Pathnam981 1982 1983 Apple Computer Inc.rce): INTRINSI''')xPxxINTEGER xREAL &J~CHAR \n SOS_D_Info ( DevNo : Integer; Var DevName, DevList, RetCode ) 5: Boolean; {$ENDC} {$IFC SOS_File_IO} Function SOS_Create ( Var Pathname; FileID, AuxID, Storage, EOFBlk : Integer; 8Var RetCode ) : Boolean; ,Copyright 1D_Status ( DevNumb, StatusCode : Integer; 9Var StatusList, RetCode ) : Boolean; Function SOS_D_Control ( DevNumb, ControlCode : Integer; :Var ControlList, RetCode ) : Boolean; Function SOS_Get_D_Num ( Var DevName, DevNumb, RetCode ) : Boolean; Functio { Set to TRUE to compile SOS calls for: } {$SETC SOS_File_IO := TRUE} {$SETC SOS_Device_IO := TRUE} {$SETC SOS_Utility_IO := TRUE} {$SETC SOS_Memory_Mgt := TRUE} {$SETC SOS_Plus_IO := TRUE} {$IFC SOS_Device_IO} Function SOS_v :2D"\.< z 048VID K6ANU8HVIDS ZA\A!8H@DIRRANGEA~AA8MTID CAAN8HFULLID VJAA8H HH`7hhhhhhhh訪 H & *HHH`6hhhhhhhhHHHH`&hhhhhheȑȦ0+L4-I8i  L6i0i0HH`.`4j rXJF8IȱjE Ȅ橀إHH`zhhhhhhhhhh[ȱ)uD*&**u&L&*** ʈHH5qjȑHHHH`\hhhhhhhh  0<Ȱ& u E   ؠ ) JJJJ 0ȑ ) 0ȑᘠHH`hhhhhhR0H*v  u&&v&E& &詀&L&&ť&&ʈHH`o'hhhhhhhhhhhh bL)5Ffeyumꩀ5JA1SKQL51QF55(5ȱr; Var RetCode ) : Boolean; Function SOS_Flush ( RefNumb : Integer; Var RetCode ) : Boolean; Function SOS_Get_B_Mark ( RefNumb : Integer; Var BlockNumb, RetCode ) :: Boolean; Function SOS_Get_B_EOF ( RefNumb : Integer; Var BlockNumb, RetCode ) 9: Boolean; Function SOS_Set_B_Mark ( RefNumb, Base, BlockNumb : Integer; Var RetCode ) :: Boolean; Function SOS_Set_B_EOF ( RefNumb, Base, BlockNumb : Integer; Var RetCode ) 8: Boolean; Function SOS_Get_Mark ( RefNumb : Integer; Var Low, Hi, RetCode ) : Booh(h)hhhhhhh_h`hhh\h^][[ xȑ)H(H`86.*'$"!^h(h)hhhhhhh_h`hhheheL :h(h)hhhhhhh\h[[ xȑ)H(H`"@h(h)hhhhhhh\h[hh^hh]hh\h[[ xȑ)H(H`,)&" Nh(h)hhhhhhhhh_h`hh^]h\h[[ xaȑb)H(H`B@742.,+(! rh(h)hhhhhhhhh_h`hhheheLj @Lh(h)hhhhhhh^hhh]\[[ xȑ)H(H`0&# Rh(h)hhhhhhhhhhe]dhcha[t_u`hbhhh\[ x^ȑ)H(H`SROMIHGFEDB8652h(h)hhhhhȑ)H(H`QA10-*'%$lh(h)hhhhhhhhhhhhhh_]^\[[ xb`ȑca)H(H`A@=:7541.'$ h(h)hhhhhhhh]\[[ xȑ)H(H`%"hh]\[[ xȑ)H(H`%"Lh(h)hhhhhhhhhh_]^\[[ xȑ)H(H`-,)&#! ^ÍL č>h(h)hhhhhhh`hhhhh_]^\[[ xh\h^`]_ a[[ xȑ)H(H`8430-*'%$ lh(h)hhhhhhh fh*geh]hdhhbhchah`r^s_hh\[[ xȑ)H(H`]ZWVUSPNLHGFED;865h(h)hhhhhhYL) 5h(h)hhhhhhhh^_h]hh\h[[ xȑ)H(H`G0-+($"!`h(h)hhhhhhhhhh[\][ x^ȑ)H(H`+(%#"Zh(h)hhhhhhhhhh ) : Boolean; Function SOS_G_Seg_Info ( SegNumb : Integer; Var FiveInts ) : Boolean; Function SOS_G_Seg_Numb ( SegAddr : Integer; Var SegNumb, RetCode ) : Boolean; Function SOS_Rel_Seg ( SegNumb : Integer; Var RetCode ) : Boolean; {$ENDC} {$IFC SOS_Plus_IO} Function Up_Load ( Var Char_Set ) : Boolean; Function At_Sign ( Var Object ) : Integer; {$ENDC} Implementation E Integer; Var FiveInts ) : Boolean; Function SOS_Change_Seg ( SegNumb, ChgMode : Integer; Var Pages, =RetCode ) : Boolean; Function SOS_G_Seg_Info ( SegNumb : Integer; Var FiveInts ) : Boolean; Function SOS_G_Seg_Numb ( SegAddr : Integer; Var SegNumb, RetCode ) : Boolean; Function SOS_Rel_Seg ( SegNumb : Integer; Var RetCode ) : Boolean; {$ENDC} ory_Mgt} Function SOS_Request_Seg ( Base, Limit, SegId : Integer; Var SegNumb, =RetCode ) : Boolean; Function SOS_Find_Seg ( SrchMode, SegId : Integer; Var FiveInts ) : Boolean; Function SOS_Change_Seg ( SegNumb, ChgMode : Integer; Var Pages, =RetCodeity : Integer ) : Boolean; Function SOS_Set_Time ( Var Time ) : Boolean; Function SOS_Get_Time ( Var Time ) : Boolean; Function SOS_Get_Analog ( Mode : Integer; Var Value, RetCode ) : Boolean; Function SOS_Terminate : Boolean; {$ENDC} {$IFC SOS_Mem Function SOS_Set_Lev ( Level : Integer; Var RetCode : Integer ) : Boolean; Function SOS_Get_Lev ( Var Level : Integer ) : Boolean; {$ENDC} {$IFC SOS_Utility_IO} Function SOS_S_Fence ( Priority : Integer ) : Boolean; Function SOS_G_Fence ( Var Priorlean; Function SOS_Get_EOF ( RefNumb : Integer; Var Low, Hi, RetCode ) : Boolean; Function SOS_Set_Mark ( RefNumb, Base, Low, Hi : Integer; Var RetCode ) 7: Boolean; Function SOS_Set_EOF ( RefNumb, Base, Low, Hi : Integer; Var RetCode ) 6: Boolean; [ xȑ)H(H`"@h(h)hhhhύ&hhhhh\h[[ xm]m^^m_j^jȑ)H(H`MA=;:2/.,) th(h)hhhhэNL7 h(h)hhhh΍7hhh _h*`^ah]hh\h[[ xȑ)H(H`A:7431.*(' hh(h)hhhhЍL h(h)hhhhύ1hhhhhhh\h[`[ x]_ȑ^`)H(H`M;7421.+$! th(h)hhhhэL_ h(h)hhhh΍5hhhcval(VAR val: string); &{Pascal 1.1 additions for application support} &FUNCTION set_prefix(new_prefix: string): boolean; &PROCEDURE get_prefix(VAR current_prefix: string); &PROCEDURE get_pathname(VAR pathname: string); &{Pascal 2.0 additions} &PROCEDURE stop_exec; #IMPLEMENTATION N E &PROCEDURE getcval(VAR val: string); &{Pascal 1.1 additions for application support} &FUNCTION set_prefix(new_prefix: string): boolean; &PROCEDURE get_prefix(VAR current_prefix: string); &PROCEDURE get_pathname(VAR pathname: string); &{Pascal 2.0 צNot a block devicePצSegment request deniedPצSegment table fullPצInvalid segment numberPצSegment not foundPئInsufficient heap spaceתPצ?No files were selected from directory or the directory is emptyPئ%Pathname does nfoundתPئFile not foundתPئDirectory is fullתPצIncompatible file formatPצEnd of file would be exceededPئPosition out of rangeתPצAccess not allowedPצ File is busyPצNot a SOS volumePצDuplicate volume errorPVV.VVVVצ.V šڹئDevice name not foundתPצResource not availablePצ I/O errorPئDevice is write-protectedתPצInvalid pathname syntaxPئPath not foundתPئVolume not &PROCEDURE setchain(tytle: string); &PROCEDURE setcval(val: string); 1073 lines compiled in 2.30 minutes. . 7.088.225.226.227.228.251.252.253.ǾV ɡ(VVצ00VV.VGdɡ'VV0:.oolean; Function SOS_G_Seg_Info ( SegNumb : Integer; Var FiveInts ) : Boolean; Function SOS_G_Seg_Numb ( SegAddr : Integer; Var SegNumb, RetCode ) : Boolean; Function SOS_Rel_Seg ( SegNumb : Integer; Var RetCode ) : Boolean; {$ENDC} H` Dh(h)hhhh)H(H`Copyright 1981,1982,1983 Apple Computer, Inc.2347h*h+HH+H*H`&&&&v~.T4JPVz :@* : 8 R  x]L( )H(H`40-+*!Vh(h)hhhhhhhhh\h][D[ x^ȑ)H(H`,*'%$Th(h)hhhhhhh\h[E[ xȑ)H(H`"@h(h)hhhhhh  x)H(hh]hh\h[e^ȱ_A[ x^L8 )H(H`DA=:7310' lh(h)hhhhhhhhh]hh\h_^[B[ x^ȑ_)H(H`<93/,*)& jh(h)hhhhhhh\h[dC[ x(H`Rh(h)hhhhhhhhh\h[d[ xȑ⨪])H(H`0,*)Veh(h)hhhhhhhhh`hh^h_h\h][@[ xaȑ)H(H`:7531.,+& hh(h)hhhhh)hhhhh\h[`[ x)H(H`2h(h)hhhhhh[a[ x\ȑ)H(H`>h(h)hhhhhhii[\]b[ x)H(H`Lh(h)hhhhhhii[\]c[ x)H`hah^h_h]hh\h[[ xȑ)H(H`?97531.*(' fh(h)hhhhЍ L h(h)hhhhhhh\h[[ xȑ)H(H`"@h(h)hhhhhh[[ x\ȑ)H(H`>h(hadditions} &PROCEDURE stop_exec; #IMPLEMENTATION X E te stringlength must be even or else change code} &PROCEDURE setchain {tytle: string} ; {$p} )BEGIN {setchain} ,IF length(tytle)>sizeof(chainfile)-2 THEN /chainfile := copy(tytle, 1, sizeoتPRš+R+PP4تPRšG+R+PGP4GRšزGRPزGPR0ȡپ á* š*۾١:/˄ /P /á your hard disk. If you have "Super PMoved" Pascal 1.2 into a sub-directory, also copy: .D1/BLOOM.STARTUP/PSTART.CODE --> .PROFILE/dirname/STARTUP .D1/BLOOM.STARTUP/PSTART.LIB --> .PROFILE/dirname/STARTUP.LIB where "dirname" isand use System Utilities to file copy the following: .D1/BLOOM.STARTUP/PSTART.CODE --> .PROFILE/SYSTEM.STARTUP .D1/BLOOM.STARTUP/PSTART.LIB --> .PROFILE/SYSTEM.STAR.LIB No way around it. PSTART must be in the root directory ofone who has not purchased Catalyst. PSTART or the Catalyst program can be used interchangeably in a pure Catalyst, a pure Selector, or a Catalyst/Selector system. INSTALLING PSTART Put the PSTART disk in the internal drive se PSTART in place of the standard Catalyst program, but to no real advantage unless you like my style. Both programs do the same thing. PSTART was written as a service for Selector users since the Catalyst program is copyrighted and may not be used by anythe program's path name once. After that, you simply point to the program you want on PSTART's menu, and your program will be automatically launched. PSTART is compatible with Catalyst, and performs quite like Catalyst's Pascal Startup Program. You can u invoked from Selector. If you have the full Pascal development system, you can set the Pascal prefix with the System Filer, then execute the program directly from the Pascal command line. PSTART automates that process. You set the Pascal prefix and type he Selector manual states that MLM cannot be invoked. With something like PSTART, and with a more powerful Pascal interpreter -- either the full Pascal development system or the Apple Pascal 1.1 Runtime Interpreter, MLM and its "impossible" brethren can beas opposed to the SOS) prefix set to a given value will die under Selector. Some programs make perfectly valid system calls that Selector's version of RunTime Pascal simply cannot deal with. Mail List Manager (MLM) is a program that fits both categories. T Commercial Rights Reserved PSTART is for Selector /// users who cannot invoke one or more of their favorite Pascal based programs from the Selector main menu. Two categories of programs cause Selector to choke. Any program that needs the Pascal (Vb < 0ݪPܪP0š YY0PYǠYPF D ۮ   ڪPXP šEצ:š  >#צ*צ:á >š{-NVWf-N@ȡQ-Pצ:-á:ײPN? XP ??زP>پ/ˡ צ/P?8??زP>? pp~*0< 0ݪPܪP0š YY0PYǠYPF D ۮ   ڪPXP šEצ:š  >#צ*צ:á >š{-NVWf-N typically SYS1.2 or PASCAL. Whatever hard disk subdirectory in which your full Pascal system resides. PSTART July 7, 1988 Page 1 Bloom Pascal Startup Menu You may use PSTART with either the Apple Pascal 1.1 Runtime System or your full Pascal development system. See SELECTOR.NOTES on the "Runtime" disk for installing RTPASCAL.1.1 and Pascal based programs. With the necessary fi Pascal Startup Menu You can select "Q" to quit to the Selector menu or press RETURN to reach the Pascal development system's command line. If you invoked PSTART from the "runtime" interpreter, selecting "Q" is the same as pressing RETURN. You will ETURN for Pascal. | |______________________________________________________________________| PSTART July 7, 1988 Page 2 Bloom | |______________________________________________________________________| | | |Select an item by number or arrow. ESC edits menu. R | | [ Q ] QUIT | | | | ________________ | | | PSTART: Pascal Program Startup Selector AMB v.06/88 | |______________________________________________________________________| | number, you can press "Q" whenever PSTART asks you for an item number. You create and control the contents of PSTART's menu. Fresh from the box, the selection screen starts out looking like this: ______________________________________________________arate programs. If you have fewer than 10 menu entries, a single numeric keystroke will select any item. If you have more, you must press two keys to select an item less than [10] -- the number and the RETURN key. While "Q" is not normally thought of as a of Pascal based programs, and you select one. You may use the up/down arrow keys to highlight the desired program, then press RETURN to launch it. In addition to the "arrow/RETURN" method, you may also select a program by number. PSTART can handle 33 sepou should use for any named program in your Selector menu that uses PSTART, except you might need to add a character set or keyboard layout file. USING PSTART Using PSTART is simple. The program presents you with a menu ______________________________________________| If you are using PSTART with your full Pascal development system, the "language file" should be changed appropriately -- .PROFILE/SOS.INTERP for Super PMoved Pascal 1.2 as an example. This is also the form y| DATA prefix............(opt): | | CHARACTER SET file..(if req): (STANDARD CHARACTER SET) | | KEYBOARD LAYOUT file...(opt): (STANDARD KEYBOARD ARRANGEMENT) | |________________________ | | | | PROGRAM file................: .PROFILE/SYSTEM.STARTUP | | LANGUAGE file.......(if req): .PROFILE/RTPASCAL.1.1 | | | MENU EDITOR: Filename:.PROFILE/SOS.MENU | | Program item specification form | | Pascal Program Selector les emplaced, go to the Selector menu and select the menu editor program. Add the following information in whatever Selector menu suits your fancy. ______________________________________________________________________ | quit to the Selector menu. You may also press the ESCAPE key to "edit" -- to add, delete, or change -- menu entries. EDITING MENU ENTRIES As an example, we'll add a PSTART menu entry for Mail List Manager. Press ESCAPE to invoke the menu editor and the bottom line asks: ______________________________________________________________________ | | | Add, Change, or Delete entry? ESC exits. |Select an item by number or arrow. ESC edits menu. RETURN for Pascal. | |______________________________________________________________________| Menu editing also permits menu changes and deletions. When changing an item, PSTART asks the same ques | | [ Q ] QUIT | |______________________________________________________________________| | | Startup Selector AMB v.06/88 | |______________________________________________________________________| | | | [ 1 ] Mail List Manager ng an entry for Mail List Manager, the menu now looks like the following: ______________________________________________________________________ | | | PSTART: Pascal Program7, 1988 Page 3 Bloom Pascal Startup Menu When you leave editing, PSTART reloads the menu file (PSTART.DATA) from your hard disk's root directory. After addiinvoking the program you want. ESCAPE to exit menu editing. Press "Y" to save the menu to disk, else you wasted your time. If you decline the "save" offer, all your current editing session work will be lost. PSTART July enter a blank field, after tooting at you. You may not execute a program with a blank path name. If the pathname does not start with a device name or a volume name, PSTART automatically adds the current Pascal system prefix before setting the prefix and be anything. It will display exactly as you enter it. PSTART checks the "prefix" and "program" path names for validity. If those path names do not exist, PSTART will tell you so and await correction. If you forgot the program path name, PSTART will let youel right. Openapple-ESCAPE: Default reappears. RET: Accept bracket contents. When adding before the QUIT entry, you may either press "Q" or its numeric key. In this case, QUIT is the first entry, so you could press "1" or "Q". The menu title can answer the questions just as you would in System Utilities. You may edit the information in brackets as follows: L/R Arrows: Move cursor. Openapple-I : Toggle insert. Openapple-L-Arrow: Delete left. Openapple-R-Arrow: D ] | | | | 4. Program pathname? [.PROFILE/PROGRAMS/MLM/SYSTEM.STARTUP ] | |______________________________________________________________________| You | | 2. Title for entry? [Mail List Manager ] | | | | 3. Prefix pathname? [.PROFILE/PROGRAMS/MLM _____________________________________________________________________ | | | 1. Add before which entry? (0 exits) [Q ] | | (A or C or D) --> | |______________________________________________________________________| Press "A" to add a menu entry. The bottom line of the screen becomes a data entry area, asking you four questions. Answer the bottom-line questions: _tions as in "add" mode, but it presents the existing value of each entry as a default. You may accept the existing value in the brackets, edit the value, or re-enter a new value. PSTART checks the "prefix" and "path" entries for validity. You may not change the QUIT item. You delete a menu item by entering its item number. You may not delete QUIT. No "edit mode" change is permanent unless you "save the menu" file. After editing, PSTART loads the menu file from disk. It will be the same as when it was la SYSTEM.STARTUP file. The SYSTEM.STARTUP that comes with Catalyst functions the same as PSTART. When it is invoked by Pascal, it first sees if a named program was invoked from the Catalyst menu. That is a "status call" of "3" (not "4" as stated in the CatYou Catalyst users may think otherwise because you can specify Pascal-based programs by path name from the Catalyst menu, and you go directly to those programs. That is what you see. That is not what happens. Pascal is Pascal. It always goes for the unit-4mand proper setting of the Pascal prefix. If a program can't find its data files, look to the prefix path name you set as a probable cause of the problem. I've said Pascal always executes the SYSTEM.STARTUP file in what it thinks is the unit-4 directory. l you to reboot the system. There is no way PSTART can determine if the prefix path is correct. It can only determine whether or not the prefix is valid -- whether or not the prefix pathname exists. Mail List Manager and Quickfile are two programs that deP in the SYS1.2 directory. I'm sure it's not random, but I haven't divined the way it works. Magic, right? In any event, please don't stick PSTART out in some random directory and expect it to do anything useful. Pascal will be very cross with you and telrive. A PMoved Pascal 1.1 (full or runtime) must reside in the hard disk root directory and thinks the root is the 4-unit. A Super PMoved Pascal 1.2 is a little odd, at least under Catalyst. It goes for either SYSTEM.STARTUP in the root directory or STARTUAGE NOTES PSTART only works in the root directory -- same as RTPASCAL.1.1, and for the same reasons. A "real" Pascal automatically invokes the SYSTEM.STARTUP program in what Pascal calls the 4-unit. Normally, the 4-unit is a disk in drive 1, the onboard dr the "0-1" or "1-RETURN" pair. PSTART July 7, 1988 Page 4 Bloom Pascal Startup Menu USr after pressing "Q" (or its equivalent "2") to quit to Selector. If you have more than 9 menu entries (Including QUIT), you must use two key presses to select by number (Except "Q" for QUIT still needs only one). To select item "1" by number, press eitheing the "P" key. You may also launch a program by keying its menu number. In the above example you would press "1" to launch Mail List Manager. There are only 2 menu entries in this example, so there is no need to press RETURN after pressing the "1" key, o | | Select an item by number or arrow. ESC edits menu. "P" for Pascal. | |______________________________________________________________________| You may still go directly to the Pascal command line by pressntry is highlighted, you obviously may no longer simply press RETURN to reach the Pascal command line, so the bottom screen prompt changes to ______________________________________________________________________ | NG A PROGRAM After you have added the menu items you want and have saved the menu to disk, you may select a program to be launched from the menu. One way is to use the up and down arrow keys to highlight the program you want, then press RETURN. Once any est saved. If you inadvertently delete an item, all is not lost. Just ESCAPE to quit editing, then decline the invitation to "save the menu to disk." You can also use this feature to practice with the editing commands. SELECTIalyst manual) to the .CATALYST driver. If a named program was invoked, the status call returns the program's path name, else it returns a blank string. When SYSTEM.STARTUP finds a path name from the "status" call, it automatically "chains" to that program. If there is a comma in the pathname, SYSTEM.STARTUP also sets the Pascal system prefix to whatever comes before the comma. All this is invisible to the Catalyst user because SYSTEM.STARTUP works behind a blank screen when invoking a "named" Pascal based 7j>11 []<Mš @33  P</ NšNɡš ɡقPšPٕ1'ɡ00P0 Q0Pٳ'ɡ00 0Q0Pٳw//./.-/.0/0ȡ#11צ 1Q1P///-0/0ȡ#11P1 Q1P//P צ š áš áK `צ š  0ȡ,ٛ ٛٛ 4 DڪPȡ00PٳN..@@.Yš. ./ڳ@./i&Please answer "Y" or "N."B PRESS ANY KEY./&.E ^צ ڪP&Aš.A.PB PRESS ANY KEY-&-۪PYš &/Bš0B0PBצ (Y | N) --> ڳ@P_d2$PSTART things. Also, it lets you know that PSTART is performing a useful function. PSTART July 7, 1988 Page 5 PATH.NAME | |______________________________________________________________________| when program PATH.NAME is directly invoked from the Catalyst menu. I suspect I did it that way because I like to be up front about| | | Loading Program | | | | program. PSTART also picks up a "named" program invoked from the Catalyst menu, but it tells you that it is chaining to the program's path name. PSTART always tells you it is ______________________________________________________________________ 113335678Lj:Ǖ; @> ?=9ڪP 0 !0 ڦתP< 05˄0/2<á = P<<ܛ0 O<š<<AAPA QAPܛ0 ɡ? =07áR<š ==/)<š=ܛܛ| ?06á9á =%/ܛܛ| >0;á//.צPrefix pathname?");")")")ױ")PPǠP"00š!.Invalid pathname., ./ġd")")P")")P")")P")צP")צP")צPTitle for entry?").")ȡd")")P")")P")")P,.You must select a listed entry,. 7 .צ!Add before which entry? (0 exits)áŶȄȡcšh"") ")򩙋ɡšL^ \.צDelete which entry? (0 exits)áŶɄ/")תP)jvzȡq")P ")צ[ ")Rצ ]TP") ") ")[ Q ] תPȡ")P ")")P")")")P")") 쥙")QUITתP")תPPCOOȡ_򥙏 PSTART.DATA"ȡ#h"ؚh"ؚá꩙!šfצMore than 33 entries. !")fצ bypassed.pPxxá!Dצ AMB v.07/88Oȡ_ȡ  Copyright 1988 by Allan M. BloomתPCO צAll Commercial Rights ReservedPCO Loading Menu From Disk׶&0 :ڪP&BšXBXPC --> /תP/H///š!/XXQ/ &צ'PSTART: Pascal Program Startup Selector, Change, or Delete entry? ESCAPE exits.<צ(A or C or D) --> áQڳDš p&צ Please answer "A" or "C" or "D."B PRESS ANY KEYۡCATALYSTתP1צPZצP0:á0ݥ:áåńe1 ȡ1ꛥP,ץ1šZ1P1/OR &צ+Add3//3-$--.///   /   /qs  Pō ؿɡ ڕ 0  .HڪPצ --š- -á .-á.77P+á77Pš /-7-7ȡ38-8צ 12345678903  3  <š =<< 0:á7ɡ =<<> Z0809ÍB/<</ )š =/|P<< =0 /<< { E02460.צProgram pathname?");")")")Pš,.á ")Pá3PǠPáQ.No pathname entered.,Leave it blank for now?N,,Yá."00š&")Pצ.CODEUP&"00š!.Invalid pathname.,")&P .,.You must select a lisBottom Margin (BM) = 3 Page Number (PN) = 1 Printed Lines (PL) = 60 Page Interval (PI) = 66 Line Interval (LI) = 0 Single Page (SP) = 0 Print Destination (PD) = .printer Carriage Return (C"PǠPLoading ProgramתPCO  XPCOPCO:%򥛶y: :{RV=<")Pá0צNo program pathname entered.xצ.CODE!Pצ.QP")Pá ӪP7"PǠPá&𥛶y: :")תP")1P")ZPũɄX")P")M   x 橁xńA.š..h"")x 䩁x۩Íš۫ x š\x Ex4//P/ Q/PxNx ũȄ xšA.š..h"").š..h"۩šɡ.š..h"")쩁xQxx Pxxצ PM PxMscal.i$Select an item by number or arrow. #ESCAPE edits menu. "P" for Pascal.x  x詁xáꩁx צPšA.š..h"")x áqb*š[.š..h"")צP&án$Select an item by number or arrow. &ESCAPE edits menu. RETURN for Paé"Ʉ8-Aá*Cannot add any more menu items.,-Cá-Qá/Save the menu to disk?Y,,Yá򥙏צ PSTART.DATA11ȡ[")")")00š&")Pצ.CODEUP&"00š!.Invalid pathname.,")&P .,.You must select a listed entry,. 7 DO#-/--DáH-A)")")Pš,.á ")Pá3PǠPáQ.No pathname entered.,Leave it blank for now?N,,Yá.𥛶")")")צ")PPǠP"00š!.Invalid pathname., ..צProgram pathname?");"ted entry,.` 7 DO"-x.צChange which entry? (0 exits)áŶɄ/Title for entry?")..Prefix pathname?");"R) = 1 Underline Token (UT) = \ Print Mode (LJ,FJ,CJ,RJ) = LJ Top Line (TL) : Bottom Line (BL) : If you want to print the AW3 format files with any success, I suggest that you set your print parameters to be compatible with the above before committing to paper. Don't forget. Previewing with "pd.console" can save bother and paper. Al Bloom Blacksburg, Virginia June 16, 1988 B$(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:ٺ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"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:sic; +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 "PǠPLoading ProgramתPCO  XPCOPCO:%򥛶y: :{RV=< ThJ6 Vd V!!!<"#, entered.xצ.CODE!Pצ.QP")Pá ӪP7"PǠP0=+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),"PASTXT 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,NOTES :Notes on using GUCSPAR with Selector ///. RUN.DOC.TEXT :PASCAL text version of GUCSPAR introduction. RUN.DOC.ASCII :ASCII version of GUCSPAR introduction. MENU.NOTE :Note on Menu.Maker's font file. INPERT02 :Dr. Bloom's Inpertto load the entire Pascal Operating System. That translates into a 30% time savings and is also a keystroke saver, especially for Catalyst users. Pascal knowledge required. Side One: CATALYST.NOTES :Notes on using GUCSPAR with Catalyst. SELECTOR. WAP /// SIG PUBLIC DOMAIN LIBRARY PDS NAME: GUCSPAR by Bloom DISK ID#: 3BLM-05 BOOTABLE? NO "GUCSPAR" is the Great Unified Catalyst/Selector Pascal Runtime Disk. This is a version of Pascal that is designed to run your Pascal program without having WASHINGTON APPLE PI PD DISK 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":1750 article that includes info on GUCSPAR. HDINTERP (subdirectory) RTPASCAL.1.1 : Run time Pascal SOS.Interp file for hard disk usage. INTERPS (subdirectory) - RT1.SOS.INTERP :Full standard interpreter for Pascal 1.1 - RT2.SOS.INTERP :Cut-down version of 1.1 interpreter that does not include support for TREESEARCH; IDSEARCH or floating point mathimatics. SYSTEM (subdirectory) - RT1SYS.PASCAL :Runtime version of Sys.Pascal (no library usage). - RT2SYsburg, Virginia 24060 Office: (703) 961-7921 Home: (703) 951-2025 CIS: 76656,1514 BITNET: IRBLOOM at VTVM1 Catalyst is the grandaddy of hard disk program selectors for the THE INPERT'S CORNER ALLAN M. BLOOM, PhD CDP Institutional Research, Virginia Tech, Blacksburg VA 24061 2303 San Marcos Street, BlackEAD 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"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::"RTUP 3 :Selector Documentation in Applewriter /// format. PSTART.DOC :Selector Documentation already formatted. BLOOM.STARTUP (subdirectory) - PSTART.LIB - PSTART.CODE QUARK.STARTUP (subdirectory) - PASCAL.STARTS - PMENU.EDIT - SYSTEM.STARTUP S.PASCAL :Runtime version of Sys.Pascal (full library support). Side Two START.NOTES :Pascal startup program notes. QSTART.AW3 :Catalyst Documentation in Applewriter /// format. QSTART.DOC :Catalyst Documention already formatted. PSTART.AW Apple ///. A hard disk and Catalyst (or its Selector /// competitor) make old Sarah (the code name under which the /// was developed) a machine with plenty of power and ease of use. I'm among the first Catalyst users, having bought Serial Number 177 in 19here "dirname" is typically SYS1.2 or PASCAL. Whatever hard disk subdirectory in which your full Pascal system resides. You may use PSTART with either the Apple Pascal 1.1 Runtime System or your full Pascal development system. See SELECTOR.NOTES on the "Rn the root directory of your hard disk. If you have "Super PMoved" Pascal 1.2 into a sub-directory, also copy: .cj .D1/BLOOM.STARTUP/PSTART.CODE --> .PROFILE/dirname/STARTUP .D1/BLOOM.STARTUP/PSTART.LIB --> .PROFILE/dirname/STARTUP.LIB .lj wSTART disk in the internal drive and use System Utilities to file copy the following: .cj .D1/BLOOM.STARTUP/PSTART.CODE --> .PROFILE/SYSTEM.STARTUP .D1/BLOOM.STARTUP/PSTART.LIB --> .PROFILE/SYSTEM.STAR.LIB .lj No way around it. PSTART must be italyst program is copyrighted and may not be used by anyone who has not purchased Catalyst. PSTART or the Catalyst program can be used interchangeably in a pure Catalyst, a pure Selector, or a Catalyst/Selector system. .cj INSTALLING PSTART .lj Put the P quite like Catalyst's Pascal Startup Program. You can use PSTART in place of the standard Catalyst program, but to no real advantage unless you like my style. Both programs do the same thing. PSTART was written as a service for Selector users since the Caomates that process. You set the Pascal prefix and type the program's path name once. After that, you simply point to the program you want on PSTART's menu, and your program will be automatically launched. PSTART is compatible with Catalyst, and performsme Interpreter, MLM and its "impossible" brethren can be invoked from Selector. If you have the full Pascal development system, you can set the Pascal prefix with the System Filer, then execute the program directly from the Pascal command line. PSTART aut Manager (MLM) is a program that fits both categories. The Selector manual states that MLM cannot be invoked. With something like PSTART, and with a more powerful Pascal interpreter -- either the full Pascal development system or the Apple Pascal 1.1 Runtie Selector to choke. Any program that needs the Pascal (as opposed to the SOS) prefix set to a given value will die under Selector. Some programs make perfectly valid system calls that Selector's version of RunTime Pascal simply cannot deal with. Mail List CIS: 76656,1514 BitNet: IRBLOOM @ VTVM1 Copyright 1988 Commercial Rights Reserved .lj PSTART is for Selector /// users who cannot invoke one or more of their favorite Pascal based programs from the Selector main menu. Two categories of programs caus.tl*Bloom**Pascal Startup Menu* .bl*PSTART*July 7, 1988*Page # * .cj PSTART ALLAN M. BLOOM, PhD CDP Institutional Research, Virginia Tech, Blacksburg, VA 24061 2303 San Marcos Street, Blacksburg, Virginia 24060 Office: (703) 961-7921 Home: (703) 951-202582. I've become quite a Catalyst inpert over the years. Let's share some of that inpertise this month. Mail List Manager under Catalyst gets a little confused about disk numbers. It thinks the onboard drive is D2. It also thinks your hard disk is D1 and untime" disk for installing RTPASCAL.1.1 and Pascal based programs. With the necessary files emplaced, go to the Selector menu and select the menu editor program. Add the following information in whatever Selector menu suits your fancy. .cj ______________________________________________________________________ | | | MENU EDITOR: Filename:.PROFILE/SOS.MENU | | Program item specification form try? ESC exits. (A or C or D) --> | |______________________________________________________________________| .lj Press "A" to add a menu entry. The bottom line of the screen becomes a data entry area, asking you four questions. Answer the bottomList Manager. Press ESCAPE to invoke the menu editor and the bottom line asks: .cj ______________________________________________________________________ | | | Add, Change, or Delete enlecting "Q" is the same as pressing RETURN. You will quit to the Selector menu. You may also press the ESCAPE key to "edit" -- to add, delete, or change -- menu entries. .cj EDITING MENU ENTRIES .lj As an example, we'll add a PSTART menu entry for Mail | |______________________________________________________________________| .lj You can select "Q" to quit to the Selector menu or press RETURN to reach the Pascal development system's command line. If you invoked PSTART from the "runtime" interpreter, se | |______________________________________________________________________| | | |Select an item by number or arrow. ESC edits menu. RETURN for Pascal.__| | | | [ Q ] QUIT | | | | _______________________________________ | | | PSTART: Pascal Program Startup Selector AMB v.06/88 | |____________________________________________________________________rmally thought of as a number, you can press "Q" whenever PSTART asks you for an item number. You create and control the contents of PSTART's menu. Fresh from the box, the selection screen starts out looking like this: .cj _______________________________START can handle 33 separate programs. If you have fewer than 10 menu entries, a single numeric keystroke will select any item. If you have more, you must press two keys to select an item less than [10] -- the number and the RETURN key. While "Q" is not noesents you with a menu of Pascal based programs, and you select one. You may use the up/down arrow keys to highlight the desired program, then press RETURN to launch it. In addition to the "arrow/RETURN" method, you may also select a program by number. PPascal 1.2 as an example. This is also the form you should use for any named program in your Selector menu that uses PSTART, except you might need to add a character set or keyboard layout file. .cj USING PSTART .lj Using PSTART is simple. The program prRANGEMENT) | |______________________________________________________________________| .lj If you are using PSTART with your full Pascal development system, the "language file" should be changed appropriately -- .PROFILE/SOS.INTERP for Super PMoved ......(if req): .PROFILE/RTPASCAL.1.1 | | DATA prefix............(opt): | | CHARACTER SET file..(if req): (STANDARD CHARACTER SET) | | KEYBOARD LAYOUT file...(opt): (STANDARD KEYBOARD AR | | Pascal Program Selector | | | | PROGRAM file................: .PROFILE/SYSTEM.STARTUP | | LANGUAGE file.-line questions: .cj ______________________________________________________________________ | | | 1. Add before which entry? (0 exits) [Q ] | | | | 2. Title for entry? [Mail List Manager ] | | | | 3. Prefix pathname? [.PROFILE/PROGRAMS/MLM M .lj After you have added the menu items you want and have saved the menu to disk, you may select a program to be launched from the menu. One way is to use the up and down arrow keys to highlight the program you want, then press RETURN. Once any entry is when it was last saved. If you inadvertently delete an item, all is not lost. Just ESCAPE to quit editing, then decline the invitation to "save the menu to disk." You can also use this feature to practice with the editing commands. .cj SELECTING A PROGRAu may not change the QUIT item. You delete a menu item by entering its item number. You may not delete QUIT. No "edit mode" change is permanent unless you "save the menu" file. After editing, PSTART loads the menu file from disk. It will be the same ass the same questions as in "add" mode, but it presents the existing value of each entry as a default. You may accept the existing value in the brackets, edit the value, or re-enter a new value. PSTART checks the "prefix" and "path" entries for validity. Yo | |Select an item by number or arrow. ESC edits menu. RETURN for Pascal. | |______________________________________________________________________| .lj Menu editing also permits menu changes and deletions. When changing an item, PSTART ask Manager | | [ Q ] QUIT | |______________________________________________________________________| | | | PSTART: Pascal Program Startup Selector AMB v.06/88 | |______________________________________________________________________| | | | [ 1 ] Mail ListA) from your hard disk's root directory. After adding an entry for Mail List Manager, the menu now looks like the following: .cj ______________________________________________________________________ | m you want. ESCAPE to exit menu editing. Press "Y" to save the menu to disk, else you wasted your time. If you decline the "save" offer, all your current editing session work will be lost. When you leave editing, PSTART reloads the menu file (PSTART.DATd, after tooting at you. You may not execute a program with a blank path name. If the pathname does not start with a device name or a volume name, PSTART automatically adds the current Pascal system prefix before setting the prefix and invoking the progral display exactly as you enter it. PSTART checks the "prefix" and "program" path names for validity. If those path names do not exist, PSTART will tell you so and await correction. If you forgot the program path name, PSTART will let you enter a blank fielle-ESCAPE: Default reappears. RET: Accept bracket contents. .lj When adding before the QUIT entry, you may either press "Q" or its numeric key. In this case, QUIT is the first entry, so you could press "1" or "Q". The menu title can be anything. It wilhe questions just as you would in System Utilities. You may edit the information in brackets as follows: .cj L/R Arrows: Move cursor. Openapple-I : Toggle insert. Openapple-L-Arrow: Delete left. Openapple-R-Arrow: Del right. Openapp ] | | | | 4. Program pathname? [.PROFILE/PROGRAMS/MLM/SYSTEM.STARTUP ] | |______________________________________________________________________| .lj You answer t highlighted, you obviously may no longer simply press RETURN to reach the Pascal command line, so the bottom screen prompt changes to .cj ______________________________________________________________________ | | | Select an item by number or arrow. ESC edits menu. "P" for Pascal. | |______________________________________________________________________| .lj You may still go directly to the Pascal command line by pressing the "P" key PATH.NAME | |______________________________________________________________________| .lj when program PATH.NAME is directly invoked from the Catalyst menu. I suspect I did it that way because I like to be u_______________________ | | | Loading Program | | | | oking a "named" Pascal based program. PSTART also picks up a "named" program invoked from the Catalyst menu, but it tells you that it is chaining to the program's path name. PSTART always tells you it is .cj _______________________________________________lly "chains" to that program. If there is a comma in the pathname, SYSTEM.STARTUP also sets the Pascal system prefix to whatever comes before the comma. All this is invisible to the Catalyst user because SYSTEM.STARTUP works behind a blank screen when inv(not "4" as stated in the Catalyst manual) to the .CATALYST driver. If a named program was invoked, the status call returns the program's path name, else it returns a blank string. When SYSTEM.STARTUP finds a path name from the "status" call, it automaticaIt always goes for the unit-4 SYSTEM.STARTUP file. The SYSTEM.STARTUP that comes with Catalyst functions the same as PSTART. When it is invoked by Pascal, it first sees if a named program was invoked from the Catalyst menu. That is a "status call" of "3" nks is the unit-4 directory. You Catalyst users may think otherwise because you can specify Pascal-based programs by path name from the Catalyst menu, and you go directly to those programs. That is what you see. That is not what happens. Pascal is Pascal. file are two programs that demand proper setting of the Pascal prefix. If a program can't find its data files, look to the prefix path name you set as a probable cause of the problem. I've said Pascal always executes the SYSTEM.STARTUP file in what it thie very cross with you and tell you to reboot the system. There is no way PSTART can determine if the prefix path is correct. It can only determine whether or not the prefix is valid -- whether or not the prefix pathname exists. Mail List Manager and Quick the root directory or STARTUP in the SYS1.2 directory. I'm sure it's not random, but I haven't divined the way it works. Magic, right? In any event, please don't stick PSTART out in some random directory and expect it to do anything useful. Pascal will bisk in drive 1, the onboard drive. A PMoved Pascal 1.1 (full or runtime) must reside in the hard disk root directory and thinks the root is the 4-unit. A Super PMoved Pascal 1.2 is a little odd, at least under Catalyst. It goes for either SYSTEM.STARTUP in"1-RETURN" pair. .cj USAGE NOTES .lj PSTART only works in the root directory -- same as RTPASCAL.1.1, and for the same reasons. A "real" Pascal automatically invokes the SYSTEM.STARTUP program in what Pascal calls the 4-unit. Normally, the 4-unit is a dg "Q" (or its equivalent "2") to quit to Selector. If you have more than 9 menu entries (Including QUIT), you must use two key presses to select by number (Except "Q" for QUIT still needs only one). To select item "1" by number, press either the "0-1" or . You may also launch a program by keying its menu number. In the above example you would press "1" to launch Mail List Manager. There are only 2 menu entries in this example, so there is no need to press RETURN after pressing the "1" key, or after pressinp front about things. Also, it lets you know that PSTART is performing a useful function. .tl .ff .bl PSTART ALLAN M. BLOOM, PhD CDP Institutional Research, Virginia Tech, Blacksburg, VA 24061 2303 San Marcos Street, Blacoader disk in D1 and a program disk in D2. However, if it works, it is less bother than leaving Catalyst, booting the program, and then rebooting Catalyst. It is particularly handy for something like ON THREE's Lazarus file undeleter. Lazarus is too big to The Inpert's Corner This works fine for most programs. It fails if you don't have the right set of main and extra drivers, if the program uses a special character set file, or if the program wants a lD1 Boot Disk" from the Catalyst menu. When you're through with that program, quit or exit (or "double-apple ESCAPE" if you must), and you return to the Catalyst menu. INPERT02 May 11, 1988 Page 1 Bloom those that I don't keep in my main SOS.DRIVER file. Pick your own, if any. Max files (8) is set at 3 for recalcitrant Pascal programs. If you want to run a program that only exists on boot disk, first put that boot disk in the onboard drive, then invoke " Press RETURN 6. Keyboard path: Press RETURN 7. Initial prefix: .D1 8. Max files allowed open: 3 9. Program path: Press RETURN The item "3" drivers are reads as follows: 1. Display name: D1 Boot Disk 2. Interpreter path: .D1/SOS.INTERP 3. Extra drivers: .GRAFIX,.AUDIO 4. Character set path: Press RETURN 5. Screen: ur BASIC, use System Utilities to copy the vanilla BASIC from your master disk over the Catalyst-installed version (.D1/SOS.INTERP to CATALYST.BASIC). You can run a boot diskette without leaving the Catalyst environment. Set up a Catalyst menu entry that e latest version. It sure looks like it works, but afterwards you cannot directly invoke a BASIC program from the Catalyst menu. You pop directly to the BASIC command line and must type RUN HELLO yourself. The fix is easy. After letting Catalyst install yoile, Pascal can "lose" your favorite devices. Don't add phantom drives, and do "inactivate" any FMTDx drivers you can't use. Hopping to another topic, the automatic Catalyst installation procedure for Business BASIC doesn't really work with BASIC 1.23, th///'s head, and it presents you with marvelously screwy defaults. Besides, there is a limit on the number of drivers Pascal can handle. It is lower than the SOS limit. As you add fun and useful things like Desktop Manager and Trackball to your SOS.DRIVER f you do have two outboard drives. You can format an MLM disk in the outboard drive if you lie to your system and tell it that you have three Disk /// drives. And if your FTMD3 driver is active. Avoid the temptation. The "phantom" drive messes with Backup Pascal Unit 4). Pascal, being flexible in this regard, just renumbers the other disk drives it encounters. And MLM gets confused. That's not all bad. MLM needs two "outboard" drives to merge files. Under Catalyst, if you have one outboard drive, MLM thinksyour outboard disk is D3. That's because it really works with Pascal "unit numbers" instead of SOS device names. The Pascal "boot device" is number "4". Catalyst does its thing partly by fooling Pascal into thinking that your hard drive is the boot drive (ksburg, Virginia 24060 Office: (703) 961-7921 Home: (703) 951-2025 CIS: 76656,1514 BitNet: IRBLOOM @ VTVM1 Copyright 1988 run from Catalyst on a 256K machine under full Pascal, but it works under "D1 Boot Disk." The "double-apple ESCAPE" sequence is a neat way of (1) getting back to the Catalyst menu and (2) messing up your hard disk's directory if you mis-use the feature. A damaged hard disk directory, much like a collision at sea, can ruin your whole day. As a rule of thumb, don't use "double-apple ESCAPE" unless it is utterly necessary. It is mostly nothing less than a danger-fraught shortcut. Do yourself a favor. Eliminato invoke the menu editor and the bottom line asks: ______________________________________________________________________ | | | Add, Change, or Delete entry? ESC exits. ill quit to the Selector menu. You may also press the ESCAPE key to "edit" -- to add, delete, or change -- menu entries. EDITING MENU ENTRIES As an example, we'll add a PSTART menu entry for Mail List Manager. Press ESCAPE Pascal Startup Menu You can select "Q" to quit to the Selector menu or press RETURN to reach the Pascal development system's command line. If you invoked PSTART from the "runtime" interpreter, selecting "Q" is the same as pressing RETURN. You wu. RETURN for Pascal. | |______________________________________________________________________| PSTART June 1, 1988 Page 2 Bloom | |______________________________________________________________________| | | |Select an item by number or arrow. ESC edits mene" when it is available. INPERT02 May 11, 1988 Page 2 unches programs some 30 percent faster than "full" Pascal. Second, it is a keystroke saver. Quitting a Pascal based program under "runtime" returns you immediately to the Catalyst main menu. Get your check writing fingers limbered up. You will want "runtim from the Pascal command line, then press Y)es when asked if you truly want to leave Pascal. A bore, yes? Don't pout. There is a solution on the near horizon. TAU will soon offer a "runtime Pascal" for Catalyst that has two advantages. First, "runtime" laterisk-entry will give you the same non-feature for less cost. Disabling "double-apple ESCAPE" adds work to leaving many Pascal programs. Take System Utilities as an example. You must press Q)uit from the System Utilities main menu, then press Q)uit again can trash files, and how you should get Selector /// instead. Selector /// does not have anything like Catalyst's "doubleapple-ESCAPE," so you can't misuse the feature. That also means you can't get out of some programs under Selector. A few minutes of ast that entry's "Max files" value back to what it used to be. It's hardly ever necessary. I've got a variety of programs on my menu and I've disabled "double-apple ESCAPE" for every one. There's been a certain amount of scare talk lately about how Catalyston, and System Reboot, or with the "D1 Boot Disk" entry if you have it. This will be a nuisance if you have programs that truly cannot be left any other way than via "double-apple ESCAPE." If you're locked out, you'll have to power down your system and sete the temptation. Edit your Catalyst menu and change almost every entry's Item 8 (Max files allowed open) to an asterisk (*). This disables the "double-apple ESCAPE" feature. Don't mess with the Catalyst "system" entries -- Catalyst Edit, Apple II Emulati (A or C or D) --> | |______________________________________________________________________| Press "A" to add a menu entry. The bottom line of the screen becomes a data entry area, asking you four questions. Answer the bottom-line questions: ______________________________________________________________________ | | | 1. Add before which entry? (0 exits) [Q ] | | hange the QUIT item. You delete a menu item by entering its item number. You may not delete QUIT. No "edit mode" change is permanent unless you "save the menu" file. After editing, PSTART loads the menu file from disk. It will be the same as when it waquestions as in "add" mode, but it presents the existing value of each entry as a default. You may accept the existing value in the brackets, edit the value, or re-enter a new value. PSTART checks the "prefix" and "path" entries for validity. You may not c | |Select an item by number or arrow. ESC edits menu. RETURN for Pascal. | |______________________________________________________________________| Menu editing also permits menu changes and deletions. When changing an item, PSTART asks the same | | [ Q ] QUIT | |______________________________________________________________________| | gram Startup Selector AMB v.06/88 | |______________________________________________________________________| | | | [ 1 ] Mail List Manager adding an entry for Mail List Manager, the menu now looks like the following: ______________________________________________________________________ | | | PSTART: Pascal Prone 1, 1988 Page 3 Bloom Pascal Startup Menu When you leave editing, PSTART reloads the menu file (PSTART.DATA) from your hard disk's root directory. After and invoking the program you want. ESCAPE to exit menu editing. Press "Y" to save the menu to disk, else you wasted your time. If you decline the "save" offer, all your current editing session work will be lost. PSTART Ju you enter a blank field, after tooting at you. You may not execute a program with a blank path name. If the pathname does not start with a device name or a volume name, PSTART automatically adds the current Pascal system prefix before setting the prefix can be anything. It will display exactly as you enter it. PSTART checks the "prefix" and "program" path names for validity. If those path names do not exist, PSTART will tell you so and await correction. If you forgot the program path name, PSTART will letw: Del right. Openapple-ESCAPE: Default reappears. RET: Accept bracket contents. When adding before the QUIT entry, you may either press "Q" or its numeric key. In this case, QUIT is the first entry, so you could press "1" or "Q". The menu title You answer the questions just as you would in System Utilities. You may edit the information in brackets as follows: L/R Arrows: Move cursor. Openapple-I : Toggle insert. Openapple-L-Arrow: Delete left. Openapple-R-Arro ] | | | | 4. Program pathname? [.PROFILE/PROGRAMS/MLM/SYSTEM.STARTUP ] | |______________________________________________________________________| | | 2. Title for entry? [Mail List Manager ] | | | | 3. Prefix pathname? [.PROFILE/PROGRAMS/MLM s last saved. If you inadvertently delete an item, all is not lost. Just ESCAPE to quit editing, then decline the invitation to "save the menu to disk." You can also use this feature to practice with the editing commands. SELECTING A PROGRAM After you have added the menu items you want and have saved the menu to disk, you may select a program to be launched from the menu. One way is to use the up and down arrow keys to highlight the program you want, then press RETURN. Once aam. If there is a comma in the pathname, SYSTEM.STARTUP also sets the Pascal system prefix to whatever comes before the comma. All this is invisible to the Catalyst user because SYSTEM.STARTUP works behind a blank screen when invoking a "named" Pascal basCatalyst manual) to the .CATALYST driver. If a named program was invoked, the status call returns the program's path name, else it returns a blank string. When SYSTEM.STARTUP finds a path name from the "status" call, it automatically "chains" to that progrt-4 SYSTEM.STARTUP file. The SYSTEM.STARTUP that comes with Catalyst functions the same as PSTART. When it is invoked by Pascal, it first sees if a named program was invoked from the Catalyst menu. That is a "status call" of "3" (not "4" as stated in the y. You Catalyst users may think otherwise because you can specify Pascal-based programs by path name from the Catalyst menu, and you go directly to those programs. That is what you see. That is not what happens. Pascal is Pascal. It always goes for the uni demand proper setting of the Pascal prefix. If a program can't find its data files, look to the prefix path name you set as a probable cause of the problem. I've said Pascal always executes the SYSTEM.STARTUP file in what it thinks is the unit-4 directortell you to reboot the system. There is no way PSTART can determine if the prefix path is correct. It can only determine whether or not the prefix is valid -- whether or not the prefix pathname exists. Mail List Manager and Quickfile are two programs thatRTUP in the SYS1.2 directory. I'm sure it's not random, but I haven't divined the way it works. Magic, right? In any event, please don't stick PSTART out in some random directory and expect it to do anything useful. Pascal will be very cross with you and d drive. A PMoved Pascal 1.1 (full or runtime) must reside in the hard disk root directory and thinks the root is the 4-unit. A Super PMoved Pascal 1.2 is a little odd, at least under Catalyst. It goes for either SYSTEM.STARTUP in the root directory or STA USAGE NOTES PSTART only works in the root directory -- same as RTPASCAL.1.1, and for the same reasons. A "real" Pascal automatically invokes the SYSTEM.STARTUP program in what Pascal calls the 4-unit. Normally, the 4-unit is a disk in drive 1, the onboarither the "0-1" or "1-RETURN" pair. PSTART June 1, 1988 Page 4 Bloom Pascal Startup Menu y, or after pressing "Q" (or its equivalent "2") to quit to Selector. If you have more than 9 menu entries (Including QUIT), you must use two key presses to select by number (Except "Q" for QUIT still needs only one). To select item "1" by number, press eressing the "P" key. You may also launch a program by keying its menu number. In the above example you would press "1" to launch Mail List Manager. There are only 2 menu entries in this example, so there is no need to press RETURN after pressing the "1" ke | | Select an item by number or arrow. ESC edits menu. "P" for Pascal. | |______________________________________________________________________| You may still go directly to the Pascal command line by pny entry is highlighted, you obviously may no longer simply press RETURN to reach the Pascal command line, so the bottom screen prompt changes to ______________________________________________________________________ | ed program. PSTART also picks up a "named" program invoked from the Catalyst menu, but it tells you that it is chaining to the program's path name. PSTART always tells you it is ______________________________________________________________________