Releases: qb40/qb
Releases · qb40/qb
Microsoft QuickBASIC v4.0 in DOS.
"README.DOC" File
Release Notes for MICROSOFT(R) QuickBASIC
Version 4.0 for IBM(R) Personal Computers
and Compatibles
(C) Copyright Microsoft Corporation, 1987
THIS FILE CONTAINS IMPORTANT INFORMATION CONCERNING VERSION 4.0 OF
MICROSOFT(R) QuickBASIC. PLEASE READ THE ENTIRE FILE BEFORE USING
QuickBASIC.
This file has seven parts:
PART CONTENTS
1 Information about additions and changes to the
Learning and Using Microsoft QuickBASIC manual.
2 Information about additions and changes to the
BASIC Language Reference manual
3 Information about additions and changes to the
Programming in BASIC: Selected Topics manual
4 Using your Mouse with QuickBASIC
5 Using QuickBASIC with 3.5-inch floppy disks
6 Supplementary information on mixed-language programming
7 Using Btrieve with QuickBASIC
===< Part 1: Changes for Learning and Using Microsoft QuickBASIC >===========
Page Correction
---- ----------
--- Some keyboards have an extra set of DIRECTION (i.e. arrow) keys, in
addition to those on the numeric keypad. A bug in the ROM BIOS of
some machines with these keyboards can interfere with the QuickBASIC
editor. Disk 3 (disk 2, if you are using 3.5-inch disks) includes a
program, FIXSHIFT.COM, that fixes this bug. If you have such a
keyboard, run this program by typing FIXSHIFT. If your machine does
not have the bug, FIXSHIFT displays a message telling you so.
Otherwise FIXSHIFT prompts you for the appropriate actions. FIXSHIFT
takes about 450 bytes of memory. Except for the BIOS bug, it has no
effect on other programs you run.
--- QuickBASIC Version 4.0 supports Hercules (R) display adapters.
See the entry for the SCREEN statement in Part 2, below.
xxii If you install an IBM (R) Personal System/2 (TM) Video Graphics
Array display adapter (VGA) in a non-PS/2 machine, the VGA adapter
should be the only adapter in the system, and you should not use
mono modes (SCREEN 10) if you have a color monitor. Similarly, you
should not use color modes (SCREEN 1, 2, 7, 8, 9, 11, 12, 13) if you
have a monochrome monitor.
11 Suggestions for using QuickBASIC with a single-floppy system:
Disk 1
======
QB.EXE
Your program source file
(Optional: Operating system files)
(Optional: QB.QLB)
Disk 2
======
BC.EXE
LINK.EXE
LIB.EXE
BRUN40.EXE
BRUN40.LIB
Disk 3
======
BCOM40.EXE
When you make executable files and Quick libraries from within the
environment, you have to swap the disks in and out of your disk
drive to make the proper programs and libraries available. When
specific files cannot be found on the currently inserted disk,
you will see the prompt "Cannot find file <filename>." Before you
switch disks, type B: and press ENTER. (You can do this because,
even though you do not have a physical drive B, DOS recognizes a
logical drive B.) Insert the appropriate disk when prompted. Note
that when the linker prompts for a path, you must also include the
name of the file for which it is searching.
12 See Part 4 of this file for additional information on installing
and using your Mouse with QuickBASIC.
-- There is a new option to LINK.EXE
Option: /NOE[XTDICTIONARY]
If the linker suspects that a public symbol has been redefined, it
prompts you to link again with the /NOE option. When you do so, it
searches the individual object files, rather than "dictionaries" it
has created, to resolve conflicts. For example, when linking a
program with NOEM.OBJ or NOCOM.OBJ, you must use the /NOE option.
-- NOEM.OBJ is a supplied object file. It allows stand-alone executable
files compiled with the /O option to be substantially smaller when
run on machines equipped with a math coprocessor (8087 or 80287).
Note that programs linked with NOEM.OBJ do not run on machines that
do not have a math coprocessor. If all your stand-alone executable
files are always run on machines with coprocessors, you can use the
following method to change the library that contains floating-point
emulation routines (BCOM40.LIB) to produce smaller executable files:
LIB BCOM40.LIB -QB4EM.OBJ+NOEM.OBJ;
This command replaces the emulator math support in the stand-alone
run-time library with support specific to the coprocessor.
Alternatively, you can explicitly link NOEM.OBJ from the command
line on a case-by-case basis. For example, to create PROG.EXE
using NOEM.OBJ, compile PROG.BAS with the /O option (either from
within QuickBASIC or from the command line), then link as follows:
LINK PROG.OBJ+NOEM.OBJ/NOE;
245 PTR86 is no longer supported. Use VARSEG and VARPTR instead.
Also, when used with a communications device LOF now returns the
amount of space remaining (in bytes) in the output buffer. In
previous versions this was returned in the input buffer. Also, note
that a variable and SUB procedure could have the same name in previous
versions. In Version 4.0, this causes a "duplicate definition" error.
===< Part 2: Changes for BASIC Language Reference >==========================
Page Correction
---- ----------
18 The program FLPT.BAS, as printed in the manual, produces a run-time
error. The program has been corrected in the on-disk version.
See the \SOURCE directory on disk 3 (or disk 2 if you are using
3.5 inch disks).
84 The description of CALL ABSOLUTE says the file ABSOLUTE.OBJ must be
linked with the program. This file is no longer supplied. Link with
QB.LIB instead.
122 String concatenation is not permitted in a CONST statement.
373 The SCREEN statement now includes mode 3 for Hercules display
adapters. The following is a brief summary of screen mode 3.
See your Hercules documentation for details.
- QuickBASIC supports Hercules Graphics Card, Graphics
Card Plus, InColor Card, and 100% compatibles
- You must use a monochrome monitor
- Hercules text mode is SCREEN 0; Hercules Graphics mode
is SCREEN 3.
- You must load the Hercules driver (QBHERC.COM) before running
your program. If the driver is not loaded, SCREEN 3 statement
gives an "Illegal function call" error message. Type QBHERC
to load the driver.
- Text dimensions are 80x25 (9x14 character box); bottom
2 scan lines of 25th row are not visible.
- Resolution is 720x348 pixels, monochrome.
- Number of screen pages supported is 2.
- The PALETTE statement is not supported.
- In order to use the Mouse, you must follow special
instructions for Hercules cards in the Microsoft Mouse
Programmer's Reference Guide. (This must be ordered
separately; it is not supplied with either the QuickBASIC
or the Mouse package.)
477 - The "Advanced feature unavailable" error message may occur
if you are using DOS Version 2.1 when trying to use a fea-
ture supported only in later versions (i.e. file locking).
484 - The "Duplicate definition" error message also occurs if you
have a SUB or FUNCTION procedure with the same name as a
variable. In previous versions, this did not cause an error.
513 - Message 2024 ("Name : symbol multiply defined, use /NOE")
should be numbered 2044
--------< New or Revised Error Messages >--------------------------------
Error Number Explanation
------------ -----------
L1003 New message: "/QUICKLIB, /EXEPACK incompatible"
You specified both options, /QUICKLIB and /EXEPACK, but
these two options cannot be used together.
L2024 Message should read: "<name> : symbol already defined"
Explanation: The linker has found a public-symbol
redefinition. Remove extra definition(s).
L2043 Message should read: "Quick library support module missing"
You did not specify, or LINK could not find, the object
module or library required for creating a Quick library.
In the case of QuickBASIC, the library provided is BQLB40.LIB
L4003 This message should be deleted from documentation.
U4157 LIB warning message: "Insufficient memory, extended
dictionary not created."
U4158 LIB warning message: "Internal error, extended dictionary
not created."
Both of these LIB warnings just indicate that LIB was unable
to create the extended dictionary. The library is still
valid, but the linker cannot take advantage of extended
dictionaries to link faster.
===< Part 3: Changes for Programming in BASIC: Selected Topics >============
141 In the "Information Returned" column for the LOC function, the
description should read: "The amount of space remaining (in
bytes) in the output buffer". (Note that this is a change from
the behavior of LOF in previous versions of QuickBASIC).
===< Part 4: Using your Mouse with QuickBASIC >=============================
--------< New Mouse Driver for Use with QuickBASIC >------------------------
QuickBASIC Version 4.0 can be used with any mouse that is 100%
compatible with the Microsoft Mouse. However, you must use a
Microsoft Mouse driver Version 6.00 or later. Earlier versions may
cause unpredictable behavior when used with QuickBASIC. MOUSE.COM,
Version 6.11 is supplied with QuickBASIC Version 4.0.
Especially if you are writing programs that use the mouse, you
should use the supplied version of the mouse driver when working in
QuickBASIC. Previous versions have included MOUSE.SYS, which is
installed by including the line DEVICE=MOUSE.SYS in your CONFIG.SYS
file. This version of QuickBASIC includes MOUSE.COM, which is not
installed via CONFIG.SYS. To install MOUSE.COM, just type MOUSE at
the DOS prompt. To include MOUSE.COM automatically when your machine
boots, make sure MOUSE.COM is in your search path, then put the line
MOUSE
in your AUTOEXEC.BAT file. To free up memory, you can remove the
mouse driver at any time by typing MOUSE OFF at the DOS prompt....