Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

MS BASIC, Sinclair BASIC, STOS BASIC: derivatives comparison?

67 views
Skip to first unread message

Ivan Shmakov

unread,
Nov 26, 2012, 12:32:10 AM11/26/12
to
I see that there're a number of derivatives of MS BASIC,
Sinclair BASIC, and STOS BASIC still in active development
(e. g.: QB64, MMBasic; BASin; sdlBasic.) And, as it seems,
there's a renewed interest in smaller, "BASIC-as-an-OS"
computers (check, e. g., Maximite [1] and its derivatives.)

I wonder if there's a good comparison of their respective
features? I'm especially interested in any of them being
compared to either Beta BASIC (a Sinclair BASIC derivative,
presumably no longer in development), or its derivatives
(SAM BASIC, MasterBASIC.)

TIA.

[1] http://en.wikipedia.org/wiki/Maximite

--
FSF associate member #7257

SamTek

unread,
Nov 26, 2012, 1:05:38 PM11/26/12
to
i think only bbc basic for the spectrum might stand a chance of using
a second processor as a coprocessor though - also its the only one
with a built in z80 assembler unfortunately it still doesnt 128 or
interlace or +D isciple and certainly doesnt sam coupe external ram
above 32,768 for 6mhz what a shame - be ncie if the coprocessor
version could handle interface 1 and sam networking or even serial or
parallel ports no?

Auric__

unread,
Nov 26, 2012, 1:47:46 PM11/26/12
to
SamTek wrote:

> i think only bbc basic for the spectrum might stand a chance of using
> a second processor as a coprocessor though - also its the only one
> with a built in z80 assembler unfortunately it still doesnt 128 or
> interlace or +D isciple and certainly doesnt sam coupe external ram
> above 32,768 for 6mhz what a shame - be ncie if the coprocessor
> version could handle interface 1 and sam networking or even serial or
> parallel ports no?

I have two gifts for you:

,
.

They're handy for seperating your thoughts into manageable chunks.

--
If it's too loud, you're too old.

Andrew Owen

unread,
Nov 28, 2012, 7:02:43 PM11/28/12
to
Not aware of any comparison of the features of these specific dialects,
but broadly speaking:

* Sinclair BASIC has advanced string slicing functions and garbage
collection.

* Beta/SAM/MasterBASIC added advanced functions and procedures to
Sinclair BASIC.

* STOS (and later AMOS) includes game related functions like sprites and
music handling

* MS BASIC is essentially derived from the original Dartford BASIC but
includes support for DOS file handling

* QBASIC got rid of the need for line numbers and added support for more
advanced features

Just as an asdie, one of the best dialects of BASIC was Mallard BASIC
for CP/M. It had really advanced file handling support to the point you
could have written a pretty advanced database in it.

Ivan Shmakov

unread,
Dec 6, 2012, 12:53:27 AM12/6/12
to
>>>>> Andrew Owen <aow...@mail.bbk.ac.uk> writes:
>>>>> On 26/11/2012 05:32, Ivan Shmakov wrote:

[Bringing news:comp.sys.sinclair back, as I'm particularly
interested in Sinclair BASIC derivatives.]

>> I see that there're a number of derivatives of MS BASIC, Sinclair
>> BASIC, and STOS BASIC still in active development (e. g.: QB64,
>> MMBasic; BASin; sdlBasic.) And, as it seems, there's a renewed
>> interest in smaller, "BASIC-as-an-OS" computers (check, e. g.,
>> Maximite [1] and its derivatives.)

>> I wonder if there's a good comparison of their respective features?

[...]

>> [1] http://en.wikipedia.org/wiki/Maximite

> Not aware of any comparison of the features of these specific
> dialects, but broadly speaking:

> * Sinclair BASIC has advanced string slicing functions

Which is v$(n TO m)?

> and garbage collection.

I don't quite understand how garbage collection is applicable to
Sinclair BASIC?

