Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
msx:x-basic:x-basic [2023-05-09 10:17] GreyWolf [3. Новые возможности, которые были добавлены] |
msx:x-basic:x-basic [2023-07-07 21:18] (текущий) ATroubleshooter |
||
---|---|---|---|
Строка 9: | Строка 9: | ||
====== KUN BASIC ====== | ====== KUN BASIC ====== | ||
- | MSX-BASIC-KUN (Компилятор BASIC'а) | + | %%MSX-BASIC-KUN%% (Компилятор BASIC) |
автор J.Suzuki 1989 | автор J.Suzuki 1989 | ||
- | этот документ и примеры составлены Sho Endo | + | \\ этот документ и примеры составлены Sho Endo |
- | перевод на английский выполнен LASP((Смотри [[#xbasic1|Примечание 1]])) | + | \\ перевод на английский выполнен LASP((Смотри [[#xbasic1|Примечание 1]])) |
- | текст перепечатан из LASP без изменений Нестором Сориано | + | \\ текст перепечатан из LASP без изменений Нестором Сориано |
- | корректура и перевод на русский - ATroubleshooter | + | \\ корректура и перевод на русский — ATroubleshooter |
- | MSX-BASIC-KUN это потрясающий компилятор BASIC'а. Он компилирует программу на | + | %%MSX-BASIC-KUN%% это потрясающий компилятор BASIC. Он компилирует программу на [[msx:basic:|]] в ОЗУ за считанные секунды и она работает в 15-100 раз быстрее!! %%X-BASIC%% может компилировать почти все операторы и функции [[msx:basic:|]] и поддерживает строки и числа с плавающей запятой. Попробовав его, вы поймете, что вам теперь ни к чему учить ассемблер Z-80. Игры в реальном времени, компьютерная графика, [[msx:demo:demo|демонстрационные программы]] могут быть написаны, сочетая простоту [[msx:basic:|]] и скорость машинного кода. |
- | Бейсике в ОЗУ за считанные секунды и она работает в 15-100 раз быстрее!! X-BASIC | + | |
- | может компилировать почти все операторы и функции MSX-BASIC'а и поддерживает | + | |
- | строки и числа с плавающей запятой. Попробовав его, вы поймете, что вам теперь ни к | + | |
- | чему учить ассемблер Z-80. Игры в реальном времени, компьютерная графика, демки | + | |
- | могут быть написаны, сочетая простоту Бейсика и скорость машинного кода. FIXME | + | |
Строка 29: | Строка 24: | ||
==== 1. Установка и Общие сведения ==== | ==== 1. Установка и Общие сведения ==== | ||
- | Данный компилятор продается в Японии в виде картриджа за 4500 йен. Для использования, вам нужно просто вставить его в слот. Также, вы можете найти этот компилятор в MSX2+ компьютерах Sanyo, в ПЗУ. А ещё, он может быть загружен в ОЗУ (с 4000h по 7FFFh) из [[msx:dos|]], что мы сейчас и проделаем. Просто запустите ''X.BAT'' из [[msx:dos|]]. | + | Данный компилятор продается в Японии в виде картриджа за 4500 йен. Для использования, вам нужно просто вставить его в слот. Также, вы можете найти этот компилятор в MSX2+ компьютерах Sanyo, в ПЗУ. А ещё, он может быть загружен в ОЗУ (с 4000h по 7FFFh) из [[msx:dos:|]], что мы сейчас и проделаем. Просто запустите ''X.BAT'' из [[msx:dos:|]]. |
<code> | <code> | ||
A>x | A>x | ||
Строка 38: | Строка 33: | ||
Ok | Ok | ||
</code> | </code> | ||
- | {{:msx:x-basic:xbasic.bin1.0.zip |Скачать X-BASIC 1.0 в формате .bin}} | + | {{:msx:x-basic:xbasic.bin1.0.zip |Скачать X-BASIC 1.0 в формате .bin и утилиту SET40.COM}} |
Строка 125: | Строка 120: | ||
Мало-мальски сложная строковая операция легко может вызвать ошибку "String formula too | Мало-мальски сложная строковая операция легко может вызвать ошибку "String formula too | ||
- | complex". Потому что данный компилятор имеет только один уровень стэка для этого. Разбейте длинную строковую формулу на несколько небольших, если так. | + | complex". Потому что данный компилятор имеет только один уровень стэка для этого. Разбейте длинную строковую формулу на несколько небольших, в таком случае. |
Если запустить посредством ''_RUN'' бесконечную программу, вы не сможете её прервать. Сделайте выход по нажатой клавише. | Если запустить посредством ''_RUN'' бесконечную программу, вы не сможете её прервать. Сделайте выход по нажатой клавише. | ||
- | </code> | + | <code> |
100 GOTO 100 'Нажмите ресет или выключите питание чтобы остановить | 100 GOTO 100 'Нажмите ресет или выключите питание чтобы остановить | ||
</code> | </code> | ||
Строка 136: | Строка 131: | ||
110 END | 110 END | ||
</code> | </code> | ||
- | \\ Лучше так. | + | будет лучше. |
==== 2. Отличия от интерпретатора MSX-BASIC ==== | ==== 2. Отличия от интерпретатора MSX-BASIC ==== | ||
- | Список операторов, команд и функций, которые не могут быть откомпилированы. | + | Список операторов, команд и функций, которые не могут быть откомпилированы: |
- | + | <WRAP group> | |
- | FIXME | + | <WRAP fourth column> |
- | + | <code> | |
- | AUTO, BASE, BLOAD, BSAVE, CALL, CDBL, CINT, CLEAR, CLOAD, CLOAD?, CLOSE, CONT, CSAVE, CSNG, CVD, CVI, CVS, DEFFN, DELETE, DRAW, DSKF, EOF, ERASE, ERL, ERR, ERROR, EQV, FIELD, FILES, FPOS, FRE, GET, IMP, INPUT#, KEY LIST, LFILES, LINEINPUT#, LIST, LLIST, LOAD, LOC, LOF, LPRINT USING, LSET, MAXFILES, MERGE, MOTOR, MKD$, MKI$, MKS$, NAME, NEW, ON ERROR GOTO, ON INTERVAL GOSUB (due to a bug), OPEN, PLAY, PRINT#, PRINT USING, PUT KANJI, RENUM, RESUME, RSET, | + | AUTO |
- | SAVE, SPC, TAB, TRON, TROFF, WIDTH. | + | BASE |
- | + | BLOAD | |
- | Список тех, которые имеют ограничения. | + | BSAVE |
- | + | CALL | |
- | FIXME | + | CDBL |
+ | CINT | ||
+ | CLEAR | ||
+ | CLOAD | ||
+ | CLOAD? | ||
+ | CLOSE | ||
+ | CONT | ||
+ | CSAVE | ||
+ | CSNG | ||
+ | CVD | ||
+ | CVI | ||
+ | CVS | ||
+ | </code> | ||
+ | </WRAP> | ||
+ | <WRAP fourth column> | ||
+ | <code> | ||
+ | DEFFN | ||
+ | DELETE | ||
+ | DRAW | ||
+ | DSKF | ||
+ | EOF | ||
+ | ERASE | ||
+ | ERL | ||
+ | ERR | ||
+ | ERROR | ||
+ | EQV | ||
+ | FIELD | ||
+ | FILES | ||
+ | FPOS | ||
+ | FRE | ||
+ | GET | ||
+ | IMP | ||
+ | INPUT# | ||
+ | </code> | ||
+ | </WRAP> | ||
+ | <WRAP fourth column> | ||
+ | <code> | ||
+ | KEY LIST | ||
+ | LFILES | ||
+ | LINEINPUT# | ||
+ | LIST | ||
+ | LLIST | ||
+ | LOAD | ||
+ | LOC | ||
+ | LOF | ||
+ | LPRINT USING | ||
+ | LSET | ||
+ | MAXFILES | ||
+ | MERGE | ||
+ | MOTOR | ||
+ | MKD$ | ||
+ | MKI$ | ||
+ | MKS$ | ||
+ | NAME | ||
+ | </code> | ||
+ | </WRAP> | ||
+ | <WRAP fourth column> | ||
+ | <code> | ||
+ | NEW | ||
+ | ON ERROR GOTO | ||
+ | ON INTERVAL GOSUB (из-за ошибки) | ||
+ | OPEN | ||
+ | PLAY | ||
+ | PRINT# | ||
+ | PRINT USING | ||
+ | PUT KANJI | ||
+ | RENUM | ||
+ | RESUME | ||
+ | RSET | ||
+ | SAVE | ||
+ | SPC | ||
+ | TAB | ||
+ | TRON | ||
+ | TROFF | ||
+ | WIDTH | ||
+ | </code> | ||
+ | </WRAP> | ||
+ | </WRAP> | ||
+ | Список тех, которые имеют ограничения: | ||
|''CIRCLE''|Только окружности, никаких дуг или эллипсов.| | |''CIRCLE''|Только окружности, никаких дуг или эллипсов.| | ||
|''COPY''|Только пересылки в видеопамяти.| | |''COPY''|Только пересылки в видеопамяти.| | ||
Строка 176: | Строка 249: | ||
Если вы хотите использовать ''PRINT#'' для вывода символов на ''GRP:'', используйте его вне турбо-блока. Иначе, изучите пример PRINT.TRB. | Если вы хотите использовать ''PRINT#'' для вывода символов на ''GRP:'', используйте его вне турбо-блока. Иначе, изучите пример PRINT.TRB. | ||
- | Если нужно использовать ''PLAY'', используйте компилятор BGM, и выводите звук с помощью ''USR(n)''. | + | Если нужно использовать ''PLAY'', используйте расширение CompileBGM, и выводите звук с помощью ''USR(n)''. |
==== 3. Новые возможности, которые были добавлены ==== | ==== 3. Новые возможности, которые были добавлены ==== | ||
Строка 216: | Строка 289: | ||
- | Данный текст переставляет собой синтез переводов двух источников, датированных [[https://www.msxcomputermagazine.nl/mccm/millennium/milc/basic/topic_0.htm|1986]] и [[http://www.konamiman.com/msx/msx2th/kunbasic.txt|1989]] годами. | + | Данный текст представляет собой синтез переводов двух источников, датированных [[https://www.msxcomputermagazine.nl/mccm/millennium/milc/basic/topic_0.htm|1986]] и [[http://www.konamiman.com/msx/msx2th/kunbasic.txt|1989]] годами. |
{{anchor:xbasic1}} __//Примечание 1//__ \\ | {{anchor:xbasic1}} __//Примечание 1//__ \\ | ||
- | Довольно сомнительно, что текст был переведен LASP (бумажный каталог-прейскурант, выходивший в Испании). Этот текст существовал с 1986 года, и был, с минимальными изменениями, напечатан в LASP в 1989 году. | + | Довольно сомнительно, что текст был переведен LASP (бумажный каталог-прейскурант, выходивший в Испании). Этот текст в английском варианте существовал с 1986 года, и был, с минимальными изменениями, напечатан в LASP в 1989 году. |
====== Ссылки ====== | ====== Ссылки ====== |