Skip to content

User guide

cheveron edited this page Jul 11, 2020 · 26 revisions

The working environment

The first thing you'll see when starting SE Basic IV is the working environment. Like Microsoft BASIC, but unlike practically all modern compilers and interpreters, SE Basic IV's working environment serves both as a development environment and as a canvas on which to execute BASIC commands directly. With a few exceptions, practically all commands that can be run in the working environment can be used in a program, and vice versa.

The default SE Basic IV screen has 24 rows and 80 columns. In some video modes, there are only 40 or 20 columns. Editing takes place on the lowest row.

Logical lines exceed the width of the physical row: if you keep typing beyond the screen width, the text will wrap to the next line but SE Basic IV will still consider it part of the same line. A logical line can be as long as you want providing the memory required to store it is available.

If you press Return, SE Basic IV will attempt to execute the logical line on which the cursor is placed as a command. When the command is executed correctly, SE Basic IV will display the prompt Ok. If there is an error, it will display an error message. If the line starts with a number, it will be stored as a program line. No prompt is displayed.

Special keys

Key Description
Move the cursor up, except at the top row.
Move the cursor down, except at the bottom row.
Move the cursor left. The left edge of the screen wraps around, except at the top row.
Move the cursor right. The right edge of the screen wraps around, except at the bottom row.
Tab Move the cursor to the next tab stop. Tab stops are 8 columns wide.
Backspace Delete the character left of the cursor, shift all further characters on the logical line one position to the left.
Del Delete the character at the cursor and shift all further characters one position to the left.
Clr Delete the current logical line.
Enter Execute or store the current logical line. A line starting with a number is stored as a program line.
End Move the cursor to the first position after the end of the logical line.
Home Move the cursor to the top left of the edit line.
Page Up Move backward through the automatic listing.
Page Down Move forward through the automatic listing.
Control Sets bit 7 and clears bits 6 and 5 on the next character entered. Enables entering characters 128 to 159.
Alternate Sets bit 7 on next character entered. Enables entering characters 160 to 255.
Help Reserved
Ins Reserved
Compose Reserved

When a program is started, the commands in the program are followed until the program quits and returns to direct mode or until user input is required. When a program is running, a few keys have immediate effect:

Key Description
Esc Stop execution and return to direct mode. A Break message is printed.
F0 Generate non-maskable interrupt (NMI). As with Esc but also works from machine code.

If user input is required by the INPUT statement, most keys have the same effect as in direct mode. The following keys have a different effect:

Key Description
Esc Equivalent of pressing Space.
Return Finish input and return to the previous mode.

Keyboard shortcuts

The function keys can be used as keyboard shortcuts for some keywords. The default values for the function keys are:

Function key Command
F0 NMI
F1 LIST
F2 RUN Return
F3 LOAD"
F4 SAVE"
F5 CONT Return
F6 COLOR 7,1 Return
F7 TRON Return
F8 TROFF Return
F9 EDIT
F10 SCREEN
F11 BLOAD"
F12 BSAVE"
F13 AUTO
F14 GOTO
F15 KEY

The function key shortcuts can be redefined with the KEY statement.

Keyword abbreviations

Note: This will change when tokens are reassigned in a forthcoming update

The following keywords can be abbreviated with a period (.) omitting the remaining characters:

A.UTO B.SAVE C.OLOR D.ELETE E.DIT F.OR G.OSUB H.EX$ K.ILL L.ET

M.KDIR N.EXT P.RINT R.EM S.CREEN T.ROFF U.SR V.AL W.AIT X.OR

Matrix keyboards

It is possible to use SE Basic IV with computers that use simple matrix keyboards. These omit the function keys, but all other keys are accessible:

┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┐
│TAB │CAPS│PGUP│PGDN│←   │↓   │↑   │→   │CTRL│BKSP│
│1  !│2  @│3  #│4  $│5  %│6  &│7  '│8  (│9  )│0  _│
└─┬──┴─┬──┴─┬──┴─┬──┴─┬──┴─┬──┴─┬──┴─┬──┴─┬──┴─┬──┴─┐
  │Q   │W   │E   │R   │T   │Y   │U   │I   │O   │P   │
  │HOME│ DEL│ END│   <│   >│   [│   ]│ INS│   ;│   "│
  └─┬──┴─┬──┴─┬──┴─┬──┴─┬──┴─┬──┴─┬──┴─┬──┴─┬──┴─┬──┴────┐
    │A   │S   │D   │F   │G   │H   │J   │K   │L   │COMPOSE│
    │   ~│   |│   \│   {│   }│   ^│   -│   +│   =│RTN CLR│
┌───┴─┬──┴─┬──┴─┬──┴─┬──┴─┬──┴─┬──┴─┬──┴─┬──┴─┬──┴───────┤
│SHIFT│Z   │X   │C   │V   │B   │N   │M   │ALT │ESC       │
│  ALT│   :│   `│   ?│   /│   *│   ,│   .│SYMB│SPACE HELP│
└─────┴────┴────┴────┴────┴────┴────┴────┴────┴──────────┘

Programs and files

Connecting to peripherals

Changing the interface

Codepages

SE Basic IV supports a large number of legacy codepages that were common at the time Microsoft BASIC was popular, excluding double-byte character set codepages used for Chinese, Japanese and Korean. You can select your codepage by using the cp=<option> in the CONFIG.SYS file. Codepages are stored in the /SYSTEM/FONTS folder and loaded when the computer restarts. SE Basic IV will load and save all program files as if encoded in the codepage you select.

Note that SE Basic IV does not implement the following features relevant to some of these codepages:

Bidirectional text

All text is printed left-to-right independent of the codepage selected. To write strings in a language that is written right-to-left, the logical character sequence must be inverted so that the order appears correct visually. While this is inconvenient, it is in line with the behaviour of Microsoft BASIC. This affects code pages marked with B in the table.

Combining characters

SE Basic IV recognizes single-byte code points (where each glyph shows on a single cell on the screen) and double-byte code points (where a single glyph takes up two cells on the screen). Combining characters (such as the combining diacritics of codepages 874 and 1258) are therefore not shown correctly: instead of being combined with their preceding base character as a single combined glyph, such combinations will be shown as separate glyphs. Where available, alternative codepages with precomposed characters will give better results. This affects code pages marked with C in the table.

Note: Where a bitmap display is in use, it is possible to manually combine characters by over-priting the diacritics.

The following codepages are available. SE Basic IV uses the Microsoft OEM codepage number where this is unambiguous. For unofficial codepages and those with conflicting numbering, codepage names are used instead of numbers.

ID Codepage Languages Notes
437 DOS Latin USA English IBM default
932 Shift-JIS (variant) Japanese MSX2+ compatible
1250 Central European Central European languages
1251 Cyrillic Cyrillic languages
1252 Western European Western European languages
1253 Greek Greek
1254 Turkish Turkish
1255 Hebrew Hebrew B
1257 Baltic Baltic languages
1258 Vietnamese Vietnamese C

Fonts

In SE Basiv IV, codepages and fonts are equivalent. A font is a 2KB file containing a raster definition for each of the 256 characters. Characters are six pixels wide by eight characters tall. They are encoded in eight bytes using only the middle six bits of each byte. Fonts are stored in the /SYSTEM/FONTS folder.

The following fonts available to display text created on other systems:

ID System Notes
ATARI-ST Atari ST English, Hebrew
ATASCII Atari 8=bit
PETSCII Commodore 8-bit

A special HELP font is also included for use in English help systems that includes Roman, Italic and Bold definitions in a single font.

Clone this wiki locally