@nataliapc/mcp-openmsx 1.1.14 → 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 +37 -12
- package/dist/server.js +198 -69
- package/dist/utils.js +54 -7
- package/dist/vectordb.js +60 -0
- package/package.json +10 -3
- package/resources/audio/MGSC111.txt +669 -0
- package/resources/audio/msx-midi.md +872 -0
- package/resources/audio/opl4tech.txt +688 -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 +18 -7
- package/resources/book--msx2-technical-handbook/toc.json +1 -1
- package/resources/msx-unapi/toc.json +2 -2
- package/resources/processors/toc.json +4 -4
- package/resources/processors/z80_detailed_instruction_set.md +80 -68
- 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/sdccman.lyx +81574 -0
- package/resources/sdcc/toc.json +77 -0
- 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
- /package/resources/processors/{Z80_R800_instruction_set.md → z80_r800_instruction_set.md} +0 -0
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# DEFDBL
|
|
2
|
+
|
|
3
|
+
## Effect
|
|
4
|
+
|
|
5
|
+
Defines a variable or a range of variables as double precision.
|
|
6
|
+
|
|
7
|
+
As an alternative, a single variable can be declared as double precision by appending the `#` sign to its name.
|
|
8
|
+
|
|
9
|
+
## Syntax
|
|
10
|
+
|
|
11
|
+
`DEFDBL <StartVariable>-<EndVariable>,<StartVariable>-<EndVariable>...`
|
|
12
|
+
|
|
13
|
+
_Note: Parameters can not end with a comma or hyphen alone._
|
|
14
|
+
|
|
15
|
+
## Parameters
|
|
16
|
+
|
|
17
|
+
`<StartVariable>` and `<EndVariable>` are letters put in alphabetic order. If `<EndVariable>` is not specified, all the variables beginning with the specified letter will be defined as double precision.
|
|
18
|
+
|
|
19
|
+
## Example
|
|
20
|
+
|
|
21
|
+
```basic
|
|
22
|
+
10 DEFDBL A-Z
|
|
23
|
+
20 A=7/6
|
|
24
|
+
30 PRINT "7 divided by 6 (in double precision) is ";A
|
|
25
|
+
|
|
26
|
+
RUN
|
|
27
|
+
7 divided by 6 (in double precision) is 1.1666666666667
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Related to
|
|
31
|
+
|
|
32
|
+
`DEFINT`, `DEFSNG`, `DEFSTR`
|
|
33
|
+
|
|
34
|
+
## Compatibility
|
|
35
|
+
|
|
36
|
+
MSX-BASIC 1.0 or higher
|
|
37
|
+
|
|
38
|
+
## Source
|
|
39
|
+
|
|
40
|
+
Retrieved from "https://www.msx.org/wiki/DEFDBL"
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# DEFINT
|
|
2
|
+
|
|
3
|
+
## Effect
|
|
4
|
+
|
|
5
|
+
Defines a variable or a range of variables as integer.
|
|
6
|
+
|
|
7
|
+
As an alternative, a single variable can be declared as integer by appending the `%` sign to its name.
|
|
8
|
+
|
|
9
|
+
## Syntax
|
|
10
|
+
|
|
11
|
+
`DEFINT <StartVariable>-<EndVariable>,<StartVariable>-<EndVariable>...`
|
|
12
|
+
|
|
13
|
+
_Note: Parameters can not end with a comma or hyphen alone._
|
|
14
|
+
|
|
15
|
+
## Parameters
|
|
16
|
+
|
|
17
|
+
`<StartVariable>` and `<EndVariable>` are letters put in alphabetic order. If `<EndVariable>` is not specified, all the variables beginning with the specified letter will be defined as integer.
|
|
18
|
+
|
|
19
|
+
## Example
|
|
20
|
+
|
|
21
|
+
```basic
|
|
22
|
+
10 DEFINT A-Z
|
|
23
|
+
20 A=7/6
|
|
24
|
+
30 PRINT "7 divided by 6 (in integer) is ";A
|
|
25
|
+
|
|
26
|
+
RUN
|
|
27
|
+
7 divided by 6 (in integer) is 1
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Related to
|
|
31
|
+
|
|
32
|
+
`DEFDBL`, `DEFSNG`, `DEFSTR`
|
|
33
|
+
|
|
34
|
+
## Compatibility
|
|
35
|
+
|
|
36
|
+
MSX-BASIC 1.0 or higher
|
|
37
|
+
|
|
38
|
+
## Source
|
|
39
|
+
|
|
40
|
+
Retrieved from "https://www.msx.org/wiki/DEFINT"
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# DEFSNG
|
|
2
|
+
|
|
3
|
+
## Effect
|
|
4
|
+
|
|
5
|
+
Defines a variable or a range of variables as single precision.
|
|
6
|
+
|
|
7
|
+
As an alternative, a single variable can be declared as single precision by appending the `!` sign to its name.
|
|
8
|
+
|
|
9
|
+
## Syntax
|
|
10
|
+
|
|
11
|
+
`DEFSNG <StartVariable>-<EndVariable>,<StartVariable>-<EndVariable>...`
|
|
12
|
+
|
|
13
|
+
_Note: Parameters can not end with a comma or hyphen alone._
|
|
14
|
+
|
|
15
|
+
## Parameters
|
|
16
|
+
|
|
17
|
+
`<StartVariable>` and `<EndVariable>` are letters put in alphabetic order. If `<EndVariable>` is not specified, all the variables beginning with the specified letter will be defined as single precision.
|
|
18
|
+
|
|
19
|
+
## Example
|
|
20
|
+
|
|
21
|
+
```basic
|
|
22
|
+
10 DEFSNG A-Z
|
|
23
|
+
20 A=7/6
|
|
24
|
+
30 PRINT "7 divided by 6 (in single precision) is ";A
|
|
25
|
+
|
|
26
|
+
RUN
|
|
27
|
+
7 divided by 6 (in single precision) is 1.16667
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Related to
|
|
31
|
+
|
|
32
|
+
`DEFDBL`, `DEFINT`, `DEFSTR`
|
|
33
|
+
|
|
34
|
+
## Compatibility
|
|
35
|
+
|
|
36
|
+
MSX-BASIC 1.0 or higher
|
|
37
|
+
|
|
38
|
+
## Source
|
|
39
|
+
|
|
40
|
+
Retrieved from "https://www.msx.org/wiki/DEFSNG"
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# DEFSTR
|
|
2
|
+
|
|
3
|
+
## Effect
|
|
4
|
+
|
|
5
|
+
Defines a variable or a range of variables as string.
|
|
6
|
+
|
|
7
|
+
As an alternative, a single variable can be declared as a string by appending the `$` sign to its name.
|
|
8
|
+
|
|
9
|
+
## Syntax
|
|
10
|
+
|
|
11
|
+
`DEFSTR <StartVariable>-<EndVariable>,<StartVariable>-<EndVariable>...`
|
|
12
|
+
|
|
13
|
+
_Note: Parameters can not end with a comma or hyphen alone._
|
|
14
|
+
|
|
15
|
+
## Parameters
|
|
16
|
+
|
|
17
|
+
`<StartVariable>` and `<EndVariable>` are letters put in alphabetic order. If `<EndVariable>` is not specified, all the variables beginning with the specified letter will be defined as string.
|
|
18
|
+
|
|
19
|
+
## Example
|
|
20
|
+
|
|
21
|
+
```basic
|
|
22
|
+
10 DEFSTR A-Z
|
|
23
|
+
20 A="Yay!"
|
|
24
|
+
30 PRINT "Variable A contains the text ";A
|
|
25
|
+
|
|
26
|
+
RUN
|
|
27
|
+
Variable A contains the text Yay!
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Related to
|
|
31
|
+
|
|
32
|
+
`DEFDBL`, `DEFINT`, `DEFSNG`
|
|
33
|
+
|
|
34
|
+
## Compatibility
|
|
35
|
+
|
|
36
|
+
MSX-BASIC 1.0 or higher
|
|
37
|
+
|
|
38
|
+
## Source
|
|
39
|
+
|
|
40
|
+
Retrieved from "https://www.msx.org/wiki/DEFSTR"
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# DEF FN
|
|
2
|
+
|
|
3
|
+
## Effect
|
|
4
|
+
|
|
5
|
+
Defines a function which returns user-specified output based on optional variables.
|
|
6
|
+
|
|
7
|
+
## Syntax
|
|
8
|
+
|
|
9
|
+
`DEF FN <FunctionName> (<Variable>,<Variable>...)=<Expression>`
|
|
10
|
+
|
|
11
|
+
## Parameters
|
|
12
|
+
|
|
13
|
+
`<FunctionName>` is the function name, the length of the function name can be as long as you want, only the first two characters of the function name will actually be used.
|
|
14
|
+
Furthermore, if a function is to return a string, the name of the function has to be suffixed by a `$`.
|
|
15
|
+
|
|
16
|
+
`<Variable>` is optional , it is a variable that will be used in the `<Expression>`. Several variables can be specified, they must be separated by a comma. It's only useful to define the function. The variables don't have any influence on the variables with the same name in the main program.
|
|
17
|
+
|
|
18
|
+
`<Expression>` is the function itself. It can use variables that are not specified in the `<Variable>` part, but have already a value in the main program.
|
|
19
|
+
|
|
20
|
+
## Examples
|
|
21
|
+
|
|
22
|
+
```basic
|
|
23
|
+
10 DEF FN SQUARE (X)=X^2
|
|
24
|
+
20 PRINT "The square of 2 is ";FN SQUARE(2)
|
|
25
|
+
30 PRINT "The square of 4 is ";FN SQUARE(4)
|
|
26
|
+
|
|
27
|
+
RUN
|
|
28
|
+
The square of 2 is 4
|
|
29
|
+
The square of 4 is 16
|
|
30
|
+
```
|
|
31
|
+
```basic
|
|
32
|
+
10 DEF FN F$(A$)=CHR$(ASC(A$) OR 32)
|
|
33
|
+
20 PRINT FN F$("A")
|
|
34
|
+
|
|
35
|
+
RUN
|
|
36
|
+
a
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Related to
|
|
40
|
+
|
|
41
|
+
`CLEAR`, `FN`
|
|
42
|
+
|
|
43
|
+
## Compatibility
|
|
44
|
+
|
|
45
|
+
MSX-BASIC 1.0 or higher
|
|
46
|
+
|
|
47
|
+
## Source
|
|
48
|
+
|
|
49
|
+
Retrieved from "https://www.msx.org/wiki/DEF_FN"
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# DEF USR
|
|
2
|
+
|
|
3
|
+
## Effect
|
|
4
|
+
|
|
5
|
+
Defines the start address of a machine language routine for later use in MSX-BASIC. Up to 10 different routines can be used.
|
|
6
|
+
|
|
7
|
+
## Syntax
|
|
8
|
+
|
|
9
|
+
`DEF USR <Number>=<Address>`
|
|
10
|
+
|
|
11
|
+
## Parameters
|
|
12
|
+
|
|
13
|
+
`<Number>` can range from 0 to 9. When omitted, 0 is assumed.
|
|
14
|
+
|
|
15
|
+
`<Address>` is the start address of the machine language routine.
|
|
16
|
+
|
|
17
|
+
## Example
|
|
18
|
+
|
|
19
|
+
```basic
|
|
20
|
+
10 DEF USR1=&H156:A=USR1(0) ' To clear keyboard buffer
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Related to
|
|
24
|
+
|
|
25
|
+
`USR()`
|
|
26
|
+
|
|
27
|
+
## Compatibility
|
|
28
|
+
|
|
29
|
+
MSX-BASIC 1.0 or higher
|
|
30
|
+
|
|
31
|
+
## Source
|
|
32
|
+
|
|
33
|
+
Retrieved from "https://www.msx.org/wiki/DEF_USR"
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# DELETE
|
|
2
|
+
|
|
3
|
+
## Effect
|
|
4
|
+
|
|
5
|
+
Erases part of an MSX-BASIC program from memory.
|
|
6
|
+
|
|
7
|
+
## Syntaxes
|
|
8
|
+
|
|
9
|
+
`DELETE <LineNumber>`
|
|
10
|
+
|
|
11
|
+
`DELETE <StartLineNumber>-<EndLineNumber>`
|
|
12
|
+
|
|
13
|
+
## Parameters
|
|
14
|
+
|
|
15
|
+
`<LineNumber>` specifies the number of the line that you want to delete.
|
|
16
|
+
|
|
17
|
+
`<StartLineNumber>` specifies the number of the first line that you want to delete in your program.
|
|
18
|
+
|
|
19
|
+
`<EndLineNumber>` is optional and specifies the number of the last line to be deleted.
|
|
20
|
+
A period `.` as a parameter specifies the last line `LIST`ed or `RUN`ed.
|
|
21
|
+
|
|
22
|
+
If you specify a line number that does not exist, an _"Illegal function call"_ error message will be displayed.
|
|
23
|
+
|
|
24
|
+
_Notes:_
|
|
25
|
+
- To delete only one line of your program, you can also enter the number of this line without any instruction. If you do that with a line number that does not exist, an _"Undefined line number"_ error message will be displayed.
|
|
26
|
+
- To delete all the lines of your program, it's easier and better to use `NEW` as it will simultaneously clear all variables and close all open files.
|
|
27
|
+
|
|
28
|
+
## Example
|
|
29
|
+
|
|
30
|
+
```basic
|
|
31
|
+
10 PRINT "Haha! I am here to stay!"
|
|
32
|
+
20 PRINT "Oh no! I will be sent to oblivion!"
|
|
33
|
+
|
|
34
|
+
DELETE 20
|
|
35
|
+
RUN
|
|
36
|
+
Haha! I am here to stay!
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Related to
|
|
40
|
+
|
|
41
|
+
`AUTO`, `LIST`, `LLIST`, `NEW`, `RENUM`
|
|
42
|
+
|
|
43
|
+
## Compatibility
|
|
44
|
+
|
|
45
|
+
MSX-BASIC 1.0 or higher
|
|
46
|
+
|
|
47
|
+
## Source
|
|
48
|
+
|
|
49
|
+
Retrieved from "https://www.msx.org/wiki/DELETE"
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# DIM
|
|
2
|
+
|
|
3
|
+
## Effect
|
|
4
|
+
|
|
5
|
+
Reserves memory for the specified variables and initializes the array(s).
|
|
6
|
+
|
|
7
|
+
_Note: If if an array is referred to when not first created with a `DIM` instruction, a maximum index of 10 is assumed._
|
|
8
|
+
|
|
9
|
+
## Syntax
|
|
10
|
+
|
|
11
|
+
`DIM <ArrayName>(<Size1>,<Size2>),<ArrayName>(<Size1>,<Size2>),...`
|
|
12
|
+
|
|
13
|
+
## Parameters
|
|
14
|
+
|
|
15
|
+
`<ArrayName>` is an alphanumeric variable or a string. Several array names can be specified in the `DIM` instruction, they need to be separated by a comma.
|
|
16
|
+
|
|
17
|
+
`<Size1>` is a number that specifies the maximum index of the array. The first index is always 0.
|
|
18
|
+
|
|
19
|
+
`<Size2>` is optional, it is required only for two-dimensional arrays and specifies the maximum index for the second dimension of the array.
|
|
20
|
+
|
|
21
|
+
## Examples
|
|
22
|
+
|
|
23
|
+
```basic
|
|
24
|
+
10 DIM M(25)
|
|
25
|
+
20 FOR A=0 TO 25:M(A)=3*A:NEXT
|
|
26
|
+
30 FOR A=0 TO 25
|
|
27
|
+
40 PRINT "3 times ";A;" is ";M(A)
|
|
28
|
+
50 NEXT A
|
|
29
|
+
```
|
|
30
|
+
```basic
|
|
31
|
+
10 DIM A$(26)
|
|
32
|
+
20 FOR I=0 TO 26
|
|
33
|
+
30 A$(I)=CHR$(64+I)
|
|
34
|
+
40 NEXT I
|
|
35
|
+
50 PRINT A$(22)
|
|
36
|
+
|
|
37
|
+
RUN
|
|
38
|
+
V
|
|
39
|
+
```
|
|
40
|
+
```basic
|
|
41
|
+
10 DIM A(20,5)
|
|
42
|
+
20 A(20,5)=2
|
|
43
|
+
30 PRINT "In row 20, column 5 of array A I stored the value ";A(20,5)
|
|
44
|
+
|
|
45
|
+
RUN
|
|
46
|
+
In row 20, column 5 of array A I stored the value 2
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Related to
|
|
50
|
+
|
|
51
|
+
`CLEAR`, `COPY`, `ERASE`
|
|
52
|
+
|
|
53
|
+
## Compatibility
|
|
54
|
+
|
|
55
|
+
MSX-BASIC 1.0 or higher
|
|
56
|
+
|
|
57
|
+
## Source
|
|
58
|
+
|
|
59
|
+
Retrieved from "https://www.msx.org/wiki/DIM"
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# DRAW
|
|
2
|
+
|
|
3
|
+
## Effect
|
|
4
|
+
|
|
5
|
+
Executes the instructions of a Graphics Macro Language (GML) allowing to draw complex figures to screen (graphic modes only).
|
|
6
|
+
|
|
7
|
+
## Syntaxes
|
|
8
|
+
|
|
9
|
+
`DRAW "<GMLstring>"`
|
|
10
|
+
|
|
11
|
+
Parameters
|
|
12
|
+
`"<GMLstring>"` is a string or an alphanumeric variable that contains macro language instructions to describe the figures to draw. Maximum length is 255 characters per string.
|
|
13
|
+
|
|
14
|
+
## GML instructions
|
|
15
|
+
|
|
16
|
+
GML has the following instructions:
|
|
17
|
+
|
|
18
|
+
|Tracing Instruction|Meaning|Effect|Values / Remarks|
|
|
19
|
+
|:--|:--|:--|:--|
|
|
20
|
+
|`D<length>`|Down|Moves the cursor of `<length>` pixels to the downward direction tracing a line.|`<length>` = 0~255 (The cursor stays in the same place if 0)|
|
|
21
|
+
|`E<length>`|Up-Right|Moves the cursor diagonally of `<length>` pixels to the up-right direction tracing a line.|`<length>` = 0~255 (The cursor stays in the same place if 0)|
|
|
22
|
+
|`F<length>`|Down-Right|Moves the cursor diagonally of `<length>` pixels to the down-right direction tracing a line.|`<length>` = 0~255 (The cursor stays in the same place if 0)|
|
|
23
|
+
|`G<length>`|Down-Left|Moves the cursor diagonally of `<length>` pixels to the down-left direction tracing a line.|`<length>` = 0~255 (The cursor stays in the same place if 0)|
|
|
24
|
+
|`H<length>`|Up-Left|Moves the cursor diagonally of `<length>` pixels to the up-left direction tracing a line.|`<length>` = 0~255 (The cursor stays in the same place if 0)|
|
|
25
|
+
|`L<length>`|Left|Moves the cursor of `<length>` pixels to the left direction tracing a line.|`<length>` = 0~255 (The cursor stays in the same place if 0)|
|
|
26
|
+
|`M<x>,<y>`|Move|Moves the cursor from the current position to specified coordinates `x`,`y` tracing a line.|`<x>` and `<y> `can be positive or negative values|
|
|
27
|
+
|`R<length>`|Right|Moves the cursor of `<length>` pixels to the right direction tracing a line.|`<length>` = 0~255 (The cursor stays in the same place if 0)|
|
|
28
|
+
|`U<length>`|Up|Moves the cursor of `<length>` pixels to the upward direction tracing a line.|`<length>` = 0~255 (The cursor stays in the same place if 0)|
|
|
29
|
+
|
|
30
|
+
|Other instructions|Meaning|Effect|Values / Remarks|
|
|
31
|
+
|:--|:--|:--|:--|
|
|
32
|
+
|`A<orientation>`|Rotation Axe|Changes the orientation of the following tracing instructions.|`<orientation>` = `0` (normal), `1` (90 degrees clockwise), `2` (180 degrees clockwise) or `3` (270 degrees clockwise)|
|
|
33
|
+
|`B<tracing instruction>`|Blank Move|Place `B` before a tracing command to move the cursor without drawing.||
|
|
34
|
+
|`C<color>`|Color|Changes the foreground (drawing) color to the specified color| `<color>` = 0 to 15 (screens 2 to 5, 7 and 10), 0 to 3 (screen 6), 0 to 255 (screens 8, 11 and 12)|
|
|
35
|
+
|`N<tracing instruction>`|New Line|Place N before a tracing command to trace without moving the cursor (cursor stays at the previous position)||
|
|
36
|
+
|`S<scale>`|Scale|Scales every length specified after this command by `<scale>`/4 pixels.|if `S`=0, it is the same as `S`=4 (default) and it means each step = 1 pixel.|
|
|
37
|
+
|`X<alphanumeric variable>;`|Execute sub-instruction|Executes a sub-string of GML placed in a alphanumeric variable.|- String-variables can be used within DRAW GML instructions.<br>- A `X` needs to be prefixed and all variables must be closed by a `;`.<br>- Adding other GML instructions after the last `;` will result in error.|
|
|
38
|
+
|`=<variable>;`|Equal|Puts a parameter in a integer-variable after one of several sub-strings of GML (see `X` instruction)|- The value range is determined by the preceding GML but it cannot exceed the value 32767.<br>- To start cursor on positon given by `X` and `Y` variables, you can use: `DRAW "BM=X;,=Y;"`|
|
|
39
|
+
|
|
40
|
+
_Please note: Things like orientation, color, scale or current graphics coordinates do not reset to default values when program is `RUN` again or other program is loaded._
|
|
41
|
+
|
|
42
|
+
## Examples
|
|
43
|
+
|
|
44
|
+
```basic
|
|
45
|
+
10 REM This program draws a little heart
|
|
46
|
+
20 SCREEN 2
|
|
47
|
+
30 PRESET(124,91): A$="A0S4C6 R1BR2R1 F1L6 D1R6 D1L6 D1R6 G1L4 F1R2G1"
|
|
48
|
+
40 DRAW A$
|
|
49
|
+
50 A$=INPUT$(1)
|
|
50
|
+
```
|
|
51
|
+
```basic
|
|
52
|
+
10 SCREEN 5
|
|
53
|
+
20 A$="A0S4C15BM50,50"
|
|
54
|
+
30 S=50
|
|
55
|
+
40 DRAW "XA$;D=S;R=S;U=S;L=S;"
|
|
56
|
+
50 A$=INPUT$(1)
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
_Note: Line 40 is same as `DRAW A$+"D=S;R=S;U=S;L=S;"`_
|
|
60
|
+
|
|
61
|
+
```basic
|
|
62
|
+
10 ' One line drawing program done using DRAW-command (by NYYRIKKI)
|
|
63
|
+
20 ' Cursors = Move, Space = Draw, ESC = Exit
|
|
64
|
+
30 COLOR15,0,0:SCREEN2,0,0:SPRITE$(0)=" P ":DRAW "A0S4BM128,96":FOR I=0 TO 0:PUTSPRITE 0,STEP(-2,-2),8:S$=MID$("B",1-STRIG(0))+MID$(" UERFDGLH",1+STICK(0),1):I=CHR$(27)<>INKEY$:DRAW"BF2XS$;":DRAW MID$("A2XS$;A0",9+(PEEK(-839)>191 OR PEEK(-840)>0)*8):NEXT
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Related to
|
|
68
|
+
|
|
69
|
+
`CIRCLE`, `CLS`, `COLOR`, `LINE`, `PAINT`, `POINT`, `PRESET`, `PSET`, `SCREEN`
|
|
70
|
+
|
|
71
|
+
## Compatibility
|
|
72
|
+
|
|
73
|
+
MSX-BASIC 1.0 or higher
|
|
74
|
+
|
|
75
|
+
## Source
|
|
76
|
+
|
|
77
|
+
Retrieved from "https://www.msx.org/wiki/DRAW"
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# ELSE
|
|
2
|
+
|
|
3
|
+
## Effect
|
|
4
|
+
|
|
5
|
+
This instruction is officially part of `IF...THEN...ELSE` or `IF...GOTO...ELSE` but can be used as a standalone instruction as well.
|
|
6
|
+
|
|
7
|
+
When used alone the rest of the line is skipped. When compared to `REM` this has the benefit that the BASIC instructions will keep stored in compressed form taking less memory and ie. `RENUM` will still handle the line numbers correctly.
|
|
8
|
+
|
|
9
|
+
## Syntax
|
|
10
|
+
|
|
11
|
+
`ELSE <BASICinstruction>:<BASICinstruction>...`
|
|
12
|
+
|
|
13
|
+
## Parameter
|
|
14
|
+
|
|
15
|
+
`<BASICinstruction>` can be any MSX-BASIC instruction.
|
|
16
|
+
|
|
17
|
+
## Example
|
|
18
|
+
|
|
19
|
+
```basic
|
|
20
|
+
4 REM CLS:GOTO 7
|
|
21
|
+
5 ELSE CLS:GOTO 7
|
|
22
|
+
6 END
|
|
23
|
+
7 PRINT "We don't execute this line"
|
|
24
|
+
|
|
25
|
+
renum
|
|
26
|
+
Ok
|
|
27
|
+
|
|
28
|
+
list
|
|
29
|
+
10 REM CLS:GOTO 7
|
|
30
|
+
20 ELSE CLS:GOTO 40
|
|
31
|
+
30 END
|
|
32
|
+
40 PRINT "We don't execute this line"
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Related to
|
|
36
|
+
|
|
37
|
+
`IF...GOTO...ELSE`, `IF...THEN...ELSE`, `REM`, `RENUM`
|
|
38
|
+
|
|
39
|
+
## Compatibility
|
|
40
|
+
|
|
41
|
+
MSX-BASIC 1.0 or higher
|
|
42
|
+
|
|
43
|
+
## Source
|
|
44
|
+
|
|
45
|
+
Retrieved from "https://www.msx.org/wiki/ELSE"
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# END
|
|
2
|
+
|
|
3
|
+
## Effect
|
|
4
|
+
|
|
5
|
+
Closes all open files (if any) and ends program execution.
|
|
6
|
+
|
|
7
|
+
## Syntax
|
|
8
|
+
|
|
9
|
+
`END`
|
|
10
|
+
|
|
11
|
+
## Example
|
|
12
|
+
|
|
13
|
+
```basic
|
|
14
|
+
10 PRINT "The end is nigh!"
|
|
15
|
+
20 END
|
|
16
|
+
30 PRINT "I shall not be executed"
|
|
17
|
+
|
|
18
|
+
run
|
|
19
|
+
The end is nigh!
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Related to
|
|
23
|
+
|
|
24
|
+
`STOP`
|
|
25
|
+
|
|
26
|
+
## Compatibility
|
|
27
|
+
|
|
28
|
+
MSX-BASIC 1.0 or higher
|
|
29
|
+
|
|
30
|
+
## Source
|
|
31
|
+
|
|
32
|
+
Retrieved from "https://www.msx.org/wiki/END"
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# EOF()
|
|
2
|
+
|
|
3
|
+
## Effect
|
|
4
|
+
|
|
5
|
+
Returns whether or not the end of a file has been reached.
|
|
6
|
+
|
|
7
|
+
Value of `EOF` is zero while the end of the open file is not reached.
|
|
8
|
+
|
|
9
|
+
## Syntax
|
|
10
|
+
|
|
11
|
+
`EOF(<Number>)`
|
|
12
|
+
|
|
13
|
+
## Parameter
|
|
14
|
+
|
|
15
|
+
`<Number>` corresponds to the number assigned to the file opened with the `OPEN` instruction.
|
|
16
|
+
|
|
17
|
+
## Example
|
|
18
|
+
|
|
19
|
+
```basic
|
|
20
|
+
10 OPEN "CAS:DATA" FOR INPUT AS #1
|
|
21
|
+
20 IF EOF(1) THEN 40
|
|
22
|
+
30 INPUT#1,X$,Y$,Z$ : PRINT X$,Y$,Z$ : GOTO 20
|
|
23
|
+
40 CLOSE#1 : END
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Related to
|
|
27
|
+
|
|
28
|
+
`CLOSE`, `INPUT`, `OPEN`, `PRINT`
|
|
29
|
+
|
|
30
|
+
## Compatibility
|
|
31
|
+
|
|
32
|
+
MSX-BASIC 1.0 or higher
|
|
33
|
+
|
|
34
|
+
## Source
|
|
35
|
+
|
|
36
|
+
Retrieved from "https://www.msx.org/wiki/EOF()"
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# EQV
|
|
2
|
+
|
|
3
|
+
## Effect
|
|
4
|
+
|
|
5
|
+
Performs a bitwise `EQV`-operation (logical equivalence) between two expressions.
|
|
6
|
+
|
|
7
|
+
The bit is set if both bits are equal. For each bit, the results are:
|
|
8
|
+
```
|
|
9
|
+
0 EQV 0 = 1
|
|
10
|
+
0 EQV 1 = 0
|
|
11
|
+
1 EQV 0 = 0
|
|
12
|
+
1 EQV 1 = 1
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Syntax
|
|
16
|
+
|
|
17
|
+
`<Value> EQV <Value>`
|
|
18
|
+
|
|
19
|
+
## Parameter
|
|
20
|
+
|
|
21
|
+
`<Value>` is a value between -32768 and 32767. It can also be a numeric variable or an mathematical expression.
|
|
22
|
+
|
|
23
|
+
_Notes:_
|
|
24
|
+
- If you use binary expressions, it is best to put the first expression in parenthesis to avoid the bug in interpreter that causes a syntax error. This problem does not happen with decimal, hexadecimal or octal expressions.
|
|
25
|
+
- When the expression is performed in a condition (`IF...THEN...ELSE` or `IF...GOTO...ELSE`), if the result of the whole expression is zero the value is taken as false, otherwise it's taken as true.
|
|
26
|
+
|
|
27
|
+
## Examples
|
|
28
|
+
|
|
29
|
+
```basic
|
|
30
|
+
PRINT 15 EQV 11
|
|
31
|
+
-5
|
|
32
|
+
```
|
|
33
|
+
Binary explanation:
|
|
34
|
+
```
|
|
35
|
+
0000000000001111
|
|
36
|
+
0000000000001011 EQV
|
|
37
|
+
----------------
|
|
38
|
+
1111111111111011
|
|
39
|
+
```
|
|
40
|
+
-5 is actually the number 65531
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
```basic
|
|
44
|
+
PRINT 5 EQV 13
|
|
45
|
+
-9
|
|
46
|
+
```
|
|
47
|
+
Binary explanation:
|
|
48
|
+
```
|
|
49
|
+
0000000000000101
|
|
50
|
+
0000000000001101 EQV
|
|
51
|
+
----------------
|
|
52
|
+
1111111111110111
|
|
53
|
+
```
|
|
54
|
+
-9 is actually the number 65527
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
```basic
|
|
58
|
+
PRINT &B00001111 EQV &B11110001
|
|
59
|
+
Syntax error
|
|
60
|
+
ok
|
|
61
|
+
PRINT (&B00001111) EQV &B11110001
|
|
62
|
+
-255
|
|
63
|
+
```
|
|
64
|
+
-255 is actually the number 65281
|
|
65
|
+
|
|
66
|
+
## Related to
|
|
67
|
+
|
|
68
|
+
`AND`, `IMP`, `MOD`, `NOT`, `OR`, `XOR`
|
|
69
|
+
|
|
70
|
+
## Compatibility
|
|
71
|
+
|
|
72
|
+
MSX-BASIC 1.0 or higher
|
|
73
|
+
|
|
74
|
+
## Source
|
|
75
|
+
|
|
76
|
+
Retrieved from "https://www.msx.org/wiki/EQV"
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# ERASE
|
|
2
|
+
|
|
3
|
+
## Effect
|
|
4
|
+
|
|
5
|
+
Frees memory by erasing one or more arrays.
|
|
6
|
+
|
|
7
|
+
## Syntax
|
|
8
|
+
|
|
9
|
+
`ERASE <ArrayVariable>,<ArrayVariable>...`
|
|
10
|
+
|
|
11
|
+
_Note: Parameters can not end with a comma alone._
|
|
12
|
+
|
|
13
|
+
## Parameter
|
|
14
|
+
|
|
15
|
+
`<ArrayVariable>` is an array of numeric variables or string variables (also named as alphanumeric variables) that has been created with the DIM instruction.
|
|
16
|
+
|
|
17
|
+
## Example
|
|
18
|
+
|
|
19
|
+
```basic
|
|
20
|
+
10 DIM A(100),X$(60)
|
|
21
|
+
…
|
|
22
|
+
500 ERASE A,X$
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Related to
|
|
26
|
+
|
|
27
|
+
`CLEAR`, `DIM`
|
|
28
|
+
|
|
29
|
+
## Compatibility
|
|
30
|
+
|
|
31
|
+
MSX-BASIC 1.0 or higher
|
|
32
|
+
|
|
33
|
+
## Source
|
|
34
|
+
|
|
35
|
+
Retrieved from "https://www.msx.org/wiki/ERASE"
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# ERL
|
|
2
|
+
|
|
3
|
+
## Effect
|
|
4
|
+
|
|
5
|
+
Returns the line number in which an error occured.
|
|
6
|
+
|
|
7
|
+
## Syntax
|
|
8
|
+
|
|
9
|
+
`ERL`
|
|
10
|
+
|
|
11
|
+
## Example
|
|
12
|
+
|
|
13
|
+
```basic
|
|
14
|
+
10 ON ERROR GOTO 50
|
|
15
|
+
20 MSX ' Generates an error, as "MSX" is not a valid MSX-BASIC command
|
|
16
|
+
30 END
|
|
17
|
+
50 PRINT "An error occurred in line ";ERL
|
|
18
|
+
60 RESUME 30
|
|
19
|
+
|
|
20
|
+
run
|
|
21
|
+
An error occurred in line 20
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Related to
|
|
25
|
+
|
|
26
|
+
`ERR`, `ERROR`, `ON ERROR GOTO`, `RESUME`
|
|
27
|
+
|
|
28
|
+
## Compatibility
|
|
29
|
+
|
|
30
|
+
MSX-BASIC 1.0 or higher
|
|
31
|
+
|
|
32
|
+
## Source
|
|
33
|
+
|
|
34
|
+
Retrieved from "https://www.msx.org/wiki/ERL"
|