Debug: Database connection successful QuickBASIC / Science, Technology, and Astronomy / New Mars Forums

New Mars Forums

Official discussion forum of The Mars Society and MarsNews.com

You are not logged in.

Announcement

Announcement: This forum is accepting new registrations via email. Please see Recruiting Topic for additional information. Write newmarsmember[at_symbol]gmail.com.

#1 2025-06-27 07:18:14

tahanson43206
Moderator
Registered: 2018-04-27
Posts: 21,758

QuickBASIC

This topic is inspired by work done by member GW Johnson in 1990.

QuickBASIC was a language developed by Microsoft:

History. Microsoft released the first version of QuickBASIC on August 18, 1985 on a single 5.25-inch 360 KB floppy disk. QuickBASIC version 2.0 and later contained an Integrated Development Environment (IDE), allowing users to edit directly in it's on-screen editor.
QuickBASIC - Wikipedia

The version GW Johnson was using in 1990 was 4.5.  The work done in the IDE could be saved in ASCII text format, or a much more compact format in which commands were stored as one byte "tokens".

As a matter of historical (and practical) interest, QuickBASIC was designed to run on computer chips that used Big Endian or Little Endian storage methods.  The Intel chips were designed in one, and the 6502 from MOS Technology was designed for the other.

GW Johnson has provided an example tokenized program for study.   The file captures a moment in time, when computer hardware and software were developing at a furious pace. 

This topic is available if a NewMars member might wish to contribute links, images or text that relates in some way to QuickBASiC itself or to the era.

In particular, if anyone has examples of actual saved files from one of the QuickBASIC versions, that would be of interest.

NewMars has undertaken an effort to try to recover the source code from 1990.  The challenge is that the file was saved in the (default) tokenized format instead of in ASCII, so the equations are not recoverable directly.

A generous programmer ** out there ** on the Internet provided a Python program to decode QuickBASIC tokenized files, but the program is a number of years out of date.  Efforts are underway to try to restore the program to functionality, but a major hangup occurred when it became clear that the kind of processor for which the code was written is not indicated in the file.

The dilemma is that we cannot tell how numbers were stored.  If the numbers were stored for a Big Endian chip, then they have a value when decoded.  If the numbers were stored in Little Endian format, they have a wildly different number when decoded using the wrong method.


This is an ongoing mystery.  Detectives are hard at work with magnifying glasses, but at this point, the answer is yet to be revealed.

(th)

Offline

Like button can go here

#2 2025-06-27 07:19:53

tahanson43206
Moderator
Registered: 2018-04-27
Posts: 21,758

Re: QuickBASIC

This post is reserved for an index to posts that may be contributed by NewMars members.

Index:

(th)

Offline

Like button can go here

#3 2025-06-27 07:53:51

tahanson43206
Moderator
Registered: 2018-04-27
Posts: 21,758

Re: QuickBASIC

This post will show the top of the BAS file

