[comp.sys.att] 50 lines on 6300 display

jeffm@mmintl.UUCP (Jeffrey Miller) (01/03/88)

*
Here's an interesting question with a brief introduction.

I  just  got  the  new  Masm  5.0  update.  It comes with a batch file
enhancement   program  called  WHAT.ASM.    I  saw  the  .EXE  on  the
distribution  disk  and  ran it immediately on my 6300.  It spit out a
list  of  options.    One had to do with video and although it was not
written  as  "what  /v",  that's  what I typed.  Immedately the screen
went  into  a  new  and  uncharted  (for  me)  mode  of  160x50!   The
characters  were  crystal  clear and well shaped, just half the height
and  what  appeared  to  be  half  width.   But the characters did not
correspond  to  the  keys pressed.  Each time I typed a letter I got 2
vertical  by  1  horizontal  characters  in  1/2 the width of a normal
80x25  character.    I  could  get  the  screen to return to normal by
typing "mode co80."

I  was  unable  to pfix what.exe because from within pfix what's error
handling  worked properly and detected the illegal option of "/v."  So
I  couldn't find out what was going on.  So I used pfix, since it uses
a  different  video  page, to find the video mode the screen was being
put into with

    code      segment

    org       100h
    assume    cs:code

    getmode   proc
    mov       ah,15
    int       10h

(   mov       ah,4ch    ;not used while pfixing
    int       21h
)
    getmode   endp

    code      ends
    end


After  the  int  10h  ah returns the number of columns, al = the mode,
and  bh  =  the active display page.  Lo and behold the video mode was
46h.    Changing  the  above  code  to  ah = 0 and loading al with the
desired  mode,  I  found  that  this  type  of  display comes up after
setting  the  mode to anything above and including 41h and at least up
to 60h.

I  ran MultiMate and exited to DOS from the main menu, set the mode to
46h,  and  returned  to MultiMate.  There were now 4 greeked MultiMate
main  menus  on  my  screen,  each  displaying in miniature the proper
screen.

The  effect  does  not  require  ANSI.SYS.    But I had it loaded so I
played  with  Norton's  SA.COM.  It seems that the background is a bit
map  of  the  attribute  set by SA.  That is, setting the attribute to
blue  (attr  =  01h)  gives  a  single  thin  vertical  line down each
column.    Setting  it  to  blue  on  blue (11h) gives two thin lines.
Setting  it  to  white  on  blue (17h) gives a thin line followed by a
thick  line.    Setting  it to bright white on blue (1fh) gives a thin
line  followed  by  a thicker line.  Setting it to blue on white (71h)
gives  a  thick line followed by a thin line.  And setting it to blink
bright white on white (ffh) made the whole screen white.

What's  going  on  here?   Is this automatically contained in ANSI.SYS
for  the  Xerox 6065, which I hear can display 50 lines?  How can this
be  used?    What  is  the  Xerox  ANSI.SYS  doing?    Are  there  any
applications that can use 50 lines on the 6300?

Jeff

* Jeff Miller                                                              *
* Ashton-Tate                                                              *
* 52 Oakland Avenue,  East Hartford, CT  06108-9911                        *
* (203) 522-2116 x257  UUCP: ...!seismo!utah-cs!utah-gr!pwa-b!mmintl!jeffm *

or ...!philabs!pwa-b!mmintl!jeffm
-- 
* Jeff Miller                                                              *
* Multimate International, an Ashton-Tate Co.                              *
* 52 Oakland Avenue,  East Hartford, CT  06108-9911                        *
* (203) 522-2116 x257  UUCP: ...!seismo!utah-cs!utah-gr!pwa-b!mmintl!jeffm *