> * Beta/SAM/MasterBASIC added advanced functions and procedures to
> Sinclair BASIC.

Is there a publicly-available reference anywhere, BTW?

[...]

> * MS BASIC is essentially derived from the original Dartford BASIC

(I guess Dartmouth BASIC is meant here.)

> but includes support for DOS file handling

Huh? How this was applicable to Altair 8800? (The first
computer to run MS BASIC, AKA Altair BASIC, as per [2].)

[2] http://en.wikipedia.org/wiki/MS_BASIC

> * QBASIC got rid of the need for line numbers and added support for
> more advanced features

I believe it was Quick BASIC (of which QBasic is a later,
stripped down version) that made line numbers optional.

> Just as an asdie, one of the best dialects of BASIC was Mallard BASIC
> for CP/M. It had really advanced file handling support to the point
> you could have written a pretty advanced database in it.

ACK, thanks. As it seems, it's documented in the Spectrum +3
CP/M Plus manual, as available from WoS [3].

[3] http://www.worldofspectrum.org/Plus3CPMManual/index.html

ne...@rtrussell.co.uk

unread,
Dec 6, 2012, 12:00:18 PM12/6/12
to
On Dec 6, 5:53 am, Ivan Shmakov <oneing...@gmail.com> wrote:
> Which is v$(n TO m)?

Not sure that this is any more 'advanced' than MID$(v$,n,m-n+1) - just
a different and non-standard syntax.

> I believe it was Quick BASIC (of which QBasic is a later,
> stripped down version) that made line numbers optional.

I don't think it's entirely fair to call QBasic a 'stripped down'
version of QuickBasic. Although using basically the same source
syntax, QuickBasic was a compiler and QBasic an interpreter, so very
different in their intended applications.

