DOWNLOAD QB64 DEMO #5 NOW!

by Galleon (no login)

 
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.

Run compile.bat to test these examples:
>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

Posted on Jan 26, 2008, 5:44 PM

Respond to this message   

Return to Index

Response TitleAuthor and Date
Looking good.Dav on Jan 26
 Morse Code Converter for QB64 Demo 5qbguy on Jan 27
Re: DOWNLOAD QB64 DEMO #5 NOW!Lachie Dazdarian on Jan 27
 What are you talking about? It supports Object Oriented Programmingqbguy on Jan 27
  Re: What are you talking about? It supports Object Oriented ProgrammingLachie Dazdarian on Jan 27
   Your direction is what you think is the most popular.roy on Jan 27
    *Organizing. I must join the "R" club lol.roy on Jan 27
   * Did you run the code? It orients an object-- see, Object Oriented Programingqbguy on Jan 27
 and they say that fb'ers aren't elitistmennonite on Jan 27
  Re: and they say that fb'ers aren't elitistLachie Dazdarian on Jan 27
   Seriously Lachieroy on Jan 27
    Re: Seriously LachieLachie Dazdarian on Jan 27
     Name me five people here that hate FB.roy on Jan 27
      Re: Name me five people here that hate FB.Lachie Dazdarian on Jan 27
       *I now know where you stand . Period.roy on Jan 27
       As a semi-neutral outside observerIain on Feb 21
        I completely agree...Pete on Feb 21
      * Pete, Pete, Pete, Pete, and PetePete on Jan 27
     Thinking outside the compiler for a second...maybe a minute....MystikShadows on Jan 27
      thanks for demonstrating the other reason i hate deleted threadsmennonite on Jan 27
      I never knew I was an extreme programmer!!Author of Recent U.A. Game (Lachie knows) on Jan 28
       Oh sorry, you need an IDE to go with that?Clippy on Jan 28
        ...OLPC on Jan 28
         *it uses () now?mennonite on Jan 28
          Optionally. of course...OLPC on Jan 28
           *oh, cool. nice to know.mennonite on Jan 28
        Re: Oh sorry, you need an IDE to go with that?notthecheatr on Jan 29
       * AFLAC! You quack me upDaffy Duck on Jan 28
      This I agree withnotthecheatr on Jan 29
 NO OFFENSE! You bastard prick go FB yourself !Clippy on Jan 27
  *don't mind lachie, he's been looking for something as fast as asm and never used forthmennonite on Jan 27
  *OK, I support mennonite's view of not deleting posts, but this is just insulting. DELETE?rpgfan3233 on Jan 27
   * Apparently you support discernment more. I know I do.Pete on Jan 29
  * Can you top Might Line?OLPC on Jan 29
 Yeah, Lassie go home. 'I’m not touching QB64 until is see it finalized.' Well...Dr. Phil on Jan 27
  Re: Yeah, Lassie go home. 'I’m not touching QB64 until is see it finalized.' Well...Lachie Dazdarian on Jan 27
   *Try learning C cause FB will NEVER be done LOLClippy on Jan 27
   i don't even think locate even worked in 0.01mennonite on Jan 27
  Re: Yeah, Lassie go home. 'I’m not touching QB64 until is see it finalized.' Well...notthecheatr on Jan 29
 To Lachie and this subforum moderatorThe PhyloGenesis on Jan 27
  Can Mac give Galleon moderator rights for this forumroy on Jan 27
   I think he shouldThe PhyloGenesis on Jan 27
    the reason i'm against it ismennonite on Jan 27
     * QB64 Off Topic. Mac, please create.roy on Jan 27
  Re: To Lachie and this subforum moderatorLachie Dazdarian on Jan 27
   Wow...The PhyloGenesis on Jan 27
    Re: Wow...Lachie Dazdarian on Jan 28
     *Your post would have got you banned at your own site! LOLClippy on Jan 28
Looks like my fake Vista Installer Works (* URL)qbguy on Jan 27
My old Battle Ship Game Works Tooqbguy on Jan 27
RE: DOWNLOAD QB64 DEMO #5 NOW!qbguy on Jan 27
Excellent Demo5 Galleon...MystikShadows on Jan 27
My introdutionjohnsonjunior on Jan 27
Re: DOWNLOAD QB64 DEMO #5 NOW!LaananFisher on Jan 27
this is great stuff, galleonmennonite on Jan 27
:( I hope this can be fixed...Pete on Jan 27
Re: DOWNLOAD QB64 DEMO #5 NOW!BadMrBox on Jan 29
 Kris Windsor had this problem too.Michael Calkins on Jan 29
 * It won't compile in Vista, yet. (But compiled programs should run in Vista.)OLPC on Jan 29
  *Compiled progs run in vista and can run full screen. Other langs use consoles = 0 full.Pete on Jan 29
  *OK, thanks for the info :).Anonymous on Jan 30
20cent per song! Legalize your mp3 collection!annejurse on Feb 14
 you need an asterisk on posts that are title only.Michael Calkins on Feb 14
brand new soconorthbeepp on Feb 20
 * Put an asterisk: ***qbguy on Feb 20

 Copyright © 1999-2017 Network54. All rights reserved.   Terms of Use   Privacy Statement  

Quantcast