@database PicBoot.guide

@Master PicBoot.texinfo

@Width 72


This is the AmigaGuide® file PicBoot.guide, produced by Makeinfo-1.56 from 
the input file PicBoot.texinfo.


@Node Main "PicBoot.guide"



   This file describes @{b}PicBoot@{ub}, version 2.3, a program to show an IFF
ILBM or GIF picture during boot.


 @{" Introduction " Link "Introduction"}             What is @{b}PicBoot@{ub}?

 @{" System requirements " Link "System requirements"}      What you need to run the program
 @{" Legal information " Link "Legal information"}        Legal information and disclaimer

 @{" Usage " Link "Usage"}                    Basic usage
 @{" Known problems " Link "Known problems"}           Problems and bugs

 @{" StopPicBoot " Link "StopPicBoot"}              What is @{b}StopPicBoot@{ub}
 @{" GetModeID " Link "GetModeID"}                What is @{b}GetModeID@{ub}
 @{" UnpackILBM " Link "UnpackILBM"}               What is @{b}UnpackILBM@{ub}

 @{" Author contact " Link "Author contact"}           How to reach me
 @{" Version history " Link "Version history"}          Version history


@EndNode

@Node "Introduction" "PicBoot.guide/Introduction"
@Next "System requirements"
@Prev "Main"
@Toc "Main"

Introduction
************

   Have you removed all output in your 2.0+ startup, and only see a
black screen during boot? Wouldn't it be nice to have a picture
instead? A picture that disappeared when the @{b}Workbench@{ub} screen opened?

   If so, @{b}PicBoot@{ub} is certainly a program for you. What it will do is to
read any IFF file containing an ILBM picture - or a GIF file - and show
that picture. As soon as the @{b}Workbench@{ub} screen appears (or you press any
mouse-button), the picture will go away.

   Features:

   @{b}*@{ub}  Fast picture unpacking, using highly optimized assembler. The
     entire picture is read into memory and then unpacked. This applies
     both to the IFF and the GIF unpacker.

   @{b}*@{ub}  Optional auto-detaching; the picture is loaded as fast as
     possible, with minimal memory fragmentation.

   @{b}*@{ub}  A picture can be shown a user-specified time after the
     @{b}Workbench@{ub} screen opens (see @{"DELAY" Link "DELAY"} and @{"PATCH" Link "PATCH"}).

   @{b}*@{ub}  Extremely flexible argument parser.

   @{b}*@{ub}  Random select among any number of pictures, in several different
     ways.

   @{b}*@{ub}  Force a certain display mode for a picture, even if saved with
     another (can be selected on a picture by picture basis).

   @{b}*@{ub}  The comment field of a file may be used to specify options.

   @{b}*@{ub}  Optional screen centering (horisontally).


@EndNode

@Node "System requirements" "PicBoot.guide/System requirements"
@Next "Legal information"
@Prev "Introduction"
@Toc "Main"

System requirements
*******************

   Apart from OS 2.04+, @{b}PicBoot@{ub} doesn't require any special libraries.
The only non-ROM library required is @{b}iffparse.library@{ub} (which normally
resides in @{b}Libs:@{ub}).

       @{b}PicBoot@{ub} have full support for OS 3.0+ and AGA graphics.


@EndNode

@Node "Legal information" "PicBoot.guide/Legal information"
@Next "Usage"
@Prev "System requirements"
@Toc "Main"

Legal information
*****************

   This program is freeware. You may copy and use this program freely,
as long as the following conditions are met:

   @{b}*@{ub}  All files are copied in an unmodified state. If additional
     information is needed, place it in a separate file. Preferably
     redistribute in the original archive form (@{b}*.Lha@{ub}).

     Exception: So called BBS ads may @{i}not@{ui} be added!

   @{b}*@{ub}  The copying is done on a non-commercial and non-profit basis
     only. A copy fee to cover media costs, postage etc. may be
     charged. This fee may not exceed the fee to obtain an AmigaLibDisk
     from Fred Fish.

   @{b}*@{ub}  The copier/spreader is not claiming the Copyright © of this
     program.

   Any exceptions from these restrictions requires written permission
from the author, Magnus Holmgren (see @{"Author contact" Link "Author contact"}).

