From: cos@chaos.cs.brandeis.edu (Ofer Inbar)
Subject: FAQ for alt.lang.basic, 6 September 1992 (2.0)
Followup-To: alt.lang.basic
Summary: Frequently Asked Questions about BASIC
Organization: Brandeis University Computer Science
Date: Sun, 6 Sep 1992 21:19:17 GMT
Expires: Thu, 1 Oct 1992 23:00:00 GMT

Archive-name: basic-faq
Version: 02.00

FAQ for alt.lang.basic, fourth revision, 6 September 1992

[0.1] Is this the only BASIC newgroup?
[0.2] Why an alt.* group, rather than comp.lang.basic?

Microsoft Products
[1.1] What is the difference between QuickBASIC and QBASIC?
[1.2] Is there any version of QuickBASIC later than 4.5?
[1.3] Visual BASIC for DOS press release.
[1.4] How do I program the mouse in QuickBASIC?

PC General Questions
[2.1] Whatever happened to Turbo BASIC?
[2.2] How can I write TSRs in BASIC?

Other Platforms
[3.1] What is available for the Macintosh?
[3.2] TrueBASIC

Appendixes

[A] Addresses & Phone Numbers
 - TrueBASIC
 - Crescent Software (QB libraries)
 - MicroHelp (QB Libraries)
 - Spectra (Turbo BASIC)
 - ZEDCOR (ZBASIC / FutureBASIC)
 - Staz Software (?)
 - Ariel Publishing (BASIC on the Mac...)

[B] Notes from the FAQ author

----------

[0.1] Is this the only BASIC newsgroup?

  Yes, alt.lang.basic is currently the only netnews group devoted
primarily to BASIC.  There exist other newsgroups where it is possible
to discuss BASIC, such as comp.lang.misc, but none of those are
primarily BASIC groups.  There also exists on FidoNet an active BASIC
echo conference.

[0.2] Why an alt.* group, rather than comp.lang.basic?

  The comp.* hierarchy is part of Usenet, and follows Usenet's lengthy
group creation guidelines.  AltNet, on the other hands, has no such
rules.  People are expected, for the sake of courtesy, to propose new
groups before they create them to see if anyone has any objections.
But basically, anyone may create any group they want.
  It is possible in the future to convert alt.lang.basic to
comp.lang.basic through a Usenet vote.  However, now is probably not
yet the time.  In order to pass a vote, the group should be able to
demonstrate sufficient volume of postings to justify its own group.
If alt.lang.basic continues as is for a while, it will have a stronger
case to join Usenet later on.

To have a group created on Usenet, one must:

 - Post a Request For Discussion to news.groups,
   news.announce.newgroups, and all other groups related to the topic.
 - Allow a period of discussion in news.groups about the merits of the
   proposed group.  Issues will be brought up that include "Is there
   interest in this group?", "Is this the right name?", "Will there be
   enough traffic to justify it?", and so on.
 - Post a Call For Votes at the end of the discussion period.  Someone
   must the collect all votes for the duration of the voting period,
   check for duplicates, keep a count of yes and no votes, and post
   periodic mass acknowledgements of who has voted.
 - At the end of the voting period, if the results indicate at least
   100 more yes votes than no votes, and if yes votes account for at
   least 2/3 of the total, the group will be created.  A few days are
   allowed after the results are made public, for people to make any
   final objections.
 - If there was controversy during the discussion, or any allegations
   of an unfair vote or a biased vote taker or whatever, then some
   systems may choose not to carry the new group even if it does get
   created.

----------

Microsoft Products

[1.1] What is the difference between QuickBASIC and QBASIC?

  Microsoft QuickBASIC is a standalone product that has been available
since 1987 (?).  It includes an integrated debugger/editor/compiler
working environment, can create standalone .EXE files, and can create
.OBJ files for linking with other modules created in other languages.
  When MS-DOS 5.0 came out, Microsoft included a replacement for the
GWBASIC interpreter of past versions of DOS, called QBASIC.  QBASIC is
a stripped down version of QuickBASIC 4.5.  It includes most of the
capabilities of QuickBASIC, including the integrated environment, but
it is not a compiler.  Consequently, it cannot create .EXE or .OBJ
files.  It also does not support call interrupts, and is limited to
only one 64Kb module per program.
  QuickBASIC is still on sale as a standalone product.  Any program
