User Tag List

Страница 57 из 57 ПерваяПервая ... 5354555657
Показано с 561 по 566 из 566

Тема: Бейсики для Вектора-06Ц и клонов

  1. #561
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,862
    Спасибо Благодарностей отдано 
    658
    Спасибо Благодарностей получено 
    1,853
    Поблагодарили
    1,058 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Пара слов про компилятор. Компилятор специально для 2.5+ скорее всего не будет написан никогда, но есть другой путь, чуть более реальный. Теоретически можно научить BASCOM переваривать векторовские программы. Для этого нужны 2 вещи:
    1. Ассемблерная библиотека для BASCOM с поддержкой графики и музыки.
    2. Препроцессор, который берет текстовый файл программы для 2.5 и меняет там графические и музыкальные операторы и функции на вызовы вышеупомянутой библиотеки.
    На оригинальность не претендую, просто надеюсь, что написанное подтолкнет кого-нибудь к практическим действиям в данном направлении (необязательно для вектора, для любого компа с 8080).

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

    KTSerg (09.05.2024), svofski (08.05.2024)

  3. #562
    Master Аватар для Improver
    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    982
    Спасибо Благодарностей отдано 
    441
    Спасибо Благодарностей получено 
    401
    Поблагодарили
    224 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Пример подобной конструкции, кмк: ЛС-Паскаль.
    Теоретически, можно даже написать некий конвертор из бейсика в p-код и использовать компилятор Паскаля.

  4. #563
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,862
    Спасибо Благодарностей отдано 
    658
    Спасибо Благодарностей получено 
    1,853
    Поблагодарили
    1,058 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Задачи могут быть разные, но для быстродействия конверсия в p-код ничего хорошего не даст. Вот если конвертировать бейсиковские исходники в паскалевские (или сишные) исходники и потом нормальным компилятором получать машинный код, то это другое дело. Это обобщение того, что я написал, просто конвертировать исходник 2.5 в BASCOM проще, чем в Паскаль или Си.

  5. #564
    Veteran
    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,658
    Спасибо Благодарностей отдано 
    226
    Спасибо Благодарностей получено 
    301
    Поблагодарили
    212 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    ...Теоретически можно научить BASCOM переваривать векторовские программы. Для этого нужны 2 вещи:
    1. Ассемблерная библиотека для BASCOM с поддержкой графики и музыки.
    ...
    Я думал, что "Драйверы устройств" - это ассемблерная библиотека графики, музыки и всего прочего.
    Или для BASCOM нужно что-то особенного?

  6. #565
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,862
    Спасибо Благодарностей отдано 
    658
    Спасибо Благодарностей получено 
    1,853
    Поблагодарили
    1,058 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Проблемы две:
    1. Драйверы устройств располагаются по тем же адресам, что и родная runtime библиотека BASCOM.
    2. Нужно так или иначе обеспечить интерфейс, чтобы из BASCOM можно было вызывать нужные процедуры.

  7. #566
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,862
    Спасибо Благодарностей отдано 
    658
    Спасибо Благодарностей получено 
    1,853
    Поблагодарили
    1,058 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Добавил CORPSE в свой набор бенчмарков, соответственно стал часто запускать и заметил, что изредка на экране появляются странные черточки. После этого можно много раз запускать и ничего не будет, а потом вдруг снова. Расследование показало, что опрос клавиатуры baskeysCorrected2 не полностью совместим с версиями бейсика начиная с 2.98 (особенности обработчика прерываний), извините. Проблема косметическая, бейсик не ломается, но все равно неприятно и так оставлять нельзя. Сделал новый вариант, который совместим со всей линейкой от 2.5 до 2.9+. Машиннокодовая процедура на 3 байта длиннее (стартовый адрес изменился!), а бейсиковский загрузчик оптимизировал, он компактнее. CORPSEfld доработал, но потенциальная проблема касается и других игрушек, например VITAMINO, поэтому надо или запускать их в бейсиках <2.98 или заменить процедуру опроса. Рекомендую все же заменить, в 2.98 много важных оптимизаций (по количеству и качеству изменений это скорее 3.0), предыдущие версии заметно медленнее. На примере CORPSE (время от RUN до строки 315, инициализация+заставка):
    2.891 - 59.6 секунды
    2.97fix - 45.6 секунды
    2.98fix/2.995 - 29.4 секунды
    CORPSEfld2:
    2.891 - 45.3 секунды
    2.97fix - 35.5 секунды
    2.98fix/2.995 - 19.5 секунды
    Скорость бейсика конечно сказывается не только на инициализации и рисовании уровня, но и на скорости движения героя и отзывчивости управления. С 2.5 не сравнил, т.к. в нем очень ограниченная поддержка шестнадцатеричных и пришлось бы дорабатывать CORPSE для совместимости. Смысла в такой доработке нет, даже в 2.891 слишком медленно, в 2.5 было бы просто невыносимо.
    Вложения Вложения

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

    Improver (17.05.2024), KTSerg (19.05.2024), metamorpho (17.05.2024), svofski (17.05.2024)

Страница 57 из 57 ПерваяПервая ... 5354555657

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

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

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

Похожие темы

  1. Картотека ПО для Вектора-06ц
    от svofski в разделе Вектор
    Ответов: 719
    Последнее: 04.04.2024, 11:13
  2. Восстановление Вектора-06ц
    от Daniil Chislov 86 в разделе Вектор
    Ответов: 100
    Последнее: 11.03.2021, 00:23
  3. Ответов: 198
    Последнее: 26.04.2020, 13:05
  4. Ответов: 58
    Последнее: 06.07.2019, 23:56
  5. Ответов: 8
    Последнее: 14.11.2008, 02:41

Ваши права

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