Важная информация

User Tag List

Страница 1 из 3 123 ПоследняяПоследняя
Показано с 1 по 10 из 29

Тема: Компилирование кода MSX Basic в COM-файл

  1. #1

    Регистрация
    06.09.2025
    Адрес
    г. Киев, Украина
    Сообщений
    240
    Спасибо Благодарностей отдано 
    412
    Спасибо Благодарностей получено 
    30
    Поблагодарили
    26 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Question Компилирование кода MSX Basic в COM-файл

    При помощи компилятора MSX Basic от Егора Глебовича Вознесенского — SOLiD VBasic — попытался собрать в командный файл MSX-DOS свой исходник (bt.bas).

    Инструкция — https://sysadminmosaic.ru/msx/vbc/vbc

    Затем попытался собрать штатным компилятором Microsoft Basic Compiler.

    Инструкция — http://sysadminmosaic.ru/msx/basic_c...basic_compiler

    В обоих случаях не получилось:



    Посоветовали компилировать бразильским компилятором Mozart Basic от Cibertron Software — однако результат компиляции отличается от запуска в среде MSX Basic.

    Исходник (bt.bas) прилагается:

    bt.7z

    Можно ли собрать COM-файл, который будет функционировать как исходник после команды RUN?
    ÷)

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    08.07.2015
    Адрес
    г. Бохум, Германия
    Сообщений
    1,798
    Спасибо Благодарностей отдано 
    217
    Спасибо Благодарностей получено 
    703
    Поблагодарили
    348 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Существует несколько компиляторов для Бейсик программ, но ни один не доведён до ума, насколько я знаю. Мы в институте пользовались псевдокомпилятором BASCOM, он действительно компилировал BAS в COM, но этот COM файл должен был всегда иметь файл BASLIB.REL рядом. Если память не изменяет.

    Последний вопрос меня поставил в тупик. COM файл работает только с среде MSX-DOS, командой RUN его уж никак запустить нельзя. Так что либо BAS, запускаемый командой "run", либо COM, запускаемый из системы. Есть утилита BRUN от Микрософта, по идее она должна запускать BAS файлы из системы. Но тут смысла нет, так как команда basic имя.bas из командной строки MSX-DOS запустит нужый файл без всяких примочек.

    Эти 2 пользователя(ей) поблагодарили Wierzbowsky за это полезное сообщение:

    axe_chita(09.09.2025), yevrowl(08.09.2025)

  4. #3

    Регистрация
    06.09.2025
    Адрес
    г. Киев, Украина
    Сообщений
    240
    Спасибо Благодарностей отдано 
    412
    Спасибо Благодарностей получено 
    30
    Поблагодарили
    26 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Wierzbowsky Посмотреть сообщение
    Мы в институте пользовались псевдокомпилятором BASCOM, он действительно компилировал BAS в COM, но этот COM файл должен был всегда иметь файл BASLIB.REL рядом.
    При компилировании с опцией /O упомянутого файла уже не требует.

    Цитата Сообщение от Wierzbowsky Посмотреть сообщение
    Последний вопрос меня поставил в тупик.
    Видимо, неправильно составил фразу. Имею в виду, как в интерпретаторе, после ввода RUN.

    Вот собранный при помощи Mozart Basic исходник работает несколько иначе: Вложение 82769

    Вот как пашет оригинал на MSX Basic — https://webmsx.org/?MACHINE=MSX1&dis...ess.org/bt.dsk
    Последний раз редактировалось yevrowl; 08.09.2025 в 19:21.
    ÷)

  5. #4

    Регистрация
    15.06.2010
    Адрес
    г. Чита
    Сообщений
    65
    Спасибо Благодарностей отдано 
    110
    Спасибо Благодарностей получено 
    13
    Поблагодарили
    9 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А с расширением NestorBasic не пытались запускать?

  6. #5

    Регистрация
    06.09.2025
    Адрес
    г. Киев, Украина
    Сообщений
    240
    Спасибо Благодарностей отдано 
    412
    Спасибо Благодарностей получено 
    30
    Поблагодарили
    26 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от axe_chita Посмотреть сообщение
    А с расширением NestorBasic не пытались запускать?
    Не пытался, ведь это интерпретатор, а не компилятор.
    ÷)

  7. #6

    Регистрация
    15.06.2010
    Адрес
    г. Чита
    Сообщений
    65
    Спасибо Благодарностей отдано 
    110
    Спасибо Благодарностей получено 
    13
    Поблагодарили
    9 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    NestorBASIC не интерпретатор, это компилятор который позволяет "на лету" откомпилировать в память программу на MSX Basic. Компилируемые блоки программы находятся между командами _turbo on и _turbo off. Также можно сразу откомпилировать программу целиком и сразу запустить её на исполнение командой _run. Кроме компилятор,а в нем есть ещё много полезных функций.
    https://sysadminmosaic.ru/msx/nestor_basic/nestor_basic
    Из минусов, он не умеет создавать standalone приложения (COM программы СР/М и MSXDOS)

    Этот пользователь поблагодарил axe_chita за это полезное сообщение:

    yevrowl(10.09.2025)

  8. #7

    Регистрация
    06.09.2025
    Адрес
    г. Киев, Украина
    Сообщений
    240
    Спасибо Благодарностей отдано 
    412
    Спасибо Благодарностей получено 
    30
    Поблагодарили
    26 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Cool

    Цитата Сообщение от axe_chita Посмотреть сообщение
    Из минусов, он не умеет создавать standalone приложения (COM программы СР/М и MSXDOS)
    Так ведь мне и нужен standalone исполняемый файл.
    ÷)

  9. #8

    Регистрация
    06.09.2025
    Адрес
    г. Киев, Украина
    Сообщений
    240
    Спасибо Благодарностей отдано 
    412
    Спасибо Благодарностей получено 
    30
    Поблагодарили
    26 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Есть ещё вариант MSXBas2Asm + Pasmo (portable Z80 cross assembler).
    Попробовал эту связку — результаты ни в виде COM-файлов, ни в виде картриджей ROM не запускаются.
    ÷)

  10. #9

    Регистрация
    15.06.2010
    Адрес
    г. Чита
    Сообщений
    65
    Спасибо Благодарностей отдано 
    110
    Спасибо Благодарностей получено 
    13
    Поблагодарили
    9 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от yevrowl Посмотреть сообщение
    Так ведь мне и нужен standalone исполняемый файл.
    А варианты с кросс-компиляцией не рассматриваются? Если рассматриваются, то тогда можно посмотреть на "великий и ужасный" ACK Amsterdam Compiler Kit, вроде там есть компилятор BASIC и есть целевая платформа СР/М

  11. #10

    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    1,681
    Спасибо Благодарностей отдано 
    2,709
    Спасибо Благодарностей получено 
    170
    Поблагодарили
    130 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от yevrowl Посмотреть сообщение
    Так ведь мне и нужен standalone исполняемый файл.
    Зачем Вам компилировать BASIC? Берите TinyContext. Генерит код для CP/M. И даже сам компиль работает под CP/M. Есть и кросс-компилятор под Win32.

    Единственная сложность - сделать обвязку, т.е. набор базовых процедур. Но если владеете платформой, это не проблема.

Страница 1 из 3 123 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 31
    Последнее: 10.09.2022, 14:22
  2. MSX BASIC — Промежуточный код
    от GreyWolf в разделе MSX
    Ответов: 7
    Последнее: 05.12.2019, 21:42
  3. Ответов: 30
    Последнее: 28.11.2017, 02:51
  4. Ответов: 0
    Последнее: 24.04.2017, 16:24
  5. Spectaculator - BASIC LLIST в текстовый файл
    от Gelip в разделе Эмуляторы
    Ответов: 3
    Последнее: 16.07.2011, 02:30

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •