Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!burl!ulysses!mhuxr!mhuxn!ihnp4!alberta!calgary!stone From: stone@calgary.UUCP (Glen Stone) Newsgroups: net.micro.atari16 Subject: 50 line screens Message-ID: <128@vaxb.calgary.UUCP> Date: Fri, 16-May-86 05:47:29 EDT Article-I.D.: vaxb.128 Posted: Fri May 16 05:47:29 1986 Date-Received: Sat, 24-May-86 17:56:35 EDT References: <255@rtech.UUCP> Distribution: net Organization: U. of Calgary, Calgary, Ab. Lines: 148 Summary: Source and executable for 50 line screen Here are the small programs for the monochrome system that give 50 lines and 25 lines. Also in response to the mouse controls in micro-emacs you'll notice that the cursor keys work in micro-emacs. You can write a small program that changes the mouse such that it outputs the cursor keys... thus the mouse works in micro-emacs. It's a bios or xbios call, I'm sorry I haven't got the code handy right now. Also I have a micro-emacs with the features we've added, but I'm not sure if current versions have them. They are: -query-replace (ESC q) -Cntl x Cntl v works properly (create a second window and bring in the file all at once) -The editor works in 50 line mode - ESC w (like cntl W but just makes a copy) - ESC g (goto line) - Cntl x Cntl f works -others I can't remember- mostly the commands resemble EMACS commands If this oldhat sorry for the waste of space, otherwise I guess I could post the executable (the source is in complete shabbles right now) Posted now are both source and executable for the 50/25 lines per screen. -------- Source for 50 lines -------------- * 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 -------- Source for 25 lines ------------- * 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 ------- Encoded 50 line executable ------------ begin 644 hres50 M8!H " $_Y ?#\\ 1.3E1/L'P M F8DH B:0 $(6D 2/_V(6D 3/_J,7P "/_2,7P ,?_6,7P"@/_80F=.00 M M @ M ? end -------- Encoded 25 line executable -------- begin 644 hres25 M8!H " $_Y ?#\\ 1.3E1/L'P M F8DH B:0 ((6D 2/_V(6D 3/_J,7P $/_2,7P &/_6,7P% /_80F=.00 M M @ M ? end