jw@sics.se (Johan Widen) (03/05/88)
Here is fix to allow a screen size larger than 24 lines in VT100R2.8. I have also included some changes that are necessary in order to get the code through Lattice 4.0. *** :vt100.h.old Tue Mar 01 14:00:56 1988 --- vt100.h Sat Mar 05 01:07:32 1988 *************** *** 24,31 **** #define VERSION "VT100 (V2.8 ACS 880117) Terminal Window" /*********** ######## define the compiler type here ######## ********/ ! #define LATTICE 0 ! #define MANX 1 /* compiler directives to fetch the necessary header files */ #include <exec/types.h> --- 24,31 ---- #define VERSION "VT100 (V2.8 ACS 880117) Terminal Window" /*********** ######## define the compiler type here ######## ********/ ! #define LATTICE 1 ! #define MANX 0 /* compiler directives to fetch the necessary header files */ #include <exec/types.h> *************** *** 52,57 **** --- 52,67 ---- #include <libraries/dosextens.h> #include <devices/timer.h> + #if LATTICE + #include <stdlib.h> + #include <string.h> + #include <proto/exec.h> + #include <proto/graphics.h> + #include <proto/intuition.h> + #include <proto/dos.h> + #include <proto/timer.h> + #endif + #if MANX #include <functions.h> #undef NULL *************** *** 106,114 **** --- 116,126 ---- #define BEEPFREQ 1000L #define COLORCLOCK 3579545L + #if MANX extern struct MsgPort *CreatePort(); extern char *malloc(),*strcpy(),*fgets(); extern long ftell(); + #endif extern int multi; /* flags multi file transfers */ extern int server; *************** *** 235,238 **** /* expand.c */ extern char **expand(); extern int set_dir(), free_expand(); - --- 247,249 ---- *** :init.c.old Fri Mar 04 14:54:06 1988 --- init.c Sat Mar 05 02:32:40 1988 *************** *** 213,218 **** --- 213,219 ---- FILE *fd = NULL; char *p, *t, *ifile; int l, dont_init = 0; + int screen_height; doing_init = 1; /* make sure we only allow INIT script commands */ if (argc > 1) { *************** *** 277,282 **** --- 278,284 ---- cleanup("can't open graphics library",2); /* Now set up all the screen info as necessary */ + screen_height = GfxBase->NormalDisplayRows ; if(p_lines == 0) /* Wants to use everything available */ if(p_interlace) p_lines = ((GfxBase->NormalDisplayRows*2) - 6) / 8; *************** *** 284,299 **** p_lines = ((GfxBase->NormalDisplayRows - 6) / 8); if (p_interlace == 0) { - if (p_lines > 24) p_lines = 24; MINY = 14; NewWindow.Height = (long)((p_lines*8)+8); } else { - if (p_lines > 48) p_lines = 48; MINY = 16; NewScreen.ViewModes |= LACE; NewWindow.Height = (long)((p_lines*8)+10); } NewWindow.MinHeight = NewWindow.Height; NewWindow.MaxHeight = NewWindow.Height; NewWindow.TopEdge = 0L; --- 286,300 ---- p_lines = ((GfxBase->NormalDisplayRows - 6) / 8); if (p_interlace == 0) { MINY = 14; NewWindow.Height = (long)((p_lines*8)+8); } else { MINY = 16; NewScreen.ViewModes |= LACE; NewWindow.Height = (long)((p_lines*8)+10); } + NewScreen.Height = NewWindow.Height; NewWindow.MinHeight = NewWindow.Height; NewWindow.MaxHeight = NewWindow.Height; NewWindow.TopEdge = 0L; *************** *** 307,318 **** if (p_depth < 1) p_depth = 1; NewScreen.Depth = (long)p_depth; - NewScreen.Height = (long)((p_lines*8)+16); - if (p_interlace == 1) ! NewScreen.TopEdge = (long)(400 - NewScreen.Height); else ! NewScreen.TopEdge = (long)(208 - NewScreen.Height); } else { p_depth = 2L; --- 308,317 ---- if (p_depth < 1) p_depth = 1; NewScreen.Depth = (long)p_depth; if (p_interlace == 1) ! NewScreen.TopEdge = (long)(screen_height*2 - NewScreen.Height); else ! NewScreen.TopEdge = (long)(screen_height - NewScreen.Height); } else { p_depth = 2L; *** :window.c.old Tue Mar 01 14:01:14 1988 --- window.c Sat Mar 05 01:51:58 1988 *************** *** 74,81 **** int getinp; { ULONG class; - USHORT position, RemoveGadget(); - unsigned int code, qual; int lprmpt, lname; struct IntuiMessage *Msg; --- 74,79 ---- Johan Widen SICS, PO Box 1263, S-164 28 KISTA, SWEDEN Tel: +46 8 752 15 32 Ttx: 812 61 54 SICS S Fax: +46 8 751 72 30 Internet: jw@sics.se or {mcvax,munnari,ukc,unido}!enea!sics.se!jw -- Johan Widen SICS, PO Box 1263, S-164 28 KISTA, SWEDEN Tel: +46 8 752 15 32 Ttx: 812 61 54 SICS S Fax: +46 8 751 72 30 Internet: jw@sics.se or {mcvax,munnari,ukc,unido}!enea!sics.se!jw