Subject: QB64
From: rotaryeng
Date: 5/1/2012, 4:38 AM
To: AAAA Put this in the To box






  Paul:

  As you know there are lots of free Basic software out there.  The
  biggest question is how do they handle the hardware and USB ports etc.
  .  I haven't investigated this; but it is clear that much of it is for
  newer hardware then the old DOS type Basic software.  For example:

  QB64 (Windows, Mac OS X, Linux)
  This BASIC compiler aims to be 100% compatible with the QuickBasic 4.5
  compiler and the QBasic interpreter, but being able to create
  executable files that will run on modern Windows, Mac OS X and Linux
  systems. The language has also been extended to provide support for
  handling TCP/IP (internet) connections and email, displaying graphic
  files, playing stereo sound and music files, using animation,
  displaying True Type fonts, handling mouse and game controller input,
  integrating with C++, SDL and Windows API DLLs, etc. The compiler
  comes with its own IDE, although you can of course use some other
  editor if you prefer.


  Also look at this Basic list.
  http://www.thefreecountry.com/compilers/basic.shtml

  Much of this software will work in the Linux/ Puppy environment as
  well as MS.  Puppy is a much richer and more powerful l environment
  than DOS and is designed for high performance combined with simplicity
  (compared to both Linus and Windows environments).

  James

  It is the combination of DOS and Quick Basic. Both allow direct connection
 with the
  hardware. Quick Basic has hardware interrupt handling built in. We are
 looking at
  over 100 hardware interrupts in one second.

  That cannot be said about Windows or Linux. There is a multitasking
 scheduler in
  there that is making decision on how much of the resources you are allowed.
 You don't
  want a powerful multitasking OS. You want something small that gets out of
 the way of
  your real time program. DOS fits that almost perfectly.

  Paul Lamar

 Paul,

 There's always Real Time Linux if that's where you want to go.

 http://www.realtimelinuxfoundation.org/

 James,

 Can you provide a link to "This BASIC compiler", QB64 I assume?, that
 you mention above?

   Mark LaPierre




Mark

The link to QB64 is: http://www.thefreecountry.com/compilers/basic.shtml

Regarding the speed of Puppy:  It is much faster than any Linux or
Windows.  The whole thing resides in and executes out of the ram
memory...as little as 256K.  It normally does not access other storage
devices unless requested to do such.  It blazes!

I also believe it would not as likely interfere with direct access to
the hardware.  You can probably read and write directly to the
hardware memory map; however, I don't know this for sure.  Puppy is
quite different than anything else. All to regular OS BS is gone.  It
runs lean and mean.  Furthermore there is no learning curve on it.  It
just comes up and works.  It self installs including the drivers,
which are within the code package.  You will not  believe it until you
see it.  It will turn an old brick into a fast computer.  Lots of good
programmers are developing applications around it. It is rapidly
gaining users and supporters. It's utility packages alone are worth
having.  For example, you can set up, partition, and format a new hard
drive any way you want it, very easily...much more so than the OEM
software set up programs.   Do a search for Puppy Linux.

Jame

This is list of keywords not supported.

---------------------------------------------------
    ALIAS(supported in DECLARE LIBRARY only)
    ANY
    BYVAL(supported in DECLARE LIBRARY only)
    CALLS
    CDECL
    DECLARE (NOT required when using QB64)
    DECLARE (non-BASIC statement)
    DEF FN, EXIT DEF, END DEF
    ENVIRON (statement only)
    ERDEV, ERDEV$
    FILEATTR
    FRE
    IOCTL, IOCTL$
    LPT, CON, KBRD, SCRN and other devices are NOT supported!

    LPRINT and OPEN COM     ARE supported!

    ON PEN, PEN ON/OFF/STOP, PEN (function)
    ON PLAY(n), PLAY(n) ON/OFF/STOP. (PLAY music is supported! See notes below.)
    ON UEVENT

    SETMEM
    SIGNAL
    TRON, TROFF
    USB printers are supported! The default LPT printer SHOULD work with LPRINT and
_PRINTIMAGE!
    WIDTH LPRINT is currently NOT supported

----------------------------------------------------------------------
The ON key words are critical as they are the hardware interrupts.


Paul Lamar

-- The Rotary Engine News Letter. Powered by Linux. ACRE NL web site. http://www.rotaryeng.net You Tube key word PaulLamar2 Copyright 1998-2012 All world wide rights reserved.