home *** CD-ROM | disk | FTP | other *** search
/ Suzy B Software 2 / Suzy B Software CD-ROM 2 (1994).iso / modems / mod_a2l / ig216 / ig216.zip / MODEMS / MOD_A2L / IG216 / IG216.TXT < prev    next >
Encoding:
Text File  |  1991-10-22  |  83.0 KB  |  1,762 lines

  1. updated: 10-23-91
  2.  
  3.                  Instant Graphics! Online Interpreter
  4.                    Copyright 1988-91 by Larry Mears
  5.                          All rights reserved.
  6.  
  7.  
  8.                  Version 2.16 by Larry Mears, Shareware
  9.                 Now with online point and click commands,
  10.                  and greater control over sound effects!
  11.  
  12.  
  13.                                  INTRO
  14.    Instant Graphics! Desk Accessory graphics terminal or
  15. Instant Graphics! Emulator for Interlink bring a whole
  16. new concept in online graphics and sound!  Now see TRUE online
  17. graphics and hear sound and MIDI music over the modem!  If you are
  18. tired of the bland VT52 colors that most ST BBS' offer, then you
  19. will be pleasantly surprised by the super fast graphics and sound
  20. this NEW terminal emulation unlocks!
  21.  
  22.                               INSTALLATION
  23.    Place IG.ACC in root directory of your boot drive A: or C: and
  24. select it from the menu bar to use, you have to stay in the accessory
  25. to see the graphics and hear the sound effects. The desk accessory has some
  26. features not found in the IG.EMU both have their own virtues use
  27. which best serves your needs. I use both at the same time, you need a
  28. 1mb ST or better to do that. If you only have 512K and are using the ACC
  29. with FLASH, drop all extra AUTO folder programs and ACCs.  Boot up and
  30. run FLASH  FIRST, do not select the ACC and then run FLASH.  If you do
  31. FLASH will think there isn't enough RAM. At least this is how it is on my
  32. 1040ST running a 512K ramdisk to simulate a 520ST with 512K.
  33.  
  34.    The IG.EMU loads into INTERLINK just like your ANSI or ATASCII Emulator
  35. does.  Just double click on the ??? for your "Style" of
  36. communications and away you go!  If you do this with the RECORD
  37. feature on, then it can be done automatically for you when you
  38. boot up Interlink. If using a 512K ST with Interlink remove extra AUTO
  39. folder programs, all desk ACCs and choose STARTUP parameters from Interlinks
  40. dropdown menu, set the buffer to 30K and the RS232 to 8K and save then rerun
  41. Interlink from the desktop.  This should free up enough RAM to load
  42. version 2.15.  If it still bombs do the same thing and drop the buffer
  43. by 2K each time till it'll load in properly.  Setting it to 30K should
  44. WITHOUT ANY EXTRA transfer ".TXF" protocals loaded in should do it but I may
  45. be wrong, I just tried to simulate the 512K RAM condition.  There are
  46. many good ramboards out there on the market and RAM is fairly cheap now
  47. go to a meg if you can.
  48.  
  49.                           SOME BACK GROUND
  50.         IG does VDI graphics by way of a attention command sequence,
  51. simular to a Hayes modem, and interprets one letter commands and values up
  52. to 9999.  It also does  VT-52  graphics in their standard form or
  53. with special attention commands, thus allowing VT-52 graphics by choice,
  54. if the standard escape sequences aren't used.  So what's so great about VDI?
  55. Well it means lines, circles, ovals, rectangles, fill patterns, system fonts,
  56. you can have BIG COLORED text any where on the screen.  IG with a little help
  57. from the users out there could open a new door for telecommunications.
  58. This terminal would allow better game programs to be written for FOREM's doors.
  59. Another use is bar and pie charts.  A good idea would be to have a online
  60. comic strip.  Ascii publications such as ST-REPORT could embed graphics
  61. commands into their text for illustration purposes. There are lot's of
  62. possibilities and if I come up with anymore good ideas for commands
  63. I'll try incorporate them into the next version.
  64.  
  65.                                  SYNTAX
  66.         IG is case sensitive.  G# gets it's attention g# does not.
  67. commands can be chained with the > character but they can not exceed one line,
  68. unless you use the _ option (IG213+) as the first digit in a number passed.
  69. In other words IG does not check for a linefeed or CR all the time, it will
  70. try to interpret it as a command, chain character, value, or value separator.
  71. Line noise will of course blow it's performance to shreds.  Any non numerical
  72. character can be used as a value separator, I suggest a comma or space. I like
  73. to use a : to separate commands when chaining but you can use any non numerical
  74. character.  If you don't use the chain character you have to have some character
  75. there anyway so why not a space, looks good and saves confusion.  When using
  76. the W command the string is ended with the @ character and if chaining the next
  77. command comes directly after the @ no separator at all. OK,  I guess you need
  78. to see some examples to study over.
  79.  
  80. Chain example:
  81.  
  82. G#I>0:s>0:g>2:k>0:
  83. G#A>3,8,1:B>0,0,639,149,1:A>1,1,1:C>2,2:B>30,15,610,134,1:
  84. G#E>4,18,0:C>3,3:W>170,35,Instant Graphics!@C>2,1:
  85. G#V>319,80,60,0,119:A>3,3,1:V>319,80,60,119,239:A>3,1,1:
  86. G#V>319,80,60,239,360:E>0,9,0:T>2,1,2:T>2,1,52:
  87. G#L>90,80,240,80:C>3,1:W>140,77,REST@
  88. G#T>2,1,51:L>390,95,540,95:W>445,92,WORK@
  89. G#L>390,60,540,60:W>445,57,PLAY@
  90. G#p>24,19:We all wish it were that way!
  91. G#k>1:t>2:t>5:I>0:s>0:g>0:
  92.  
  93. Notice the C directly after the @ in line number 3 and the colon at the end of
  94. the last line to keep the carriage return from being eaten as a value separator.
  95. If you want the carriage return and linefeed to not be present in your
  96. display use the ">" chain indicator and put a : after the last digit in the
  97. line. IG213+ allows splitting of lines with the _ character, the _ has to be
  98. used
  99. in place of the first digit in a value passed, see below.
  100.  
  101. example below, for Medium Resolution:
  102. ( This example could be shrunk in size with the & command's READ DATA option
  103.   it could elimnate all the L>'s but one. The line end points would ALL be
  104.   read from the modem THEN plotted. )
  105.  
  106.  
  107. G#s>0:I>0:k>0:g>2:
  108. G#L>206,35,225,44:L>225,44,236,112:L>236,112,226,_
  109. 169:L>226,169,206,159:L>206,159,196,92:L>196,92,206,_
  110. 35:L>206,35,226,169:L>225,44,206,159:L>236,112,196,92:
  111. G#L>411,30,433,39:L>433,39,443,106:L>443,106,432,163:
  112. G#L>432,163,411,152:L>411,152,400,86:L>400,86,411,30:
  113. G#L>411,30,432,163:L>433,39,411,152:L>443,106,400,86:
  114. G#L>329,83,334,75:L>334,75,345,80:L>345,80,350,93:
  115. G#L>350,93,350,114:L>350,114,345,121:L>345,121,334,117:
  116. G#L>334,117,329,104:L>329,104,329,83:L>288,84,293,77:
  117. G#L>293,77,304,81:L>304,81,309,94:L>309,94,309,115:
  118. G#L>309,115,304,123:L>304,123,293,118:L>293,118,288,105:
  119. G#L>288,105,288,84:L>329,83,288,84:L>288,84,273,87:
  120. G#L>273,87,283,92:L>283,92,309,94:L>309,94,350,93:
  121. G#L>350,93,365,90:L>365,90,355,85:L>355,85,329,83:
  122. G#L>329,104,288,105:L>288,105,273,108:L>273,108,283,113:
  123. G#L>283,113,309,115:L>309,115,350,114:L>350,114,365,111:
  124. G#L>365,111,355,106:L>355,106,329,104:L>345,80,304,81:
  125. G#L>304,81,283,92:L>283,92,283,113:L>283,113,304,123:
  126. G#L>304,123,345,121:L>345,121,365,111:L>365,111,365,90:
  127. G#L>365,90,345,80:L>334,75,293,77:L>293,77,273,87:
  128. G#L>273,87,273,108:L>273,108,293,118:L>293,118,334,117:
  129. G#L>334,117,355,106:L>355,106,355,85:L>355,85,334,75:
  130. G#L>278,90,283,103:L>283,103,278,111:L>278,111,273,98:
  131. G#L>273,98,278,90:L>257,90,262,103:L>262,103,257,111:
  132. G#L>257,111,252,98:L>252,98,257,90:L>278,90,257,90:
  133. G#L>283,103,262,103:L>278,111,257,111:L>273,98,252,98:
  134. G#L>360,87,365,100:L>365,100,360,108:L>360,108,355,95:
  135. G#L>355,95,360,87:L>381,87,386,100:L>386,100,381,107:
  136. G#L>381,107,375,95:L>375,95,381,87:L>360,87,381,87:
  137. G#L>365,100,386,100:L>360,108,381,107:L>355,95,375,95:
  138. G#L>257,94,261,102:L>261,102,257,108:L>257,108,254,99:
  139. G#L>254,99,257,94:L>236,95,240,103:L>240,103,237,108:
  140. G#L>237,108,233,100:L>233,100,236,95:L>257,94,236,95:
  141. G#L>261,102,240,103:L>257,108,237,108:L>254,99,233,100:
  142. G#L>381,90,384,99:L>384,99,381,104:L>381,104,377,96:
  143. G#L>377,96,381,90:L>401,90,405,98:L>405,98,401,103:
  144. G#L>401,103,398,95:L>398,95,401,90:L>381,90,401,90:
  145. G#L>384,99,405,98:L>381,104,401,103:L>377,96,398,95:
  146. G#L>236,98,238,102:L>238,102,237,105:L>237,105,235,101:
  147. G#L>235,101,236,98:L>216,99,217,103:L>217,103,216,105:
  148. G#L>216,105,214,101:L>214,101,216,99:L>236,98,216,99:
  149. G#L>238,102,217,103:L>237,105,216,105:L>235,101,214,101:
  150. G#L>401,93,403,97:L>403,97,401,100:L>401,100,399,96:
  151. G#L>399,96,401,93:L>422,93,423,97:L>423,97,422,99:
  152. G#L>422,99,420,95:L>420,95,422,93:L>401,93,422,93:
  153. G#L>403,97,423,97:L>401,100,422,99:L>399,96,420,95:
  154. G#t>5:k>1:I>0:s>0:g>0:
  155.  
  156.  
  157. You can execute commands on fly in the same line by having several G#'s.
  158.  
  159. G#v 1:Turn inverse video on G#v 0:and back off.
  160.  
  161. Notice the space between the command and the number, meaning don't chain and
  162. the colon after the numbers.  The colon will be eaten by the routine that gets
  163. numbers from the modem. It has to know when to quit and any non numerical
  164. character gets swallowed. A colon after the commands parameters are passed
  165. looks good anyway, right?  Shades of BASIC huh?  Also the commands are
  166. case sensitive.  A  w  is a totally different command than  W ,  so be careful.
  167.  
  168.  
  169.   There is a pause command called  t   lets you
  170. pause a screen, it sends a ^S times it and then sends a ^Q.  Good for
  171. messages with multiple screens or long graphic welcome bulletins.
  172.  
  173.  
  174.  
  175.     Report bugs and comments to:
  176.  
  177.         ( IG online graphics interpreter author, write me a letter or
  178.           send EMAIL to Larry Mears at FNET node 74 )  Don't be to hard
  179.           on me I have many many many months into this project and
  180.           made very little from it, actually it is a loss money wise.
  181.           Don't be to picky but if you do find a bug capture the IG script
  182.           that caused it with the graphics OFF then send it to me on disk or
  183.           upload it to BIG CITY 205-880-9896.  You could upload it into a EMAIL
  184.           message if you like. Be sure to include a explaination of the bug
  185.           as it may not be apparent to me, it may be a syntax error or
  186.           something like that.  Oh, need to know it is was the EMU or ACC
  187.           and how much memory you have, what AUTO folder programs you run
  188.           and other ACCs.
  189.  
  190.                     Larry Mears
  191.                 11027 Crestfield Dr.
  192.                 Huntsville, Alabama
  193.                           35803 USA
  194.  
  195.  
  196.  
  197. I'll try to fix bugs if I can but, I can not guarantee a fix and I
  198. will not be held responsible for any problems caused by use of this software.
  199.  
  200. Just use Flash's or InterLink's buffer(unfiltered mode) to edit the graphic
  201. files.  The Moody/Rau IGS editor is sort of like a paint program and worth
  202. having, a guy with a understanding of IG and a text editor can out do the
  203. IGS editor it is still great for doing CURVES or doing simple BBS menus.
  204. A IG programmer can always go in there and tweak the IG script with a text
  205. editor to soup up performance. Look for IGS_PRO6.ARC on GENIE.  It produces
  206. IG script compatible with IG212 and above.  New IG versions are written so
  207. that old IG script files are compatible.  The IGS editor is a SEPERATE
  208. Shareware project from the IG EMULATOR and ACC, supporting the editor does
  209. not support the IG terminal and vice versa.
  210.  
  211. Note that a ^C executed when IG is writing it's prompts will crash or exit
  212. the program, this could be fixed at the cost of several K of memory by using
  213. printf instead of Cconws, but memory is tight for half meg users.
  214. ============================================================================
  215.  
  216.                       KEYBOARD COMMANDS for IG.ACC
  217.                       ----------------------------
  218.  
  219.                              FUNCTION KEYS
  220.  
  221. F10 cut graphics off ....Allows online entry of graphic commands.
  222. F9  cut graphics on  ....Executes any graphics commands from the modem.
  223.  
  224.      Important!  Default mode is graphics on.
  225.      If typing in a graphics message on a BBS push F10 first.
  226.      To view it push F9 and tell the BBS to list the message.
  227.      Do not use ^S and ^Q while graphics commands are executing!
  228.  
  229. F8  execute from file....Read a text file execute imbedded graphics commands.
  230.                           This allows off line composing.
  231.  
  232. F7  read file only   ....Read a text file ignore graphics commands.
  233.  
  234.     Note:  When reading or executing text files it's ok to use ^S ^Q and ^C .
  235.  
  236. F6  duplex toggle..... use half duplex on GENIE.
  237.  
  238. F5  locks out the Resolution switch command.
  239.  
  240. F4  MIDI playback on/off toggle.   ( Default MIDI playback on! )
  241.  
  242.                                OTHER KEYS
  243.  
  244. INSERT set baud      ....Set baud 300 thru 9600 baud.
  245.  
  246.                         Note: No default at startup,  this is so when
  247.                         using FLASH and the ACC the baud remains the same
  248.                         as the host program. None of the other RS323 parameters
  249.                         are changed by this option only baud and I've not tested
  250.                         IG past 2400 baud.
  251.  
  252. + Plus Sign          ....MIDI out SYNC,  If music is garbled hit it.
  253.  
  254. CLR HOME restore     ....Clear screen, restore resolution and colors.
  255.  
  256. HELP screen          ....Short list of keyboard commands.
  257.  
  258. UNDO exit            ....Exits Instant Graphics!
  259.  
  260.  
  261. ################################################################################
  262.         !!!! PLEASE READ NEW CHANGES FOR IG214+.EMU FOR INTERLINK !!!!
  263.              See the entries under UNDO and the INSERT keys also
  264.              half duplex must now be set with control+shift+p .
  265.              This was necessary in order to steal the MOUSE from
  266.              Interlink so POINT and CLICK menus could be done
  267.              online.  It also keeps that annoying STATUS line from
  268.              popping up in your graphics when you've already got rid
  269.              of it!  It gives IG the FUNCTION keys too, so I might
  270.              use them for special features later on.
  271. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  272.  
  273.                          KEYBOARD COMMANDS for IG.EMU
  274.                          ----------------------------
  275.  
  276. UNDO                 ....Give MOUSE and FUNCTION keys to Interlink
  277.                          till another character is received via the serial
  278.                          port  while  graphics  are  ON.
  279.                          Tap once when BBS is waiting for input,
  280.                          such as at logon when the BBS is
  281.                          asking for name/password, then hit your
  282.                          Function key to shoot out your name/password to
  283.                          the BBS.  Use the same way for file transfers,
  284.                          tap UNDO then hit F2.  The Interlink status
  285.                          line can be updated also this way. Tap UNDO
  286.                          while BBS is waiting for input from you and
  287.                          your Interlink status line will update until
  288.                          another  character is received  via the serial
  289.                          port. Same goes for using the Interlink Mouse buttons
  290.                          to jump to Interlink's GEM menus,  dialer and the
  291.                          double button file transfer click.
  292.  
  293. CLR HOME restore     ....Clear screen, restore resolution and colors.
  294.  
  295. INSERT               ....Cuts graphics ON or OFF, sound indicator
  296.                          doodle doodle doo = ON   dunt = off
  297.                          While graphics are ON the Interlink status
  298.                          line will not be updated and the MOUSE
  299.                          belongs to IG as well as all other keys
  300.                          function keys included.  A control+shift+INSERT
  301.                          will cut graphics off but doesn't give Interlink
  302.                          the mouse or functions keys and status line,
  303.                          a almost useless feature, a quirk really.
  304.  
  305.                          Important!  Default mode is graphics on.
  306.                          If typing in a graphics message on a BBS push
  307.                          INSERT first.
  308.  
  309.  
  310.  
  311. + Plus Sign          ....MIDI out SYNC,  If music is garbled hit it.
  312.  
  313. control+shift+m      MIDI playback on/off toggle.  Default MIDI playback on!
  314.  
  315. control+shift+r      ....locks out the Resolution switch command.
  316.  
  317. control+shift+p      .....duplex toggle,  use half duplex on GENIE.
  318. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  319.  
  320.  
  321.                                INSTANT GRAPHICS!
  322.                                -----------------
  323.  
  324. g  Graphic scaling      G#g 1:  or  G#g 2:  or  G#g 0:
  325. ------------------
  326.                         g = command identifier
  327.                             Turn graphic scaling on or off.
  328.                             When on all X Y coordinates are plotted to
  329.                             an imaginary screen 10,000 by 10,000.
  330.                             0,0 is in the upper left corner, while the
  331.                             lower right corner is 9999,9999 This means
  332.                             graphics plotted with graphics scaling should
  333.                             look approximately the same in all resolutions!
  334.                             In practice though it's only really good for
  335.                             general positioning.  The new Y coordinate *2
  336.                             will save you time when converting graphics.  Make
  337.                             your graphics for medium resolution and then
  338.                             when you do the mono version  just add a
  339.                             G#g 2: at the top of your script and a
  340.                             G#g 0: at the end if you want to cut it back off.
  341.                             this should fix the medium res graphics to run in
  342.                             640x400 mono mode with only the adjustment of
  343.                             the 'S'etcolors, 'C'olor, and maybe the 'c' command
  344.                             Keep in mind that none of these 'g' options work
  345.                             within a "& LOOP".
  346.  
  347.  
  348.                             Parameter:
  349.                              0 = off
  350.                              1 = on
  351.                              2 = Y coordinate *2 if in monchrome 640 x 400 mode
  352.                                  will not change value if in low or medium
  353.                                  resolution.
  354.  
  355.  
  356.  
  357.  
  358. G  grab screen                  G#G 0,3,0,0,100,100,100,50:  screen to screen
  359. --------------                  G#G 1,3,0,0,100,100:         screen to memory
  360.                                 G#G 2,3,200,50:              memory to screen
  361.                                 G#G 3,3,50,50,75,75,150,100: piece of memory to
  362.                                                              screen
  363.  
  364.                          G = command identifier
  365.                              Screen grab,  "Bit-Blit".
  366.                              Grabs a rectangular portion of the screen
  367.                              copies it to another portion of the screen
  368.                              or to memory, or copies memory to screen,
  369.                              depending on 1st parameter.  The whole screen
  370.                              can be blitted to memory and back!
  371.  
  372.                              1st parameter sets type of blit to do:
  373.                               0 = screen to screen
  374.                               1 = screen to memory
  375.                               2 = memory to screen
  376.                               3 = piece of memory to screen
  377.  
  378.  
  379.                         2nd parameter sets writing mode for the blit operation.
  380.                          mode  logic...............Description
  381.                           0    dest=0..............Clear destination block
  382.                           1    dest=SAND D
  383.                           2    dest=S AND (NOT D)
  384.                           3    dest=S.............Replace mode
  385.                           4    dest=(NOT S) AND D...Erase mode
  386.                           5    dest=D...............Destination unchanged
  387.                           6    dest=S XOR D.........XOR mode
  388.                           7    dest=S OR D..........Transparent mode
  389.                           8    dest=NOT (S OR D)
  390.                           9    dest=NOT (S XOR D)
  391.                           10   dest=NOT D
  392.                           11   dest=S OR(NOT D)
  393.                           12   dest=NOT S
  394.                           13   dest=(NOT S) OR D....Reverse Transparent mode
  395.                           14   dest=NOT (S AND D)
  396.                           15   dest=1...............Fill destination block
  397.  
  398.                           The rest of the parameters depend on the
  399.                           1st parameters setting:
  400.  
  401.                           IF 1st PARAMETER = 0   "screen to screen"
  402.                               3rd = X source, upper left corner
  403.                               4th = Y source, upper left corner
  404.                               5th = X source, lower right corner
  405.                               6th = Y source, lower right corner
  406.                               7th = X destination, upper left corner
  407.                               8th = Y destination, upper left corner
  408.  
  409.                           IF 1st PARAMETER = 1  "screen to memory"
  410.                               3rd = X source, upper left corner
  411.                               4th = Y source, upper left corner
  412.                               5th = X source, lower right corner
  413.                               6th = Y source, lower right corner
  414.  
  415.                           IF 1st PARAMETER = 2  "memory to screen"
  416.                               3rd = X destination, upper left corner
  417.                               4th = Y destination, upper left corner
  418.  
  419.                           IF 1st PARAMETER = 3   "piece of memory to screen"
  420.                               3rd = X source, upper left corner
  421.                               4th = Y source, upper left corner
  422.                               5th = X source, lower right corner
  423.                               6th = Y source, lower right corner
  424.                               7th = X destination, upper left corner
  425.                               8th = Y destination, upper left corner
  426.  
  427.  
  428.  
  429. I  initialize           G#I 0:
  430. -------------
  431.                         I = command identifier
  432.                         Initializes color pallet and most
  433.                         attributes to what ever they were before
  434.                         the Instant Graphics ACC was executed.
  435.                         Issue this command at the start of each  graphic
  436.                         sequence and you'll have a common starting point.
  437.  
  438.                         Parameter:
  439.                             0 = Set resolution, pallet, and attributes
  440.                             1 = Set resolution and pallet
  441.                             2 = Set attributes
  442.                             3 = Set Instant Graphics! default pallet
  443.  
  444.  
  445.  
  446. A attributes for fills  G#A 1,1,0:
  447. ----------------------
  448.                         A  =  command identifier
  449.                         Sets attributes for fills and sets
  450.                         border option.
  451.  
  452.                         1st parameter selects pattern type:
  453.                         0=hollow, 1=solid, 2=pattern, 3=hatch
  454.  
  455.                         2nd parameter selects pattern index number it
  456.                         ranges 1-24 for type pattern and 1-12 for type hatch.
  457.                         These patterns are illustrated in the ST BASIC manual,
  458.                         page 95 in mine.
  459.  
  460.                         3rd parameter specifies if a border is to be drawn
  461.                         around the filled area.  1=yes, 0=no
  462.  
  463.  
  464.  
  465. H hollow set            G#H 0:
  466. ------------
  467.                         H = command identifier
  468.                         When on non solids are drawn, a circle will be
  469.                         drawn instead of a disk.
  470.  
  471.                         Parameter  1=on  0=off
  472.  
  473.  
  474. M drawing MODE          G#M 1:
  475. --------------
  476.                         M = command identifier
  477.  
  478.                         Parameter sets drawing mode.
  479.                         1 = replace     2 = transparent
  480.                         3 = XOR         4 = reverse transparent
  481.  
  482.  
  483.  
  484. T  line, marker TYPES   G#T 2,1,4:
  485. ---------------------
  486.                         T = command identifier
  487.  
  488.                         1st parameter selects lines or polymarkers to change.
  489.                         1 = polymarkers  ( effects output of the P command )
  490.                         2 = lines        ( effects D and L commands )
  491.  
  492.                         2nd parameter picks type of line or polymarker
  493.                         depending value of 1st parameter.
  494.  
  495.                         for polymarkers:
  496.                            1 = point            2 = plus sign
  497.                            3 = star             4 = square
  498.                            5 = diagonal cross   6 = diamond
  499.  
  500.                         for lines:
  501.                            1 = solid            2 = long dash
  502.                            3 = dotted line      4 = dash-dot
  503.                            5 = dashed line      6 = dash-dot-dot
  504.  
  505.  
  506.                         3rd parameter selects size and line end styles.
  507.  
  508.                         -size-
  509.                         for polymarkers: 1 thru 8
  510.                         for lines:       1 thru 41
  511.  
  512.  
  513.                         -line end styles-
  514.                          0  = both ends square
  515.  
  516.                          50 = arrows on both ends
  517.                          51 = arrow on left,  squared on right
  518.                          52 = arrow on right, squared on left
  519.                          53 = arrow on left,  rounded on right
  520.                          54 = arrow on right, rounded on left
  521.  
  522.                          60 = rounded on both ends
  523.                          61 = rounded on left,  squared on right
  524.                          62 = rounded on right, squared on left
  525.                          63 = rounded on left,  arrow on right
  526.                          64 = rounded on right, arrow on left
  527.  
  528.  
  529. E text EFFECTS          G#E 8,18,1:
  530. --------------
  531.                         E = command identifier
  532.                         Sets VDI text effects for text put on the screen
  533.                         with the  W  command.
  534.  
  535.                         1st parameter selects font effect they can be combined
  536.                                 0 = normal      1 = thickened (bold)
  537.                                 2 = ghosted     4 = skewed
  538.                                 8 = undelined   16 = outlined
  539.  
  540.                         2nd parameter sets text size in points 1/72 of a inch.
  541.                         Values the default system font may be printed in:
  542.                                         8  9  10  16  18  20
  543.  
  544.                         3rd parameter sets the text rotation.
  545.                                 0 = 0 degrees           1 = 90 degrees
  546.                                 2 = 180 degrees         3 = 270 degrees
  547.                                 4 = 360 degrees
  548.  
  549.  
  550.  
  551. R set Resolution        G#R 1,0:
  552. ----------------
  553.                         R = command identifier
  554.                         Allows to switch between low and medium resolution.
  555.                         Low resolution allows the use of 16 VDI colors only
  556.                         if resolution was set from the desktop, try using
  557.                         the modified VT-52 commands to set background color.
  558.                         Medium resolution only allows 4 colors.
  559.                         If the resolution selected is the one the system is
  560.                         currently in, IG ignores it. This is so you
  561.                         can set the set the color palette and not do a
  562.                         resolution switch.  Resolution switching creates
  563.                         havoc for some commercial terminals you may be using
  564.                         IG with.
  565.  
  566.  
  567.                         1st Parameter selects resolution to switch to:
  568.                         0 = low resolution      1 = medium resolution
  569.  
  570.                         2nd Parameter is the system palette flag:
  571.                         0 = no change           1 = default system colors.
  572.                                                 2 = IG default color palette
  573.  
  574.  
  575. C color set             G#C 0,2:
  576. -----------
  577.                         C  =  command identifier
  578.                         Selects the Pen number to perform the screen
  579.                         operation with.
  580.  
  581.                         1st parameter selects screen operation pen to change.
  582.                         0 = Polymarker color, used for the (P  plot command).
  583.                         1 = line color
  584.                         2 = fill color
  585.                         3 = text color,  used with the ( W command ).
  586.  
  587.                         2nd parameter selects the Pen number 0 thru 15.
  588.  
  589.  
  590.  
  591. S set PEN color         G#S 1,0,0,7:
  592. --------------------
  593.                         S = command identifier
  594.                         1st parameter selects pen color to change 0 thru 15.
  595.                         2nd parameter selects red   color level 0 thru 7.
  596.                         3rd parameter selects green color level 0 thru 7.
  597.                         4th parameter selects blue  color level 0 thru 7.
  598.  
  599.  
  600. P polymarker PLOT       G#P 149,99:
  601. -----------------
  602.                         P = command identifier
  603.                         Plot a point or polymarker shape on the screen.
  604.                         See also the entry for the  T and C  commands.
  605.  
  606.                         1st parameter = X coordinate
  607.                         2nd parameter = Y coordinate
  608.  
  609.  
  610. L draw LINE             G#L 0,0,300,150:
  611. -----------
  612.                         L = command identifier
  613.                         Draws a line between specified points.
  614.                         See also the entry for T and C commands.
  615.  
  616.                         1st parameter = begining X coordinate
  617.                         2nd parameter = begining Y coordinate
  618.                         3rd parameter = ending   X coordiante
  619.                         4th parameter = ending   Y coordinate
  620.  
  621.  
  622.  
  623. D line DRAWTO           G#D 149,99:
  624. -------------
  625.                         D = command identifier
  626.                         draws a line from the last polymarker plot,
  627.                         draw LINE or DRAWTO command.  You should use
  628.                         the P or L command to first establish a point
  629.                         for DRAWTO to begin at.
  630.                         See also the entry for T and C commands.
  631.  
  632.                         1st parameter = X coordinate
  633.                         2nd parameter = Y coordinate
  634.  
  635.  
  636. W  WRITE text           G#W 50,100,DEVO E-Z Listening Disc@
  637. -------------
  638.                         W = command identifier
  639.                         Writes text on screen at any X Y coordinate.
  640.                         Carriage Return and Linefeed are ignored (IG214) so
  641.                         you can split the text to be written across two lines,
  642.                         the maximum length is 128 characters.
  643.                         The @ symbol ends the text to be written.
  644.                         See also the E and C commands.
  645.  
  646.                         1st parameter = X coordinate
  647.                         2nd parameter = Y coordinate
  648.                         3rd parameter = text ended with @
  649.  
  650.                         Chain example:
  651.                         G#W>20,50,Chain@L 0,0,300,190
  652.  
  653.  
  654. F flood FILL            G#F 600,0:
  655. ------------
  656.                         F = command identifier
  657.                         Fills a area by replacing the color found
  658.                         at specified X Y coordinates till it hits
  659.                         another color of edge of screen.
  660.  
  661.                         1st parameter = X coordinate
  662.                         2nd paraneter = Y coordinate
  663.  
  664. Z filled rectangle      G#Z 10,10,200,100:
  665. ------------------
  666.                         Z = command identifer
  667.                         Fills a area.  The A commands
  668.                         border set has no effect on this
  669.                         fill.
  670.  
  671.                         1st parameter = upper left corner  X coordinate
  672.                         2nd parameter = upper left corner  Y coordinate
  673.                         3rd parameter = lower right corner X coordinate
  674.                         4th parameter = lower right corner Y coordinate
  675.  
  676. B  box                  G#B 0,0,100,100,0
  677. ------
  678.                         B = command identifier
  679.                         General purpose command for drawing
  680.                         rectangles.  All attributes effect this
  681.                         command.
  682.                         1st parameter = upper left corner  X coordinate
  683.                         2nd parameter = upper left corner  Y coordinate
  684.                         3rd parameter = lower right corner X coordinate
  685.                         4th parameter = lower right corner Y coordinate
  686.                         5th parameter = rounded corners flag  0=no  1=yes
  687.  
  688.  
  689.  
  690. U rounded rectangles    G#U 100,0,300,150,1
  691. --------------------
  692.                         U = command identifier
  693.                         Draws a rounded rectangle.
  694.  
  695.                         1st parameter = upper left corner  X coordinate
  696.                         2nd parameter = upper left corner  Y coordinate
  697.                         3rd parameter = lower right corner X coordinate
  698.                         4th parameter = lower right corner Y coordinate
  699.                         5th parameter = 0 selects filled rounded rectangle
  700.                                           with no borders.
  701.                                         1 selects rounded rectangle
  702.                                           affected by all attributes and
  703.                                           H command as well as line patterns
  704.                                           set with the T command.
  705.  
  706.  
  707.  
  708. K  arc                  G#K 300,99,75,90,180:
  709. ------
  710.                         K = command identifier
  711.                         Draws a ARC, which is part of a circle.
  712.  
  713.                         1st parameter = X coordinate for the circle center
  714.                         2nd parameter = Y coordinate for the circle center
  715.                         3rd parameter = radius of the circle
  716.                         4th parameter = begining angle to start drawing at
  717.                         5th parameter = ending angle to to stop drawing at
  718.  
  719.  
  720. J  elliptical arc       G#J 0,199,400,600,0,270:
  721. -----------------
  722.                         J = command identifier
  723.                         Draws a elliptical ARC, which is part of a oval.
  724.  
  725.                         1st parameter = X coordinate for the oval center
  726.                         2nd parameter = Y coordinate for the oval center
  727.                         3rd parameter = X radius of the oval
  728.                         4th parameter = Y radius of the oval
  729.                         5th parameter = begining angle to start drawing at
  730.                         6th parameter = ending angle to to stop drawing at
  731.  
  732. O   CIRCLE              G#O 300,100,75:
  733. ----------
  734.                         O = command identifier
  735.                         Draws a disc or circle depending if the
  736.                         H command is active or not.
  737.  
  738.                         1st parameter = X coordinate of circle center
  739.                         2nd parameter = Y coordinate of circle center
  740.                         3rd parameter = radius of circle
  741.  
  742.  
  743. Q  ellipse              G#Q 300,100,200,60:
  744. ----------
  745.                         Q = command identifier
  746.                         Draws an ellipse, which is a OVAL.
  747.                         See H and A commands also.
  748.                         1st parameter = X coordinate of oval center
  749.                         2nd parameter = Y coordinate of oval center
  750.                         3rd parameter = X radius of oval
  751.                         4th parameter = Y radius of oval
  752.  
  753.  
  754.  
  755. V  pieslice             G#V 50,50,100,180,270:
  756. -----------
  757.                         V = command identifier
  758.                         Draws a pieslice, which is part of a circle.
  759.  
  760.                         1st parameter = X coordinate for the circle center
  761.                         2nd parameter = Y coordinate for the circle center
  762.                         3rd parameter = radius of the circle
  763.                         4th parameter = begining angle to start drawing at
  764.                         5th parameter = ending angle to to stop drawing at
  765.  
  766.  
  767. Y  elliptical pieslice  G#Y 80,80,100,200,0,180:
  768. ----------------------
  769.                         Y = command identifier
  770.                         Draws a elliptical pieslice. which is part of a OVAL.
  771.  
  772.                         1st parameter = X coordinate for the oval center
  773.                         2nd parameter = Y coordinate for the oval center
  774.                         3rd parameter = X radius of the oval
  775.                         4th parameter = Y radius of the oval
  776.                         5th parameter = begining angle to start drawing at
  777.                         6th parameter = ending angle to to stop drawing at
  778.  
  779.  
  780. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  781.  
  782.  
  783.  
  784.                           Modified  VT-52 COMMANDS
  785.                           ------------------------
  786.  
  787.  
  788. c  COLOR                G#c 1,1:
  789. --------
  790.                         c = command identifier
  791.                         Sets text and background color
  792.  
  793.                         1st parameter selects text or background
  794.                          0 = background         1 = text
  795.  
  796.                         2nd parameter = color register 0 thru 15
  797.  
  798.                          Note: color registers can be changed with the
  799.                          S command but the ST's VDI pen numbers do not
  800.                          corespond with color register numbers here a
  801.                          reference chart:
  802.  
  803.                         register        pen             register        pen
  804.                            0             0                 8             9
  805.                            1             2                 9             10
  806.                            3             6                 10            11
  807.                            4             4                 11            14
  808.                            5             7                 12            12
  809.                            6             5                 13            15
  810.                            7             8                 14            13
  811.                                                            15            1
  812.  
  813.  
  814.  
  815. d  delete line          G#d 4:
  816. --------------
  817.                         d = command identifier
  818.                         Deletes specified number of text lines, the bottom
  819.                         line on the screen is scrolled upward.
  820.  
  821.                         Parameter =  number of lines to delete.
  822.  
  823.  
  824.  
  825. i  line insert          G#i 1,3:
  826. --------------
  827.                         i = command identifier
  828.                         Inserts lines at cursor position or top of screen.
  829.  
  830.                         1st parameter selects type of insert.
  831.                                 0 = move cursor up a line until it hits
  832.                                     the top of the screen, then insert
  833.                                     blank lines.
  834.                                 1 = Insert line at cursor, bottom line is
  835.                                     scrolled off.
  836.  
  837.                         2nd parameter = number of times to perform
  838.                                         this operation.
  839.  
  840.  
  841.  
  842. k  cursor               G#k 0:
  843. ---------
  844.                         k = command identifier
  845.                         Turns text cursor on or off and
  846.                         sets BACKSPACE as destructive or nondestructive.
  847.  
  848.                         Parameter:
  849.                             0 = cursor off
  850.                             1 = cursor on
  851.                             2 = destructive backspace
  852.                             3 = nondestructive backspace
  853.  
  854.  
  855.  
  856. l line clear            G#l 0:
  857. ------------
  858.                         l = command identifier
  859.                         Clears text lines.
  860.  
  861.                         Parameter:
  862.                             0 = Clear whole line and carriage return.
  863.                             1 = Clear line from begining to cursor inclusive.
  864.                             2 = Clear line at cursor to end of line.
  865.  
  866.  
  867. m  cursor motion                G#m 1,20:
  868. ----------------
  869.                                 m = command identifier
  870.                                 Homes or moves cursor a line at a time
  871.                                 or a column at a time, from current position.
  872.  
  873.                                 1st parameter selects direction.
  874.                                         0 = Home cursor.
  875.                                         1 = up
  876.                                         2 = down
  877.                                         3 = right
  878.                                         4 = left
  879.  
  880.                                 2nd parameter sets number of times to do this
  881.                                     operation.
  882.  
  883.  
  884.  
  885. p  position             G#p 70,19:
  886. -----------
  887.                         p = command identifier
  888.                         Positions cursor at  column, line.
  889.                         Like X Y only with characters.
  890.  
  891.                         1st parameter = column   0 thru 79
  892.  
  893.                         2nd parameter = line     0 thru 24
  894.  
  895.  
  896. r  remember             G#r 0:
  897. -----------
  898.                         r = command identifier
  899.                         Remembers or recalls cursor position.
  900.  
  901.                         Parameter:
  902.                                 0 = remember cursor position
  903.                                 1 = recall cursor position, and put it there
  904.  
  905.  
  906.  
  907. s  screen clear         G#s 0:
  908. ---------------
  909.                         s = command identifier
  910.                         Clears whole screen or portions of it.
  911.  
  912.                         Parameter:
  913.                             0 = Clear screen home cursor.
  914.                             1 = Clear from home to cursor.
  915.                             2 = Clear from cursor to bottom of screen.
  916.                             3 = Clear WHOLE screen with VDI.
  917.                             4 = Clear WHOLE screen with VDI and VT52
  918.                                 cursor will be set to home.
  919.  
  920. v  inverse video        G#v 1:
  921. ----------------
  922.                         v = command identifier
  923.                         Turn inverse video on or off.
  924.  
  925.                         Parameter:
  926.                             0 = off
  927.                             1 = on
  928.  
  929.  
  930.  
  931. w  line wrap            G#w 1:
  932. ------------
  933.                         w = command identifier
  934.                         Turns line wrap on or off.
  935.  
  936.                         Parameter:
  937.                             0 = off
  938.                             1 = on
  939.  
  940.  
  941. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  942.  
  943.  
  944.                                 CUSTOM COMMANDS
  945.                                 ---------------
  946.  
  947. t  time a pause         G#t 2:
  948. ---------------
  949.                         t = command identifier
  950.                         Tells IG to send ^S, times it for X seconds
  951.                         and then tells IG to send ^Q.  Any key
  952.                         will abort the pause prematurly.
  953.                         MAX time is 30 seconds if more of a pause is needed
  954.                         chain a few together.  G#t>30:t 5:
  955.                         I'm hoping this will eliminate the BBS from timing
  956.                         out and logging a user off.
  957.  
  958.                         Parameter = number of seconds to pause, 30 max.
  959.  
  960.  
  961. n chip music            G#n 13,1,16,60,200,2:
  962. ------------
  963.                         n = command identifer
  964.                         Treats IG's sound effects as musical notes.
  965.                         There is no flow control with this command.
  966.  
  967.                         Note:
  968.                         Long tunes should use this command within a
  969.                         "& LOOP" or use the 'N' command. The values
  970.                         listed below apply to the 'N' command except
  971.                         'N' takes it's parameters as a ASCII string of
  972.                         characters one BYTE per parameter a 255 value
  973.                         is the max that can be passed to 'N'.
  974.                         Values are passed as characters with the proper
  975.                         ASCII value to 'N'. Sound effects for this command
  976.                         may be altered with "b 20".
  977.  
  978.  
  979. PARAMETERS for 'n' command
  980. . . . . . . . . . . . . . .
  981.  
  982.                         1st parameter is the effect number to use
  983.                         from 0-19.  These are the same effects as the
  984.                         'b' command uses exception that n doesn't loop
  985.                         the first 5 effects internally.
  986.  
  987.                         2nd parameter is the voice to use 0-2.
  988.  
  989.                         3rd parameter is the Volume 0-15.
  990.  
  991.                         4th parameter is pitch 0-255.  A 0 will play no
  992.                         effect but allow TIMIMG and STOP type to be executed.
  993.  
  994.                         5th parameter is timing 0-9999.  This stops IG in it's
  995.                         tracks for a specified time in 200ths of a second,
  996.                         unless the user taps a key.
  997.  
  998.                         6th parameter is stop note type 0-4.
  999.                             0=no effect, sound remains on.
  1000.                             1=move selected voice into release phase.
  1001.                             2=Stop select voice immediately.
  1002.                             3=move all voices into release phase.
  1003.                             4=Stop all voices immediately. ( same as "b 21" )
  1004.  
  1005.  
  1006.  
  1007. <  INPUT Command       G#< 1,0,1:
  1008. ----------------
  1009.                        Gets input from user's keyboard and transmits it as soon
  1010.                        as the chain " > " from the last G#  is broke.  Should
  1011.                        be used near the end of a MENU, as the BBS will continue
  1012.                        to send to the terminal while the INPUT command is
  1013.                        waiting on the user.  This is so the BBS will be waiting
  1014.                        for INPUT when IG sends the user's response at '>' exit.
  1015.                        The INPUT command is good for letting you use
  1016.                        any 4 colors you want for a BBS MENU and then to issue
  1017.                        some reset commands. ie G#<>1,0,1:I>0:k>1:s>0:   Also
  1018.                        optionally INVOKES MOUSE routine for the X 4  command
  1019.                        so ZONES can be pointed to and clicked on, you must
  1020.                        use X 4 to define and load the zone strings first and
  1021.                        you should use IG to draw some borders around the
  1022.                        zones so the user will know where and what he is
  1023.                        selecting when he clicks on a ZONE, that way you
  1024.                        have the job of cosmetics, that's half the fun anyway.
  1025.                        The selected Zone's associated data string is
  1026.                        transmitted to the BBS as soon as IG exits
  1027.                        the chain from the last G#  .  ZONE 47 is the default
  1028.                        ZONE, it's associated data string will be sent if no
  1029.                        ZONES match where the user clicked.  You should always
  1030.                        define ZONE 47. ( Check out X 4,9998: LOOPBACK also!)
  1031.                        You may find the X 3 and the X 6 command useful too.
  1032.  
  1033.                    1st parameter = Transmitt carriage return at the end
  1034.                                    of the string INPUTted?  1 = YES  0 = NO
  1035.  
  1036.  
  1037.  
  1038.                    2nd parameter = INPUT type
  1039.                                    0 = One key,  (hot key input for FoReM)
  1040.                                    1 = String, with a return to
  1041.                                        end input from user,
  1042.                                        max string length = 128
  1043.                                    2 = MOUSE ZONE, activate a POLYMARKER
  1044.                                        mouse pointer, use the " T " command
  1045.                                        to select mouse type and size and the
  1046.                                        " C " command to set mouse color.
  1047.                                        User moves mouse and clicks on a
  1048.                                        "ZONE". Selection is processed
  1049.                                        when button is released.
  1050.                                        The associated ZONE string
  1051.                                        is copied into INPUT's
  1052.                                        string to be transmitted to BBS
  1053.                                        at the end of the IG script chain.
  1054.  
  1055.  
  1056.                    3rd parameter = Output options
  1057.                                    0 = Don't show input typed from user
  1058.                                        on his screen. Has no effect on
  1059.                                        Mouse ZONES.
  1060.                                    1 = Show input typed from user on screen.
  1061.                                        Has no effect on Mouse ZONES.
  1062.                                    2 = Show input but throw it away, don't
  1063.                                        transmit it at the end of the chain.
  1064.                                        Does effect Mouse ZONE.
  1065.                                    3 = Don't show input from user, and throw it
  1066.                                        away too.  Does effect Mouse ZONE.
  1067.  
  1068.            Note:  If 2 ZONES areas are over lapping on the screen the
  1069.                   ZONE with the lower value ID number will get selected when
  1070.                   the mouse is clicked on both ZONEs at the same time.
  1071.  
  1072.                           +----+--------------------+
  1073.  user clicks in here ---> |ID=1|                    |
  1074.  ZONE 1 gets selected     +----+   ID=10            |
  1075.                           |                         |
  1076.                           +-------------------------+
  1077.  
  1078.                           +----+--------------------+
  1079.  user clicks in here ---> |ID=7|                    |
  1080.  ZONE 2 gets selected     +----+   ID=2             |
  1081.                           |                         |
  1082.                           +-------------------------+
  1083.  
  1084.  
  1085.  
  1086.  
  1087.  
  1088. ? Ask IG                G#? 0:
  1089. --------
  1090.                         ? = command identifier
  1091.                         Asks the Instant Graphics terminal
  1092.                         questions.  Transmit it to the
  1093.                         BBS  ( Host system ).
  1094.  
  1095.                         1st parameter selects the question to ask.
  1096.                                 0 = Version number, IG will transmit in
  1097.                                     ASCII to the host system the version
  1098.                                     number it is.
  1099.  
  1100.                                 1 = Ask IG where the cursor is and the
  1101.                                     mouse button state.  When this question
  1102.                                     is asked a 2nd parameter is passed also,
  1103.                                     like G#? 1,0  the zero means just check
  1104.                                     the cursor and mouse buttons and send it to
  1105.                                     host system immediatly.  If the second
  1106.                                     parameter is a 1 then the user can move the
  1107.                                     cursor with the mouse until a button is
  1108.                                     pressed then the cursor location and button
  1109.                                     state is transmitted.  In other words a
  1110.                                     point and click cursor!!!  The cursor and
  1111.                                     and mouse button state is sent in three
  1112.                                     characters, subtract 32 from the ASCII
  1113.                                     value of these characters to arrive at
  1114.                                     COLUMN number 0-79    ROW 0-24   BUTTON 0-3
  1115.                                     With this command the cursor should be
  1116.                                     enabled with the G#k 1 command.
  1117.  
  1118.                                 2 = Ask IG where the mouse is and button state.
  1119.                                     A second parameter is required when this
  1120.                                     question is asked, like G#? 2,0 the zero
  1121.                                     indicates that IG is to send the BBS the
  1122.                                     mouse coordinates immediatly a 1 will
  1123.                                     activate a polymarker for a mouse pointer
  1124.                                     That you select with IG's "T" command.
  1125.                                     The user can move the pointer around till
  1126.                                     he clicks a button then the host system is
  1127.                                     sent the X,Y,Button in a ASCII string just
  1128.                                     like this  420,150,1:   It's up to the
  1129.                                     host system to convert the ASCII string
  1130.                                     into actual numbers.  The "g" command has
  1131.                                     no effect on this command in version 2.12.
  1132.  
  1133.                                 3 = Asks IG what resolution the terminal is in
  1134.                                         0:    low resolution     320x200
  1135.                                         1:    medium resolution  640x200
  1136.                                         2:    high resolution    640x400
  1137.  
  1138.  
  1139.  
  1140.  
  1141.  
  1142. &  loop a command       G#& 0,198,6,0,L,4,0,0,x,y:
  1143. -----------------
  1144.                         XOR stepping example:
  1145.                         G#G 1,3,0,0,50,50:
  1146.                                 G#&>198,0,2,0,G|4,2,6,x,x:
  1147.  
  1148.  
  1149.                         & = command identifier
  1150.                         Loops a operation specified number of times with
  1151.                         stepping, special options for XOR ing and the
  1152.                         'W'rite text command. The CHAIN character > only
  1153.                         works directly after the &>, you can't loop a
  1154.                         chain of commands, only 1 command.  Also you can't
  1155.                         loop a loop.  Still this command is very powerful
  1156.                         and worth the effort to learn.
  1157.  
  1158.                         1st parameter = FROM value
  1159.                             if from value bigger than TO value
  1160.                             loop will detect and step backwards.
  1161.  
  1162.                         2nd parameter = TO value
  1163.                         3rd parameter = step value, positive number only.
  1164.                         4th parameter = DELAY in 200 hundredths of a between
  1165.                             each step of the loop.
  1166.                         5th parameter = command Identifier to loop.
  1167.                             optional specification character after 5th
  1168.                             parameter instead of comma:
  1169.                                | = XOR stepping
  1170.                                @ = get text for W command everytime
  1171.                                    otherwise text written from loop
  1172.                                    with the W command is last text
  1173.                                    written with W command before the
  1174.                                    loop was executed.  W command now
  1175.                                    ignores CR and LF so loop command
  1176.                                    can be used for easy Written text
  1177.                                    placement with the  loop's stepping.
  1178.                         6th parameter = number of parameters command that
  1179.                             to be looped requires.  You should at
  1180.                             least specify the number the command requires
  1181.                             ie L command requires 4 , ie W command 2.
  1182.                             You can specify multiples of the required number
  1183.                             such as 8 or 12 for the L command Max up to
  1184.                             2048.  This will work like BASIC's READ DATA
  1185.                             statements between each loop step.  Also note
  1186.                             a _ underscore may be used to split parameters
  1187.                             across lines if it is used in place of the first
  1188.                             digit of value, this will make huge detailed
  1189.                             files smaller (DEGAS conversions).
  1190.  
  1191.                       REMAINING parameters = whatever the command being looped
  1192.                                 requires.  If you use a "x" as a parameter
  1193.                                 it will be stepped in the direction of the
  1194.                                 FROM TO values, if you use a "y" the loop
  1195.                                 will step the value in a reverse direction.
  1196.                                 You can use both "x" and "y" at the same time.
  1197.                                 If you use a number it will remain as a constant
  1198.                                 for the command being looped through out the
  1199.                                 loop execution.  Adding a + before constant 
  1200.                                 will add the "x step value" to the constant.
  1201.                                 Adding a - before the constant will subtract
  1202.                                 the constant value from the current "x step"
  1203.                                 value.  Adding a ! before the constant will
  1204.                                 subtract the "x step" value from the constant.
  1205.                                 Like so :
  1206.                                 G#&>10,30,2,0,L,4,100,+10,-10,+600,!99: 
  1207.  
  1208.  
  1209.  
  1210. loop Written text option example:
  1211.  
  1212. G#E>0,18,0:C>3,2:s>0:
  1213. G#&>20,140,20,0,W@2,0,x,A. Item 1@
  1214. B. Item 2@
  1215. C. Item 3@
  1216. D. Item 4@
  1217. E. Item 5@
  1218. F. Item 6@
  1219. G. Item 7@
  1220. G#W>200,140,Power Graphics with IG!!!@
  1221. G#& 140,20,20,0,W,2,200,x:
  1222. G#W>10,180,That's so DEVO!!!@
  1223.  
  1224. Example of loop used to READ DATA and step within at the same time in
  1225. both directions, once you get used to the "& loop" you will use it
  1226. a lot!!
  1227.  
  1228. G#I>0:s>0:k>0:L>300,10,340,10:S>2,7,4,5:S>1,0,0,0:
  1229. G#&>85,300,5,0,D,24,340,10:340,60:420,60:420,85:_
  1230. 340,85:340,180:85,180:x,85:220,85:220,60:x,60:x,10:
  1231. G#L>300,180,300,85:A>1,1,1:C>2,2:F>320,20:E>0,10,0:M>2:
  1232. G#C>3,1:W>210,141,Because of@
  1233. G#W>210,156,God's Love@
  1234. G#W>210,171,we are.@M>1:
  1235. G#t>3:G>1,3,80,8,421,181:s>0:
  1236. G#&>0,220,4,0,G,16,2,3,x,x:2,3,y,y:2,3,x,y:2,3,y,x:t>2:s>0:
  1237. G#&>0,638,4,0,G,8,2,3,x,9:2,3,y,9:
  1238. G#t>3:s>0:k>1:G>2,3,80,8:p 0,20:
  1239.  
  1240.  
  1241. ...............................................................................
  1242. MIDI MIDI MIDI MIDI MIDI MIDI MIDI MIDI MIDI MIDI MIDI MIDI MIDI MIDI MIDI MIDI
  1243. SOUND CHIP MUSIC SOUND CHIP MUSIC SOUND CHIP MUSIC SOUND CHIP MUSIC SOUND CHIP
  1244.  
  1245.  
  1246. N noise command                 G#N>2:
  1247. ---------------
  1248.                         N = command identifier
  1249.                         The N command is for handling sound.
  1250.                         Currently only MIDI, but other things
  1251.                         may be handle by N in the future,
  1252.  
  1253.  
  1254.                         1st parameter = N operation to perform.
  1255.                          If 1st parameter = 0, 1, 3 or 4  a 2nd parameter
  1256.                          is required, which is number of MIDI data bytes
  1257.                          to read into the MIDI buffer, MAX of 9999.
  1258.  
  1259.  
  1260.     Load only midi:      N 0,9998,datadelaydatadelaydatadelay....
  1261.         sound chip       N 3,9996,DataDataDataDataDelayData....
  1262.  
  1263.     Load and execute:    N 1,9998,datadelaydatadelaydatadelay....
  1264.         sound chip       N 4,9996,DataDataDataDataDelayData....
  1265.  
  1266.                          The 0 means load the MIDI buffer only,
  1267.                          then the number of bytes to load followed
  1268.                          by a comma, then the MIDI data in the form
  1269.                          data byte, delay byte, back to back with the
  1270.                          data byte always first.  The delay is in 200ths
  1271.                          of a second so a delay of about 1.25 seconds
  1272.                          between each data byte is the max. After
  1273.                          the MIDI buffer is loaded with a N 0 or 1 command
  1274.                          a N 2: (midi) or N 5: (sound chip) issued later will
  1275.                          replay the buffer without reloading, like
  1276.                          G#N 2:  If a user CONTROL C's or CONTROL X's
  1277.                          the MIDI data while it is being loaded the MIDI
  1278.                          buffer will be set to 0 and N 2: will play
  1279.                          nothing.  However it a user aborts while MIDI is
  1280.                          being played the MIDI buffer will remain intact.
  1281.                          If a user has the MIDI option off (F4 function key
  1282.                          on the ACC, control+shift+m for the EMU) MIDI data
  1283.                          will be still loaded but not executed. If line noise
  1284.                          creeps into the MIDI buffer when it's loaded it will
  1285.                          garble the sound, the user might be able to recover
  1286.                          by pressing the + key to try to get the MIDI flow
  1287.                          out to the ports in proper sync datadelaydatadelay,
  1288.                          line noise can get it in reverse order.
  1289.  
  1290.                                DATA FORMAT FOR SOUND CHIP
  1291.                          The data to the sound chip  routine is in
  1292.                          ASCII values ie " a capital A represents 65 ".
  1293.                          the format is:
  1294.  
  1295.                          Effect_numberVoiceVolumePitchTimingStop_effect
  1296.                              0-19      0-2  0-15 0-255 0-255 0-4
  1297.  
  1298.                          When a 0 is passed as a pitch value timing and
  1299.                          stop effects can be issued without executing
  1300.                          a note.  For more details see the "n" command.
  1301.  
  1302.                    *** Download MS2IG.ARC for a Music Studio to IG MIDI file
  1303.                        converter.
  1304.                    *** See "n" command also and look for N_UTIL1.LST in arc.
  1305. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1306.  
  1307.  
  1308.                            eXtended Commands
  1309.                            -----------------
  1310.  
  1311.                 Extended commands are invoked by a captial
  1312.                 X and a number ranging from 0 to 9999, this is
  1313.                 sort of like the old 8 bit XIO thing.
  1314.                 Opens a door for 10,000 new commands!!!
  1315.  
  1316.  
  1317. 0  SPRAY PAINT          G#X 0,400,50,200,145,200:
  1318. ---------------
  1319.                         X 0 = command identifier
  1320.                         Plots polymarkers at random in
  1321.                         a rectangular area with specified concentration.
  1322.  
  1323.                         1st parameter upper left corner  X coordinate.
  1324.                         2nd parameter upper left corner  Y coordinate.
  1325.                         3rd parameter X range from upper left corner, 255 max.
  1326.                         4th parameter Y range from upper left corner, 255 max.
  1327.                         5th parameter concentration, 9999 maximum.
  1328.  
  1329.  
  1330. 1 SET COLOR REGISTER    G#X 1,4,0:
  1331. --------------------
  1332.                         X 1 = command identifier
  1333.                         Sets a color register with Xbios 7.
  1334.                         Use to set a specific register.  The S command
  1335.                         differs in that it sets a PEN's register.
  1336.  
  1337.                         1st parameter = color register 0 thru 15.
  1338.                         2nd parameter = color value 0 thru 9999,
  1339.                                         note that the ST only uses up
  1340.                                         to 1911, larger values may prove
  1341.                                         useful on STE.
  1342.  
  1343.  
  1344.  
  1345.  
  1346. 2 SET RANDOM FUNCTION RANGE  G#X 2,0,50:
  1347. ---------------------------
  1348.                              Sets the range of the numbers returned when the
  1349.                              'r' is used in place of constant value parameter
  1350.                               given to a IG command.  Above example sets r to
  1351.                               a range of 0 to 50.  The range value can be
  1352.                               from 0 up to 9999.
  1353.                               To use it in the line command
  1354.                               or any other like so: L 0,r,400,r:
  1355.                               another example with the & "loop" command:
  1356.                               G#s>0:X>2,0,639:P>0,0:& 0,128,1,0,D,2,r,r:
  1357.  
  1358.  
  1359. 3 RIGHT MOUSE BUTTON MACRO  G#X 3,2,1,1,30,C'mon Baby let's do the Twist!:
  1360. --------------------------
  1361.                            X 3 = command identifier
  1362.  
  1363.                            Set's a string of ANY characters to be transmitted
  1364.                            when the RIGHT mouse BUTTON is pressed. Intended
  1365.                            for pulling up a FUNCTION menu on a BBS, but could
  1366.                            be used to tell a MAINFRAME to TYPE a IG script
  1367.                            file for a POINT and CLICK navigation menu.
  1368.  
  1369.                            1st parameter = operation
  1370.  
  1371.                     Deactivate -->  if 1st parameter is 0 then
  1372.                                            mouse macro is shut off and
  1373.                                            no other parameters are to follow.
  1374.                                            example: X 3,0:
  1375.  
  1376.                     Reactivate -->  if 1st parameter is 1 then
  1377.                                            mouse macro is ON and requires
  1378.                                            a 2nd parameter to tell it whether
  1379.                                            or not to transmit a carriage
  1380.                                            return at the end of the string.
  1381.                                            examples:
  1382.                                            X 3,1,0:   =  no CR
  1383.                                            X 3,1,1:   =  send CR at end.
  1384.  
  1385.  LOAD with,activate,deactivate --> if 1st parameter is a 2 then a whole
  1386.                                           bunch  of parameters follow.
  1387.  
  1388.                                       2nd parameter cuts the mouse macro
  1389.                                           on or off. 0=off  1=on
  1390.  
  1391.                                       3rd parameter tells it whether or not
  1392.                                           to send a carriage return at the
  1393.                                           end of the string. 0=no  1=yes
  1394.  
  1395.                                       4th parameter is the length of the
  1396.                                           string in characters that the
  1397.                                           mouse macro will be sending, don't
  1398.                                           count the seperator at the end of
  1399.                                           the string.
  1400.  
  1401.                                       5th parameter is the string to send.
  1402.                                           it can contain any characters at
  1403.                                           all and has to be at least one
  1404.                                           character and not more than 80.
  1405.                                           At the end of the string a
  1406.                                           seperator is required anything can
  1407.                                           be used I suggest a : for good
  1408.                                           looks.
  1409.                                    examples below:
  1410.                                    X 3,2,1,1,3,m/a:
  1411.                                    X 3,2,1,1,5,f/L:
  1412.                                    X 3,2,1,1,1,?:
  1413.                                    X 3,2,1,1,25,c:\bin\type c:\ig\menu.ig:
  1414.  
  1415.  
  1416.  
  1417. 4  DEFINE and LOAD ZONE data   G#X 4,0,0,0,79,49,3,f/L:
  1418. ----------------------------
  1419.                              X 4 = command identifier
  1420.  
  1421.                              Defines a rectangular area and associates a
  1422.                              string of characters with it, a ZONE.
  1423.                              The string is sent to the bbs by the
  1424.                              " < " command if the mouse option is
  1425.                              used.  This allows point and click operation of
  1426.                              remote systems.
  1427.  
  1428.             Zone ID  ->      1st parameter = zone number to define/load
  1429.                                  This is a number between 0-47 or
  1430.                                  optional value is 9999-9997. If Zone ID is
  1431.                                  9999  ALL Zone's retangular areas
  1432.                                  are defined as -1,-1,-1,-1 by the
  1433.                                  terminal internally.  This is
  1434.                                  to give a quick clean slate.
  1435.                                  Cutting Zone LOOPBACK on will make the 
  1436.                                  user select a valid defined Zone.
  1437.                                  A console bell will ding and the the
  1438.                                  terminal will continue to poll the mouse
  1439.                                  until a valid defined Zone is selected.
  1440.                                  Default is off only to help maintain 
  1441.                                  compatiblity with older prexisting IG
  1442.                                  scripts.
  1443.                                  examples G#X 4,9999:
  1444.                                           G#X 4,9998:   Zone LOOPBACK On
  1445.                                           G#X 4,9997:   Zone LOOPBACK Off
  1446.                                                         (default off) 
  1447.                                    
  1448.                                  No other parameters
  1449.                                  are required if Zone ID is 9999-9997.
  1450.  
  1451.     Define Rectangle ->      2nd parameter = upper left  corner X coordinate
  1452.                              3rd parameter = upper left  corner Y coordinate
  1453.                              4th parameter = lower right corner X coordinate
  1454.                              5th parameter = lower right corner Y coordinate
  1455.     Load string data ->      6th parameter = number of characters in string to
  1456.                                              transmit to bbs, maximum 80.
  1457.                              7th = the string itself with a ending : seperator,
  1458.                                    don't count the seperator as part of the
  1459.                                    string length required for parameter
  1460.                                    number 6.
  1461.  
  1462.  
  1463. 5 FLOW CONTROL SHUTDOWN     G#X 5,0:   or   G#X 5,1: or G#X 5,4:
  1464. -----------------------     G#X 5,2,19,2:  or G#X 5,3,17,2:
  1465.  
  1466.                             X 5 = command identifier
  1467.  
  1468.                             Back by request, no flow control.
  1469.  
  1470.                             Stops the IG terminal from sending
  1471.                             Control-S's  and Control-Q's  on
  1472.                             all commands or alters the values sent
  1473.                             that XONs and XOFFs the flow and number
  1474.                             of repetitions, for safety.
  1475.                             This should be used with caution.
  1476.                             No flow control is good for issuing a short
  1477.                             pause " t " command and let the RS232 buffer
  1478.                             get ahead of the terminal, when the pause is
  1479.                             over a burst of speed will occur as the
  1480.                             terminal catches back up.  Data may be lost
  1481.                             this way so be careful.  Altering the XON
  1482.                             XOFF values and repetitions is good for
  1483.                             BBS programs that don't use the standard
  1484.                             ^s ^q sequence.   IG's default is ^s once
  1485.                             XOFF and ^q once XON.  The defaults work fine
  1486.                             with FoReM and Turbo, so if you switch them be
  1487.                             SURE to issue a G#X>5,4: in your log off file to
  1488.                             reset the defaults. FoReM sysops may want to
  1489.                             add this G#X>5,4: in their welcome file for
  1490.                             safety sake.
  1491.  
  1492.                            1st parameter = flow control on/off
  1493.                                            0 = OFF
  1494.                                            1 = ON
  1495.                                            2 = ON set xon value,  repetitions
  1496.                                            3 = ON set xoff value, repetitions
  1497.                                            4 = ON set to IG's defaults
  1498.  
  1499.                            2nd parameter = ASCII value to send for
  1500.                                            XON or XOFF. For instance
  1501.                                            put a 65 here for a captial A.
  1502.                                            This parameter not included
  1503.                                            if 1st parameter = 0 or 1 or
  1504.                                            greater than 3.
  1505.  
  1506.                            3rd parameter = number of repetitions to send the
  1507.                                            the XON and XOFF character. You
  1508.                                            can have IG send different for
  1509.                                            XONs than XOFFs. Like send
  1510.                                            2 XONs and 3 XOFFs.
  1511.                                            This parameter not included
  1512.                                            if 1st parameter = 0 or 1 or
  1513.                                            greater than 3.
  1514.  
  1515.  
  1516.  
  1517.  
  1518.  
  1519. 6 LEFT MOUSE BUTTON CR/LF   G#X 6,1:  or G#X 6,2: or G#X 6,0:
  1520. -------------------------
  1521.                             X 6 = command identifier
  1522.  
  1523.                             Activate / deactivate left MOUSE button
  1524.                             as a CARRIAGE RETURN and or Linefeed.
  1525.  
  1526.                        1st parameter =
  1527.                             0 = OFF normal mode, default
  1528.                             1 = ON as a CARRIAGE RETURN
  1529.                             2 = ON as a CARRIAGE RETURN with LINEFEED.
  1530.  
  1531.                        Note: This doesn't affect the < INPUT command's
  1532.                              mouse zone option either way.  It should
  1533.                              work ok with this active.  I wanted to
  1534.                              be able to leave my hand on the mouse and
  1535.                              hit the button to read the next message
  1536.                              while online and not have to mess with the
  1537.                              right mouse macro 'X 3'. You can just set the
  1538.                              mouse in your lap and click to read messages.
  1539.                              You probably wouldn't want this active with the
  1540.                              '?' ASK IG command.
  1541.  
  1542. 7 reserved
  1543. ----------
  1544.  
  1545.  
  1546. 8 Rotate Color Registers     G#X 8,1,3,20,10:
  1547. ------------------------
  1548.                              X 8 = command identifier
  1549.  
  1550.                              Rotates color registers left or right
  1551.                              a certain number of times.
  1552.  
  1553.                        1st parameter =
  1554.                              Starting color register number
  1555.  
  1556.                        2nd parameter =
  1557.                              Ending color register number
  1558.  
  1559.                        3rd parameter =
  1560.                              0 = Reset the registers to what they were
  1561.                                  when detected with X 8,1,1,1,1:
  1562.                                  This will reset all the color registers.
  1563.                              Any other number =  number of times to shift
  1564.                                  colors.
  1565.     
  1566.                        Note: If the 1st parameter is less than the
  1567.                              2nd parameter, then the colors will shift
  1568.                              to the right. If the 1st parameter is
  1569.                              greater than the 2nd parameter, then the
  1570.                              colors will shift to the left.
  1571.  
  1572.                       4th parameter =
  1573.                            number of 200 hundredths of a second between
  1574.                            each color shift.  range 0-9999.
  1575.  
  1576.  
  1577.       An application of this function would be to draw a waterfall using,
  1578. say... registers 8 to 14 for various shades of blue. Once it is drawn
  1579. properly, you could make the water start flowing with the following:
  1580.      G#&>1,600,1,15,X,4,8,8,14,1,10:
  1581. Or you could make steam coming out of a locomotive, a flaming mine,
  1582. lettering made of scrolling rainbows, lightning behind clouds, etc.
  1583. This command is limited in med rez, worthless in hi rez, and a
  1584. very powerfull animation tool in low rez.
  1585.  
  1586.  
  1587. ------------------------------------------------------------------------------
  1588.                             SOUND EFFECTS COMMAND
  1589.  
  1590. COMMAND IS:   G#b x:
  1591.  
  1592. x    Description
  1593. --------------------
  1594. 0    Alien Invasion                      These 19 sounds were added to IG
  1595. 1    Red Alert                           by: Kevin Moody & Anthony Rau.
  1596. 2    Gunshot
  1597. 3    Laser 1
  1598. 4    Jackhammer
  1599. 5    Teleport
  1600. 6    Explosion
  1601. 7    Laser 2
  1602. 8    Longbell
  1603. 9    Surprise
  1604. 10   Radio Broadcast
  1605. 11   Bounce Ball
  1606. 12   Eerie Sound
  1607. 13   Harley Motorcycle
  1608. 14   Helicopter
  1609. 15   Steam Locomotive
  1610. 16   Wave
  1611. 17   Robot Walk
  1612. 18   Passing Plane
  1613. .    .   .   .   .   .   .   .   .   .   .   .   .   .   .    .   .   .   .   .
  1614. 19   Landing                             These sounds and options added
  1615.                                          by Larry Mears 4-22-90.
  1616.  
  1617.  
  1618.  
  1619. ~~~~~~~~~~~~~~~~~~~~~~~
  1620. Sound Effects Utilities
  1621. -----------------------
  1622.  
  1623. ID  Description
  1624. -- --------------------------
  1625. 20  Alters Sound Effects 0-19
  1626.  
  1627.                                 Example:  alters sound effect
  1628.                                           number 7   " G#b 7: "
  1629.                                           G#b>20,1,7,12,1,30,0:
  1630.  
  1631.            breakdown of parameters:
  1632.  
  1633.            b 20,play_flag,snd_num,element_num,negative_flag,thousands,hundreds
  1634.  
  1635.  
  1636.                                    "The sounds in IG use GIST.
  1637.                                     GIST is the GI Sound Tool by:
  1638.  
  1639.                                     Synthetic Software
  1640.                                     880 Wisconsin Street
  1641.                                     San Francisco, CA 94107
  1642.                                     415-285-8832
  1643.  
  1644.                                     ANTIC was selling it.  If they aren't
  1645.                                     anymore contact Synthetic Software.
  1646.                                     Buy GIST and you can create all sorts
  1647.                                     of neat sounds that can be converted into
  1648.                                     IG loadable format.  Without GIST it's a
  1649.                                     shot in the dark. GIST let's you edit
  1650.                                     sounds with a graphics interface it's
  1651.                                     a great piece of software, buy it!"
  1652.  
  1653.                         Command  Identifier = b 20
  1654.                                     Let's you alter any sound effect.  The
  1655.                                     sound effects each have 56 elements that
  1656.                                     corespond exactly with the elements
  1657.                                     that GIST saves out in the '.C' file as
  1658.                                     a   " int array ".  You take the values
  1659.                                     in the GIST '.C' sound file and put them
  1660.                                     into IG one at a time with the b 20 command
  1661.                                     PARAMETER NUMBER 3.  If you don't have GIST
  1662.                                     you can play around with the  & LOOP and
  1663.                                     this command to come up with variations.
  1664.  
  1665.                         1st parameter = play_flag.  If this is anything other
  1666.                                         than 0, then the sound will be played
  1667.                                         with the new setting, otherwise it
  1668.                                         alters it but does not play.  Setting
  1669.                                         this flag to 1 is useful for using the
  1670.                                         & LOOP and running through a series of
  1671.                                         changes to hear what the effect
  1672.                                         your alteration has on the sound.
  1673.  
  1674.                         2nd parameter = snd_num.  This is the sound effect
  1675.                                         you wish to alter.  It can be any
  1676.                                         effect 0 to 19.
  1677.  
  1678.                         3rd parameter = element_num.  This tells which one of
  1679.                                         56 elements to alter in the sound
  1680.                                         effect's array  they are 0-55.
  1681.                                         Element 0 is duration,
  1682.                                         element 1 is frequency.
  1683.  
  1684.                         4th parameter = negative_flag.  If this is a 0 then
  1685.                                         the value changed in the effect will
  1686.                                         be positive, a 1 here or any number
  1687.                                         other than 0 will set the value in
  1688.                                         the sound effect array as a
  1689.                                         negative number.
  1690.  
  1691.                         5th parameter = thousands. This is a number from
  1692.                                         0 to 32 that is multiplied by 1000
  1693.                                         by IG internally  and added to the
  1694.                                         next parameter to make up the actual
  1695.                                         value that is stored into the element
  1696.                                         number specified by parameter 3.
  1697.  
  1698.                         6th parameter = hundreds.  The hundreds, tens, and ones
  1699.                                         of the value to be placed into the
  1700.                                         sound effect element specified by
  1701.                                         parameter 3.  You can exceed this and
  1702.                                         use 4 digits here, it just adds the
  1703.                                         5th and 6th parameters together to get
  1704.                                         a range of values from -32767 to
  1705.                                         +32767 that GIST requires.
  1706.  
  1707.  
  1708.                         PLEASE NOTE that sound effects 0-4 are looped by IG
  1709.                         internally 1000 times each for effect. It's like this
  1710.                         in basic FOR I=1 to 1000:SOUND_EFFECT:NEXT I   This
  1711.                         will give a different effect than you hear if you
  1712.                         are using the GIST sound editor so bear this in mind.
  1713.                         To transfer a whole new sound from GIST  ".C" format
  1714.                         this little IG command will have to be called 56 times.
  1715.                         Look in this ARC to see "IF" I wrote a GFA BASIC v2
  1716.                         GIST2IG.BAS converter. You could use a effect that was
  1717.                         close to the one you needed and only change a few
  1718.                         elements.  The & LOOP and this command should be able
  1719.                         to produce some amazing Sounds with some effort.
  1720.  
  1721.  
  1722.  
  1723.  
  1724.  
  1725. 21  STOP ALL SOUND AT ONCE                   example:
  1726. --------------------------                   G#b>21:
  1727.  
  1728.                              command identifer = b 21:
  1729.  
  1730.                              Shuts off all sound effects that are being played.
  1731.  
  1732.  
  1733.  
  1734.  
  1735.  
  1736.  
  1737.  
  1738.  
  1739. 22 RESTORE SOUND EFFECT                      example:
  1740. -----------------------                      G#b>22,19:
  1741.  
  1742.                              Command identifier = b 22
  1743.  
  1744.                                       Restores a sound effect to IG's default.
  1745.                                       Use to insure that a sound effect is what
  1746.                                       it should be or to restore after a
  1747.                                       alteration as a courtesy to your SYSOP
  1748.                                       and other IG users.  You can use the
  1749.                                       & LOOP to restore all the effects real
  1750.                                       fast.
  1751.  
  1752.                               1st parameter = sound effect number to restore.
  1753.                                               range is 0 to 19.
  1754.  
  1755.  
  1756. ---------------------------------------------------------------------------
  1757.  
  1758.  
  1759.  
  1760. ===================
  1761. END OF TEXT  G#I 0:
  1762.