Knowledge (XXG)

MSX BASIC

Source 📝

606:
Since MSX BASIC was meant to be expandable from inception, it was possible to write add-on modules quite easily. Support for specific hardware was commonly added by means of expansion cartridges, which also served as the interface to the hardware in question. MSX Disk-BASIC is an example, bundled in
372:
Added support for using the lower 32K RAM of the computer (not directly visible because the BIOS and BASIC interpreter ROMs take over the addressing space) as a limited RAM disk (only certain types of files could be saved). MSX BASIC 2.1 supports using the memory mapper (if available on the machine)
255:
system; all program lines must be numbered, all non-numbered lines are considered to be commands in direct mode (i.e., to be executed immediately). The user interface is entirely command-line-based.
327:
Note that the Brazilian MSX "clones" by Sharp and Gradiente show other versions of MSX BASIC (on the Sharps even called HOT-BASIC), but they're basically just unlicensed MSX BASIC 1.0.
1510: 1778: 1788: 1798: 235:, of which about 23K to 28K are available for BASIC code and data (the exact amount depends on the presence of disk controller and on the MSX-DOS 1773: 1397: 204:
of all MSX computers. At system start-up MSX BASIC is invoked, causing its command prompt to be displayed, unless other software placed in
252: 377:
MSX BASIC 2.1 exists on computers like the Philips MSX2 machines (except for the VG 8230), the Yamaha YIS-805 and Sanyo MPC-2300.
193: 1260: 728: 1392: 1465: 1375: 1008: 607:
the cartridge that provides the hardware interface to the disk drives, it adds commands to access the floppy disk drives.
317: 1160: 320: 1783: 1320: 1135: 933: 927: 71: 346:
Added support for new available screen modes, including graphic modes with 212 progressive or 424 interlaced lines:
1614: 1609: 1265: 1170: 700: 158: 1657: 1270: 1140: 236: 938: 393:
32 KB in size (First 16 KB directly available, second 16 KB in other slot and has to be paged in/out for usage)
343:
32 KB in size (First 16 KB directly available, second 16 KB in other slot and has to be paged in/out for usage)
267:
and provide new capabilities to fully explore the new and extended hardware found on the newer MSX computers.
703:- Official documentation of MSX-BASIC 2.0, generated manually from a printed copy of MSX2 Technical Handbook. 1707: 1491: 1110: 742: 248: 184:
and clones. During the creation of MSX BASIC, effort was made to make the system flexible and expandable.
30: 263:
Every new version of the MSX computer was bundled with an updated version of MSX BASIC. All versions are
1594: 1437: 1404: 967: 776: 625: 441: 1662: 1526: 1478: 1417: 1331: 1235: 1122: 840: 835: 830: 232: 25: 706: 1742: 1632: 1506: 850: 783: 721: 311: 264: 923: 408:
Screen 10 (graphic mode 256 x 212/424 pixels, 12499 YJK at once + 16 colors out of 512 RGB in ML)
247:
MSX BASIC development environment is very similar to other versions of Microsoft BASIC. It has a
37: 1619: 1455: 1255: 1091: 806: 793: 286:
No native support for floppy disk requiring the Disk BASIC cartridge extension (4 KB overhead)
224: 1048: 1793: 1447: 1081: 891: 858: 301:
Screen 3 (low resolution graphic mode 64×48 - 4×4 pixel blocks over the screen 2 resolution)
205: 201: 97: 87: 411:
Screen 11 (graphic mode 256 x 212/424 pixels, 12499 YJK at once + 16 colors out of 512 RGB)
1652: 1642: 1584: 1442: 1386: 1065: 822: 766: 1747: 1727: 1599: 1344: 1200: 1086: 977: 919: 714: 369:
Added support for hardware accelerated graphics functions (copy, fill, blitting, etc.)
1767: 1752: 1637: 1540: 1165: 886: 873: 863: 772: 671: 650: 209: 173: 146: 295:
Screen 1 (mixed text mode 32 x 24 characters, sprites and colored custom characters)
216:
prompt to be shown if there is a disk present which contains the DOS system files).
169:
Version 4.5, adding support for graphic, music, and various peripherals attached to
1667: 1579: 1469: 1180: 1096: 953: 906: 1647: 1589: 1486: 1427: 1354: 1220: 1210: 1155: 1013: 998: 972: 812: 467: 427: 1737: 1732: 1717: 1364: 1280: 1215: 1190: 1150: 1130: 1033: 993: 962: 943: 881: 1682: 1672: 1627: 1604: 1555: 1544: 1432: 1245: 1225: 1205: 1195: 1028: 758: 307: 228: 162: 102: 42: 1692: 1687: 1677: 1496: 1380: 1275: 1250: 1175: 1003: 914: 801: 177: 134: 437:
command to make delays in BASIC independent of the current CPU and clock
1722: 1349: 1305: 1290: 1185: 1073: 1053: 896: 697:- A Portuguese website focusing completely on development in MSX-BASIC. 213: 1712: 1697: 1550: 1501: 1359: 1339: 1300: 1295: 1145: 1043: 1038: 1023: 1018: 387: 181: 166: 361:
Screen 8 (graphic mode 256 x 212/424 pixels, 256 colors, no palette)
192: 298:
Screen 2 (high resolution graphic mode 256 x 192 pixels, 16 colors)
738: 358:
Screen 7 (graphic mode 512 x 212/424 pixels, 16 colors out of 512)
352:
Screen 5 (graphic mode 256 x 212/424 pixels, 16 colors out of 512)
191: 355:
Screen 6 (graphic mode 512 x 212/424 pixels, 4 colors out of 512)
1516: 1285: 474: 414:
Screen 12 (graphic mode 256 x 212/424 pixels, 19268 YJK at once)
220: 106: 710: 694: 1536: 337: 277: 170: 117: 672:"Sanyo MPC-2300 (Soviet Digital Electronics Museum)" 651:"Yamaha YIS-805 (Soviet Digital Electronics Museum)" 1572: 1525: 1477: 1464: 1416: 1330: 1318: 1234: 1121: 1109: 1064: 986: 952: 905: 872: 849: 821: 792: 757: 750: 140: 128: 112: 96: 86: 70: 48: 36: 24: 366:Added support for multicolored sprites (16 colors) 405:Added support for new available screen modes: 722: 402:for smooth, hardware based scrolling in BASIC 176:. Generally, MSX BASIC is designed to follow 8: 219:When MSX BASIC is invoked, the ROM code for 212:and disk interfaces, the latter causing the 208:takes control (which is the typical case of 19: 231:addressing space. The upper 32K are set to 227:itself are visible on the lower 32K of the 1474: 1327: 1118: 754: 729: 715: 707: 18: 701:MSX2 Technical Handbook, Chapter 2: BASIC 373:to expand this RAM disk to almost 90 KB. 289:Support for all available screen modes: 253:Integrated Development Environment (IDE) 616: 494:"COM5:9600,N,8,1,RS,CS,DS,CD" 292:Screen 0 (text mode 40 x 24 characters) 306:Full support for hardware sprites and 1779:Programming languages created in 1984 626:"MSX Is Coming - Part II: Inside MSX" 7: 349:Updated Screen 0 (text mode 80 x 24) 466:Bundled with the Panasonic FS-A1GT 426:Bundled with the Panasonic FS-A1ST 14: 1789:BASIC programming language family 92:Optional; Any suitable OS is O.K. 624:Tom R. Halfhill (January 1985). 1799:Microsoft programming languages 161:. It is an extended version of 200:MSX BASIC came bundled in the 1: 1774:Discontinued Microsoft BASICs 440:Added extra commands for the 318:General Instruments AY-3-8910 180:, released the same year for 670:Sergei Frolov (April 2011). 649:Sergei Frolov (April 2011). 321:Programmable Sound Generator 16:Programming language dialect 934:Data General Extended BASIC 54:; 41 years ago 1815: 159:BASIC programming language 1658:Disk Extended Color BASIC 1271:Open Programming Language 145: 133: 82: 66: 1556:WinFBE, Visual FB Editor 939:Southampton BASIC System 485: 602:Extensions of MSX BASIC 243:Development Environment 1708:MS BASIC for Macintosh 1492:Visual Basic (classic) 802:TI-BASIC (calculators) 741:programming language ( 197: 1595:Atari Microsoft BASIC 1438:Microsoft Small Basic 1405:Embedded Visual Basic 968:VSI BASIC for OpenVMS 316:Full support for the 259:Versions of MSX BASIC 196:MSX BASIC version 3.0 195: 43:Microsoft Corporation 1663:Extended Color BASIC 836:Rocky Mountain BASIC 831:HP Time-Shared BASIC 157:is a dialect of the 1743:TI BASIC (TI 99/4A) 1633:Benton Harbor BASIC 851:Locomotive Software 331:MSX BASIC 2.0 / 2.1 312:collision detection 265:backward compatible 49:First appeared 21: 1784:BASIC interpreters 310:-driven automatic 198: 1761: 1760: 1621:BASIC Programming 1568: 1567: 1564: 1563: 1507:Visual Basic .NET 1314: 1313: 1105: 1104: 1092:Super Expander 64 807:TI Extended BASIC 794:Texas Instruments 225:BASIC interpreter 152: 151: 1806: 1475: 1448:OpenOffice Basic 1328: 1119: 1057: 892:North Star BASIC 859:Locomotive BASIC 755: 737:Dialects of the 731: 724: 717: 708: 682: 681: 679: 678: 667: 661: 660: 658: 657: 646: 640: 639: 637: 636: 621: 597: 594: 591: 588: 585: 582: 579: 576: 573: 570: 567: 564: 561: 558: 555: 552: 549: 546: 543: 540: 537: 534: 531: 528: 525: 522: 519: 516: 513: 510: 507: 504: 501: 498: 495: 492: 489: 454: 448: 400: 124: 121: 119: 62: 60: 55: 22: 1814: 1813: 1809: 1808: 1807: 1805: 1804: 1803: 1764: 1763: 1762: 1757: 1653:Dartmouth BASIC 1643:Commodore BASIC 1585:Applesoft BASIC 1560: 1528: 1521: 1468: 1460: 1419: 1412: 1387:Microsoft Excel 1323: 1310: 1237: 1230: 1114: 1101: 1060: 1051: 982: 948: 901: 868: 845: 823:Hewlett-Packard 817: 788: 771:TRS-80 BASICs ( 767:Microsoft BASIC 746: 735: 691: 686: 685: 676: 674: 669: 668: 664: 655: 653: 648: 647: 643: 634: 632: 623: 622: 618: 613: 604: 599: 598: 595: 592: 589: 586: 583: 580: 577: 574: 571: 568: 565: 562: 559: 556: 553: 550: 547: 544: 541: 538: 535: 532: 529: 526: 523: 520: 517: 514: 511: 508: 505: 502: 499: 496: 493: 490: 487: 484: 463: 452: 446: 423: 398: 383: 333: 273: 261: 245: 210:game cartridges 190: 116: 78: 58: 56: 53: 17: 12: 11: 5: 1812: 1810: 1802: 1801: 1796: 1791: 1786: 1781: 1776: 1766: 1765: 1759: 1758: 1756: 1755: 1750: 1748:Turbo-BASIC XL 1745: 1740: 1735: 1730: 1728:Sinclair BASIC 1725: 1720: 1715: 1710: 1705: 1700: 1695: 1690: 1685: 1680: 1675: 1670: 1665: 1660: 1655: 1650: 1645: 1640: 1635: 1630: 1625: 1617: 1612: 1607: 1602: 1600:Atari ST BASIC 1597: 1592: 1587: 1582: 1576: 1574: 1570: 1569: 1566: 1565: 1562: 1561: 1559: 1558: 1553: 1548: 1533: 1531: 1523: 1522: 1520: 1519: 1514: 1504: 1499: 1494: 1489: 1483: 1481: 1472: 1462: 1461: 1459: 1458: 1453: 1450: 1445: 1440: 1435: 1430: 1424: 1422: 1414: 1413: 1411: 1410: 1407: 1402: 1401: 1400: 1395: 1383: 1378: 1373: 1370: 1367: 1362: 1357: 1352: 1347: 1345:Chipmunk Basic 1342: 1336: 1334: 1325: 1316: 1315: 1312: 1311: 1309: 1308: 1303: 1298: 1293: 1288: 1283: 1278: 1273: 1268: 1263: 1258: 1253: 1248: 1242: 1240: 1232: 1231: 1229: 1228: 1223: 1218: 1213: 1208: 1203: 1198: 1193: 1188: 1183: 1178: 1173: 1168: 1163: 1158: 1153: 1148: 1143: 1138: 1133: 1127: 1125: 1116: 1107: 1106: 1103: 1102: 1100: 1099: 1094: 1089: 1087:Super Expander 1084: 1079: 1078:Graphics BASIC 1076: 1070: 1068: 1062: 1061: 1059: 1058: 1046: 1041: 1036: 1031: 1026: 1021: 1016: 1011: 1006: 1001: 996: 990: 988: 984: 983: 981: 980: 978:CALL/360:BASIC 975: 970: 965: 959: 957: 950: 949: 947: 946: 941: 936: 931: 920:Business Basic 917: 911: 909: 903: 902: 900: 899: 894: 889: 884: 878: 876: 874:Microcomputers 870: 869: 867: 866: 861: 855: 853: 847: 846: 844: 843: 838: 833: 827: 825: 819: 818: 816: 815: 810: 804: 798: 796: 790: 789: 787: 786: 780: 769: 763: 761: 752: 748: 747: 736: 734: 733: 726: 719: 711: 705: 704: 698: 690: 689:External links 687: 684: 683: 662: 641: 615: 614: 612: 609: 603: 600: 560:"X0" 486: 483: 480: 479: 478: 471: 462: 459: 458: 457: 438: 431: 422: 419: 418: 417: 416: 415: 412: 409: 403: 396:Added command 394: 391: 382: 379: 375: 374: 370: 367: 364: 363: 362: 359: 356: 353: 350: 344: 341: 332: 329: 325: 324: 314: 304: 303: 302: 299: 296: 293: 287: 284: 281: 272: 269: 260: 257: 244: 241: 189: 186: 174:microcomputers 150: 149: 143: 142: 138: 137: 131: 130: 126: 125: 114: 110: 109: 100: 94: 93: 90: 84: 83: 80: 79: 76: 74: 72:Stable release 68: 67: 64: 63: 50: 46: 45: 40: 34: 33: 28: 15: 13: 10: 9: 6: 4: 3: 2: 1811: 1800: 1797: 1795: 1792: 1790: 1787: 1785: 1782: 1780: 1777: 1775: 1772: 1771: 1769: 1754: 1753:Vilnius BASIC 1751: 1749: 1746: 1744: 1741: 1739: 1736: 1734: 1731: 1729: 1726: 1724: 1721: 1719: 1716: 1714: 1711: 1709: 1706: 1704: 1701: 1699: 1696: 1694: 1691: 1689: 1686: 1684: 1681: 1679: 1676: 1674: 1671: 1669: 1666: 1664: 1661: 1659: 1656: 1654: 1651: 1649: 1646: 1644: 1641: 1639: 1638:Chinese BASIC 1636: 1634: 1631: 1629: 1626: 1624: 1622: 1618: 1616: 1613: 1611: 1608: 1606: 1603: 1601: 1598: 1596: 1593: 1591: 1588: 1586: 1583: 1581: 1578: 1577: 1575: 1571: 1557: 1554: 1552: 1549: 1546: 1542: 1541:Basic4android 1538: 1535: 1534: 1532: 1530: 1524: 1518: 1515: 1512: 1508: 1505: 1503: 1500: 1498: 1495: 1493: 1490: 1488: 1485: 1484: 1482: 1480: 1476: 1473: 1471: 1467: 1463: 1457: 1454: 1451: 1449: 1446: 1444: 1441: 1439: 1436: 1434: 1431: 1429: 1426: 1425: 1423: 1421: 1415: 1409:WinWrap Basic 1408: 1406: 1403: 1399: 1396: 1394: 1391: 1390: 1388: 1384: 1382: 1379: 1377: 1374: 1371: 1368: 1366: 1363: 1361: 1358: 1356: 1353: 1351: 1348: 1346: 1343: 1341: 1338: 1337: 1335: 1333: 1329: 1326: 1322: 1317: 1307: 1304: 1302: 1299: 1297: 1294: 1292: 1289: 1287: 1284: 1282: 1279: 1277: 1274: 1272: 1269: 1267: 1264: 1262: 1259: 1257: 1254: 1252: 1249: 1247: 1244: 1243: 1241: 1239: 1233: 1227: 1224: 1222: 1219: 1217: 1214: 1212: 1209: 1207: 1204: 1202: 1199: 1197: 1194: 1192: 1189: 1187: 1184: 1182: 1179: 1177: 1174: 1172: 1169: 1167: 1166:Liberty BASIC 1164: 1162: 1159: 1157: 1154: 1152: 1149: 1147: 1144: 1142: 1139: 1137: 1134: 1132: 1129: 1128: 1126: 1124: 1120: 1117: 1112: 1108: 1098: 1095: 1093: 1090: 1088: 1085: 1083: 1082:Simons' BASIC 1080: 1077: 1075: 1072: 1071: 1069: 1067: 1063: 1055: 1050: 1047: 1045: 1042: 1040: 1037: 1035: 1032: 1030: 1027: 1025: 1022: 1020: 1017: 1015: 1012: 1010: 1007: 1005: 1002: 1000: 997: 995: 992: 991: 989: 985: 979: 976: 974: 971: 969: 966: 964: 961: 960: 958: 955: 951: 945: 942: 940: 937: 935: 932: 929: 925: 921: 918: 916: 913: 912: 910: 908: 907:Minicomputers 904: 898: 895: 893: 890: 888: 887:Integer BASIC 885: 883: 880: 879: 877: 875: 871: 865: 864:Mallard BASIC 862: 860: 857: 856: 854: 852: 848: 842: 839: 837: 834: 832: 829: 828: 826: 824: 820: 814: 811: 808: 805: 803: 800: 799: 797: 795: 791: 785: 781: 778: 774: 770: 768: 765: 764: 762: 760: 756: 753: 749: 744: 740: 732: 727: 725: 720: 718: 713: 712: 709: 702: 699: 696: 693: 692: 688: 673: 666: 663: 652: 645: 642: 631: 627: 620: 617: 610: 608: 601: 536:" " 481: 476: 472: 469: 465: 464: 461:MSX BASIC 4.1 460: 455: 449: 443: 439: 436: 432: 429: 425: 424: 421:MSX BASIC 4.0 420: 413: 410: 407: 406: 404: 401: 395: 392: 389: 386:Bundled with 385: 384: 381:MSX BASIC 3.0 380: 378: 371: 368: 365: 360: 357: 354: 351: 348: 347: 345: 342: 339: 336:Bundled with 335: 334: 330: 328: 322: 319: 315: 313: 309: 305: 300: 297: 294: 291: 290: 288: 285: 283:16 KB in size 282: 279: 276:Bundled with 275: 274: 271:MSX BASIC 1.0 270: 268: 266: 258: 256: 254: 250: 242: 240: 238: 234: 230: 226: 222: 217: 215: 211: 207: 203: 194: 187: 185: 183: 179: 175: 172: 168: 164: 160: 156: 148: 147:Vilnius BASIC 144: 139: 136: 132: 129:Influenced by 127: 123: 115: 111: 108: 104: 101: 99: 95: 91: 89: 85: 81: 75: 73: 69: 65: 51: 47: 44: 41: 39: 35: 32: 29: 27: 23: 1702: 1668:Family BASIC 1623:(Atari 2600) 1620: 1580:Altair BASIC 1181:Mobile BASIC 1097:YS MegaBasic 954:Time-sharing 928:Data General 809:(aka XBasic) 777:Level II/III 675:. Retrieved 665: 654:. Retrieved 644: 633:. Retrieved 629: 619: 605: 451: 445: 434: 397: 376: 326: 262: 249:command line 246: 218: 199: 188:Distribution 154: 153: 1648:Color BASIC 1590:Atari BASIC 1529:open source 1487:CA-Realizer 1479:Proprietary 1452:ScriptBasic 1420:open source 1355:LotusScript 1332:Proprietary 1266:Indic BASIC 1238:open source 1221:Turbo Basic 1211:Tiger-BASIC 1156:FutureBASIC 1123:Proprietary 1052: [ 1014:Casio BASIC 999:Astro BASIC 973:SUPER BASIC 813:TI-BASIC 83 468:MSX turbo R 428:MSX turbo R 340:2 computers 280:1 computers 1768:Categories 1738:SuperBASIC 1733:STOS BASIC 1718:QuickBASIC 1443:Mono-Basic 1365:PowerBASIC 1324:extensions 1281:SmallBASIC 1216:True BASIC 1201:SmileBASIC 1191:PowerBASIC 1151:Beta BASIC 1136:AMOS BASIC 1131:AmigaBASIC 1034:Tiny BASIC 994:AlphaBasic 963:BASIC-PLUS 944:Wang BASIC 882:Atom BASIC 677:2011-04-06 656:2011-04-06 635:2010-10-31 611:References 477:extensions 399:SET SCROLL 239:version). 141:Influenced 120:.microsoft 31:imperative 1703:MSX BASIC 1683:IBM BASIC 1673:GFA BASIC 1628:BBC BASIC 1545:Basic4ppc 1470:designers 1433:FreeBASIC 1385:VB 5 for 1372:Run BASIC 1256:DarkBASIC 1246:Basic-256 1226:WordBASIC 1206:ThinBasic 1196:PureBasic 1111:Procedure 1066:Extenders 1029:SDS BASIC 956:computers 784:BASIC 1.0 759:Microsoft 390:computers 308:interrupt 163:Microsoft 155:MSX BASIC 38:Developer 20:MSX BASIC 1693:MacBASIC 1688:JR-BASIC 1678:GW-BASIC 1615:BASIC XL 1610:BASIC XE 1605:BASIC A+ 1527:Free and 1497:NS Basic 1428:BlitzMax 1418:Free and 1381:VBScript 1369:ProvideX 1276:SdlBasic 1261:Euphoria 1251:Basic4GL 1236:Free and 1176:MapBasic 1115:oriented 1004:BASICODE 915:BASIC-11 841:HP Basic 782:Thomson 630:Compute! 533:<> 447:_PCMPLAY 444:device ( 223:and the 178:GW-BASIC 135:GW-BASIC 26:Paradigm 1794:MSX-DOS 1723:S-BASIC 1573:Defunct 1511:Mercury 1350:GLBasic 1306:Yabasic 1291:wxBasic 1186:OWBasic 1074:BASIC 8 1049:ETBASIC 897:SCELBAL 773:Level I 751:Classic 695:MSX.bas 521:INKEY$ 453:_PCMREC 251:-based 214:MSX-DOS 182:IBM PCs 113:Website 98:License 77:4.1 57: ( 1713:QBasic 1698:MBASIC 1551:Gambas 1502:RapidQ 1456:Roslyn 1360:Morfik 1340:AutoIt 1321:object 1301:Xblite 1296:XBasic 1146:BasicX 1044:ZBasic 1039:UBASIC 1024:PBASIC 1019:CBASIC 500:RANDOM 482:Sample 473:Added 435:_PAUSE 433:Added 237:kernel 167:MBASIC 1319:With 1161:GRASS 1056:] 987:Other 739:BASIC 584:PRINT 566:INPUT 548:PRINT 470:model 430:model 388:MSX2+ 323:(PSG) 1517:Xojo 1398:VSTA 1393:VSTO 1389:5.0 1286:QB64 1141:ASIC 743:list 593:GOTO 539:THEN 491:OPEN 475:MIDI 221:BIOS 122:.com 107:EULA 59:1983 52:1983 1537:B4X 1466:RAD 1376:VBA 1171:LSE 1009:BAL 924:B32 596:110 590:160 587:B$ 581:150 578:B$ 563:140 545:130 542:110 530:A$ 524:120 515:A$ 512:110 497:FOR 488:100 442:PCM 338:MSX 278:MSX 233:RAM 229:Z80 206:ROM 202:ROM 171:MSX 165:'s 118:www 1770:: 1543:, 1054:zh 926:, 775:, 628:. 527:IF 503:AS 450:, 103:MS 88:OS 1547:) 1539:( 1513:) 1509:( 1113:- 930:) 922:( 779:) 745:) 730:e 723:t 716:v 680:. 659:. 638:. 575:, 572:1 569:# 557:, 554:1 551:# 518:= 509:1 506:# 456:) 105:- 61:)

Index

Paradigm
imperative
Developer
Microsoft Corporation
Stable release
OS
License
MS
EULA
www.microsoft.com
GW-BASIC
Vilnius BASIC
BASIC programming language
Microsoft
MBASIC
MSX
microcomputers
GW-BASIC
IBM PCs

ROM
ROM
game cartridges
MSX-DOS
BIOS
BASIC interpreter
Z80
RAM
kernel
command line

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.