home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Elysian Archive
/
AmigaElysianArchive.iso
/
screen
/
hambench.lzh
/
HamBench.DOC
< prev
next >
Wrap
Text File
|
1990-09-28
|
19KB
|
379 lines
=============================================================================
v. 1.0
(And all sorts of other display modes)
by David M. Pochron
(a.k.a. "The MCP" or "The MCP *sysop*")
=============================================================================
OVERVIEW
--------
First off, the author assumes the user has a working knowledge of creating
WorkBench icons and manipulating color palettes with HAM paint programs. If
not, you may want to get a friend to help you create your own icons for use
with this program!
Also, I'll post here the standard lingo of "I assume no responsibility for
lost work, trashed floppies, etc, etc. if you use this program and the system
crashes during a session." (Since we are doing some pretty funny stuff with
the system structures and all.)
Now, on with the good stuff...
This program is the culmination of my previous efforts - The KickStart mod
which allowed you to change the # of bitplanes on the Workbench screen by
patching KickStart 1.2; and my later effort, "Bitplanes" which changed the
number of bitplanes on any screen on the fly. Now, with HamBench, you can
not only change the # of bitplanes, you can change resolutions and display
modes on the fly as well - giving you the power of any type of Workbench
screen mode you want - complete with icons!
USING HAMBENCH
--------------
Although its main purpose for being created was to provide the capability
of HAM mode with the Workbench screen, HamBench goes far beyond that. You
may also select to use a regular lo-resolution screen with any number of
bitplanes, or you can also use the EXTRA_HALFBRITE mode with Workbench!
Plus, it allows you to load your own color palette from a data file each time
you invoke the HamBench program.
HamBench should be used from CLI. The arguments it understands are as
follows: {All must be in *lower case*, however, they can be on the command
line in any order you wish (Except the <Palette, as it is a redirection
argument.) }
HamBench [ < Filename ] [?] [r] [ham] [hb] [c] [n] [depth]
[ < Filename ]
This is where you specify the filename of the color palette data file for
loading your own custom color palette. Replace "Filename" with the name of
the data file with the raw palette data. Note that You must also give it the
[c] switch (load color palette) in order for HamBench to read in this file.
The palette file included with this ARC file is named "palette.dat".
[?]
Helpful info display of HamBench parameters.
[r]
Toggle between lo-res/hi res mode. This effectively changes the horizontal
resolution of the screen on the fly. Necessary when using the [ham] or [hb]
(halfbright) switches.
[ham]
Toggle on/toggle off HAM mode. Pretty straighforward. You MUST be "toggling
on" -OR- already be in lo-res mode or else HAM mode will not work. (Unless
there are Amiga's out there (A3000?) with hi-res HAM mode!)
Also, read about the [depth] argument for some special notes on the [ham]
switch.
[hb]
Works exactly like the [ham] switch, except give you EXTRA_HALFBRITE instead
of HAM mode! Same deal with lo-res mode too. Again, read under [depth] arg.
for special notes and how [hb] and [ham] affect changing the screen depth.
[c]
Color switch. Tells HamBench to look for a color palette file named in the
redirection argument, load it, and set the screen colors to that new palette.
The palette file itself must a raw color palette file converted from an IFF
brush or picture CMAP chunk by the "ConvCMAP" program.
Note that HamBench can handle palette files with differing numbers of
colors. If your palette file you created has only, let's say, 16 colors in
it, (because the screen or brush you extracted the color palette data from
only had 16 colors in it) and you wish to create a Workbench screen with a 32-
color palette, then only the first 16 colors will be changed, since that is
all that was in your data file.
[n]
No fixing of the right-hand border. Normally, when you do not specify this
option, whenever (and only when) the HamBench program is toggling down into
lo-res mode, (from the [r] option) the Workbench screen's border is fixed so
it looks like a normal, lo-res screen. However, this also makes several
programs un-executable in lo-res mode, since when the border is in place,
Intuition will NOT open a window that would cross this border, causing the
program to "hang." The [n] option tells HamBench not to re-adjust the border
when in lo-res, but it doesn't look as "tidy" since the right hand side of
the screen will be in "full-video land."
[depth]
Well, I saved the hardest to explain for last - changing the number of planes
on the screen. In short, when you pass in a number (1 - 8) in this argument,
the plane depth will be set to this number. The baffling part is when you
ignore this parameter - it has differing results, depending on whether you
also used the [ham] or [hb] options. Hopefully, I can try to explain the
results, case-by-case, as follows:
1. If you specified neither [ham] nor [hb] mode as an option, then the
Workbench screen will be forced to 2 bitplanes. (Std. WB depth)
2. If either HAM or HB mode is being toggled ON, then the program will
set the # of bitplanes of the screen to 6.
3. If either HAM or HB mode is going to be toggled OFF, then the # of
bitplanes on the screen will be set to 2. (standard WB depth)
To understand it best, try experimenting.
PS. There are no checks for currently "illegal" values ( > 6 ) so you
could end up crashing the system.
JUST TO GET THINGS GOING...
---------------------------
If the above has completely baffled you, here are some examples and what
they do:
1. IF YOU ARE CURRENTLY DISPLAYING A STD. WORKBENCH SCREEN:
"HamBench r ham" ; Turns on lo-res mode & HAM mode. Depth set
to 6 planes deep.
"HamBench r hb" ; Turns on HALF_BRITE mode. Same deal.
"HamBench <palette.dat c r ham" ; Does same as above, but loads in your own
custom color palette.
"HamBench <palette.dat c r hb" ; Same deal. HB mode.
"HamBench ham r n" ; HAM mode - but don't fix rt. border.
"HamBench 5 r" ; Turn on lo-res, but no HAM or HB. Sets
screen depth to 5 for 32 colors at once.
"HamBench 1" ; Don't even change resolutions. Just set
screen depth to 1.
"HamBench 4 r ham" ; Specify a 4-bitplane HAM mode screen!?!
(Well, it's pretty useless, but interesting.)
2. IF YOU ARE ALREADY IN HAM MODE AND DO THE FOLLOWING:
"HamBench r ham" ; Toggle HAM mode off, toggle resolution back
to hi-res, set depth back to 2.
"HamBench ham" ; Only toggle off HAM mode - screen stays in
lo-res.
Similarly, HALFBRITE works the same way.
You could also go directly from HAM mode into HALFBRIGHT by the following:
"HamBench ham hb"
This toggles off HAM mode, and toggles on HB mode. The toggle ON has
priority so the screen depth is set to 6.
Note: You should really only use any of the lo-resolution modes for DEMO
purposes only, such as for disks with music or sound files, picture disks,
animation disks, and also with disk magazines! Plus, it's always nice to
insert a disk and have a full-color, digitized image of your face pop up on
the screen, perhaps making a funny expression when you click on it!
(Impress your Mac II,IBM PS/2 and Atari ST friends!!!)
USING HAMBENCH AS A WORKBENCH ICON
----------------------------------
You can use HamBench from a Workbench icon as well. There is an icon in
this ARC file called "HamBench.WB". This icon is used with IconX which is on
the Workbench 1.3 disk. The script this icon accompanies can be modified
with ED so you can have any screen mode just by clicking the icon. You will
notice this file reads:
HamBench <palette.dat c r ham
This has the effect of toggling on/off HAM mode and lo/hi res each time to
click the icon and also loading in the custom palette. You can change this to
whatever modes you want to toggle on or off.
CREATING CUSTOM ICONS
---------------------
Creating a digitized icon in HAM mode is much more tricky than creating a
standard icons. First of all, the color palettes must be identical,
regardless of which mode you are in. Therefore you must "lock" the color
palette in the paint program you will be creating the icon with. The
standard steps for creating a digitized icon are as follows:
1. Digitize something!
2. Load your favorite HAM paint program, and load some image with the palette
your Workbench screen is going to use. It is important to decide on a
palette for all your images before you load the image you just digitized.
Note some paint programs may require you to "lock" the palette first.
3. Load the image you digitized as a brush, you will probably need at least 1
meg of memory to do this, unless the image you digitized is small.
4. Shrink the image to the size you want.
5. Do a "Remap" of the digitized image which will fix it so it has the same
palette as the main screen image you loaded with the palette you want to
use. (Note: some paint programs may do a "remap" of the brush as soon as
you load it into the paint program, thus this step may not be necessary.)
6. Re-save the brush to disk.
7. Use the MAKEICON program found in the ARC file to convert it to an .info
file. It is now an icon you can display on the Workbench screen!
SPECIAL BONUS
-------------
(Exciting, isn't it??) Although this program had made references to the
Workbench screen, in truth you can change any screen of any program you
desire. All that needs to be done is to put the screen you wish to be changed
in front of all other screens, dragging it to the bottom of the display if
you still need access to the Workbench screen, and HamBench will modify that
screen instead of the Workbench screen! This opens up some very interesting
possibilities with Dpaint III and HAM mode, though I can't try it out at this
time since I don't have Dpaint III yet...
USING THE OTHER PROGRAMS
------------------------
Although I've mentioned in passing the utility programs in other places in
this ReadMe file, I'll mention them all here so you know how to use them.
ConvCMAP < {IFFfile} > {ColorPaletteFile}
-- Extracts color palette chunk from IFF file and saves it to a raw palette
file on disk. (BTW: Those are redirection < > symbols; they must be included
on the command line!)
FixIcon {IconName} {depth}
-- Change the depth of the icon you specify in {IconName} to the depth you
want. Simply adds or subtracts bitplanes in the <icon>.info file. Do not
add the ".info" to the iconname - it gets added internally.
MakeIcon {icontemplate} {brushname}
-- Replace the image structure of the icon specified in {icontemplate} with
the IFF image in {brushname}. Note that you should not include the ".info"
extension with the icon filename - it gets added internally.
This program effectively lets you create custom icons from brushes with
any icon type! (disk, garbage, tool,etc.)
ShrinkWindows
-- This program duplicates the ShrinkWindows() function internal to the
HamBench program. If you use the [n] option in HamBench, there is a good
chance that you will move windows offscreen or open new windows so that you
cannot get to their control gadgets. This program (runnable from BOTH
WorkBench and CLI) goes through all the windows on the front-most screen and
fits them into a lo-res display. Very useful!
ABOUT THE ICONS...
------------------
There are several icons which I have included with this ARC file. Most of
them are in HAM mode - I wanted to create Extra-HalfBright icons also but I
do not have a paint program which supports EHB yet. Anyway, here is a little
bit on how each was created:
MARBLE.INFO
- Rendered with SA-4D - Not digitized! Meant for MarbleMadness, but could
be used for many other programs.
PREFERENCES.INFO
- Drawn using Dpaint II and converted to HAM mode for compatability with the
rest of the icons. Use it with the Preferences program, of course!
HAMBENCH-WB.INFO
- Drawn using the Photon Paint tools & palette requester in HAM mode. Used
with this program!
SCULPT.INFO
- Rendered with SA-4D, for SA-4D! Simple as that.
LAUREN.INFO
- The famous "Lauren" pic, courtesy of Digi-View! You could have your face
plastered on WB too, folks!
DISK.INFO
- A HAM disk icon, demonstrating animated icons work as well in HAM mode.
Hand drawn, of course, but a real digitized diskette as an icon could be
reather nifty!
BRISBY.INFO
- This icon is not HAM mode, but simply a 16-color lo-res drawn icon. (It
uses the 16-color base palette.) This demonstrates that you can use different
screen mode icons as long as the depth and palettes match! I have included
the original IFF file with this icon in case you want to use the same palette
with your own custom icons. All the icons here use this same palette!
Mrs. Brisby is a character from the Don Bluth film, "The Secret of NIMH",
a motion picture which is a personal favorite of mine. If you haven't seen
it, you should!
The "ShrinkWindows" program has its own icon too, but it is simply an 8-color
icon made with Dpaint II and MakeIcon. Both ShrinkWindows.info and
Brisby.info have been run through "FixIcon" so you should have no problems
with these icons in any screen mode.
There are other 8- and 16-color icons in the ARC file of my previous effort,
BITPLANES. If you only want to use the 8/16 color screen modes, then you
should seek the ARC file out for more icons.
CAVEAT EMPTOR (Oh no! The bad news!!)
-------------
Needless to say, you can run into a few problems using HamBench, most
obvious is most programs will not run with a low resolution workbench,
because they open up a window larger than the display area.
Additionally, you may have noticed if you ran the program already that the
window and screen gadgets do not change size to fit the new resolution - thus
they may look larger or smaller than normal or perhaps are being rendered over
by other gadgets when the screen is set to an alternate resolution. This
problably could be fixed, but at the expense of making this program Kickstart-
version dependant. In any case, it doesn't seem to harm anything.
Another problem is much more serious and is due to a bug in the WorkBench
part of the operating system itself! It appears that Workbench does not like
it when you try to display icons with more than a 2-bitplane deficit on a
customized Workbench screen. So if you have a 2-bitplane icon and you try to
display it on a screen with 4 or more bitplanes, you will most certainly meet
Mr. GURU. In short, it makes it pretty much impossible to stick in any
existing disk with normal icons without having the system crash. (Actually,
the system doesn't crash immediately; all the CHIP memory vanishes (yet it
isn't reported as so on the memory meter) and after that, the GURU won't be
long in comming...) Unfortunately, I see no fix for this in the immediate
future, until either Commodore brings out a Workbench that actually works
100%, or perhaps Charlie Heath of MicroSmiths, who created the ARP project,
will eventually release the ARP WorkBench project, which should fix the bugs.
(I hope!)
To help alleviate this serious bug, there is a program included with this
ARC file called "FixIcon." This program simply changes the depth of the
.info file you specify as an argument, such as:
FixIcon disk 6 ;note no ".info" after icon name!
will fix the disk.info file so it has 6 bitplanes on it instead of 2. You can
specify any number 1-8 in the second argument field and the icon will be
changed to that depth. You should do this to all your disks if you expect to
use a Workbench with more than 3 bitplanes.
Actually, I shouldn't be too hard on Commodore, since the WorkBench was
never meant to have the depth & screen resolution be changed on the fly. In
fact, I'm pleasantly surprised that this program works at all - try to do
this on some other PC's and the OS crashes with a brilliant blazing inferno!
It just seems that this bug is one that should not happen. In any case,
KickStart 1.4 (whenever it comes out) should not have this problem, since it
is supposed to support "foreign graphic modes" on the Workbench screen, which
will mean a variable amount of bitplanes depending on the graphics card you
happen to have inserted into the machine.
RULES
-----
Okay, this program is pretty much pure PD. You can use it for whatever you
like, and you can even sell it yourself or even use it with disk magazines as
long as I get proper credit. If you sell it on your local user group PD disks
or upload it to BBSes, please, keep this ARC file intact!
Also, I'd like for it to be "SpreadWare", if you use it regularly, it'd be
nice if you gave a copy of the ARC file to a friend also.
CONCLUSION
----------
Hopefully, I will have time to continue to add improvemts to the HamBench
program; next on the list is fine-scrolling the WorkBench screen when in lo-
res mode so you can see everything. I wish I had more info on the internal
workings of Workbench and how it displays its icons, as I would patch the
forementioned icon display bug in a moments notice. If anyone has any info,
please feel free to contact me. Also, if you have any bug reports or things
you would like to see added, tell me about them! I can usually be reached on
the following BBSes:
The Daily Planet 608-873-4700 1200/2400 Leave mail to: "The MCP"
A.S.I.M BBS 305-271-0688 1200/2400/9600 Leave mail to: "The MCP"
I have sysop status (for now at least) on the ASIM BBS, so you can also leave
[F]eedback to the sysop and point out that the mail is for THE MCP somewhere
in your message. If you live (or visit often) the Madison WI area, drop by
the CAMEO user's group meetings and seek me out (by my real name, David
Pochron); I usually attend every meeting whenever possible.
You can also contect me if you want to hire a good Amiga programmer who
knows "C" but prefers Assembly language. (College is so expensive, and to
actually have a hard drive might be nice someday... :-)
That's all for now; hope you like the program. It was fun to make.
-- David M. Pochron
6/10/89