Disclaimer
==========

   Magnus Holmgren neither assume nor accept any responsibility for the
use or misuse of these programs. He also will not be held liable for
damages or any compensation due to loss of profit or any other damages
arising out of the use, or inability to use these programs.

   Magnus Holmgren will not be liable for any damage arising from the
failure of these programs to perform as described, or any destruction
of other programs or data residing on a system attempting to run the
programs. While he know of no damaging errors, the user of these
programs uses it at his or her own risk.


@EndNode

@Node "Usage" "PicBoot.guide/Usage"
@Next "Known problems"
@Prev "Legal information"
@Toc "Main"

Usage
*****

   To activate @{b}PicBoot@{ub}, add a line to your @{b}S:Startup-Sequence@{ub}, looking
something like this:

     PicBoot Pics:Hi-res/Calvin01.Pic DETACH

Or, if you have a list of files in "Work:Text/PicList":

     PicBoot Work:Text/PicList LIST DETACH

   Or, if your drawer @{b}Pics:BootPics@{ub} contains some pictures:

     PicBoot Pics:BootPics/#?.(Pic|Gif) DETACH

   This line should be located near the beginning in the
@{b}S:Startup-Sequence@{ub} (no point in placing it near the @{b}LoadWB@{ub} command, is
it? :), but keep it after @{b}SetPatch@{ub}. @{b}PicBoot@{ub} will only output any text if
it fails, so don't re-direct its output. Note however that if you place
@{b}PicBoot@{ub} @{i}before@{ui} any additional monitors are installed, you'll be stuck
with the default.monitor for showing your picture. The DEFAULT switch
may be of help here.

   Make sure no program makes any output in the CLI window, since then
the @{b}Workbench@{ub} screen will open with a boring CLI-window instead...

   Options:


 @{" FILES " Link "FILES"}           Picture(s) to view, or name(s) of listfile(s)
 @{" MODEID " Link "MODEID"}          Use this display mode
 @{" LIST " Link "LIST"}            The pictures to view are stored in a listfile
 @{" CENTER " Link "CENTER"}          Should the screen be centered?
 @{" DEFAULT " Link "DEFAULT"}         Force the default monitor to be used?
 @{" AUTOSCROLL " Link "AUTOSCROLL"}      Enable autoscrolling?
 @{" VIDEOOVERSCAN " Link "VIDEOOVERSCAN"}   Use video overscan?
 @{" DELAY " Link "DELAY"}           Delay close after @{b}Workbench@{ub} screen open
 @{" PATCH " Link "PATCH"}           Prevent @{b}Workbench@{ub} from open in front of @{b}PicBoot@{ub}
 @{" DETACH " Link "DETACH"}          Detach from the @{b}Shell@{ub} when picture is loaded


@EndNode

@Node "FILES" "PicBoot.guide/FILES"
@Next "MODEID"
@Toc "Usage"

FILES
=====

   This is the only required argument. Here you specify the name of the
picture you want to view. You may enter several files here, in which
case @{b}PicBoot@{ub} will select one of them randomly, and show that one.

   The name(s) can also be the name of an ASCII file containing a
filename list if you specified the @{"LIST" Link "LIST"} option.

   The name(s) can also be the name of a drawer, in which case
@{b}PicBoot@{ub} will randomly select one of the files in this drawer. To use a
pattern during this scanning, simply enter the pattern like it had been
the name of a file in the drawer. Example:

     Work:Pics/#?.gif

which would make @{b}PicBoot@{ub} select a file ending in @{b}.gif@{ub} in the drawer
@{b}Work:Pics@{ub}

   If the comment field of the selected listfile or picture starts with
"*PicBoot*: " (case sensitive), then the rest of the comment is taken
to be arguments, like those in a @{"LIST" Link "LIST"} file.

   You may freely mix picture and drawer names. Listfiles can only be
mixed with the other two ones, if the comment contains the @{"LIST" Link "LIST"} switch.
In that case, the @{"LIST" Link "LIST"} argument should not be used on the command line
(or in a list file). Ofcourse you can random select among list files
with the "drawer scanner" if you like.. :)


@EndNode

@Node "MODEID" "PicBoot.guide/MODEID"
@Next "LIST"
@Prev "FILES"
@Toc "Usage"

