Discussion:
DOWNLOAD QB64 DEMO #5
(too old to reply)
d***@gmail.com
2008-01-28 02:57:10 UTC
Permalink
QB64 Demo #5 can be downloaded from two different locations. Both
locations contain the same file, demo5.zip.

http://www.mediafire.com/?amhdnyvmazk
Tip: Wait for the moving blue bar on the middle-left of the web-page
to turn into the download button.

http://www.geocities.com/dqbsvga/demo5.zip
Tip: Limited bandwidth, so if unavailable try first link or try again
later.

Simply extract demo5.zip and run compile.bat, no "installation" as
such is required.

The following text files are included in demo5.zip but are posted here
as an easy reference.

Enjoy,
Galleon

------------------------------------------------------------------
readme.txt
------------------------------------------------------------------
QB64 COMPILER V0.5 DOCUMENTATION
================================
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.BAT. It will
prompt you to enter the .BAS file's name. Make sure your .BAS file was
saved in text format not the QB4.5 compressed file format.

Due to the large volume of example .BAS files which Demo #5 can
compile they have been put into a folder called "samples". Please read
"samples.txt" for an explanation about each example.

QB64 is still in development and many things still need to be
implemented. However Demo #5 has significantly more implemented QB
features than unimplemented. So you can understand the limitations of
Demo #5 a list of UNIMPLEMENTED features is provided. EVERYTHING ELSE
WORKS!

