DOWNLOAD QB64 DEMO V0.7 NOW!byDownload (~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! from IP address 58.106.166.186 |