written in QBASIC should work under QuickBASIC, but the opposite is
not necessarily true.  If you're not sure which of the two you're
using, check the Run menu to see if it allows you to create an
executable file.  Also, QBASIC.EXE is QBASIC, while QB.EXE is
QuickBASIC, unless you've renamed it on your machine.

[1.2] Is there any version of QuickBASIC later than 4.5?

  With the release of Visual BASIC for DOS, QuickBASIC 4.5 has been
discontinued.  Version 4.5 was the last release.  However, Microsoft
also sells the Microsoft Basic Professional Development System, or
BASIC PDS, which is currently in version 7.1.  BASIC PDS is an
optimizing compiler that is upward compatible with QuickBASIC in the
same way that QuickBASIC is with QBASIC.  In addition to optimized
compilation, the PDS has several extra features, including a character
mode windowing system, built-in database library, and mouse support.
  VB/DOS is apparently the 'upgrade' for QuickBASIC.  It's actually a
new product with significant new features.  VB/DOS retails at $199,
but student discounts are available, as well as upgrade prices for
owners of QuickBASIC or the PDS.  Microsoft's press release
introduction VB/DOS is reproduced here on a temporary basis.

From: oconnell@bandelier.cs.unm.edu (Pat O'Connell)
>
>The offer to upgrade QBasic 4.5 to 7.1 is certainly worthwhile, if for
>no other reason than the manuals that come with the compiler, which
>are much better than QB 4.5's.
(Is this offer still around now that VB/DOS is out?)

[1.3] Visual BASIC for DOS press release.

    Microsoft Introduces Microsoft Visual Basic for MS-DOS

	REDMOND, Wash. -- Sept. 1, 1992 -- Microsoft
Corporation today announced the Microsoft* Visual Basic*
programming system for MS-DOS*, Standard and Professional
Editions.  Visual Basic for MS-DOS is based on the same easy-to-
use, visual programming model pioneered in Visual Basic for the
Windows* operating system.  Combining the ease of graphical
design with the power and versatility of traditional programming,
developers simply draw the user interface and attach code that
responds to events.
	Designed to offer developers the fastest and easiest way to
create portable applications, Visual Basic for MS-DOS provides the
same collection of objects available in its counterpart for Windows.
Forms, menus, 15 standard controls and a compatible programming
language allow developers to simultaneously develop applications
for MS-DOS and Windows.  Finished applications can be compiled
into native 80X86 standalone executable files.  No runtime library is
required.
	"This extension of the Visual Basic product line addresses
many issues for organizations in transition between MS-DOS and
Windows," said Tom Button, group product manager for the
applications programmability product unit at Microsoft.
"Applications written in Visual Basic for MS-DOS will smooth the
path to Windows for developers, PC managers and their users.
Developers can leverage their code, PC managers can preserve their
investment in older PCs, and users can benefit from similar
applications on both platforms.  Corporations, VARs and
independent software vendors can now focus their resources on
developing a consistent set of applications, targeted to the two
most popular PC platforms," he continued.
	In addition to compatibility with Visual Basic for Windows,
Visual Basic for MS-DOS runs the existing Microsoft QuickBasic* development
system, Basic professional development system, and MS-DOS
QBasic* Interpreter code unchanged, preserving the investments of
more than a million users worldwide.  New features can be
incrementally added to Microsoft QuickBasic-based applications
without restructuring existing code.

Microsoft Visual Basic for MS-DOS, Standard Edition
	The Standard Edition is designed for hobbyists, engineers,
students and other casual programmers who need an easy,
productive means for creating compiled
MS-DOS-based applications that are portable to and from
Windows.  Features such as a form designer for drawing user
interfaces, a multi-window, syntax checking code editor, rich
debugging tools, and a Toolkit of commonly used dialog boxes give
developers the ability to become productive quickly.
	Learning to use Visual Basic for MS-DOS is made easy
with sample applications, context-sensitive Help with extensive on-
line sample code, and an on-line tutorial.

Microsoft Visual Basic for MS-DOS, Professional Edition
	Microsoft Visual Basic for MS-DOS, Professional Edition,
adds the speed, capacity and database access required by
professional developers.  VARs, ISVs and software consultants
working in both Windows and MS-DOS operating systems will find
the additional power they need to quickly develop a wide range of
full-featured, high-performance applications for MS-DOS.
	In addition to all of the features in the Standard Edition, the
Professional Edition includes the following tools and features:
	*	386/486 Code Optimization.  Compiler option
		generates code tuned for 386/486 microprocessors to
		yield significant performance gains.
	*	Integrated High-speed ISAM (Indexed Sequential
		Access Method) database engine.  Provides fast and
		easy access up to 128MB of data facilitating the
		development of data-centric applications.
	*	Microsoft Overlay Environment (MOVE)
		technology.  Enables developers to write overlaid MS-
		DOS-based applications that use up to 16MB of
		overlaid code.  MOVE automatically takes advantage
		of EMS/XMS memory if available or swaps to a disk if not.
	*	Alternate Math Library.  Accelerates floating-point
		math operations up to 300 percent when running on a
		computer without a math co-processor.
	*	Charting, On-line Help, Setup and Financial
		Function Toolkits.  Provides tools and source code for
		creating applications with charts, hypertext help and
		custom setup programs.
	*	Custom Control Development Kit.  Allows the
		developer using Visual Basic for MS-DOS to build new
		custom controls.  Contains complete documentation
		and sample code for creating custom controls in C,
		Assembly or Visual Basic itself.
	*	Source Code Profiler.  Assists in performance tuning
		by displaying program statistics such as length of time
		to execute procedures and identifying the number of
		times each procedure was called.

Extensibility Offers Programmers Wide Variety of Choices
	Microsoft Visual Basic for Windows created a large third
party market for add-on tools.  The unique extensibility mechanism
in the Visual Basic programming system enables third-party
developers to extend the Toolbox with additional pre-built
components called custom controls.  Microsoft Visual Basic for
MS-DOS offers similar extensibility through custom controls,
database add-ons, utilities and libraries.  In addition, more than a
dozen third party books have been announced supporting Visual
Basic for MS-DOS.  A complete 48-page catalog of third party
add-ons is included.

System Requirements, Pricing and Availability
	The Standard Edition of Microsoft Visual Basic for MS-
DOS requires a PC/XT or above with 640K memory and takes
advantage of EMS/XMS memory if present.  The suggested retail
price is $199.  Microsoft QuickBasic, Basic PDS, Visual Basic for
Windows and Borland* language users may acquire it at a special
price of $99.  Students and educators can get the single-user
packages for $49.95 and 10 packs for $199.
	The Professional Edition requires a PC/XT or above with
640K memory, with an additional 1MB of EMS/XMS memory
recommended.  The suggested retail price is $495.  Microsoft
QuickBasic, Basic PDS, Visual Basic for Windows and Borland
language users may purchase at a special price of $199.
	Microsoft Visual Basic for MS-DOS, Standard and
Professional Editions are scheduled to be available in early
September.  In addition, French and German versions will be
available simultaneously, with Italian and Japanese versions
available later this year.
	Microsoft Corporation (NASDAQ MSFT) is the worldwide
leader in software for personal computers.  The company offers a
wide range of product and services for business and personal use,
each designed with the mission of making it easier and more
enjoyable for people to take advantage of the full power of personal
computing every day.

			#########
Microsoft and MS-DOS are registered trademarks and Microsoft Quick 
Basic, QBasic, Visual Basic and Windows are trademarks of Microsoft 
Corporation.
Borland is a registered trademark of Borland International, Inc.

All prices are U.S. suggested retail prices.  Reseller prices may vary.


[1.4] How do I program the mouse in QuickBASIC?

  Mouse support comes standard with the Microsoft BASIC PDS (see [4]).
For $25, Microsoft sells a Microsoft Mouse developer's kit than
includes documentation and a library for QuickBASIC to write
mouse-aware programs.  Contact Microsoft for details.  I don't know
about other companies' mouses, but chances are if you contact the
vendor's tech support line, they will be able to tell you.

From: boutell@isis.cshl.org (Tom Boutell)
>
>- Those wishing to program the mouse without giving Microsoft $$$ will
>probably want to check out the exhaustive list of DOS interrupt
>routines available on the net (from simtel among other places), which
>includes information on accessing the mouse interrupts, which really
>aren't that complicated. (Since QuickBASIC has interrupt call functions
>this interface is adequate.)

