
        
                        Runner -- A Desktop Alternative
        

                                    OVERVIEW
        
          What is Runner / Shareware / Related Programs / What's Next?


                       Copyright (C) 1993 by Dave Thorson
                       Version 1.61     November 18, 1993


        Legalese: Runner may be distributed freely as long as all 
        original files are included, unchanged.  Dave Thorson is not 
        responsible for any damages (lost files, loss of time, etc.) 
        caused directly or indirectly by this software.  Users of this 
        software assume all responsibility for risk.  This program is 
        Shareware and is NOT released to the Public Domain; Copyright 
        ownership remains with Dave Thorson.  The companion programs 
        Mini-Run, Regions, Rpicsel and any other "protected" programs 
        are NOT shareware once you update them using RUNR_REG.PRG and 
        the serial number / security code you receive by sending in the 
        registration fee of $10 US or more --  they must NOT be 
        distributed to others once updated.


        Note: in most .HLP files, $$ is used to mark the start of a new 
        section.  Use this as a search string to find things quickly.
        

$$      Intro

        Runner is a quick, easy-to-use alternative to the standard Atari 
        desktop, developed for hard drive users with at least one 
        megabyte of memory, however it may still be of use for floppy 
        drive users and 520K systems (see section on Mini-Run below).  
        Runner has been tested on a 1040ST with TOS 1.0 and hard drive 
        with ICD host adaptor, but should work on other systems as well 
        (please contact me at the address below with any bug reports, 
        especially for STe systems -- Thank You!)

        Runner WILL NOT work yet on a TT system, and expect similar 
        problems on the Atari Falcon system.  If anyone would loan me a 
        Falcon for say, a few months, including the newest version of 
        GFA BASIC, I'll do what I can to make Runner work there also!


        Runner lets you manage your programs more effectively by placing 
        them in one or more menus; simply click on a program in a menu 
        to run it.  You can also assign up to twenty QuickKeys to run 
        your most-used software with a single keypress, and install 
        applications to run by selecting their data files.  No more 
        messy folders to wade through!

        Runner is much quicker than the desktop, and programs can 
        be placed in menus regardless of what drive or folder they 
        live in.  You can group similar programs together in the 
        same menu, such as all games or all graphics programs or 
        all word processing software.

        Menus can contain programs or other menus, and you decide how 
        you want to set them up.  Runner also provides quick access to 
        a file selector (if you use Universal Item Selector you may 
        never need the desktop again!), lets you view files or run 
        programs not in your menus and access desk accessories.  Several 
        customization options let you create a personalized computing 
        environment, such as using a background picture (Degas Elite 
        color-cycling supported, of course).  All these features and 
        more are described later, but first....


$$      Shareware Stuff

        I am releasing Runner as Shareware to test the market for such 
        programs.  Runner is NOT "Public Domain" and I reserve all 
        rights to the program and this documentation.

        You are free to take Runner for a test drive on your own 
        computer, and see if you find it to be of value.  Whether you 
        keep it or not, feel free to give copies of Runner to your 
        friends, but be sure to include original copies of ALL files (do 
        NOT give them MINI_RUN.TTP, REGIONS.TTP, RPICSEL.PRG or any 
        other programs after they are updated by the RUNR_REG.PRG 
        program!).  I save on distribution and marketing costs, and you 
        don't get stuck buying a program that doesn't work out as you 
        expected after seeing it for only a few minutes in a store.

        Since Runner is a copyrighted, professional program that took a 
        LOT of my time to develop and document, you are expected to 
        purchase it if you want to keep it (just like all those programs 
        on the wall at your local dealer)!  If you decide to keep 
        Runner, please send a donation of $10 to $15 to:

                         Dave Thorson
                         4040 East Flower
                         Phoenix, Arizona  85018
                         USA

        Be sure to include a return address if you need a reply, and 
        tell me what program you're registering so I can keep my records 
        straight.  If you enclose a disk I'll fill it with the latest 
        version of everything, or additional pictures if you want.  Tell 
        me what version of Runner you have so I know what send you.  Let 
        me know if you are limited to a single-sided disk drive, and if 
        you object to receiving ARC'ed files (if you don't know what ARC 
        is, tell me, and you'll not get any ARC'ed files).

        I could charge more (like the "going rate" for ST software of 
        $40 per package), but through shareware you can save on 
        marketing and distribution costs as well!  Shareware can make 
        all of us come out ahead, but only if donations are sent.  
        Without them, shareware developers like myself will have no 
        incentive to develop more software, and you will stop seeing 
        nifty applications, utilities and games come your way.