Demo #5 Restrictions/Unimplemented Features
1. Cannot create formal subs or functions (So also cannot use DECLARE,
BYVAL, ANY, CDECL, ALIAS, CALL, CALLS, DEF FN, SHARED, COMMON)
2. Cannot use user defined types
3. Cannot use ON ... EVENTS (however, ON ERROR GOTO and error handling
is implemented)
4. Cannot use metacommand $INCLUDE
5. Cannot use CONST
6. Cannot use TRON/TROFF
7. Cannot use COM, SCRN, LPT, KYBD, CONS in an OPEN statement
8. Cannot call machine code (CALL ABSOLUTE, CALL INTERRUPT)
9. Port access is still very limited:
OUT &H3C8 & &H3C9 work
INP &H3DA & &H60 work
10. Cannot use the following DOS file commands: CHAIN, SHELL, FILES,
KILL, NAME, FILEATTR, CHDIR, MKDIR, RMDIR, ENVIRON, ENVIRON$, RUN
11. The following commands are also unavailable: PRINT[#]USING,
LPRINT, LPOS, DRAW, PLAY, CLEAR, FIELD, LOCK, UNLOCK, IOCTL, IOCTL$,
PEN, STICK, STRING, SETMEM, FRE, FIELD

Known issues:
1. Error handling is done incorrectly. (will be fixed in Demo #6)
Example of problem:
ON ERROR GOTO 10
PRINT SQR(-1) 'reports the error, but after resume still prints 0
END
10
RESUME NEXT
2. BIT-type variables/arrays are not fully implemented in certain subs/
functions which are passed their offset. (will be fixed in Demo #6)
3. Variables and/or arrays sharing the same name sometimes cause
problems. QB64 is designed to support multiple arrays and variables of
different types sharing the same name, but in some rare cases this
doesn't work yet. (will be fixed in Demo #6)
4. Certain functions which accept a floating point number always
return a DOUBLE precision answer. (will be fixed in Demo #6)
Example of problem:
PRINT SIN(1.234!) 'prints a longer answer in QB64 than in QBASIC
(Please report any other problems you encounter so they can be fixed
for Demo #6)

What features does QB64 have that QBASIC doesn't?
-------------------------------------------------
INPUT statement uses input protection which stops the user from typing
in invalid data before they can press ENTER. Try it with fixed length
strings to limit how many characters a user can enter. No more "REDO
FROM START" messages!
-------------------------------------------------
DATA TYPES & THEIR USAGE:
_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
-------------------------------------------------
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
-------------------------------------------------
For RANDOM access files, record lengths can be greater than 32767
bytes. Variable length string headers allow for larger strings whilst
still being 100% QB compatible with smaller strings.
-------------------------------------------------
BLOAD/BSAVE can save/load 65536 bytes, not just 65535
-------------------------------------------------
_ROUND can also be used to round values to integers (CINT & CLNG
imposed limitations on the output)
-------------------------------------------------
Graphics 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 eg.
GET (-10,-10)-(10,10),a,3
Graphics 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.


------------------------------------------------------------------
samples.txt
------------------------------------------------------------------
The following sample .BAS programs can be found in the "samples"
folder.
COMPILE
QB64 COMPILER V0.50
COMPILE (.BAS)>.\samples\xwing
COMPILING C++ CODE INTO EXE...
XWING.BAS COMPILED TO XWING.EXE SUCCESSFULLY!
XWING
Notes:
i) The *s are the rating of how "fun" I think the example is (out of
5)
ii) Compilation of large .BAS files can take a while, be patient. This
won't be the case in later demos (because compilation data won't need
to be stored in temp files after the compiler can self compile).

3DBALLS.BAS ***
Coded by: Antoni Gual
Contributed by: Galleon
Description: 3D balls
Modifications: none

AKLABETH.BAS *****
Coded by: Richard C Garriott
Contributed by: Galleon
Description: "Akalabeth: World of Doom" is the predecessor of the
Ultima series of role playing games
Modifications: i. CLEAR statement commented
ii. "END"s instead of restarting to avoid problems associated with (i)

ASCIPONG.BAS ****
Coded by: Qbguy
Contributed by: Qbguy
Description: ASCII pong
Modifications: none

CUBEROT.BAS **
Coded by: Entropy, Antoni Gual
Contributed by: Galleon
Description: Rotating cube
Modifications: none

FLRMP.BAS **
Coded by: Antoni Gual
Contributed by: Galleon
Description: Floor mapper
Modifications: none

FOREST.BAS ***
Coded by: Antoni Gual
Contributed by: Galleon
Description: A forest scene with rippling reflecting water
Modifications: none

GUJERO.BAS ***
Coded by: Antoni Gual
Contributed by: Galleon
Description: A 3D spiral tunnel effect
Modifications: i. ffix and its declaration commented

KITE.BAS ****
Coded by: Mennonite
Contributed by: Mennonite
Description: Displays a moving kite using ASCII graphics with the
message QB64
Modifications: none

LISSAJ.BAS **
Coded by: Antoni Gual
Contributed by: Galleon
Description: Draws lines of different wavelengths to create patterns
Modifications: none

MANDALA.BAS ***
Coded by: Antoni Gual
Contributed by: Galleon
Description: Connects points around a circle to create patterns
Modifications: none

MANDELB.BAS **
Coded by: Antoni Gual
Contributed by: Galleon
Description: A mandelbrot fractal
Modifications: i. ffix and its declaration commented

MATRIX.BAS **
Coded by: Antoni Gual
Contributed by: Galleon
Description: Like the code as seen in the movie (too fast)
Modifications: none

MESSAGE.BAS ****
Coded by: Qbguy
Contributed by: Qbguy
Description: A plays a musical secret code representing a line of text
Modifications: none

PATTERN.BAS *
Coded by: Antoni Gual
Contributed by: Galleon
Description: Strange patterns appear out of seemingly random data
Modifications: none

RC-ENT6.BAS *****
Coded by: Antoni Gual
Contributed by: Galleon
Description: Raycaster with textured walls, sky & floor using
INP(&H60) for input
Modifications: i. SUB raytrace integrated into main module
ii. ffix and its declaration commented
iii. Wait for vertical retrace added

REPLICAT.BAS ***
Coded by: Qbguy
Contributed by: Qbguy
Description: A one line program which prints itself, character for
character, to the screen
Modifications: none

ROT13.BAS ***
Coded by: Mennonite
Contributed by: Mennonite
Description: Encrypts a line of text to make it harder to read
Modifications: none

ROTOZOOM.BAS **
Coded by: Antoni Gual
Contributed by: Galleon
Description: An pattern rotates while zooming in and out
Modifications: none

SINECUBE.BAS ****
Coded by: Mennonite
Contributed by: Mennonite
Description: 3D cube made out of little cubes using a special formula
Modifications: none

SSAVER.BAS *
Coded by: Qbguy
Contributed by: Qbguy
Description: A screensaver which draws randow colored circles
Modifications: none

STRFLD.BAS *
Coded by: Antoni Gual
Contributed by: Galleon
Description: A starfield, like the old screen savers (too fast)
Modifications: none

TWIRL2.BAS ***
Coded by: Antoni Gual
Contributed by: Galleon
Description: Like seeing 100 flavours of ice cream being mixed
together...
Modifications: none

VORTEX.BAS *
Coded by: Antoni Gual
Contributed by: Galleon
Description: A colorful black hole effect (too fast)
Modifications: none

WUMPUS.BAS *****
Coded by: Gregory Yob
Contributed by: Qbguy
Description: The well known BASIC game... "Hunt the Wumpus"
Modifications: i. DEF FN statements recoded by Qbguy using a
workaround

XWING.BAS ****
Coded by: Michael Know Wausau Wi
Contributed by: Galleon
Description: Destroy Tie Fighters, Darth Vader and the Death Star in
an Xwing (note: Some SOUND effects aren't handled correctly by QB64
yet)
Modifications: i. DEFINT relocated for QBASIC compatibility
ii. Workaround used to replace PLAY "P..." used for timing
iii. Workaround used to replace DRAW "..." statements
iv. Workaround used to replace ON KEY(...) statements
v. Keyboard controls F1 & F2 changed to SPACEBAR and ENTER
Oyster
2008-01-28 05:35:53 UTC
Permalink
can not download. If you register at pages.google.com, you can get
100M for your own website, and you can upload files/pics here

Loading...