@database Empty.guide @node Main " This is a Guide to the Wfall and Births_Wfall Programs." AN ACKNOWLEDGMENT TO THE ARTIST OF WATERFALL ============================================ I did NOT paint Waterfall. I can only hope the artist will forgive any alterations I have made, and appreciate the use I have made of his painting. Alas, due to a deficiency of brain cells on my part, I cannot remember how I first obtained this painting, and although I have hunted high and low, cannot find the original copy. I can only thank the painter and hope I have not gained his displeasure in any way. Tom Powell ---------- TABLE OF CONTENTS ================= @{" What is it. " link What} *** What Is The Program For? *** @{" Births_Wfall " link Births} *** Special *** @{" Installation. " link Install} *** How Do You Get It Running? *** @{" Amos Users. " link Amos} *** How Does The Program Work? *** @{" Credits. " link Credits} *** By Who And Where? *** @endnode @node What What is the Program Wfall for:- ------------------------------- As you are undoubtably aware upon switching on your computer (Hard Boot), a very bland, grey picture greets the users eyes and stays there for many seconds until ROM has forced itself into memory and the WorkBench screen has loaded. Why not make this time period a little more interesting. This program puts a pretty picture of an animated Waterfall on your screen, shows you the Day-Date-Time and then disappears once WorkBench has fully loaded. This project was written for and is running on an A2000HD using WB2.04. It has not been tested on other Amiga models with different workbench versions, though, I can see no reason why it shouldn't run just as well as it does as on my machine. However small changes may have to be made as to where the Wfall and the script files are placed in the directories. Also I can not take responsibility for any one who may lose their Startup-Sequence file because they did not make a backup copy of it! Please make a back-up copy just to be on the safe side. This doesn't mean installing Wfall is hard to do, it really is very easy and should add a new and pleasant opening sequence to your computer. @endnode @node Births The Births_Wfall. ----------------- *** THE Births_Wfall PROGRAM CAN ONLY BE USED IF YOU ARE USING *** *** ALMANAC_F1 or ALMANAC_F1P. Births_Wfall needs a BIRTH *** *** FILE that comes with the Almanac_F1 program. *** The Births_Wfall was written in collaboration with the Almanac_F1 program to produce a Birthday List of past, present and future birthdays. This list will appear with the waterfall boot picture, thus saving you the trouble of running Almanac_F1 to get this information. After reading the list you can then CLICK the LEFT MOUSE BUTTON and the waterfall picture will disappear after WBench has loaded. So if you don't have Almanac_F1 or Almanac_F1P, use the Wfall program as your BOOT program. @endnode @node Install How do we install it:- ---------------------- There are four files in the Waterfall directory. 1. ReadMe.Amigaguide .......... This file, you are now reading. 2. Wfall ...................... The main program. 3. Births_Wfall ............... You may use this file INSTEAD of Wfall, ONLY if you have the program, Almamac_F1. 4. Date-End ................... A small script file. The Wfall file goes into your ..... Sys:Tools drawer. The Date-End file goes into your .. Sys:WBStartup drawer. Now we have to EDit three lines into the @{" Sys:s/startup-sequence. " link sss} Setclock load Date >Ram:Date-Start Run >Nil: Sys:Tools/Wfall Once we have ED running with the Sys:s/Startup-Sequence in it. Have a look at the top line, it should read: c:Setpatch >Nil: , if it's not the top line it won't be far away. Insert the three lines in -after- this line. You could put a 'blank' line before and after our three lines, just so they will be easier to find later on, if needed again. You should now go down through the rest of the lines to see if there is another: Setclock load , or any: Echo" " , commands. These lines can be removed later, but, just for now, insert a semicolon as the first punctuation of the line. Any Echo" " lines will now not be seen with Wfall running. If you feel everything is correct, go to the Menu and Save the file. That's all there is to it! If you now feel confident all is OK. You have Wfall in ............. Sys:Tools You have Date-End in .......... Sys:WBStartup Setclock load Date >Nil:Date-Start Run >Nil: Sys:Tools/Wfall ... in Sys:s/Startup-Sequence, and Saved. Do a soft-boot and you're away! @endnode @node Amos The AMOS Program for Amos Users:- ------------------------------- For those people who program in Amos Basic, I thought you might like to see the main program and the script file and learn how the sequence was accomplished. I had two problems to hurdle: 1. ... the ROTATION of two colour Ranges, (8-15) and (28-31). 2. ... How to END the Amos program at the correct time. Problem 1. Three statements of Amos Basic are: @{"Shift Up delay,first,last,flag" link Up} * This includes: Shift Down delay,first,last,flag Shift Off You can only use one Shift Up or Shift Down running in the same Screen at the same time, if you put two statements in your program only the second one will be used. Unfortunately the picture has two separate ranges to perform. I tried it with just the first (and larger) of the two, but it does need the second range to do the picture justice. My solution was, two ADD, a HEX$ string and a COLOUR statement in the main Loop, for the second Range (28-31). This works, but unlike the Shift Up (using interrupts), increases the Boot-Up time by around six seconds (I feel a small price to pay). See @{"Sizes and Timing" link ST}. Problem 2. The Amos Basic function: @{"flag=Exist()" link Exist} The second problem HOW in HELL do I END the Wfall program!! The Script file EXECUTES another Date >Ram: , with a new name of 'Date-End', as soon as the statement, Exit If Exist("Ram:Date-End"), recognizes this file is there, it leaves the Loop and ends the program. I wish I could say I thought of this solution straight away, but truthfully it took me nearly an hour to puzzle it out. I have NOT hidden the Cursor Arrow incase a WorkBench Error Requester of some kind appears on the Screen. You will need to see the Cursor to reply to the Requester. On the subject of STARTPRI. Programs in the WBStartup drawer are run in sequence according to their startpri number (-128 to 127), the higher the number the sooner the program will run. The default number is 0 (zero). To make sure the script file 'Date-End' is run last, the startpri has been set to -128 (STARTPRI=-128) for this file. This was accomplished using the ICONs Tool Types Information window. You may wish to check this out in your Amiga Manual. *** HERE IS THE WFALL PROGRAM. *** Unpack 5 To 0 : Rem Unpack COMPRESSED PICTURE from Bank 5 to Screen 0. Open In 1,"Ram:Date-Begin" : A$=Input$(1,Lof(1)-1) : Close 1 Ink 3,0 : Text 159-Len(A$)*8/2,201,A$ Shift Up 10,8,15,1 : A=28 : B=29 Do : Multi Wait : Exit If Exist("Ram:Date-End") Add A,-1,28 To 31 : H$=Hex$(Colour(A),3) Add B,-1,28 To 31 : Colour(B),Val(H$) Loop End *** THAT IS IT. *** -------------------- *** HERE IS THE SCRIPT FILE, called 'Date-End'. *** Date to Ram:Date-End *** THAT IS IT. *** @endnode @node sss How to LOAD the Sys:s/Startup-Sequence into ED:- ---------------------------------------------- ED is a Text Editor supplied with the Amiga, MEMAC and EDIT may also be there too. You can even use your own favorite Text Editor to change the Sys:s/Startup-Sequence, you may even use a Word Processor (making sure you save it as a ASCII text file). I feel ED is OK to use and is in the Sys:c drawer (or should be). To get started, go to WorkBench and find the CLI or the SHELL icon. Double click to open, then at the prompt type in: Sys:c/Ed Sys:s/Startup-Sequence If a file that looks something like a mad scientists shopping list hasn't loaded, then something is wrong. Close the window and try again. Capitals don't matter, but spaces, colons and obliques do. @endnode @node Up Shift UP:- Command: Shift Up Delay,first,last,flag -------- If Flag=0: The colour in register 'first' is moved to the next register up, then to the next register up, until register 'last'. Each register now has the same colour as register 'first'. If Flag=1: A list is made of each colour register from 'first' to 'last', then the list is rotated, last to first, first to second, second to third and so on. Delay= The time period between each move (in 50ths. of a second). ***************************** Shift Down:- Command: Shift Down Delay,first,last,flag ---------- If Flag=0: The colour in register 'last' is moved to the next register down, then to the next register down, until register 'first'. Each register now has the same colour as register 'last'. If Flag=1: A list is made of each colour register from 'first' to 'last', then the list is rotated, first to last, last to second last, second last to third last and so on. Delay= The time period between each move (in 50ths. of a second). ***************************** Shift Off:- Command: Shift Off --------- Shift Off stops all colour cycling of the current screen. All Shift commands are interrupt driven so will not slow up your program in any way. Each screen may have its own Shift command. @endnode @node Exist =Exist():- Function: flag=Exist(file$) or flag=Exist("Ram:Date-End") -------- Exist will search a (PATH+File$) string or a (File$ in the current directory) for the existence of the search file. It will return -1 (true), if found or 0 (false), if not. Exist will NOT return an Error message no matter what you ask it to look for, as long as it is not an empty string (""). An example as in my program: Exit If Exist("Ram:Date-End") Each time Amos goes through the Loop, Exist will search for the file, returning 0, until the file is written to Ram:, (which the Script file does at the end of loading WorkBench), it then returns a -1, seeing it is now true. Because it is now true, it exits the Loop and carries out the End command, thus ending the program. @endnode @node ST Sizes and Timing:- ----------------- SIZES ----- The Waterfall picture (.IFF,DPaint) ............. 18314 Bytes. Actual Program size ............................. 518 " Compressed picture (bank 5) ..................... 11864 " ----- Program + Bank .................................. 12382 Bytes ----- Program + Bank .................................. 12382 " Library ......................................... 54346 " ----- Total Wfall (compiled) .......................... 66728 Bytes. ----- TIMING ------ These are for My Standard A2000HD, and will differ from: Amiga model, Speed boards, Programs in WBStartup directory, and time of day the machine was switched on. (times are approximate) Switch On (loading) ................ ??:??:00 Seconds. Date-Begin (Pic. appears) .......... ??:??:23 " Date-End (End Pic. WBench ready) ... ??:??:55 = 32 " (Pic. ON) -- Total Time ............................... 55 Seconds. -- Total time -without- running Wfall or putting Date-Begin to RAM is 49 seconds, the difference is 6 seconds, I am willing to wait an extra 6 seconds just to see Wfall on Boot-Up! Are You? @endnode @node Credits The Waterfall:- --------------- Thomas F. Powell 33 Homer Ave Croydon Victoria 14-07-1995 Australia 3136 National Phone: (03) 9723 1423 If the painter of WATERFALL would like to contact me, I will make sure his name will go in here with the credits. WATERFALL artist .................................... This small program is Giftware. I am only too happy to receive any correspondence from anyone, whether it be Guns or Roses or Gifts or Rude remarks. Unfortunately at the moment it's only phone or snailmail. Tom Powell. @endnode