BASIC course episode 9: MSX BASIC

In this episode of the video course on the BASIC language of retro computers, we introduce MSX BASIC. It is a very powerful language, with many commands. In the same video, we see how to save and load the program in BASIC on tape.

Subscribe my YouTube channel ValorosoIT. Retro technology, vintage audio, retro computers, experiments and tests. Retroprogramming, Basic. Commodore, IBM, Atari, Apple, Texas Instruments, Amstrad, MSX.

Don't have an MSX computer? Try the emulator!

If you do not have an MSX computer, but still want to try programming in BASIC with MSX BASIC, you can download for free, looking for it on the internet, the fMSX emulator. I know, it's not the same as owning a real MSX computer! In the video, we see the Philips VG 8020 computer in operation, but the program can be made on any MSX computer.

Vintage computer MSX Philips VG 8020, recorder NMS 1520, BASIC, MSX BASIC version 1.0, Copyright 1983 by Microsoft, 28815 bytes free, Ok

If you do not have the vintage computer, through the fMSX emulator, to install on Windows PC (there are emulators for other operating systems too), you can load MSX games and programs on a modern computer!

Emulator for MSX computers on Windows PC, fMSX, Philips Phonola BASIC, load save CAS STA PAL CHT FNT MIDI

We draw a circle, calculate area and circumference, with MSX BASIC

The program we analyze allows you to immediately understand the enormous capabilities of MSX BASIC. With very few commands, we draw a circle on the monitor and calculate the area and perimeter.

BASIC course, Basic program listing, circle drawing, area, circumference

The program listing consists of just a few lines of code. In total there are only 8.

10 INPUT "R";R
20 SCREEN 2
30 CIRCLE (128,96),R
40 IF INKEY$="" THEN GOTO 40
50 SCREEN 0
60 PRINT "R=" R
70 PRINT "A=" 3.1415*R^2
80 PRINT "C=" 2*3.1415*R

We have already deepened the instructions INPUT and PRINT in the first episode of the BASIC language course.

On line 10, the computer asks for the radius of the circle and inserts it into the variable R. The number R must be an integer, greater than 0 and less than 100, otherwise the circle is not drawn, or it would be too large to be displayed on the monitor.

As an exercise, you can create a line 15 yourself, where you include a control to prevent the user from entering a radius less than 0 or greater than 100. To do this, you can take inspiration in the second episode of the course on the BASIC language, studying conditional instruction IF… THEN.

On line 20, with the statement SCREEN 2, we enter graphic mode.

Follow me on Instagram channel. Retro technology, Commodore, vintage audio, retro computers, experiments and tests. Retroprogramming, Basic. Commodore, IBM, Atari, Apple, Texas Instruments, Amstrad, MSX.

We draw a circle by:

CIRCLE (X,Y),R

The center of the circle is located at coordinates 128, 96, about halfway through the screen, both horizontally and vertically. The circle has radius R.

Draw a Circle with MSX BASIC CIRCLE command

At line 40, the computer waits until a key is pressed on the keyboard. INKEY$ represents the key pressed on the keyboard. If you don't press anything, INKEY$ is empty, i.e. INKEY$=”” (it is equal to nothing). If you press a key, INKEY$ contains the corresponding character, so INKEY$<>”” (it's different from nothing).

At line 50, we return to text mode, exiting the graphics and erasing the previously drawn circle.

From line 60 to 80, we write:

  • the radius of the circle, R
  • the circle area A = Pi * R^2 (Pi * R * R)
  • the circumference C = 2 * Pi * R

Pi is approximated to 3.1415.

Calculating Circle Area and Circumference with MSX BASIC

Have you seen how powerful the MSX BASIC programming language is?

Saving and Loading the MSX BASIC Program to Tape

We continue the programming course on the MSX BASIC language with the saving and loading of the program on tape. There are several commands to save and load a program in BASIC on tape. We use SAVE and LOAD.

To save the program to tape:

SAVE "CAS:file_name"

Substituting file_name the name of the file we want to assign to the program.

Saving Program in MSX BASIC, SAVE CAS on tape cassette

Press simultaneously SAVE and START/LOAD on the recorder. Next, to start saving, press RETURN on the computer keyboard, after writing the command SAVE, as previously specified.

Obviously, the tape must be positioned correctly, at the location where you want to save the program.

To load a program from tape, you use the command:

LOAD "CAS:"
Loading MSX BASIC program, CAS load, Philips NMS 1520 tape cassette

Before you press RETURN to start loading, make sure to place the tape at the correct position and press START/LOAD on the recorder.

If all goes well (hopefully!), first the computer finds the file and writes the name to the screen.

Then the MSX loads the program.

Course programming language BASIC, MSX BASIC, program listing

Interested in vintage computers? Subscribe to the YouTube channel!

Subscribe my YouTube channel ValorosoIT. Retro technology, vintage audio, retro computers, experiments and tests. Retroprogramming, Basic. Commodore, IBM, Atari, Apple, Texas Instruments, Amstrad, MSX.

Do you like this page? Share it:

Posted in Retro Computer, Retro Technology and Vintage Electronics, All articles.

2 Comments

Leave a Reply

Your email address will not be published. Required fields are marked *