----------

PC General Questions

[2.1] Whatever happened to Turbo BASIC?

From: corbier@weird.miami.fl.us (Daniel Corbier)
>
>Borland discontinued their Turbo Basic, and returned the copyright
>back to the author, who in turn added all the features BASIC
>programmers always wanted, then named it PowerBASIC.  The first
>thing you'll notice when switching from Turbo Basic is the
>dramatic increase in spead (they use a special procedural method
>for floating point).
>
>Among many other things, here are features that I find usefull:
>
>- COM 1-4 support w/ baud rates up to 115200
>- ASCII function, similar to ASC, but accepts null strings
>- Errorlevels can be returned to DOS with: END number
>- No annoying "Redo from start error" for the INPUT command
>- DIR$(mask$,[attribute]) to retrieve filenames
>- CHR$ accepts multiple values.  Like CHR$(125,132,15,29)
>- PEEK$/POKE$ up to 32K of data.  Works instantly, extremely useful
>- Built in ARRAY operations:  sort, scan, insert, delete w/
>  optional tagging & collating
>- Additional string commands like: VERIFY, USING$, TALLY,
>  RPELACE, REPEAT$, REMOVE$, EXTRACT$, MAX$, MIN$, HEX$, OCT$, ...
>- Library striping for making .EXE as small as possible
>- INSTR is extended to allow search of sets of characters
>- Additional math functions like:  LOG2, LOG10, MIN/MAX, EXP2, ...
>- INCR & DECR for speedy incrementation.  INCR x, instead of x=x+1
>- You can specify a complete 20-bit address for BLOAD/BSAVE
>- Support for 64-bit integers and binary coded decimals
>- A very good debugger is built-in to the IDE (something TB didn't have)
>- Unlimited string space
>- Link .OBJ files
>- You can compile for 286/80x87 and many other compiler options

From: leonard@qiclab.scn.rain.com (Leonard Erickson)
>
>Oh yeah, Spectra *still* offers cheap upgrades for Turbo Basic owners!
>I'm about to do it myself, as I already have TB, and PB is supposed
>to be QuickBasic compatible.

[2.2] How can I write TSRs in BASIC?

PowerBASIC allegedly has support for TSRs built-in, so check that out.
I've never used PowerBASIC so I don't know how it works.  If you want
to stick to QuickBASIC, there are third party libraries that will let
you write TSRs: 
  PDQ from Crescent Software, and Stay-Res Plus from MicroHelp.

From: george@beta.ee.ufl.edu (George L)
>Not to undermine PowerBasic, but I noticed that Programmers Paradise sells
>a program called Stay-Res Plus from MicroHelp Inc. that claims to work on: 
>
>"Any stanalone BASIC programs that doesn't require the /D, /V, or /W 
>compiler sitches can be made memory resident in as little as 4K of DOS memory. 
>The balance is swapped to a disk file or EMS memory." and so on ...
>
>Don't know anything about it, just passing information along.

From: Paul.Leonard@p111.f48.n105.z1.therose.fidonet.org (Paul Leonard)
Subject: TSRs in QB45
>
>This question comes up pretty regularly on the Fidonet QUIK_BAS echo - the 
>usual reply is that there is no direct support for such an application, but 
>there are a few add-on libraries from third-party vendors that add these 
>functions.  The only one i can remember is PDQ from Crescent Software.
>
>From a message dated Jan. '92:
>
>======
>[stuff deleted]
>
>3) Call Crescent software and order PDQ, which is a replacement
>library for QuickBASIC's runtime library... it makes smaller EXE's, adds
>some new keywords that work better/faster than QB's, and also adds TSR
>capability to your programming. It costs $149 from Crescent, or $115
>from Programmer's paradise
>
>CRESCENT:(203) 438-5300
>PROGRAMMER'S PARADISE: (800) 445-7899
>
>When ordering from somebody besides CRESCENT, make sure you verify which
>version is being shipped.  Current PDQ version is 3.0
>
>[stuff deleted]
>======
>
>I've never seen or used this library, so i can't recommend it, but its name 
>comes up so often in reply to TSR questions that it must doing what it 
>advertises.  :)