$$             * * *  Mini-Run: Extra Shareware Incentive  * * *

        Mini-Run, as included in the shareware version, has a very long 
        delay to discourage you from using it but allowing you to see 
        how it works.  When you register for $10 US or more, you'll get 
        a serial number and security code that will let you update 
        MINI_RUN.TTP to remove the delay using RUNR_REG.PRG.  Runner by 
        itself is even better than before, but Mini-Run may entice those 
        who USE Runner to contribute for shareware (this tactic seems to 
        be working -- * THANK YOU * to all who have registered so far!).

        Mini-Run can be called from Runner to run programs needing all 
        the memory they can get.  Runner exits and loads Mini-Run, which 
        in turn loads the desired program (passing along any parameters 
        or filenames sent from Runner).  When the program exits, Mini-
        Run exits and reloads Runner in its place.  Mini-Run can free up 
        almost 68K bytes for another program over what Runner allows 
        (almost 100K if a background picture is loaded in Runner).  It 
        consumes only 29K of memory and about 8K of disk space.

        Mini-Run is a very short program so it loads quickly, adding 
        only a second or so of delay from a hard disk.  Of course, 
        Runner itself is reloaded when your program exits (Mini-Run then 
        loads Runner as it removes itself), adding a bit to the delay 
        time.  Even with these delays the process of running a program 
        through Mini-Run is still far quicker (and certainly more 
        convenient) than exiting to the desktop to run a large program, 
        and returning to Runner after it's done.  Using Mini-Run is also 
        helpful for clearing out garbage left behind by some programs, 
        such as the rows of buttons Word Writer fails to remove from 
        memory....  Please note that Mini-Run is not a mini version of 
        Runner; it does not provide any menus or options; it only runs a 
        program as directed by Runner.  
        
        In my configuration I get the following memory values.  Values 
        for older versions of Runner are also shown as a comparison in 
        case you're upgrading from that version.  Memory availability on 
        your computer will depend on how much RAM you have, other 
        installed programs and desk accessories, and how you measure it!  
        Still, the last column shown here should be fairly close to what 
        you will see:

        Configuration:    Memory used by Runner:
           Desktop                 0K
           Mini-Run               29K    (Replaces Runner in memory)
           Runner 1.40 no pic     82K
           Runner 1.40 w/pic     114K    (BIG jump in capabilities with
           Runner 1.50 no pic     96K    release 1.50; uses 15K more)
           Runner 1.50 w/pic     129K
           Runner 1.60 w/pic     133K    (more fixes and additions;
           Runner 1.60 no pic    101K    only an additional 4K needed)

        

$$          * *  Regions: Additional Extra Shareware Incentive  * *

        A Runner companion program, Regions, lets you set up active 
        screen regions that you can select with a mouse click.  These 
        regions can activate nearly any feature available within Runner 
        and a few more besides.  You can now dress up your screens with 
        disk drive "icons" or other pictures to make your Atari even 
        easier to use.

        Simply paint the screen the way you want it using your favorite 
        paint program, convert the file to Degas format (.PIx or .PCx) 
        if your favorite paint program is not Degas Elite.  Load the 
        picture into Runner as a background pic, then call Regions by 
        pressing the "y" key.  Within Regions, define the location and 
        size of up to 32 rectangular screen regions on top of your 
        picture, and assign each a Runner function, including all menu 
        options, most keyboard commands, and QuickKeys.  You'll be able 
        to run programs and read files by clicking on the desktop!

        Regions also lets you define a list of picture files that can be 
        assigned to screen regions and loaded by clicking on the 
        associated region or by pressing a shifted number key.  You can 
        even lock out the GEM menu bar, exit, file selector and menus to 
        create custom applications or demos.  Regions also lets you 
        resave the current picture including any palette changes made 
        within Runner so you will see the correct colors in paint 
        programs or other applications.  The Regions program is also 
        "broken" in the shareware version -- saves are disabled.  Just 
        like MINI_RUN, the RUNR_REG.PRG program can update Regions to 
        make a fully working copy.
        
        
        But Wait, there's more!
        
        RPICSEL.PRG lets you build lists of picture files for each 
        screen resolution.  On startup, Runner will randomly select a 
        background picture from the appropriate list.  RPICSEL also has 
        saves disabled in the shareware version but can be updated just 
        like the other "protected" programs.

        