MODEID
======

   Short form: M

   NOTE: This argument is mainly for the more "advanced" user.

   This argument should be a decimal number specifying which screen
mode to use.  It basically replaces the so called CAMG hunk in an ILBM
file (since it contains which screen mode to use). Thus, you must
select mode with care, or else the picture will look like trash
(nothing more serious can happen. I hope! :). When showing GIF files,
it will override the internal "best mode" routines (which aren't good
at all. But I haven't bothered to add code to make them better.. :).

   To make it easier for you to find out which display mode id to use,
there is a small program called @{b}GetModeID@{ub} included, which uses the
@{b}ReqTools@{ub} or @{b}Asl@{ub} screenmode requester. Simply select the display mode you
want, and it will print out the number you should use here.  See
@{"GetModeID" Link "GetModeID"}.

   The mode id will be passed through the same validity checking as a
normal so called CAMG chunk, so @{b}PicBoot@{ub} should handle bad values properly
(although I haven't tested this much.. :).


@EndNode

@Node "LIST" "PicBoot.guide/LIST"
@Next "CENTER"
@Prev "MODEID"
@Toc "Usage"

LIST
====

   Short form: L

   If this switch is specified, @{b}PicBoot@{ub} will interpret the files in the
@{"FILES" Link "FILES"} argument as names of files containing a list of pictures (or
rather, argument lines). @{b}PicBoot@{ub} will then randomly select one of the
lines in the selected file, and process it almost like a normal argument
line. The only difference is that you can't use the @{"DETACH" Link "DETACH"}, @{"DELAY" Link "DELAY"} or
@{"PATCH" Link "PATCH"} arguments. These arguments may not be specified in a listfile (no
point in doing it anyway).

   The listfile is an ASCII (text) file with a simple layout. On the
first line you specify the number of argument lines in the file. This is
usually <number of lines in file>-2 (one line is occupied by the count,
and the other is the last linefeed). If this value is zero, then
@{b}PicBoot@{ub} will exit silently. The rest of the file is simply the argument
lines to choose from. An example:

     4
     Work:Pics/Comics/Calvin02.Pic MODEID 137220
     Work:Pics/Comics/Calvin03.Gif
     Work:Text/MoreCalvins.txt LIST CENTER ON
     Work:Pics/Misc/#?.Gif

   Note that any arguments specified from the CLI, or in any previous
listfile, will be taken as the new default value. In the listfile you
may alter this default. This does not include the LIST argument
(ofcourse). It is always turned off before parsing a line.

       @{i}Warning:@{ui} Since you may enter a new listfile within a listfile,
you can be caught in an endless loop, constantly changing (maybe to the
same) listfile. No checking for this is done. Also, since there is no
CLI-window around, you have no chance to send @{b}PicBoot@{ub} any CTRL-C, if
@{b}PicBoot@{ub} should happen to listen to this. You have been warned! :)

       @{i}Note:@{ui} A line in a listfile may not be more than 512 chars, or it
will be truncated when read. This shouldn't cause any problems I think..


@EndNode

@Node "CENTER" "PicBoot.guide/CENTER"
@Next "DEFAULT"
@Prev "LIST"
@Toc "Usage"

CENTER
======

   Short form: C

   Possible arguments: YES, ON, NO, OFF. Default is NO.

   If this switch is on (argument is YES or ON), @{b}PicBoot@{ub} will center the
picture. This centering should work fine for most screen modes, but one
can never now.. :) If a screen promotor is active, then @{b}PicBoot@{ub} can get
it wrong (when the screen is opened in another mode than @{b}PicBoot@{ub} had
asked for).


@EndNode

@Node "DEFAULT" "PicBoot.guide/DEFAULT"
@Next "AUTOSCROLL"
@Prev "CENTER"
@Toc "Usage"

DEFAULT
=======

   Short form: DEF

   Possible arguments: YES, ON, NO, OFF. Default is NO.

   If this switch is on (argument is YES or ON), @{b}PicBoot@{ub} will force the
picture to use the default.monitor, regardless of what was actually
stored in the picture (in the CAMG chunk). This is needed since very
early in the startup, default.monitor is the only monitor available
(e.g.  multiscan.monitor is normally not available). In the future, I
might add more types of "forcing" (e.g. force a picture to PAL, NTSC or
whatever that might be useful).

   This switch also acts on the @{"MODEID" Link "MODEID"} parameter, if specified.


