mk90.guide

Keyboard reference

Sequential prefixes, translated key codes and all FK expansions.

Prefix keys

KeyBehavior
SUToggle the control prefix; the next translated character is reduced to its control code.
V/NToggle a one-character shift prefix. Digits/punctuation select the implemented shifted symbols; backslash becomes |.
R/LToggle lowercase/uppercase; the editor displays [a]/[A].
FKIn a .bas editor buffer, arm/disarm one keyword insertion.

Use prefixes sequentially: press the prefix, then the next key. Repeated events of a held prefix are suppressed. Normal character repeats are supplied by RTC-paced controller rescanning, nominally up to eight per second; this is not a multi-key rollover or key-release API.

Context-specific controls

ContextKeys
Shell inputBK submits; backspace deletes; SU+C cancels the line.
EditorArrows move; BK inserts LF; SU+S saves; SU+Q exits.
LESSBK/space forward; lowercase b back only in a file; lowercase q or SU+C exits.
CAT /dev/consoleSU+D terminates input.
BASIC runtimeSU+C interrupts; INPUT uses BK to accept a number.
WAIT commandSU+C cancels the wait without killing its target.

Translated control codes

ValueKeys / event
0No event returned by nonblocking INKEY.
1Left arrow; also SU+A.
2Right arrow; also SU+B.
3Up arrow; also SU+C.
4Down arrow; also SU+D.
8Backspace (physical raw DBh).
9Tab key; not a tab-expansion feature in the editor.
13BK / Enter.
17SU+Q.
19SU+S.
30FK event (physical raw DFh).

The runtime’s periodic cancellation poll consumes a key and only acts on code 3. It can therefore consume an ordinary key before a later INKEY expression observes it. INKEY is event polling, not a reliable held-key matrix or queued-message contract for every physical key.

Because arrow and SU codes overlap, up-arrow can cancel outside the editor and down-arrow can end console CAT. The table describes the actual translated API in this release.

Entering punctuation

V/N followed by backslash gives |; V/N followed by 2 gives a double quote; V/N followed by 8 gives (; V/N followed by 9 gives ); V/N followed by colon gives *; V/N followed by semicolon gives +.

Physical-map limitation in 0.6: =, < and > can exist in files and are accepted by the compiler, but the implemented physical-key translation has no combination that produces them. V/N plus minus remains minus; it does not produce equals. The editor has no numeric character-entry command. New programs needing these characters cannot be entered completely from the physical keyboard with this mapping. Existing sources, including the supplied demo, retain their stored characters.

Complete FK expansion table

In the table, “key” is the normal 0.6 Latin-map character or control, and raw is the physical key byte in hexadecimal. Every word except a function ending in ( receives a trailing space. The factory-style table has 51 entries.

Insertion availability does not imply compiler support. In particular RUN, SAVE, LOAD, DIM, DATA, READ, PLAY and the other unimplemented factory words are not silently accepted by MBC. They remain ordinary text in the editor.

RawKeyInserted textMBC-16 status
0BAAUTO Factory legend; not an MBC-16 feature
0FIINPUT Implemented
13RRUN Factory legend; not an MBC-16 feature
17[RETURN Implemented
231SIN(Factory legend; not an MBC-16 feature
276COS(Factory legend; not an MBC-16 feature
2BBDRAW Factory legend; not an MBC-16 feature
2FJINIT Factory legend; not an MBC-16 feature
33SSTEP Syntax keyword
37]RESTORE Factory legend; not an MBC-16 feature
3BUp arrowDIS Factory legend; not an MBC-16 feature
3FDown arrowGOSUB Implemented
432EXP(Factory legend; not an MBC-16 feature
477LOG(Factory legend; not an MBC-16 feature
4BWWAIT Implemented
4FKKILL Factory legend; not an MBC-16 feature
53TSAVE Factory legend; not an MBC-16 feature
57XREM Implemented
5BLeft arrowDEV Factory legend; not an MBC-16 feature
633ABS(Implemented
678SGN(Factory legend; not an MBC-16 feature
6BGGOTO Implemented
6FLLET Implemented
73USTOP Implemented
77YREAD Factory legend; not an MBC-16 feature
7B,DEF FN Factory legend; not an MBC-16 feature
834SQR(Factory legend; not an MBC-16 feature
879ATN(Factory legend; not an MBC-16 feature
8BDDATA Factory legend; not an MBC-16 feature
8FMLIST Factory legend; not an MBC-16 feature
93FFOR Implemented
97_RANDOMIZE Factory legend; not an MBC-16 feature
9B.DIM Factory legend; not an MBC-16 feature
A35INT(Factory legend; not an MBC-16 feature
A70RND(Implemented
ABEEND Implemented
AFNNEXT Implemented
B3HHELP Factory legend; not an MBC-16 feature
B7\FILES Factory legend; not an MBC-16 feature
BBRight arrowDELETE Factory legend; not an MBC-16 feature
C3:LLIST Factory legend; not an MBC-16 feature
C7/LFILES Factory legend; not an MBC-16 feature
CBVEDIT Factory legend; not an MBC-16 feature
CFONAME Factory legend; not an MBC-16 feature
D3CCLS Implemented
D7@LOAD Factory legend; not an MBC-16 feature
E3;LPRINT Factory legend; not an MBC-16 feature
EBZTHEN Syntax keyword
EFPPRINT Implemented
F3^PLAY Factory legend; not an MBC-16 feature
F7QLOCATE Implemented