Geveke Visa/Getronics Terminals [ Geveke/Visa terminals are never seen in North America, thus your video-terminal archivist knows nothing about them beyond what appears here. ] ______________________________________________________________________________ Newsgroups: comp.terminals Path: cs.utk.edu!gatech!news.sprintlink.net!simtel!agis!news2.net99.net !sun.cais.com!news.iac.net!news.cistron.nl!sun4ow!zoetermeer !utrecht!not-for-mail Message-ID: <3q7a8k$efl@utrecht.ow.nl> References: <3q22l9$479@NE3995.rabo.nl> Organization: The OpenWorld Foundation, networking for the individual. X-Newsreader: TIN [version 1.2 PL2] Date: 27 May 1995 15:42:44 +0200 From: stv@utrecht.ow.nl (steve peterson) Subject: Geveke Electronics VISA xx terminal docs Hi Fons, Fons Botman (botman@rabo.nl) wrote: FB> I have got a VISA 33 terminal here, but no further info. FB> Does somebody have some, a termcap maybe? Since this may interest others, I'll reply here instead of by mail. I picked up a Geveke Electronics Visa 50 terminal at the Free Market here in Utrecht, Nederland for 5 guldens, also without any docs. After spending about 3 days on the phone with Getronics, the current manifestation of Geveke, I eventualy got hold of a techie type who sent me all the docs he had on this terminal. Unfortunately, this turned out to be the logic, circuit and board development diagrams and reports for all the visa's and didn't include a lowly programmers manual. Getronics has apparently lost all the documentation on the terminals they produced. (Their words, not mine) The 50 seems to be a top end vt220 clone, with the addition of a higher screen resolution, a larger screen, at least 1 page of memory above and below the screen, apparently pages of memory right and left of the screen which can be panned, and about 75 function keys (15 function keys x normal, shift, control, func A, func B). It also has more setup possibilities than the vt220. The moniter case is dated november 78 and the keyboard case is may 82. It knows 2 emulations, vt50 and visa ansi. The vt50 emulation worked straight out of the box with my termcap, but the visa ansi wasn't ansi. Experimentation showed that it reacted to some ansi, some vt100, some vt220, and some other codes that I made up on the spur of the moment, so I've been able to get the screen running reasonably well. Unfortunately, I still haven't discovered how to pan left and right, how to program the function keys, or how to change most of the parameters in the setup menu as pressing the setup key to check the effect throws me out of the system. (Anybody know a solution to this ?) The diagrams I received give in the titles the following company: cal-comp electronics, inc. telex: 22769 tapei and give drawn by, checked by and approved by signatures in chinese, dated between '69 and '71, though they are all rubber-stamped (funnily enough:) ISSUED APR 01 1985. Quoting (literaly) from that part of the docs I can read, if not understand: ( The original is all in capitals, and I could find no mention of copyright restrictions or suchlike. I have made no attempt to transcribe the copious margin notes.) =================================================================== VISA xx Theory of Operation A TIMEING (refer to figure 1) There is a oscillator in this terminal , it is 29.376MHZ used to generate all timing for the terminal. The screen format of this terminal can be either 80 characters * 24 lines (plus status line) or 132 characters * 24 lines (plus status line). No matter which mode (80 or 132 character mode) is selected, the oscillator (29.376MHZ) is used-divided by 8 (3.672MHZ) to dvide zilog series chip (cpu,ctc,dart) as system (memory or i/o device) read/write timing, derided by 16 (1.836MHZ ) to drive ctc for baud rate generation. In 132-character mode, the 29.376MHZ is used directly as dot clock, divided by 9 to generate - "CHAR CLK" used to drive 9007 as character clock - "LOAD VAC" used to drive 9212 for DMA (direct memory access) operation and drive the LS377(U38) for attribute control - "LOAD VAC" used to drive S113(U18) for double width control - "CHAR CLK" used to drive LS174(U30) for scan line control All these four signals are the same frequency with different phases. In 80-character mode. the 29.376MHZ is devided by 1.5 and used as dot clock then devided by 10 to generate "CHAR CLK, "LOAD VAC", LOAD VAC", and "CHAR CLK" function above. The relationship between screen format and timing can be indicated as the following two formulars. For 132-character mode: 9*(132+38)*(12*25+20)*60=29.376MHZ For 80-character mode: 10*(80+22)*(12*25+20)*60*1.5=29.376MHZ (??? - stv) P1 * (P2 + P3)*(P4 * P5 + P6)* P7 * P8 = DOT CLK Where P1 : dots per character P2 : character per data row (displayed) P3 : horizontal retrace characters per data row (nondisplayed) P4 : scan lines per data row P5 : visible data rows per frame P6 : vertical retrace scan lines per frame P7 : frame per second P8 : predividing base B CPU, 6850, MEMORY AND I/O DEVICE (refer to figure 2) The structure of Z-80 is an isolated i/o system, that means memory in Z-80 system can be up to 64K, also the i/o device can be the same address with memory. The cpu assigns the address of ROM,6850,NVR,VPAC and display ram via decoder(LS138) and processes the CTC, DART as i/o device. The 6850 is used to interface with keyboard. The DART(have main and aux channels in it) are used to send and receive serial data from main and aux port via the drivers and receivers(U17,U18). Additionly, it supports modem signals for diferent modem control. C INTERRUPT SERVICE (refer to figure 3) The VPAC (9007) is used NMI (nonmaster interrupt) The Z-80 peripheral chips can be combined to from a daisy-chain interrupt structure via IEI and IEO pins for faster processing and priority given. DART have a higher priority than 6850. D DISPLAY CONTROLLOR (refer to figure 4) The (007 (VPAC-VIDEO processor to controllor) combines with 9212 (double row buffer) generate the memory address, in display ram, of each character and attribute as it is about to be displayed , and the horizontal and vertical synchronization pulses necessary to control the deflection circuits of the monitor. The 9212 has a read buffer which is read at the pointing rate of the crt during each scan line in the data row. While the read buffer is being read supplying data to the character generator for the current displayed data row, the write buffer is being loaded with the next datarow to be displayed. The 9007 sends the DMAR (dma request) signal, awaits an ACK (acknowledge) signal and than drives out on A13-0 the address at which the next video data resides. The 9007 then activates the WBEN(write buffer enable) signal to write data into the buffer. When DMA is acknowledge the bidirectional transceiver is used to disable character ram while the 9007 fetches the row table (video address of next data row) which is put in attribute ram. In this display control configuration, the cpu can access ram at any time without time-sharing access with the crt controller(9007) and the 9007 takes advantage of the relaxeedwritr buffer timing by stealing memory cycles (dma operation) from the cpu to fill the write buffer(9212) The only penalty for this scheme (DMA atealing) is the necessity for fsat ram (120NS or faster) E VIDEO GENERATION (refer to figure 5) The display character(from 9212) and row address (or scan line-from 9007) are used to obtain the dots for the character to be displayed from the character generator rom(2732) These dots are then fed in parallel to shift register S299(U27) and emerge serially as row video. The attribute register (U58-U61) are used to to modify display attribute (blank,blink,reverse,underline) and some screen signals(screen reverse,cursor type etc.) through proper combination and delay. The double wide (double height and double width ) feature is performed through the of crt 9007 and double width control(U18). When double height/width character are displayed, the following 3 tasks will occur: 1 The crt 9007 will address half as many character for each data row by incrementing its address every other character clock. 2 The high speed video shift register supplying serial video to the crt must shift out dots at half frequency. 3 For doyble height, the scan line counter outputs are incremented every other scan line. Tasks 1 and 3 are performed as appropriate by crt 9007 and task 2 is performed using the "CURS" output of the crt 9007 during horizontal retrace to signal the double width control S113(U18) that a change in the dot frequency is required. The transistor Q2 is used to drive the video to the proper voltage and current levels to drive the video module. =================================================================== Further documents refer to models T1, T2, and T5, with T5 being the Visa 50. For what it's worth, here is a copy of the current termcap entry I'm useing for the visa 50. It's basicaly a vt100/ansi mixture. for visa: # test 1 - ac,ae - line drawing # 'is' not set # Arrow keys not set norm: v5|visa50|geveke visa 50 terminal in 80 character mode:\ :bs:mi:ms:xi:bw:co#80:li#25:\ :ac=0\137a\141f\146g\147j\152k\153l\154m\155n\156q\161t\164u\165v\166w\167x\170'\176h\040o\157s\163:\ :ae=\E[3l:al=\E[1L:al=\E[%dL:as=\E3h:bl=\007:cd=\E[J:ce=\E[K:\ :cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:\ :DC=\E[%dP:dl=\E[M:DL=\E[%dM:do=\E[B:DO=\E[%dB:ei=\E[4l:ho=\E[H:\ ic=\E[@:IC=\E[%d@:K1=\E[f:K2=\EOP:K3=\EOQ:K4=\EOR:K5=\EOS:\ :k1=\E001:k2=\E002:k3=\E003:k4=\E004:k5=\E005:k6=\E006:k7=\E007:\ :k8=\E008:k9=\E009:k0=\E010:k;=\E011:kb=^H:kD=\177:kh=\E[f:kL=\EOS:\ :l2=A delete char:l2=A delete char:l3=A insert line:l4=A delete line:\ :l5=A clear:l6=A ce of/cf gn:l7=A print:l8=A on-line:l9=A funcl0=A send:\ :le=\E[D:LE=\E[%dD:mb=\E[5m:md=\E[1m:me=\E[0;2m:mh=\E[2m:mk=\E[8m:\ :mr=\E[7m:nd=\E[C:RA=\E[?7l:RI=\E[%dC:SA=\E?7h:se=\E[2m:so=\E[1m:ta=^I:\ :ue=\E[0m:up=\E[A:UP=\E[%dA:us=\E[4m:vb=\E[?5h\E[?5l # test 2 # string '\177 in ac crashes # 1 removed from al # bt added to v5, removed from screens # ch, cv, im, is added # dc, DC changed from P to X # db, de, kl, kr, ks, ku added # so changed to bold off, reverse on v5|visa50|geveke visa 50 terminal in 80 character mode:\ :bs:mi:ms:xi:bw:co#80:li#25:\ :ac=0\137a\141f\146g\147j\152k\153l\154m\155n\156q\161t\164u\165v\166w\167x\170h\040o\157s\163:\ :ae=\E[3l:al=\E[L:AL=\E[%dL:as=\E3h:bl=\007:bt=\E[Z:cd=\E[J:ce=\E[K:\ :ch=\E[%i%dG:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:\ :ct=\E[3g:cv=\E[%i%dd:dc=\E[X:DC=\E[%dX:dl=\E[M:DL=\E[%dM:do=\E[B:\ :DO=\E[%dB:ei=\E[4l:ho=\E[H:ic=\E[@:IC=\E[%d@:im=\E[4h:\ :is=\E0;2m\E[1;25r\E[25;1H\E[?3l\E[?7h\E[?8h:K1=\E[f:K2=\EOP:K3=\EOQ:\ :K4=\EOR:K5=\EOS:k1=\E001:k2=\E002:k3=\E003:k4=\E004:k5=\E005:\ :k6=\E006:k7=\E007:k8=\E008:k9=\E009:k0=\E010:k;=\E011:kb=^H:kd=\E[A:\ :kD=\177:ke=\E>:kh=\E[f:kl=\E[D:kL=\EOS:kr=\E[C:ks=\E=:ku=\E[A:\ :l2=A delete char:l2=A delete char:l3=A insert line:l4=A delete line:\ :l5=A clear:l6=A ce of/cf gn:l7=A print:l8=A on-line:l9=A funcl0=A send:\ :le=\E[D:LE=\E[%dD:mb=\E[5m:md=\E[1m:me=\E[0;2m:mh=\E[2m:mk=\E[8m:\ :mr=\E[7m:nd=\E[C:RA=\E[?7l:RI=\E[%dC:SA=\E?7h:se=\E[0;2m:so=\E[2;7m:\ :ta=^I:ue=\E[0m:up=\E[A:UP=\E[%dA:us=\E[4m:vb=\E[?5h\E[?5l: Sv|screen.visa50|geveke visa 50 terminal - VT 100/ANSI X3.64 virtual terminal:\ :pt:xv:LP:km:cl=\E[H\E[J:do=^J:rc=\E8:rs=\Ec:sc=\E7:st=\EH:\ :up=\EM:le=^H:bl=^G:it#8:nw=\EE:is=\E)0:ue=\E[24m:so=\E[3m:se=\E[23m:\ :me=\E[m:sr=\EM:al=\E[L:im=\E[4h:ks=\E=:ke=\E>:G0:ku=\EOA:kd=\EOB:\ :kr=\EOC:kl=\EOD:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:tc=visa50: Sw|screen.visa50-w|VT 100/ANSI X3.64 virtual terminal with 132 cols:\ :pt:xv:LP:km:cl=\E[H\E[J:do=^J:rc=\E8:rs=\Ec:sc=\E7:st=\EH:\ :up=\EM:le=^H:bl=^G:it#8:nw=\EE:is=\E)0:ue=\E[24m:so=\E[3m:se=\E[23m:\ :me=\E[m:sr=\EM:al=\E[L:im=\E[4h:ks=\E=:ke=\E>:G0:ku=\EOA:kd=\EOB:\ :kr=\EOC:kl=\EOD:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\ :co#132:tc=visa50: If your 33 deviates drastically from this your on your own, though I assume that the 33 was also intended as an unburnable 'dealing room' moniter. I can also supply you with my log of what I've attempted that didn't work and what still has to be tested. If you don't have any success with this, and you happen to be in rabo's office in Utrecht which is 2 minutes from my house, I'd be happy to rattle something together for you for a pint of Guinness. :) See you, Steve. NB Does anybody know what ce of ----- cf gn on a function key actualy means ? -- _____________________________________________________________________________ Stephen Peterson (pronounced pay-terr-sin) The Republic of Scotland Affiliation, Utrecht POP for email: stv@utrecht.ow.nl The OpenWorld Foundation, fido : 2:281/711@fidonet.org Utrecht, NEDERLAND. pnn : 13:310/305@pnn.org voice,fax,data: 00-31-30-801090 ______________________________________________________________________________ ////////////////////////////////////////////////////////////////////////////// Path: cs.utk.edu!stc06.ctd.ornl.gov!fnnews.fnal.gov!uwm.edu!lll-winken.llnl.gov !noc.near.net!news3.near.net!paperboy.wellfleet.com!news-feed-1.peachnet.edu !news.Gsu.EDU!gatech!news.mathworks.com!uunet!inews.intel.com !itnews.sc.intel.com!usenet From: Bennet Wong Newsgroups: comp.terminals Subject: Re: Geveke Electronics VISA xx terminal docs Date: 31 May 1995 15:37:33 GMT Organization: Intel - Internet Information Technologies Message-ID: <3qi2ft$b4g@itnews.sc.intel.com> References: <3q22l9$479@NE3995.rabo.nl> <3q7a8k$efl@utrecht.ow.nl> NNTP-Posting-Host: bwong.sc.intel.com To: stv@utrecht.ow.nl >The diagrams I received give in the titles the following company: > > cal-comp electronics, inc. > telex: 22769 tapei > >and give drawn by, checked by and approved by signatures in chinese, dated >between '69 and '71, though they are all rubber-stamped (funnily enough:) >ISSUED APR 01 1985. The date in the doc is in Taiwan Calendar which Year 1 is 1911. Therefore 69 is 1980 and 71 is 1982. I believe the Geveke VISA terminal is now being produce by Wyse/Link Technologies. Give them a call they may be able to help you out. Last time I check their phone number is : 800-448-5465 ////////////////////////////////////////////////////////////////////////////// The following entry appears in Eric Raymond's master compilation of termcap and terminfo descriptions at http://tuxedo.org/~esr/terminfo/ #### Getronics # # Getronics is a Dutch electronics company that at one time was called # `Geveke' and made async terminals; but (according to the company itself!) # they've lost all their documentation on the command set. # # The hardware documentation suggests the terminals were actually # manufactured by a Taiwanese electronics company named Cal-Comp. # There are known to have been at least two models, the 33 and the 50. # # The 50 seems to be a top end vt220 clone, with the addition of a higher # screen resolution, a larger screen, at least 1 page of memory above and # below the screen, apparently pages of memory right and left of the screen # which can be panned, and about 75 function keys (15 function keys x normal, # shift, control, func A, func B). It also has more setup possibilities than # the vt220. The monitor case is dated November 1978 and the keyboard case is # May 1982. # # The vt100 emulation works as is. The entry below describes the rather # non-conformant (but more featureful) ANSI mode. # # From: Stephen Peterson , 27 May 1995 # (untranslatable capabilities removed to fit entry within 1023 bytes) # (sgr removed to fit entry within 1023 bytes) # (terminfo-only capabilities suppressed to fit entry within 1023 bytes) visa50|geveke visa 50 terminal in ansi 80 character mode:\ :bw:mi:ms:\ :co#80:li#25:\ :AL=\E[%dL:DC=\E[%dX:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ :K1=\E[f:K2=\EOP:K3=\EOQ:K4=\EOR:K5=\EOS:LE=\E[%dD:\ :RI=\E[%dC:UP=\E[%dA:ae=\E[3l:al=\E[L:as=\E3h:bl=^G:\ :bt=\E[Z:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:cm=\E[%i%d;%dH:\ :cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[X:dl=\E[M:do=\E[B:\ :ei=\E[4l:ho=\E[H:ic=\E[@:im=\E[4h:\ :is=\E0;2m\E[1;25r\E[25;1H\E[?3l\E[?7h\E[?8h:k0=\E010:\ :k1=\E001:k2=\E002:k3=\E003:k4=\E004:k5=\E005:k6=\E006:\ :k7=\E007:k8=\E008:k9=\E009:kD=\177:kb=^H:kd=\E[A:ke=\E>:\ :kh=\E[f:kl=\E[D:kr=\E[C:ks=\E=:ku=\E[A:le=\E[D:mb=\E[5m:\ :md=\E[1m:me=\E[0;2m:mh=\E[2m:mr=\E[7m:nd=\E[C:nw=^M^J:\ :se=\E[0;2m:sf=^J:so=\E[2;7m:ta=^I:ue=\E[0m:up=\E[A:\ :us=\E[4m:vb=\E[?5h\E[?5l: //////////////////////////////////////////////////////////////////////////////