Shared publicly  - 
 
This week: five BASICs for the 6502, to mark the 50th anniversary of the invention of BASIC. Our featured link shows six classic moments in BASIC, half of which are on 6502 machines. We've chosen Woz's Breakout, written in his Integer BASIC, which he wrote to be the first 6502 BASIC, and his claim to fame[0].

The second 6502 BASIC is a port of TinyBasic to the 6502, by Tom Pitman. Tiny Basic was a portable BASIC specified by Dennis Allison in the newsletter of the People's Computer Company in 1975. 
http://www.ittybittycomputers.com/IttyBitty/TinyBasic/

The third and multifarious BASIC is by Microsoft featuring the work of Bill Gates and Richard Weiland. It can offer four byte or five byte reals for a tradeoff of accuracy, speed and memory use. This is the BASIC used by Apple, Atari, Commodore, Ohio Scientific, Tangerine and others. An unlicensed version appears in the Compukit UK101. See Michael Steil's article[1] on the family tree of the BASICs and their Easter eggs. Beware the garbage collection bug as investigated at 
http://forum.6502.org/viewtopic.php?p=14409#p14409

Next, Acorn's BASIC first for the Atom and then expanded to meet the BBC's educational requirements for the Beeb and then the Electron. Uniquely it embeds a symbolic assembler for the 6502 or, generally, the host CPU. Subsequently ported to the ARM by the author Sophie Wilson for the Archimedes, a version you can now run on your Raspberry Pi for an equivalent performance of a 50GHz 20GHz 6502. (Also ported to the Z80 for Amstrad's NC100 and still available for the x86)

Finally, Lee Davison's EhBASIC is widely used in modern retro builds[2] and has a subforum of its own at
http://forum.6502.org/viewforum.php?f=5

Did we miss any? Let us know in the comments!

Hat tip to +Yves B

[0] http://www.woz.org/letters/apple-basic
[1] http://www.pagetable.com/?p=43 and http://www.pagetable.com/?p=46
[2] https://github.com/sethm/symon/tree/master/samples/ehbasic and 
https://github.com/jefftranter/6502/tree/master/asm/ehbasic
Seven moments in the life of a great programming language
36
5
Jeroen Wiert Pluimers's profile photoDave LeCompte's profile photoAustin Duffield's profile photoKonstantinos Dimopoulos's profile photo
18 comments
 
Small correction: I don't think Atari used Microsoft BASIC.  The reason the dialect is so strange is because they couldn't find a way to shrink MS BASIC into 8KB of ROM, so they ended up with a custom implementation.  https://en.wikipedia.org/wiki/Atari_Microsoft_BASIC  Microsoft BASIC was available as an after-market purchase, but don't recall reading of significant up-take in the market.
Ed S
+
1
2
1
 
Nice point - that's a sixth 6502 BASIC then, by Shepardson Microsystems: "Because of a bonus clause in the contract, development proceeded quickly and an 8K cartridge was available just before the release of the machines. Because Atari BASIC was delivered before Microsoft BASIC, Atari took it with them to the 1979 CES."
 
Counting 6502 Basic implementations? What about
- Famicom/Family-Basic for the Famicom/NES
- Atari 2600 Basic (well, ok, only kinda BASIC :)
- Spectravideo CompuMate
- Microprofessor II & III (ok, based on Applesoft, but heavyly modified)

Well, I'm not sure what BASIC developments/ports where available for the Elektor Junior Computer, But I remember some unusual features.
Ed S
 
Thanks! Hudsonsoft's HuBASIC indeed seems to be independent, though possibly borrowing syntax from MS. Will look the others up when I have a better connection - links always appreciated!
 
+Ed S ofc it's always a matter where to draw the line. They have to follow basic BASIC syntax to be a BASIC, isn't it :)) And when introducing a new instruction you usually look how others caleld it. I woudl even go as far and let derivates of the same original codebase count as different, when a reasonable amout of changes are done - or better puting it the other way arround - as long as just more tokens are added it should be considered still the same, but when the editor/tokenizer/interpreter/memory management gets changed, it might qualify as an independant development (sitll derivated maybe).
Ed S
 
Indeed many ways to count. We chose to count independent codelines, hence counting all MS variants as one - the pagetable article is very good, so we make no apology for linking to it more than once. It might be interesting to check a disassembly of each codeline to see that they are indeed independent.
Ed S
 
(Added a second pagetable link - thanks Jac) 
 
Anyone know of a tutorial for the Atari 2600 BASIC?​
Ed S
 
There are a few hits on YouTube that might be relevant but my connection's too poor to check them.
 
Atari 2600 Graduate BASIC was by Microsoft.

Non-Microsoft 6502 BASICs:
Acornsoft BASIC for the Acorn BBC Micro, Electron and perhaps Atom.
Advan BASIC for the Atari.
Frank Ostrowski's Turbo BASIC for Atari.
OSS BASIC for Atari (based on Atari BASIC).
 
That's true.  I've heard many consider Acorn BASIC to be one of the best dialects to exist for any platform.
 
As well as the 2600's "BASIC Programming" cartridge, what about bAtari BASIC?

Simon's BASIC for the C64 - was that a full interpreter or just an extension?


And Z80 versions of BBC BASIC include generic CP/M, Amstrad CPC, Tatung Einstein, the BBC's Z80 second processor, and it was also built into the Cambridge Z88.
 
Tiny BASIC was available for the KIM-1.
There was a Microsoft BASIC ROM available for the Rockwell AIM-65.
 
There was a BASIC called 'Family BASIC' for the NES. I do not know whether it was by Microsoft.
 
There were also Basic XE and Basic XL sold mainly on cartridges for Atari series. 
Add a comment...