dragon@olivej.olivetti.com (Give me a quarter or I'll touch you) (01/09/88)

in article <2634@mmintl.UUCP>, jeffm@mmintl.UUCP (Jeffrey Miller) says:

 > be  used?    What  is  the  Xerox  ANSI.SYS  doing?    Are  there  any
 > applications that can use 50 lines on the 6300?
  
 > Jeff
 
Borland's REFLEX uses a mode which can display around 48 lines on a screen,
*if* you tell it you are using an AT&T machine (it works fine out of the
box in CGA mode).  It looks OK.  I've also seen something floating around
that will display more lines on the screen under DOS...

 > -- 
 > * Jeff Miller                                                              *
 > * Multimate International, an Ashton-Tate Co.                              *
 > * 52 Oakland Avenue,  East Hartford, CT  06108-9911                        *
 > * (203) 522-2116 x257  UUCP: ...!seismo!utah-cs!utah-gr!pwa-b!mmintl!jeffm *


----
Dean Brunette               {ucbvax,etc.}!hplabs!oliveb!olivej!dragon
               {ucbvax,etc.}!oliveb!olivej!{dragon-oatc,lobster}!dean

Olivetti Advanced Technology Center     _____   _____   __|__   _____
20300 Stevens Creek Blvd.              |     |  _____|    |    |
Cupertino, CA 95014                    |_____| |_____|    |__  |_____

'Dancing, screaming, itching, squealing, fevered feeling hot Hot HOT!'

aptr@ur-tut.UUCP (The Wumpus) (01/10/88)

In article <12465@oliveb.olivetti.com> dragon@olivej.olivetti.com (Give me a quarter or I'll touch you) writes:
>in article <2634@mmintl.UUCP>, jeffm@mmintl.UUCP (Jeffrey Miller) says:
>
> > be  used?    What  is  the  Xerox  ANSI.SYS  doing?    Are  there  any
> > applications that can use 50 lines on the 6300?
>  
> > Jeff
> 
>Borland's REFLEX uses a mode which can display around 48 lines on a screen,
>*if* you tell it you are using an AT&T machine (it works fine out of the
>box in CGA mode).  It looks OK.  I've also seen something floating around
>that will display more lines on the screen under DOS...
>

The Xerox ANSI.SYS has nothing to do with the mode.  It is all done by
the Olivetti graphics card.  The mode is set simply by calling int 10
for SetMode and Clear Screen (ah=00) with (al=72).  This comes
straight out of the Xerox 6060 Family Technical Reference Manual.  The
mode is 80x50 and it is done by using a 8x8 bitmap for each character
instead of an 8x16 bitmap.

When going into the 80x50 mode, it is often dangerous to your sanity
to have ansi.sys installed.  Ansi.Sys does not know about 80x50
resolution and tries to do everything on an 80x25 section of the
screen.  This causes the problem that the 25th line is written over
itself and the screen does not scroll. If you start the system without
ansi.sys, the display hardware takes care of the proper scrolling and
the system works fine.

I actually have a copy of a pair of programs to set and unset 80x50
mode.  If anyone wants a copy, please e-mail me.  I will post it if
there is enough interest.  If there is not, I will just mail it to the
poeple who want it.


-- 
The Wumpus        UUCP:   {cmcl2!decvax}!rochester!ur-tut!aptr
                  BITNET: aptrccss@uorvm
		  Internet: aptr@tut.cc.rochester.edu
Disclaimer: "Who? When? Me? It was the Booze!"  - M. Binkley

ninja@bradley.UUCP (01/10/88)

Lotus 1-2-3 2.01 comes with a driver that lets you get 40 lines on
the 6300.  I think you've found something similar to what they use.
In addition, it only works on AT&T's, can't use that mode on IBM's.

Frank McGee
Microcomputer Support Specialist
Bradley University
Peoria, Ill.  61625

gnome@oliveb.olivetti.com (Gary) (01/13/88)

> I actually have a copy of a pair of programs to set and unset 80x50
> mode.  If anyone wants a copy, please e-mail me.  I will post it if
> there is enough interest.  If there is not, I will just mail it to the
> poeple who want it.
> The Wumpus        UUCP:   {cmcl2!decvax}!rochester!ur-tut!aptr

Please post these programs, or mail them to me directly.  Thanks!
(the mail path to you bounced -- sorry for the posting)

Gary
(hplabs,allegra,ihnp4,sun,glacier)oliveb!oliven!gnome

wtm@neoucom.UUCP (Bill Mayhew) (01/13/88)

Actually, the Lotus 2.01 AT&T 6300 driver gives you 50 lines.
Turbo Reflex also knows about the AT&T high resolution mode.


Anyway, according to the Xerox 606x Operator's Guide, if you have
ansi.sys installed, the following escape sequence will switch to 50
line mode  (see appendix J, page 12):

SM - Set Mode
-------------

	Esc [ = Ps h
or	Esc [ = h
or	Esc [ = 0 h
or	Esc [ = ? 7 h

The SM escape sequence changes the screen width
or type to one of the following:

Parameter	Function
---------	--------
  0		40 * 25 black & white
  1		40 * 25 color
  2		80 * 25 black & white
  3		80 * 25 color

  4		320 * 200 color graphic
  5		320 * 200 black & white graphic
  6		640 * 200 black & white graphic
  7		wrap at end of line

 64		set 640 * 400 graphic mode with
		80 * 25 character set
 72		set 640 * 400 graphic mode with
		80 * 50 character set


In the definition, Ps is a metacharacter for the ascii value(s) for
the paramers in the list above.  For 50 lines, you'd send ascii "7"
and ascii "2" to the console driver.

Use the following GWBASIC program to make a text file that you can
TYPE to the console to set the mode:

10 OPEN "SETMODE.50" FOR OUTPUT AS #1
20 PRINT #1, CHR$(27)"[=72h";
30 CLOSE

Remember, you need to include the line "DEVICE=ANSI.SYS" in your
CONFIG.SYS file on your boot disk.  Obviously, a copy of ANSI.SYS
also needs to be on your boot disk.


I tried the above on the Xerox 6065, which is the same hardware and
virtually the same software expect for Xerox's screen mate (gak!)
as the PC6300.  I would have tried it on my own PC6300, but I am
using an EGA card in place of the indigenous video board.

Several of the P/D or shareware replacements for ANSI.SYS (Fansi
Console for instance) offer support for AT&T 50 line mode.
Unfortunately, getting applications software to realize you have
more than 25 lines isn't so easy...

Last of all, the 50 line mode is ONLY black & white, unless you
have one of the elusive DEB boards.

stox@ttrde.UUCP (Kenneth P. Stox) (01/16/88)

In article <12735@oliveb.olivetti.com>, gnome@oliveb.olivetti.com (Gary) writes:
> 
> Please post these programs, or mail them to me directly.  Thanks!
> (the mail path to you bounced -- sorry for the posting)

The 50 line screen is supported in later versions of the BIOS ( ie. 1.21 + ),
a simple way to do it is as follows:

The 6300		You
C>			debug
-			a
XXXX:0100		mov ax, 0048
XXXX:0102		int 10
XXXX:0105		[ just hit return ]
-			g 105
-			[ you are now in 50 line mode ]
-			q
C>

and to get out....
C>			debug
-			a
XXXX:0100		mov ax, 0002
XXXX:0103		int 10
XXXX:0105		[ just hit return ]
-			g 105
-			[ back to 25 line mode ]
-			q
C>

BTW, you can write small .com programs this way. name the file, add the
lines to the code to call the exit interrupt, load the cx register with
the number of bytes in the files, and write it. Nothing like a 10 byte
.com program, and it's a hell of a lot faster and easier than using
masm.

Ken Stox
630 Development Group
AT&T Research and Development
Skokie, Illinois