What is BASIC?
Not an OS, but a complete instruction set
attached to the OS
(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 on
right) and Thomas Eugene Kurtz. The original version of the
language was later referred to as Dartmouth BASIC.
For the fiftieth (50th) anniversary of the release of BASIC,
Dartmouth University released a documentary appropriately called
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 BASIC
interpreter even when we knew that a BASIC dialect might not be
compatible with another. At the same time, we were limited to what
was available in the country or region where we lived.
For example, vendors and models in the UK were different than
those in the US hence not sold, available or compatible in the
US (PAL instead of NTSC, 50 Hz current instead of 60 Hz 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.
Accorn BBC Micro (1981-94) — Acorn MOS with BBC BASIC I, 2 KHz MOS
6502, 16 KB of RAM; more than 1,500,000 sold
Amstrad CPC (1984-90) — AMSDOS with Locomotive BASIC 1.0, 4 MHz
Z80A, 64 KB of RAM, built-in datassette; 3,000,000 sold
Sinclair ZX Spectrum (1983-89) — PCWDOS with Sinclair BASIC, 3.5 MHz
Z80A, 16 KB of RAM; 5,000,000 sold (1982-92) thanks to a large
game library available in cassettes; produced in the US as
Timex Sinclair 2068 (Timex 2068 in the rest of the Americas)
with 48 KB of RAM and a cartridge bay
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.
Commodore 64 (1982-94)
The C64 came with KERNAL (OS) with CBM BASIC 2.0, a MOS 6202 1.023
MHz (NTSC) or 0.985 MHz (PAL) and 64 KB of RAM hence C64. More
than 15,000,000 were sold mostly in the US thanks to its large
software library available in ROM cartridges, floppies and
cassettes, peripherals and after-market hardware.
Atari 400 (1979-92)
The Atari 400 came with Atari DOS
with Atari BASIC, a MOS 6202 1.79 MHz (NTSC) or 1.77 MHz (PAL)
and 8 KB of RAM upgradeable to 16 KB. About 4,000,000 sold
thanks to its large software library available in 8 KB ROM
Tandy Color Computer (1980-91)
The TRS-80 Color Computer (1980-83) — nicknamed
CoCo for Color Computer — came with no
DOS, but with MS Color BASIC (CB) 1.0
(1980) to 1.3 (1982), a 0.89 MHz Motorola MC6809E and 4 or 16
(later discontinued) or 64 KB of RAM.
The TRS-80 Color Computer 2 (1983–86)
— later renamed Tandy Color Computer 2 — came with
no DOS (optional Microware OS-9
Level II), but with MS Color BASIC 1.1 (8 KB ROM) or MS
Extended Color Basic (ECB, 1984, 16 KB ROM) or MS Disk
Extended Color BASIC (DECB, 1984) that included management
routines for disks (a heavily stripped-down version of DOS using the DOS command to auto-boot software from disk
as in the case Microware OS-9 Level II with Microware BASIC09,
a 0.89 MHz Motorola MC6809E that could be overclocked to 1.8
MHz by hacking the clock generator, 16 or 32 or 64 KB of RAM
and a MC6847T1 video display generator (VCG) allowing the CoCo
to display upper and lower case characters. The CoCo 2 with 64
KB of RAM is the system that, if I had not opted for the C64 in the spring of 1984, I
would have liked to own. Both systems cost about $300 at the
The Tandy Color Computer 3 (1986–91) was
the last model of the CoCo line and no longer referred to as
TRS-80. It came with MS Disk Extended Color BASIC (DECB, 1984)
that included routines for disk management (a stripped-down
version of DOS using the DOS command) or Microware OS-9
Level II with Microware BASIC09, a 0.895 MHz Hitachi 6309, 128
KB of RAM (upgradeable to 512 KB, 64 KB dedicated to OS-9), a
MC6847 video display generator (VCG) and a MC6883 synchronous
address multiplexor (SAM). The CoCo 3 can run the modern NitrOS9
instead of Microware OS-9.
In all, the CoCo line used four dialects of BASIC.
Color BASIC (CB) 1.0 (1980), 1.2 (c. 1981) and 1.3
(1982) by Microsoft
Extended Color BASIC (ECB) 1.0 (1984) by Microsoft
Extended Color BASIC (ECB) 2.0 (c. 1985) by Microware
after Microsoft's decision not to develop it
Disk Extended Color BASIC (DECB, 1984) with routines
for disk management by Microsoft
About 250,000 sold combining all CoCo models (1983–91)
thanks to a large software library available in ROM cartridges
(software packs), floppies and cassettes, peripherals
and after-market hardware. Since the CoCo as well as its
software and its peripherals were made by or solely sold at
Tandy/RadioShack, there was no need for third-party
distribution. The only problem was the decision not allowing
third-parties to develop software for the CoCo, which caused
the quality of some software not be as popular as it could
have been. In other words, sales of CoCo units could have been
TRS-80 Model I (1977-81)
TRS-80 Model III — nicknamed Trash-80
— came with TRSDOS 1.3
(optional Logical Systems' LDOS 5 or
NewDos/80) with Level I BASIC (Steve
Leininger, 1977), a 1.774 MHz Z80A and 4 KB RAM expandable to
TRS-80 Model II (1979-80)
TRS-80 Model III — nicknamed Trash-80
— came with TRSDOS with
Microsoft Disk BASIC, 4.00 MHz Z80A and 32 ($3,450) or 64k of
TRS-80 Model III (1980-83)
TRS-80 Model III — nicknamed Trash-80
— came with TRSDOS 1.3
(optional Logical Systems' LDOS 5)
with Level I BASIC, a 2 MHz Z80A and 4 KB RAM expandable to 48
KB. Over 250,000 were sold thanks to a large software library
available in floppies and tapes. The TRS-80 was commonly used
for work, rather than as a home computer. As mentioned several
times, I used a Model III at school.
TRS-80 Model IV (1983-91)
TRS-80 Model III — nicknamed Trash-80
— came with TRSDOS 6.2 or
Logical Systems' LDOS 6.00, TRSDOS 1.3, Logical Systems' LDOS 5.3 or Misosys LS-DOS 6.3 or CP/M 2.2 or
3.0 with Level I or Level II BASIC (Steve Leininger), 4
MHz Zilog Z80A or 6+ MHz with Z80B/Z80H or HD64180/Z180
configurations. The Model IV was marketed to businesses with a
price of $799 for a disk-less, bare-bones system to $1999 for
a double drive unit.
Japan, in the other hand, was different and several markets
worldwide followed — Asia (Korea and Japan), South America
(Brazil and Chile), Europe (Netherlands, France, Spain and
Finland) and the Soviet Union.
Machine with Software eXchangeability
"Bill Gates demands 100% loyalty and demands being his
subordinate. I'd be very happy to work with him, but I don't
want to sell my soul to him."
— Kazuhiko Nishi (Wall Street Journal, 1986)
MSX was an attempt
to standardize hardware so software written for one system
(for example, Toshiba) would work for another (for example,
Hitashi). It was the brainchild of Kazuhiko Nishi (ASCII
Corporation) and Bill Gates (Microsoft). This meant that there
was no need for choosing a vendor from another with different
architectures as software and peripherals would work on any
The common MSX (worldwide, 1983) architecture was based on
a 3.58 MHz Zilog Z80A, at least 8 KB of RAM (most models
shipped with 64 KB), 32 KB of ROM, a General Instrument
AY-3-8910 3-voice programmable sound generator (PSG), 16 KB of
VRAM and a Texas Instruments TMS-9918/9928/9929 video display
processor (VDP) running MSX-DOS with
MSX BASIC 1.0 (based on GW-BASIC with extensions provided by
The common MSX2 (worldwide, 1985) architecture was based on
a 3.58 MHz Zilog Z80A, at least 64 KB of RAM, 48 KB of ROM, a
Yamaha YM2149 PSG, 64 KB of VRAM (most models shipped with 128
KB), Yamaha V9938 VDP and a Ricoh RP5C01 real time clock (RTC)
chip with a rechargeable battery running MSX-DOS with MSX BASIC version 2.0 or 2.1.
The common MSX2+ (Japan officially, Europe and Brazil via
upgrades, 1988) architecture was based on a 3.58 MHz Zilog
Z80A (5.37 MHz via software), 64 KB of ROM, at least 64 KB of
RAM, a Yamaha YM2149 PSG, at least 128 KB of VRAM, a Yamaha
V9958 VDP and a Ricoh RP5C01 RTC chip with rechargeable
battery running MSX-DOS with
MSX BASIC version 3.0.
The common MSX3 (Japan only, 1988) architecture was based
on a 3.58 MHz Zilog Z80A with 256 KB or a 7.16 MHz ASCII
DAR800-X0G (referred to R800, 28.6 MHz compared to the Z80)
with 512 KB, 96 KB of ROM, a Yamaha YM2149 PSG, at least 128
KB of VRAM, a Yamaha V9958 VDP and a Ricoh RP5C01 RTC chip
with rechargeable battery running MSX-DOS with MSX BASIC version 4.0.
Computer manufacturers worked around the MSX architecture
to make themselves different from the others — more RAM,
more VRAM, better sound chips, including FDDs, including HDDs,
or any other improvement that could mean better sales.
The 8-Bit War & Me:
I remember reading lots of books on BASIC, machine language for
the 64 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 writing programs that no longer
exist. Saving programs on cassettes was an unreliable yet very
common at the time.
I never got a chance to play with an Atari, a ZX, a Amstrad
CPC, a CoCo or any other
8-bit home computer.
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. This is why,
on this page, I can only concentrate on my experience of BASIC on
Commodore 64 & BASIC 2.0:
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 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.
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 on 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 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 iOS
— iPhone, 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 have 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 may be
illegal in some areas and/or under special conditions as explained
in 17 U.S.C. §
§ 117 . Limitations on exclusive rights:
(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
(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.
Commodore 64 & KERNAL:
Although the original C64 has not been in production for almost
three (3) decades, this has not stopped developers from working on
new technologies retrofitted for the C64 from hardware to keep up
with the internet to new OSs as replacements for KERNAL.
Advanced Computing Environment 128/64
(ACE-128/64) by Craig Bruce comes with Unix-like shell. It needs a RAM Expansion
Unit (REU) up tp 16 MB, a RAMLink storage device up to 16 MB,
a Creative Micro Designs (CMD — not CMD.EXE, as
in command prompt) disk drive and other hardware needed for
specific jobs. From what I see, this replacement OS might be
the best in this short list.
Asterix by Chris "Pollar" Baird was
"An experimental UNIX-ish operating system for
the STANDARD Commodore 64" released in 1991.
Cartridge was released in 1983 by CBM with Z80 running at
3 MHz — almost twice faster than the 1.023 MHz MOS
Technology 6510 in the C64.
Richard Leary offers file system compatibility to CP/M-80 for the C64 "in order to
make any 6502 system a truly workable disk based system [with]
a degree of compatibility now possible not only between 6502
systems but with large parts of the world of CP/M systems" (Sep. 2009). Note
that the developer has posted lots of documentation how the DOS/65 works in detail. Aside from being
able to learn about the 6202 architecture, you can learn how
an primitive OS can be developed or how it works.
JiffyDOS KERNAL ROM Overlay IC (simply
referred to as JiffyDOS) provided a DOS-like environment for the C64 and C128. Aside
from offering better access to floppies, it also added
extensions to CBM BASIC
— DOS Wedge (LOAD "C-64
by André Fachat — based on OS/A65
— is a "full-featured
Multitasking/Multithreading operating system for the 6502...
preemptive and implements some for Unix-like
features, like signals, semaphores, relocatable fileformat,
standard library, internet support via a kind of simplified
sockets and last but not least virtual consoles"
Graphic Environment Operating System by
Berkeley Softworks was released in 1986 as a replacement for
KERNAL and offered a GUI — a ground-breaking feature at
the time. Refer to more detailed information in the Other Operating Systems page.
LUnix (now LUnix Next Generation or
simply LNG) by Daniel Dallman and
others is an "operating system for the Commodore64...
[that] supports TCP/IP networking (SLIP or PPP using a RS232
interface)... [with] look and feel like UNIX"
(Aug. 2013). Note that the RS232 (Recommended Standard 232)
standard is for data transfer using serial ports commonly used
in modems — in other words, network access.
WiNGs by Jolse Maginnis is a
16-bit and multi-tasking OS for the C64 and C128 with optional
packages for the GUI, shell consoles and internet access.
WiNGs needs a CMD SuperCPU (W65C816S 8/16-bit processor), CMD
SuperRAM card with at least 1 MB, a CMD HD (if not a CBM 1351
floppy drive), IDE64 (SD external drive instead of a CMD HD),
a CBM Mouse 1351 mouse for GUI, a CMD Turbo232 DUART cartridge
and a Swiftlink or IDE64 DUART full duplex asynchronous
communication (modem) for internet access (Feb. 2020). WiNGs
seems to be the most interesting OS in this short list, but
all this hardware seems a bit too expensive for my taste. If
you start buying all the extra hardware to operate a C64 as
modern machine, you might as well get a new computer.
Aside from OSs, there is also the OpenCBM project, which is a
"Win NT/2K/XP, and Linux/i386 kernel driver and
development library to control serial CBM devices, such as the
Commodore 1541 disk drive, connected to the PCs parallel port via
a XM1541 or XA1541 cable. Fast disk copier included. Successor of
cbm4li" (Jun. 2006).
As I mentioned before, I also have a special memory of the
TRS-80, specially Model III and the Color Computer 2 (CoCo 2)
— 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).
I never used the 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
Other Versions of BASIC:
There are many versions (dialects) of BASIC. The following is a
quick list of interpreters in chronological order.
Microsoft BASIC originally released as Altair BASIC for
Altair 8800 (1975)
Integer BASIC (Apple BASIC) for Apple I and Apple II
Commodore BASIC (PET BASIC or CBM-BASIC) from PET
(ver. 1.0, 1977) to C128 (ver. 7.0, 1985) — the dialect
that got started as a programmer in spring 1984 on the C64
running version 2.0
Color BASIC for TRS-80 CoCo (1980-91)
BASIC Programming ROM cartridge (Warren Robinett, 1979),
replaced with Atari Microsoft BASIC for Atari 8-bit home
computers sold on floppy and ROM cartridge under the name
Atari Microsoft BASIC II (Microsoft, 1981-92) IBM BASIC
available as Cassette BASIC, Disk BASIC and Advanced BASIC
(BASICA) for IBM 5150 (1981) and Cartridge BASIC for IBM PCjr
Modern versions of BASIC
Visual Basic (Microsoft, 1991) for Windows only
Liberty BASIC (Carl Gundel, Shoptalk Systems, 1992),
followed by Run BASIC (2008) that is a web application
server running the Liberty BASIC and SQLite versions
released that year — only release, no updates
Gambas (Benoît Minisini, 1999) for Unix-like
Visual Basic .NET, also referred to as VB.NET
(Microsoft, 2001) for Windows only
FreeBASIC (Andre Victor, FreeBASIC Development Team,
Mono (Miguel de Icaza under Ximian, then .NET
Foundation and Xamarin, 2004) to port VB.NET to Linux
Small Basic (Microsoft, 2008) for Windows only
SmileBasic (SmileBoom Co. Ltd, 2011) for children to
program games for the Nintendo 3DS console
True Basic (John Kemény, Thomas Kurtz, 1983)
made by the authors of the "original" BASIC at
Dartmouth College (1964), for Windows and macOS
Xojo (Xojo, 2020)
BASIC on i286 and prior machines came burnt to a ROM chip.
There is no way users could install BASIC. 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
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. 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
and Sinclair micros (including non-licensed USSR clones)
are some of the best selling units in the second-hand market
(eBay, Craigslist, 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) vintage machines
can sell for thousands.