home *** CD-ROM | disk | FTP | other *** search
/ Amiga MA Magazine 1998 #6 / amigamamagazinepolishissue1998.iso / www / cucug / amiga / amiinfo / reviews / winkbug.txt < prev    next >
Internet Message Format  |  1997-11-07  |  12KB

  1. Path: news.uh.edu!barrett
  2. From: jamie@unx.sas.com (James Cooper)
  3. Newsgroups: comp.sys.amiga.reviews
  4. Subject: REVIEW: WinkBug
  5. Followup-To: comp.sys.amiga.programmer
  6. Date: 2 Jul 1994 02:18:50 GMT
  7. Organization: The Amiga Online Review Column - ed. Daniel Barrett
  8. Lines: 304
  9. Sender: amiga-reviews@math.uh.edu (comp.sys.amiga.reviews moderator)
  10. Distribution: world
  11. Message-ID: <2v2iqa$elj@masala.cc.uh.edu>
  12. Reply-To: jamie@unx.sas.com (James Cooper)
  13. NNTP-Posting-Host: karazm.math.uh.edu
  14. Keywords: hardware, programming, debugging, commercial
  15. Originator: barrett@karazm.math.uh.edu
  16.  
  17.  
  18. PRODUCT NAME
  19.  
  20.     WinkBug
  21.  
  22.  
  23. BRIEF DESCRIPTION
  24.  
  25.     A hardware debugging aid.  It has a 2-line by 16-character LCD
  26. display for use in showing debugging information.  It is built into a
  27. 3-position switchbox, so no lost ports!
  28.  
  29.  
  30. AUTHOR/COMPANY INFORMATION
  31.  
  32.     Name:        The Puzzle Factory, Inc.
  33.     Address:    P.O. Box 986
  34.             Veneta, OR  97487
  35.             USA
  36.  
  37.     Telephone:    Orders:        (800) 828-9952
  38.             Tech Support:    (503) 935-3709
  39.  
  40.     E-mail:        InterNet:    jlavin@efn.org
  41.             BIX:        jblavin
  42.  
  43.  
  44. LIST PRICE
  45.  
  46.     $54.00 (US) + $5.00 Shipping in the U.S. and Canada.  European
  47. customers should call for shipping prices.
  48.  
  49.  
  50. SPECIAL HARDWARE AND SOFTWARE REQUIREMENTS
  51.  
  52.     HARDWARE
  53.  
  54.         It will not work properly with an Amiga 1000.
  55.  
  56.     SOFTWARE
  57.  
  58.         None.
  59.  
  60.  
  61. COPY PROTECTION
  62.  
  63.     None.
  64.  
  65.  
  66. MACHINE USED FOR TESTING
  67.  
  68.     Amiga 3000/25, 4 MB Fast RAM, 2 MB Chip RAM.
  69.     1 internal 880K floppy.
  70.     1 internal HD floppy.
  71.     Quantum PD210S hard drive.
  72.     Commodore 1960 Monitor.
  73.     AmigaDOS 2+
  74.     WShell 2.0 replacing the Amiga shell.
  75.  
  76.     - also -
  77.  
  78.     Amiga 4000/40, 18 MB Fast RAM, 2 MB Chip RAM
  79.     1 internal HD floppy.
  80.     120 MB IDE hard drive (whatever came with the machine).
  81.     Commodore 1960 Monitor.
  82.     AmigaDOS 3+
  83.     WShell 2.0 replacing the Amiga shell.
  84.  
  85.  
  86. INSTALLATION
  87.  
  88.     Installation is quite easy.  Here are the installation instructions
  89. from the "ReadMe" file on the WinkBug diskette:
  90.  
  91.     1. Remove power from your Amiga.
  92.     2. Plug one end of the supplied 25-conductor male/male DB25 cable
  93.        into the parallel port of your Amiga computer.
  94.     3. Plug the other end of the cable into the DB25 connector labeled
  95.        "input/output" on the rear panel of WinkBug.
  96.     4. Apply power to the Amiga.
  97.     5. Copy "wink.library" from the distribution disk to your LIBS:
  98.        directory.
  99.     6. Turn the knob on the front panel of WinkBug so that it points
  100.        to the parallel port you wish to use.  Turn the knob to point
  101.        to the word "WinkBug" when you want to use the display.
  102.  
  103.  
  104. REVIEW
  105.  
  106.     One of the first things you might think about WinkBug is the classic
  107. "I could have done that." or "I wonder why no one else has done this before?"
  108.  
  109.     It is a nicely packaged unit, consisting of a standard 3-position
  110. switchbox with a small LCD display embedded in the front panel.  The front
  111. panel is Black, with Metallic colors for the lettering and the Puzzle
  112. Factory logo.  Quite aesthetic.  The 3 switch positions are marked "A", "B",
  113. and "WinkBug".
  114.  
  115.     On the back of the unit, one of the DB-25 connectors has been
  116. removed (since that's the slot used by the WinkBug circuitry), leaving you 3
  117. places to plug things in - one to your computer, and 2 others for external
  118. devices (printer, digitizer, etc.).
  119.  
  120.     It's great that WinkBug is in a switchbox, saving you the trouble of
  121. finding one yourself.  The early Beta version was just a single cable to a
  122. box with the LCD display, and it was annoying to turn off the power, swap
  123. cables so I could print, turn off power, swap cables to use WinkBug, etc.,
  124. etc., ad nauseum.
  125.  
  126.     Now, for what it does.  Basically, its an alternative output
  127. device.  Sure, it won't take the place of an external terminal, since with
  128. that you also have keyboard input, but how many have the extra space (or
  129. want to waste it :) for that extra terminal?  And how many have the extra
  130. terminal in the first place?
  131.  
  132.     Also, you don't waste resources, such as paper.  And, WinkBug will
  133. retain the display as long as you don't turn the power off, so no worries
  134. about the output to a window not being seen, or the printer buffer getting
  135. dumped before its printed because the printer got a RESET signal when your
  136. machine went down.
  137.  
  138.     What good is it?  Well, that's the hard part to define.  It is one
  139. of those tools that can sit and collect dust for a long time, but when you
  140. need it, it is *indispensable* for finding and fixing a problem!
  141.  
  142.     One of the classic problems on the Amiga is debugging a low-level
  143. routine, such as a device driver, handler, or interrupt.  Some of the
  144. current debuggers can now handle the first 2 to varying degrees, but there's
  145. still nothing that can correctly handle a time-critical piece of code such as
  146. an interrupt.  Well, with the low-overhead of the WinkBug code, you could
  147. actually print debug info to the WinkBug device, without messing up critical
  148. timing for all but the most extreme cases!  Finally... about the only thing
  149. that would be better would be an actual hardware debugger (state analyzers,
  150. anyone?).
  151.  
  152.     Since it is reasonably transparent to the system, you can also use
  153. it for all sorts of other things, as well, as the example code on the
  154. WinkBug disk gives the barest sample.
  155.  
  156.     Speaking of that code, let's take a look at what's supplied.
  157. Alphabetical order is a reasonable approach here, so...
  158.  
  159.     ENFORCER
  160.  
  161.     Just in case... Enforcer V37.60 is included on the disk.  This is
  162.     *such* a useful tool (Thank You, Mike Sinz (and Bryce Nesbitt before
  163.     him)!) that it can't hurt to have a few extra copies around.  :-)
  164.  
  165.     EWINK
  166.  
  167.     This is a nifty little piece of code that will intercept Enforcer
  168.     hits (now why did *that* come up again? :-)) and display some of the
  169.     most useful info on the WinkBug display.  It doesn't block the
  170.     normal output, so you still get the full report, but... suppose you
  171.     had the Enforcer output going to a window, and you had a nasty
  172.     program locking out user input, so you couldn't switch back to
  173.     *look* at that Enforcer output before the machine crashed.  The main
  174.     info you might need will be sitting right there in the WinkBug
  175.     display when your machine comes back up!
  176.  
  177.     EXAMPLES
  178.  
  179.     There are 2 subdirectories here, oddly enough named "Assembly" and
  180.     "C".  They show examples of accessing wink.library in your code.
  181.  
  182.     MULTIWINK
  183.  
  184.     This is a nifty little program written by Jim Drew & Joe Fenton of
  185.     Utilities Unlimited.  It hooks into Exec's task-switching code to
  186.     display the PC and task structure addresses for the current
  187.     running task in the system.  Neat to watch your system at work.
  188.     Useful, as well, as you can now tell the last task that was active
  189.     when you get one of those "hard" crashes.
  190.  
  191.     WINKHANDLER
  192.  
  193.     This is a little piece of code you can link into your program that
  194.     will catch GURU's and dump pertinent info to WinkBug, and Exit
  195.     your program in a moderately stable state.  I wouldn't do much
  196.     after this point, but it will allow you to shut down any other
  197.     applications, etc. before a reboot.  The code was written by
  198.     myself, with some help from Jeff Lavin (of The Puzzle Factory).
  199.  
  200.  
  201.     All of the above come with complete source code, almost all in
  202. assembly language, using the Macro68 assembler (also sold by The Puzzle
  203. Factory).  The one exception is, of course, the "C" example in the
  204. Examples/C subdirectory.
  205.  
  206.     It also comes with the necessary .h, .i, and .fd files to make use
  207. of WinkBug from C, Assembly, or anything else that can use a .fd file to
  208. find a library.
  209.  
  210.     Overall, a complete package, and a very useful debugging tool!
  211.  
  212.     There is one restriction, though, and that is that only *one* task
  213. (in the entire machine) can call the 'AllocWink()' setup routine in the
  214. wink.library.  Any number of tasks can *use* the library after it has been
  215. set up, but only one can call the setup, and it must be the same task that
  216. frees it up when it exits.  This could lead to conflicts (such as: what if
  217. the task that called AllocWink exits before some other task that is using
  218. the library?).
  219.  
  220.     However, this is only version 1 of the software, so there could be
  221. improvements in this area.  In general, it hasn't been enough of a nuisance
  222. to want to avoid using WinkBug, but it is something to be aware of.
  223.  
  224.  
  225. DOCUMENTATION
  226.  
  227.     The docs consist of the "ReadMe" and "wink.doc" files in the root of
  228. the disk, and a few other ".doc" files scattered through various
  229. subdirectories.  These files are reasonably well written, obviously by
  230. several different authors, so there are varying styles of grammar, etc.
  231.  
  232.     None of it should be hard to understand, except perhaps by the most
  233. novice of readers.  However, you do need some knowledge of programming on the
  234. Amiga before this device would even be useful, so I don't see a problem.
  235.  
  236.  
  237. LIKES
  238.  
  239.     It's neat!  First, the last data displayed stays even if the Amiga
  240. is reset, so if you have Enforcer hit info there, it isn't lost.  Also, just
  241. watching the task-switch code in action can be fun, since you will see that
  242. the machine is, indeed, constantly doing *something* in the background....
  243. :-)
  244.  
  245.     It is one of those devices that you don't necessarily see a need
  246. for, until you use it for a bit, then you wonder how you ever got along
  247. without it!  Kind of like multitasking....
  248.  
  249.  
  250. DISLIKES AND SUGGESTIONS
  251.  
  252.     The only dislike I have is the restriction that only one program can
  253. call the AllocWink() routine.  I usually have several programs in a state of
  254. flux, and it would be nice to leave the debugging code in, just in case.
  255. With the current setup, I either have to recompile my code *without* WinkBug
  256. support (or, at least, without the AllocWink() call), or make sure no more
  257. than one is running at a time. This also means I can't run any of the
  258. supplied utilities (such as EWink), and also have an AllocWink() call in my
  259. program.
  260.  
  261.  
  262. COMPARISON TO OTHER SIMILAR PRODUCTS
  263.  
  264.     I don't know of any other products quite like this one.  It is
  265. small, easy to use, and could even come in handy for remote debugging... and
  266. it is cheap enough that if someone was having a problem you couldn't track
  267. down, you could send them a WinkBug and a version of your program with
  268. WinkBug support in it, and tell 'em how to find the info you need.  The
  269. cheap part comes in when the Post Office loses the package during
  270. shipment...  :-)
  271.  
  272.  
  273. BUGS
  274.  
  275.     I didn't find any.
  276.  
  277.  
  278. VENDOR SUPPORT
  279.  
  280.     I have talked to Jeff Lavin many times in the past.  He is a
  281. reasonable person and has always been helpful when I've had a problem.
  282.  
  283.     The only association I have with The Puzzle Factory is as a
  284. long-time customer, and a Beta tester for some of their products (and, I
  285. wrote the GURU-catcher code and docs on the WinkBug disk... :-)).
  286.  
  287.  
  288. WARRANTY
  289.  
  290.     90 days on materials and workmanship.
  291.  
  292.  
  293. CONCLUSIONS
  294.  
  295.     This is a great little toy.  I'd have to rate it 4.5 out of 5
  296. stars.  Remove the one restriction (its only an annoyance, but it gets in
  297. the way), and I'd take it up to 5 out of 5.
  298.  
  299.  
  300. COPYRIGHT NOTICE
  301.  
  302.     From the "ReadMe" file on the WinkBug diskette:
  303.  
  304.         "WinkBug and Wink Display are trademarks of The Puzzle
  305.     Factory, Inc.  Amiga is a registered trademark of Commodore-Amiga,
  306.     Inc.
  307.         "The design of the Wink Display, the WinkBug documentation,
  308.     the wink.library and all software supplied with WinkBug, except as
  309.     otherwise noted, are copyrighted by The Puzzle Factory, Inc."
  310.  
  311.     This review is hereby declared Public Domain.  Who else would want
  312. to claim it, anyway?
  313.  
  314. ---
  315.  
  316.    Daniel Barrett, Moderator, comp.sys.amiga.reviews
  317.    Send reviews to:    amiga-reviews-submissions@math.uh.edu
  318.    Request information:    amiga-reviews-requests@math.uh.edu
  319.    Moderator mail:    amiga-reviews@math.uh.edu
  320.    Anonymous ftp site:  math.uh.edu, in /pub/Amiga/comp.sys.amiga.reviews
  321.