What is Beginner's All-purpose Symbolic Instruction Code (BASIC)?

Not an OS, but a complete instruction set attached to the OS

BASIC (Beginner's All-purpose Symbolic Instruction Code) was released in 1964 at Dartmouth College. It was originally designed as the interactive mainframe time-sharing programming language for the Dartmouth Time Sharing System (DTSS) OS by Hungarian John Grorge Kemény (Kemény János György, pictured below) and Thomas Eugene Kurtz. The original version of the language was later referred to as Dartmouth BASIC.

By Source, Fair use, https://en.wikipedia.org/w/index.php?curid=33752493

For the fiftieth (50th) anniversary of the release of BASIC, Dartmouth University released a documentary appropriately called Birth of BASIC. If you want a quick lesson on computer science history, I highly recommend it.

For the next three (3) decades or so, BASIC became the de facto entry-level language for anyone interested in learning how to control computer systems. The updated version was referred to a Structured BASIC (SBASIC) in 1975, which became the standard by the American National Standards Institute (ANSI) referred to Standard BASIC in the early 1980s.

In the late 1970s and throughout 1980s, BASIC was more than just an entry-level programming language. In tandem with machine language to control the OS that the manufacturer had included, BASIC was part of the instruction set for early home computers like the TRS-80 Model III running on the ROM-resident TRSDOS and the C64 running on ROM-resident KERNAL (misspelling of kernel). Most importantly, BASIC was the only common factor in personal computers (8-bit microcomputers, latest technology at the moment) as binaries were not compatible from one manufacturer to another.

By today's standards, the late 1970s and most of the 1980s were strange times when the OS of the machine was not as important as the manufacturer or the amount of RAM — the more RAM, the better. We expected the machine to have a built-in a BASIC interpreter even when we knew that a BASIC dialect might not be compatible from one manufacturer to another. At the same time, we were limited to the hardware and software available in the country or region where the user lived.

For example, vendors and models in the UK were different from those in the US hence not sold, available or compatible in the US (PAL instead of NTSC, 50 Hz instead of 60 Hz alternate current). Because of the relation between England and the rest of the British Commonwealth, these units were also available in other countries like Australia and New Zealand.

Probably due to the American market has always influenced other countries especially English-speaking Canada, in this case, some vendors and models did arrive at the UK.

The 8-Bit War & Me:

I remember reading lots of books on BASIC, machine language for the C64 and a handful of copies of BYTE magazine as well as watching TVOntario's Bits and Bytes on WNET (1983). My experience in junior high (middle) school was on a disk-less TRS-80 Model III (1983-85). At home, I spent many hours in front of my C64 connected to a B/W 13" Zenith TV writing programs that no longer exist. Saving programs on cassettes was an unreliable yet very common at the time because it was affordable (about $40) rather than a floppy disk drive and interface cables for about $250.

I never got a chance to play with an Atari, a ZX, a Amstrad CPC, a CoCo or any other 8-bit home computer other than my C64. Maybe this is why I have a fascination with 8-bit computers specially the CoCo 3.

Maybe any 8-bit home computer system back then would have been the same to me, but my first experience with computers was my C64 — not merely a few hours a week in shop class on a TRS-80 Model III. This is why, on this page, I can only concentrate on my experience of BASIC on my C64.

Commodore 64 & BASIC 2.0:

The C64 was one of the first computer systems that I ever used and the first one I ever owned (spring 1984). I quickly got up hooked into a whole new field and style of life — geekdom — and coding into late hours of the night instead of sleeping. The experience of working with KERNAL (the OS), machine language (accessing KERNAL) and Commodore BASIC (programming) in its 8-bit glory boasting a 1.023 MHz MOS CPU Technology 6510 microprocessor and 64 KB of RAM was as fun as it could be for any kid in the early 1980s. To make things even more exciting and bringing more curious kids (like me at the time) to computer science, the C64 was heavily used for games and even some music programs thanks to its ground-breaking technology based on two chips by MOS Technology — SIC 6581 and VIC-II. Commodore International declared bankruptcy and closed shop in 1994.

By Evan-Amos — Own work, Public Domain, https://commons.wikimedia.org/w/index.php?curid=17414886

In 2011, Commodore USA, LLC, took over the Commodore brand name and released updated versions of the C64 (C64x) with the same vintage (old, obsolete, ancient, historical, retro) "breadbox" exterior and VIC 20 (VIC Slim) with their own Linux distribution named Commodore OS. I had not been thrilled about any new system and/or other technologies for a long time. The whole idea of reviving the C64x had me like a little kid before Christmas with a new toy wrapped in front of him, but I never bought one. Commodore USA closed shop a little after one of its owners died in 2013.

In 2015, Commodore Business Machines Ltd (UK) took over the brand name and marketed mobile phones with the C64 look and feel rather than the classic C64 "breadbox" body.

In 2018, Retro Games Ltd (UK) took over the rights to relive the heyday of the C64 (1982-85) with The C64 MINI marketed as a video game console with 64 built-in games and shipped with its own joystick, THEC64 like the previous but with a working keyboard as well as a stand-alone joystick named THEC64 Micro Switch Joystick. The company has also released new version of the VIC20. All these machines, except for the stand-alone joystick, can also be used to program Commodore BASIC (forked from Microsoft BASIC) — the first programming language that I ever learned. If there was ever a computer I was excited about its launch, I would say it is the C64. I want to get my hands on the new the C64, but first I want to make sure the new Commodore company will last. Needless to say, I am stoked.

        
        10 INPUT "WHAT'S YOUR NAME? "; NAME$
        20 PRINT "HELLO, "; NAME$;
        30 INPUT ", HOW ARE YOU? (OK/NOT)" ; OK$
        40 IF OK$ = "OK" THEN PRINT "GLAD TO HEAR THAT, "; NAME$; "!"
        50 IF OK$ <> "OK" THEN PRINT "TOO BAD, "; NAME$; "! BETTER LUCK NEXT TIME!"
      

Another nostalgia option was Manomio's licensed emulator for iOSiPhone, iPod and iPad. This emulator was almost as good as the original the C64, but it was removed from the market without notice. I think someone might have considered it some sort of copyright violation.

Unfortunately, it has been over three (3) decades since I last coded my last program for the C64 and I can hardly remember how to code a quick and dirty (not to mention descent) program (excluding the one above — OKAY.BAS), but I would consider it the geekiest purchase I would ever make.

Of course, if you are merely interested in C64 games, you can get a ROM emulator and a handful of ROM images, which 05/be illegal in some areas and/or under special conditions as explained in 17 U.S.C. § 117(a).

§ 117 . Limitations on exclusive rights: Computer programs
(a) Making of Additional Copy or Adaptation by Owner of Copy.—Notwithstanding the provisions of section 106, it is not an infringement for the owner of a copy of a computer program to make or authorize the making of another copy or adaptation of that computer program provided:
(1) that such a new copy or adaptation is created as an essential step in the utilization of the computer program in conjunction with a machine and that it is used in no other manner, or
(2) that such new copy or adaptation is for archival purposes only and that all archival copies are destroyed in the event that continued possession of the computer program should cease to be rightful.

In 1990 or 1991, Commodore came up with a prototypes for the Commodore 65 (probably just a prototype name). Being a prototype, only few units exist and one of these units could easily sell in an auction for close to 47,000€ (about $49,500). The C65 boasted a 3.54 MHz 16-bit CSG 4510 CPU (compared to the 1 MHz CPU in C64) combined with two MOS 6526 chips, Universal Asynchronous Receiver/Transmitter (UART) serial interface, 1 MB of RAM mapping (depending on RAM expansion), a VIC-III graphics chip (256 colors, 40/80×25 text), CSG 8580R5 SID chips capable of independent outputs (stereo), 128 KB of RAM built-in (1 MB maximum via an expansion port), CBM-BASIC 10.0 (not version 2.0 as in the C64) and built-in 3.5" double-sided disk density (DSDD) floppy disk drive accessible via DOS (not the controller for the external floppy disk drive as in the C64).

The Museum of Electronic Games & Art (MEGA, Germany) is producing the MEGA65 with a 40.5 MHz 8-bit GS4510 CPU (about the same speed as an i486 though not sure of the vendor of the new CPU), 384 KB of fast RAM (old CBM hardware) and 8 MB of Hyper-RAM (hypervisor), four soft-SIDs and two 8-bit DACs (digital-to-analog converters), MEGA OS (hypervisor to run multiple VMs: BASIC 10 or BASIC 65 GEOS 64 or Contiki) on a VFAT32 formatted SD. The latter comes as a DevKit (development kit; in other words, parts for the user to build) of the C65 for 666.66€ or 793.33€ gross (about $705 or $835 gross). Maybe the MEGA65 is sold as a kit to lower costs or to avoid legalities. In either case, this kit is for anyone with a background in computers and programming including assembly. It seems that the only difference between the MEGA65 and the original C64 is the ability to access SD cards (disk images including KERNAL and the BASIC ROM files) rather than only 3.5" floppies and the introduction of Computer Based Disk Operating System (CBDOS) and BASIC 10 (just like the C65 prototype) and BASIC 65. This means that the MEGA65 can run in three different modes — BASIC 2.0 (C64.ROM), BASIC 10 (C65.ROM) and BASIC 65 (MEGA65.ROM).

Note that, since the MEGA65 is made in Germany, the output might be PAL (50 Hz AC, 625 lines, 50 fields, 25 fps) and might not work on NTSC (60 Hz AC 625 lines, 60 fields, 30 fps). I could not find this in the system specifications (specs). If you have a dual mode monitor, you should be okay.

By The original uploader was Tom Knox at German Wikipedia. — Transferred from de.wikipedia to Commons., Public Domain, https://commons.wikimedia.org/w/index.php?curid=2181755

TRS-80:

As I mentioned before, I also have a special memory of the TRS-80, specially Model III and the Color Computer 3 (CoCo 3) — not other models of the TRS-80 family. I used a TRS-80 at school (two students per machine). I enjoyed annoying others with the orange button on the top right hand side of the keyboard — memory flush, similar to the NEW command in BASIC (Level I BASIC, in this case).

By Bilby — Own work, CC BY 3.0, https://commons.wikimedia.org/w/index.php?curid=10955492

I never used a CoCo 3, but I remember seeing it in Radio Shack stores and thinking that it was a sexy machine. As a matter of fact, the CoCo 3 remains as one of the sexiest computers ever made.

By Lamune (Talk) — Copyed from English Wikipedia Tandycoco2.jpg], Copyrighted free use, https://commons.wikimedia.org/w/index.php?curid=460962

