BASIC 1.0 | |
Latest Release Version: | BASIC 512 |
Platform: | Thomson computers |
Genre: | Microsoft BASIC |
BASIC 1.0[1] [2] [3] [4] is the standard BASIC language for Thomson computers (MO5, TO7, etc.), which is the reference for the entire range.[5] [6] [7] This is an implementation of Microsoft BASIC (BASIC-69).It was used to introduce children from France to programming in the 1980s (see Computing for All, a 1985 French government plan to introduce computers to the country's 11 million pupils).[8] [9] Three languages were mainly taught: LSE, BASIC and LOGO. School textbooks programs were given in BASIC 1.0 for Thomson and sometimes in ExelBasic for the Exelvision EXL 100.
The first version came with the TO7 computer, released in 1982.[10] [11] [12] [13] [14] On the MO5 (released in 1984 but with smaller ROM), the instruction set is reduced and the double precision is not implemented, so that the interpreter fits in only 12 KB of ROM, instead of 16 KB on the TO7.[15]
An upgraded version was produced under the name of BASIC 128, for the TO7-70, TO9, MO5NR and MO6.[16] [17] [18] It included commands for disc operations and other new instructions.
On the TO8/8D and TO9+, an even more upgraded version under the name of BASIC 512 was provided.[19] [20]
BASIC 1.0 interpreter recognizes the usual commands such as FOR
..NEXT
, GOSUB
..RETURN
, IF
..THEN
..ELSE
, and DATA
/ READ
/ RESTORE
statements. Advanced instructions like ON
..GOTO
and ON
..GOSUB
were also possible.
?
- Alias to PRINT
'
- Alias to REM
ATTRB
- Character attributesBOX (x1,y1)-(x2,y2)
- Draws a rectangle (the top left pixel is (0,0)BOXF (x1,y1)-(x2,y2),color
- Fills a rectangle with the given color (optional, if not given use the current pen color). Negative colors lead to filling with the requested color as the background one.CLS
- Clear screenCOLOR foreground, background
- Change pen colors (parameters are optional)CONSOLE
DELETE
END
- Ends program executionFOR v=s TO e STEP n
- FOR loop, incrementing v by n each time until it reaches e. The STEP is optional (default is 1) and can be negative.GOTO line
- Jump to program lineIF a THEN
statement ELSE statement - Conditions (the statement can be just a line number)INPUT “message”;variable1,variable2
- Set variables to user-entered values (comma separated). A ? is printed after the message and before reading the values from the user.LINE (x1,y1)-(x2,y2)
- Draws a line (first point is optional, current cursor position is used: LINE -(x2,y2))LIST line
- List the program in memory (parameter is optional, if missing the whole program is listed)LOCATE x,y
- Move the cursorNEW
- New program, remove current one from memoryNEXT v
- Closes FOR loop.PLAY s$
- Plays music. The string is made of notes DO,RE,MI,FA,SO,LA,SI (with # and b modifiers), octave changes (O1-O5), note duration changes (L1-L96), silences (P), tempo changes (T1-T256), attack settings (A0-A255). Spaces are ignored and can be used for readabilityPRINT value
- Prints a value (if the value is suffixed with a ; insert a tabulation after it. else goes to next line)PRINT USING
PSET(x,y)
- Set a pixelREM
- Comments (REMark). Anything following this on the line is ignored.RUN
- run the programSCREEN foreground,background,border
- Change colors for whole screenCOS(v)
INT(v)
INSTR
LEFT$(s$,n)
- Get a substring of the N first chars of SLEN(s$)
MID$
RIGHT$(s$,n)
- Get a substring of the N last chars of SRND
- Random value between 0 and 1SIN(v)
STR$
VAL
+
- Addition, string concatenation-
*
/
MOD
@
- Integer division=
- Assignment, equality^