home *** CD-ROM | disk | FTP | other *** search
- =============================================================================
-
-
-
-
-
- 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
-