home *** CD-ROM | disk | FTP | other *** search
/ The Fred Fish Collection 1.5 / ffcollection-1-5-1992-11.iso / ff_disks / 200-299 / ff206.lzh / StereoDemo / ReadMe < prev    next >
Text File  |  1989-04-30  |  8KB  |  157 lines

  1.  
  2.             BADGE Killer Entry
  3.             by David M. McKinstry
  4.             Physics Department
  5.             Eastern Washington University
  6.             Cheney, WA   99004
  7.         Phones:    509-359-7462   (Work)
  8.             509-235-6074   (Home)
  9.  
  10.  
  11.  
  12.      In the Drawer StereoDemo is the entry for the 1988 BADGE Killer
  13. Contest.  For the Demo to run properly, all three files in that drawer
  14. must be kept together without making any changes in their names or
  15. locations, or the name of the Drawer.  However, the drawer may be copied
  16. anywhere as long as kept intact.  (Don't copy to RAM: because the program
  17. 'Stereo' will create RAM:c and RAM:StereoDemo and copy the files 'Window'
  18. and 'Window2' to RAM:StereoDemo.  These files will be deleted at the
  19. termination of the program.  In addition, c: is assigned to RAM:c so that
  20. the Run command can be guaranteed without accessing the floppies.
  21. Assignment to sys:c will be made at the termination of the program.
  22.  
  23.      This is done specifically so that the floppy drives will not be
  24. accessed during the animation sequence which uses the Blitter directly
  25. by writing to the the hardware registers, rather than using the Draw()
  26. function.  As I have not yet figured out how to use packets in assembler
  27. (or even C) yet, the floppies are not inhibited from operation.  Thus, it
  28. is possible to cause a crash if one inserts a new disk into a floppy drive
  29. while the animation sequence is working.  To avoid this, you should press
  30. the I key to stop the animation and get back to the Intuition Screen before
  31. doing anything that requires access to the floppies.  If you do so, c:
  32. will be assigned back to sys:c.  If you do this for any reason, you will
  33. have to continue the animation before terminating the program.  Note:  If
  34. you press I or Ctrl C while the animation is not in progress, response
  35. will not be made until the animation continues, as the Synchronous IO locks
  36. out other IO.
  37.  
  38.      It is not recommended that you temporarily stop the animation unless
  39. for a fairly simple requirement, since doing so does not release any of the
  40. memory or raster allocated.  If you really have to do anything else, it's
  41. better to simply terminate the program by using control c.  The combined
  42. size of all files needed in the animation is about 21000 bytes so it
  43. won't take long to start it over, even from a floppy.
  44.  
  45.      The program is written entirely in assembler, with the exception
  46. that I have taken the easy way out for getting startup from workbench by
  47. using a one-line C program that calls my assembler program.  Incidently,
  48. I am currently using the 'as' assembler by Manx as well as its C compiler
  49. and 'ln' linker.
  50.  
  51.      Following are some of the features of this demo that might not
  52. be immediately apparent:
  53.  
  54.      1)  The intuition window 'StereoScopic Demonstration' has
  55.      center justification for its text.  It uses GetPrefs to find
  56.      out whether the font is Topaz 60 or Topaz 80.
  57.  
  58.      2)  The custom screen(s) 'Stereoscopic Screen'  uses the diamond 20
  59.      font, and is an intuition screen with a drag bar and depth gadgets,
  60.      even though they have been made invisible.  Since they are there
  61.      are two screens, it does no good to use the depth gadget while
  62.      animation is in effect.  However, if a narration is active while
  63.      using synchronous IO (some of the narration is of that type) the
  64.      depth gadget may be used.  However, at such a time using the drag
  65.      bar to pull down a screen will only bring down one at a time.
  66.      If you have clicked the mouse into the custom screen, you will have
  67.      to pull down the screen to activate the Intuition window behind them.
  68.  
  69.      3)  All of the speech by 'Amy' is asynchronous.  This does slow
  70.      down the animation significantly, but does illustrate the multi-
  71.      tasking capabilities of the Amiga.  Normal animation is about 10
  72.       10 frames/s with a M68000, and is so slow in part because all drawing
  73.      is done in 640 by 400 mode (only 2 bit planes per screen) and involves
  74.      calcuations for both left and right eyes done in real time.
  75.      Of course, the trig is from a table rather than calculated real time.
  76.  
  77.      4)  The two windows that simulate the 'other computers' are run from
  78.      within 'Stereo' by using the AmigaDOS command Execute (i.e. not the
  79.      CLI Execute) of a command line 'Run Window' or 'Run Window2'.  The
  80.      output is into NIL: opened using AmigaDOS.  This was a simple way
  81.      of multitasking without worrying about sending messages or creating
  82.      new processes.  These windows both have depth and drag gadgets , but
  83.      are made invisible for simulation purposes.  No close gadgets are
  84.      provided, as they will terminate on their own.  This option was
  85.      chosen as the demo is intended to run to completion and repeat if
  86.      the user pressed the space bar at the prompt given on the title
  87.      page.  If you do abort before the demo is over, the screens may
  88.      not disappear for up to 2 minutes, but their memory requirements
  89.      are trivial compared to those of the custom screens, and you can
  90.      hide them behind other windows or drag them sideways to get them
  91.      out of the way of disk icons.
  92.  
  93.      5)  The two windows use GetPrefs to determine whether or not the
  94.         workbench is interlaced and adjusts their apparent sizes
  95.         accordingly.
  96.  
  97.  
  98.      Since this program is intended for Demo only, it assumes one has a
  99. fully operating system of everything required in library version 33.
  100. There are no error messages sent out if the system does not meet the needs
  101. of the program, but it should give a soft landing.  If the program quits
  102. either partway through or even at the beginning, it is likely that there
  103. is not enough unfragmented chip memory available.  I have had a number of
  104. cases where failure has occurred after running the program immediately after
  105. an assembly/link.  In those cases it has always worked after a reboot.
  106.  
  107.      Other features to be added or bugs to be corrected.
  108.  
  109.      1)  Inclusion of a packet to inhibit floppy activity.
  110.  
  111.      2)  A disappearing mouse pointer.  I have had work working version,
  112.      but it just works by brute force (saves the data for the current
  113.      pointer in a buffer and clears out the buffer of the original
  114.      pointer until termination of the program or motion of the mouse).
  115.  
  116.      3)  Inclusion of sound.
  117.  
  118.  
  119.      Please note that one of the reasons I am entering this in the BADGE
  120. contest is that I feel the Amiga is being under-utilized for education in
  121. general and science education in particular.  It irritates me to see that
  122. a clearing house for educational software in physics has the stipulation
  123. that such software must run on MS-DOS machines.  That requirement auto-
  124. matically excludes software of a real-time interactive graphics nature.
  125.  
  126.      I want to see more people become aware of the educational potential
  127. of the Amiga and start to use it.  The people in the physics department at
  128. E.W.U. are aware of its power and other physicists are as well, but we are
  129. still in a minority.  Let's do something about this.
  130.  
  131.      Included on this disk is a drawer titled Sources.  The entire source
  132. code for this demo is included.  You are free to use anything in it for your
  133. own software as long as it is provided without charge to the user and also
  134. indicates the source of the original algorithms.  Use in any commercial
  135. venture requires permission of the author.
  136.  
  137.      A third drawer (ES for eduational software) has the object codes for
  138. several other programs I have written in the past.  One, also titled
  139. 'Stereo' includes vector cross products, and crystal lattices as their
  140. primary features.  There is also a program titled 'Rays' that is an aid
  141. for teaching optics.  Feel free to give copies of these to anyone who has
  142. a use for them.  I know there is limited application for this software,
  143. but would like to see it used by anyone who can do so.
  144.  
  145.     If anyone has an interested is looking as at a simplified description of
  146. the algorithms used for stereoscopic graphics you can read my article in
  147. the September/October issue of Computers in Physics.
  148.  
  149.     Thank you, and have fun with the best little computer in the world.
  150.  
  151.  
  152.     P.S.  I'd like to thank Randy Spencer who is helping run the contest
  153.     this year for his suggestions in meeting some of the technical require-
  154.     ments, and Rick Schaeffer of Spokane, WA for his help and comments on
  155.     using Manx C, etc.
  156.  
  157.