@EndNode

@Node "AUTOSCROLL" "PicBoot.guide/AUTOSCROLL"
@Next "VIDEOOVERSCAN"
@Prev "DEFAULT"
@Toc "Usage"

AUTOSCROLL
==========

   Short form: AS

   Possible arguments: YES, ON, NO, OFF. Default is NO.

   If this switch is on (argument is YES or ON), the OS 2.0+
autoscrolling of screens will be enabled.

       @{i}Note:@{ui} During boot, this switch may make the actual display a bit
smaller than normally possible. There is nothing I can do about that...
:) You can, however, by ensuring that ENV: is properly set up before
@{b}PicBoot@{ub} is started. Or you could try the @{"VIDEOOVERSCAN" Link "VIDEOOVERSCAN"} switch.


@EndNode

@Node "VIDEOOVERSCAN" "PicBoot.guide/VIDEOOVERSCAN"
@Next "DELAY"
@Prev "AUTOSCROLL"
@Toc "Usage"

VIDEOOVERSCAN
=============

   Short form: VO

   Possible arguments: YES, ON, NO, OFF. Default is NO.

   If this switch is on (argument is YES or ON), the visible size of the
opened screen will be as large as the system can handle (assuming the
picture is large enough). Forces @{"AUTOSCROLL" Link "AUTOSCROLL"} to YES.


@EndNode

@Node "DELAY" "PicBoot.guide/DELAY"
@Next "PATCH"
@Prev "VIDEOOVERSCAN"
@Toc "Usage"

DELAY
=====

   Short form: DL

   A "problem" with @{b}PicBoot@{ub} is that the @{b}Workbench@{ub} screen first opens, and
then processes the @{b}Sys:WBStartup@{ub} drawer, which takes a little time. This
means that the picture @{b}PicBoot@{ub} shows disappear before the boot is
complete. To avoid this problem, the DELAY switch can be use to specify
the number of ticks (there are 50 ticks each second) @{b}PicBoot@{ub} will wait
after the @{b}Workbench@{ub} screen have opened.

   However, this isn't perfect. When the @{b}Workbench@{ub} screen opens, the
@{b}PicBoot@{ub} screen must be brought back to the front again. This causes a
little "flicker". To avoid this, use the @{"PATCH" Link "PATCH"} parameter as well (this
feature requires OS 3.0+ to work).

   There is a special delay value, 0, which causes @{b}PicBoot@{ub} to wait until
you either press any mouse button, or another program sends @{b}PicBoot@{ub} a
break signal (CTRL-C). The program @{"StopPicBoot" Link "StopPicBoot"} was written to do this.


@EndNode

@Node "PATCH" "PicBoot.guide/PATCH"
@Next "DETACH"
@Prev "DELAY"
@Toc "Usage"

PATCH
=====

   Short form: P

   If this switch is specified, @{b}PicBoot@{ub} will install a patch in
@{b}Intuition@{ub}, so that the @{b}Workbench@{ub} screen (or rather, any screen opened,
that explicitly doesn't say that the screen shouldn't open behind the
others) doesn't open in front of the @{b}PicBoot@{ub} screen. This removes the
"flicker" that normally occurs when using the @{"DELAY" Link "DELAY"} option. For this
option to be useful, the @{"DELAY" Link "DELAY"} parameter must be used as well.

       @{i}Note: @{ui}This option only works on OS 3.0 or higher. This is due to
the OS (as far as I know), and there is nothing I can do about it (tech
note: @{b}Workbench@{ub} in OS 2.0x doesn't seem to call the open screen function
via the external library vector).

       @{i}Note: @{ui}This kind of patching is not a recommended thing to do.
Programs should not do temporary patches like this. However, to avoid
the flickering, there is no alternative.. :)

       @{i}Note: @{ui}In case some other program patches the same function after
@{b}PicBoot@{ub} have installed its patch - and you don't have a program like
e.g. @{b}SetMan@{ub} installed - then @{b}PicBoot@{ub} will leave a small memory allocation
behind (6 bytes), to avoid any problems.


@EndNode

@Node "DETACH" "PicBoot.guide/DETACH"
@Prev "PATCH"
@Toc "Usage"

