home *** CD-ROM | disk | FTP | other *** search
-
-
- Updates to BASWIND2
-
-
-
-
-
- Version 2.2 January 24, 1987
-
- CHANGES IN THIS RELEASE
-
- Module SCROLL:
-
- A minor fix to this module. The values of ULR and ULC are adjusted by decre-
- menting them by 1 at the beginning of the module to accomodate the zero ref-
- erence required by the DOS call. However, at two points in the program, a
- SCREEN function was used to determine screen attributes which used the mod-
- ified values of ULR and ULC without making allowance for this adjustment.
- This has been corrected in this release.
-
- Also in this release the ARCHIVE file has been updated to include all the
- source code referenced in the previous 2.1 release, but which was inadvert-
- ently left out of that ARCHIVE. My apologies to all for this oversight.
-
- Added to archive the source for DEMO1 as a means of demonstrating typical
- uses of the BASWIND2 routines.
-
- --------------------------------------------------------------------------------
-
- Version 2.1 December 10, 1986
-
- CHANGES IN THIS RELEASE
-
- Module NEWSCRN:
-
- This module had the most serious problem - it would not work correctly with
- monochrome or Hercules cards. Blame this on me - I don't have a monochrome
- card so I never tested it. However, this version HAS been tested on a mono
- monitor and has been verified to work. As part of the fix, the names of the
- called procedures have been changed for SCRNSAVE and SCRNREST to SAVESCRN
- and RESTSCRN. This will insure that you don't inadvertently get the old
- versions linked into your corrected programs. Also, as shown in the new doc-
- umentation file included in this release, the calling convention is somewhat
- different. Now there are two integers to be passed in the CALL: the first
- tells the routine whether to test retrace status when using a color monitor
- to prevent snow, and the second passes the location of the first element in
- the array obtained by the VARPTR function. A typical call would be as follows:
-
- 10 DIM SCRNDATA%(2000):'4000 bytes, holds one screen
- .
- .
- .
- .
-
- 80 NOTEST%=0
- 90 FIRST%=VARPTR(SCRNDATA%(0))
- 100 CALL SAVESCRN(NOTEST%,FIRST%)
-
- The NOTEST% parameter is used primarily for the IBM CGA adapter. When you set
- this variable to 0, testing is forced; which will eliminate snow on the screen
- but will also slow down operation somewhat. Non-IBM color cards and the EGA do
- not require this testing, so if you set the variable to 1, testing will be
- bypassed and the screen writes will be as fast as possible. Regardless of the
- value of this variable, a monochrome system will be automatically detected and
- testing will be defeated since it is not required.
-
-
- Module MAKEWIND:
-
- There have been no changes to this module; however, I have found that when the
- routine is compiled, it requires the /D switch on the compiler to generate
- error-checking code in order to work correctly. I discovered that when the /D
- option was omitted, when a 'growing' window was requested, the growing effect
- was not properly executed. Instead of growing from the center outward, it in-
- stead grew from the right-hand side to the left! I still don't know what is
- causing this, so for this reason I am including in this release the source
- code to this and the SCROLL modules so that you BASIC jocks that are more
- knowledgeable than I am can see what is going on and perhaps find the culprit.
- Adding the /D switch makes the size of the module considerably larger; so there
- is some benefit to leaving it off if the problem can be corrected. If anyone
- finds out what the problem is, please post me a message on Compuserve (ID #
- 72456,2325) or GEnie (Address: D.EVERS) and I'll spread the word around.
-
- Module SCROLL:
-
- No changes in this release.
-
- Module USERLIB2:
-
- This is an addition to this release of BASWIND. In the first release, I decided
- not to distribute a User Library form of these routines because of the fact that
- they required the presence of the USERLIB module distributed with QuickBASIC.
- Since I assume this module is copywrited by Microsoft, I chose to let the
- user create his own User Library at his end using his copy of USERLIB. However,
- a problem arose in that because of the fact that the MAKEWIND module was com-
- piled using the /D switch, it included some code linked in from the BRUN20.LIB
- module which made reference to the module ABSOLUTE. The problem was that
- USERLIB.OBJ also includes a module ABSOLUTE, which resulted in a Duplicate
- Module Name error occuring during the BUILDLIB procedure. As far as I was able
- to determine, this error was more of a warning nature than a severe one, as I
- simply ignored it and used the library anyway. (By the way, there are no calls
- to the module ABSOLUTE anywhere in BASWIND). However, this proved to be dis-
- turbing to many people (and rightly so); so I have taken a step of questionable
- legality by including in this package a module USERLIB2; which is the Quick-
- BASIC USERLIB.ASM edited to remove the ABSOLUTE procedure and reassembled. I
- don't really believe this presents much of an infringement problem; since
- everyone who buys QuickBASIC gets a copy of USERLIB and it is of no use to
- anyone without QuickBASIC. Anyway, using this USERLIB2 module instead of the
- original USERLIB will correct once and for all the Duplicate Module Name
- problem.
-
-
- I sincerely apologize for any inconvenience these problems might have caused
- anyone using BASWIND2; and I hope that these corrected programs solve any
- problems you might have. If not, please do not hesitate to leave me a note
- on Compuserve or GEnie; or to drop me a line at my home address given in the
- documentation file.
-
-
-
- Thank you for your support,
-
-
- Dave Evers
-
-