Suggested hardware and tutorials for BASIC language?

Community created YouTube tutorials, interviews and helpful online information guides.
Post Reply
seastalker
Posts: 268
Joined: Tue Jun 02, 2020 6:49 pm
Has thanked: 30 times
Been thanked: 55 times

Suggested hardware and tutorials for BASIC language?

Post by seastalker »

I've had a backburner hobby project on my mind for a while now: re-learning (well, closer to just LEARNING) how to program in BASIC.

I was raised on an Atari 800XL but my sibling was much better at actually writing software. We did type-in programs from magazines too. Knowing one can learn/run basic on a PC even, I still thought it may be more fun to get back into BASIC on a retro machine, or rather one in a MiSTer core.

Even attached to the Atari 8 bit line, that might be cloudy judgement. I do remember that the C64 may or may not have had more commands to work with, and perhaps a BBC Micro crowd might say their way is best.

Perhaps this space may be both a fun spot for newcomers to the basic language, as well as for those more experienced to discuss the various differences, likes and dislikes of the systems. Beyond the manuals and PDFs we can access for 8 bit machines, are there suggested tutorial videos for those that learn better this way?

Maybe some of you know various revisions to suggest skipping older versions (or RAM capabilities) that would otherwise be too frustrating? For example, even if there were or weren't fundamental differences to the set of commands one can use, perhaps an Atari 400 or Commodore Pet may make testing/running programs too slow to enjoy? There is even a modern 8 bit computer called the LM80C (could use some more software anyway):
https://www.atari-forum.com/viewtopic.p ... 17#p475717

I'm sure there are even questions that newcomers don't even know to ask or consider when starting.

Bas
Top Contributor
Posts: 667
Joined: Fri Jan 22, 2021 4:36 pm
Has thanked: 86 times
Been thanked: 347 times

Re: Suggested hardware and tutorials for BASIC language?

Post by Bas »

There's a bazillion BASIC dialects to choose from, that were included on many computers. The C64 that I grew up with doesn't exactly have the strongest version around (and I'm putting that mildly), but I can wholeheartedly recommend the C64 Programmers' Reference Guide as a manual. It documents programming for the machine quite well. I followed it along before I was 10 years old. Flying that sprite-balloon across the screen was a defining moment in what would become an IT-career.

When push really does come to shove, though, you transition to programming Assembly on an 8-bit micro. ;-)

mdkoehn
Posts: 6
Joined: Thu Aug 18, 2022 5:46 pm
Has thanked: 1 time
Been thanked: 1 time

Re: Suggested hardware and tutorials for BASIC language?

Post by mdkoehn »

BBC Basic, on the BBC Micro and later Acorn machines, is regarded as one of the better 8-bit basics. It relies much less on PEEKing and POKEing, compared to Commodore basic.

R.T. Russell maintains many ports of BBC basic. Ports to modern platforms are available. https://www.bbcbasic.co.uk/index.html

User avatar
Chris23235
Top Contributor
Posts: 1028
Joined: Sun May 24, 2020 8:45 pm
Has thanked: 137 times
Been thanked: 211 times

Re: Suggested hardware and tutorials for BASIC language?

Post by Chris23235 »

The Atari Basic was quite good, much better then the C64 Basic where you had no graphics or sound commands. On the Atari you were able to utilise the graphic and sound capabilities of the computer from within the Basic in an acceptable speed.
If you are looking for good classic 8-Bit Basics the BBC Basic is the best structured you will find. For the Atari 8-Bit computers I would recommand Turbo Basic which was as the name suggests fast.
Probably the best experience when it comes to 8-Bit Basic dialects is the ZX Spectrum Next Basic. It is fast, easy to learn and very well structured.

Bas
Top Contributor
Posts: 667
Joined: Fri Jan 22, 2021 4:36 pm
Has thanked: 86 times
Been thanked: 347 times

Re: Suggested hardware and tutorials for BASIC language?

Post by Bas »

Simon's BASIC on the C64 provided some much-needed improvement. But it's 3rd-party. If you're going for the 8-bit Commodore platform, the C128 has the much-improved version 7.0 on board.

Malor
Top Contributor
Posts: 880
Joined: Wed Feb 09, 2022 11:50 pm
Has thanked: 67 times
Been thanked: 196 times

Re: Suggested hardware and tutorials for BASIC language?

Post by Malor »

There are a lot of BASIC dialects, so it's mostly a matter of what era you want to emulate.

