home *** CD-ROM | disk | FTP | other *** search
- Path: news.uh.edu!barrett
- From: jamie@unx.sas.com (James Cooper)
- Newsgroups: comp.sys.amiga.reviews
- Subject: REVIEW: WinkBug
- Followup-To: comp.sys.amiga.programmer
- Date: 2 Jul 1994 02:18:50 GMT
- Organization: The Amiga Online Review Column - ed. Daniel Barrett
- Lines: 304
- Sender: amiga-reviews@math.uh.edu (comp.sys.amiga.reviews moderator)
- Distribution: world
- Message-ID: <2v2iqa$elj@masala.cc.uh.edu>
- Reply-To: jamie@unx.sas.com (James Cooper)
- NNTP-Posting-Host: karazm.math.uh.edu
- Keywords: hardware, programming, debugging, commercial
- Originator: barrett@karazm.math.uh.edu
-
-
- PRODUCT NAME
-
- WinkBug
-
-
- BRIEF DESCRIPTION
-
- A hardware debugging aid. It has a 2-line by 16-character LCD
- display for use in showing debugging information. It is built into a
- 3-position switchbox, so no lost ports!
-
-
- AUTHOR/COMPANY INFORMATION
-
- Name: The Puzzle Factory, Inc.
- Address: P.O. Box 986
- Veneta, OR 97487
- USA
-
- Telephone: Orders: (800) 828-9952
- Tech Support: (503) 935-3709
-
- E-mail: InterNet: jlavin@efn.org
- BIX: jblavin
-
-
- LIST PRICE
-
- $54.00 (US) + $5.00 Shipping in the U.S. and Canada. European
- customers should call for shipping prices.
-
-
- SPECIAL HARDWARE AND SOFTWARE REQUIREMENTS
-
- HARDWARE
-
- It will not work properly with an Amiga 1000.
-
- SOFTWARE
-
- None.
-
-
- COPY PROTECTION
-
- None.
-
-
- MACHINE USED FOR TESTING
-
- Amiga 3000/25, 4 MB Fast RAM, 2 MB Chip RAM.
- 1 internal 880K floppy.
- 1 internal HD floppy.
- Quantum PD210S hard drive.
- Commodore 1960 Monitor.
- AmigaDOS 2+
- WShell 2.0 replacing the Amiga shell.
-
- - also -
-
- Amiga 4000/40, 18 MB Fast RAM, 2 MB Chip RAM
- 1 internal HD floppy.
- 120 MB IDE hard drive (whatever came with the machine).
- Commodore 1960 Monitor.
- AmigaDOS 3+
- WShell 2.0 replacing the Amiga shell.
-
-
- INSTALLATION
-
- Installation is quite easy. Here are the installation instructions
- from the "ReadMe" file on the WinkBug diskette:
-
- 1. Remove power from your Amiga.
- 2. Plug one end of the supplied 25-conductor male/male DB25 cable
- into the parallel port of your Amiga computer.
- 3. Plug the other end of the cable into the DB25 connector labeled
- "input/output" on the rear panel of WinkBug.
- 4. Apply power to the Amiga.
- 5. Copy "wink.library" from the distribution disk to your LIBS:
- directory.
- 6. Turn the knob on the front panel of WinkBug so that it points
- to the parallel port you wish to use. Turn the knob to point
- to the word "WinkBug" when you want to use the display.
-
-
- REVIEW
-
- One of the first things you might think about WinkBug is the classic
- "I could have done that." or "I wonder why no one else has done this before?"
-
- It is a nicely packaged unit, consisting of a standard 3-position
- switchbox with a small LCD display embedded in the front panel. The front
- panel is Black, with Metallic colors for the lettering and the Puzzle
- Factory logo. Quite aesthetic. The 3 switch positions are marked "A", "B",
- and "WinkBug".
-
- On the back of the unit, one of the DB-25 connectors has been
- removed (since that's the slot used by the WinkBug circuitry), leaving you 3
- places to plug things in - one to your computer, and 2 others for external
- devices (printer, digitizer, etc.).
-
- It's great that WinkBug is in a switchbox, saving you the trouble of
- finding one yourself. The early Beta version was just a single cable to a
- box with the LCD display, and it was annoying to turn off the power, swap
- cables so I could print, turn off power, swap cables to use WinkBug, etc.,
- etc., ad nauseum.
-
- Now, for what it does. Basically, its an alternative output
- device. Sure, it won't take the place of an external terminal, since with
- that you also have keyboard input, but how many have the extra space (or
- want to waste it :) for that extra terminal? And how many have the extra
- terminal in the first place?
-
- Also, you don't waste resources, such as paper. And, WinkBug will
- retain the display as long as you don't turn the power off, so no worries
- about the output to a window not being seen, or the printer buffer getting
- dumped before its printed because the printer got a RESET signal when your
- machine went down.
-
- What good is it? Well, that's the hard part to define. It is one
- of those tools that can sit and collect dust for a long time, but when you
- need it, it is *indispensable* for finding and fixing a problem!
-
- One of the classic problems on the Amiga is debugging a low-level
- routine, such as a device driver, handler, or interrupt. Some of the
- current debuggers can now handle the first 2 to varying degrees, but there's
- still nothing that can correctly handle a time-critical piece of code such as
- an interrupt. Well, with the low-overhead of the WinkBug code, you could
- actually print debug info to the WinkBug device, without messing up critical
- timing for all but the most extreme cases! Finally... about the only thing
- that would be better would be an actual hardware debugger (state analyzers,
- anyone?).
-
- Since it is reasonably transparent to the system, you can also use
- it for all sorts of other things, as well, as the example code on the
- WinkBug disk gives the barest sample.
-
- Speaking of that code, let's take a look at what's supplied.
- Alphabetical order is a reasonable approach here, so...
-
- ENFORCER
-
- Just in case... Enforcer V37.60 is included on the disk. This is
- *such* a useful tool (Thank You, Mike Sinz (and Bryce Nesbitt before
- him)!) that it can't hurt to have a few extra copies around. :-)
-
- EWINK
-
- This is a nifty little piece of code that will intercept Enforcer
- hits (now why did *that* come up again? :-)) and display some of the
- most useful info on the WinkBug display. It doesn't block the
- normal output, so you still get the full report, but... suppose you
- had the Enforcer output going to a window, and you had a nasty
- program locking out user input, so you couldn't switch back to
- *look* at that Enforcer output before the machine crashed. The main
- info you might need will be sitting right there in the WinkBug
- display when your machine comes back up!
-
- EXAMPLES
-
- There are 2 subdirectories here, oddly enough named "Assembly" and
- "C". They show examples of accessing wink.library in your code.
-
- MULTIWINK
-
- This is a nifty little program written by Jim Drew & Joe Fenton of
- Utilities Unlimited. It hooks into Exec's task-switching code to
- display the PC and task structure addresses for the current
- running task in the system. Neat to watch your system at work.
- Useful, as well, as you can now tell the last task that was active
- when you get one of those "hard" crashes.
-
- WINKHANDLER
-
- This is a little piece of code you can link into your program that
- will catch GURU's and dump pertinent info to WinkBug, and Exit
- your program in a moderately stable state. I wouldn't do much
- after this point, but it will allow you to shut down any other
- applications, etc. before a reboot. The code was written by
- myself, with some help from Jeff Lavin (of The Puzzle Factory).
-
-
- All of the above come with complete source code, almost all in
- assembly language, using the Macro68 assembler (also sold by The Puzzle
- Factory). The one exception is, of course, the "C" example in the
- Examples/C subdirectory.
-
- It also comes with the necessary .h, .i, and .fd files to make use
- of WinkBug from C, Assembly, or anything else that can use a .fd file to
- find a library.
-
- Overall, a complete package, and a very useful debugging tool!
-
- There is one restriction, though, and that is that only *one* task
- (in the entire machine) can call the 'AllocWink()' setup routine in the
- wink.library. Any number of tasks can *use* the library after it has been
- set up, but only one can call the setup, and it must be the same task that
- frees it up when it exits. This could lead to conflicts (such as: what if
- the task that called AllocWink exits before some other task that is using
- the library?).
-
- However, this is only version 1 of the software, so there could be
- improvements in this area. In general, it hasn't been enough of a nuisance
- to want to avoid using WinkBug, but it is something to be aware of.
-
-
- DOCUMENTATION
-
- The docs consist of the "ReadMe" and "wink.doc" files in the root of
- the disk, and a few other ".doc" files scattered through various
- subdirectories. These files are reasonably well written, obviously by
- several different authors, so there are varying styles of grammar, etc.
-
- None of it should be hard to understand, except perhaps by the most
- novice of readers. However, you do need some knowledge of programming on the
- Amiga before this device would even be useful, so I don't see a problem.
-
-
- LIKES
-
- It's neat! First, the last data displayed stays even if the Amiga
- is reset, so if you have Enforcer hit info there, it isn't lost. Also, just
- watching the task-switch code in action can be fun, since you will see that
- the machine is, indeed, constantly doing *something* in the background....
- :-)
-
- It is one of those devices that you don't necessarily see a need
- for, until you use it for a bit, then you wonder how you ever got along
- without it! Kind of like multitasking....
-
-
- DISLIKES AND SUGGESTIONS
-
- The only dislike I have is the restriction that only one program can
- call the AllocWink() routine. I usually have several programs in a state of
- flux, and it would be nice to leave the debugging code in, just in case.
- With the current setup, I either have to recompile my code *without* WinkBug
- support (or, at least, without the AllocWink() call), or make sure no more
- than one is running at a time. This also means I can't run any of the
- supplied utilities (such as EWink), and also have an AllocWink() call in my
- program.
-
-
- COMPARISON TO OTHER SIMILAR PRODUCTS
-
- I don't know of any other products quite like this one. It is
- small, easy to use, and could even come in handy for remote debugging... and
- it is cheap enough that if someone was having a problem you couldn't track
- down, you could send them a WinkBug and a version of your program with
- WinkBug support in it, and tell 'em how to find the info you need. The
- cheap part comes in when the Post Office loses the package during
- shipment... :-)
-
-
- BUGS
-
- I didn't find any.
-
-
- VENDOR SUPPORT
-
- I have talked to Jeff Lavin many times in the past. He is a
- reasonable person and has always been helpful when I've had a problem.
-
- The only association I have with The Puzzle Factory is as a
- long-time customer, and a Beta tester for some of their products (and, I
- wrote the GURU-catcher code and docs on the WinkBug disk... :-)).
-
-
- WARRANTY
-
- 90 days on materials and workmanship.
-
-
- CONCLUSIONS
-
- This is a great little toy. I'd have to rate it 4.5 out of 5
- stars. Remove the one restriction (its only an annoyance, but it gets in
- the way), and I'd take it up to 5 out of 5.
-
-
- COPYRIGHT NOTICE
-
- From the "ReadMe" file on the WinkBug diskette:
-
- "WinkBug and Wink Display are trademarks of The Puzzle
- Factory, Inc. Amiga is a registered trademark of Commodore-Amiga,
- Inc.
- "The design of the Wink Display, the WinkBug documentation,
- the wink.library and all software supplied with WinkBug, except as
- otherwise noted, are copyrighted by The Puzzle Factory, Inc."
-
- This review is hereby declared Public Domain. Who else would want
- to claim it, anyway?
-
- ---
-
- Daniel Barrett, Moderator, comp.sys.amiga.reviews
- Send reviews to: amiga-reviews-submissions@math.uh.edu
- Request information: amiga-reviews-requests@math.uh.edu
- Moderator mail: amiga-reviews@math.uh.edu
- Anonymous ftp site: math.uh.edu, in /pub/Amiga/comp.sys.amiga.reviews
-