DETACH
======

   Short form: D

   If this switch is specified, @{b}PicBoot@{ub} will detach from its calling CLI
when the picture is fully loaded and displayed. If you specify this
option, you shouldn't "Run" @{b}PicBoot@{ub}. This option will reduce memory
fragmentation, and will ensure that the picture gets loaded quickly. I
don't think this feature will cause any problems, but I added the
switch just in case.


@EndNode

@Node "Known problems" "PicBoot.guide/Known problems"
@Next "StopPicBoot"
@Prev "Usage"
@Toc "Main"

Known problems
**************

   I do not know of any real bugs in @{b}PicBoot@{ub}. However, certain parts of
the program may still contain bugs. E.g.,  pictures that have a mask
bitplane (mskHasMask) are supported, but since I only have one
(compressed) picture that have a mask, there might be a bug in that
code (can't test it properly).  Please report any problems!

   Currently there is no support for SHAM, PCHG and similar "special"
pictures. I'm not sure if this could be implemented in a "clean" way
(that would work on future systems etc). These pictures aren't that
common, and I have an Amiga with AA-graphics, so... :) Color cycling is
currently ignored (I have no need for it).

   Interlaced GIF pictures aren't supported, since I don't have any such
picture (well, actually I have ONE :). Besides, the decompression of
such pictures would be slower anyway.

       @{b}PicBoot@{ub} doesn't remap GIF files in any way. Even if you have
ECS, GIF files can still be useful. This is because a GIF file can have
from 2 to 256 colors (inclusive). Thus, if you have a program that can
save a 16-color picture as a 16-color GIF file, there will be no
problem to view it with @{b}PicBoot@{ub}.

       @{b}PicBoot@{ub} doesn't make use of any chunky to planar hardware, if it
should happen to be installed (e.g. Aikiko). Anyone who have it, so I
can test it if I should decide implement it? :) It would be fairly
simple to do, since my own chunky to planar routines have very similar
restrictions..  :)

   The "best mode" routine used in the GIF reader isn't good at all
(this includes the ROM function in OS 3.0+! :). I suggest you use the
@{"MODEID" Link "MODEID"} parameter instead (Correction: The ROM function isn't good when
there are several different monitors to choose from. If only one or two
(similar) monitors are available, then the result is usually rather
good).

   Pictures with more than 8 bitplanes are currently not supported by
@{b}PicBoot@{ub}.

   The centering for (some?) Super72 screens doesn't work. I suspect
this is an OS-bug (I know that @{b}PicBoot@{ub} calculates a reasonable offset,
which @{b}Intuition@{ub} seems to ignore).


@EndNode

@Node "StopPicBoot" "PicBoot.guide/StopPicBoot"
@Next "GetModeID"
@Prev "Known problems"
@Toc "Main"

StopPicBoot
***********

       @{b}StopPicBoot@{ub} is a small program that simply tells @{b}PicBoot@{ub} to quit,
if it should happen to be in memory. This is useful in combination with
the @{"DELAY" Link "DELAY"} option. If this is set to 0, @{b}PicBoot@{ub} expects someone to tell
it when it is time to exit, and this is what @{b}StopPicBoot@{ub} does.

   By having @{b}StopPicBoot@{ub} in @{b}Sys:WBStartup@{ub}, then @{b}PicBoot@{ub} will close its
screen when the boot process almost complete (the tooltype @{b}STARTPRI@{ub}
should be very low (-120 or so), so that @{b}StopPicBoot@{ub} is started as the
last program)


@EndNode

@Node "GetModeID" "PicBoot.guide/GetModeID"
@Next "UnpackILBM"
@Prev "StopPicBoot"
@Toc "Main"

GetModeID
*********

       @{b}GetModeID@{ub} is a simle program that shows a @{b}Asl@{ub} or @{b}ReqTools@{ub}
screenmode requester, whichever is available. The program will then
print out the decimal identifier for the selected screenmode, suitable
for use together with the @{"MODEID" Link "MODEID"} parameter. This program can only be
used from a @{b}Shell@{ub}. Example usage:

       PicBoot Island.Gif MODEID `GetModeID`

   This will first show a screenmode requester (if you have one, that
is), and then show the GIF-picture in the selected screenmode.


