home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 8 / FreshFishVol8-CD1.bin / useful / reviews / hardware / debug / winkbug < prev    next >
Internet Message Format  |  1994-07-01  |  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" fi