stone@calgary.UUCP (Glen Stone) (05/16/86)
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