home *** CD-ROM | disk | FTP | other *** search
Text File | 1991-10-22 | 83.0 KB | 1,762 lines |
- updated: 10-23-91
-
- Instant Graphics! Online Interpreter
- Copyright 1988-91 by Larry Mears
- All rights reserved.
-
-
- Version 2.16 by Larry Mears, Shareware
- Now with online point and click commands,
- and greater control over sound effects!
-
-
- INTRO
- Instant Graphics! Desk Accessory graphics terminal or
- Instant Graphics! Emulator for Interlink bring a whole
- new concept in online graphics and sound! Now see TRUE online
- graphics and hear sound and MIDI music over the modem! If you are
- tired of the bland VT52 colors that most ST BBS' offer, then you
- will be pleasantly surprised by the super fast graphics and sound
- this NEW terminal emulation unlocks!
-
- INSTALLATION
- Place IG.ACC in root directory of your boot drive A: or C: and
- select it from the menu bar to use, you have to stay in the accessory
- to see the graphics and hear the sound effects. The desk accessory has some
- features not found in the IG.EMU both have their own virtues use
- which best serves your needs. I use both at the same time, you need a
- 1mb ST or better to do that. If you only have 512K and are using the ACC
- with FLASH, drop all extra AUTO folder programs and ACCs. Boot up and
- run FLASH FIRST, do not select the ACC and then run FLASH. If you do
- FLASH will think there isn't enough RAM. At least this is how it is on my
- 1040ST running a 512K ramdisk to simulate a 520ST with 512K.
-
- The IG.EMU loads into INTERLINK just like your ANSI or ATASCII Emulator
- does. Just double click on the ??? for your "Style" of
- communications and away you go! If you do this with the RECORD
- feature on, then it can be done automatically for you when you
- boot up Interlink. If using a 512K ST with Interlink remove extra AUTO
- folder programs, all desk ACCs and choose STARTUP parameters from Interlinks
- dropdown menu, set the buffer to 30K and the RS232 to 8K and save then rerun
- Interlink from the desktop. This should free up enough RAM to load
- version 2.15. If it still bombs do the same thing and drop the buffer
- by 2K each time till it'll load in properly. Setting it to 30K should
- WITHOUT ANY EXTRA transfer ".TXF" protocals loaded in should do it but I may
- be wrong, I just tried to simulate the 512K RAM condition. There are
- many good ramboards out there on the market and RAM is fairly cheap now
- go to a meg if you can.
-
- SOME BACK GROUND
- IG does VDI graphics by way of a attention command sequence,
- simular to a Hayes modem, and interprets one letter commands and values up
- to 9999. It also does VT-52 graphics in their standard form or
- with special attention commands, thus allowing VT-52 graphics by choice,
- if the standard escape sequences aren't used. So what's so great about VDI?
- Well it means lines, circles, ovals, rectangles, fill patterns, system fonts,
- you can have BIG COLORED text any where on the screen. IG with a little help
- from the users out there could open a new door for telecommunications.
- This terminal would allow better game programs to be written for FOREM's doors.
- Another use is bar and pie charts. A good idea would be to have a online
- comic strip. Ascii publications such as ST-REPORT could embed graphics
- commands into their text for illustration purposes. There are lot's of
- possibilities and if I come up with anymore good ideas for commands
- I'll try incorporate them into the next version.
-
- SYNTAX
- IG is case sensitive. G# gets it's attention g# does not.
- commands can be chained with the > character but they can not exceed one line,
- unless you use the _ option (IG213+) as the first digit in a number passed.
- In other words IG does not check for a linefeed or CR all the time, it will
- try to interpret it as a command, chain character, value, or value separator.
- Line noise will of course blow it's performance to shreds. Any non numerical
- character can be used as a value separator, I suggest a comma or space. I like
- to use a : to separate commands when chaining but you can use any non numerical
- character. If you don't use the chain character you have to have some character
- there anyway so why not a space, looks good and saves confusion. When using
- the W command the string is ended with the @ character and if chaining the next
- command comes directly after the @ no separator at all. OK, I guess you need
- to see some examples to study over.
-
- Chain example:
-
- G#I>0:s>0:g>2:k>0:
- G#A>3,8,1:B>0,0,639,149,1:A>1,1,1:C>2,2:B>30,15,610,134,1:
- G#E>4,18,0:C>3,3:W>170,35,Instant Graphics!@C>2,1:
- G#V>319,80,60,0,119:A>3,3,1:V>319,80,60,119,239:A>3,1,1:
- G#V>319,80,60,239,360:E>0,9,0:T>2,1,2:T>2,1,52:
- G#L>90,80,240,80:C>3,1:W>140,77,REST@
- G#T>2,1,51:L>390,95,540,95:W>445,92,WORK@
- G#L>390,60,540,60:W>445,57,PLAY@
- G#p>24,19:We all wish it were that way!
- G#k>1:t>2:t>5:I>0:s>0:g>0:
-
- Notice the C directly after the @ in line number 3 and the colon at the end of
- the last line to keep the carriage return from being eaten as a value separator.
- If you want the carriage return and linefeed to not be present in your
- display use the ">" chain indicator and put a : after the last digit in the
- line. IG213+ allows splitting of lines with the _ character, the _ has to be
- used
- in place of the first digit in a value passed, see below.
-
- example below, for Medium Resolution:
- ( This example could be shrunk in size with the & command's READ DATA option
- it could elimnate all the L>'s but one. The line end points would ALL be
- read from the modem THEN plotted. )
-
-
- G#s>0:I>0:k>0:g>2:
- G#L>206,35,225,44:L>225,44,236,112:L>236,112,226,_
- 169:L>226,169,206,159:L>206,159,196,92:L>196,92,206,_
- 35:L>206,35,226,169:L>225,44,206,159:L>236,112,196,92:
- G#L>411,30,433,39:L>433,39,443,106:L>443,106,432,163:
- G#L>432,163,411,152:L>411,152,400,86:L>400,86,411,30:
- G#L>411,30,432,163:L>433,39,411,152:L>443,106,400,86:
- G#L>329,83,334,75:L>334,75,345,80:L>345,80,350,93:
- G#L>350,93,350,114:L>350,114,345,121:L>345,121,334,117:
- G#L>334,117,329,104:L>329,104,329,83:L>288,84,293,77:
- G#L>293,77,304,81:L>304,81,309,94:L>309,94,309,115:
- G#L>309,115,304,123:L>304,123,293,118:L>293,118,288,105:
- G#L>288,105,288,84:L>329,83,288,84:L>288,84,273,87:
- G#L>273,87,283,92:L>283,92,309,94:L>309,94,350,93:
- G#L>350,93,365,90:L>365,90,355,85:L>355,85,329,83:
- G#L>329,104,288,105:L>288,105,273,108:L>273,108,283,113:
- G#L>283,113,309,115:L>309,115,350,114:L>350,114,365,111:
- G#L>365,111,355,106:L>355,106,329,104:L>345,80,304,81:
- G#L>304,81,283,92:L>283,92,283,113:L>283,113,304,123:
- G#L>304,123,345,121:L>345,121,365,111:L>365,111,365,90:
- G#L>365,90,345,80:L>334,75,293,77:L>293,77,273,87:
- G#L>273,87,273,108:L>273,108,293,118:L>293,118,334,117:
- G#L>334,117,355,106:L>355,106,355,85:L>355,85,334,75:
- G#L>278,90,283,103:L>283,103,278,111:L>278,111,273,98:
- G#L>273,98,278,90:L>257,90,262,103:L>262,103,257,111:
- G#L>257,111,252,98:L>252,98,257,90:L>278,90,257,90:
- G#L>283,103,262,103:L>278,111,257,111:L>273,98,252,98:
- G#L>360,87,365,100:L>365,100,360,108:L>360,108,355,95:
- G#L>355,95,360,87:L>381,87,386,100:L>386,100,381,107:
- G#L>381,107,375,95:L>375,95,381,87:L>360,87,381,87:
- G#L>365,100,386,100:L>360,108,381,107:L>355,95,375,95:
- G#L>257,94,261,102:L>261,102,257,108:L>257,108,254,99:
- G#L>254,99,257,94:L>236,95,240,103:L>240,103,237,108:
- G#L>237,108,233,100:L>233,100,236,95:L>257,94,236,95:
- G#L>261,102,240,103:L>257,108,237,108:L>254,99,233,100:
- G#L>381,90,384,99:L>384,99,381,104:L>381,104,377,96:
- G#L>377,96,381,90:L>401,90,405,98:L>405,98,401,103:
- G#L>401,103,398,95:L>398,95,401,90:L>381,90,401,90:
- G#L>384,99,405,98:L>381,104,401,103:L>377,96,398,95:
- G#L>236,98,238,102:L>238,102,237,105:L>237,105,235,101:
- G#L>235,101,236,98:L>216,99,217,103:L>217,103,216,105:
- G#L>216,105,214,101:L>214,101,216,99:L>236,98,216,99:
- G#L>238,102,217,103:L>237,105,216,105:L>235,101,214,101:
- G#L>401,93,403,97:L>403,97,401,100:L>401,100,399,96:
- G#L>399,96,401,93:L>422,93,423,97:L>423,97,422,99:
- G#L>422,99,420,95:L>420,95,422,93:L>401,93,422,93:
- G#L>403,97,423,97:L>401,100,422,99:L>399,96,420,95:
- G#t>5:k>1:I>0:s>0:g>0:
-
-
- You can execute commands on fly in the same line by having several G#'s.
-
- G#v 1:Turn inverse video on G#v 0:and back off.
-
- Notice the space between the command and the number, meaning don't chain and
- the colon after the numbers. The colon will be eaten by the routine that gets
- numbers from the modem. It has to know when to quit and any non numerical
- character gets swallowed. A colon after the commands parameters are passed
- looks good anyway, right? Shades of BASIC huh? Also the commands are
- case sensitive. A w is a totally different command than W , so be careful.
-
-
- There is a pause command called t lets you
- pause a screen, it sends a ^S times it and then sends a ^Q. Good for
- messages with multiple screens or long graphic welcome bulletins.
-
-
-
- Report bugs and comments to:
-
- ( IG online graphics interpreter author, write me a letter or
- send EMAIL to Larry Mears at FNET node 74 ) Don't be to hard
- on me I have many many many months into this project and
- made very little from it, actually it is a loss money wise.
- Don't be to picky but if you do find a bug capture the IG script
- that caused it with the graphics OFF then send it to me on disk or
- upload it to BIG CITY 205-880-9896. You could upload it into a EMAIL
- message if you like. Be sure to include a explaination of the bug
- as it may not be apparent to me, it may be a syntax error or
- something like that. Oh, need to know it is was the EMU or ACC
- and how much memory you have, what AUTO folder programs you run
- and other ACCs.
-
- Larry Mears
- 11027 Crestfield Dr.
- Huntsville, Alabama
- 35803 USA
-
-
-
- I'll try to fix bugs if I can but, I can not guarantee a fix and I
- will not be held responsible for any problems caused by use of this software.
-
- Just use Flash's or InterLink's buffer(unfiltered mode) to edit the graphic
- files. The Moody/Rau IGS editor is sort of like a paint program and worth
- having, a guy with a understanding of IG and a text editor can out do the
- IGS editor it is still great for doing CURVES or doing simple BBS menus.
- A IG programmer can always go in there and tweak the IG script with a text
- editor to soup up performance. Look for IGS_PRO6.ARC on GENIE. It produces
- IG script compatible with IG212 and above. New IG versions are written so
- that old IG script files are compatible. The IGS editor is a SEPERATE
- Shareware project from the IG EMULATOR and ACC, supporting the editor does
- not support the IG terminal and vice versa.
-
- Note that a ^C executed when IG is writing it's prompts will crash or exit
- the program, this could be fixed at the cost of several K of memory by using
- printf instead of Cconws, but memory is tight for half meg users.
- ============================================================================
-
- KEYBOARD COMMANDS for IG.ACC
- ----------------------------
-
- FUNCTION KEYS
-
- F10 cut graphics off ....Allows online entry of graphic commands.
- F9 cut graphics on ....Executes any graphics commands from the modem.
-
- Important! Default mode is graphics on.
- If typing in a graphics message on a BBS push F10 first.
- To view it push F9 and tell the BBS to list the message.
- Do not use ^S and ^Q while graphics commands are executing!
-
- F8 execute from file....Read a text file execute imbedded graphics commands.
- This allows off line composing.
-
- F7 read file only ....Read a text file ignore graphics commands.
-
- Note: When reading or executing text files it's ok to use ^S ^Q and ^C .
-
- F6 duplex toggle..... use half duplex on GENIE.
-
- F5 locks out the Resolution switch command.
-
- F4 MIDI playback on/off toggle. ( Default MIDI playback on! )
-
- OTHER KEYS
-
- INSERT set baud ....Set baud 300 thru 9600 baud.
-
- Note: No default at startup, this is so when
- using FLASH and the ACC the baud remains the same
- as the host program. None of the other RS323 parameters
- are changed by this option only baud and I've not tested
- IG past 2400 baud.
-
- + Plus Sign ....MIDI out SYNC, If music is garbled hit it.
-
- CLR HOME restore ....Clear screen, restore resolution and colors.
-
- HELP screen ....Short list of keyboard commands.
-
- UNDO exit ....Exits Instant Graphics!
-
-
- ################################################################################
- !!!! PLEASE READ NEW CHANGES FOR IG214+.EMU FOR INTERLINK !!!!
- See the entries under UNDO and the INSERT keys also
- half duplex must now be set with control+shift+p .
- This was necessary in order to steal the MOUSE from
- Interlink so POINT and CLICK menus could be done
- online. It also keeps that annoying STATUS line from
- popping up in your graphics when you've already got rid
- of it! It gives IG the FUNCTION keys too, so I might
- use them for special features later on.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- KEYBOARD COMMANDS for IG.EMU
- ----------------------------
-
- UNDO ....Give MOUSE and FUNCTION keys to Interlink
- till another character is received via the serial
- port while graphics are ON.
- Tap once when BBS is waiting for input,
- such as at logon when the BBS is
- asking for name/password, then hit your
- Function key to shoot out your name/password to
- the BBS. Use the same way for file transfers,
- tap UNDO then hit F2. The Interlink status
- line can be updated also this way. Tap UNDO
- while BBS is waiting for input from you and
- your Interlink status line will update until
- another character is received via the serial
- port. Same goes for using the Interlink Mouse buttons
- to jump to Interlink's GEM menus, dialer and the
- double button file transfer click.
-
- CLR HOME restore ....Clear screen, restore resolution and colors.
-
- INSERT ....Cuts graphics ON or OFF, sound indicator
- doodle doodle doo = ON dunt = off
- While graphics are ON the Interlink status
- line will not be updated and the MOUSE
- belongs to IG as well as all other keys
- function keys included. A control+shift+INSERT
- will cut graphics off but doesn't give Interlink
- the mouse or functions keys and status line,
- a almost useless feature, a quirk really.
-
- Important! Default mode is graphics on.
- If typing in a graphics message on a BBS push
- INSERT first.
-
-
-
- + Plus Sign ....MIDI out SYNC, If music is garbled hit it.
-
- control+shift+m MIDI playback on/off toggle. Default MIDI playback on!
-
- control+shift+r ....locks out the Resolution switch command.
-
- control+shift+p .....duplex toggle, use half duplex on GENIE.
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-
- INSTANT GRAPHICS!
- -----------------
-
- g Graphic scaling G#g 1: or G#g 2: or G#g 0:
- ------------------
- g = command identifier
- Turn graphic scaling on or off.
- When on all X Y coordinates are plotted to
- an imaginary screen 10,000 by 10,000.
- 0,0 is in the upper left corner, while the
- lower right corner is 9999,9999 This means
- graphics plotted with graphics scaling should
- look approximately the same in all resolutions!
- In practice though it's only really good for
- general positioning. The new Y coordinate *2
- will save you time when converting graphics. Make
- your graphics for medium resolution and then
- when you do the mono version just add a
- G#g 2: at the top of your script and a
- G#g 0: at the end if you want to cut it back off.
- this should fix the medium res graphics to run in
- 640x400 mono mode with only the adjustment of
- the 'S'etcolors, 'C'olor, and maybe the 'c' command
- Keep in mind that none of these 'g' options work
- within a "& LOOP".
-
-
- Parameter:
- 0 = off
- 1 = on
- 2 = Y coordinate *2 if in monchrome 640 x 400 mode
- will not change value if in low or medium
- resolution.
-
-
-
-
- G grab screen G#G 0,3,0,0,100,100,100,50: screen to screen
- -------------- G#G 1,3,0,0,100,100: screen to memory
- G#G 2,3,200,50: memory to screen
- G#G 3,3,50,50,75,75,150,100: piece of memory to
- screen
-
- G = command identifier
- Screen grab, "Bit-Blit".
- Grabs a rectangular portion of the screen
- copies it to another portion of the screen
- or to memory, or copies memory to screen,
- depending on 1st parameter. The whole screen
- can be blitted to memory and back!
-
- 1st parameter sets type of blit to do:
- 0 = screen to screen
- 1 = screen to memory
- 2 = memory to screen
- 3 = piece of memory to screen
-
-
- 2nd parameter sets writing mode for the blit operation.
- mode logic...............Description
- 0 dest=0..............Clear destination block
- 1 dest=SAND D
- 2 dest=S AND (NOT D)
- 3 dest=S.............Replace mode
- 4 dest=(NOT S) AND D...Erase mode
- 5 dest=D...............Destination unchanged
- 6 dest=S XOR D.........XOR mode
- 7 dest=S OR D..........Transparent mode
- 8 dest=NOT (S OR D)
- 9 dest=NOT (S XOR D)
- 10 dest=NOT D
- 11 dest=S OR(NOT D)
- 12 dest=NOT S
- 13 dest=(NOT S) OR D....Reverse Transparent mode
- 14 dest=NOT (S AND D)
- 15 dest=1...............Fill destination block
-
- The rest of the parameters depend on the
- 1st parameters setting:
-
- IF 1st PARAMETER = 0 "screen to screen"
- 3rd = X source, upper left corner
- 4th = Y source, upper left corner
- 5th = X source, lower right corner
- 6th = Y source, lower right corner
- 7th = X destination, upper left corner
- 8th = Y destination, upper left corner
-
- IF 1st PARAMETER = 1 "screen to memory"
- 3rd = X source, upper left corner
- 4th = Y source, upper left corner
- 5th = X source, lower right corner
- 6th = Y source, lower right corner
-
- IF 1st PARAMETER = 2 "memory to screen"
- 3rd = X destination, upper left corner
- 4th = Y destination, upper left corner
-
- IF 1st PARAMETER = 3 "piece of memory to screen"
- 3rd = X source, upper left corner
- 4th = Y source, upper left corner
- 5th = X source, lower right corner
- 6th = Y source, lower right corner
- 7th = X destination, upper left corner
- 8th = Y destination, upper left corner
-
-
-
- I initialize G#I 0:
- -------------
- I = command identifier
- Initializes color pallet and most
- attributes to what ever they were before
- the Instant Graphics ACC was executed.
- Issue this command at the start of each graphic
- sequence and you'll have a common starting point.
-
- Parameter:
- 0 = Set resolution, pallet, and attributes
- 1 = Set resolution and pallet
- 2 = Set attributes
- 3 = Set Instant Graphics! default pallet
-
-
-
- A attributes for fills G#A 1,1,0:
- ----------------------
- A = command identifier
- Sets attributes for fills and sets
- border option.
-
- 1st parameter selects pattern type:
- 0=hollow, 1=solid, 2=pattern, 3=hatch
-
- 2nd parameter selects pattern index number it
- ranges 1-24 for type pattern and 1-12 for type hatch.
- These patterns are illustrated in the ST BASIC manual,
- page 95 in mine.
-
- 3rd parameter specifies if a border is to be drawn
- around the filled area. 1=yes, 0=no
-
-
-
- H hollow set G#H 0:
- ------------
- H = command identifier
- When on non solids are drawn, a circle will be
- drawn instead of a disk.
-
- Parameter 1=on 0=off
-
-
- M drawing MODE G#M 1:
- --------------
- M = command identifier
-
- Parameter sets drawing mode.
- 1 = replace 2 = transparent
- 3 = XOR 4 = reverse transparent
-
-
-
- T line, marker TYPES G#T 2,1,4:
- ---------------------
- T = command identifier
-
- 1st parameter selects lines or polymarkers to change.
- 1 = polymarkers ( effects output of the P command )
- 2 = lines ( effects D and L commands )
-
- 2nd parameter picks type of line or polymarker
- depending value of 1st parameter.
-
- for polymarkers:
- 1 = point 2 = plus sign
- 3 = star 4 = square
- 5 = diagonal cross 6 = diamond
-
- for lines:
- 1 = solid 2 = long dash
- 3 = dotted line 4 = dash-dot
- 5 = dashed line 6 = dash-dot-dot
-
-
- 3rd parameter selects size and line end styles.
-
- -size-
- for polymarkers: 1 thru 8
- for lines: 1 thru 41
-
-
- -line end styles-
- 0 = both ends square
-
- 50 = arrows on both ends
- 51 = arrow on left, squared on right
- 52 = arrow on right, squared on left
- 53 = arrow on left, rounded on right
- 54 = arrow on right, rounded on left
-
- 60 = rounded on both ends
- 61 = rounded on left, squared on right
- 62 = rounded on right, squared on left
- 63 = rounded on left, arrow on right
- 64 = rounded on right, arrow on left
-
-
- E text EFFECTS G#E 8,18,1:
- --------------
- E = command identifier
- Sets VDI text effects for text put on the screen
- with the W command.
-
- 1st parameter selects font effect they can be combined
- 0 = normal 1 = thickened (bold)
- 2 = ghosted 4 = skewed
- 8 = undelined 16 = outlined
-
- 2nd parameter sets text size in points 1/72 of a inch.
- Values the default system font may be printed in:
- 8 9 10 16 18 20
-
- 3rd parameter sets the text rotation.
- 0 = 0 degrees 1 = 90 degrees
- 2 = 180 degrees 3 = 270 degrees
- 4 = 360 degrees
-
-
-
- R set Resolution G#R 1,0:
- ----------------
- R = command identifier
- Allows to switch between low and medium resolution.
- Low resolution allows the use of 16 VDI colors only
- if resolution was set from the desktop, try using
- the modified VT-52 commands to set background color.
- Medium resolution only allows 4 colors.
- If the resolution selected is the one the system is
- currently in, IG ignores it. This is so you
- can set the set the color palette and not do a
- resolution switch. Resolution switching creates
- havoc for some commercial terminals you may be using
- IG with.
-
-
- 1st Parameter selects resolution to switch to:
- 0 = low resolution 1 = medium resolution
-
- 2nd Parameter is the system palette flag:
- 0 = no change 1 = default system colors.
- 2 = IG default color palette
-
-
- C color set G#C 0,2:
- -----------
- C = command identifier
- Selects the Pen number to perform the screen
- operation with.
-
- 1st parameter selects screen operation pen to change.
- 0 = Polymarker color, used for the (P plot command).
- 1 = line color
- 2 = fill color
- 3 = text color, used with the ( W command ).
-
- 2nd parameter selects the Pen number 0 thru 15.
-
-
-
- S set PEN color G#S 1,0,0,7:
- --------------------
- S = command identifier
- 1st parameter selects pen color to change 0 thru 15.
- 2nd parameter selects red color level 0 thru 7.
- 3rd parameter selects green color level 0 thru 7.
- 4th parameter selects blue color level 0 thru 7.
-
-
- P polymarker PLOT G#P 149,99:
- -----------------
- P = command identifier
- Plot a point or polymarker shape on the screen.
- See also the entry for the T and C commands.
-
- 1st parameter = X coordinate
- 2nd parameter = Y coordinate
-
-
- L draw LINE G#L 0,0,300,150:
- -----------
- L = command identifier
- Draws a line between specified points.
- See also the entry for T and C commands.
-
- 1st parameter = begining X coordinate
- 2nd parameter = begining Y coordinate
- 3rd parameter = ending X coordiante
- 4th parameter = ending Y coordinate
-
-
-
- D line DRAWTO G#D 149,99:
- -------------
- D = command identifier
- draws a line from the last polymarker plot,
- draw LINE or DRAWTO command. You should use
- the P or L command to first establish a point
- for DRAWTO to begin at.
- See also the entry for T and C commands.
-
- 1st parameter = X coordinate
- 2nd parameter = Y coordinate
-
-
- W WRITE text G#W 50,100,DEVO E-Z Listening Disc@
- -------------
- W = command identifier
- Writes text on screen at any X Y coordinate.
- Carriage Return and Linefeed are ignored (IG214) so
- you can split the text to be written across two lines,
- the maximum length is 128 characters.
- The @ symbol ends the text to be written.
- See also the E and C commands.
-
- 1st parameter = X coordinate
- 2nd parameter = Y coordinate
- 3rd parameter = text ended with @
-
- Chain example:
- G#W>20,50,Chain@L 0,0,300,190
-
-
- F flood FILL G#F 600,0:
- ------------
- F = command identifier
- Fills a area by replacing the color found
- at specified X Y coordinates till it hits
- another color of edge of screen.
-
- 1st parameter = X coordinate
- 2nd paraneter = Y coordinate
-
- Z filled rectangle G#Z 10,10,200,100:
- ------------------
- Z = command identifer
- Fills a area. The A commands
- border set has no effect on this
- fill.
-
- 1st parameter = upper left corner X coordinate
- 2nd parameter = upper left corner Y coordinate
- 3rd parameter = lower right corner X coordinate
- 4th parameter = lower right corner Y coordinate
-
- B box G#B 0,0,100,100,0
- ------
- B = command identifier
- General purpose command for drawing
- rectangles. All attributes effect this
- command.
- 1st parameter = upper left corner X coordinate
- 2nd parameter = upper left corner Y coordinate
- 3rd parameter = lower right corner X coordinate
- 4th parameter = lower right corner Y coordinate
- 5th parameter = rounded corners flag 0=no 1=yes
-
-
-
- U rounded rectangles G#U 100,0,300,150,1
- --------------------
- U = command identifier
- Draws a rounded rectangle.
-
- 1st parameter = upper left corner X coordinate
- 2nd parameter = upper left corner Y coordinate
- 3rd parameter = lower right corner X coordinate
- 4th parameter = lower right corner Y coordinate
- 5th parameter = 0 selects filled rounded rectangle
- with no borders.
- 1 selects rounded rectangle
- affected by all attributes and
- H command as well as line patterns
- set with the T command.
-
-
-
- K arc G#K 300,99,75,90,180:
- ------
- K = command identifier
- Draws a ARC, which is part of a circle.
-
- 1st parameter = X coordinate for the circle center
- 2nd parameter = Y coordinate for the circle center
- 3rd parameter = radius of the circle
- 4th parameter = begining angle to start drawing at
- 5th parameter = ending angle to to stop drawing at
-
-
- J elliptical arc G#J 0,199,400,600,0,270:
- -----------------
- J = command identifier
- Draws a elliptical ARC, which is part of a oval.
-
- 1st parameter = X coordinate for the oval center
- 2nd parameter = Y coordinate for the oval center
- 3rd parameter = X radius of the oval
- 4th parameter = Y radius of the oval
- 5th parameter = begining angle to start drawing at
- 6th parameter = ending angle to to stop drawing at
-
- O CIRCLE G#O 300,100,75:
- ----------
- O = command identifier
- Draws a disc or circle depending if the
- H command is active or not.
-
- 1st parameter = X coordinate of circle center
- 2nd parameter = Y coordinate of circle center
- 3rd parameter = radius of circle
-
-
- Q ellipse G#Q 300,100,200,60:
- ----------
- Q = command identifier
- Draws an ellipse, which is a OVAL.
- See H and A commands also.
- 1st parameter = X coordinate of oval center
- 2nd parameter = Y coordinate of oval center
- 3rd parameter = X radius of oval
- 4th parameter = Y radius of oval
-
-
-
- V pieslice G#V 50,50,100,180,270:
- -----------
- V = command identifier
- Draws a pieslice, which is part of a circle.
-
- 1st parameter = X coordinate for the circle center
- 2nd parameter = Y coordinate for the circle center
- 3rd parameter = radius of the circle
- 4th parameter = begining angle to start drawing at
- 5th parameter = ending angle to to stop drawing at
-
-
- Y elliptical pieslice G#Y 80,80,100,200,0,180:
- ----------------------
- Y = command identifier
- Draws a elliptical pieslice. which is part of a OVAL.
-
- 1st parameter = X coordinate for the oval center
- 2nd parameter = Y coordinate for the oval center
- 3rd parameter = X radius of the oval
- 4th parameter = Y radius of the oval
- 5th parameter = begining angle to start drawing at
- 6th parameter = ending angle to to stop drawing at
-
-
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-
-
- Modified VT-52 COMMANDS
- ------------------------
-
-
- c COLOR G#c 1,1:
- --------
- c = command identifier
- Sets text and background color
-
- 1st parameter selects text or background
- 0 = background 1 = text
-
- 2nd parameter = color register 0 thru 15
-
- Note: color registers can be changed with the
- S command but the ST's VDI pen numbers do not
- corespond with color register numbers here a
- reference chart:
-
- register pen register pen
- 0 0 8 9
- 1 2 9 10
- 3 6 10 11
- 4 4 11 14
- 5 7 12 12
- 6 5 13 15
- 7 8 14 13
- 15 1
-
-
-
- d delete line G#d 4:
- --------------
- d = command identifier
- Deletes specified number of text lines, the bottom
- line on the screen is scrolled upward.
-
- Parameter = number of lines to delete.
-
-
-
- i line insert G#i 1,3:
- --------------
- i = command identifier
- Inserts lines at cursor position or top of screen.
-
- 1st parameter selects type of insert.
- 0 = move cursor up a line until it hits
- the top of the screen, then insert
- blank lines.
- 1 = Insert line at cursor, bottom line is
- scrolled off.
-
- 2nd parameter = number of times to perform
- this operation.
-
-
-
- k cursor G#k 0:
- ---------
- k = command identifier
- Turns text cursor on or off and
- sets BACKSPACE as destructive or nondestructive.
-
- Parameter:
- 0 = cursor off
- 1 = cursor on
- 2 = destructive backspace
- 3 = nondestructive backspace
-
-
-
- l line clear G#l 0:
- ------------
- l = command identifier
- Clears text lines.
-
- Parameter:
- 0 = Clear whole line and carriage return.
- 1 = Clear line from begining to cursor inclusive.
- 2 = Clear line at cursor to end of line.
-
-
- m cursor motion G#m 1,20:
- ----------------
- m = command identifier
- Homes or moves cursor a line at a time
- or a column at a time, from current position.
-
- 1st parameter selects direction.
- 0 = Home cursor.
- 1 = up
- 2 = down
- 3 = right
- 4 = left
-
- 2nd parameter sets number of times to do this
- operation.
-
-
-
- p position G#p 70,19:
- -----------
- p = command identifier
- Positions cursor at column, line.
- Like X Y only with characters.
-
- 1st parameter = column 0 thru 79
-
- 2nd parameter = line 0 thru 24
-
-
- r remember G#r 0:
- -----------
- r = command identifier
- Remembers or recalls cursor position.
-
- Parameter:
- 0 = remember cursor position
- 1 = recall cursor position, and put it there
-
-
-
- s screen clear G#s 0:
- ---------------
- s = command identifier
- Clears whole screen or portions of it.
-
- Parameter:
- 0 = Clear screen home cursor.
- 1 = Clear from home to cursor.
- 2 = Clear from cursor to bottom of screen.
- 3 = Clear WHOLE screen with VDI.
- 4 = Clear WHOLE screen with VDI and VT52
- cursor will be set to home.
-
- v inverse video G#v 1:
- ----------------
- v = command identifier
- Turn inverse video on or off.
-
- Parameter:
- 0 = off
- 1 = on
-
-
-
- w line wrap G#w 1:
- ------------
- w = command identifier
- Turns line wrap on or off.
-
- Parameter:
- 0 = off
- 1 = on
-
-
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-
- CUSTOM COMMANDS
- ---------------
-
- t time a pause G#t 2:
- ---------------
- t = command identifier
- Tells IG to send ^S, times it for X seconds
- and then tells IG to send ^Q. Any key
- will abort the pause prematurly.
- MAX time is 30 seconds if more of a pause is needed
- chain a few together. G#t>30:t 5:
- I'm hoping this will eliminate the BBS from timing
- out and logging a user off.
-
- Parameter = number of seconds to pause, 30 max.
-
-
- n chip music G#n 13,1,16,60,200,2:
- ------------
- n = command identifer
- Treats IG's sound effects as musical notes.
- There is no flow control with this command.
-
- Note:
- Long tunes should use this command within a
- "& LOOP" or use the 'N' command. The values
- listed below apply to the 'N' command except
- 'N' takes it's parameters as a ASCII string of
- characters one BYTE per parameter a 255 value
- is the max that can be passed to 'N'.
- Values are passed as characters with the proper
- ASCII value to 'N'. Sound effects for this command
- may be altered with "b 20".
-
-
- PARAMETERS for 'n' command
- . . . . . . . . . . . . . .
-
- 1st parameter is the effect number to use
- from 0-19. These are the same effects as the
- 'b' command uses exception that n doesn't loop
- the first 5 effects internally.
-
- 2nd parameter is the voice to use 0-2.
-
- 3rd parameter is the Volume 0-15.
-
- 4th parameter is pitch 0-255. A 0 will play no
- effect but allow TIMIMG and STOP type to be executed.
-
- 5th parameter is timing 0-9999. This stops IG in it's
- tracks for a specified time in 200ths of a second,
- unless the user taps a key.
-
- 6th parameter is stop note type 0-4.
- 0=no effect, sound remains on.
- 1=move selected voice into release phase.
- 2=Stop select voice immediately.
- 3=move all voices into release phase.
- 4=Stop all voices immediately. ( same as "b 21" )
-
-
-
- < INPUT Command G#< 1,0,1:
- ----------------
- Gets input from user's keyboard and transmits it as soon
- as the chain " > " from the last G# is broke. Should
- be used near the end of a MENU, as the BBS will continue
- to send to the terminal while the INPUT command is
- waiting on the user. This is so the BBS will be waiting
- for INPUT when IG sends the user's response at '>' exit.
- The INPUT command is good for letting you use
- any 4 colors you want for a BBS MENU and then to issue
- some reset commands. ie G#<>1,0,1:I>0:k>1:s>0: Also
- optionally INVOKES MOUSE routine for the X 4 command
- so ZONES can be pointed to and clicked on, you must
- use X 4 to define and load the zone strings first and
- you should use IG to draw some borders around the
- zones so the user will know where and what he is
- selecting when he clicks on a ZONE, that way you
- have the job of cosmetics, that's half the fun anyway.
- The selected Zone's associated data string is
- transmitted to the BBS as soon as IG exits
- the chain from the last G# . ZONE 47 is the default
- ZONE, it's associated data string will be sent if no
- ZONES match where the user clicked. You should always
- define ZONE 47. ( Check out X 4,9998: LOOPBACK also!)
- You may find the X 3 and the X 6 command useful too.
-
- 1st parameter = Transmitt carriage return at the end
- of the string INPUTted? 1 = YES 0 = NO
-
-
-
- 2nd parameter = INPUT type
- 0 = One key, (hot key input for FoReM)
- 1 = String, with a return to
- end input from user,
- max string length = 128
- 2 = MOUSE ZONE, activate a POLYMARKER
- mouse pointer, use the " T " command
- to select mouse type and size and the
- " C " command to set mouse color.
- User moves mouse and clicks on a
- "ZONE". Selection is processed
- when button is released.
- The associated ZONE string
- is copied into INPUT's
- string to be transmitted to BBS
- at the end of the IG script chain.
-
-
- 3rd parameter = Output options
- 0 = Don't show input typed from user
- on his screen. Has no effect on
- Mouse ZONES.
- 1 = Show input typed from user on screen.
- Has no effect on Mouse ZONES.
- 2 = Show input but throw it away, don't
- transmit it at the end of the chain.
- Does effect Mouse ZONE.
- 3 = Don't show input from user, and throw it
- away too. Does effect Mouse ZONE.
-
- Note: If 2 ZONES areas are over lapping on the screen the
- ZONE with the lower value ID number will get selected when
- the mouse is clicked on both ZONEs at the same time.
-
- +----+--------------------+
- user clicks in here ---> |ID=1| |
- ZONE 1 gets selected +----+ ID=10 |
- | |
- +-------------------------+
-
- +----+--------------------+
- user clicks in here ---> |ID=7| |
- ZONE 2 gets selected +----+ ID=2 |
- | |
- +-------------------------+
-
-
-
-
-
- ? Ask IG G#? 0:
- --------
- ? = command identifier
- Asks the Instant Graphics terminal
- questions. Transmit it to the
- BBS ( Host system ).
-
- 1st parameter selects the question to ask.
- 0 = Version number, IG will transmit in
- ASCII to the host system the version
- number it is.
-
- 1 = Ask IG where the cursor is and the
- mouse button state. When this question
- is asked a 2nd parameter is passed also,
- like G#? 1,0 the zero means just check
- the cursor and mouse buttons and send it to
- host system immediatly. If the second
- parameter is a 1 then the user can move the
- cursor with the mouse until a button is
- pressed then the cursor location and button
- state is transmitted. In other words a
- point and click cursor!!! The cursor and
- and mouse button state is sent in three
- characters, subtract 32 from the ASCII
- value of these characters to arrive at
- COLUMN number 0-79 ROW 0-24 BUTTON 0-3
- With this command the cursor should be
- enabled with the G#k 1 command.
-
- 2 = Ask IG where the mouse is and button state.
- A second parameter is required when this
- question is asked, like G#? 2,0 the zero
- indicates that IG is to send the BBS the
- mouse coordinates immediatly a 1 will
- activate a polymarker for a mouse pointer
- That you select with IG's "T" command.
- The user can move the pointer around till
- he clicks a button then the host system is
- sent the X,Y,Button in a ASCII string just
- like this 420,150,1: It's up to the
- host system to convert the ASCII string
- into actual numbers. The "g" command has
- no effect on this command in version 2.12.
-
- 3 = Asks IG what resolution the terminal is in
- 0: low resolution 320x200
- 1: medium resolution 640x200
- 2: high resolution 640x400
-
-
-
-
-
- & loop a command G#& 0,198,6,0,L,4,0,0,x,y:
- -----------------
- XOR stepping example:
- G#G 1,3,0,0,50,50:
- G#&>198,0,2,0,G|4,2,6,x,x:
-
-
- & = command identifier
- Loops a operation specified number of times with
- stepping, special options for XOR ing and the
- 'W'rite text command. The CHAIN character > only
- works directly after the &>, you can't loop a
- chain of commands, only 1 command. Also you can't
- loop a loop. Still this command is very powerful
- and worth the effort to learn.
-
- 1st parameter = FROM value
- if from value bigger than TO value
- loop will detect and step backwards.
-
- 2nd parameter = TO value
- 3rd parameter = step value, positive number only.
- 4th parameter = DELAY in 200 hundredths of a between
- each step of the loop.
- 5th parameter = command Identifier to loop.
- optional specification character after 5th
- parameter instead of comma:
- | = XOR stepping
- @ = get text for W command everytime
- otherwise text written from loop
- with the W command is last text
- written with W command before the
- loop was executed. W command now
- ignores CR and LF so loop command
- can be used for easy Written text
- placement with the loop's stepping.
- 6th parameter = number of parameters command that
- to be looped requires. You should at
- least specify the number the command requires
- ie L command requires 4 , ie W command 2.
- You can specify multiples of the required number
- such as 8 or 12 for the L command Max up to
- 2048. This will work like BASIC's READ DATA
- statements between each loop step. Also note
- a _ underscore may be used to split parameters
- across lines if it is used in place of the first
- digit of value, this will make huge detailed
- files smaller (DEGAS conversions).
-
- REMAINING parameters = whatever the command being looped
- requires. If you use a "x" as a parameter
- it will be stepped in the direction of the
- FROM TO values, if you use a "y" the loop
- will step the value in a reverse direction.
- You can use both "x" and "y" at the same time.
- If you use a number it will remain as a constant
- for the command being looped through out the
- loop execution. Adding a + before constant
- will add the "x step value" to the constant.
- Adding a - before the constant will subtract
- the constant value from the current "x step"
- value. Adding a ! before the constant will
- subtract the "x step" value from the constant.
- Like so :
- G#&>10,30,2,0,L,4,100,+10,-10,+600,!99:
-
-
-
- loop Written text option example:
-
- G#E>0,18,0:C>3,2:s>0:
- G#&>20,140,20,0,W@2,0,x,A. Item 1@
- B. Item 2@
- C. Item 3@
- D. Item 4@
- E. Item 5@
- F. Item 6@
- G. Item 7@
- G#W>200,140,Power Graphics with IG!!!@
- G#& 140,20,20,0,W,2,200,x:
- G#W>10,180,That's so DEVO!!!@
-
- Example of loop used to READ DATA and step within at the same time in
- both directions, once you get used to the "& loop" you will use it
- a lot!!
-
- G#I>0:s>0:k>0:L>300,10,340,10:S>2,7,4,5:S>1,0,0,0:
- G#&>85,300,5,0,D,24,340,10:340,60:420,60:420,85:_
- 340,85:340,180:85,180:x,85:220,85:220,60:x,60:x,10:
- G#L>300,180,300,85:A>1,1,1:C>2,2:F>320,20:E>0,10,0:M>2:
- G#C>3,1:W>210,141,Because of@
- G#W>210,156,God's Love@
- G#W>210,171,we are.@M>1:
- G#t>3:G>1,3,80,8,421,181:s>0:
- 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:
- G#&>0,638,4,0,G,8,2,3,x,9:2,3,y,9:
- G#t>3:s>0:k>1:G>2,3,80,8:p 0,20:
-
-
- ...............................................................................
- MIDI MIDI MIDI MIDI MIDI MIDI MIDI MIDI MIDI MIDI MIDI MIDI MIDI MIDI MIDI MIDI
- SOUND CHIP MUSIC SOUND CHIP MUSIC SOUND CHIP MUSIC SOUND CHIP MUSIC SOUND CHIP
-
-
- N noise command G#N>2:
- ---------------
- N = command identifier
- The N command is for handling sound.
- Currently only MIDI, but other things
- may be handle by N in the future,
-
-
- 1st parameter = N operation to perform.
- If 1st parameter = 0, 1, 3 or 4 a 2nd parameter
- is required, which is number of MIDI data bytes
- to read into the MIDI buffer, MAX of 9999.
-
-
- Load only midi: N 0,9998,datadelaydatadelaydatadelay....
- sound chip N 3,9996,DataDataDataDataDelayData....
-
- Load and execute: N 1,9998,datadelaydatadelaydatadelay....
- sound chip N 4,9996,DataDataDataDataDelayData....
-
- The 0 means load the MIDI buffer only,
- then the number of bytes to load followed
- by a comma, then the MIDI data in the form
- data byte, delay byte, back to back with the
- data byte always first. The delay is in 200ths
- of a second so a delay of about 1.25 seconds
- between each data byte is the max. After
- the MIDI buffer is loaded with a N 0 or 1 command
- a N 2: (midi) or N 5: (sound chip) issued later will
- replay the buffer without reloading, like
- G#N 2: If a user CONTROL C's or CONTROL X's
- the MIDI data while it is being loaded the MIDI
- buffer will be set to 0 and N 2: will play
- nothing. However it a user aborts while MIDI is
- being played the MIDI buffer will remain intact.
- If a user has the MIDI option off (F4 function key
- on the ACC, control+shift+m for the EMU) MIDI data
- will be still loaded but not executed. If line noise
- creeps into the MIDI buffer when it's loaded it will
- garble the sound, the user might be able to recover
- by pressing the + key to try to get the MIDI flow
- out to the ports in proper sync datadelaydatadelay,
- line noise can get it in reverse order.
-
- DATA FORMAT FOR SOUND CHIP
- The data to the sound chip routine is in
- ASCII values ie " a capital A represents 65 ".
- the format is:
-
- Effect_numberVoiceVolumePitchTimingStop_effect
- 0-19 0-2 0-15 0-255 0-255 0-4
-
- When a 0 is passed as a pitch value timing and
- stop effects can be issued without executing
- a note. For more details see the "n" command.
-
- *** Download MS2IG.ARC for a Music Studio to IG MIDI file
- converter.
- *** See "n" command also and look for N_UTIL1.LST in arc.
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-
- eXtended Commands
- -----------------
-
- Extended commands are invoked by a captial
- X and a number ranging from 0 to 9999, this is
- sort of like the old 8 bit XIO thing.
- Opens a door for 10,000 new commands!!!
-
-
- 0 SPRAY PAINT G#X 0,400,50,200,145,200:
- ---------------
- X 0 = command identifier
- Plots polymarkers at random in
- a rectangular area with specified concentration.
-
- 1st parameter upper left corner X coordinate.
- 2nd parameter upper left corner Y coordinate.
- 3rd parameter X range from upper left corner, 255 max.
- 4th parameter Y range from upper left corner, 255 max.
- 5th parameter concentration, 9999 maximum.
-
-
- 1 SET COLOR REGISTER G#X 1,4,0:
- --------------------
- X 1 = command identifier
- Sets a color register with Xbios 7.
- Use to set a specific register. The S command
- differs in that it sets a PEN's register.
-
- 1st parameter = color register 0 thru 15.
- 2nd parameter = color value 0 thru 9999,
- note that the ST only uses up
- to 1911, larger values may prove
- useful on STE.
-
-
-
-
- 2 SET RANDOM FUNCTION RANGE G#X 2,0,50:
- ---------------------------
- Sets the range of the numbers returned when the
- 'r' is used in place of constant value parameter
- given to a IG command. Above example sets r to
- a range of 0 to 50. The range value can be
- from 0 up to 9999.
- To use it in the line command
- or any other like so: L 0,r,400,r:
- another example with the & "loop" command:
- G#s>0:X>2,0,639:P>0,0:& 0,128,1,0,D,2,r,r:
-
-
- 3 RIGHT MOUSE BUTTON MACRO G#X 3,2,1,1,30,C'mon Baby let's do the Twist!:
- --------------------------
- X 3 = command identifier
-
- Set's a string of ANY characters to be transmitted
- when the RIGHT mouse BUTTON is pressed. Intended
- for pulling up a FUNCTION menu on a BBS, but could
- be used to tell a MAINFRAME to TYPE a IG script
- file for a POINT and CLICK navigation menu.
-
- 1st parameter = operation
-
- Deactivate --> if 1st parameter is 0 then
- mouse macro is shut off and
- no other parameters are to follow.
- example: X 3,0:
-
- Reactivate --> if 1st parameter is 1 then
- mouse macro is ON and requires
- a 2nd parameter to tell it whether
- or not to transmit a carriage
- return at the end of the string.
- examples:
- X 3,1,0: = no CR
- X 3,1,1: = send CR at end.
-
- LOAD with,activate,deactivate --> if 1st parameter is a 2 then a whole
- bunch of parameters follow.
-
- 2nd parameter cuts the mouse macro
- on or off. 0=off 1=on
-
- 3rd parameter tells it whether or not
- to send a carriage return at the
- end of the string. 0=no 1=yes
-
- 4th parameter is the length of the
- string in characters that the
- mouse macro will be sending, don't
- count the seperator at the end of
- the string.
-
- 5th parameter is the string to send.
- it can contain any characters at
- all and has to be at least one
- character and not more than 80.
- At the end of the string a
- seperator is required anything can
- be used I suggest a : for good
- looks.
- examples below:
- X 3,2,1,1,3,m/a:
- X 3,2,1,1,5,f/L:
- X 3,2,1,1,1,?:
- X 3,2,1,1,25,c:\bin\type c:\ig\menu.ig:
-
-
-
- 4 DEFINE and LOAD ZONE data G#X 4,0,0,0,79,49,3,f/L:
- ----------------------------
- X 4 = command identifier
-
- Defines a rectangular area and associates a
- string of characters with it, a ZONE.
- The string is sent to the bbs by the
- " < " command if the mouse option is
- used. This allows point and click operation of
- remote systems.
-
- Zone ID -> 1st parameter = zone number to define/load
- This is a number between 0-47 or
- optional value is 9999-9997. If Zone ID is
- 9999 ALL Zone's retangular areas
- are defined as -1,-1,-1,-1 by the
- terminal internally. This is
- to give a quick clean slate.
- Cutting Zone LOOPBACK on will make the
- user select a valid defined Zone.
- A console bell will ding and the the
- terminal will continue to poll the mouse
- until a valid defined Zone is selected.
- Default is off only to help maintain
- compatiblity with older prexisting IG
- scripts.
- examples G#X 4,9999:
- G#X 4,9998: Zone LOOPBACK On
- G#X 4,9997: Zone LOOPBACK Off
- (default off)
-
- No other parameters
- are required if Zone ID is 9999-9997.
-
- Define Rectangle -> 2nd parameter = upper left corner X coordinate
- 3rd parameter = upper left corner Y coordinate
- 4th parameter = lower right corner X coordinate
- 5th parameter = lower right corner Y coordinate
- Load string data -> 6th parameter = number of characters in string to
- transmit to bbs, maximum 80.
- 7th = the string itself with a ending : seperator,
- don't count the seperator as part of the
- string length required for parameter
- number 6.
-
-
- 5 FLOW CONTROL SHUTDOWN G#X 5,0: or G#X 5,1: or G#X 5,4:
- ----------------------- G#X 5,2,19,2: or G#X 5,3,17,2:
-
- X 5 = command identifier
-
- Back by request, no flow control.
-
- Stops the IG terminal from sending
- Control-S's and Control-Q's on
- all commands or alters the values sent
- that XONs and XOFFs the flow and number
- of repetitions, for safety.
- This should be used with caution.
- No flow control is good for issuing a short
- pause " t " command and let the RS232 buffer
- get ahead of the terminal, when the pause is
- over a burst of speed will occur as the
- terminal catches back up. Data may be lost
- this way so be careful. Altering the XON
- XOFF values and repetitions is good for
- BBS programs that don't use the standard
- ^s ^q sequence. IG's default is ^s once
- XOFF and ^q once XON. The defaults work fine
- with FoReM and Turbo, so if you switch them be
- SURE to issue a G#X>5,4: in your log off file to
- reset the defaults. FoReM sysops may want to
- add this G#X>5,4: in their welcome file for
- safety sake.
-
- 1st parameter = flow control on/off
- 0 = OFF
- 1 = ON
- 2 = ON set xon value, repetitions
- 3 = ON set xoff value, repetitions
- 4 = ON set to IG's defaults
-
- 2nd parameter = ASCII value to send for
- XON or XOFF. For instance
- put a 65 here for a captial A.
- This parameter not included
- if 1st parameter = 0 or 1 or
- greater than 3.
-
- 3rd parameter = number of repetitions to send the
- the XON and XOFF character. You
- can have IG send different for
- XONs than XOFFs. Like send
- 2 XONs and 3 XOFFs.
- This parameter not included
- if 1st parameter = 0 or 1 or
- greater than 3.
-
-
-
-
-
- 6 LEFT MOUSE BUTTON CR/LF G#X 6,1: or G#X 6,2: or G#X 6,0:
- -------------------------
- X 6 = command identifier
-
- Activate / deactivate left MOUSE button
- as a CARRIAGE RETURN and or Linefeed.
-
- 1st parameter =
- 0 = OFF normal mode, default
- 1 = ON as a CARRIAGE RETURN
- 2 = ON as a CARRIAGE RETURN with LINEFEED.
-
- Note: This doesn't affect the < INPUT command's
- mouse zone option either way. It should
- work ok with this active. I wanted to
- be able to leave my hand on the mouse and
- hit the button to read the next message
- while online and not have to mess with the
- right mouse macro 'X 3'. You can just set the
- mouse in your lap and click to read messages.
- You probably wouldn't want this active with the
- '?' ASK IG command.
-
- 7 reserved
- ----------
-
-
- 8 Rotate Color Registers G#X 8,1,3,20,10:
- ------------------------
- X 8 = command identifier
-
- Rotates color registers left or right
- a certain number of times.
-
- 1st parameter =
- Starting color register number
-
- 2nd parameter =
- Ending color register number
-
- 3rd parameter =
- 0 = Reset the registers to what they were
- when detected with X 8,1,1,1,1:
- This will reset all the color registers.
- Any other number = number of times to shift
- colors.
-
- Note: If the 1st parameter is less than the
- 2nd parameter, then the colors will shift
- to the right. If the 1st parameter is
- greater than the 2nd parameter, then the
- colors will shift to the left.
-
- 4th parameter =
- number of 200 hundredths of a second between
- each color shift. range 0-9999.
-
-
- An application of this function would be to draw a waterfall using,
- say... registers 8 to 14 for various shades of blue. Once it is drawn
- properly, you could make the water start flowing with the following:
- G#&>1,600,1,15,X,4,8,8,14,1,10:
- Or you could make steam coming out of a locomotive, a flaming mine,
- lettering made of scrolling rainbows, lightning behind clouds, etc.
- This command is limited in med rez, worthless in hi rez, and a
- very powerfull animation tool in low rez.
-
-
- ------------------------------------------------------------------------------
- SOUND EFFECTS COMMAND
-
- COMMAND IS: G#b x:
-
- x Description
- --------------------
- 0 Alien Invasion These 19 sounds were added to IG
- 1 Red Alert by: Kevin Moody & Anthony Rau.
- 2 Gunshot
- 3 Laser 1
- 4 Jackhammer
- 5 Teleport
- 6 Explosion
- 7 Laser 2
- 8 Longbell
- 9 Surprise
- 10 Radio Broadcast
- 11 Bounce Ball
- 12 Eerie Sound
- 13 Harley Motorcycle
- 14 Helicopter
- 15 Steam Locomotive
- 16 Wave
- 17 Robot Walk
- 18 Passing Plane
- . . . . . . . . . . . . . . . . . . . .
- 19 Landing These sounds and options added
- by Larry Mears 4-22-90.
-
-
-
- ~~~~~~~~~~~~~~~~~~~~~~~
- Sound Effects Utilities
- -----------------------
-
- ID Description
- -- --------------------------
- 20 Alters Sound Effects 0-19
-
- Example: alters sound effect
- number 7 " G#b 7: "
- G#b>20,1,7,12,1,30,0:
-
- breakdown of parameters:
-
- b 20,play_flag,snd_num,element_num,negative_flag,thousands,hundreds
-
-
- "The sounds in IG use GIST.
- GIST is the GI Sound Tool by:
-
- Synthetic Software
- 880 Wisconsin Street
- San Francisco, CA 94107
- 415-285-8832
-
- ANTIC was selling it. If they aren't
- anymore contact Synthetic Software.
- Buy GIST and you can create all sorts
- of neat sounds that can be converted into
- IG loadable format. Without GIST it's a
- shot in the dark. GIST let's you edit
- sounds with a graphics interface it's
- a great piece of software, buy it!"
-
- Command Identifier = b 20
- Let's you alter any sound effect. The
- sound effects each have 56 elements that
- corespond exactly with the elements
- that GIST saves out in the '.C' file as
- a " int array ". You take the values
- in the GIST '.C' sound file and put them
- into IG one at a time with the b 20 command
- PARAMETER NUMBER 3. If you don't have GIST
- you can play around with the & LOOP and
- this command to come up with variations.
-
- 1st parameter = play_flag. If this is anything other
- than 0, then the sound will be played
- with the new setting, otherwise it
- alters it but does not play. Setting
- this flag to 1 is useful for using the
- & LOOP and running through a series of
- changes to hear what the effect
- your alteration has on the sound.
-
- 2nd parameter = snd_num. This is the sound effect
- you wish to alter. It can be any
- effect 0 to 19.
-
- 3rd parameter = element_num. This tells which one of
- 56 elements to alter in the sound
- effect's array they are 0-55.
- Element 0 is duration,
- element 1 is frequency.
-
- 4th parameter = negative_flag. If this is a 0 then
- the value changed in the effect will
- be positive, a 1 here or any number
- other than 0 will set the value in
- the sound effect array as a
- negative number.
-
- 5th parameter = thousands. This is a number from
- 0 to 32 that is multiplied by 1000
- by IG internally and added to the
- next parameter to make up the actual
- value that is stored into the element
- number specified by parameter 3.
-
- 6th parameter = hundreds. The hundreds, tens, and ones
- of the value to be placed into the
- sound effect element specified by
- parameter 3. You can exceed this and
- use 4 digits here, it just adds the
- 5th and 6th parameters together to get
- a range of values from -32767 to
- +32767 that GIST requires.
-
-
- PLEASE NOTE that sound effects 0-4 are looped by IG
- internally 1000 times each for effect. It's like this
- in basic FOR I=1 to 1000:SOUND_EFFECT:NEXT I This
- will give a different effect than you hear if you
- are using the GIST sound editor so bear this in mind.
- To transfer a whole new sound from GIST ".C" format
- this little IG command will have to be called 56 times.
- Look in this ARC to see "IF" I wrote a GFA BASIC v2
- GIST2IG.BAS converter. You could use a effect that was
- close to the one you needed and only change a few
- elements. The & LOOP and this command should be able
- to produce some amazing Sounds with some effort.
-
-
-
-
-
- 21 STOP ALL SOUND AT ONCE example:
- -------------------------- G#b>21:
-
- command identifer = b 21:
-
- Shuts off all sound effects that are being played.
-
-
-
-
-
-
-
-
- 22 RESTORE SOUND EFFECT example:
- ----------------------- G#b>22,19:
-
- Command identifier = b 22
-
- Restores a sound effect to IG's default.
- Use to insure that a sound effect is what
- it should be or to restore after a
- alteration as a courtesy to your SYSOP
- and other IG users. You can use the
- & LOOP to restore all the effects real
- fast.
-
- 1st parameter = sound effect number to restore.
- range is 0 to 19.
-
-
- ---------------------------------------------------------------------------
-
-
-
- ===================
- END OF TEXT G#I 0:
-