home *** CD-ROM | disk | FTP | other *** search
- u
- SUPER LOADSTAR LIBRARY
- by Dave Moorman
-
-
- [NOTE:] This is a program you will
- definitely want to copy to a working
- "LIBRARY" disk. Every couple of
- months, LOADSTAR will include an
- updated data file to replace and
- existing file or add to the total
- number of files. Right now, the entire
- data base just fits on a 1541 side.
-
-
- What a project! Stay tuned at the
- end of this file to hear my many woes.
-
- Back in the early days of Fender
- Tucker's reign atop the Mighty
- LOADSTAR Tower, he had C.E. "Spock"
- Prince help him write up the "LOADSTAR
- List" -- the first database for
- LOADSTAR programs. Later he updated
- the "List."
-
- Then Jeff Jones arrived on the
- scene, and the LOADSTAR Library was
- born around issue 58. It was designed
- to hold maybe 100 issues-worth of data
- -- that being the better wisdom of Dan
- Tobias as to the potential longevity
- of LOADSTAR.
-
- After that bench-mark (which
- disappointed only Dan), Jeff packed
- and crunched the data to force in more
- information. Then he added external
- files. Jeff left LOADSTAR to pursue
- other things, and Fender had to do a
- hack or two to continue the Library's
- database.
-
- When I took over, we had [three]
- Library programs to cover the 199
- issues -- a bit unwieldy by anyone's
- standard. This Library thing was
- compleatly out of hand! My answer was
- to replicate Jeff's excellent
- interface, but add the capability to
- load Library data files at will.
-
- Last I looked (just now), we have
- nine "LSL.*" files containing
- information about every program and
- many of the articles that have
- appeared on LOADSTAR in 228 issues.
- And several of you have been less than
- ecstatic about the operation of the
- LOADSTAR Library v.7.x.
-
- So I decided to start all over
- from scratch. Well, I didn't scratch
- the data files! (Anyone who wants to
- retype those nine files has my
- blessing -- and condolences!) But I
- redesigned the LOADSTAR Library
- compleatly, into
-
- The Super LOADSTAR Library!
-
-
- The User Interface
- ------------------
-
- Everything can be accessed with
- the mouse, joystick, cursor keys, or
- hotkeys. Your choice. As you move the
- mouse pointer over any enabled
- "buttons", the color changes,
- indicating "focus". The Cursor Keys
- move the "focus". And a click or
- RETURN turns on the function. You can
- also simply press the letter key that
- corresponds to the first letter of the
- function's title.
-
-
- Range
- -----
-
- The Super Library allows you to
- search any and all issues of LOADSTAR
- -- from 1 to 228. The last issue is
- "learned" from the datafile names, so
- when you updata the Super Library with
- a new file, the program is updated as
- well.
-
- When you click/RETURN the "Range"
- button or press <R>, you are presented
- with a dialog box requiring two inputs
- -- the "From #" and the "To #". Type
- and RETURN each. When you Begin the
- search, engine will start with the
- From and end with the To.
-
-
- Category
- --------
-
- As with LOADSTAR Libraries of the
- past, the programs and articles are
- categorized more or less by the
- LOADSTAR Presenter folder in which
- they will be found. I say "more or
- less" because many programs from the
- early years were not assigned to the
- same folder names (such as Utility
- Ware). Some programs were from
- Commodore Magazine, collected into one
- folder. But for the Library, they are
- categorized by what they do.
-
- This menu is where you can choose
- a category to control your search. But
- in fact, the next function is more to
- the point.
-
-
- Search For
- ----------
-
- Here you can choose exactly what
- you want to search for -- Program
- Name, Author Name, Category, or by
- Issue(s). The Program and Author
- searchs are "mutually exclusive" --
- you can do one or the other. When you
- choose one, you will be asked to type
- in the search string.
-
- When you choose Category, the
- Category menu comes up. Make your
- choice this way. (OK, I changed my
- mind about the operation of this
- program but didn't want to rewrite the
- code all over again. See below for the
- gory details.)
-
- Issue(s) actually supercedes the
- Range function -- and is more
- powerful. You can choose single issues
- (e.g., 24,35,88), or subranges (e.g.,
- 115-175), or use both ways at once
- (e.g., 5,17-22,88-91,112).
-
- The engine searches by Range or
- Issues, then by Category, then by
- Program or Author name. You can
- disengage any of these items by
- selecting it a second time. You will
- see a summary of your search
- parameters at the top of the black
- Result Box:
-
- R:001-228 C:Z I:-
- A:Tucker
-
- This search looks for Tucker as the
- author of Zero Page articles in all
- issues from 1 to 228.
-
- By the way, all the choices in the
- Search For and Category menus are
- hotkeyed to their first letter.
-
-
- Output
- ------
-
- You can send the results to the
- Result Box on the SCreen, or to a
- printer on device 4 or 5. (Hotkeys are
- <S>, <4>, and <5>.)
-
-
- Exit
- ----
-
- Leaves the program when you choose
- <Y>, or click/RETURN Yes.
-
-
- Begin
- -----
-
- This is where you Begin your
- search. When the search starts, the
- Begin button becomes the Next button.
- Press <N> or <Space> or click/RETURN
- on the button to go to the next found
- item in the Result Box.
-
- Tag works something like the Mark
- function did on the old Library. When
- you see a program entry you want to
- later send to the printer, press <T>
- (or mouse/cursor to this button and
- click/RETURN). The screen will flash,
- and you will note that the "Tagged"
- item in the Category display shows how
- many items you have Tagged.
-
- This is not quite the same as the
- old LSL, for the information not
- really marked or tagged, but tucked
- away in memory. You can use the Tagged
- Category Search For to retrieve this
- list to the Screen or to the Printer.
-
- To clear the Tag Buffer, choose
- Exit, and choose No.
-
- Quit does just that, pressed at
- any time. If you feel the program has
- run away from you, press <Q> or
- click/RETURN this button and the
- search will stop immediately.
-
-
- Putting It All Together
- -----------------------
-
- Let's say you want a print out of
- every BASICS Zero Page program Fender
- Tucker ever wrote. You might want to
- set the Range to 042-199, since that
- is the period Fender led the LOADSTAR
- Dreadnaught. Then press <S>, then <A>,
- and type "Tucker". Then press <S>,
- <C>, and <Z>. Finally, press <B> to
- begin the search. A little "clock"
- spins in the upper left corner, and a
- yellow bar moves across the Result Box
- (showing how much of each file has
- been scanned). And, the issue number
- being scanned is in the box at the
- left center of the screen. Lots of
- eye-candy!
-
- When Tucker's name is found, the
- entry is displayed. If this is a
- BASICS article, press <T> to Tag it.
- Otherwise, press <Space> to move to
- the next find.
-
- Now to get your Tagged list out to
- the printer. Press <O>, the <4> (for
- your printer on Device 4). Press <S>
- then <A> to disengage the Author
- search (not exactly necessary for the
- Tagged File), then <C>, <T>.
-
- Be sure your Printer is on, with
- the paper aligned, and press <B>. All
- your Tagged files will soon be on the
- hard copy!
-
-
- Dave's Tale of Woe
- ------------------
-
- First of all, I would not have
- even tried to write this program
- without Lee Novak's Mr.Mouse 2+. All
- the mouse-easy bells and whistles are
- from his masterpiece of ML madness.
- But Mr.Mouse does not have an INSTRING
- command -- and I needed one to find
- string patterns in the Program and
- Author fields.
-
- So I did a bit of ML to create a
- case-insensative INSTRING command. We
- will put the modules on next month's
- issue for you to use. I also added a
- PUT.STR command, which allowed me to
- put a string anywhere in memory
- (except under $D000). This was needed
- for my Tag technique.
-
- Things were moving along fairly
- smoothly, until I LOADed up an old
- version of the program to see how I
- accomplished some natty little
- routine. But I had not written that
- routine yet. And then I did a stupid
- thing...
-
- I typed GOTO1000 -- the Scratch
- and Save routine I use on every
- program. The sad fact was that the
- ancient code used the same filename as
- the new program -- on line 10000 at
- least. Suddenly, I lost several days
- of work!
-
- After being mad for awhile, I
- started over from scratch. And once
- again, I discovered the advantages of
- losing a program at the two-thirds
- point.
-
- Yes! Advantages! By two-thirds the
- way through a project, my code is all
- mucked up with flags, switches, fixes
- and dodges. I can be a very sloppy
- programmer -- especially when I just
- sit down to the computer and type.
-
- Secondly, I then knew almost
- exactly where I was going and what
- needed to be done. Rewriting the
- program took less than one-third the
- time I had already spent, and the
- result was clean and crisp. Finishing
- up took about the same time as
- recreating the old stuff -- so the
- program took only 33% longer to write
- than if I had not blown it away.
-
- Finally, debugging was greatly
- simplified, since I didn't have as
- many kludges hiding in the depths of
- my fuzzy logic. I would suggest this
- technique for every program -- but one
- must be crazy to throw away all that
- code!
-
-
- Last Note
- ---------
-
- If you have a SuperCPU, Super
- LOADSTAR Library zips right along. (I
- use Warp speed on VICE for an 8x speed
- increase.) If you are using a stock
- Brown Betty and 1541, this program
- will be rather slow because of the
- disk accesses and BASIC code. Perhaps
- I can reduce the search to ML some
- day. As Lee Novak puts it: "First make
- it work, then make it fast!"
-
- DMM
-
-
-