Classic Computer Magazine Archive COMPUTE! ISSUE 30 / NOVEMBER 1982 / PAGE 14

How Many Languages?

Exactly what languages am I capable of using on the Atari 400? I understand that assembly language can be written with an "Assembler" ROM Cartridge, but can't machine language subroutines be written in BASIC? What book teaches about this process? Also, I've heard that PILOT and FORTH can be used, but I know nothing about them.

Stephen Roszell

Simply put, a computer could theoretically use any language. If there's enough RAM memory space, you could have APL, FORTH, FORTRAN, COBOL, or any other language you wanted. A language is just a program. If you buy a language on disk, it can be LOADed and RUN just like any other program. Languages come as cartridges (Atari BASIC), on disks (Microsoft BASIC on Atari, FORTH for PET, etc.) or as part of the computer's hardware in ROM chips inside. The size of micro languages can vary greatly: from less than 4000 bytes (for a stripped down version of BASIC) up to and beyond 65,000 bytes (a version of APL for the SuperPET).

For proof that a language is a program, type in the program on page 114, October 1982–you'll then have Pilot on your Atari. (In the September issue we published a Pilot for Apple and next month we conclude with Pilot for PET/CBM).

Machine Language is a special case. It's in all computers already, but it's not easy to program. Each Central Processing Unit (CPU–the "computing" part of a computer) follows instructions coded as numbers. In the 6502 CPU, for example, the number 169 puts something in the "A" register. If you type POKE 2000,169: POKE 2001,66: POKE 2002,96 you have "written" a little machine language program which will put the symbol for the letter "B" into the accumulator. You won't see it happen, but it's there. In this way, a BASIC program can contain a series of machine language instructions as numbers in DATA statements and just POKE them somewhere into memory. That's called a "BASIC Loader."

The easier way to program machine language is by using a language called "Assembly Language" which, too, is a program (it could be a BASIC program). Or you can buy an "assembler" and program with it. There are several books on 6502 machine language available. COMPUTE! Books will be publishing an introductory book on this subject, Machine Language For Beginners, this fall.