@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,58 @@
|
|
|
1
|
+
# LIST
|
|
2
|
+
|
|
3
|
+
## Effect
|
|
4
|
+
|
|
5
|
+
Displays the program, or a part of it, in memory on screen.
|
|
6
|
+
|
|
7
|
+
## Syntaxes
|
|
8
|
+
|
|
9
|
+
`LIST <LineNumber>`
|
|
10
|
+
|
|
11
|
+
`LIST <StartLineNumber>-<EndLineNumber>`
|
|
12
|
+
|
|
13
|
+
## Parameters
|
|
14
|
+
|
|
15
|
+
`<LineNumber>` specifies the number of the line that you want to display.
|
|
16
|
+
|
|
17
|
+
`<StartLineNumber>` specifies the number of the first line that you want to display. First line of the program by default.
|
|
18
|
+
|
|
19
|
+
`<EndLineNumber>` specifies the number of the last line that you want to display.
|
|
20
|
+
Without any parameter, the entire program will be displayed.
|
|
21
|
+
|
|
22
|
+
A dot `.` can replace one of the parameters. In this case it takes the last executed line number. It is useful especially after an error message.
|
|
23
|
+
|
|
24
|
+
If you specify line numbers that don't exist, the computer will not display an error message, it will display the eventually existing lines between the specified start line and end line.
|
|
25
|
+
|
|
26
|
+
## Example
|
|
27
|
+
|
|
28
|
+
```basic
|
|
29
|
+
LIST 10-30
|
|
30
|
+
10 FOR I=1 TO 5
|
|
31
|
+
20 PRINT I
|
|
32
|
+
30 NEXT I
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
```basic
|
|
36
|
+
RUN
|
|
37
|
+
Syntax error in 20
|
|
38
|
+
Ok
|
|
39
|
+
|
|
40
|
+
LIST .
|
|
41
|
+
20 PRIINT I
|
|
42
|
+
|
|
43
|
+
LIST .-
|
|
44
|
+
20 PRIINT I
|
|
45
|
+
30 NEXT I
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Related to
|
|
49
|
+
|
|
50
|
+
`AUTO`, `DELETE`, `LLIST`, `RENUM`
|
|
51
|
+
|
|
52
|
+
## Compatibility
|
|
53
|
+
|
|
54
|
+
MSX-BASIC 1.0 or higher
|
|
55
|
+
|
|
56
|
+
## Source
|
|
57
|
+
|
|
58
|
+
Retrieved from "https://www.msx.org/wiki/LIST"
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# LLIST
|
|
2
|
+
|
|
3
|
+
## Effect
|
|
4
|
+
|
|
5
|
+
Sends the program, or a part of it, in memory to the printer.
|
|
6
|
+
|
|
7
|
+
## Syntaxes
|
|
8
|
+
|
|
9
|
+
`LLIST <LineNumber>`
|
|
10
|
+
|
|
11
|
+
`LLIST <StartLineNumber>-<EndLineNumber>`
|
|
12
|
+
|
|
13
|
+
## Parameters
|
|
14
|
+
|
|
15
|
+
`<LineNumber>` specifies the number of the line that you want to print.
|
|
16
|
+
|
|
17
|
+
`<StartLineNumber>` specifies the number of the first line that you want to print. First line of the program by default.
|
|
18
|
+
|
|
19
|
+
`<EndLineNumber>` specifies the number of the last line that you want to print.
|
|
20
|
+
|
|
21
|
+
Without any parameter, the entire program will be printed.
|
|
22
|
+
|
|
23
|
+
A dot `.` can replace one of the parameters. In this case it takes the last executed line number. It is useful especially after an error message.
|
|
24
|
+
|
|
25
|
+
If you specify line numbers that don't exist, the computer will not display an error message, it will print the eventually existing lines between the specified start line and end line.
|
|
26
|
+
|
|
27
|
+
## Example
|
|
28
|
+
|
|
29
|
+
```basic
|
|
30
|
+
LLIST 10-30
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Related to
|
|
34
|
+
|
|
35
|
+
`AUTO`, `DELETE`, `LIST`, `RENUM`
|
|
36
|
+
|
|
37
|
+
## Compatibility
|
|
38
|
+
|
|
39
|
+
MSX-BASIC 1.0 or higher
|
|
40
|
+
|
|
41
|
+
## Source
|
|
42
|
+
|
|
43
|
+
Retrieved from "https://www.msx.org/wiki/LLIST"
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# LOAD
|
|
2
|
+
|
|
3
|
+
## Effect
|
|
4
|
+
|
|
5
|
+
Loads a BASIC program in the MSX memory and optionally executes it.
|
|
6
|
+
|
|
7
|
+
If you use a cassette, the program needs to be in ASCII text, saved with `SAVE`, not with `CSAVE`.
|
|
8
|
+
|
|
9
|
+
If you use a different device, the program can be either in ASCII text or in tokenized format.
|
|
10
|
+
|
|
11
|
+
## Syntax
|
|
12
|
+
|
|
13
|
+
`LOAD "<Device>:\<Path>\<Filename>",R`
|
|
14
|
+
|
|
15
|
+
_Notes:_
|
|
16
|
+
- Character backslash `\` serves as a separator between the folders and the file name in MSX-DOS2. You don't have to put it after the colon of the device name.
|
|
17
|
+
- Parameters in quotes can be replaced by a alphanumeric variable containing the corresponding parameters.
|
|
18
|
+
- Character backslash is replaced by the character yen `¥` on Japanese MSX or the character won `₩` on Korean MSX.
|
|
19
|
+
- Parameters can not end with a comma alone.
|
|
20
|
+
|
|
21
|
+
## Parameters
|
|
22
|
+
|
|
23
|
+
`<Device>` is the name for used device (see table below).
|
|
24
|
+
|
|
25
|
+
|Device type|Device name|Remark|
|
|
26
|
+
|---|---|---|
|
|
27
|
+
|Disk drive|A, B, C, D, E, F, G, H|A floppy disk interface can control up to 2 drives.|
|
|
28
|
+
|Data recorder|CAS|Not available on MSX turbo R|
|
|
29
|
+
|Data cartridge (Sony)|CAT|Requires Sony HBI-55|
|
|
30
|
+
|Linked computer|COM[n]|Requires RS-232C interface|
|
|
31
|
+
|Data cartridge (Yamaha)|DC|Requires Yamaha UDC-01 + YRM-104 or YRM-504|
|
|
32
|
+
|Memory disk|MEM|Created with CALL MEMINI|
|
|
33
|
+
|Device controlled by Pioneer UC-V102|RS[n]|Requires Pioneer UK-V104 RS-232C board|
|
|
34
|
+
|Stringy Floppy Drive(special data recorder)|S|Requires Spectravideo SVI-777<br>Not available on MSX turbo R|
|
|
35
|
+
|
|
36
|
+
By default, the loading will be made from tape on a system without any disk drive, from the current active drive (generally drive `A`) in the other cases.
|
|
37
|
+
|
|
38
|
+
`<Path>` is used to specify the location in folders of file to load. Each folder name in path are separate by a backslash `\`. This parameter is only available in version 2 of Disk BASIC.
|
|
39
|
+
|
|
40
|
+
`<Filename>` is the file name that contains the BASIC program to load. It needs to be specified if the file is on disk or memory disk. If you use a tape and don't indicate the file name, `LOAD` will load the first or next BASIC program in ASCII mode found on tape.
|
|
41
|
+
|
|
42
|
+
When the file is saved on tape the format of file name is case sensitive and limited to 6 characters without extension. If another device is used, then the format is 8 characters followed by a point and an extension with 3 characters (not case sensitive).
|
|
43
|
+
|
|
44
|
+
Parameter `R` forces the execution of BASIC program after load.
|
|
45
|
+
|
|
46
|
+
## Related to
|
|
47
|
+
|
|
48
|
+
`CALL MEMINI`, `CLOAD`, `CSAVE`, `MERGE`, `RUN`, `SAVE`
|
|
49
|
+
|
|
50
|
+
## Compatibility
|
|
51
|
+
|
|
52
|
+
MSX-BASIC 1.0 or higher
|
|
53
|
+
|
|
54
|
+
## Source
|
|
55
|
+
|
|
56
|
+
Retrieved from "https://www.msx.org/wiki/LOAD"
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# LOCATE
|
|
2
|
+
|
|
3
|
+
## Effect
|
|
4
|
+
|
|
5
|
+
Controls text cursor position and visibility in text modes, just before using instructions such as `PRINT`, `INPUT` or `LINE INPUT`.
|
|
6
|
+
|
|
7
|
+
When used with _Delta BASIC_, it can also control text cursor position inside a window, just before using `WPRINT` or `WINPUT`. However, the working of this feature seems to be buggy when used with `WPRINT`.
|
|
8
|
+
|
|
9
|
+
## Syntaxes
|
|
10
|
+
|
|
11
|
+
`LOCATE <X>,<Y>,<Cursor>`
|
|
12
|
+
|
|
13
|
+
`LOCATE #<WindowNumber>,<X>,<Y>` (only with _Delta BASIC_)
|
|
14
|
+
|
|
15
|
+
_Note: Parameters can not end with a comma alone._
|
|
16
|
+
|
|
17
|
+
## Parameters
|
|
18
|
+
|
|
19
|
+
`<X>` is x-coordinate (column) of cursor (0-255). This parameter must always be specified when you don't specify the y-coordinate. By default, the x-coordinate is 0 when you specify only a y-coordinate.
|
|
20
|
+
|
|
21
|
+
When used inside a window with _Delta BASIC_, this parameter cannot be omitted and must be an internal x-coordinate of the specified window.
|
|
22
|
+
|
|
23
|
+
`<Y>` is y-coordinate (row) of cursor (0-255).
|
|
24
|
+
|
|
25
|
+
When used inside a window with _Delta BASIC_, this parameter cannot be omitted and must be an internal y-coordinate of the specified window.
|
|
26
|
+
|
|
27
|
+
`<Cursor>` is a numeric parameter. When this parameter is 0 the cursor will not be displayed (default) when computer is busy. Any other value (0-255) will keep the cursor visible all the time when computer is in text mode.
|
|
28
|
+
|
|
29
|
+
`<WindowNumber>` is a number between 1 and 9. It must always be preceded by `#` and correspond to a window previously defined with the `WINDOW` instruction of _Delta BASIC_.
|
|
30
|
+
|
|
31
|
+
## Examples
|
|
32
|
+
|
|
33
|
+
```basic
|
|
34
|
+
10 SCREEN0:KEYOFF:WIDTH40
|
|
35
|
+
20 LOCATE ,14
|
|
36
|
+
30 PRINT"HELLO"
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
```basic
|
|
40
|
+
10 SCREEN0:KEYOFF:WIDTH40
|
|
41
|
+
20 LOCATE 5,14
|
|
42
|
+
30 PRINT"HELLO"
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
With Delta BASIC:
|
|
46
|
+
```basic
|
|
47
|
+
10 SCREEN0:KEYOFF:WIDTH40
|
|
48
|
+
20 WINDOW#1,1,1,38,3
|
|
49
|
+
30 WBOX#1
|
|
50
|
+
40 LOCATE#1,5,0
|
|
51
|
+
50 WPRINT#1,"HELLO"
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Related to
|
|
55
|
+
|
|
56
|
+
- Standard instruction: `CSRLIN`, `INKEY$`, `INPUT`, `LINE INPUT`, `POS()`, `PRINT`, `SCREEN`, `WIDTH`
|
|
57
|
+
- Delta BASIC: `WINDOW`, `WINPUT`, `WPRINT`
|
|
58
|
+
|
|
59
|
+
## Compatibility
|
|
60
|
+
|
|
61
|
+
MSX-BASIC 1.0 or higher
|
|
62
|
+
|
|
63
|
+
Delta BASIC
|
|
64
|
+
|
|
65
|
+
## Source
|
|
66
|
+
|
|
67
|
+
Retrieved from "https://www.msx.org/wiki/LOCATE"
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# LOG()
|
|
2
|
+
|
|
3
|
+
## Effect
|
|
4
|
+
|
|
5
|
+
Returns the natural logarithm (base e=2.718281884588) of a number.
|
|
6
|
+
|
|
7
|
+
## Syntax
|
|
8
|
+
|
|
9
|
+
`LOG(<Number>)`
|
|
10
|
+
|
|
11
|
+
## Parameter
|
|
12
|
+
|
|
13
|
+
`<Number>` must be greater than zero.
|
|
14
|
+
|
|
15
|
+
## Example
|
|
16
|
+
|
|
17
|
+
```basic
|
|
18
|
+
10 PRINT "The natural logarithm of 2 is ";LOG(2)
|
|
19
|
+
20 PRINT "The natural logarithm of 10 is ";LOG(10)
|
|
20
|
+
|
|
21
|
+
RUN
|
|
22
|
+
The natural logarithm of 2 is .69314718055993
|
|
23
|
+
The natural logarithm of 10 is 2.302585092994
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Related to
|
|
27
|
+
|
|
28
|
+
`EXP()`
|
|
29
|
+
|
|
30
|
+
## Compatibility
|
|
31
|
+
|
|
32
|
+
MSX-BASIC 1.0 or higher
|
|
33
|
+
|
|
34
|
+
## Source
|
|
35
|
+
|
|
36
|
+
Retrieved from "https://www.msx.org/wiki/LOG()"
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# LPOS()
|
|
2
|
+
|
|
3
|
+
## Effect
|
|
4
|
+
|
|
5
|
+
Returns the current memory address of the print head within the printer buffer.
|
|
6
|
+
|
|
7
|
+
## Syntax
|
|
8
|
+
|
|
9
|
+
`LPOS(<Variable>)`
|
|
10
|
+
|
|
11
|
+
## Parameter
|
|
12
|
+
|
|
13
|
+
`<Variable>` is a dummy variable.
|
|
14
|
+
|
|
15
|
+
## Example
|
|
16
|
+
|
|
17
|
+
```basic
|
|
18
|
+
10 LPRINT "MSX Forever!"
|
|
19
|
+
20 LPOS(0)
|
|
20
|
+
|
|
21
|
+
RUN
|
|
22
|
+
12
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Compatibility
|
|
26
|
+
|
|
27
|
+
MSX-BASIC 1.0 or higher
|
|
28
|
+
|
|
29
|
+
## Source
|
|
30
|
+
|
|
31
|
+
Retrieved from "https://www.msx.org/wiki/LPOS()"
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# LPRINT
|
|
2
|
+
|
|
3
|
+
## Effect
|
|
4
|
+
|
|
5
|
+
Prints and formats text and numbers to a printer connected to the standard MSX parallel port.
|
|
6
|
+
|
|
7
|
+
_Notes:_
|
|
8
|
+
- Contrary to `PRINT`, you can't shorten `LPRINT` to "L?" Doing this will cause a very hard to find problem. The listing will look fine, but it will still cause a _"Syntax error"_.
|
|
9
|
+
- In case you have done that you can list the lines to the screen and push the `RETURN` key on top of the lines to fix these errors.
|
|
10
|
+
|
|
11
|
+
## Syntax
|
|
12
|
+
|
|
13
|
+
`LPRINT USING <ItemFormat>; <Item>;<Item>...`
|
|
14
|
+
|
|
15
|
+
## Parameters
|
|
16
|
+
|
|
17
|
+
`<Item>` can be a character string, an expression, a variable or a value to print. All four items types can be mixed freely.
|
|
18
|
+
|
|
19
|
+
Items must be separated by `;`. If the last item does not end to `;` then `CR`+`LF` combination is printed.
|
|
20
|
+
|
|
21
|
+
A comma can replace a `;` to separate the items. In case of `,` they are separated by tabulator instead of a space.
|
|
22
|
+
|
|
23
|
+
`<Item>` can be omitted to print an empty line.
|
|
24
|
+
|
|
25
|
+
`USING <ItemFormat>;` is optional. `<ItemFormat>` is a string that defines how the next items to be printed must be formatted. When `USING` is used the type of following usable items depends on the specified format.
|
|
26
|
+
|
|
27
|
+
`<Item>` and `<ItemFormat>` are exactly same as with `PRINT` instruction. Please see documentation there.
|
|
28
|
+
|
|
29
|
+
## Example
|
|
30
|
+
|
|
31
|
+
```basic
|
|
32
|
+
10 ' Initialize Epson compatible printer and select NLQ Sans Serif font:
|
|
33
|
+
20 SCREEN ,,,,1:LPRINT CHR$(27);"@";CHR$(27);"k1";
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Related to
|
|
37
|
+
|
|
38
|
+
`LFILES`, `LLIST`, `LPOS()`, `PRINT`, `SCREEN`, `SPC()`, `TAB()`
|
|
39
|
+
|
|
40
|
+
## Compatibility
|
|
41
|
+
|
|
42
|
+
MSX-BASIC 1.0 or higher
|
|
43
|
+
|
|
44
|
+
## Source
|
|
45
|
+
|
|
46
|
+
Retrieved from "https://www.msx.org/wiki/LPRINT"
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# MAXFILES
|
|
2
|
+
|
|
3
|
+
## Effect
|
|
4
|
+
|
|
5
|
+
Determines the maximum of files that can be opened simultaneously with the `OPEN` instruction.
|
|
6
|
+
|
|
7
|
+
When `MAXFILES` is executed, all variables are reseted, files opened are closed, and current info defined with `DEF` are lost.
|
|
8
|
+
|
|
9
|
+
## Syntax
|
|
10
|
+
|
|
11
|
+
`MAXFILES=<Maximum>`
|
|
12
|
+
|
|
13
|
+
## Parameter
|
|
14
|
+
|
|
15
|
+
`<Maximum>` is a number between 0 and 15.
|
|
16
|
+
|
|
17
|
+
_Note that the maximum of files that can be opened at the same time can't exceed 6 on a disk and 2 on a QuickDisk. When computer is started the default value is 1._
|
|
18
|
+
|
|
19
|
+
## Example
|
|
20
|
+
|
|
21
|
+
```basic
|
|
22
|
+
10 MAXFILES=2
|
|
23
|
+
20 OPEN "CAS:DEMO" FOR INPUT AS #1
|
|
24
|
+
30 OPEN "LPT:" FOR OUTPUT AS #2
|
|
25
|
+
40 INPUT #1,A$
|
|
26
|
+
50 PRINT #2,A$
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Related to
|
|
30
|
+
|
|
31
|
+
`CLEAR`, `CLOSE`, `OPEN`, `VARPTR`
|
|
32
|
+
|
|
33
|
+
## Compatibility
|
|
34
|
+
|
|
35
|
+
MSX-BASIC 1.0 or higher
|
|
36
|
+
|
|
37
|
+
## Source
|
|
38
|
+
|
|
39
|
+
Retrieved from "https://www.msx.org/wiki/MAXFILES"
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# MERGE
|
|
2
|
+
|
|
3
|
+
## Effect
|
|
4
|
+
|
|
5
|
+
Merges a BASIC program saved in ASCII text to the program currently in the MSX memory.
|
|
6
|
+
It implies that it has been saved with `SAVE` and that parameter `A` has been used for saving on disk or another computer.
|
|
7
|
+
|
|
8
|
+
_Notes:_
|
|
9
|
+
- If both programs have same program lines, the lines of the program in the MSX memory are replaced by the lines of the loaded program.
|
|
10
|
+
- The new program created by this merging stays in the MSX memory and can be handled as another BASIC program (especially, you can run it, save it, modify it).
|
|
11
|
+
|
|
12
|
+
## Syntax
|
|
13
|
+
|
|
14
|
+
`MERGE "<Device>:\<Path>\<Filename>"`
|
|
15
|
+
|
|
16
|
+
_Notes:_
|
|
17
|
+
- Character backslash `\` serves as a separator between the folders and the file name in MSX-DOS2. You don't have to put it after the colon of the device name.
|
|
18
|
+
- Parameters can be replaced by a alphanumeric variable containing the corresponding parameters.
|
|
19
|
+
- Character backslash is replaced by the character yen `¥` on Japanese MSX or the character won `₩` on Korean MSX.
|
|
20
|
+
|
|
21
|
+
## Parameters
|
|
22
|
+
|
|
23
|
+
`<Device>` is the name for used device (see table below).
|
|
24
|
+
|
|
25
|
+
|Device type|Device name|Remark|
|
|
26
|
+
|---|---|---|
|
|
27
|
+
|Disk drive|A, B, C, D, E, F, G, H|A floppy disk interface can control up to 2 drives.|
|
|
28
|
+
|Data recorder|CAS|Not available on MSX turbo R|
|
|
29
|
+
|Data cartridge (Sony)|CAT|Requires Sony HBI-55|
|
|
30
|
+
|Linked computer|COM[n]|Requires RS-232C interface|
|
|
31
|
+
|Data cartridge (Yamaha)|DC|Requires Yamaha UDC-01 + YRM-104 or YRM-504|
|
|
32
|
+
|Memory disk|MEM|Created with CALL MEMINI|
|
|
33
|
+
|Device controlled by Pioneer UC-V102|RS[n]|Requires Pioneer UK-V104 RS-232C board|
|
|
34
|
+
|Stringy Floppy Drive(special data recorder)|S|Requires Spectravideo SVI-777<br>Not available on MSX turbo R|
|
|
35
|
+
|
|
36
|
+
By default, the loading will be made from tape on a system without any disk drive, from the current active drive (generally drive A) in the other cases.
|
|
37
|
+
|
|
38
|
+
`<Path>` is used to specify the location in folders of file to merge. Each folder name in path are separate by a backslash `\`. This parameter is only available in version 2 of Disk BASIC.
|
|
39
|
+
|
|
40
|
+
`<Filename>` is the BASIC program name saved in ASCII text to merge with the program in the MSX memory. The device name needs to be specified if the file is on disk or memory disk. If you use a tape and don't indicate the file name, `MERGE` will load the first BASIC program in ASCII text found on tape.
|
|
41
|
+
|
|
42
|
+
The size of file name is limited to 6 characters without extension, when the device is a _Data recorder_. If another device is used, then the size is 8 characters followed by a point and an extension with 3 characters.
|
|
43
|
+
|
|
44
|
+
## Related to
|
|
45
|
+
|
|
46
|
+
`CALL MEMINI`, `LOAD`, `RUN`, `SAVE`
|
|
47
|
+
|
|
48
|
+
## Compatibility
|
|
49
|
+
|
|
50
|
+
MSX-BASIC 1.0 or higher
|
|
51
|
+
|
|
52
|
+
## Source
|
|
53
|
+
|
|
54
|
+
Retrieved from "https://www.msx.org/wiki/MERGE"
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# MID$()
|
|
2
|
+
|
|
3
|
+
## Effect
|
|
4
|
+
|
|
5
|
+
`MID$` is kind of special as it can be used both as function or as instruction:
|
|
6
|
+
|
|
7
|
+
As function, it returns a string corresponding to a specified number of characters from an original string, this from a specified position.
|
|
8
|
+
|
|
9
|
+
As instruction, it can replace a substring by another string.
|
|
10
|
+
|
|
11
|
+
_Note: For strings with Japanese or Korean characters, you need to use `CALL KMID`._
|
|
12
|
+
|
|
13
|
+
## Syntaxes
|
|
14
|
+
|
|
15
|
+
### Function Syntax
|
|
16
|
+
|
|
17
|
+
`MID$("<String1>",<Start>,<Length>)`
|
|
18
|
+
|
|
19
|
+
### Instruction Syntax
|
|
20
|
+
|
|
21
|
+
`MID$("<String1>",<Start>,<Length>)="<String2>"`
|
|
22
|
+
|
|
23
|
+
## Parameters
|
|
24
|
+
|
|
25
|
+
`<String1>` and `<String2>` are strings of characters between double quotes `"`. They can include non-printable characters and be replaced by a numeric or string variable (also named as alphanumeric variable).
|
|
26
|
+
|
|
27
|
+
`<String2>` will be used as replacement substring when `MID$` is used as instruction.
|
|
28
|
+
|
|
29
|
+
`<Start>` is the starting position in the string to extract or replace the substring. The first character in the string is numbered 1. The highest possible position is 255.
|
|
30
|
+
|
|
31
|
+
When `<Start>` = 1, `MID$` function replaces the `LEFT$` function - Example: `MID$(A$,1,3)` is equivalent to `LEFT$(A$,3)`.
|
|
32
|
+
|
|
33
|
+
When `<Start>` = `LEN(A$)-<Length>+1`, `MID$` function replaces the `RIGHT$` function - Example: If `LEN(A$)=5` then `MID$(A$,4,2)` is equivalent to `RIGHT$(A$,2)`.
|
|
34
|
+
|
|
35
|
+
`<Length>` is a number between 0 and 255. When is omitted, it will default to the remainder of the string to return a result or make the replacement.
|
|
36
|
+
|
|
37
|
+
## Examples
|
|
38
|
+
|
|
39
|
+
### MID$ as function
|
|
40
|
+
```basic
|
|
41
|
+
10 A$="www.msx.org"
|
|
42
|
+
20 PRINT MID$(A$,5,3)
|
|
43
|
+
30 PRINT MID$(A$,5)
|
|
44
|
+
|
|
45
|
+
RUN
|
|
46
|
+
msx
|
|
47
|
+
msx.org
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### MID$ as instruction
|
|
51
|
+
```basic
|
|
52
|
+
10 A$="ABCDEFG"
|
|
53
|
+
20 PRINT A$
|
|
54
|
+
30 MID$(A$,4)="XYZ"
|
|
55
|
+
40 PRINT A$
|
|
56
|
+
|
|
57
|
+
RUN
|
|
58
|
+
ABCDEFG
|
|
59
|
+
ABCXYZG
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Related to
|
|
63
|
+
|
|
64
|
+
`CALL KMID`, `LEN`, `LEFT$`, `RIGHT$`
|
|
65
|
+
|
|
66
|
+
## Compatibility
|
|
67
|
+
|
|
68
|
+
MSX-BASIC 1.0 or higher
|
|
69
|
+
|
|
70
|
+
## Source
|
|
71
|
+
|
|
72
|
+
Retrieved from "https://www.msx.org/wiki/MID$()"
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# MOD
|
|
2
|
+
|
|
3
|
+
## Effect
|
|
4
|
+
|
|
5
|
+
Divides two expressions as integers and returns the remainder as a result.
|
|
6
|
+
|
|
7
|
+
_Note: It's the unique BASIC instruction made of alphabetical characters and corresponding to an arithmetical operator, but MSX-BASIC provides also 6 other arithmetical operators (without using of alphabetical characters) and 6 instructions corresponding to logical operators._
|
|
8
|
+
|
|
9
|
+
## Syntax
|
|
10
|
+
|
|
11
|
+
`<Number1> MOD <Number2>`
|
|
12
|
+
|
|
13
|
+
## Parameters
|
|
14
|
+
|
|
15
|
+
`<Number1>` and `<Number2>` can be numbers, numeric variables, or mathematical expressions. But because `MOD` converts them to integers before the division, any input outside of the integer range will result in an overflow error.
|
|
16
|
+
|
|
17
|
+
## Examples
|
|
18
|
+
|
|
19
|
+
```basic
|
|
20
|
+
PRINT 5 MOD 3
|
|
21
|
+
2
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
```basic
|
|
25
|
+
A=31:B=13:C=A MOD B:PRINT C
|
|
26
|
+
5
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Related to
|
|
30
|
+
|
|
31
|
+
Arithmetical Operators, `AND`, `EQV`, `IMP`, `NOT`, `OR`, `XOR`
|
|
32
|
+
|
|
33
|
+
## Compatibility
|
|
34
|
+
|
|
35
|
+
MSX-BASIC 1.0 or higher
|
|
36
|
+
|
|
37
|
+
## Source
|
|
38
|
+
|
|
39
|
+
Retrieved from "https://www.msx.org/wiki/MOD"
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# MOTOR
|
|
2
|
+
|
|
3
|
+
## Effect
|
|
4
|
+
|
|
5
|
+
Turns the motor of the data tape recorder on or off.
|
|
6
|
+
|
|
7
|
+
## Syntax
|
|
8
|
+
|
|
9
|
+
`MOTOR [ON|OFF]`
|
|
10
|
+
|
|
11
|
+
## Parameters
|
|
12
|
+
|
|
13
|
+
48Without any parameter, `MOTOR` works as a toggle between both positions of the motor.
|
|
14
|
+
|
|
15
|
+
With `ON`, you turn the motor on.
|
|
16
|
+
|
|
17
|
+
With `OFF`, you turn the motor off.
|
|
18
|
+
|
|
19
|
+
## Examples
|
|
20
|
+
|
|
21
|
+
This example toggles the motor on and off 10 times, with a delay in between:
|
|
22
|
+
|
|
23
|
+
```basic
|
|
24
|
+
10 FOR I=1 TO 10
|
|
25
|
+
20 MOTOR
|
|
26
|
+
30 FOR J=1 TO 500:NEXT J
|
|
27
|
+
40 NEXT I
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
This example turns the motor on and then loads a program named "DEMO":
|
|
31
|
+
```basic
|
|
32
|
+
10 MOTOR ON
|
|
33
|
+
20 CLOAD "DEMO"
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Related to
|
|
37
|
+
|
|
38
|
+
`CLOAD`, `CLOAD?`, `CSAVE`
|
|
39
|
+
|
|
40
|
+
## Compatibility
|
|
41
|
+
|
|
42
|
+
MSX-BASIC versions before 4.0
|
|
43
|
+
|
|
44
|
+
## Source
|
|
45
|
+
|
|
46
|
+
Retrieved from "https://www.msx.org/wiki/MOTOR"
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# NEW
|
|
2
|
+
|
|
3
|
+
## Effect
|
|
4
|
+
|
|
5
|
+
Erases the MSX-BASIC program in memory, clears all variables and closes all open files.
|
|
6
|
+
|
|
7
|
+
This instruction is usually used to delete the program in computer memory before starting with a new MSX-BASIC program.
|
|
8
|
+
|
|
9
|
+
It can also disable the tracing of program execution, started with `TRON`.
|
|
10
|
+
|
|
11
|
+
_Note: If previous started MSX-BASIC program has executed instructions such as `CLEAR` or `MAXFILES`, the available memory is affected and will not be restored back to boot up defaults even if you execute `NEW`. If you get a 'No enough memory' error message, the best solution is to reboot the computer before launching another program._
|
|
12
|
+
|
|
13
|
+
## Syntax
|
|
14
|
+
|
|
15
|
+
`NEW`
|
|
16
|
+
|
|
17
|
+
## Related to
|
|
18
|
+
|
|
19
|
+
`CLEAR`, `CLOSE`, `DELETE`, `MAXFILES`, `TROFF`, `TRON`
|
|
20
|
+
|
|
21
|
+
## Compatibility
|
|
22
|
+
|
|
23
|
+
MSX-BASIC 1.0 or higher
|
|
24
|
+
|
|
25
|
+
## Source
|
|
26
|
+
|
|
27
|
+
Retrieved from "https://www.msx.org/wiki/NEW"
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# NOT
|
|
2
|
+
|
|
3
|
+
## Effect
|
|
4
|
+
|
|
5
|
+
Performs a bitwise NOT-operation (logical complement) on an expression.
|
|
6
|
+
|
|
7
|
+
All bits are inverted. For each bit, the results are:
|
|
8
|
+
```
|
|
9
|
+
NOT 0 = 1
|
|
10
|
+
NOT 1 = 0
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Syntax
|
|
14
|
+
|
|
15
|
+
`NOT <Value>`
|
|
16
|
+
|
|
17
|
+
## Parameter
|
|
18
|
+
|
|
19
|
+
`<Value>` is a value between -32768 and 32767. It can also be a numeric variable, an mathematical expression or expression from a condition.
|
|
20
|
+
|
|
21
|
+
_Note: When `NOT` is performed before an expression in a condition (`IF...THEN...ELSE` or `IF...GOTO...ELSE`), the result becomes false if true and vice versa._
|
|
22
|
+
|
|
23
|
+
## Examples
|
|
24
|
+
|
|
25
|
+
```basic
|
|
26
|
+
PRINT NOT 15
|
|
27
|
+
-16
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Binary explanation:
|
|
31
|
+
```
|
|
32
|
+
0000000000001111 NOT
|
|
33
|
+
----------------
|
|
34
|
+
1111111111110000
|
|
35
|
+
```
|
|
36
|
+
-16 is actually the number 65520
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
```basic
|
|
40
|
+
PRINT NOT &B11001100
|
|
41
|
+
-205
|
|
42
|
+
```
|
|
43
|
+
Binary explanation:
|
|
44
|
+
```
|
|
45
|
+
0000000011001100 NOT
|
|
46
|
+
----------------
|
|
47
|
+
1111111100110011
|
|
48
|
+
```
|
|
49
|
+
-205 is actually the number 65331
|
|
50
|
+
|
|
51
|
+
## Related to
|
|
52
|
+
|
|
53
|
+
`AND`, `EQV`, `IMP`, `MOD`, `OR`, `XOR`
|
|
54
|
+
|
|
55
|
+
## Compatibility
|
|
56
|
+
|
|
57
|
+
MSX-BASIC 1.0 or higher
|
|
58
|
+
|
|
59
|
+
## Source
|
|
60
|
+
|
|
61
|
+
Retrieved from "https://www.msx.org/wiki/NOT"
|