If you want to run on an 8-bit machine, the BBC Micro has probably the best dialect, with a super-rich ROM with tons of callable services, and quite a number of graphics and sound-handling routines built right into BASIC, which is unlike most other dialects. It's also a very fast implementation. Between its 2MHz processor (twice the speed of most American 8-bits) and its extremely efficient programming, that dialect was noticeably faster than pretty much anything else in that timeframe. IIRC, it beat BASICA and GWBASIC on the PC up until the really fast 8088 and early 80286 chips shipped. Like all 8-bits, it's pretty limited in terms of the size of the programs you can write. (typically around 40K with most 8-bits, but it varies per core. 38911 bytes on the C64, for instance, which it tells you on every boot.) The Micro had the ability to do RAM pageswapping, however, and it's possible its BASIC could take some advantage of that for extra room, like the Commodore 128 did. I don't know if it actually does, I've never done meaningful programming on BBC BASIC.

That said, I don't think the BBC Micro core on the Mister is super featureful. I haven't used it much. I'm not sure how comfortable it would be for serious use.

If you want the best BASIC on the Mister, QuickBASIC on the AO486 core should be really good. (I haven't actually tried it, and the AO486 is kind of weird, so there could be compatibility problems.) It's a massive improvement over 8-bit BASICs, does away with line numbers, supports "structured programming" (calling functions and subroutines by name instead of GOTO and GOSUB to line numbers), offers local variables (variables per function/subroutine, which is a MASSIVE improvement over the all-global variables in most other BASICs), supports much bigger programs, and is an actual compiler. It generates DOS binaries, rather than interpreting them, so programs end up being a lot faster. It's a huge improvement over the version your brother was using, which might actually be a negative feature in your case.

If you want a BASIC that works on modern platforms. arguably QuickBASIC 64 might be the one you want; it has the old QuickBASIC DOS/text interface, but generates binaries that will directly run on modern computers. That project seems to have undergone a really acrimonious team split, however. IIUC, the original qb64.com was more or less taken over by some person that never really did any coding or contributed in any way. The actual team seems to have moved to qb64phoenix.com.

There's also Visual BASIC from Microsoft, which was intended as their successor to QuickBASIC. It's an interpreter instead of a compiler, is very complex, is designed for programming on Windows, and gets little use or attention anymore. I've never followed it closely. I'm pretty sure that's not what you'd want. But it is an option.

User avatar
desin24
Posts: 32
Joined: Sat Jun 06, 2020 6:25 pm
Been thanked: 6 times

Re: Suggested hardware and tutorials for BASIC language?

Post by desin24 »

Don't forget the Sinclair QL and the Spectrum
both have Roms with Basic built in
for the QL look here
https://dilwyn.theqlforum.com/docs/eboo ... uction.htm
https://dilwyn.theqlforum.com/docs/eboo ... ywords.htm

thorr
Top Contributor
Posts: 1352
Joined: Mon Jul 06, 2020 9:37 pm
Has thanked: 661 times
Been thanked: 317 times

Re: Suggested hardware and tutorials for BASIC language?

Post by thorr »

I learned BASIC on the Apple II and loved it. I also learned GWBASIC on the PC XT, and QuickBASIC later. I also had Z-Basic on the Apple II which was absolutely stellar compared to the normal BASIC, and the code written for it could be reused on different computer types. If I had to pick one, I would probably use QuickBASIC because it has a bunch of great built-in capabilities and works on PC's. Also, at some point I would like to try Batari BASIC and try to make an Atari 2600 game. For a modern solution, try Visual BASIC.

seastalker
Posts: 268
Joined: Tue Jun 02, 2020 6:49 pm
Has thanked: 30 times
Been thanked: 55 times

Re: Suggested hardware and tutorials for BASIC language?

Post by seastalker »

I am absolutely adoring all feedback in this thread and am very thankful to you all! I am going to try and compare all options mentioned thus far.

Funny enough, a video appeared in my suggestions by youtuber "Kari". It is entertaining, and perhaps in comparison the LEAST desirable option:

Is this the worst programming language ever made?
https://www.youtube.com/watch?v=Pw97o4H ... MjYwMD8%3D

User avatar
_paul_
Posts: 70
Joined: Mon Aug 31, 2020 4:44 pm
Has thanked: 12 times
Been thanked: 19 times

Re: Suggested hardware and tutorials for BASIC language?

Post by _paul_ »

+1 for BBC BASIC. Of course, getting original hardware for that will be a challenge if you are in the US. The Acorn BBC came with an excellent user guide that you could actually use to learn BASIC.

BBC BASIC is also natively present on all Acorn Archimedes models (also on the MiSTer) and even Risc PC if you want to go 32 bits. Or go portable with the Cambridge Z88.

HistorianXYZ
Posts: 33
Joined: Thu Mar 13, 2025 2:43 pm
Has thanked: 1 time
Been thanked: 2 times

Re: Suggested hardware and tutorials for BASIC language?

Post by HistorianXYZ »

Here's an explanation of as many BASIC dialects as possible.

BASIC was invented in 1964, but for very primitive computers. I don’t know the makes or models, but I think they used punch cards and ticker tape.

Later on, BASIC became divided into two camps, which were DEC BASIC and Data General BASIC. The difference was mainly in handling strings, meaning sequences of characters.

Microsoft chose the DEC BASIC style for their first version of BASIC on the Altair 8800, then continued with this style. This means they used commands such as LEFT$, MID$, and RIGHT$. After this, most people creating new dialects of BASIC chose to follow suit. Some notable exceptions were Atari for their 8 bit computers, and Sinclair for their ZX80, ZX81, and ZX Spectrum computers. They could create a string up to 32K long, but the Microsoft/DEC style BASICs could only create much smaller strings.

Originally, BASIC had no commands for colour, graphics, or sound, but these were added later, when computers with these facilities were released.

Jack Tramiel, founder of Commodore did a deal with Microsoft in 1977 that for a one off payment of US$25,000 Commodore would be able to use it for as long as they liked, instead of paying US$3 per computer sold. Apple did a similar deal for their Apple II computer. Commodore added a few commands such as OPEN and CLOSE, each followed by various numbers, to deal with files and devices. After this, Microsoft were busy adding commands for colour, graphics and sound to their BASIC. These included SET and RESET (later PSET and PRESET) for plotting and unplotting pixels, LINE for drawing lines, etc, but Commodore didn’t want to buy an updated BASIC from Microsoft. Instead of this, they continued to use their BASIC without commands for colour, graphics or sound on their VIC-20 and Commodore 64 computers for the entire lifetimes of those computers! Lots of users of the VIC-20 and Commodore 64 wanted a BASIC that had commands for colour, graphics and sound, instead of using or failing to use numerous PEEK and POKE commands, so Commodore released cartridges called the Super Expander for the VIC-20 and the Super Expander 64 for the C64, which had commands to use these facilities. https://en.wikipedia.org/wiki/Super_Expander_64 However, Commodore made up their own commands, including GRAPHIC, BOX, SSHAPE, and GSHAPE. Apple DID go back to Microsoft for an updated BASIC, though. Commodore also bought and sold Simons’ BASIC with quite different commands, programmed by Commodore PET and C64 user David Simons. Lots of third party companies created and sold their own extended BASICs for the C64, each with different commands.

Atari had commands such as GRAPHICS, PLOT, DRAWTO, COLOR, and SETCOLOR for their 8 bit computers, including for their 128 then later 256 colours, but no commands for their sprites.

Acorn Computers created their own BASIC dialects, such as Atom BASIC for their Atom computer, then BBC BASIC for their BBC Microcomputer, after being awarded a contract by the BBC to create a computer for their Computer Literacy Project. BBC BASIC has a lot of influence from the Pascal language, with commands such as DEF PROC and END PROC for creating named procedures and PROC (name) for calling up those procedures instead of having to use GOSUB line number. Another PASCAL influence is that it also has long, meaningful variable names and structured programming, such as REPEAT UNTIL… loops, which can run either forever, or until the condition FALSE is met. BBC BASIC doesn’t use PEEK or POKE commands at all, because these have been replaced with a question mark “?” called an indirection operator. Acorn produced four ROM based versions of BBC BASIC for their 8 bit computers. A few years after BBC BASIC was released, Sinclair produced something called SuperBASIC for their not very popular QL computer, which is similar to BBC BASIC in many ways. Acorn later produced BBC BASIC V for their Archimedes computers, which are 32 bit ARM machines.

Meanwhile, Microsoft were upgrading their BASIC, which was bought in three different versions over the years by Tandy for their Color Computer, nicknamed “CoCo”. Microsoft also produced GWBASIC for PCs. These BASICs were combined and extended to produce an even more advanced BASIC for MSX computers, which are almost unknown in the USA. MSX was a standard for home computers which originated in Japan, created by a company called ASCII Microsoft, which had bought the rights to Microsoft products for the far east. MSX BASIC added commands for interrupts, as well as for designing sprites.

Meanwhile, in the UK, a consumer electronics company called Amstrad decided to bring out a computer which had a combination of lots of good features from other computers, as well as an excellent BASIC. They went to Locomotive Software, who then made them a BASIC based on BBC BASIC, but deleted the PASCAL type commands, kept the long variable names, then added commands for interrupts, as well as rewriting the BBC BASIC commands SOUND and ENVELOPE to give programmers more control over the AY-3-8912 sound chip than ever before. It was called Locomotive BASIC for the Amstrad CPC computers.

Later on, Commodore started releasing computers which had versions of their Super Expander BASICs built in. These were the Commodore 16, Commodore Plus/4 and Commodore 116 with Commodore BASIC V3.5 instead of V2 on the C64. Out of these three, the original and cheaper design Commodore 116 with a rubber keyboard was only available in Europe, with most of them sold in West Germany. Eventually, Commodore bought the rights to the Amiga computer and decided to go back to Microsoft to buy a version of BASIC for it. Microsoft provided Commodore with a version similar to their MacIntosh BASIC. AmigaBASIC has no need for line numbers, although it can use them if preferred, includes labels instead of line numbers for programs to jump to, commands for sprites, local variables, pull down menus, mouse control, and speech synthesis. As part of this deal, Commodore had to agree to acknowledge Microsoft on the startup screen of their Commodore 128 computer, which uses Commodore BASIC V7 Copyright Commodore 1985 and Microsoft 1977. Commodore BASIC V7 added a few commands to Commodore BASIC V3.5, including for controlling the SID sound chip.

Recommended reading includes “30 Hour BASIC” by BBC and NEC, published in different versions for most popular computers of the early 1980S in the UK. There are editions of this for Atari 8 bit, Acorn BBC, Commodore 64, Oric, Sinclair ZX81, Sinclair ZX Spectrum, as well as possibly some others, and a Standard or General edition. I won’t post a link, because there are so many versions. I can also recommend the BBC Micro User Guide on https://stardot.org.uk/forums/viewtopic.php?t=14024 Apart from this, I can recommend “SuperBASIC - The Definitive Handbook” https://sinclairql.speccy.org/archivo/d ... lsbtdh.pdf , as well as MSX BASIC Guide by JVC on https://hansotten.file-hunter.com/uploa ... sicjvc.pdf and the official AmigaBASIC manual on https://archive.org/details/Amiga_BASIC_1985_Commodore

Stinky
Posts: 105
Joined: Mon Nov 15, 2021 9:05 pm
Has thanked: 64 times
Been thanked: 17 times

Re: Suggested hardware and tutorials for BASIC language?

Post by Stinky »

ZX spectrum Next core, download the official manual it is awesome.

Malor
Top Contributor
Posts: 880
Joined: Wed Feb 09, 2022 11:50 pm
Has thanked: 67 times
Been thanked: 196 times

Re: Suggested hardware and tutorials for BASIC language?

Post by Malor »

HistorianXYZ wrote: Wed Mar 19, 2025 6:55 pm

AmigaBASIC

That's a fairly awful language, mostly because it's very slow and supports only very small programs. On a machine that can easily handle many megabytes, you're limited to 64K programs, maybe even 64K program plus data. It does have some pretty good facilities for playing with graphics, but doesn't scale.

If you want to use the Amiga core, there are aftermarket BASICs that are better. Blitz BASIC, for instance, is extremely fast and generates standalone binaries, like QuickBASIC on the PC. But I've tinkered with that a little bit in emulation, and it seems very unstable, so I'm not sure how easy it would be to work with.

The Amiga probably marked the main transition to C compilers. Using BASIC of any kind on that system is kind of an impedance mismatch.

I feel bad for the OP, because they probably had no idea they were asking such a complex question. "Which BASIC should I learn?" is very hard to decide. It changed many times in the last forty years. The modern answer is "Learn Python instead, it's better."

HistorianXYZ
Posts: 33
Joined: Thu Mar 13, 2025 2:43 pm
Has thanked: 1 time
Been thanked: 2 times

Re: Suggested hardware and tutorials for BASIC language?

Post by HistorianXYZ »

AmigaBASIC follows on from lots of other BASICs I mentioned. It doesn't support certain facilities on the Amiga, though. I think this is because it was ported from the MacIntosh. There's no easy way of loading a graphics screen, because the user doesn't know whereabouts in the RAM the screen will be placed. It does support drawing graphics, sprites, pull down menus, speech, and the mouse, though. Blitz BASIC is very good. AMOS BASIC started as STOS BASIC on the Atari ST and it turns off the Amiga OS, but Blitz BASIC runs under the Amiga OS.

Post Reply