home *** CD-ROM | disk | FTP | other *** search
- Turbo/IBM & Clones - Windowing, page access, lotsa nifties - UCIVMS725
- (This and the next 3 messages contain all required source)
-
- Contributed by John Leonard (a.k.a. UCIVMS725).
-
- Dear Jim,
-
- Here is the Screen I/O package that I mentioned on BIX. The following
- is a directory of the disk and a description of each of the files:
-
- TEXTWIND PAS 2718 5-20-86 2:31p
- This is a sample program showing uses for some of the procedures
- and functions in the package. In preparing this diskette, I found
- that the UP and DOWN features only work on my machine when either
- Superkey or Sidekick is loaded ( I didn't bother to narrow down
- the actual cause.) Oh well, one can not expect perfection in
- such a short period.
- This is the source code for the sample program. It should be studied
- carefully to see how the Include modules are ordered, etc. I tried to
- include examples of most of the features in the package.
-
- BIOS SYS 3905 5-20-86 10:21a
- This is the hardware emulation portion of the package. Most of the
- Bios Screen Interrupts are included.
-
- COLORS SYS 6504 5-20-86 10:24a
- This module need only be included if one is working on a color monitor,
- or wants the special blink,inverse,etc. options. I have everything
- in this module documented in the Header (I hope).
-
- DISPDEF SYS 3267 5-20-86 10:26a
- This is the Type Declaration module for the I/O system. All of the
- structures and global variables are defined here. I tried to name
- them in such a manner that one would not normally get a conflict
- with everyday variable names.
-
- DISPLAY SYS 19435 5-20-86 10:29a
- This is the main I/O Include module. A header in the file describes
- all of the functions and subroutines available.
-
- PBIOS SYS 5149 5-20-86 10:27a
- This is the Pseudo-Bios Include module. When a display screen other
- than the hardware is selected, all character I/O is routed through
- here.
-
- SAVE SYS 2678 5-20-86 10:27a
- This module provides disk support for the display screens. A screen
- may be saved and retreived using these modules. A possible addition
- to the package may occur in the module. It would be nice to be
- able to save several screens a file as records, in this manner one
- could have a large file containing lots and lots of screens (help
- messages??) and retreive them with a command similiar to:
-
- loaddisplay( DisplayPageNumber, Filename, RecordNumberInFile).
-
- STRINGS SYS 8284 5-20-86 10:30a
- I put together a bunch of handy string utilitys ( and others ) and
- stuck them here. Of special interest is a string editor, that allows
- the programmer to display a string and then allow the user to edit
- it ( a la Sidekick "newfile" prompt ). I think that someone on BIX
- was asking for a procedure like this. Study this procedure, I think
- you will find it interesting ( and probably in need of an overhaul!).
-
- WINDOW SYS 17350 5-20-86 10:29a
- Special window utilities are included in this module. Once a window
- has been defined (a window is a smaller portion of a display page),
- it may be moved with these utilities. I also have some other goodies
- hiding in here, too!
-
-
- There are FOUR core modules that MUST be included for everything to
- work properly:
-
- DISPDEF.SYS
- BIOS.SYS
- PBIOS.SYS
- DISPLAY.SYS
-
- The others are optional. I usually take pieces from others
- and put them in a single include module, depending on the code
- requirements of the application and the features used. If my
- application is not very big and I am lazy, I usually include them
- all.
-
- Background: I came up with the idea to build this package after looking
- at the BIOS listings for Interrupt $10. I saw the use of screen pages
- and wondered why no one else bothered to use them. I also saw how
- fast programs like Sidekick could "plop" things on and off the display
- and thought that would be a powerful addition to any program. I also
- checked around and found that there were no software companies writing
- Turbo Compatible Include Packages that would do just what I had defined.
- ( for Cheap, at least ).
-
-
- Features: Screen pages are allocated dynamically, meaning you don't
- waste memory that you don't need. Screens may be saved and loaded
- directly from disk, meaning you can write a program to generate
- screens ( I have the rudiments of one) and load them almost instantly
- in you actual application.
- This is how the package is designed:
-
-
- /- PBIOS ( for non-harware pages )
- /
- write -- conoutptr
- \
- \- BIOS ( for the hardware page )
-
- When WindowInit is called, a check for Mono versus Color screens is
- made. Thus this will work on both types of monitors without having
- to worry about the different stuff at the guts! A check of the video
- vertical retrace is also made to eliminate snow with moving windows,
- etc.
-
- There is a lot of stuff in these modules, and it has been so long that
- I was actually inside them I have forgot why I did some things. If
- you have any direct questions, I can answer them, but I am having
- trouble describing all of these goodies off the top of my head.
- (So ask lots of questions!!)
-
- About the release of this stuff to BIX:
-
- I have no problem letting people on BIX have access to this stuff. I
- just hope that no one gets is and then starts selling it. I have
- a feeling that there is a market for this ( I would have bought it
- a couple of months ago!) I decided to let it go to the public
- domain because I have been too busy to follow up on all of the things
- that need to go into a software package...plus I am sick of working
- on it. Let me know what you think...is it still worth marketing??
-
- After using Turbo Prolog, I see that Borland will probably build
- all of these features directly into the language (version 4.0) and
- this stuff will be put out of a job. TP4.0 won't be out until
- next year some time, so there is still some life left in this, however.
-
- If this is posted on BIX, please make sure that my name and the
- following address is kept with all of the modules, so if anyone decides
- to sell it, they could let me in on it.
-
- If you have any comments or questions, please feel VERY free to contact
- me, either on BIX or other means. I am very appreciative of your
- help on BIX.
-
-
- Sincerly,
-
- John D. Leonard II
- P.O. Box 16744
- Irvine, California
- 92713
- (use this address in the modules).
-
- (714) 856-6571 at work
- (714) 733-9079 at home
-
-
- P.S. If the modules bomb out without exiting properly, chances are
- that your cursor may be turned off, or worse yet, set to a different
- hardware page. I have included a little Macro program that I keep
- somewhere on my PATH so if this happens, I can reset all of
- goodies. This is similar to HFIX provided by BORLAND in the
- TURBO GRAPHIX packages. The program is names GFIX and is currently
- set to reset to Mono Cursor Size (scan lines 11-12).
-