$$      Other Miscellaneous Stuff

        Do not rename the programs RUNNER.PRG, MINI_RUN.TTP or 
        REGIONS.TTP since these are the names Runner expects to find.  
        Runner's Fix command only loads RUNNER.PRG, and Runner only 
        calls MINI_RUN.TTP and REGIONS.TTP when needed; there is no way 
        to tell it to do otherwise.  RUNR_REG.PRG also expectes to find 
        files named REGIONS.TTP, MINI_RUN.TTP and RPICSEL.PRG (and 
        possibly others if more become available).

        Runner contains only one basic error message, and it's used no 
        matter what the problem is.  This is better than crashing over 
        small problems, and I felt it better than using lots of memory 
        to diagnose and report various problems.  If you see the error 
        message (something general like "Bad Drive, Path or Other 
        Error"), you can choose to return to Runner or exit to the 
        desktop.


$$      Read Only Problem
        
        For some reason beyond my understanding, a program cannot be run 
        from Runner if the program file is locked (set for Read Only).  
        If you have trouble loading a program, check for this using the 
        File/Show Info function from the desktop.  Runner does NOT write 
        to any files other than RUNNER.CFG and filename.CFx (picture 
        configuration files where filename is the picture's name and 
        x=1,2,3).  Trust me!  (Okay, Regions can write to a picture 
        file, and Runner will write to .TMP files and then rename them 
        if successful, but everything else is safe!)

        
$$      Template Files

        The template files, called GUIDE.PI1, GUIDE.PI2 and GUIDE.PI3 
        are ready to load into Degas Elite or any other program that 
        accepts the Degas file format.  They mark where Runner displays 
        its menus.  The Grey areas are used by Runner (you can put stuff 
        there, but Runner may cover it from time to time).  The black 
        borders are not part of the area used by Runner.  The red lines 
        (in GUIDE.PI3, the fuzzy markers) are used to verify the 
        location of the lines.  A red line segment appears on each side 
        of the black border lines.  Runner will never cover more than 
        the inside red line segment (or the inside edge of the fuzzy 
        markers).  A calibration guide of sorts....  Color 3 is used for 
        menu text in low res and 15 in medium res, and the opposite of 
        color 0 is used in monochrome.

        Special thanks to David Lindsley and Bruce P. De Vries for some 
        good ideas on this one....  Also special thanks to Charles F. 
        Johnson (of Codeheads fame) and ST Log magazine for showing how 
        to load compressed Degas Elite pics using assembly language 
        (FASTLOAD.ACC from the September, 1988 issue).

        One last note about GFA BASIC: I spent a great deal of time 
        working around problems in detecting mouse clicks in the GEM 
        menu bar rather then on the underlying screen (for example, when 
        a pull down menu overlaps the title line, and you click on Add 
        Menu but instead get the file selector box called by clicking on 
        the title line).  GFA works reasonably well if everything is 
        done inside a window and you rely on GFA's internal commands for 
        detecting mouse presses, keypresses and so on.  The problem then 
        is that GFA does all this too s-l-o-w-l-y to be usable, and has 
        real problems registering mouse clicks consistently.  The 
        language has a lot going for it, and is clearly up the required 
        level of performance, but NOT if you go "by the book."  If 
        anyone else out there has found better solutions (other than 
        switching to C), please let me know.  I could cut out a lot of 
        silly code that tracks the same things GEM must track 
        internally.

        If you have trouble with mouse clicks, you should try holding 
        the mouse down a bit longer.  This clears up lots of problems 
        like going to a new screen and having the mouse select the first 
        thing it passes over, without a new mouse click.  Runner never 
        uses double clicks, so slow down a bit and it all works better!

        I completely gave up trying to tell when -exactly- to set or 
        clear the inverse display of a program or menu name since GFA 
        gives no way to tell if a GEM menu is displayed or not.  I tried 
        putting in lots of delays.  They kept the screen cleaner but 
        slowed the program too much and weren't completely or 
        consistently effective either.  You'll have to live with the 
        occasional characters staying inverted when they shouldn't 
        until I find a better way (or a better language).  Sorry, but I 
        gave it my best shot.  Just run the mouse over them to clear 
        them if you like.
        
        My apologies to GEM purists everywhere.  My goal here was to 
        design an easy-to-use, powerful program to fit in as little 
        memory as possible.  Sure, there are lots of "niceties" like 
        time and date display or picture animation, but I made tradeoffs 
        to my preference of having more capability with the overhead of 
        not having everything work strictly to GEM standards.  Yes, it 
        would be nice to be able to do everything in the Add/Change 
        Dialog Box with either the mouse OR the keyboard, but that adds 
        a lot of memory overhead.  Same for color changes.  I can read 
        the R, G and B keys in a lot less memory than would be needed 
        for a "Control Panel"-like color change capability.  That would 
        also require use of a mouse, and if the colors loaded from a 
        picture are such that you can't see the mouse pointer or what 
        you need to click on....  Well, I think my approaches are sound 
        when you consider what this program is doing!

        
$$      What's Next?
        
        I don't see much work remaining in Runner.  I'm looking for 
        ideas, but don't want the program to grow any larger.  I may try 
        to convert it C but don't look forward to that prospect: Runner 
        is currently over 4500 lines of GFA BASIC code.  If initial 
        tests show significant savings in space, then a C version may be 
        on the way.
        
        I also did a lot of testing to find out how much space I could 
        save be dropping certain functions I suspected of being memory 
        hogs.  Here are the results, using (unreleased) version 1.50G.  
        Memory appears to be allocated in pages of 256 bytes, so changes 
        smaller than that don't show up.
        
        Memory  Difference    Description
        549924  0             Full version Runner 1.50G
        549924  0             No use of malloc() or mfree()
        549924  0             No use of LPRINT command
        549924  0             No use of CVL() and related functions
        540436  512           No support for REGIONS program
        553252  3328          No File View
        549412  512           No SELECT/CASE statements (us IF instead)
        549924  0             Use INLINE to pre-store DATA values
        560420  10496         "Small Runner" which leaves out all 
                              editing capabilities (add, drop, change, 
                              restore, QuickKey assign, change or add 
                              installed applications, change menu 
                              position, title, etc.)
        
        Since none of these but the last made any significant 
        difference, they're all still in the program (except malloc() 
        and mfree(), which cause problems of their own).  The "Small 
        Runner" concept seemed a good one; you could set things up using 
        regular Runner, and once your configuration stabilized you could 
        use Small Runner instead.  But I'm not willing to support two 
        versions of the program for a 10K savings in memory!  If this 
        last 10K is really critical, let me know, but you may be pushing 
        up a rope!
        
        I can see other companion programs, such as an arranger program 
        that lets you put menu items wherever you like (you CAN arrange 
        them how you like now; Runner determines the alphabetical order 
        used for placement on the initial contents of the Add/Change 
        Dialog Box description line, BEFORE it presents the box to you.  
        You can change the description all you like without resorting 
        the menu locations.  Menu locations only change on Adds and 
        Restores.  So, you would have to give your programs some funny 
        names to get them in the right order....  Not all that 
        acceptable, is it?).
        
        I would like to have graphics file viewers triggered by common 
        file extensions such as .SPC, .PI1, .TNY, .GIF, .IFF, and so on, 
        that could be installed applications letting Runner view any 
        graphics file.  These could be a series of short programs or 
        maybe one large one that handles them all.  I would also like to 
        see a library of background pics submitted by other users.  And, 
        if you come up with any generally usable applications created 
        using Regions, such as tutorials or whatever, let me know!  I'll 
        try to pass stuff along through GEnie as I get it, or write me 
        to find out what's going on.  I'd love to hear from you!

        
        $$      Final Note
        
        That about wraps it up for Runner.  If you have any suggestions 
        for additions, or find features you never use that could be 
        removed, or something doesn't seem to work quite right, then 
        contact me at the address at the top of this document.  If you 
        use Runner, please send some $'s my way.  Remember, if you send 
        a contribution of $10.00 or more, you'll get a personal serial 
        number and security code to update the protected programs 
        included in the shareware version.  If you enclose a disk and 
        let me know what version of Runner you have, if you can read 
        double-sided disks, and if you can handle .ARC files, then I'll 
        return any updated programs or more picture files.  And send in 
        any background pics you like!  Thanks to RUNR_REG.PRG, you can 
        now get upgrades from GEnie or other sources, including other 
        Runner users!

               Dave Thorson
               4040 East Flower Street
               Phoenix, Arizona  85018

        If you don't enjoy using your ST, you're not doing it right!

                                                  -- Dave Thorson


$$      Products Mentioned (in no particular order):
        
        Atari Planetarium - Atari    ||  Font Tricks - Analog Computing
        Laser C - Megamax, Inc.      ||  Headstart - CodeHead Software
        Turbo ST - SofTrek           ||  Do-It! - QMI
        Word Writer ST - Timeworks   ||  ST Writer - Bruce Noonan
        Degas Elite / Degas - Batteries Included / Electronic Arts
        Universal Item Selector III - Application and Design Software
        GFA BASIC 3.0 - GFA Systemtechnik / Michtron / Antic Publishing
        RealTime, Diablo, MidiMouse - Intelligent Music / Dr. T's
        Flash, CAD 3D, Spectrum 512 - Antic Publishing
        Colorburst 3000 - BeerysBit Software
        Little Green Selector - Charles F. Johnson