BBC BASIC has already been mentioned, and (even though I'm prejudiced)
should definitely be included on any list of BASICs 'still in active
use'. Probably ported to more CPUs (7) and platforms (30) than any
other BASIC, except perhaps 'generic' MS BASIC:

http://mdfs.net/Software/BBCBasic/

BBC BASIC is distinguished by its assembler, C-like indirection
operators and adaptability. It was one of the first dialects of BASIC
(if not the very first) to make GOTOs and GOSUBs obsolete (although
still available for compatibility) by providing control structures
(e.g. REPEAT UNTIL) and functions callable by name.

Richard.
http://www.rtrussell.co.uk/

Paul Bartlett

unread,
Dec 6, 2012, 2:40:16 PM12/6/12
to
On Thu, 6 Dec 2012, ne...@rtrussell.co.uk wrote (trimmed):

> I don't think it's entirely fair to call QBasic a 'stripped down'
> version of QuickBasic. Although using basically the same source
> syntax, QuickBasic was a compiler and QBasic an interpreter, so very
> different in their intended applications.

I would have to dig out old manuals (I have both QuickBasic 4.5 and
QBasic, although I haven't used them in a long time), but as I recall
QB 4.5 allowed somewhat larger program code space, had a larger DGROUP,
and had a few more features than QBasic. However, they were/are highly
similar, and to the best of my knowledge, it would be legitimate to
call QBasic a *slightly* cut down interpreter based on the compiler. I
have one encryption / decryption program that I wrote and compiled with
QB 4.5 which I still use regularly under Win XP Pro SP3. I haven't
tried, but I think it would work under QBasic.

--
Paul Bartlett

Todd Vargo

unread,
Dec 6, 2012, 4:17:49 PM12/6/12
to
On 12/6/2012 2:40 PM, Paul Bartlett wrote:
> On Thu, 6 Dec 2012, ne...@rtrussell.co.uk wrote (trimmed):
>
>> I don't think it's entirely fair to call QBasic a 'stripped down'
>> version of QuickBasic. Although using basically the same source
>> syntax, QuickBasic was a compiler and QBasic an interpreter, so very
>> different in their intended applications.

'stripped down' has long been the accepted definition. While Qbasic (the
freebie) is an interpreter only, it was (is) a subset of QuickBasic (an
interpreter with a complier).

>
> I would have to dig out old manuals (I have both QuickBasic 4.5 and
> QBasic, although I haven't used them in a long time), but as I recall
> QB 4.5 allowed somewhat larger program code space, had a larger DGROUP,
> and had a few more features than QBasic. However, they were/are highly
> similar, and to the best of my knowledge, it would be legitimate to
> call QBasic a *slightly* cut down interpreter based on the compiler. I
> have one encryption / decryption program that I wrote and compiled with
> QB 4.5 which I still use regularly under Win XP Pro SP3. I haven't
> tried, but I think it would work under QBasic.
>

The QBasic help identifies specific *QuickBasic* keywords which are not
supported in QBasic, as well as suggests MS products (ie. VBDOS) when
more power than QBasic is needed. With both products, it is easy enough
to compare help files for various environment limitations.

As far as your encryption program goes, QBasic does not support
COMMAND$, so a bit of modification would likely be needed.

--
Todd Vargo
(Post questions to group only. Remove "z" to email personal messages)

ne...@rtrussell.co.uk

unread,
Dec 6, 2012, 5:27:06 PM12/6/12
to
On Dec 6, 9:17 pm, Todd Vargo <tlva...@sbcglobal.netz> wrote:
> 'stripped down' has long been the accepted definition.

Accepted by whom? Not by me! Look in any dictionary and you'll find
that "stripped down" means 'reduced to the bare essentials', 'reduced
to its simplest form' or 'having only essential features'. None of
those descriptions applies to QBasic: there are a few features of
QuickBasic that it doesn't support but in most cases that is a result
of them being incompatible with an interpreted language.

Richard.
http://www.rtrussell.co.uk/

ralph

unread,
Dec 6, 2012, 6:19:54 PM12/6/12
to
Not sure just how 'stripped' something has to be before it crosses the
line into *truly* 'stripped down', but no matter how stringently you
choose to draw that line, IMHO, QBasic will still fit the description
of a *stripped* version of QuickBasic.

It is nothing but the same basic engine* of QuickBasic 4.5 (pun
intended) stripped of an editor, limited to small-model, stripped of
the ability to save compiled* programs, stripped, stripped, ...

Perhaps it would help if you would explain - How many "strips" it
takes to make it officially "stripped down", or what particular item
that wasn't stripped that allows it to avoid being "stripped down"?
<g>

-ralph
[*engine - I'm throwing in the parser and interpretor.
*compiled - is always a ticklish subject. It can get confusing
because ALL Microsoft Basics go through a mininum of two levels of
very similar (if not identical) "parsing" and "interpretation",
whether they are compiled or not. The only difference is when and how
often. <g>]

Paul Bartlett

unread,
Dec 6, 2012, 8:30:48 PM12/6/12
to
On Thu, 6 Dec 2012, Todd Vargo wrote (trimmed):

> On 12/6/2012 2:40 PM, Paul Bartlett wrote:

>> However, they were/are highly
>> similar, and to the best of my knowledge, it would be legitimate to
>> call QBasic a *slightly* cut down interpreter based on the compiler. I
>> have one encryption / decryption program that I wrote and compiled with
>> QB 4.5 which I still use regularly under Win XP Pro SP3. I haven't
>> tried, but I think it would work under QBasic.

> As far as your encryption program goes, QBasic does not support COMMAND$, so
> a bit of modification would likely be needed.

That turned out to be easy enough to handle: I didn't use COMMAND$. :)
The program just has prompts. The net amount of keying would be about
the same, whether the user typed on the command line or in response to
prompts, and in fact using prompts avoided having to parse a command
string. However, with respect to running it under Win>=98, you have to
use 8.3 paths and filenames, of course.

--
Paul Bartlett

Todd Vargo

unread,
Dec 6, 2012, 11:40:59 PM12/6/12
to
Sounds primitive. :)

Dropping a file Under Win9x/Me, provides an 8.3 spec whereas >=Win2k
versions provide LFNs. Some people obtain the 8.3 spec from an LFN spec
and restores the LFN after a file has been written back. Just sayin.

Todd Vargo

unread,
Dec 6, 2012, 11:55:31 PM12/6/12
to
I forgot to include the disclaimer, YMMV.

ne...@rtrussell.co.uk

unread,
Dec 7, 2012, 5:01:31 AM12/7/12
to
On Dec 6, 11:19 pm, ralph <nt_consultin...@yahoo.com> wrote:
> Perhaps it would help if you would explain - How many "strips" it
> takes to make it officially "stripped down"

Here's a test you can apply. If a BASIC has both LEFT$ and MID$ it
has not been "stripped down", since as the functionality of LEFT$ can
be achieved using MID$ it is non-essential (the dictionary definition
of "stripped down" is that it has been reduced to the bare
essentials).

Richard.
http://www.rtrussell.co.uk/

Ivan Shmakov

unread,
Dec 7, 2012, 9:05:30 AM12/7/12
to
>>>>> news@rtrussell co uk <ne...@rtrussell.co.uk> writes:
>>>>> On Dec 6, 5:53 am, Ivan Shmakov <oneing...@gmail.com> wrote:

>> Which is v$(n TO m)?

> Not sure that this is any more 'advanced' than MID$(v$,n,m-n+1) -
> just a different and non-standard syntax.

However, it saves a couple of keywords (just a single TO,
instead of LEFT$, MID$ and RIGHT$), which should've been
important in a BASIC which mapped both characters /and/ keywords
to the same set of 256 possible octets.

(Also to note is that as an extension, Beta BASIC allowed for
the TO syntax to be used on arrays.)

Given that I'm musing over the possibility of writing (one more)
BASIC interpreter for an MCU, -- either an 8-bit AVR, or an
32-bit ARM, or perhaps both, -- I guess I'd be more interested
in following the Sinclair BASIC syntax. (Or should I check if
MMBasic can be improved to suit my needs first?)

[...]

Todd Vargo

unread,
Dec 7, 2012, 2:09:32 PM12/7/12
to
MID$ existed prior to QuickBasic. You are reaching outside the statement
that you disagreed with here.

Ivan> "Quick BASIC (of which QBasic is a later, stripped down version)"

Richard> "I don't think it's entirely fair to call QBasic a 'stripped
down' version of QuickBasic."

http://dictionary.reference.com/browse/stripped+down?s=t

ralph

unread,
Dec 7, 2012, 11:03:02 PM12/7/12
to
By that definition no language can be "stripped down" as long as it
has an If and a Goto.

-ralph

ne...@rtrussell.co.uk

unread,
Dec 8, 2012, 5:52:03 PM12/8/12
to
On Dec 8, 4:03 am, ralph <nt_consultin...@yahoo.com> wrote:
> By that definition no language can be "stripped down" as long as it
> has an If and a Goto.

Well, some sort of conditional test must be present for it to be
Turing-complete. But I agree that there is probably *no* language
that can meet the dictionary definition of "stripped down". However
that doesn't mean that you can choose to use the phrase in a sense
different from what the dictionary says: better not to use it at all.
The correct use of English matters!

Richard.
http://www.rtrussell.co.uk/

Phred

unread,
Dec 12, 2012, 8:55:32 AM12/12/12
to
In article <6452f8e4-55c9-4638...@p17g2000vbn.googlegroups.com>, "ne...@rtrussell.co.uk" <ne...@rtrussell.co.uk> wrote:
Except here in Oz where students (and teachers) haven't been able to
use, or comprehend, correct English for several decades.



Cheers, Phred.

--
ppnerk...@THISyahoo.com.INVALID

0 new messages