@EndNode

@Node "UnpackILBM" "PicBoot.guide/UnpackILBM"
@Next "Author contact"
@Prev "GetModeID"
@Toc "Main"

UnpackILBM
**********

       @{b}UnpackILBM@{ub} is another simple program (at least in theory... :).
It will take any IFF ILBM picture and unpack the so called BODY chunk
in it (this is the actual image data). This means that e.g. @{b}PicBoot@{ub} will
be able to display that image a little faster, at least if loading it
from some fast media. Or, if you use @{b}PPShow@{ub}/@{b}ShowIFF@{ub}, you could repack the
picture with @{b}PowerPacker@{ub}/@{b}Xpk@{ub}, to maximize the compression (as the
compression used in IFF ILBM isn't a very efficient one. But on the
other hand, it is rather fast and simple). But then @{b}PicBoot@{ub} won't be
able to load them.. :) Example usage:

       UnpackILBM Island.Pic Island.Pic.NoComp
       UnpackILBM Island.Pic

   The first example till unpack the picture to a new one, while the
other will - via a temprary file - overwrite the original picture with
the uncompressed version.

       @{i}Note:@{ui} I haven't tested this program @{i}that@{ui} much. I've converted a
few pictures, so it seems to work fine (at least when there aren't any
errors), but one can never now.. Please report any problems!

       @{i}Note:@{ui} This program doesn't strip any information. All chunks will
remain. The picture data is only decompressed.


@EndNode

@Node "Author contact" "PicBoot.guide/Author contact"
@Next "Version history"
@Prev "UnpackILBM"
@Toc "Main"

Author contact
**************

       @{b}PicBoot@{ub} was written by Magnus Holmgren. If you have any comments
etc, feel free to send me a note. You can reach me via internet on this
address:

     cmh@augs.se

   Fido-net messages should go to "Magnus Holmgren",
2:204/404.6@fidonet.org.  Snail mail should reach me if you write the
following address on the envelope:

     Magnus Holmgren
     Kvarnbergsvägen 4
     S-444 47  Stenungsund
     SWEDEN


@EndNode

@Node "Version history" "PicBoot.guide/Version history"
@Prev "Author contact"
@Toc "Main"

Version history
***************


 @{" Version 1.00 " Link "Version 1.00"} 
 @{" Version 1.01 " Link "Version 1.01"} 
 @{" Version 1.02 " Link "Version 1.02"} 
 @{" Version 1.03 " Link "Version 1.03"} 
 @{" Version 2.0 " Link "Version 2.0"} 
 @{" Version 2.1 " Link "Version 2.1"} 
 @{" Version 2.2 " Link "Version 2.2"} 
 @{" Version 2.3 " Link "Version 2.3"} 


@EndNode

@Node "Version 1.00" "PicBoot.guide/Version 1.00"
@Next "Version 1.01"
@Toc "Version history"

Version 1.00
============

   Release date: 08 Feb 93

   @{b}*@{ub}  Initial release.


@EndNode

@Node "Version 1.01" "PicBoot.guide/Version 1.01"
@Next "Version 1.02"
@Prev "Version 1.00"
@Toc "Version history"

Version 1.01
============

   Release date: 14 Feb 93

   @{b}*@{ub}  @{b}PicBoot@{ub} would sometimes read past the end of the picture-list file,
     although the file was correct. Also, the last picture would never
     be showed.  Fixed (thanks to Daniel Joseph Oak for reporting).

   @{b}*@{ub}  Did some tweeking, to make the program smaller. The total gain
     was eaten up by improved error messages though. @{b}PicBoot@{ub} will now
     more accurately report why the display didn't open.

   @{b}*@{ub}  Added support for masked ILBMs, since I discovered that I had
     such a picture anyway. :) Since I only have one picture, its hard
     to tell if it really works, but it seems to be ok at least.

   @{b}*@{ub}  The autoscrolling of the screen didn't work. Fixed (so now you
     can view pictures larger than the screen, by moving the invisible
     mouse-pointer).

   @{b}*@{ub}  Added the @{"CENTER" Link "CENTER"} switch.


@EndNode

@Node "Version 1.02" "PicBoot.guide/Version 1.02"
@Next "Version 1.03"
@Prev "Version 1.01"
@Toc "Version history"

