OEM Manual Adaption

2. Language Reference Differences

Several elements of the BASIC language may be different or not included in your implementation. Some of these statements are listed below.


BEEP ON KEY
CDBL$ OPEN
COLOR OPEN COM
CSRLIN PAINT
DRAW PALETTE
ERDEV, ERDEV$ PEN
GET - Graphics PLAY
INKEY$ PUT - Graphics
INPUT POS
JIS$ - ECS SCREEN
KEY SOUND
KLEN - ECS VAL
KPOS - ECS VIEW
KTN$ - ECS WINDOW
LOCATE

Read these sections closely and make the appropriate changes required for your specific implementation. A look at each statement and function alphabetically folows:


CIRCLE

The default value aspect ratio depends on particular screen hardware.


CLEAR

In some versions, CLEAR supports the ability to further control video memory with the videomemory parameter. The following is the enhanced syntax for the compiler:

CLEAR [,[location] [,[stack] [,videomemory]]]

The videomemory parameter tells BASIC to ensure there is enough room for videomemory number of bytes for display memory. This allocates space for graphic modes that require large amounts of display memory, or for additional pages (each of which might be displayed on the screen). The videomemory parameter is not supported on most machines.


COLOR

Colors are display-hardware dependent.


LOCATE

Note that the meanings of the LOCATE argument, can vary according to your implementation. Specifically, the largest row number and column number will vary according to the particular machine. Also, whether the cursor blinks, and the speed at which it blinks, depends on the particular machine.

In addition, the start and stop options are not implemented on some machines. If they are available, the range will vary according to the particular machine.


LPRINT

Support for LPRINT depends on the lineprinters supported.


NOISE

Multiple voices require hardware support found only in certain machines. If you attempt to execute the NOISE statement on anything but a machine without this hardware support you will get an "Advanced feature error" message.


PALETTE

The range of colors for this statement depend on screen hardware.


PCOPY

If PCOPY is executed on a machine that does not support multiple screen pages, an "Advanced Feature Error" message results.


PEN ON

On some machines, the pen should not be used in the border area of the screen. Any values returned while the pen is in that area will be inaccurate.


PLAY Statement

The number of notes can be played in the background at one time varies according to the particular machine.


PSET

The largest row number will vary according to the particular machine.


RND Function

The actual algorithm and random values for this function may vary with implementation.


SCREEN Statement

The options for this statement are display-hardware dependent.


SHELL

Some versions of BASIC will not allow the user to SHELL to another copy of BASIC. BASIC, when run as a child process, will recognize this before initialization and return to the parent copy of BASIC after issuing the message: "You cannot Shell to BASIC".
This restriction is provided as an implementation option for cases where it is necessary to protect the integrity of the BASIC parent. BASIC will produce a child program when it uses the SHELL statement. It is not possible for BASIC to totally protect itself from its children.

When a SHELL statement is executed, many things may be going on. For example, files may be open and devices may be in use.
The following guidelines will help to prevent child processes from harming the BASIC envirionment.


SOUND

Multiple voices require hardware support found only in certain machines. If you attempt to execute a program with multiple voices on a machine without such support, you will get an "Advanced feature error" message.