Debug: Database connection successful
You are not logged in.
Pages: 1
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
This post is reserved for an index to posts that may be contributed by NewMars members.
Index:
(th)
Offline
Like button can go here
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
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
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
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
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 InterpreterQuick 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
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
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
Pages: 1