Article View: net.micro.atari
Article #253350 Line Screen
From: Glen Stone
Date: Fri, 21 Feb 1986 18:18
Date: Fri, 21 Feb 1986 18:18
112 lines
8652 bytes
8652 bytes
These routines are taken from Comp-U-Serve. They allow you
to put a mono-system into 50 line mode and back again.
Question: How do they work ??? They index in the negative direction
from the pointers received in the line A call. My line A documentation
says nothing about anything in the negative direction.
Note: the fifty lines are quite nice... for those who are writing terminal
programs, editors, etc. this would be I nice option. I've modified some
of the public domain stuff to include this.
Note1: You can also have a 4x4 font but that hurts.
* Make hi rez screen bios handle 25 lines of 8x16 characters
*
*
* author:
* j d eisenstein
*
* date:
* 15-aug-85
*
.text
.global _hi25
LINEA_INIT equ $A000
GET_REZ equ 4 ; extended bios resolution inquiry
_hi25:
lea stack,sp
move.w #GET_REZ,-(sp) ; get screen resolution
trap #14
addq.w #2,sp
cmp.w #2,d0 ; only execute if already in hi rez
bne exit
dc.w LINEA_INIT ; get the important pointers
move.l 08(a1),a1 ; a1 -> 8x16 font header
move.l 72(a1),-$0A(a0) ; v_off_ad <- 8x16 offset table ad
move.l 76(a1),-$16(a0) ; v_fnt_ad <- 8x16 font data addr
move.w #0016,-$2E(a0) ; v_cel_ht <- 16 8x16 cell heigh
move.w #0024,-$2A(a0) ; v_cel_my <- 24 maximum cell "Y"
move.w #1280,-$28(a0) ; v_cel_wr <- 1280 vertical byte offset
exit: clr.w -(sp) ; back to the os
trap #1
ds.l $10
stack: ds.l $01 ; hey chef, gimme a short stack
end
* Make hi rez screen bios handle 50 lines of 8x8 characters
*
*
* author:
* j d eisenstein
*
* date:
* 15-aug-85
*
.text
.global _hi50
LINEA_INIT equ $A000
GET_REZ equ 4 ; extended bios resolution inquiry
_hi50:
lea stack,sp
move.w #GET_REZ,-(sp) ; get screen resolution
trap #14
addq.w #2,sp
cmp.w #2,d0 ; only execute if already in hi rez
bne exit
dc.w LINEA_INIT ; get the important pointers
move.l 04(a1),a1 ; a1 -> 8x8 font header
move.l 72(a1),-$0A(a0) ; v_off_ad <- 8x8 offset table addr
move.l 76(a1),-$16(a0) ; v_fnt_ad <- 8x8 font data addr
move.w #008,-$2E(a0) ; v_cel_ht <- 8 8x8 cell height
move.w #049,-$2A(a0) ; v_cel_my <- 49 maximum cell "Y
move.w #640,-$28(a0) ; v_cel_wr <- 640 offset to cell Y+
exit:
clr.w -(sp) ; back to the os
trap #1
ds.l $10
stack: ds.l $01 ; stack em up an blow em out
end
Technical Details
Message-ID:
<160@calgary.UUCP>Path:
arc1-ca.pugleaf.net!utzoo!utcsri!ubc-vision!alberta!calgary!stoneReferences:
<1973@uwmacc.UUCP> <1436@gitpyr.UUCP> <283@drivax.UUCP>Show Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site calgary.UUCP Path: arc1-ca.pugleaf.net!utzoo!utcsri!ubc-vision!alberta!calgary!stone From: stone@calgary.UUCP (Glen Stone) Newsgroups: net.micro.atari Subject: 50 Line Screen Message-ID: <160@calgary.UUCP> Date: Fri, 21-Feb-86 13:18:55 EST Article-I.D.: calgary.160 Posted: Fri Feb 21 13:18:55 1986 Date-Received: Fri, 21-Feb-86 20:22:32 EST References: <1973@uwmacc.UUCP> <1436@gitpyr.UUCP> <283@drivax.UUCP> Organization: University of Calgary, Calgary, Alberta Lines: 112