----------

Other Platforms

[3.1] What is available for the Macintosh?

The most well known is Microsoft QuickBASIC for the Mac, which is very
different from the PC product, and makes no claims of compatibility.
For example, identical keywords may have completely different
meanings.  In addition to QB for the Mac, you might also look into
ZBASIC / Future BASIC from ZEDCOR.  Ariel Publishing puts out a Mac
oriented periodical called Inside BASIC.  For more information go to
the "Addresses & Phone Numbers" section below.

[3.2] TrueBASIC

True BASIC is platform independent with Mac, PC, Amiga, Atari
(and maybe more) versions. They now sell a $15 student version
with a limitation on program size (plenty for classroom use).
See appendix A for contact information.

----------

[A] Addresses and Phone Numbers:

From: kmorriso@nike.calpoly.edu (Kent E Morrison)
>
>True BASIC, Inc.
>12 Commerce Avenue
>West Lebanon, NH 03784 USA
>
>1-800-TR-BASIC  Sales and orders
>1-603-298-7015  Fax
>1-603-298-8517  Customer support

From: Daryl Clarke <daryl@garfield.cs.mun.ca>
>
>Crescent Software
>11 Bailey Avenue
>Ridgefield, CT  06877
>
>(800) 35 BASIC orders
>(203) 438 5300 tech

