Adding BASIC

The computer can now be programmed in two low-level languages, machine code and assembly language. Would it be possible to program in any higher-level languages? The answer is yes. I now want to make it so the computer can be programmed in BASIC. This would add some extra 70s and 80s feel to it!

history

BASIC is an acronym for Beginners All-purpose Symbolic Instruction Code. It is a general-purpose high-level programming language. A team created it at Dartmouth college in 1964. Its intention was to be for students in non-scientific fields to be able to use computers. This was because at the time most computers used software that mainly mathematicians and scientists learnt.

In the 70s multiple dialects of BASIC were created. The majority of computers in the 70s were able to run BASIC and became the standard for the home computer systems of the 70s. BASIC continued to be popular into the 80s but declined in the 90s. The decline was partly because computers became more powerful and people started to code in other languages, such as C and Pascal.

In 1991 Microsoft released Visual Basic, which combines BASIC and a visual forms builder. This sparked an increased interest in BASIC. What I want to do is to encapsulate the experience of BASIC before the Visual Basic era.

which dialect?

The question now is, which dialect? There are actually 100s of dialects! Some of the more well-known ones are Amiga BASIC, Apple BASIC, BBC BASIC, Commodore BASIC, GW-BASIC and Microsoft BASIC. Others that I think are of notable interest are Tiny BASIC and EhBASIC. Tiny BASIC is actually a BASIC implementation with lots of dialects. EhBASIC (Enhanced BASIC) is the one that I chose for this project. One of the reasons is legality – it is free to use (non-commercial). You may be thinking, aren’t all versions of BASIC free to use? You may be right but you may be wrong! There seems to be a disagreement about this area and while I think it’s unlikely that Microsoft for example is going to sue anyone, using a version without any questions was a prerequisite for me! Also, the minimum requirements are a 6502 processor, 10k ROM or RAM (for the interpreter code), 1k of RAM and RS232 I/O.

building a binary

What I need to do now is to build a binary file. A binary file contains the data in a format that is required for the EEPROM. This is accomplished by creating a makefile and using software called Make. Make turns source code into binary code. Make searches the current directory for a makefile and runs the specified contents.