Version 1.02
============

   Release date: 21 Feb 93

   @{b}*@{ub}  Added the @{"DEFAULT" Link "DEFAULT"} switch. As Bradley Yen pointed out for me,
     there is (normally) only one monitor available early in the
     startup, and that is default.monitor (and what default.monitor is
     can vary. It can e.g. be PAL or NTSC). This switch will make the
     picture use the default.monitor, regardless what it was saved in.

   @{b}*@{ub}  Autoscrolling of screen disabled again, since this would make some
     overscanned pictures clipped, even if this wasn't needed.

   @{b}*@{ub}  A bug in the init code fixed.


@EndNode

@Node "Version 1.03" "PicBoot.guide/Version 1.03"
@Next "Version 2.0"
@Prev "Version 1.02"
@Toc "Version history"

Version 1.03
============

     Release date: 15 Oct 93

   @{b}*@{ub}  If an error occured, any black "cover screen" (BLACK option)
     wasn't closed.  Fixed.

   @{b}*@{ub}  "Ported" to Macro68. At the same time, the code was cleaned up a
     little. All this saved more than 100 bytes from the program. Most
     of it eaten up by the improvements though.. :)

   @{b}*@{ub}  Added the @{"MODEID" Link "MODEID"} parameter. @{b}rtGetModeID@{ub} is included to make the
     use of this parameter easier.

   @{b}*@{ub}  Docs rewritten using @{b}Texinfo@{ub}.

   @{b}*@{ub}  Pictures with mskHasMask were reported to have an "error in
     compressed BODY chunk", due to a bug. Sorry, but I don't have many
     pictures to test this code with.. :)

   @{b}*@{ub}  @{"AUTOSCROLL" Link "AUTOSCROLL"} switch added, so that you can scroll around in large
     pictures. Mostly useful when @{b}PicBoot@{ub} is used from the @{b}Shell@{ub}.  During
     boot, this can cause the picture to be clipped when it isn't
     necessary.

   @{b}*@{ub}  @{b}PicBoot@{ub} will now move the screen to the back before closing it
     (this makes the closing faster). Not needed during boot, but... :)

   @{b}*@{ub}  List files much improved! Each line will be parsed almost like
     the normal arguments. Old files should work fine, as long as no
     filename contains spaces, in which case those lines need to be
     quoted.

   @{b}*@{ub}  Altered command line syntax slightly. Needed because of the new
     listfile format. Technical note: I'm using a poorly documented
     feature of @{b}AmigaDOS@{ub}: The /T specifier. If the argument following
     the keyword is YES or ON, the switch is turned on, if it is OFF or
     NO, the switch is off.  Any other arguments causes an error.
     Testing revealed the true nature of this specifier... :)

   @{b}*@{ub}  Removed the "You need OS 2.04+" error message. An (Exec) Alert
     will be shown instead.

   @{b}*@{ub}  @{b}PicBoot@{ub} will now random-select among the @{"FILES" Link "FILES"} arguments, even if
     the @{"LIST" Link "LIST"} argument have been used (previously, only the first file
     was used).

   @{b}*@{ub}  @{"VIDEOOVERSCAN" Link "VIDEOOVERSCAN"} switch added. Makes the visible area as large as the
     system can handle. Requested by Stefan Boberg.

   @{b}*@{ub}  Screen centering improved. Should work fine with any screen mode
     now (but if you promote the screen, @{b}PicBoot@{ub} will probably get it
     wrong. Unless the promotor also "promotes" @{b}QueryOverscan()@{ub} :).


@EndNode

@Node "Version 2.0" "PicBoot.guide/Version 2.0"
@Next "Version 2.1"
@Prev "Version 1.03"
@Toc "Version history"

