[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference hydra::amiga_v1

Title:AMIGA NOTES
Notice:Join us in the *NEW* conference - HYDRA::AMIGA_V2
Moderator:HYDRA::MOORE
Created:Sat Apr 26 1986
Last Modified:Wed Feb 05 1992
Last Successful Update:Fri Jun 06 1997
Number of topics:5378
Total number of notes:38326

26.0. "Amiga Keyboard" by AUTHOR::MACDONALD () Thu May 15 1986 10:23

    Praytell ... how can you have true VT100 emulation in an Amiga when
    the keyboard only has a 3x5 keypad? EDT uses a 4x5 keypad like the
    Atari ST. How are you guys doing it? Perhaps don't use EDT?

                                                 
    Paul
T.RTitleUserPersonal
Name
DateLines
26.1Like this...HYSTER::DEARBORNThu May 15 1986 11:4018
    Easy.  OnLine uses the special function keys like this:
    
    Amiga    VT100
    
    Alt+F1 = PF1 or Gold (in WPS editor)                                      
    Alt+F2 = PF2 or Page     "                                              
    Alt+F3 = PF3 or DelW     "                                                  
    Alt+F4 = PF4 or DelCh    "
    Help   = , or . (I forgot, I don't have the Amiga in front of me)
                                                                   
    You can write in what the keys are in the space above the keys.
    It takes a little getting used to, but it works.  WPSplus does not
    work though.  And VAXnotes is a total mess when trying to edit.
    The differnet scrolling areas really screws things up.  I've been
    told that this is true on the Mac too.
    
    Randy
    
26.2No Scrolling Regions?DSSDEV::SAUTERJohn SauterThu May 15 1986 13:394
    Are you saying that Online doesn't implement scrolling regions?
    It's not much of a VT100 emulator in that case.  There is a lot
    of VT100 software that uses scrolling regions.
        John Sauter
26.3RAINBO::BANKSDawn BanksThu May 15 1986 14:4415
Unfortunately, when the generic terminal emulator program on the AMIGA calls
itself "VT100 compatible", what it really means is that it implements 
whatever control sequences the CON: device implements.  While the CON: device
implements a fair number of standard ANSI sequences, and a few DEC ones as
well, the settable scroll region (DEC proprietary sequence) is one that they
inexplicably do not implement.

Since most of these terminal emulators just seem to send everything to CON:,
most of them don't implement anything that CON: doesn't implement itself, and
therefore, it's not too surprising that they don't have scroll regions.

I consider this a major example of false advertising, because as .2 states,
an awful lot of stuff assumes the use of scroll regions.  For now, don't 
believe any AMIGA terminal emulator package really does emulate a VT-100
until you've actually seen it work.  Editors are generally the acid test.
26.4Putting it to the testHYSTER::DEARBORNThu May 15 1986 15:003
    It seems that VAXnotes is the best acid test for the emulator. 
    
    
26.5set scroll region, sort ofVAXWRK::PRAETORIUS636741600744Fri May 16 1986 11:2660
     The capability is there, but it's accessed in kinky fashion:

Newsgroups: net.micro.amiga
Path: decwrl!ucbvax!nike!caip!cbmvax!daveb
Subject: Re: SuperBitMap, Console IO - Questions
Posted: 23 Mar 86 16:52:59 GMT
Organization: Commodore Technology, West Chester, PA
 
>  By the way, any chance of adding Scrollable regions to the Console devices
>  repertoire of escape codes? That seems to be the only thing standing between
>  me and my VAX (VMS) editors (EDT, TPU).
> 	Thanks for any pointers.
> 	Cheers
 
*** REPLACE THIS LINE WITH YOUR MESSAGE ***
 
	The console device already has set scrollable region commands
(sort of). They can be found in the Amiga DOS Deveoper's Manual on
page A-7 (old white book). The commands are:
 
CSI Ps t - set page length
CSI Ps u - set line length
CSI Ps x - set left offset
CSI Ps y - set top offset
 
	I've used set top offset and set page length to emulate the
scrollable window regions of a VT100; a code segment follows.
 
set_windows(top_row,bottom_row)
UBYTE top_row, bottom_row;
{
	WRITE (CSI); /* control sequence introducer $9b */
	WRITE ('H'); /* home cursor THIS IS IMPORTANT */
 
	digits(--top_row * 8); /* convert top_row argument to pixels
                                  and then to ascii digits */
	WRITE (CSI);
	WRITE (huns);
	WRITE (tens);
	WRITE (ones);
	WRITE ('y'); /* set top offset */
 
	digits (bottom_row - top_row); /* comp length and conv to ascii */
	WRITE (CSI);
	WRITE (tens);
	WRITE (ones);
	WRITE ('t');	/* set page length */
 
	The above really isn't a code segment, but I imagine that you get
the idea. Some notes:
 
a) WRITE - outputs a char to the console device
b) digits - converts a # to its ascii digits in huns, tens, & ones.
c) YOU ABSOLUTELY HAVE TO HOME THE CURSOR FIRST
d) The ('* 8') is there as I am working with a font that is eight pixels
   high; you may want to use a variable instead.
 
	Have fun!
 
	Regards, David Berezowksi (daveb@cbmvax)