00000000  fc 00 01 00 0c 00 81 01  82 01 06 00 01 02 03 04  |................|
00000010  05 08 10 51 ff ff 24 00  ff ff b7 04 54 03 a8 01  |...Q..$.....T...|
00000020  00 00 8e 00 6a 00 62 03  70 00 f7 00 56 00 e3 00  |....j.b.p...V...|
00000030  51 02 e5 01 d3 02 20 01  b0 01 b9 01 65 00 b2 00  |Q..... .....e...|
00000040  a2 00 7e 00 60 00 02 01  de 01 86 00 93 00 d5 00  |..~.`...........|
00000050  9b 00 cc 01 c1 00 c7 00  f1 00 ba 00 00 00 8b 03  |................|
00000060  00 00 00 00 00 00 85 03  00 00 00 00 00 00 b4 03  |................|
00000070  52 00 79 00 00 06 74 68  72 75 73 74 ea 00 00 01  |R.y...thrust....|
00000080  54 bc 02 00 01 70 aa 00  00 02 41 65 dd 02 40 05  |T....p....Ae..@.|
00000090  61 74 6d 6f 73 54 01 00  01 68 8b 01 00 04 70 61  |atmosT...h....pa|
000000a0  6d 62 da 00 00 04 54 61  6d 62 cd 00 00 01 63 31  |mb....Tamb....c1|
000000b0  01 00 04 74 69 6d 65 6e  01 00 03 46 74 68 a0 01  |...timen...Fth..|

The first byte is believed/thought to be a signal identifying the kind of BASIC, but that particular code x'FC' is not in the list of recognized codes. My guess is that as QuickBASIC evolved to  Version 4.5 that field was updated, but at the moment NewMars does not have that code on file.

It is thought that the actual BASIC source code may start with the first occurrence of x'81' follow by x'00' but that is pure speculation. The header for the file may continue for some distance.

(th)

Offline

Like button can go here

#4 2025-06-27 07:59:00

tahanson43206
Moderator
Registered: 2018-04-27
Posts: 21,758

Re: QuickBASIC

This post shows the bottom of the BAS file provided by GW Johnson for study:

000036e0  04 20 54 68 69 73 20 72  6f 75 74 69 6e 65 20 70  |. This routine p|
000036f0  65 72 66 6f 72 6d 73 20  6c 69 6e 65 61 72 20 69  |erforms linear i|
00003700  6e 74 65 72 70 6f 6c 61  74 69 6f 6e 20 62 65 74  |nterpolation bet|
00003710  77 65 65 6e 20 61 62 73  63 69 73 73 61 20 61 72  |ween abscissa ar|
00003720  72 61 79 20 22 75 22 20  61 6e 64 00 00 97 00 4e  |ray "u" and....N|
00003730  00 00 00 0d 04 20 6f 72  64 69 6e 61 74 65 20 61  |..... ordinate a|
00003740  72 72 61 79 20 22 76 22  20 66 6f 72 20 69 6e 74  |rray "v" for int|
00003750  65 72 70 6f 6c 61 74 65  64 20 6f 72 64 69 6e 61  |erpolated ordina|
00003760  74 65 20 22 79 22 20 62  61 73 65 64 20 75 70 6f  |te "y" based upo|
00003770  6e 20 61 62 73 63 69 73  73 61 20 22 78 22 2e 00  |n abscissa "x"..|
00003780  00 97 00 4c 00 00 00 0d  04 20 54 68 65 20 6f 6e  |...L..... The on|
00003790  6c 79 20 72 65 73 74 72  69 63 74 69 6f 6e 20 69  |ly restriction i|
000037a0  73 20 74 68 61 74 20 61  72 72 61 79 20 22 75 22  |s that array "u"|
000037b0  20 6d 75 73 74 20 6d 6f  6e 6f 74 6f 6e 69 63 61  | must monotonica|
000037c0  6c 6c 79 20 69 6e 63 72  65 61 73 65 20 77 69 74  |lly increase wit|
000037d0  68 00 00 97 00 1b 00 00  00 0d 04 20 69 6e 63 72  |h.......... incr|
000037e0  65 61 73 69 6e 67 20 69  6e 64 65 78 20 22 69 25  |easing index "i%|
000037f0  22 2e 73 00 00 97 00 02  00 00 00 00 00 97 00 02  |".s.............|
00003800  00 00 00 00 00 97 00 02  00 00 00 00 00 64 05 0c  |.............d..|
00003810  04 3e 03 00 00 0b 04 a4  02 64 05 0b 04 03 03 64  |.>.......d.....d|
00003820  05 57 00 ff ff ba 01 00  00 0b 00 4f 01 0b 04 a4  |.W.........O....|
00003830  02 0e 00 01 00 0d 03 5f  01 5d 00 b0 01 0b 04 a4  |......._.]......|
00003840  02 0c 04 3e 03 00 00 0b  04 a4 02 66 00 ff ff 01  |...>.......f....|
00003850  04 00 00 0b 04 3e 03 0b  04 03 03 5e 01 5d 00 d8  |.....>.....^.]..|
00003860  01 0b 04 03 03 64 05 77  01 0c 04 3e 03 00 00 0b  |.....d.w...>....|
00003870  00 4f 01 0b 04 3e 03 0e  00 01 00 0d 03 77 01 6e  |.O...>.......w.n|
00003880  01 0b 04 3e 03 64 05 00  01 0e 00 01 00 0d 03 0b  |...>.d..........|
00003890  04 3e 03 0e 00 01 00 0d  03 77 01 6e 01 02 01 0c  |.>.......w.n....|
000038a0  00 43 03 00 00 0b 04 3e  03 0e 00 01 00 08 03 0b  |.C.....>........|
000038b0  00 43 03 0b 04 3e 03 64  05 00 01 0e 00 01 00 08  |.C...>.d........|
000038c0  03 0b 04 3e 03 0e 00 01  00 08 03 77 01 6e 01 70  |...>.......w.n.p|
000038d0  01 00 01 0c 00 d5 00 00  00 51 00 09 00 08 00 ff  |.........Q......|
000038e0  ff ff ff ff ff ff ff 13  00 00 00 00 00 02 0c     |...............|
000038ef

Of note is the end-of-file sequence.  By deduction the EOF signal appears to be five zero bytes and x'02' x'0c'

The Python program downloaded from a site on the Internet uses that x'02' and x'0c' signal to stop reading the file.

It is entirely possible that a NewMars reader can read the hex dump and immediately recognize how numbers are stored.

In the absence of such input from the readership, I have asked GW Johnson to try to remember a number he might have stored as a constant. The value of "g" is a possibility, and there are others needed for aerospace engineering programs to work.

(th)

Offline

Like button can go here

#5 2025-06-27 08:13:30

tahanson43206
Moderator
Registered: 2018-04-27
Posts: 21,758

Re: QuickBASIC

This post is about a web site whose author reports having written an interpreter for QuickBASIC

https://cschnack.de/blog/2020/quickbasic/

State and Performance

In its current state the interpreter can run my game code. I have implemented all aspects except for the visual part. The next step is to integrate all that code into Unity and make the actual game.

As for performance, I haven’t done any measurement yet but running my game code it seems to be extremely fast. I’m convinced it’ll run my game without any further optimizations.

There is room for optimizations though:

    Byte code creates many unneeded tmp vars
    Visitor pattern might be slower than a gigantic switch
    Implement missing QB features (QB classes, implicit pass-by-reference of array elements, POKE, etc.)

That’s BASICally it for now. I’v got a working environment for my purpose and now I need to take care of other things. I really loved every second of this project and hopefully can get back to it soon. If so, I write about it.

(th)

Offline

Like button can go here

#6 2025-06-27 08:15:27

tahanson43206
Moderator
Registered: 2018-04-27
Posts: 21,758

Re: QuickBASIC

I asked Google for information about the QuickBASIC header and it came back with this:

Precise documentation of the header layout for the QuickBASIC 4.5
.BAS file format, especially the binary format, is difficult to find because it is a proprietary format and not well-documented externally.
Here is what is known:

    QuickBASIC 4.5 .BAS files are partly binary, which means they contain more than just plain text.
    The exact format is proprietary to QuickBASIC and designed to be read specifically by the QuickBASIC 4.5 environment.
    QuickBASIC's "smart editor" tokenizes the source code as it is entered. This converts the readable BASIC code into a more compact internal representation for faster processing and compilation.
    These binary files likely include details about procedures (like SUBs and FUNCTIONs) which are considered "sections" within the file.

Workaround (if you need to access the source code):
If you need to access or modify a QuickBASIC 4.5 .BAS file, the best approach is to:

    Load the file in QuickBASIC 4.5. You might need to use a DOS emulator like DOSBox to run QuickBASIC 4.5.
    Save the file again using the command SAVE "NEWFILE", A to save it in plain ASCII text format. This converts the tokenized binary data into human-readable text.

In summary, there is no publicly available, detailed specification for the binary header layout of QuickBASIC 4.5 .BAS files. They are a proprietary format designed for the QuickBASIC environment. The most practical approach for accessing the program content is to save it in text format using QuickBASIC itself.

(th)

Offline

Like button can go here

#7 2025-06-27 08:20:13

tahanson43206
Moderator
Registered: 2018-04-27
Posts: 21,758

Re: QuickBASIC

This post is about a web site from ca 1996 that appears to deal with QuickBASIC

http://www.manmrk.net/tutorials/basic/qbasic/qbasic.htm

QBASIC Tutorial
    Quick Basic 1.1 Interpreter

Quick Basic 3.0 Interpreter
Quick Basic 4.5 Compiler
Quick Basic 7.1 (PDS)
Summary:     QuickBASIC 4.5 runtime error source analyzer
License:     Shareware
Requires:     DOS 5.0 (or later) with a VGA (or better) display monitor and Microsoft QuickBASIC 4.5 compiler.
Email:     hstein@cyberramp.net
Download:     qbe108.zip (Nov 19 1997, 115.7K)
Description:    
QBE is a DOS executable which facilitates quickly locating the source line(s) which caused Microsoft QuickBASIC 4.5 run-time or compilation error messages to occur. QuickBasic 4.5 developers understand the need for and will be most appreciative of this development tool.
QBE is intended for QuickBasic 4.5 developers who use the edit-compile- link-and-test technique for debugging QuickBASIC 4.5 programs. Many programmers stay away from the QuickBASIC "environment" (the term often used for the QuickBASIC interpreter/debugger) as it reformats (tokenizes) your source and has limitations and undesirable behavioral and limitation differences from compiled programs.
The QBE program inputs .LST files created when the QuickBASIC compile line parameter specified a listing file should be created and that listing file is accessible when the run-time (or compilation error) occurs and followed by a QBE launch. The QBE command line can specify the module and address of the run-time error or QBE can be directed to read the video screen to find the module and address automatically.
The QBE results are provided in a flexible source browser which can look at .LST any other ASCII source files.
   



ALTQB
Summary:     Assembly language toolbox for QuickBasic
Download:     altqb558.zip (Apr 9 1996, 348.6K)



ASYLIB
Summary:     AsyLIB, communications functions for QB 4.x
Download:     asylib11.zip (Nov 6 1989, 74.5K)



B  TOP
BAS2QB
Summary:     Converts BASICA/GWBASIC source to QuickBASIC
Download:     bas2qb11.zip (Jan 14 1991, 46.2K)



BAS2QBAS
Summary:     Converts BASIC programs to Quick BASIC format
Download:     bas2qbas.zip (Jan 14 1988, 54.8K)



BASUPD 4
Summary:     MS PDS/VBDOS functions for QuickBasic.x
Download:     basupd21.zip (Apr 21 1996, 31.7K)



BKINPQB
Summary:     Edited input function library for QuickBasic
Download:     bkinpqb.zip (Aug 10 1990, 23.5K)



BPTB
Summary:     BASIC Programmer's Tool Box for QB45 and QB7
Download:     bptb11.zip (Sep 6 1992, 94.6K)



E  TOP
EZW1V30A
Summary:     Fast pulldown menu system lib for QBASIC/PDS
Download:     ezw1v30a.zip (Jun 4 1991, 149.8K)



F  TOP
FontType
Version:     1.0
Summary:     Lets QBASIC developers create fonts
License:     Shareware
Requires:     PKUNZIP and QBASIC.
Email:     nav2@flash.net
Homepage:     http://www.flash.net/~nav2/bhawk/
Download:     fontt100.zip (Aug 4 1997, 21.3K)
Description:    
FontType v1.0 is a utility that allows QBASIC developers to create custom fonts for use in their programs. To make a new font, specify the range of ASCII characters you want, then point and click to build each character. FontType comes with online help, a sample font (italics.fnt), and a sample program "template" that will start you on your way to using fonts in your own programs.
   



G  TOP
GETCPU
Summary:     QBasic routine to determine CPU type w/ASM src
Download:     getcpu.zip (Aug 29 1990, 1.8K)



GLIB 290
Summary:     GLib library for QuickBasic,+ routines
Download:     glib19.zip (Jul 24 1991, 168.7K)



GRAFWZ
Summary:     Smaller, faster graphics library for QBASIC4.5
Download:     grafwz15.zip (Feb 10 1991, 75.7K)



Graphics Factory
Summary:     Graphics Factory: Quick Basic graphics utility
Download:     gfactory.zip (Oct 4 1992, 103.5K)



I  TOP
IQB 1992
Summary:     Inside QuickBasic source listing, Feb.
Download:     iqb9202.zip (Feb 8 1992, 6.5K)



IQB 1992
Summary:     Inside QuickBasic source listing, March
Download:     iqb9203.zip (Feb 8 1992, 8.8K)



L  TOP
LFN-QBasic
Summary:     Long Filenames for QBasic
License:     Public Domain
Author:     Colin Glenn
Email:     cwg01@gnofn.org
Download:     lfnbas02.zip (Jul 21 1999, 26.4K)
Description:    
LFN-QBasic is a series of subroutines designed to allow a QBasic program
to access Long File Names available under Win9x without needing to know
what the DOS8.3 name looks like. They're easy to use, and simple enough
so you can upgrade existing code without any trouble. Ok, maybe a
little trouble because you do have to go through your code and replace
all your OPEN statements with a function call. And if you decide to use
LFN-QBasic's automatic FREEFILE action, you have to adjust for that as
well.

I should point out that the package is not limited to QBasic except by
the fact that it's in that format, using no line numbers and having
function calls. With a little work, it can be adapted to to any basic
implementation.
   



LISTIF
Summary:     Lists each line containing search string
License:     Freeware
Author:     Chris Rodliffe
Email:     cr@clear.net.nz
Download:     listif04.zip (Jul 4 1998, 46K)
Description:    
ListIf v0.4 is a small program which searches through any Quickbasic
source file (xx.BAS) or other text file and lists each line containing a
specified search string (such as variable name or key word e.g. Open).
If given a .MAK name as input, will search all .BAS files listed in that
.MAK file (provided they're in current directory). Shows which files and
SUB's lines found occur in. Optionally shows line numbers, writes to
screen/file, optionally case/whole-word sensitive. Runs in DOS (not a
TSR or add-on to QB or editors).
   



M  TOP
MAKE
Summary:     Professional MAKE for QuickBASIC
Download:     make472.zip (Nov 15 1992, 22.8K)



O  TOP
OBJTOO
Summary:     .OBJ file manipulator and snooper
Download:     objtoo31.zip (Apr 21 1996, 52.8K)



P  TOP
PBBACK
Version:     1.0-4.5
Summary:     PB backwards-compatible library for QB
Download:     pbback21.zip (Apr 21 1996, 115.3K)



PRO
Summary:     User interface toolbox for QuickBASIC
Download:     pro200.zip (May 20 1991, 19.2K)



Q  TOP
Q4TOOL
Summary:     QB4.5 lib w/mouse/window/fast-screen/DOS svcs
Download:     q4tool.zip (Aug 18 1990, 67.7K)



QB4BAS
Version:     4.5
Summary:     Assembly language routines for QB/BASCOM 6
Download:     qb4bas45.zip (Sep 29 1989, 111.6K)



QBARCV
Summary:     QuickBasic ARC/PAK/ZIP file dir util w/src
Download:     qbarcv3.zip (Mar 20 1989, 15.7K)



QBEVGFX
Summary:     Fast EGA/VGA graphics routines link library
Download:     qbevgfx2.zip (Mar 20 1992, 83K)



QBF
Summary:     Quick Basic source code reformatter
License:     Freeware
Author:     Branislav Stofko
Email:     BranoStofko@Rocketmail.com
Homepage:     http://www.geocities.com/SiliconValley/Peaks/6312/
Download:     bsqbf0.zip (Jul 17 1998, 19.5K)
Description:    
QBF is Quick Basic source code reformater. Small program for people
programming in the Quick Basic with source code in FORCE.
   



QBGPS
Summary:     General purpose subroutines (250+) .LIB/.QLB
Download:     qbgps256.zip (Nov 7 1996, 118.6K)



QBNWS
Summary:     QuickBASIC Electronic Newsletter, Vol 2, No 4
Download:     qbnws204.zip (Dec 21 1991, 57.4K)



QBNWS
Summary:     QuickBASIC Electronic Newsletter, Vol 3, No 2
Download:     qbnws302.zip (Jun 28 1992, 34.3K)



QBNWS 2
Summary:     QBNews-QBASIC Electronic NewsletterNo1 2/91
Download:     qbnws201.zip (Feb 27 1991, 53.3K)



QBNWS 2
Summary:     QBNews-QBASIC Electronic NewsletterNo2 6/91
Download:     qbnws202.zip (May 31 1991, 81.2K)



QBNWS 2n3
Summary:     QuickBasic Electronic Newsletter - 910915
Download:     qbnws203.zip (Sep 15 1991, 100.7K)



QBNWS 3
Summary:     QBNews-QBASIC Electronic NewsletterNo1 3/92
Download:     qbnws301.zip (Mar 28 1992, 78.2K)



QBSCR
Summary:     QB screen builder and screen routines w/source
Download:     qbscr15.zip (Sep 4 1989, 274.3K)



QBSER
Version:     3.20
Summary:     QBasic serial communications library
Download:     qbser320.zip (Sep 7 1993, 31.2K)



QBTOOLS
Version:     4-4.5
Summary:     Toolbox for Qbasic and Basic 6
Download:     qbtools.zip (Feb 10 1990, 196.7K)



QBWIZ
Version:     4.5
Summary:     QBWiz accesses QuickBasic internal info
Download:     qbwiz21.zip (Apr 21 1996, 24.6K)



QBZIPDIR
Summary:     QuickBASIC routines to work with ZIP dirs
Download:     qbzipdir.zip (Oct 27 1989, 13K)



QINP
Summary:     Input routines for QuickBasic. All styles
Download:     qinp73.zip (Jun 2 1990, 45.5K)



QSAM
Summary:     QSAM: A B-Tree access method for QuickBASIC
Download:     qsam300.zip (Oct 16 1989, 20.7K)



QSCAT
Version:     2.29
Summary:     QuickShare catalog - QBasic Shareware
Download:     qscat229.zip (Feb 18 1991, 94.9K)



Quick Basic 4.x source
Summary:     Quick Basic 4.x source: nice pulldown menu
Download:     topmenu2.zip (Sep 8 1989, 61K)



QWEZ
Summary:     Window management system for QuickBASIC 4.+
Download:     qwez42.zip (Mar 31 1991, 185.5K)



R  TOP
REALFUN
Summary:     Real and complex math library for QuickBASIC
Download:     realfun.zip (May 31 1991, 195.1K)



S  TOP
SimpleDoor
Version:     1.00
Summary:     SimpleDoor: QB4.5 BBS door routines
Download:     sdoor100.zip (Mar 24 1992, 76.2K)



SLIX
Summary:     Sprite library for mode x (for QuickBASIC 4.x)
Download:     slix0987.zip (Sep 6 1996, 812.9K)



SMALLFNT 106x33
Summary:     Quick Basic source to create CGA font
Download:     smallfnt.zip (Feb 13 1990, 4.6K)



SOFTBD
Summary:     Date, Day, Month, & Picture BASIC procedures
License:     Shareware
Author:     Lee E. Estes, Softmasters
Email:     masters@pacbell.net
Download:     softbd01.zip (Jul 18 1998, 134.4K)
Description:    
QuickBASIC 4.x and ProBASIC 7.x procedures in both a Quick and Stand-
Alone BASIC library so you may select a Date, Day, or Month from your
BASIC program display, or select a Picture style for your visually
enhanced BASIC program screens. Easy to use, complete and ready to
run including demos, examples, and a comprehensive manual.
   



SPOKE
Summary:     Calculates bicycle spoke lengths
Download:     spoke.bas (Jun 16 1989, 10.4K)



SQUAWK
Summary:     Menu-driven sound effects/bird calls
Download:     squawk.zip (Apr 17 1987, 31.5K)



T  TOP
TIMING
Summary:     QuickBasic background timing routines
Download:     timing2.zip (Apr 9 1990, 11.9K)



V  TOP
V_QLIB
Summary:     List contents of QB Quick Library (.QLB) files
Download:     v_qlib.zip (Apr 11 1991, 55.6K)



VIDBASIC
Summary:     MASM text video routines library for QBASIC
Download:     vidbasic.zip (Nov 28 1990, 111.1K)



VUDU31P
Summary:     Windowing utilities for MS BASIC PDS 7
Download:     vudu31p.zip (Jun 6 1992, 84.7K)



VUDU31Q
Summary:     Windowing utilities for MS QuickBASIC 4+
Download:     vudu31q.zip (Jun 6 1992, 83.7K)





[ Home | Submit ]
[ Humor | Icons | Library | Manuals | Organizations | RFCs | Services | Software | Users ]
Copyright © 1997-2000 Ctrl Computer Systems. All rights reserved.
Comments: software@bookcase.com
Last updated: 07/05/03

(th)

Offline

Like button can go here

#8 2025-06-27 10:08:39

tahanson43206
Moderator
Registered: 2018-04-27
Posts: 21,758

Re: QuickBASIC

This post is to show a tool that Gemini created to help us read hex dumps of our QuickBASIC .BAS file...

TOKENS_RAW_HEX_SORTED = [
    ['ABS', 0x80],
    ['ASC', 0x81],
    ['ATN', 0x82],
    ['CALL', 0x83],
    ['CDBL', 0x84],
    ['CHR$', 0x85],
    ['CINT', 0x86],
    ['CLOSE', 0x87],
    ['COMMON', 0x88],
    ['COS', 0x89],
    ['CVD', 0x8A],
    ['CVI', 0x8B],
    ['CVS', 0x8C],
    ['DATA', 0x8D],
    ['ELSE', 0x8E],
    ['EOF', 0x8F],
    ['EXP', 0x90],
    ['FIELD', 0x91],
    ['FIX', 0x92],
    ['FN', 0x93],
    ['FOR', 0x94],
    ['GET', 0x95],
    ['GOSUB', 0x96],
    ['GOTO', 0x97],
    ['IF', 0x98],
    ['INKEY$', 0x99],
    ['INPUT', 0x9A],
    ['INT', 0x9B],
    ['LEFT$', 0x9C],
    ['LEN', 0x9D],
    ['LET', 0x9E],
    ['LINE', 0x9F],
    ['LOC', 0xA1],
    ['LOF', 0xA2],
    ['LOG', 0xA3],
    ['LSET', 0xA4],
    ['MID$', 0xA5],
    ['MKD$', 0xA6],
    ['MKI$', 0xA7],
    ['MKS$', 0xA8],
    ['NEXT', 0xA9],
    ['ON', 0xAA],
    ['OPEN', 0xAB],
    ['PRINT', 0xAC],
    ['PUT', 0xAD],
    ['READ', 0xAE],
    ['REM', 0xAF],
    ['RETURN', 0xB0],
    ['RIGHT$', 0xB1],
    ['RND', 0xB2],
    ['RSET', 0xB3],
    ['SGN', 0xB4],
    ['SIN', 0xB5],
    ['SPACE$', 0xB6],
    ['SQR', 0xB7],
    ['STR$', 0xB8],
    ['STRING$', 0xB9],
    ['TAN', 0xBA],
    ['VAL', 0xBC],
    ['WEND', 0xBD],
    ['WHILE', 0xBE],
    ['WRITE', 0xBF],
    ['ELSEIF', 0xC0],
    ['CLNG', 0xC1],
    ['CVL', 0xC2],
    ['MKL$', 0xC3],
    ['STATIC', 0xE3],
    ['USING', 0xE4],
    ['TO', 0xE5],
    ['THEN', 0xE6],
    ['NOT', 0xE7],
    ["'", 0xE8],
    ['>', 0xE9],
    ['=', 0xEA],
    ['<', 0xEB],
    ['+', 0xEC],
    ['-', 0xED],
    ['*', 0xEE],
    ['/', 0xEF],
    ['^', 0xF0],
    ['AND', 0xF1],
    ['OR', 0xF2],
    ['XOR', 0xF3],
    ['EQV', 0xF4],
    ['IMP', 0xF5],
    ['MOD', 0xF6],
    ['\\', 0xF7],
    ['AUTO', 0xF8, 0x80],
    ['CHAIN', 0xF8, 0x81],
    ['CLEAR', 0xF8, 0x82],
    ['CLS', 0xF8, 0x83],
    ['CONT', 0xF8, 0x84],
    ['CSNG', 0xF8, 0x85],
    ['DATE$', 0xF8, 0x86],
    ['DEFINT', 0xF8, 0x87],
    ['DEFSNG', 0xF8, 0x88],
    ['DEFDBL', 0xF8, 0x89],
    ['DEFSTR', 0xF8, 0x8A],
    ['DEF', 0xF8, 0x8B],
    ['DELETE', 0xF8, 0x8C],
    ['DIM', 0xF8, 0x8D],
    ['EDIT', 0xF8, 0x8E],
    ['END', 0xF8, 0x8F],
    ['ERASE', 0xF8, 0x90],
    ['ERL', 0xF8, 0x91],
    ['ERROR', 0xF8, 0x92],
    ['ERR', 0xF8, 0x93],
    ['FILES', 0xF8, 0x94],
    ['FRE', 0xF8, 0x95],
    ['HEX$', 0xF8, 0x96],
    ['INSTR', 0xF8, 0x97],
    ['KILL', 0xF8, 0x98],
    ['LIST', 0xF8, 0x99],
    ['LLIST', 0xF8, 0x9A],
    ['LOAD', 0xF8, 0x9B],
    ['LPOS', 0xF8, 0x9C],
    ['LPRINT', 0xF8, 0x9D],
    ['MERGE', 0xF8, 0x9E],
    ['NAME', 0xF8, 0x9F],
    ['NEW', 0xF8, 0xA0],
    ['OCT$', 0xF8, 0xA1],
    ['OPTION', 0xF8, 0xA2],
    ['PEEK', 0xF8, 0xA3],
    ['POKE', 0xF8, 0xA4],
    ['POS', 0xF8, 0xA5],
    ['RANDOMIZE', 0xF8, 0xA6],
    ['RENUM', 0xF8, 0xA7],
    ['RESTORE', 0xF8, 0xA8],
    ['RESUME', 0xF8, 0xA9],
    ['RUN', 0xF8, 0xAA],
    ['SAVE', 0xF8, 0xAB],
    ['SHELL', 0xF8, 0xAC],
    ['STOP', 0xF8, 0xAD],
    ['SWAP', 0xF8, 0xAE],
    ['SYSTEM', 0xF8, 0xAF],
    ['TIME$', 0xF8, 0xB0],
    ['TRON', 0xF8, 0xB1],
    ['TROFF', 0xF8, 0xB2],
    ['VARPTR', 0xF8, 0xB3],
    ['WIDTH', 0xF8, 0xB4],
    ['BEEP', 0xF8, 0xB5],
    ['CIRCLE', 0xF8, 0xB6],
    ['LCOPY', 0xF8, 0xB7],
    ['MOUSE', 0xF8, 0xB8],
    ['POINT', 0xF8, 0xB9],
    ['PRESET', 0xF8, 0xBA],
    ['PSET', 0xF8, 0xBB],
    ['RESET', 0xF8, 0xBC],
    ['TIMER', 0xF8, 0xBD],
    ['SUB', 0xF8, 0xBE],
    ['EXIT', 0xF8, 0xBF],
    ['SOUND', 0xF8, 0xC0],
    ['BUTTON', 0xF8, 0xC1],
    ['MENU', 0xF8, 0xC2],
    ['WINDOW', 0xF8, 0xC3],
    ['DIALOG', 0xF8, 0xC4],
    ['LOCATE', 0xF8, 0xC5],
    ['CSRLIN', 0xF8, 0xC6],
    ['LBOUND', 0xF8, 0xC7],
    ['UBOUND', 0xF8, 0xC8],
    ['SHARED', 0xF8, 0xC9],
    ['UCASE$', 0xF8, 0xCA],
    ['SCROLL', 0xF8, 0xCB],
    ['LIBRARY', 0xF8, 0xCC],
    ['CVSBCD', 0xF8, 0xCD],
    ['CVDBCD', 0xF8, 0xCE],
    ['MKSBCD$', 0xF8, 0xCF],
    ['MKDBCD$', 0xF8, 0xD0],
    ['', 0xF8, 0xD1],
    ['DEFLNG', 0xF8, 0xD6],
    ['SADD', 0xF8, 0xD7],
    ['COLOR', 0xF8, 0xD9],
    ['PALETTE', 0xF8, 0xDB],
    ['CHDIR', 0xF8, 0xDD],
    ['CASE', 0xF8, 0xE0],
    ['PRINTDIALOG', 0xF8, 0xE1],
    ['SCROLLBAR', 0xF8, 0xE2],
    ['SELECT', 0xF8, 0xE3],
    ['ABOUT', 0xF9, 0xF3],
    ['OFF', 0xF9, 0xF4],
    ['BREAK', 0xF9, 0xF5],
    ['WAIT', 0xF9, 0xF6],
    ['USR', 0xF9, 0xF7],
    ['TAB', 0xF9, 0xF8],
    ['STEP', 0xF9, 0xF9],
    ['SPC', 0xF9, 0xFA],
    ['OUTPUT', 0xF9, 0xFB],
    ['BASE', 0xF9, 0xFC],
    ['AS', 0xF9, 0xFD],
    ['APPEND', 0xF9, 0xFE],
    ['ALL', 0xF9, 0xFF],
    ['PICTURE', 0xFA, 0x80],
    ['WAVE', 0xFA, 0x81],
    ['POKEW', 0xFA, 0x82],
    ['POKEL', 0xFA, 0x83],
    ['PEEKW', 0xFA, 0x84],
    ['PEEKL', 0xFA, 0x85],
    ['TECALTEXT', 0xFB, 0xC8],
    ['TEUPDATE', 0xFB, 0xC9],
    ['TEDEACTIVATE', 0xFB, 0xCA],
    ['TEACTIVATE', 0xFB, 0xCB],
    ['TEINSERT', 0xFB, 0xCC],
    ['TEDELETE', 0xFB, 0xCD],
    ['TEKEY', 0xFB, 0xCE],
    ['TESCROLL', 0xFB, 0xCF],
    ['TESETSELECT', 0xFB, 0xD0],
    ['TESETTEXT', 0xFB, 0xD1],
    ['FILLPOLY', 0xFB, 0xD2],
    ['INVERTPOLY', 0xFB, 0xD3],
    ['ERASEPOLY', 0xFB, 0xD4],
    ['PAINTPOLY', 0xFB, 0xD5],
    ['FRAMEPOLY', 0xFB, 0xD6],
    ['PTAB', 0xFB, 0xD7],
    ['FILLARC', 0xFB, 0xD8],
    ['INVERTARC', 0xFB, 0xD9],
    ['ERASEARC', 0xFB, 0xDA],
    ['PAINTARC', 0xFB, 0xDB],
    ['FRAMEARC', 0xFB, 0xDC],
    ['FILLROUNDRECT', 0xFB, 0xDD],
    ['INVERTROUNDRECT', 0xFB, 0xDE],
    ['ERASEROUNDRECT', 0xFB, 0xDF],
    ['PAINTROUNDRECT', 0xFB, 0xE0],
    ['FRAMEROUNDRECT', 0xFB, 0xE1],
    ['FILLOVAL', 0xFB, 0xE2],
    ['INVERTOVAL', 0xFB, 0xE3],
    ['ERASEOVAL', 0xFB, 0xE4],
    ['PAINTOVAL', 0xFB, 0xE5],
    ['FRAMEOVAL', 0xFB, 0xE6],
    ['FILLRECT', 0xFB, 0xE7],
    ['INVERTRECT', 0xFB, 0xE8],
    ['ERASERECT', 0xFB, 0xE9],
    ['PAINTRECT', 0xFB, 0xEA],
    ['FRAMERECT', 0xFB, 0xEB],
    ['TEXTSIZE', 0xFB, 0xEC],
    ['TEXTMODE', 0xFB, 0xED],
    ['TEXTFACE', 0xFB, 0xEE],
    ['TEXTFONT', 0xFB, 0xEF],
    ['LINETO', 0xFB, 0xF0],
    ['MOVE', 0xFB, 0xF1],
    ['MOVETO', 0xFB, 0xF2],
    ['PENNORMAL', 0xFB, 0xF3],
    ['PENPAT', 0xFB, 0xF4],
    ['PENMODE', 0xFB, 0xF5],
    ['PENSIZE', 0xFB, 0xF6],
    ['GETPEN', 0xFB, 0xF7],
    ['SHOWPEN', 0xFB, 0xF8],
    ['HIDEPEN', 0xFB, 0xF9],
    ['OBSCURECURSOR', 0xFB, 0xFA],
    ['SHOWCURSOR', 0xFB, 0xFB],
    ['HIDECURSOR', 0xFB, 0xFC],
    ['SETCURSOR', 0xFB, 0xFD],
    ['INITCURSOR', 0xFB, 0xFE],
    ['BACKPAT', 0xFB, 0xFF]
]

(th)

Offline

Like button can go here

#9 2025-06-27 10:22:03

tahanson43206
Moderator
Registered: 2018-04-27
Posts: 21,758

Re: QuickBASIC

And here is a link to an archived copy of the original Microsoft documentation for QuickBASIC 4.5

https://ia600609.us.archive.org/1/items … Manual.pdf

The entire file downloads.

(th)

Offline

Like button can go here

Board footer

Powered by FluxBB