Version 2.0
===========

   Release date: 29 Mar 94

   @{b}*@{ub}  BLACK argument removed. Not needed any more, since @{b}PicBoot@{ub} now will
     first allocate the needed memory, decode the picture into this
     memory, and then open the screen. This makes the screen
     opening/closing a little faster too (practically instaneous on my
     A4000/040).

   @{b}*@{ub}  Pictures (or rather, brushes) that were less than 16 pixels wide
     wouldn't decompress properly... :)

   @{b}*@{ub}  Added support for the CMAPOK flag in the BitMapHeader.bmh_Flags
     (previously called bmh_Pad) field (if this flag is set it
     indicates that the color map contains 8 bits/color rather than 4
     bits/color).

   @{b}*@{ub}  Major code cleanup. Made the program somewhat larger, but... :)

   @{b}*@{ub}  GIF support added. Should be a little faster than @{b}PPShow@{ub}.. :)

   @{b}*@{ub}  The @{"MODEID" Link "MODEID"} argument wasn't properly "passed on" to any following
     listfile(s).

   @{b}*@{ub}  Rewrote @{b}rtGetModeID@{ub} into @{b}GetModeID@{ub}, that first checks for @{b}Asl@{ub}, and
     then tries with @{b}ReqTools@{ub} before giving up. This new version is in
     C, compiled with DICE, without any startup code, and is fully
     residentable. :) See @{"GetModeID" Link "GetModeID"}.

   @{b}*@{ub}  Included @{b}UnpackILBM@{ub}, that takes any IFF ILBM file (with a BODY
     chunk, i.e. a normal picture) and writes it with an uncompressed
     BODY instead. Written upon user request. See @{"UnpackILBM" Link "UnpackILBM"}.


@EndNode

@Node "Version 2.1" "PicBoot.guide/Version 2.1"
@Next "Version 2.2"
@Prev "Version 2.0"
@Toc "Version history"

Version 2.1
===========

   Release date: 14 May 94

   @{b}*@{ub}  The @{"DEFAULT" Link "DEFAULT"} parameter didn't do anything. Fixed

   @{b}*@{ub}  @{b}UpackILBM@{ub} and @{b}GetModeID@{ub} updated a little. Version string added,
     recompiled with @{b}DICE@{ub} 3.0 and some other minor changes.


@EndNode

@Node "Version 2.2" "PicBoot.guide/Version 2.2"
@Next "Version 2.3"
@Prev "Version 2.1"
@Toc "Version history"

Version 2.2
===========

   Release date: 12 Jul 94

   @{b}*@{ub}  If the listfile was too short (i.e. not enough number of lines in
     it), @{b}PicBoot@{ub} would crash.

   @{b}*@{ub}  Made the detaching code more system friendly. I hope this will
     fix the problems a few users have had.

   @{b}*@{ub}  A few minor bugs fixed + some minor optimizations...

   @{b}*@{ub}  If the number on the first line in the listfile is 0, then
     @{b}PicBoot@{ub} will exit silently. Now why did I add this... >;)

   @{b}*@{ub}  Improved the random number algorithm.

   @{b}*@{ub}  Added the @{"DELAY" Link "DELAY"} parameter.

   @{b}*@{ub}  Added the @{"PATCH" Link "PATCH"} parameter.

   @{b}*@{ub}  Tweeked the GIF-unpacker a little. Found yet another Macro68
     (V3.170) bug while doing that.. :/ (Watch out for bra.l to other
     sections/modules when generating code for the 68020+. The branch
     target is @{i}not @{ui}correct. :)


@EndNode

@Node "Version 2.3" "PicBoot.guide/Version 2.3"
@Prev "Version 2.2"
@Toc "Version history"

Version 2.3
===========

   Release date: 30 Aug 94

   @{b}*@{ub}  Rewrote startup code and argument parser in C, for easier
     maintainance (and to simplify the implementation of some of the
     features below).

   @{b}*@{ub}  You can now also specify a directory (with optional pattern
     matching), and @{b}PicBoot@{ub} will randomly select among the files found.
     As usual, you can use this feature whereever @{b}PicBoot@{ub} used to expect
     a file name.

   @{b}*@{ub}  If the comment field of a file that @{b}PicBoot@{ub} will read (i.e. a list
     file or a picture) starts with the string "*PicBoot*: " (case
     sensitive), then the rest of the comment is assumed to be
     arguments, to be parsed like they had been found in a list file.

   @{b}*@{ub}  @{b}UnpackILBM@{ub} will not delete the temp file if it couldn't be renamed
     to the original.

   @{b}*@{ub}  Removed a piece of debug code in the @{b}OpenScreen()@{ub} patch (it flashed
     the screen). Harmless, but annoying.. :)

@EndNode

