Download (~5.7MB) is available here:
http://www.mediafire.com/?dbpdnibw9xj
Demo #7 is the first major version of QB64 which is self-compiled.
Demo #7 contains around 50 bug fixes (this was the main focus) and
also provides some newly implemented commands.
Enjoy it,
Galleon
--------------------------------------------------------------
The following is copied from README.TXT
--------------------------------------------------------------
QB64 COMPILER V0.7 DOCUMENTATION
================================
(V0.7 does not have the SC extension (ie. V0.7SC) because it can now
be assumed)
Thanks for trying QB64!
The goal of QB64 is to create programs from BASIC source for Windows,
Mac OSX and Linux whilst being 100% compatible with Microsoft QBASIC/
QB4.5
At present, QB64 only compiles programs on/for Microsoft Windows.
To compile a .BAS program simply run the program COMPILE.EXE
It will prompt you to enter the .BAS file's name, or you can enter the
file name on the command line (example compiles test.bas):
COMPILE test
Make sure your .BAS file was saved in text format not the QB4.5
compressed file format.
Check "SAMPLES.TXT" for information about included .BAS example
programs.
Newly added samples include:
djsok,temple,mclock,mzupd2,frac1,frac2,frac3,acalc,tower,scramble,chess,intrprtr
UNIMPLEMENTED FEATURES
======================
The majority of QBASIC commands are implemented.
Only the following are NOT IMPLEMENTED yet:
CONST
User defined TYPEs
ON ... GOTO/GOSUB EVENTS (however, ON ERROR GOTO is implemented)
$INCLUDE metacommand
Devices (COM...,SCRN:,LPT...,KYBD:,CONS:) in an OPEN statement
Calling machine code (CALL ABSOLUTE, CALL INTERRUPT)
Port access very limited (OUT &H3C8, &H3C9 INP &H3DA, &H60 work)
STATIC command in subs/functions (The $STATIC metacommand is
implemented)
Multimodular support (COMMON, etc.)
Other commands: TRON/TROFF, CHAIN, RUN, FILES, FILEATTR, ENVIRON,
ENVIRON$, PRINT USING, LPRINT, LPOS, DRAW, PLAY, CLEAR, FIELD, LOCK,
UNLOCK, IOCTL, IOCTL$, PEN, STICK, STRING, SETMEM, FRE, FIELD
QB64 SPECIFIC FEATURES (THAT QBASIC DOESN'T HAVE)
=================================================
INPUT Protection
----------------
"Intelligently" restricts keyboard input. Avoids "redo from start"
messages. Limits screen space used by input for fixed length strings
and numbers (eg. INTEGER cannot use more than 6 spaces)
New Data Types
--------------
_BIT name`
_UNSIGNED _BIT name~`
_BIT*4 name`4
_UNSIGNED _BIT*4 name~`4
_BYTE name%%
_UNSIGNED _BYTE name~%%
INTEGER name%
_UNSIGNED INTEGER name~%
LONG name&
_UNSIGNED LONG name~&
_INTEGER64 name&&
_UNSIGNED _INTEGER64 name~&&
SINGLE name!
DOUBLE name#
_FLOAT name##
STRING name$
STRING*100 name$100
_DEFINE Command
---------------
Instead of having DEFBIT,DEFUBT,DEFBYT,DEFUBY etc. for all the new
data types there is a simple command which can be used like DEFINT for
new types (or old types if you want to) as follows:
_DEFINE A-C,Z AS DOUBLE 'the same as DEFDBL A-C,Z
Larger Maximum RANDOM File Access Field Sizes
---------------------------------------------
For RANDOM access files, record lengths can now be greater than 32767
bytes. Variable length string headers allow for larger strings whilst
still being 100% QBASIC compatible with smaller strings.
-------------------------------------------------
BLOAD/BSAVE Limit
-----------------
Can save/load 65536 bytes, not just 65535.
_ROUND
------
This can be used to round values to integers (CINT & CLNG imposed
limitations on the output)
Graphics GET/PUT
----------------
GET supports a new optional argument. If used the area to store can be
partially/all off-screen and off-screen pixels are set to the value
specified:
GET (-10,-10)-(10,10),a,3
PUT format has been extended to PUT[{STEP}](?,?),?[,[{_CLIP}][{PSET|
PRESET|AND|OR|XOR}][,?]] where _CLIP allows drawing partially/all off-
screen and the final optional argument can specify a mask color to
skip when drawing.
Better Sound/Audio Support
--------------------------
Support for playing .MID, .WAV, .MP3 and many other formats.
Commands include:
_SNDPLAYFILE Simple command to play a sound file (with limited
options)
_SNDOPEN Returns a handle to a sound file
_SNDCLOSE Unloads a sound file (waits until after it has finished
playing)
_SNDPLAY Plays a sound
_SNDSTOP Stops a playing (or paused) sound
_SNDPLAYING Returns whether a sound is being played
_SNDLOOP Like _SNDPLAY but sound is looped
_SNDLIMIT Stops playing a sound after it has been playing for a set
number of seconds
_SNDGETPOS Returns to current playing position in seconds
_SNDCOPY Copies a sound (so two or more of the same sound can be
played at once)
_SNDPLAYCOPY Copies a sound, plays it and automatically closes the
copy
_SNDPAUSE Pauses a sound
_SNDPAUSED Checks if a sound is paused
_SNDLEN Returns the length of a sound in seconds
_SNDVOL Sets the volume of a sound
_SNDBAL Sets the balance/3D position of a sound
_SNDSETPOS Changes the current/starting playing position of a sound in
seconds
For more information, read "AUDIO.TXT" in your "QB64" folder.
Also check out "AUDIO.BAS" in the samples folder, you'll need some
audio files to test this with!


|