🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.atari.st
Article #41681

Re: How do you create non-scrolling screen regions?

#41681
From: Neil Forsyth
Date: Thu, 08 Mar 1990 09:01
41 lines
2761 bytes
In article <2344@ultb.isc.rit.edu> ajy2208@ultb.isc.rit.edu (A.J. Yarusso) writes:
>Hi everyone, 
>
>  I need to know how to create region(s) on the screen that are
>independent from normal screen i/o (mainly, scrolling..).  Most terminal
>programs have a line or two somewhere on the screen that doesn't scroll.
>Usually these are status displays to show useful information (baud rate,
>system connected to, various toggles, etc..).  

Well I've never needed to do this but if I did I'd go about it like this.

Example: Say I want a status line at the bottom of the screen but I want the
other 24 line to scroll about like normal.

Allocate a 256 byte alligned chunk of screen RAM that is 26 lines high.
(26 * 0x500 + allignment)
Use Setscreen (XBIOS #5) to set the logical screen RAM pointer to the start
of this RAM but set the physical pointer 0x500 bytes further on. This makes
the screen output and scrolling not affect the last visible line on the screen.
When you want to change the status line set the logical screen base to match
the physical one position the cursor on the last line and do your stuff.
Restore the logical screen pointer then rinse and repeat ...

Similar nonsense can be performend for upper syslines.

Hope this helps. Enjoy the bombs :-)

>_____________________________________________________________________________
> Albert Yarusso, Rochester     ajy2208@ritvax.bitnet
> Institute of Tech. _________________________________________________________
> Computer Science  /___   /    {rutgers, ames}!rochester!ultb!ajy2208 
>______________________/  /     ajy2208@ultb.cs.rit.edu     GEnie:  A.Yarusso

+-----------------------------------------------------------------------------+
! DISCLAIMER: Unless otherwise stated, the above comments are entirely my own !
!                                                                             !
! Neil Forsyth                       JANET:  neil@uk.ac.hw.cs                 !
! Dept. of Computer Science          ARPA:   neil@cs.hw.ac.uk                 !
! Heriot-Watt University             UUCP:   ..!ukc!cs.hw.ac.uk!neil          !
! Edinburgh, Scotland, UK            "it's pronounced Throatgobbler Mangrove" !
+-----------------------------------------------------------------------------+
Technical Details
Message-ID: <4591@brahma.cs.hw.ac.uk>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!clyde.concordia.ca!uunet!mcsun!ukc!edcastle!hwcs!neil
References: <2344@ultb.isc.rit.edu>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!clyde.concordia.ca!uunet!mcsun!ukc!edcastle!hwcs!neil
From: neil@cs.hw.ac.uk (Neil Forsyth)
Newsgroups: comp.sys.atari.st
Subject: Re: How do you create non-scrolling screen regions?
Message-ID: <4591@brahma.cs.hw.ac.uk>
Date: 8 Mar 90 09:01:01 GMT
References: <2344@ultb.isc.rit.edu>
Reply-To: neil@cs.hw.ac.uk (Neil Forsyth)
Organization: Computer Science, Heriot-Watt U., Scotland
Lines: 41