home *** CD-ROM | disk | FTP | other *** search
-
- ...Hehehehe! I thought the filename might get your attention!
-
- Reason for it is that I'm sick and tired of seeing people unpack an archive
- and greedily attempt to run the program in question only to have it crash and
- piss them off enough to delete the thing and never look at it again!
-
- Shame on them!! If only they'd read the docs first...
-
- »»»» WinSpeed »»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»
-
- 01-01-97 04:26 [..Yawn.. ...Snore.. ...uh..? Oops!]
-
-
- By Olly Koenders
-
- 4/43 Thomas St.
- Ringwood, Victoria
- Australia. 3134
-
- First released on GREMLiNS BBS. »» +61 (03)9870 4393
-
- WinSpeed is Freeware and may be distributed far and wide for the benefit of
- the Amiga community without charge except for small, unquantifiable amounts
- when cost of "magnetic media" is concerned. Please don't alter the docs as
- I like them pretty much too! Keep them with the executable when in piracy
- mode. Thanks.
-
- **** Disclaimer ****
-
- I'll NOT be held responsible for any "damage" wrongly attributed to WinSpeed
- due to misuse or failure to read instructions. WinSpeed will NOT impinge
- upon trackdisk.device, serial.device, the mouse, keyboard or your grandmother
- regardless of how so used as the latter have nothing to do with intuition and
- its refreshing routines!
-
- ----------------------------------------------------------------------------
-
- ...Bear with me for a coupla secs 'cos I'm gonna go out on a limb...
-
- Yeh - I know... There's proggy's around that do about the same thing (hmmm..
- 2 others at last count) but I decided to improve on the idea somewhat. You're
- about to see why!
-
- The docs (or what was available of them at this time) of the other 2 proggy's
- ("SmartWB 1.05" by Grzegorz Calkowski and "SmartWin" by Timo Nentwig) are
- available for perusal later in this document - If thou shalt have requirement
- of them...
-
- Grzegorz was right - Timo's "version" is pretty badly written. Timo seemed
- to delight in the fact that "SmartWin is now a commodity...". If ANYBODY can
- give me a DAMN good reason why it should be, or why it's so good if it were
- then I'll eat this file!
-
- I'm REALLY SICK of "programmers" who, in a fit of either boredom or boneheaded
- creativity delight in causing their "masterful creations" to require a
- plethora of useless libraries (commodities, utility, locale etc.) and other
- resources or AmigaOS 3.1+ just to do simple functions like edit a text file or
- put a window on the screen!
-
- Come on, people! Think about it - programming isn't about slapping something
- together and not optimizing it or bashing an "AppIcon" onto the WorkBench
- 'cos it's suddenly "trendy" to do so! Nor is shoving a heap of structures
- into the Ami's memory just for a simple SetFunction() patch! It's no wonder
- that people complain about the Ami's slow speed - it's more than bloody likely
- 'cos of YOU! Take advantage of the Ami's incredible OS in good form but
- DON'T overload it with rubbish!
-
- If you're the type of programmer that creates something good but doesn't beta
- test it thoroughly before first/second/third (even fourth?) release then
- you're an embarrassment to the rest of us! Learn from mistakes but don't
- release 'em!
-
- If you REALLY need to do that kinda stuff then "program" for the IBM clones
- and you'll be in good company! For the sake of ALL Amiga owners (1.1 '000's
- > 3.1 '060's) out there, Don't insult our intelligence or our machines
- further!!!
-
- [Whew!] 'Nuff said.
-
- ...Okay - where was I..?
-
- ----------------------------------------------------------------------------
-
- WinSpeed patches the intuition.library functions OpenWindow() and
- OpenWindowTagList() to rid the idea of "SIMPLE_REFRESHed" windows (depending
- on your choice) that will speed up WorkBench operations like dragging, depth
- arranging and resizing windows up to about 4 times. Icon rendering speed will
- also be increased slightly as will opening and closing some large windows.
-
- You might also notice your menus flick around a little quicker too but it can
- be difficult to tell.
-
- WinSpeed is 1464 bytes in size, coded in 100% assembler with no "includes"
- and is fully optimized. The program installs a one-piece patch of exactly
- 94 bytes in MEMF_PUBLIC and promptly exits. Just leaving the patch which is
- 100% crash-proof unless some fool "programmer" tries to open a window without
- a pointer in a0. WinSpeed doesn't leave a "process" running soaking up
- valuable processor clock-cycles and the patch is of such small size and
- optimization that it doesn't interfere with the opening of any window (now
- that's something you may never see in a "compiled" program).
-
- WinSpeed took approx. 2 hours to code (I wasn't thinking straight) and as far
- as I can foretell, there may not be further versions as I know I got it right
- the first time. I might include some code in the patch for programmers that
- wish to have their windows left alone. I might even include an "automatic"
- mode for best operation. Depends if I'm prompted enough...
-
- The patch is never removed (unless "Guru" visits or you reset yourself) but
- is updated the next time you run WinSpeed. This allows you to set WinSpeed's
- options at your leisure while testing those Normal/WorkBench windows. Pretty
- neat huh?
-
- For WinSpeed to take effect on any window, the window will have to be closed
- and reopened again AFTER running WinSpeed. Sorry - but that's how these
- things work...
-
- WinSpeed is CLI/Shell only so don't try and crank it up via icon - as the
- WorkBench don't like proggy's being launched that don't retrieve and/or reply
- to its message ports (thingy go BOOM!).
-
- WinSpeed can be started at ANYTIME (even without the WorkBench open) in any
- relevant mode UNLIKE "SmartWin" (definitely!) and "SmartWB" (I think). Best
- place would be at the top of the Startup-Sequence unless you would prefer
- otherwise. DON'T try the WBStartup drawer as that needs an icon to launch
- programs (thingy go BOOM again!).
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- Upon calling WinSpeed with an incorrect argument, this is (roughly) what you
- should see...
-
- WINSPEED: V1.0 © 01-01-97 Olly Koenders - Australia
-
- Usage: WINSPEED [xyz]
-
- x=0 - Standard Windows (Slow)
- 1 - Smart Refresh Windows (Fast)
- 2 - No Refresh Windows (Fastest)
-
- y=0 - Standard Icon Windows (Slow)
- 1 - Smart Refresh Icon Windows (Fast)
- 2 - No Refresh Icon Windows (Fastest)
-
- z=0 - Don't patch Main Workbench Window (Booo!)
- 1 - Patch Main Workbench Window (Yay!)
-
- E.G:WINSPEED 211
-
- For AmigaOS 1.1 > 1.3 set `y' to `0' or it might CRASH!
- Option `x' will patch 1.1 > 1.3 Icon Windows.
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- Yes - I do support OS 1.1 and up if I can help it. It's still being used
- in an Amiga that should be SUPPORTED instead of ridiculed and pressed out of
- service with name-calling such as "Dinosaur..." and so. Though I don't think
- there's many left with OS 1.1 and I reckon the better option would be to
- upgrade but some people ARE strapped for cash. And their beloved Amiga's
- can still kick an IBM arse or three. Put a 486 or Pentium on 7 Mhz and see
- what it does - or more to the point, what it still doesn't!
-
- ...Now, back to your regular entertainment:
-
- There are 2 distinct types of windows available in OS 2.04 > 3.1. Normal
- OpenWindow() windows (used by normal application proggy's) and the type that
- are opened using OpenWindowTagList(), which for the purpose of this exercise
- and to reduce confusion I'll call "Icon Windows" 'cos that's where the icons
- are rendered.
-
- OS 1.1 > 1.3 only uses OpenWindow() as OpenWindowTagList() don't exist but
- WinSpeed is perfectly compatible with that so long as you keep switches "y"
- and "z" set to "0". Listed below are the only combinations that SHOULD be
- used for 1.1 > 1.3 or crashes can result:
-
- "WinSpeed 000",
-
- "WinSpeed 100" or
-
- "WinSpeed 200".
-
- Three choices should be plenty as there's not much more I can do and there's
- 2 more choices than "SmartWB" or "SmartWin" ever allowed.
-
- With OS 2.04+ all other combinations also apply excepting:
-
- "WinSpeed 001",
-
- "WinSpeed 101" and
-
- "WinSpeed 201".
-
- Reason being if the "y" switch is "0" then the main "WorkBench" window won't
- be patched in either case as it's opened using OpenWindowTagList(). Are we
- confused yet? No..? Good.
-
- Be aware that if you patch the main WorkBench window and if you have patterns
- or backdrop pictures displayed in it then some depth arranging/resizing of
- the Icon Windows can scatter these a bit. Selecting "ResetWB" or "Redraw"
- from your WorkBench menu will put them back to normal until the next
- scattering. Note that this ain't the fault of WinSpeed but just how
- intuition works.
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- The difference between "SMART_REFRESH" and "SIMPLE_REFRESH" is that if you
- resize a smart-refreshed window then the contents will be remembered by
- intuition and only the DAMAGED parts redrawn. This can double the speed of
- window refreshing easily but is slower than not refreshing at all.
-
- "SIMPLE_REFRESHed" windows use a teeny little less memory than their "smart"
- counterparts but the ENTIRE window and its contents are refreshed effectively
- halting the computer until this has been accomplished. Note that with a
- WorkBench full of windows/icons this could take some time almost irrelevant
- the speed of processor you're using. part of the slowdown has to do with all
- the display being in MEMF_CHIP where the processor has no access until the
- display DMA have finished their work.
-
- "NOCAREREFRESHed" windows "forget" what they contained and the contents can
- only be refurbished by selecting "Redraw" from the WorkBench menu but that's
- hardly worth a massive coronary now is it? The speed increase of opening,
- closing, dragging and depth arranging speaks for itself already.
-
- Note that there's no point in having a simple or smart-refreshed window
- without a sizing gadget! As the very act of covering a window with another
- has no influence on the contents of the window that's covered due to the
- display data contained in each window residing in a separate area of memory
- entirely.
-
- "SUPER_BITMAP" windows will be patched, but their "SUPER_BITMAP" flag will
- remain intact so there won't be a problem with their status.
-
- Now comes the fun bit - let's all witness the fight between Grzegorz and
- Timo. Changed from ".Guide" to plain ASCII for easier reading...
-
- \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
- ////////////////////////////////////////////////////////////////////////////
-
- **************************************************************************
-
- »»» SmartWB v1.05 «««
- "Forget about slow workbench..."
-
- Freeware © 1994-1996 The Beet Research
-
- written by Grzegorz Calkowski
-
- **************************************************************************
-
-
- If you are using / had been using previous versions of SmartWB, please,
- reread Usage section. Also read this Warning!
-
-
- Table of contents:
-
- Disclaimer Legal mush
- Copying Distribution & Copyright
- Warning Beware of a fake
-
- Description Don't know what this is???
- Usage So...
- Notes Few words more
-
- Author Who made it?
- History Short program history
-
-
-
- DISCLAIMER
- ----------
-
- The program and information above is provided "as is". No
- representations or warranties are made with respect to the accuracy,
- reliability, performance, currentness, or operation of this software and
- information, and all use is at your own risk. The author doesn't assume
- any responsibility or liability whatsoever with respect to your use of the
- program and information.
-
-
- COPYING
- -------
-
- SmartWB is FreeWare. Yes, but you should read "Author". It can be freely
- distributed under following conditions:
-
- 1. No more then a nominal fee is charged to cover cost of magnetic media.
-
- 2. Everything in this distribution must be kept together & unaltered.
- Applies to:
- - SmartWB (the program itself)
- - SmartWB.info
- - SmartWB.guide (AmigaGuide® doc file)
- - SmartWB.guide.info
-
- SmartWB is Copyright (C) 1994-1996 The Beet Research. All rights reserved.
-
- AUTHOR
- ------
-
- It's quite a long history behind SmartWB. I know it very widely used,
- appeared on some magazines cover disks.... I think, it has made your, dear
- Amiga users, work easier and nicer. It's free, but if you want to make poor
- Polish student happy - send a small donation. $5 or so will do! Thank you
- in advance!
-
- I must say big »thank you« to Gerhard Rabe, which is the _only_ person
- who did it... shame, only one...
-
- Contact me at:
-
- Grzegorz Calkowski
- Rzedowice
- ul.Dobrodzienska 8
- POLAND
- voice: +48(0)34-575875
-
- E-mail: calkowsk@usctoux1.cto.us.edu.pl
-
-
- Check out my other programs on Aminet:
-
- SysPic301.lha util/boot 55K 8+The best boot-time picture displayer!
- SysPic301Pix.lha util/boot 113K 7+Bonus pictures for SysPic
- AutoAssign.lha util/wb 18K 33+V1.12-Automagically makes assigns & moun
- JustPlay.lha mus/play 20K 33+1.1-Proplayer to use w/icons, src, XPK
- iconspy1.lha util/wb 12K 79+Monitors calls to icon TOOL TYPES (w/ so
-
-
- WARNING!
- --------
-
- On Aminet appeared archive named ... dev/src/SmartWB10.lha ! It's author
- (Timo Nentwig) claims it's a replacement for my program! It's not.
-
- 1. He has stolen name of my program. He should not.
-
- 2. It's example of a extremely bad written C patch (I have nothing
- against C - I write in C/C++). It's slow - stupid usage of Forbid/Permit
- pair. And big - remains in memory as a process, consuming about 4
- kilobytes of memory + stack (usually 4kb) = 8kb!!!. Original SmartWB
- _only_ installs the patch, which takes only 152 bytes!
-
- 3. Mr. Nentwig wanted to patch _all_ windows to smart-refresh. See "Notes".
- Look at these words:
-
- "(...) So the workbench windows are smart-refreshed. It should also patch
- every other window (e.g. C='s Prefs) opened by OpenWindowTagList() but it
- doesn't (...). Don't ask me why, I've no idea :-( Probaly just a minor
- stupid mistake. This can happen when writing 10 minutes programs (...)"
-
- Any questions?
-
- So, if you use this "replacement" - please delete it and use original
- SmartWB.
-
- DESCRIPTION
- -----------
-
- Well, well... I doubt you haven't heard about SmartWB... this
- proggie is over 2 years old! If you use it, you know, that you can't live
- without it. If, unfortunatelly, you don't use it, you will use it... :-)
-
- SmartWB is a little program that will *magically speed up* Workbench's
- window refreshing. It forces to Workbench windows to open in
- smart-refresh mode instead of slow, ugly-look simple-refresh. SmartWB
- patches intuition/OpenWindowTagList which Workbench uses to open its
- windows. I really don't know why gurus in C= decided to use
- simple-refresh - it saves some memory, but the speed gain worth that. Try
- to open something, let's say, about 20 windows on your workbench and then
- do, for example, a depth rearranging. And so? Yes, slow, even on an
- A4000! Try it again with SmartWB...
-
- Furthermore if you use Magic Layers (aminet/gfx/misc/ML11.lha),
- realtime window movement program by Trond Werner Hansen, SmartWB will make
- it even better!!
-
- SmartWB is written in pure assembler, for best efficiency. Wonder, it
- takes *ONLY* 152 (exactly) bytes of memory!!! And uses no cpu time while
- installed.
-
- SmartWB requires at least 2.04 AmigaOS release (V37). Tested also
- under 3.0 (V39) and 3.1 (V40).
-
- USAGE
- -----
-
- Nothing more easy. SmartWB can be used from both Workbench & Shell
- but the first is recommended. Just drop it to 'WBStartup' drawer...
-
- In the past SmartWB caused problems with big patterns in Workbench
- window. After few window drags, openings/closings pattern got scattered.
- Magically, it affected only big patterns. Now problem is solved - the
- Workbench window isn't forced to be smart.
-
- On first invocation SmartWB installs the patch. On second it will try
- to remove it. Removal can fail if other program will patch the system
- routine used by SmartWB (intuition.library/OpenWindowTagList,
- specifically). In such case, first remove the other ones. Anyway I doubt
- you will ever want to remove SmartWB... :-).
-
- If you want (surely!) SmartWB to not bring the info window specify
- QUIET as an option (for shell) or as a tooltype (for Workbench). As every
- other standard shell command SmartWB recognizes the '?' what brings the
- options template.
-
- NOTES
- -----
-
- You thought: "Why not to force any other simple-refresh windows to be
- smart?", I suppose. Well, answer is simple - better not to "poke" too
- much. Although in most cases it can work fine but maybe sometimes not.
- On other hand, if a programmer uses simple-refresh he knows what he does
- (except Workbench's creators... :-). For example a console window if is
- opened in smart mode (when SMART option specified) doesn't preserve its
- contents. So decision was made not.
-
- HISTORY
- -------
-
- v1.0 (20.02.94)
-
- o First release.
-
-
- v1.01 (21.02.94)
-
- o Small fixes and optimizations.
-
-
- v1.02 (27.10.94)
-
- o SmartWB.rendezvous port was created in a bad way. Could cause strange
- system behaviour. Fixed.
- o Version string was incorrect. Fixed.
- o Finally... now it's copyright (c) TBR.
-
-
- v1.03 (09.11.94)
-
- o A nasty Enforcer hit found in the patch itself! It didn't check if a0
- contains a pointer... Fixed.
- o And therefore patch uses 120 bytes instead of 112... buuuhuuu....
-
-
- v1.04 (18.12.95) <-- Sic!!!
-
- o Oooopsss... a small bug which has been hidden here for over one year...
-
- Sometimes SmartWB trashed d0 at exit returning stupid values (such as 44)
- thus breaking script... (Reported by Tassos Hadjithomaoglou). Fixed.
-
- o Usage doc changed - due to problems (reported by Pete Watson) with big
- patterns, recommended place for SmartWB is WBStartup.
-
- o No longer, hmmmm, BeetWare....
-
- o Plain doc converted to guide.
-
- o ....not released....
-
-
- v1.05 (29.07.96) <--- SIC!!!!!!!!!
-
- o After over 2 years of SmartWB's existence pattern-scattering problem
- solved...!
-
- o Patch size has grown from 120 bytes to 152...
-
- o Source cleaned a little (removed 'Too old kick' requester... who cares
- about 1.3 dinosaurs nowadays... are there still such? :-)
-
- o Icons added.
-
- o FINAL RELEASE. Yes.
-
- \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
- ////////////////////////////////////////////////////////////////////////////
-
- Hmmm... Yep - what d'ya reckon Timo..?
-
- \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
- ////////////////////////////////////////////////////////////////////////////
-
- Short: Always SmartRefreshed windows
- Uploader: Tcn@oxygen.in-berlin.de (Timo C. Nentwig)
- Author: Tcn@oxygen.in-berlin.de (Timo C. Nentwig)
- Type: util/cdity
-
- Replacement for SmartWB by Grzegorz Calkowski.
-
- SmartWIN patches the OpenWindow functions and openes the windows in smart
- refreshed mode.
-
- Since at least most of standard Commodore/AT programs (e.g. MultiView or
- prefs:*) up to v40 still uses the obsolete simple refresh this patch is
- neccessary to speed up windows (especially you are running opaque moving).
-
- Just throw old SmartWB away. It's just useless stuff now since it *only*
- patches the WB windows.
-
- Features: · is a commodity
- · Patches either · every window
- · only wb windows
-
- ToDo: · Improve patch handling
-
- News: · is a cdity now
- · fixed WBONLY bug, if active *only* WB windows were opened
-
- Timo C. Nentwig
- Edelhofdamm 35 Tcn@oxygen.in-berlin.de
- 13465 Berlin/Germany http://www.in-berlin.de/User/oxygen
-
- \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
- ////////////////////////////////////////////////////////////////////////////
-
- Ok - I think we've browsed enough! Above all - enjoy WinSpeed and if you have
- any decent ideas or spare Blizzard 1260 accelerators I'd be happy to hear from
- anybody. I can be contacted at the address on the very, very top of this doc
- so say hello.
-
- Other fast and compact assembler utils by Olly...
-
- modCRUSHER - 31 instrument MOD cruncher - pack rate 60 - 85%! Beats LHArc,
- Lzx, Zip, Zoo, Arj, Imploder 4, PowerPacker 4 hands down!!!
- CLI/WorkBench versions - All Amigas.
-
- DoubleTake - Locates and lists duplicate files on any Dos-legal device - a
- space saver for HD's! - All Amigas.
-
- Plus some more I can't remember just now... [...Zzzzz!]
-
-
-