[][src]Module basic::_Introduction

Introductory Tutorial

64K BASIC is interactive just like it was back in 1964 when the idea of an ordinary person sitting in front of a terminal and directly interacting with a computer was revolutionary. A primary design goal for 64K BASIC is to capture that experience. Except with better error reporting and a modern input system.

Begin by opening a terminal and running the executable. Double clicking the executable from a GUI desktop often works as well. If you get the following, you are ready for this tutorial. If not, ask the internet how to run command-line programs on your particular operating system.

   64K BASIC
   READY.
   █

Type CTRL-D to exit 64K BASIC.

When you see the READY prompt, 64K BASIC is ready to accept a statement. A statement describes the work you want the computer to do. Let's tell the computer to print something. For this tutorial, I'll mark lines that you type with a ">". Go ahead and try your first statement. Type in the marked line followed by ENTER.

   READY.
 > print "Hello World"
   Hello World
   READY.

Entering a statement which executes immediately is called direct mode. To solve interesting problems, you'll have to assemble many statements together into a program. You put a statement into a program by assigning it a line number. To do this, simply precede the statement with any decimal integer between 0 and 65529 inclusive.

 > 10 print "Hello World"

Nothing happens. This is called indirect mode. The statement is saved to be executed later. Let's try a couple new statements that you'll use a lot. LIST will list the program. RUN will run the program.

 > LIST
   10 PRINT "Hello World"
   READY.
 > RUN
   Hello World

Now that we have a program in memory, we can add more lines or edit existing lines. To edit a line, type the line number then press TAB. The line will be loaded into the input buffer for you to edit.

 > 10{TAB}
 > 10 PRINT "Hello World"█

Linux users may have already noticed the input system is similar to readline and even uses your inputrc file. Feel free to explore these capabilities, but for now you only need the basics: TAB, BACKSPACE, CTRL-C, CTRL-D, and the arrow keys.

You may be working out a problem in direct mode which doesn't succeed on the first try. You can access a history of direct mode statements with the up/down arrows.

 > PAINT "Hello World"
   ?SYNTAX ERROR
 > {UP}
 > PAINT "Hello World"█

You can SAVE a program to the filesystem or LOAD one that you previously saved or downloaded. Filenames are relative to the current directory of your operating system when 64K BASIC was started. The NEW command erases the program in memory.

 > 10 print "Hello World
 > save "hello.bas
   READY.
 > new
   READY.
 > list
   READY.
 > load "hello.bas
   READY.
 > list
   10 PRINT "Hello World"
   READY.

Let's create a multi-line program for the last example of this tutorial. The program will ask the user for a number, print its square root, and repeat indefinitely. Because this is an infinite loop, the program will run forever or until it's interrupted. Typing CTRL-C interrupts a program.

 > 10 input "Your number"; a
 > 20 print "The square root of" a "is" sqr(a)
 > 30 goto 100
 > run
   ?UNDEFINED LINE IN 30:9
 > list 30
 > 30 GOTO 100
   READY.
 > 30 GOTO 10 {Remember you can use TAB here}
 > run
   Your number? -8
   The square root of-8 is NaN
   Your number? 9
   The square root of 9 is 3
   Your number? {CTRL-C}
   ?BREAK IN 10
   READY.

Line 30 was intentionally wrong to demonstrate a compiler error. 64K BASIC has two types of errors, compiler errors and runtime errors. A lot more information is available at compile time which enables underlining the offending section when listing a program. Runtime errors will only display the line number.

This concludes the introductory tutorial. The remainder of this manual is reference material covering everything 64K BASIC can do.