I am looking for the original Squishy program for use on V2.x.
Squishy is a utility that changes the screen from 25 lines to 50 lines and (I hope) from 80 characters to 132 character per line.
If anyone has this please let me know where I can find it or email me at mmarling@direct.ca
Thanks a bunch!!!
Mike,
Squishy .. man that brings back memories .. Mike Pope came to Compaq Munich and one of the things we had to do was develop a process to reduce the screen. Mike wrote the original process and I cleaned it up and put it out on the RTI bboard … yeow!! that was a while ago.
I do have a copy of it but it is back in Portland and I will not be there until next weekend. If no one else comes forward let me know and I will get you a copy.
dsig@teleport.com onmouseover=window.status=imagine … ;return(true)"
David Tod Sigafoos ~ SigSolutions
voice: 503-639-8080
REVMEDIA FKB to the rescue
With the advent of more sophisticated video control (with 43 and 50 line
support) and with yet more sophistication to come (with the rumoured 132
column support) it is instructive to examine the system routines and control
records provided for the manipulation of the video screen. One thing that it
is timeous to point out is that whilst some of these routines (such as
VCARD) provide information that is accessible elsewhere, the use of calls to
standardised routines (such as GET_VID_INFO) is encouraged by RevTI as it
permits the construction of software "black boxes" which can be radically
changed on the inside without changing the result returned to the calling
program.
VIDEOCONFIG
There is a record in the SYSTEM file which contains the setup information
required when configuring the video mode. It has five multi-valued fields
as follows
Video Mode - this is the numeric value used by VIDCTRL (q.v.)when resetting the video mode.Description of the video modeScreen width in this modeScreen depth in this modeType of card mode will work with. Setting a VGA card to anEGA mode and vice versa does not work. This value records thekind of video card (as returned by VCARD (q.v.) which thevideo mode is designed for.VCARD
Called subroutine taking (and returning) one parameter, the kind of video
card installed. Calling syntax is X=" ; CALL VCARD(X). Types identified
in Technical Bulletin 74 are, 0 - MDA, 1 - CGA, 2 - EGA, 3 - PGA, 4 - VGA,
5 - MCGA, 6 - Unknown.
GET_VID_INFO
This is a function taking one parameter - the branch, returning a result of
the information being asked for. The branches and returned results are as
follows
1 Video mode0 Normal text mode1 25 line EGA Mode2 43 line EGA mode3 25 line VGA mode4 43 line VGA mode5 50 line VGA mode6 16 line VGA mode2 CRT Width3 CRT Height4 Video Card type - same as results of VCARD.5 Unknown - always returns 0 on test machine.6 Starting address of Video RAM, returned as a two byte number, inlow byte high byte order. Normally this would return CHAR(0) :CHAR(184), in other words (0 + 256 * 184)=47104=B800.VIDCTRL
This assembler subroutine controls the video setting of the screen and can
be used to "flip" modes in real time. It takes 5 parameters, of which only
the first two and the last one seem to be used. As it is an assembler
routine it is difficult to be able to state with any confidence exactly what
all calls do, however there seem to be three major kinds of call, with each
kind taking a specific action modifier. The calling sequence is therefore
VidCtrl( Action, Mode, UK1, UK2, Flag)where
Action Is the action to take, having the value of the video cardtype for modes 0 and 2, and the video mode to change to formode 1.Mode Is the type of operation to be performed 0 Reset video cardto default settings1 Change video mode2 Possibly initialise card - does not seem to be required.UK UnknownFlag Result of operation.Using this routine permits the programmer to reset the screen into an
alternative video mode. Note that when this is done there are several
caveats to be aware of :-
Changing the screen size necessitates the changing of the statusline location. This is done by resetting @CRTHIGH and @CRTMAXHIGHto the appropriate size and the calling the system routineINIT.STATUS.When video modes change, the screen is left blank. A backgroundmust therefore be filled in using Video.RW. In the code thatfollows the default background of \B01B\ is used. If you do notuse the default and you wish to construct a generic routine,you will have to extract the correct settings from theenvironment.As mentioned in the discussion of VIDEOCONFIG, certain video modesdo not work with certain video cards. The program following makesno allowance for this, but for genericism it could be coded tocheck the current video card against the requested mode byexamining the VIDEOCONFIG record.As we wish to return to the normal status line when leaving thetemporarily chosen mode, it is necessary to capture the screenimage before the new mode is invoked, and restore this imageupon return.The code following represents a generic routine for calling a window from a
menu and having that window appear in a non-default video mode. It may be
called directly as a subroutine, or via catalyst using * to separate the
arguments. The arguments are the window name and the mode to use. The mode
can be the number or the text equivalent.
Subroutine Call_Window(Window, Mode)Declare Subroutine VidCtrl, Catalyst, Video.RwDeclare Function Guar_Assign, Get_Vid_InfoMode=Guar_Assign(Mode)If Index(Window, "*", 1) ThenMode=Window-1, "B*"Window=Window1,"*"EndVidCard=" ; Call VCard(VidCard)ModeNums =0,1,2,3,4,5,6"Names=TEXT,EGA25,EGA43,VGA25,VGA45,VGA50,VGA16"ModeHigh =25,25,43,25,45,50,16"GoSub SaveLocate Mode In ModeNums Using "," Setting PosThenDoIt=1End ElseLocate Mode In Names Using "," Setting Pos ThenDoIt=1EndEndIf DoIt ThenGoSub SetUpCatalyst("W", Window)GoSub RestoreEndReturnSetUp:Flag=" ; VidCtrl(VidCard, 0, "", "", Flag)Flag="VidCtrl(Field(ModeNums,",",Pos), 1, "", "", Flag)@CrtMaxHigh=Field(ModeHigh, ",", Pos)@CrtHigh =@CrtMaxHighVideo.RW(0,0,(@CrtWide-1),(@CrtHigh-1),"C",\B01B\)Call Init.StatusReturnSave:SaveMode =Get_Vid_Info(1)SaveHigh =@CrtHighSaveMaxHigh=@CrtMaxHighVideo.RW(0,0,@CrtWide-1,@CrtMaxHigh-1,"R",Image)ReturnRestore:Flag=" ; VidCtrl(VidCard, 0, "", "", Flag)Flag=" ; VidCtrl(SaveMode, 1, "", "", Flag)@CrtMaxHigh=SaveMaxHigh@CrtHigh=SaveHighCall Init.StatusVideo.RW(0,0,@CrtWide-1,@CrtMaxHigh-1,"W", Image)Return(Volume 4, Issue 3, Pages 8-10)
amcauley@sprezzatura.com
World Leaders in all things RevSoft
Thanks Andrew and David!
David, the information and sample code that Andrew supplied should be sufficient. I will contact you if I need the original.
Thanks again guys!!!
Andrew:
Thanks for the info!
Unfortunately, the info is for ARev V3.x and I need info for ARev V2.x. If you have a REVMEDIA article pertaining to the earlier version of ARev I would appreciate the info.
Thanks again!
David:
After playing with the info conveyed by Andrew, I find that I currently need the SQUISHY program (or info to write a new one).
Thanks again.
If I recall correctly, it was possible to change the vertical size but not the horizontal. At one point I had a monitor that allowed up to 132 by 60. I was able to use 60 lines by setting the appropriate variables, but I was not able to use 132 colums, because much of the code assumes 80 columns. Maybe I was just missing something. If so, I'm curious what I missed. Post an update if you get it to work.
Hmm, the only way I can think of is to retrofit the 3.X routines into 2.x but to do that you'd need valid 3.X licences.
amcauley@sprezzatura.com
World Leaders in all things RevSoft