-
-
Notifications
You must be signed in to change notification settings - Fork 8
User guide
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.
| 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. |
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.
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
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│
└─────┴────┴────┴────┴────┴────┴────┴────┴────┴──────────┘
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:
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.
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 |
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.
This documentation is copyright © 2012-2022 Source Solutions, Inc. Portions copyright © 2014-2019 Rob Hagemans.
Licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.