From: Paul.Leonard@p111.f48.n105.z1.therose.fidonet.org (Paul Leonard)
>
>CRESCENT:(203) 438-5300
>
>              CRESCENT SOFTWARE
>              32 SEVENTY ACRES
>              WEST REDDING CT 06896

From: growe@ctp.com (Geoffrey Rowell)
>
>CRESCENT SOFTWARE, INC.
>11 Bailey Avenue
>Ridgefield, CT 06877
>Phone: (203)438-5300
>Orders Only: 800-35-BASIC
>FAX: (203)431-4626
>Support BBS: (203)426-5958
>Compuserve: 72657,3070
>
>MICROHELP, INC.
>4636 Huntridge Drive
>Roswell, GA 30075
>Phone & Orders: 800-922-3383
>(In Georgia: (404)594-1185)
>FAX: (404)594-9629

From: corbier@weird.miami.fl.us (Daniel Corbier)
>
>PowerBASIC BBS:  813-625-1721
>Tech Support:    813-625-1172
>CIS:  71530,2640 (Internet 71530.2640@compuserve.com   talk to Lloyd Smith)
>
>You can ask them to send you the free demo PBLITE.  You can get your
>copy from Dustin Discount:  1-800-274-6611 or 1-818-710-9174
>
>Be sure to tell them that you heard about it on Internet.

From: edwards@andy.bgsu.edu (Bruce Edwards)
> 
>ZEDCOR                                                             
>ZBasic / FutureBasic                             
>602-795-3996 (tech support)
>    
>Staz Software PG:PRO
>443 Yacht Club Drive / Suite 1008
>Bay St. Louis, MS 39520       
>601-255-7805           
>                                                     
>McZ Ariel Publishing    
>P.O. Box 398
>Pateros, WA 98846             
>(509) 923-2249                      
>Tamara Lambert          
>Subscription Services                    

----------

[B] Notes from the FAQ author

I've tried to reorganize the question numbering, and put things into
sections.  I'd like some comments on whether this helps people find
the information they need, or gets in the way, or makes no difference.
Any format suggestions are welcome.

The VB/DOS press release is in the FAQ on a temporary basis only.  My
intentions for this posting is that it merely be a question-answer
format addressing the most frequently asked questions on the
newsgroup, but I'm sure there are going to be a lot of people
wondering about VB/DOS now, so it's a good idea to keep the press
release up there for a while.  Eventually, we'll have some questions
and answers about VB/DOS to replace the press release.

Thanks to everyone who has sent comments so far.

  --  Cos (Ofer Inbar)  --  cos@chaos.cs.brandeis.edu
  --  WBRS (BRiS)  --  WBRS@binah.cc.brandeis.edu  WBRS@brandeis.bitnet
 FidoNet: Ofer Inbar on 1:101/310  --  Ofer.Inbar@f310.n101.z1.fidonet.org
 The Boston Computer Society IBM PC User Group TBBS, (617) 332-5584
Newsgroups: alt.lang.basic