@nataliapc/mcp-openmsx 1.1.15 → 1.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -14
- package/dist/server.js +73 -24
- package/dist/utils.js +10 -2
- package/dist/vectordb.js +60 -0
- package/package.json +8 -3
- package/resources/audio/msx-midi.md +872 -0
- package/resources/audio/psg_registers.md +281 -0
- package/resources/audio/sound_cartridge_scc.md +123 -0
- package/resources/audio/sound_cartridge_scci.md +250 -0
- package/resources/audio/toc.json +8 -4
- package/resources/book--msx2-technical-handbook/toc.json +1 -1
- package/resources/msx-unapi/toc.json +2 -2
- package/resources/programming/basic_wiki/ABS().md +36 -0
- package/resources/programming/basic_wiki/AND.md +71 -0
- package/resources/programming/basic_wiki/ASC().md +38 -0
- package/resources/programming/basic_wiki/ATN().md +36 -0
- package/resources/programming/basic_wiki/AUTO.md +39 -0
- package/resources/programming/basic_wiki/BASE().md +147 -0
- package/resources/programming/basic_wiki/BEEP.md +27 -0
- package/resources/programming/basic_wiki/BIN$().md +36 -0
- package/resources/programming/basic_wiki/BLOAD.md +63 -0
- package/resources/programming/basic_wiki/BSAVE.md +61 -0
- package/resources/programming/basic_wiki/CALL.md +391 -0
- package/resources/programming/basic_wiki/CALL_ADJUST.md +40 -0
- package/resources/programming/basic_wiki/CALL_IMPOSE.md +28 -0
- package/resources/programming/basic_wiki/CALL_OPTIONS.md +26 -0
- package/resources/programming/basic_wiki/CALL_PAUSE.md +119 -0
- package/resources/programming/basic_wiki/CALL_PCMPLAY.md +60 -0
- package/resources/programming/basic_wiki/CALL_PCMREC.md +70 -0
- package/resources/programming/basic_wiki/CDBL().md +36 -0
- package/resources/programming/basic_wiki/CHR$().md +51 -0
- package/resources/programming/basic_wiki/CINT().md +36 -0
- package/resources/programming/basic_wiki/CIRCLE.md +51 -0
- package/resources/programming/basic_wiki/CLEAR.md +39 -0
- package/resources/programming/basic_wiki/CLOAD.md +27 -0
- package/resources/programming/basic_wiki/CLOAD?.md +31 -0
- package/resources/programming/basic_wiki/CLOSE.md +44 -0
- package/resources/programming/basic_wiki/CLS.md +51 -0
- package/resources/programming/basic_wiki/COLOR.md +143 -0
- package/resources/programming/basic_wiki/COLOR=.md +93 -0
- package/resources/programming/basic_wiki/COLOR_SPRITE$().md +83 -0
- package/resources/programming/basic_wiki/COLOR_SPRITE().md +85 -0
- package/resources/programming/basic_wiki/CONT.md +23 -0
- package/resources/programming/basic_wiki/COPY.md +215 -0
- package/resources/programming/basic_wiki/COPY_SCREEN.md +61 -0
- package/resources/programming/basic_wiki/COS().md +37 -0
- package/resources/programming/basic_wiki/CSAVE.md +35 -0
- package/resources/programming/basic_wiki/CSNG().md +36 -0
- package/resources/programming/basic_wiki/CSRLIN.md +33 -0
- package/resources/programming/basic_wiki/DATA.md +47 -0
- package/resources/programming/basic_wiki/DEFDBL.md +40 -0
- package/resources/programming/basic_wiki/DEFINT.md +40 -0
- package/resources/programming/basic_wiki/DEFSNG.md +40 -0
- package/resources/programming/basic_wiki/DEFSTR.md +40 -0
- package/resources/programming/basic_wiki/DEF_FN.md +49 -0
- package/resources/programming/basic_wiki/DEF_USR.md +33 -0
- package/resources/programming/basic_wiki/DELETE.md +49 -0
- package/resources/programming/basic_wiki/DIM.md +59 -0
- package/resources/programming/basic_wiki/DRAW.md +77 -0
- package/resources/programming/basic_wiki/ELSE.md +45 -0
- package/resources/programming/basic_wiki/END.md +32 -0
- package/resources/programming/basic_wiki/EOF().md +36 -0
- package/resources/programming/basic_wiki/EQV.md +76 -0
- package/resources/programming/basic_wiki/ERASE.md +35 -0
- package/resources/programming/basic_wiki/ERL.md +34 -0
- package/resources/programming/basic_wiki/ERR.md +143 -0
- package/resources/programming/basic_wiki/ERROR.md +145 -0
- package/resources/programming/basic_wiki/EXP().md +38 -0
- package/resources/programming/basic_wiki/FIELD.md +48 -0
- package/resources/programming/basic_wiki/FIX().md +44 -0
- package/resources/programming/basic_wiki/FN.md +61 -0
- package/resources/programming/basic_wiki/FOR...NEXT.md +80 -0
- package/resources/programming/basic_wiki/FRE().md +66 -0
- package/resources/programming/basic_wiki/GET_DATE.md +60 -0
- package/resources/programming/basic_wiki/GET_TIME.md +34 -0
- package/resources/programming/basic_wiki/GOSUB.md +41 -0
- package/resources/programming/basic_wiki/GOTO.md +41 -0
- package/resources/programming/basic_wiki/HEX$().md +36 -0
- package/resources/programming/basic_wiki/IF...GOTO...ELSE.md +55 -0
- package/resources/programming/basic_wiki/IF...THEN...ELSE.md +50 -0
- package/resources/programming/basic_wiki/IMP.md +83 -0
- package/resources/programming/basic_wiki/INKEY$.md +65 -0
- package/resources/programming/basic_wiki/INP().md +33 -0
- package/resources/programming/basic_wiki/INPUT$().md +51 -0
- package/resources/programming/basic_wiki/INPUT.md +93 -0
- package/resources/programming/basic_wiki/INSTR().md +44 -0
- package/resources/programming/basic_wiki/INT().md +44 -0
- package/resources/programming/basic_wiki/INTERVAL.md +57 -0
- package/resources/programming/basic_wiki/KEY().md +51 -0
- package/resources/programming/basic_wiki/KEY.md +254 -0
- package/resources/programming/basic_wiki/LEFT$().md +39 -0
- package/resources/programming/basic_wiki/LEN().md +36 -0
- package/resources/programming/basic_wiki/LET.md +68 -0
- package/resources/programming/basic_wiki/LINE.md +74 -0
- package/resources/programming/basic_wiki/LINE_INPUT.md +79 -0
- package/resources/programming/basic_wiki/LIST.md +58 -0
- package/resources/programming/basic_wiki/LLIST.md +43 -0
- package/resources/programming/basic_wiki/LOAD.md +56 -0
- package/resources/programming/basic_wiki/LOCATE.md +67 -0
- package/resources/programming/basic_wiki/LOG().md +36 -0
- package/resources/programming/basic_wiki/LPOS().md +31 -0
- package/resources/programming/basic_wiki/LPRINT.md +46 -0
- package/resources/programming/basic_wiki/MAXFILES.md +39 -0
- package/resources/programming/basic_wiki/MERGE.md +54 -0
- package/resources/programming/basic_wiki/MID$().md +72 -0
- package/resources/programming/basic_wiki/MOD.md +39 -0
- package/resources/programming/basic_wiki/MOTOR.md +46 -0
- package/resources/programming/basic_wiki/NEW.md +27 -0
- package/resources/programming/basic_wiki/NOT.md +61 -0
- package/resources/programming/basic_wiki/OCT$().md +36 -0
- package/resources/programming/basic_wiki/ON...GOSUB.md +45 -0
- package/resources/programming/basic_wiki/ON...GOTO.md +42 -0
- package/resources/programming/basic_wiki/ON_ERROR_GOTO.md +61 -0
- package/resources/programming/basic_wiki/ON_INTERVAL_GOSUB.md +54 -0
- package/resources/programming/basic_wiki/ON_KEY_GOSUB.md +56 -0
- package/resources/programming/basic_wiki/ON_SPRITE_GOSUB.md +41 -0
- package/resources/programming/basic_wiki/ON_STOP_GOSUB.md +56 -0
- package/resources/programming/basic_wiki/ON_STRIG_GOSUB.md +70 -0
- package/resources/programming/basic_wiki/OPEN.md +103 -0
- package/resources/programming/basic_wiki/OR.md +75 -0
- package/resources/programming/basic_wiki/OUT.md +35 -0
- package/resources/programming/basic_wiki/PAD().md +110 -0
- package/resources/programming/basic_wiki/PAINT.md +66 -0
- package/resources/programming/basic_wiki/PDL().md +53 -0
- package/resources/programming/basic_wiki/PEEK().md +44 -0
- package/resources/programming/basic_wiki/PLAY().md +58 -0
- package/resources/programming/basic_wiki/PLAY.md +196 -0
- package/resources/programming/basic_wiki/POINT.md +52 -0
- package/resources/programming/basic_wiki/POKE.md +51 -0
- package/resources/programming/basic_wiki/POS().md +36 -0
- package/resources/programming/basic_wiki/PRESET.md +61 -0
- package/resources/programming/basic_wiki/PRINT.md +179 -0
- package/resources/programming/basic_wiki/PSET.md +82 -0
- package/resources/programming/basic_wiki/PUT_KANJI.md +93 -0
- package/resources/programming/basic_wiki/PUT_SPRITE.md +143 -0
- package/resources/programming/basic_wiki/READ.md +45 -0
- package/resources/programming/basic_wiki/REM.md +42 -0
- package/resources/programming/basic_wiki/RENUM.md +78 -0
- package/resources/programming/basic_wiki/RESTORE.md +52 -0
- package/resources/programming/basic_wiki/RESUME.md +45 -0
- package/resources/programming/basic_wiki/RETURN.md +47 -0
- package/resources/programming/basic_wiki/RIGHT$().md +39 -0
- package/resources/programming/basic_wiki/RND().md +51 -0
- package/resources/programming/basic_wiki/RUN.md +56 -0
- package/resources/programming/basic_wiki/SAVE.md +65 -0
- package/resources/programming/basic_wiki/SCREEN.md +164 -0
- package/resources/programming/basic_wiki/SET_ADJUST.md +66 -0
- package/resources/programming/basic_wiki/SET_BEEP.md +76 -0
- package/resources/programming/basic_wiki/SET_DATE.md +103 -0
- package/resources/programming/basic_wiki/SET_PAGE.md +52 -0
- package/resources/programming/basic_wiki/SET_PASSWORD.md +75 -0
- package/resources/programming/basic_wiki/SET_PROMPT.md +61 -0
- package/resources/programming/basic_wiki/SET_SCREEN.md +100 -0
- package/resources/programming/basic_wiki/SET_SCROLL.md +55 -0
- package/resources/programming/basic_wiki/SET_TIME.md +83 -0
- package/resources/programming/basic_wiki/SET_TITLE.md +87 -0
- package/resources/programming/basic_wiki/SET_VIDEO.md +49 -0
- package/resources/programming/basic_wiki/SGN().md +38 -0
- package/resources/programming/basic_wiki/SIN().md +36 -0
- package/resources/programming/basic_wiki/SOUND.md +188 -0
- package/resources/programming/basic_wiki/SPACE$().md +38 -0
- package/resources/programming/basic_wiki/SPC().md +34 -0
- package/resources/programming/basic_wiki/SPRITE$().md +50 -0
- package/resources/programming/basic_wiki/SPRITE.md +31 -0
- package/resources/programming/basic_wiki/SQR().md +32 -0
- package/resources/programming/basic_wiki/STICK().md +70 -0
- package/resources/programming/basic_wiki/STOP.md +70 -0
- package/resources/programming/basic_wiki/STR$().md +37 -0
- package/resources/programming/basic_wiki/STRIG().md +82 -0
- package/resources/programming/basic_wiki/STRING$().md +42 -0
- package/resources/programming/basic_wiki/SWAP.md +62 -0
- package/resources/programming/basic_wiki/TAB().md +38 -0
- package/resources/programming/basic_wiki/TAN().md +36 -0
- package/resources/programming/basic_wiki/TIME.md +59 -0
- package/resources/programming/basic_wiki/TROFF.md +21 -0
- package/resources/programming/basic_wiki/TRON.md +39 -0
- package/resources/programming/basic_wiki/USR().md +66 -0
- package/resources/programming/basic_wiki/VAL().md +36 -0
- package/resources/programming/basic_wiki/VARPTR().md +50 -0
- package/resources/programming/basic_wiki/VDP().md +103 -0
- package/resources/programming/basic_wiki/VPEEK().md +46 -0
- package/resources/programming/basic_wiki/VPOKE.md +48 -0
- package/resources/programming/basic_wiki/WAIT.md +38 -0
- package/resources/programming/basic_wiki/WIDTH.md +76 -0
- package/resources/programming/basic_wiki/XOR.md +72 -0
- package/resources/programming/basic_wiki/_toc.json +871 -0
- package/resources/sdcc/toc.json +1 -1
- package/vector-db/index.json +1 -0
- /package/resources/msx-unapi/{Ethernet_UNAPI_specification_1.1.md → Ethernet_UNAPI_specification_1_1.md} +0 -0
- /package/resources/msx-unapi/{MSX_UNAPI_specification_1.1.md → MSX_UNAPI_specification_1_1.md} +0 -0
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# INTERVAL
|
|
2
|
+
|
|
3
|
+
## Effect
|
|
4
|
+
|
|
5
|
+
Changes the way BASIC timer interrupts are handled.
|
|
6
|
+
|
|
7
|
+
## Syntax
|
|
8
|
+
|
|
9
|
+
`INTERVAL ON|OFF|STOP`
|
|
10
|
+
|
|
11
|
+
## Parameters
|
|
12
|
+
|
|
13
|
+
This instruction is always combined with `ON INTERVAL GOSUB`.
|
|
14
|
+
|
|
15
|
+
With `INTERVAL ON`, the computer will check if a specified time interval has been elapsed and the subroutine specified with `ON INTERVAL GOSUB` is executed immediately.
|
|
16
|
+
|
|
17
|
+
With `INTERVAL OFF`, this checking is disabled.
|
|
18
|
+
|
|
19
|
+
With `INTERVAL STOP`, the checking is made, but the execution of the subroutine specified with `ON INTERVAL GOSUB` will happen only when an `INTERVAL ON` instruction is executed later in the program.
|
|
20
|
+
|
|
21
|
+
## Example
|
|
22
|
+
|
|
23
|
+
```basic
|
|
24
|
+
10 ON INTERVAL=60 GOSUB 50
|
|
25
|
+
20 INTERVAL ON
|
|
26
|
+
30 X=X+1:IF INKEY$="" THEN 30
|
|
27
|
+
40 END
|
|
28
|
+
50 PRINT X:RETURN
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
```basic
|
|
32
|
+
10 ON INTERVAL=300 GOSUB 60
|
|
33
|
+
20 INTERVAL ON
|
|
34
|
+
30 FOR I=1 TO 10000:NEXT I
|
|
35
|
+
40 INTERVAL OFF
|
|
36
|
+
50 END
|
|
37
|
+
60 K=K+6:PRINT K;"seconds"
|
|
38
|
+
70 RETURN
|
|
39
|
+
|
|
40
|
+
RUN
|
|
41
|
+
6 seconds
|
|
42
|
+
12 seconds
|
|
43
|
+
18 seconds
|
|
44
|
+
24 seconds
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Related to
|
|
48
|
+
|
|
49
|
+
`ON INTERVAL GOSUB`
|
|
50
|
+
|
|
51
|
+
## Compatibility
|
|
52
|
+
|
|
53
|
+
MSX-BASIC 1.0 or higher
|
|
54
|
+
|
|
55
|
+
## Source
|
|
56
|
+
|
|
57
|
+
Retrieved from "https://www.msx.org/wiki/INTERVAL"
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# KEY()
|
|
2
|
+
|
|
3
|
+
## Effect
|
|
4
|
+
|
|
5
|
+
Enables/disables/stops a function key.
|
|
6
|
+
|
|
7
|
+
## Syntax
|
|
8
|
+
|
|
9
|
+
`KEY (<Number>) ON|OFF|STOP`
|
|
10
|
+
|
|
11
|
+
## Parameters
|
|
12
|
+
|
|
13
|
+
`<Number>` is the function key number. It can vary between 1 and 10.
|
|
14
|
+
|
|
15
|
+
`ON`, `OFF` or `STOP` enables, disables or stops the call caused by the corresponding function key.
|
|
16
|
+
|
|
17
|
+
## Example
|
|
18
|
+
|
|
19
|
+
```basic
|
|
20
|
+
10 FOR I = 1 TO 3: KEY(I) STOP: NEXT ' F1 to F3 are stopped
|
|
21
|
+
20 FOR I = 4 TO 10: KEY(I) OFF: NEXT ' F4 to F10 are disabled
|
|
22
|
+
30 ON KEY GOSUB 170, 180, 190 ' Subroutine will only be active from line 130
|
|
23
|
+
40 CLS
|
|
24
|
+
50 PRINT"TEST 1"
|
|
25
|
+
60 PRINT
|
|
26
|
+
70 PRINT"Press a function key or ESC key"
|
|
27
|
+
80 A$=INPUT$(1)
|
|
28
|
+
90 IF A$ = CHR$(27) THEN 100 ELSE 80
|
|
29
|
+
100 CLS
|
|
30
|
+
110 PRINT"TEST 2"
|
|
31
|
+
120 PRINT"Press a function key"
|
|
32
|
+
130 KEY(1) ON:KEY(2) ON:KEY(3) ON ' F1 to F3 and the subroutine in line 30 are enabled
|
|
33
|
+
140 GOTO 160
|
|
34
|
+
150 PRINT " pressed"
|
|
35
|
+
160 GOTO 160
|
|
36
|
+
170 PRINT:PRINT "F1";:RETURN 150
|
|
37
|
+
180 PRINT:PRINT "F2";:RETURN 150
|
|
38
|
+
190 PRINT:PRINT "F3";:RETURN 150
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Related to
|
|
42
|
+
|
|
43
|
+
`KEY`, `ON KEY GOSUB`
|
|
44
|
+
|
|
45
|
+
## Compatibility
|
|
46
|
+
|
|
47
|
+
MSX-BASIC 1.0 or higher
|
|
48
|
+
|
|
49
|
+
## Source
|
|
50
|
+
|
|
51
|
+
Retrieved from "https://www.msx.org/wiki/KEY()"
|
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
# KEY
|
|
2
|
+
|
|
3
|
+
## Effect
|
|
4
|
+
|
|
5
|
+
Lists the contents of the function keys (`KEY LIST`).
|
|
6
|
+
|
|
7
|
+
Enables (`KEY ON`) or disables (`KEY OFF`) the display of their content
|
|
8
|
+
- on line 24 of text modes SCREEN 0, 1, 9.
|
|
9
|
+
- on line 13 of Kanji text modes 0 and 1, activated with `CALL KANJI`, `CALL KANJI0` or `CALL KANJI1`.
|
|
10
|
+
- on line 24 of Kanji text modes 2 and 3, activated with `CALL KANJI2` or `CALL KANJI3`.
|
|
11
|
+
|
|
12
|
+
Changes the text displayed at the bottom of the screen.
|
|
13
|
+
|
|
14
|
+
## Syntaxes
|
|
15
|
+
|
|
16
|
+
`KEY LIST`
|
|
17
|
+
|
|
18
|
+
`KEY ON|OFF`
|
|
19
|
+
|
|
20
|
+
`KEY <Number>,"<String>"`
|
|
21
|
+
|
|
22
|
+
## Parameters
|
|
23
|
+
|
|
24
|
+
`ON`/`OFF` enables/disables display of the function key text at the bottom of the screen. It is only displayed in text screen modes.
|
|
25
|
+
|
|
26
|
+
`LIST` is used to list the contents of the function keys.
|
|
27
|
+
|
|
28
|
+
`<Number>` is the function key number. (1~10)
|
|
29
|
+
|
|
30
|
+
`<String>` is a text of up to 15 characters allocated for each function key. This string is executed as a BASIC program line when the corresponding key is pressed.
|
|
31
|
+
|
|
32
|
+
When pressing the specific function key in direct mode the text is displayed at the location of the cursor. This allows quick entry of text or instructions that are often used. The function key text will also be displayed on the last line of the screen, if this feature is active, which is the default.
|
|
33
|
+
|
|
34
|
+
If the text contains an instruction and you want to have it automatically executed upon pressing the function key, add `+CHR$(13)` at the end of the string. This corresponds to the RETURN/ENTER key. See MSX Characters & Control Codes for other character codes.
|
|
35
|
+
|
|
36
|
+
During a program execution pressing a function key will have the same effect as you press each key corresponding at characters in text with in extra the call to the routine defined by `ON KEY GOSUB`. The text will not be displayed except during the execution of `INPUT`.
|
|
37
|
+
|
|
38
|
+
_Note: To go back completely to the default function keys, you need to use `DEFUSR=&H3E : X=USR(0) : KEY ON`_
|
|
39
|
+
|
|
40
|
+
## Example
|
|
41
|
+
|
|
42
|
+
```basic
|
|
43
|
+
10 A$="FILES"+CHR$(13)
|
|
44
|
+
20 KEY 1,A$+"?DSKF(0)"+CHR$(13)
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Standard function keys
|
|
48
|
+
|
|
49
|
+
By default, the contents of the function keys are as follows (complete display with `KEY LIST`):
|
|
50
|
+
|
|
51
|
+
### Japanese and Korean machines
|
|
52
|
+
|
|
53
|
+
Also for Philips VG-8000 and VG-8010 (not the 8010F version), Sanyo PHC-28S.
|
|
54
|
+
|
|
55
|
+
|Key|Display|String|
|
|
56
|
+
|---|---|---|
|
|
57
|
+
|F1|color|"color"|
|
|
58
|
+
|F2|auto|"auto"|
|
|
59
|
+
|F3|goto|"goto"|
|
|
60
|
+
|F4|list|"list"|
|
|
61
|
+
|F5|run|"run"+CHR$(13)|
|
|
62
|
+
|F6|color 15,4,7|"color 15,4,7"+CHR$(13)|
|
|
63
|
+
|F7 <sup>(*)</sup>|cload"|"cload"+CHR$(34)|
|
|
64
|
+
|F8|cont|"cont"+CHR$(13)|
|
|
65
|
+
|F9|list.|"list."+CHR$(13)|
|
|
66
|
+
|F10|run|CHR$(12)+"run"+CHR$(13)|
|
|
67
|
+
|
|
68
|
+
<sup>(*)</sup> `cload"` for `"load"+CHR$(34)` on MSX2+ and MSX turbo R machines.
|
|
69
|
+
|
|
70
|
+
### European, Argentinian and Russian MSX/MSX2 machines
|
|
71
|
+
|
|
72
|
+
Also for Sharp HB-8000-11 and HB-8000-12, Arabic versions of Spectravideo SVI-728 and SVI-738, Arabic machines in European mode.
|
|
73
|
+
|
|
74
|
+
On Yamaha YIS-503IIR, the network needs to be disabled: boot while pressing `DEL` key.
|
|
75
|
+
On Arabic machines, the Arabic mode needs to be disabled: boot while presssing `CTRL` key.
|
|
76
|
+
|
|
77
|
+
|Key|Display|String|
|
|
78
|
+
|---|---|---|
|
|
79
|
+
|F1|color|"color"|
|
|
80
|
+
|F2|auto|"auto"|
|
|
81
|
+
|F3|goto|"goto"|
|
|
82
|
+
|F4|list|"list"|
|
|
83
|
+
|F5|run|"run"+CHR$(13)|
|
|
84
|
+
|F6|color 15,4,4|"color 15,4,4"+CHR$(13)|
|
|
85
|
+
|F7|cload"|"cload"+CHR$(34)|
|
|
86
|
+
|F8|cont|"cont"+CHR$(13)|
|
|
87
|
+
|F9|list.|"list."+CHR$(13)|
|
|
88
|
+
|F10|run|CHR$(12)+"run"+CHR$(13)|
|
|
89
|
+
|
|
90
|
+
### Brazilian MSX machines
|
|
91
|
+
|
|
92
|
+
|Key|Display|String|
|
|
93
|
+
|---|---|---|
|
|
94
|
+
|F1|color|"color"|
|
|
95
|
+
|F6 <sup>(*)</sup>|color 15,1,1|"color 15,1,1"+CHR$(13)|
|
|
96
|
+
|F2|auto|"auto"|
|
|
97
|
+
|F7|cload"|"cload"+CHR$(34)|
|
|
98
|
+
|F3|goto|"goto"|
|
|
99
|
+
|F8|cont|"cont"+CHR$(13)|
|
|
100
|
+
|F4|list|"list"|
|
|
101
|
+
|F9|list.|"list."|
|
|
102
|
+
|F5|run|"run"+CHR$(13)|
|
|
103
|
+
|F10|run|"run"|
|
|
104
|
+
|
|
105
|
+
<sup>(*)</sup> `color 15,4,4` for `"color 15,4,4"+CHR$(13)` on Sharp HB-8000-14.
|
|
106
|
+
|
|
107
|
+
## Non-standard function keys
|
|
108
|
+
|
|
109
|
+
### Daewoo Zemmix CPC-50, CPC-50A, CPC-50B and CPC-51
|
|
110
|
+
|
|
111
|
+
These machines are conceived as consoles, not as computers. On the real hardware, it's impossible to use MSX-BASIC. On emulators, you can access to MSX-BASIC but by default, the contents of the function keys are empty.
|
|
112
|
+
|
|
113
|
+
### Frael Bruc 100
|
|
114
|
+
|
|
115
|
+
This MSX clone never displays the contents of the function keys, even if you use KEY ON. However, you can list these contents with KEY LIST (or by pressing the F1 key) and use KEY to change them.
|
|
116
|
+
|
|
117
|
+
|Key|Display|String|
|
|
118
|
+
|---|---|---|
|
|
119
|
+
|F1 <sup>(*)</sup>|keylist|"keylist"+CHR$(13)|
|
|
120
|
+
|F6|color|"color|
|
|
121
|
+
|F2|cload"|"cload"+CHR$(34)|
|
|
122
|
+
|F7|csave"|"csave"+CHR$(34)|
|
|
123
|
+
|F3|auto|"auto"|
|
|
124
|
+
|F8|renum|"renum"|
|
|
125
|
+
|F4|list .|"list ."+CHR$(13)|
|
|
126
|
+
|F9|list|"list"|
|
|
127
|
+
|F5|run|"RUN "|
|
|
128
|
+
|F10|cont|"cont"+CHR$(13)|
|
|
129
|
+
|
|
130
|
+
<sup>(*)</sup> displays the contents of all function keys.
|
|
131
|
+
|
|
132
|
+
### Philips NMS 800 and NMS 801
|
|
133
|
+
|
|
134
|
+
|Key|Display|String|
|
|
135
|
+
|---|---|---|
|
|
136
|
+
|F1|run"cas:"|"run"+CHR$(34)+"cas:"+CHR$(13)|
|
|
137
|
+
|F2|bload"cas:",r|"bload"+CHR$(34)+"cas:"+CHR$(34)+",r"+CHR$(13)|
|
|
138
|
+
|F3|cload|"cload"+CHR$(13)|
|
|
139
|
+
|F4|load"cas:",r|"load"+CHR$(34)+"cas:"+CHR$(34)+",r"+CHR$(13)|
|
|
140
|
+
|F5|run|"run"+CHR$(13)|
|
|
141
|
+
|F6|color 15,4,4|"color 15,4,4"+CHR$(13)|
|
|
142
|
+
|F7|cont|"cont"+CHR$(13)|
|
|
143
|
+
|F8|cload"|"cload"+CHR$(34)|
|
|
144
|
+
|F9|list|"list"|
|
|
145
|
+
|F10|run|CHR$(12)+"run"+CHR$(13)|
|
|
146
|
+
|
|
147
|
+
### Brazilian MSX2 machines with MSX-BASIC 2.2
|
|
148
|
+
|
|
149
|
+
|Key|Display|String|
|
|
150
|
+
|---|---|---|
|
|
151
|
+
|F1|copy|"copy"|
|
|
152
|
+
|F2|files|"files"+CHR$(13)|
|
|
153
|
+
|F3|bload"|"bload"+CHR$(34)|
|
|
154
|
+
|F4|list|"list"|
|
|
155
|
+
|F5|run|"run"+CHR$(13)|
|
|
156
|
+
|F6|color 15,1,1|"color 15,1,1"+CHR$(13)|
|
|
157
|
+
|F7|_format|"_format"+CHR$(13)|
|
|
158
|
+
|F8|_system|"_system"+CHR$(13)|
|
|
159
|
+
|F9|load"|"load"+CHR$(34)|
|
|
160
|
+
|F10|save"|"save"+CHR$(34)|
|
|
161
|
+
|
|
162
|
+
### Brazilian MSX2+ machines with MSX-BASIC 3.1 or 3.2
|
|
163
|
+
|
|
164
|
+
|Key|Display|String|
|
|
165
|
+
|---|---|---|
|
|
166
|
+
|F1|files|"files"+CHR$(13)|
|
|
167
|
+
|F2|bload"|"bload"+CHR$(34)|
|
|
168
|
+
|F3|copy|"copy"|
|
|
169
|
+
|F4|list|"list"|
|
|
170
|
+
|F5|run|"run"+CHR$(13)|
|
|
171
|
+
|F6|color 15,0,0|"color 15,0,0"+CHR$(13)|
|
|
172
|
+
|F7|load"|"load"+CHR$(34)|
|
|
173
|
+
|F8|_format|"_format"+CHR$(13)|
|
|
174
|
+
|F9|_system|"_system"+CHR$(13)|
|
|
175
|
+
|F10|run|CHR$(12)+"run"+CHR$(13)|
|
|
176
|
+
|
|
177
|
+
## Function keys defined by software
|
|
178
|
+
|
|
179
|
+
### Firmware of Arabic MSX/MSX2 machines
|
|
180
|
+
|
|
181
|
+
By default, the Arabic mode of these computers (except Arabic versions of Spectravideo SVI-728 and SVI-738) is enabled and the content of the function keys is modified for F2 and F6 to F8 (F9 on Bawareth Perfect machines with 1990 version of Arabic Basic):
|
|
182
|
+
|
|
183
|
+
|Key|Display|String|
|
|
184
|
+
|---|---|---|
|
|
185
|
+
|F1|color|"color"|
|
|
186
|
+
|F2|_arb1|"_arb1"|
|
|
187
|
+
|F3|goto|"goto"|
|
|
188
|
+
|F4|list|"list"|
|
|
189
|
+
|F5|run|"run"+CHR$(13)|
|
|
190
|
+
|F6 <sup>(*)</sup>|_dcolor|"_dcolor"|
|
|
191
|
+
|F7 <sup>(**)</sup>|_arb2 or _arb0|"_arb2" or "_arb0"|
|
|
192
|
+
|F8 <sup>(***)</sup>|_engl|"_engl"|
|
|
193
|
+
|F9 <sup>(****)</sup>|list|"list."+CHR$(13)|
|
|
194
|
+
|F10|run|CHR$(12)+"run"+CHR$(13)|
|
|
195
|
+
|
|
196
|
+
<sup>(\*)</sup> not on Bawareth Perfect computers with a 1987 Arabic BASIC version (3.21 - 3.30).
|
|
197
|
+
<sup>(\*\*)</sup> see below.
|
|
198
|
+
<sup>(\*\*\*)</sup> _latin for "_latin" on Sakhr AX-170F and AX-350IIF.
|
|
199
|
+
<sup>(\*\*\*\*\*)</sup> _arb0 on Bawareth Perfect machines with 1990 version of Arabic Basic
|
|
200
|
+
|
|
201
|
+
#### Contents of F7 key
|
|
202
|
+
|
|
203
|
+
- _arb2 on Sakhr MSX1 computers.
|
|
204
|
+
- _arb0 on Sakhr MSX2 computers and Bawareth Perfect machines with 1987 version of Arabic Basic.
|
|
205
|
+
- _auto for "_auto" on Bawareth Perfect machines with 1990 version of Arabic Basic.
|
|
206
|
+
- _trans when using an Arabic Sakhr Basic cartridge or the equivalent option on Sakhr AX-370: Arabic/English toggle for MSX-BASIC programming.
|
|
207
|
+
|
|
208
|
+
### Firmware of Yamaha YIS-503IIR
|
|
209
|
+
|
|
210
|
+
By default, the network firmware is enabled and the content of the function keys is modified for F1 and F6 to F10:
|
|
211
|
+
|
|
212
|
+
|Key|Display|String|
|
|
213
|
+
|---|---|---|
|
|
214
|
+
|F1|color|"color"|
|
|
215
|
+
|F2|auto|"auto"|
|
|
216
|
+
|F3|goto|"goto"|
|
|
217
|
+
|F4|list|"list"|
|
|
218
|
+
|F5|run|"run"+CHR$(13)|
|
|
219
|
+
|F6|run"COM:"|"run"+CHR$(34)+"COM:"+CHR$(34)|
|
|
220
|
+
|F7|save"COM:"|"save"+CHR$(34)+"COM:"+CHR$(34)|
|
|
221
|
+
|F8|load"COM:"|"load"+CHR$(34)+"COM:"+CHR$(34)|
|
|
222
|
+
|F9|merge"COM:"|"merge"+CHR$(34)+"COM:"+CHR$(34)|
|
|
223
|
+
|F10|_comterm|"_comterm"+CHR$(13)|
|
|
224
|
+
|
|
225
|
+
### Connection of a Quick Disk Drive
|
|
226
|
+
|
|
227
|
+
When booting a MSX computer with a Quick Disk Drive connected, you will see that the contents of most function keys have been modified as follows:
|
|
228
|
+
|
|
229
|
+
|Key|Display|String|
|
|
230
|
+
|---|---|---|
|
|
231
|
+
|F1|_RUN|"_RUN "|
|
|
232
|
+
|F2|_LOAD|"_LOAD "|
|
|
233
|
+
|F3|_BLOAD|"_BLOAD"|
|
|
234
|
+
|F4 (*)|list|"list "|
|
|
235
|
+
|F5 (*)|run|"run"+CHR$(13)|
|
|
236
|
+
|F6 (**)|color 15,4,7|"color 15,4,7"+CHR$(13)|
|
|
237
|
+
|F7|_QDKEY|"_QDKEY "|
|
|
238
|
+
|F8|_SAVE("QD:|"_SAVE("+CHR$(34)+"QD:"|
|
|
239
|
+
|F9|_BSAVE("QD:|"_BSAVE("+CHR$(34)+"QD:"|
|
|
240
|
+
|F10|_QDFILES|"_QDFILES"|
|
|
241
|
+
|
|
242
|
+
<sup>(\*)</sup> Generally unchanged.
|
|
243
|
+
<sup>(\*\*)</sup> Same as Japanese machines, Korean machines, Philips VG-8000 and VG-8010 (not the 8010F version), Sanyo PHC-28S.
|
|
244
|
+
|
|
245
|
+
## Related to
|
|
246
|
+
|
|
247
|
+
`KEY()`, `ON KEY GOSUB`
|
|
248
|
+
|
|
249
|
+
## Compatibility
|
|
250
|
+
|
|
251
|
+
MSX-BASIC 1.0 or higher
|
|
252
|
+
|
|
253
|
+
## Source
|
|
254
|
+
Retrieved from "https://www.msx.org/wiki/KEY"
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# LEFT$()
|
|
2
|
+
|
|
3
|
+
## Effect
|
|
4
|
+
|
|
5
|
+
Returns a string corresponding to a specified number of the leftmost characters from an original string.
|
|
6
|
+
|
|
7
|
+
_Note: For strings with Japanese or Korean characters, you need to use `CALL KMID`._
|
|
8
|
+
|
|
9
|
+
## Syntax
|
|
10
|
+
|
|
11
|
+
`LEFT$("<String>",<Length>)`
|
|
12
|
+
|
|
13
|
+
## Parameters
|
|
14
|
+
|
|
15
|
+
`<String>` is a string of characters between double quotes `"`. It can include non-printable characters and be replaced by a numeric or string variable (also named as alphanumeric variable).
|
|
16
|
+
|
|
17
|
+
`<Length>` is a number between 0 and 255.
|
|
18
|
+
|
|
19
|
+
## Example
|
|
20
|
+
|
|
21
|
+
```basic
|
|
22
|
+
10 A$=LEFT$("MSX Forever!",3)
|
|
23
|
+
20 PRINT A$
|
|
24
|
+
|
|
25
|
+
RUN
|
|
26
|
+
MSX
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Related to
|
|
30
|
+
|
|
31
|
+
`CALL KMID`, `MID$`, `RIGHT$`
|
|
32
|
+
|
|
33
|
+
## Compatibility
|
|
34
|
+
|
|
35
|
+
MSX-BASIC 1.0 or higher
|
|
36
|
+
|
|
37
|
+
## Source
|
|
38
|
+
|
|
39
|
+
Retrieved from "https://www.msx.org/wiki/LEFT$()"
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# LEN()
|
|
2
|
+
|
|
3
|
+
## Effect
|
|
4
|
+
|
|
5
|
+
Returns the length of a string, including all non-printable characters.
|
|
6
|
+
|
|
7
|
+
_Note: For strings with Japanese or Korean characters, you need to use `CALL KLEN`._
|
|
8
|
+
|
|
9
|
+
## Syntax
|
|
10
|
+
|
|
11
|
+
`LEN("<String>")`
|
|
12
|
+
|
|
13
|
+
## Parameter
|
|
14
|
+
|
|
15
|
+
`<String>` is a string of characters between double quotes `"`. It can include non-printable characters and be replaced by a string variable (also named as alphanumeric variable).
|
|
16
|
+
|
|
17
|
+
## Examples
|
|
18
|
+
|
|
19
|
+
```basic
|
|
20
|
+
PRINT LEN("MSX")
|
|
21
|
+
3
|
|
22
|
+
A$="MSX":PRINT LEN(A$)
|
|
23
|
+
3
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Related to
|
|
27
|
+
|
|
28
|
+
`CALL KLEN`
|
|
29
|
+
|
|
30
|
+
## Compatibility
|
|
31
|
+
|
|
32
|
+
MSX-BASIC 1.0 or higher
|
|
33
|
+
|
|
34
|
+
## Source
|
|
35
|
+
|
|
36
|
+
Retrieved from "https://www.msx.org/wiki/LEN()"
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# LET
|
|
2
|
+
|
|
3
|
+
## Effect
|
|
4
|
+
|
|
5
|
+
Assigns a value to a specified variable.
|
|
6
|
+
|
|
7
|
+
_Note: Only the first two letters are taken into account as variable name, but different variable types and tables are considered different even if they have same name (please see the examples)._
|
|
8
|
+
|
|
9
|
+
## Syntax
|
|
10
|
+
|
|
11
|
+
`LET <Variable> = <Value>`
|
|
12
|
+
|
|
13
|
+
The `LET` instruction itself is optional and can be skipped except if you use the _Exprif BASIC_ extension.
|
|
14
|
+
|
|
15
|
+
## Parameters
|
|
16
|
+
|
|
17
|
+
`<Variable>` is a numeric or alphanumeric variable.
|
|
18
|
+
|
|
19
|
+
`<Value>` is a numeric value or a character string (between quotation mark). It can be also an expression.
|
|
20
|
+
|
|
21
|
+
## Examples
|
|
22
|
+
|
|
23
|
+
```basic
|
|
24
|
+
10 LET A=10
|
|
25
|
+
20 LET B$="Hello"
|
|
26
|
+
30 C=20
|
|
27
|
+
40 D$="World!"
|
|
28
|
+
50 CLS
|
|
29
|
+
60 PRINT A;C
|
|
30
|
+
70 PRINT
|
|
31
|
+
80 PRINT B$;" "; D$
|
|
32
|
+
|
|
33
|
+
RUN
|
|
34
|
+
10 20
|
|
35
|
+
|
|
36
|
+
Hello World!
|
|
37
|
+
Ok
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
```basic
|
|
41
|
+
10 SIZE=1:SIDE=2:SI=6
|
|
42
|
+
20 PRINT SIZE
|
|
43
|
+
|
|
44
|
+
RUN
|
|
45
|
+
6
|
|
46
|
+
Ok
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
```basic
|
|
50
|
+
10 XY$="Values:":XY#=1:XY!=2:XY%=3:XY#(0)=4:XY!(0)=5:XY%(0)=6
|
|
51
|
+
20 PRINT XY$;XY#;XY!;XY%;XY#(0);XY!(0);XY%(0)
|
|
52
|
+
|
|
53
|
+
RUN
|
|
54
|
+
Values: 1 2 3 4 5 6
|
|
55
|
+
Ok
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Related to
|
|
59
|
+
|
|
60
|
+
`DEFDBL`, `DEFINT`, `DEFSNG`, `DEFSTR`, `DIM`, `SWAP`
|
|
61
|
+
|
|
62
|
+
## Compatibility
|
|
63
|
+
|
|
64
|
+
MSX-BASIC 1.0 or higher
|
|
65
|
+
|
|
66
|
+
## Source
|
|
67
|
+
|
|
68
|
+
Retrieved from "https://www.msx.org/wiki/LET"
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# LINE
|
|
2
|
+
|
|
3
|
+
## Effect
|
|
4
|
+
|
|
5
|
+
Draws a line or a rectangle between absolute or relative coordinates on a graphic screen (2 to 8, 10 to 12).
|
|
6
|
+
|
|
7
|
+
## Syntaxes
|
|
8
|
+
|
|
9
|
+
`LINE STEP(<X1>,<Y1>)-STEP(<X2>,<Y2>),<Color>,<Shape>,<Operator>`
|
|
10
|
+
|
|
11
|
+
`LINE -STEP(<X2>,<Y2>),<Color>,<Shape>,<Operator>`
|
|
12
|
+
|
|
13
|
+
_Notes:_
|
|
14
|
+
- Parameters can not end with a comma alone.
|
|
15
|
+
- Current cursor coordinates are used as starting coordinates with the second syntax.
|
|
16
|
+
|
|
17
|
+
## Parameters
|
|
18
|
+
|
|
19
|
+
`STEP` can be put before coordinates, to specify relative coordinates to the current cursor position. In this case the values can also be negative.
|
|
20
|
+
|
|
21
|
+
`<X1>` is coordinate X of the starting point of the line (0-255/511).
|
|
22
|
+
|
|
23
|
+
`<Y1>` is coordinate Y of the starting point of the line (0-191/211).
|
|
24
|
+
|
|
25
|
+
When `<X1>` and `<Y1>` are omitted, the coordinates of the last drawn point are used as starting point.
|
|
26
|
+
|
|
27
|
+
`<X2>` is coordinate X of the end point of the line (0-255/511).
|
|
28
|
+
|
|
29
|
+
`<Y2>` is coordinate Y of the end point of the line (0-191/211).
|
|
30
|
+
|
|
31
|
+
`<Color>` is the color to be used for drawing the line = 0 to 15 (screens 2 to 5, 7 and 10), 0 to 3 (screen 6), 0 to 255 (screens 8, 11, 12). If `<Color>` is not specified the current foreground color is used.
|
|
32
|
+
|
|
33
|
+
`<Shape>` define the shape to draw. It can be `B` to draw an empty rectangle or `BF` for filled rectangle. A line is drawn when this parameter is omited.
|
|
34
|
+
|
|
35
|
+
`<Operator>` is the logical operation to be performed between the color of the old pixel and the new color. This parameter can be used only on screens 5 to 8 and 10 to 12, it requires a MSX2 or higher computer.
|
|
36
|
+
|
|
37
|
+
The available operators are `AND`, `OR`, `PRESET`, `PSET` (default), `TAND`, `TOR`, `TPRESET`, `TPSET`, `TXOR`, `XOR`. Specifying a logical operation preceded by "T" causes nothing to be done when specified color is transparent (color 0).
|
|
38
|
+
|
|
39
|
+
The effect of the operators is done on each corresponding bit as shown in the following table.
|
|
40
|
+
|
|
41
|
+
|Current bit|Copied color bit|AND|OR|PRESET|PSET|XOR|
|
|
42
|
+
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|
|
43
|
+
|0|0|0|0|1|0|0|
|
|
44
|
+
|0|1|0|1|0|1|1|
|
|
45
|
+
|1|0|0|1|1|0|1|
|
|
46
|
+
|1|1|1|1|0|1|0|
|
|
47
|
+
|
|
48
|
+
## Examples
|
|
49
|
+
|
|
50
|
+
```basic
|
|
51
|
+
10 SCREEN 2
|
|
52
|
+
20 FOR I=0 TO 95 STEP 2
|
|
53
|
+
30 LINE (128-I,95-I)-(128+I,95+I),1,B
|
|
54
|
+
40 NEXT
|
|
55
|
+
50 GOTO 50
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
```basic
|
|
59
|
+
10 SCREEN 7
|
|
60
|
+
20 LINE (10,10)-(500,200),13,BF
|
|
61
|
+
30 GOTO 30
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Related to
|
|
65
|
+
|
|
66
|
+
`CIRCLE`, `COLOR`, `DRAW`, `PAINT`, `POINT`, `PRESET`, `PSET`, `SCREEN`
|
|
67
|
+
|
|
68
|
+
## Compatibility
|
|
69
|
+
|
|
70
|
+
MSX-BASIC 1.0 or higher
|
|
71
|
+
|
|
72
|
+
## Source
|
|
73
|
+
|
|
74
|
+
Retrieved from "https://www.msx.org/wiki/LINE"
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# LINE INPUT
|
|
2
|
+
|
|
3
|
+
## Effect
|
|
4
|
+
|
|
5
|
+
Retrieves a complete string from the keyboard or a sequential file, storing the input of maximum 254 characters into a variable.
|
|
6
|
+
|
|
7
|
+
_Note: Contrary to `INPUT`, this instruction does not go to text screen mode when it is executed in a graphic screen mode but the input is not done correctly._
|
|
8
|
+
|
|
9
|
+
## Syntaxes
|
|
10
|
+
|
|
11
|
+
`LINE INPUT["<Prompt>";]<Variable>`
|
|
12
|
+
|
|
13
|
+
`LINE INPUT#<FileNumber>,<Variable>`
|
|
14
|
+
|
|
15
|
+
## Parameters
|
|
16
|
+
|
|
17
|
+
`<Prompt>` is the text displayed to ask what you need to input, but contrary to `INPUT`, it is not followed by a question mark.
|
|
18
|
+
|
|
19
|
+
`<Variable>` is a string variable that will take the input string.
|
|
20
|
+
|
|
21
|
+
`<FileNumber>` is the number of file opened by `OPEN`.
|
|
22
|
+
|
|
23
|
+
_Note: With this parameter and device `"CON"`, only the characters that has been typed will be retrieved, other characters on same input line will not be retrieved._
|
|
24
|
+
|
|
25
|
+
## Examples
|
|
26
|
+
|
|
27
|
+
```basic
|
|
28
|
+
10 LINE INPUT "What is your favorite computer system ?";A$
|
|
29
|
+
20 PRINT A$
|
|
30
|
+
|
|
31
|
+
RUN
|
|
32
|
+
What is your favorite computer system ?
|
|
33
|
+
MSX
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
```basic
|
|
37
|
+
10 OPEN "CAS:DATA" FOR INPUT AS #1
|
|
38
|
+
20 IF EOF(1) THEN 40
|
|
39
|
+
30 LINE INPUT#1,A$ : PRINT A$ : GOTO 20
|
|
40
|
+
40 CLOSE#1 : END
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
```basic
|
|
44
|
+
10 COLOR 15,4,4: SCREEN 2
|
|
45
|
+
20 OPEN"con" FOR INPUT AS #1
|
|
46
|
+
30 LINE INPUT#1,A$: CLOSE#1
|
|
47
|
+
40 PSET(124-(LEN(A$)*4),92),4
|
|
48
|
+
50 OPEN"grp:" AS #1
|
|
49
|
+
60 PRINT#1,A$: CLOSE#1
|
|
50
|
+
70 IF NOT STRIG(0)THEN 70 ' Press Space key to exit
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Data
|
|
54
|
+
|
|
55
|
+
### Retrieved from keyboard
|
|
56
|
+
|
|
57
|
+
The data retrieved from the keyboard are stored in only one value (not several values) and it's always a string (never a number).
|
|
58
|
+
|
|
59
|
+
`LINE INPUT` accepts all types of characters. Only pressing the `RETURN/ENTER` key will specify the end of the string.
|
|
60
|
+
|
|
61
|
+
### Read from sequential file
|
|
62
|
+
|
|
63
|
+
The data read from a sequential file are stored in only one value (not several values) and it's always a string (never a number).
|
|
64
|
+
|
|
65
|
+
`LINE INPUT` accepts all types of characters. Only a `RETURN` character is viewed as the end of a string.
|
|
66
|
+
|
|
67
|
+
This instruction is very useful to read a MSX-BASIC program as datafile, if it was saved (by using the `SAVE` instruction) in ASCII text.
|
|
68
|
+
|
|
69
|
+
## Related to
|
|
70
|
+
|
|
71
|
+
`INPUT`, `INPUT$`, `OPEN`, `PRINT`, `SAVE`
|
|
72
|
+
|
|
73
|
+
## Compatibility
|
|
74
|
+
|
|
75
|
+
MSX-BASIC 1.0 or higher
|
|
76
|
+
|
|
77
|
+
## Source
|
|
78
|
+
|
|
79
|
+
Retrieved from "https://www.msx.org/wiki/LINE_INPUT"
|