Other Versions of BASIC:

There are many versions (dialects) of BASIC. The following is a quick list of interpreters in chronological order.

Installing BASIC:

BASIC on i286 and prior machines came burnt to a ROM chip. There is no way users could install BASIC other than changing the ROM chips. On boot, it loads from the built-in ROM to RAM. Later machines would run DOS and have BASIC as a stand-alone executable like QBASIC.EXE (Microsoft BASIC), but by no means being the similar instruction set of the late 1970s or 1980s.

Nowadays there are newer versions of BASIC that are installed as any other program would be on a computer via an executable or script. For example, FreeBASIC is available for DOS, Windows and Linux.

No More BASIC, 16-Bit Microcomputers:

When 16-bit computers became mainstream in the late 1980s, BASIC was no longer intertwined with the OS and programming no longer was the main purpose of computers. In most OSs, BASIC was just reduced as a stand-alone binary like GW-BASIC (numbering each line, Microsoft, 1983-88) or QBasic (structured programming, Microsoft, 1991-present). Slowly BASIC was removed from OS distributions like Windows.

The BASIC Love Affair with 8-Bit Micros:

Most nerds (myself included) who grew up with micros (1977-95) love these machines. More than nostalgia, it is a love affair or even a sub-culture (cult, as in cultural). This is the reason why there is a whole market of second-hand 8-bit micros and modern hardware that can be connected to the old hardware like HDDs and FDD emulators, hardware replacement and upgrades to bypass the original like sound and video cards, wireless adapters, PAL to NTSC converters and such. As a matter of fact, Tandy/RadioShack, Commodore, Atari, Acorn and Sinclair micros (including non-licensed USSR clones) are some of the best selling units in the second-hand market (eBay, etc.) with prices ranging from $100 to $500 bare-bones. Even 16-bit micros like the line of Commodore Amiga can easily sell from $200 to $1,000. Software, original monitors and peripherals can also demand high prices depending on manufacturer and rarity. Brand new (never open, often referred to a new old stock) vintage machines can sell for thousands. Of course, these prices are usually for mass-produced micros. Prototypes like C65 can demand 47,000€ (about $49,500) in auction.

Z80 & SymbOS:

Most 8-bit micros ran on the Zilog Z80 CPU architecture, which hit the market in 1976. In 2006, German developer Jörn "Prodatron" Mika released SymbOS. The latter is a multitasking OS that runs on Z80 chips as replacement to the built-in OS of a given computer with a GUI similar to Windows 95 written in assembly.

By Prodatron — Own work, Public Domain, https://commons.wikimedia.org/w/index.php?curid=957167