GraphOn <>--<>--<>--<>--<>--<>--<>--<>--<>--<>--<>--<>--<>--<>--<>--<>--<>--<>--<>--<> Summer 1998 GraphOn is now expanding into the Windows Thin-Client business. Like everyone else, the company must respond to the question, "Where does Microsoft want you to go today?" Current products include - GO-Global, thin-client X server for PCs running Microsoft Windows - GO-Joe, thin-client Java X server - GO-Between, thin-client X server for multi-user NT (such as Microsoft Terminal Server, Citrix WinFrame, and New Moon LiftOff) GraphOn Corporation 150 Harrison Avenue Campbell, CA 95008 Telephone: +1 408.370.4080 Facsimile: +1 408.370.5047 Web: http://www.graphon.com/index.html Electronic Mail Sales and Marketing Information: Technical Support and Product Support: General Information or Questions: ////////////////////////////////////////////////////////////////////////////// A vendor providing some support for GraphOn X terminals: (old?) Arcom Electronics 525 East Brokaw Rd. San Jose, CA voice: +1 408/452-0678 February 5, 2001 Headquarters 1500 McCandless Dr. Milpitas, CA 95035 voice: +1 408/586-5300 fax: +1 408/586-5306 Offices San Francisco, California, Office +1 415/788-2239 Seattle, Washington, Office +1 425/646-7310 Southern California, Orange County Office +1 714/731-1956 Southern California, Los Angeles County Office +1 818/994-8018 ////////////////////////////////////////////////////////////////////////////// Newsgroups: comp.terminals Path: cs.utk.edu!emory!swrinde!hookup!usc!nic-nac.CSU.net!news.Cerritos.edu !news.Arizona.EDU!CS.Arizona.EDU!not-for-mail Organization: University of Arizona CS Department, Tucson AZ Lines: 39 Message-ID: <3giamr$lm3@lectura.CS.Arizona.EDU> References: <3g1jnh$orq@netaxs.com> NNTP-Posting-Host: lectura.cs.arizona.edu Date: 30 Jan 1995 02:15:07 -0700 From: scott@CS.Arizona.EDU (Scott E Gilbert) Subject: GraphOn terminals [Was: Questions about archaic terminals] In article <3g1jnh$orq@netaxs.com>, Eric Raymond wrote: > >3. Does anyone know *anything* about a line of terminals called `graphon'? > Like, say, a manufacturer name? > GraphOn is the manufacturer name, and the user manual I have says that the address is: Graphon Corporation 544 Division Street Campbell, CA 95008 Tel: 408-370-4080 Fax: 408-370-5047 Hope this helps. I've just been "assigned" to making one of these work over a serial connection with a tiny sparc station. The model in question is a Graphon 14S, and I know very little about it except that it has a vt220 emulation that it starts in and can be switched into a X-windows mode if the correct server is installed for it. It also has a Wyse60 emulation. I've been having problems with it in that it supports a flow control protocol known as XPC. This method of flow control is very similar to the normal XON/XOFF stuff except that it send ASCII 103 and 101 instead of 19 and 17. This has the undesired effect of entering g's and e's as though they have been typed from the keyboard. (Every time a lot of stuff gets sent to the screen, it puts "ggegge" at the beginning of the next prompt.) Does anyone know anything about this XPC protocol? More importantly, is there a way to turn it off with an escape sequence? Does any common system use this? (I wasn't able to find anything about it in the man pages for stty, but then again, I only looked on unix machines.) Thanks in advance for any and all replies! -- Scott Gilbert ( scott@cs.arizona.edu ) ////////////////////////////////////////////////////////////////////////////// Newsgroups: comp.terminals Path: cs.utk.edu!cssun.mathcs.emory.edu!emory!swrinde!ihnp4.ucsd.edu !sdcc12.ucsd.edu!sdcc3!tkammeye Organization: University of California, San Diego Message-ID: <44aj0s$i8@sdcc12.ucsd.edu> NNTP-Posting-Host: sdcc3.ucsd.edu Keywords: GraphOn GO140 Date: 27 Sep 1995 04:13:16 GMT From: "Thomas E. Kammeyer" Subject: Free GO140 parts to a good home... I have an old GraphOn140 terminal that I've been using for a few years, and it's recently given up the ghost. It looks like it's either the power supply, a transformer, or the picture tube. In any event, I bought it surplus and it's not worth spending the money for repairs by any stretch of the imagination. I suspect, however, that the logic isn't hosed, except maybe the initialization circuits, and it seems a pity to let parts go to waste... in addition, I have an excerpt from the manual on programming the function keys by download, and using it I've written a simple utility to program the keys (I needed this so that I could reprogram them when the lithium battery failed to hold charge... and I wanted it anyway... and I was to lazy to see whether it was *really* the battery since it might've been a loose connection or something else...). These programs are thrown onto the bottom of this message in case they're useful to anyone. Here's the deal: I'll ship the guts of this thing minus the heavy parts to anyone who thinks they're worth having up to a cost of ten dollars. Since I'm willing to spend (a small amount of) money, please don't reply unless you actually have the equipment or need the ROMS or whatever. If the cost goes over $10.00, I'll let you know and you can decide whether to pay the difference... if so, you send me a check for the difference and I pay in $10.00. "Minus the heavy parts" means I'll send the circuit boards complete, but not any transformers, or the picture tube. Whether the one large board with the heavy capacitors makes it will depend on you, me, and the shipping cost. Of course if anyone wants it whole, I'll check the price for shipping it that way. This is my yearly contribution to foster internet altruism. Please (PLEASE!) respond only by e-mail to: tkammeye@cs.ucsd.edu or tkammeyer@ucsd.edu or tkammeye@sdcc3.ucsd.edu or tkammeye@igrad1@ucsd.edu Thanks all... (shar file and head of an old post of mine to this group follow) Thomas ---------------cut here-------shar file follows-------------- Here are some shell scripts and small programs for the GO140. All of this pretty much assumes you're using UNIX with the plot library available and the 4013 library installed. You can compile -l4014 where-ever it says -l4013 below, but text won't work (using label() from plot (3)). These are only intended as simple demos and you will probably have to play around with the code to get what you want. The exception is the GO140key program which is a "complete" mini-application. There are also some escape codes I'll repeat here... these are abbreviated using ^[ for escape and ^x for control-x. Display graphics screen: ^[1 Display text screen: ^[2 Display and clear graphics screen: ^[^L In addition, the mode commands for vt100s are supported ^[[0m clears all text modes ^[[1m thru ^[[9m turn on/off modes (not all digits are supported on the GO140) you can combine them as in: ^[[0;4;5m which gives underlined, bold text (I think). Most other vt100 escapes are supported... ^[7 and ^[8 which save and restore cursor position respectively are sometimes useful. WARNING: The escape codes that appear below aren't abbreviated, they actually appear as escapes... so if you display this file on the screen, you will see what looks like the following in some places: echo "" since the escape code in between will be interpreted by your GO140 (assuming, of course, that you're using it at the time). Read this stuff in vi first, and chop it up into files. I just glommed things together since there isn't THAT much. The short plotting demo is at the end so that you can conveniently separate it first. Good luck... hope this is helpful! -Thomas =================================GIN.c /* Get a GIN report and decode it. * Also need cbreak mode for this to be really * useful. * * Compile as cc -o GINdemo GIN.c * * Under X11 you get to use the mouse to specify the coordinates, * if using an xterm in Tek mode.. */ #include void main() { int x = 0, y = 0; /* Switch to graphics mode. */ putchar('\033'); putchar('1'); /* Clear graphics screen. */ putchar('\033'); putchar('\014'); /* Start a GIN report. */ putchar('\033'); putchar('\032'); /* Throw away the GIN terminator. */ (void) getchar(); /* Get the coordinates. */ x = (getchar()&31)<<5; x += getchar()&31; y = (getchar()&31)<<5; y += getchar()&31; /* Switch to text mode. */ putchar('\033'); putchar('2'); printf("x=%d, y=%d\n", x, y); exit(0); } /* End of file. */ =================================GO140keys.c /* This program allows the function keys on a GraphOn140 terminal * to be downloaded, provided that the terminal's setup shows the * setup download feature to be enabled (The setup entry on * Setup D, bank 2, 1st entry should be a "1"). * This may work for other GraphOn Terminals... I don't know. * The escape command sequence to program a key is: * PString\ * The string being assigned may not contain the end-sequence \ * * Compile with cc -o GO140key GO140key.c * * Copyright 1992 Thomas Kammeyer * You may use, modify, copy, and distribute this code as you wish * as long as you don't fail to give me credit (or blame) * for having written it. No warranty or guarantee is implied or intended * as to the suitability of this code for any purpose of any kind. */ #include /* Shift-F1 is F9 and so on... * Other keys can be programmable (e.g. the arrows and PF keys), * but this program does not program them. */ #define NKEYS 16 /* Escape is character number 27 in the ASCII alphabet. */ #define ESC 27 void Usage( arg0 ) char *arg0; { fprintf(stderr, "Usage: %s fn-key-num [[mode] newvalue]\n", arg0); fprintf(stderr, "%s\n%s\n%s\n", "\tUse 0 for the fn-key-num number to affect all keys.", "\tOmit the newvalue to undefine.", "\tmode begins with: o,O=online, l,L=local, or p,P=printer"); } void assignkey(k, m, v) int k; char m; char *v; { /* keytab[i] == i+'1', 0<=i<=15 */ static char *keytab = "123456789:;<=>?@"; printf("%cP%c%c%s%c\\", ESC, keytab[k-1], m, v, ESC); } int main(argc, argv) int argc; char **argv; { int i = 0, k = 0; char *v = "", m = '1'; switch (argc-1) { case 1: k = atoi(argv[1]); break; case 2: k = atoi(argv[1]); v = argv[2]; break; case 3: k = atoi(argv[1]); switch (argv[2][0]) { case 'o': case 'O': m = '1'; break; case 'l': case 'L': m = '2'; break; case 'p': case 'P': m = '3'; break; default: Usage( argv[0] ); exit(1); } v = argv[3]; break; default: Usage( argv[0] ); exit(1); } if (k == 0) { for (i = 1; i <= NKEYS; i++) assignkey(i, m, v); } else if ((k >= 1) && (k <= NKEYS)) { assignkey(k, m, v); } else { Usage( argv[0] ); exit(1); } exit(0); } /* End of file. */ =================================L1234-140 #!/bin/csh -f # Light up the status line lights on a GO140 # terminal in increasing and then decreasing order... set iters = 30 while (1) echo -n "" @ i = $iters while ($i > 0) @ i-- end echo -n "" @ i = $iters while ($i > 0) @ i-- end echo -n "" @ i = $iters while ($i > 0) @ i-- end echo -n "" @ i = $iters while ($i > 0) @ i-- end echo -n "" @ i = $iters while ($i > 0) @ i-- end echo -n "" @ i = $iters while ($i > 0) @ i-- end end =================================setup140 #!/bin/sh # Set the function keys on my home GO140 terminal # using the program GO140key that I wrote. # Also sends initialization strings to configure the GO140s switch # setups... note that Switch D-2-1 must be set to "1" for any of # This to work. # Setup B echo -n "" # Setup C echo -n "" # Setup D echo -n "" # Setup E echo -n "" # F1 to F4 are some commonly used UNIX commands. # F1 - ls GO140key 1 online "ls " # F2 - more GO140key 2 online "more " # F3 - finger GO140key 3 online "finger " # F4 - mail GO140key 4 online "mail " # F5 to F8 are AT commands for dialing numbers stored in the a modem. # F5 - atds=0 GO140key 5 online "atds=0 " # F6 - atds=1 GO140key 6 online "atds=1 " # F7 - atds=2 GO140key 7 online "atds=2 " # F8 - atds=3 GO140key 8 online "atds=3 " # F9 to F12 repeat F1 to F4, but w/a CR at the end instead of a space. # F9 - ls GO140key 9 online "ls " # F10 - more GO140key 10 online "more " # F11 - finger GO140key 11 online "finger " # F12 - mail GO140key 12 online "mail " # F13 to F14 are more AT commands # F13 - at&v GO140key 13 online "at&v " # F14 - at$h GO140key 14 online "at\$h " # F15 to F16 are a tset command and a message. # F15 - tset vt100 GO140key 15 online "tset vt100 " # F16 - Message about where function keys were set. GO140key 16 local "Key set name" # End of file. =================================sin.c /* A simple demo that draws a sine wave. * Also see man 3 plot * Use the view key to switch back and forth after this runs... * * Compile with cc -o sin4013 sin.c -l4013 -lm */ #include #include void main() { int min_x, min_y, max_x, max_y, x, y; float wd, ht; openpl(); min_x = 0; min_y = 0; max_x = 1024; max_y = 1024; space(min_x, max_y, max_x, min_y); /* The screen on Tek terminals is usually wider than * the plot space... this allows you to get * the full width. */ max_x = max_x * 5 / 4; erase(); /* Draw a frame and label at the bottom. */ move(min_x, min_y); cont(max_x, min_y); cont(max_x, max_y); cont(min_x, max_y); cont(min_x, min_y); max_y -= 100; move(min_x+200, max_y + 50); label("Silly graphics for a better tomorrow by T.E.K."); line(min_x,max_y, max_x, max_y); /* Width and height of the screen as floats come in handy below. */ ht = (float) (max_y - min_y); wd = (float) (max_x - min_x); /* Set the first point on the curve, so we can connect * all the others to it. */ x = min_x; y = (int)(ht/2.0 * sin( x * 2*M_PI/wd ) + ht/2.0); move(x, y); x+= 5; for (; x < max_x; x+= 5) { y = (int)(ht/3.0 * sin( x * 2*M_PI/wd ) + ht/2.0); cont(x, y); } /* Close the plot space and flush the output. */ closepl(); fflush(stdout); /* Switch to text mode... */ putchar(27); putchar('2'); } /* End of file. */ ============================================================================ //////////////////////////////////////////////////////////////////////////////