User Tag List

Страница 28 из 70 ПерваяПервая ... 242526272829303132 ... ПоследняяПоследняя
Показано с 271 по 280 из 697

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

  1. #271

    Регистрация
    24.08.2012
    Адрес
    г. Волжский
    Сообщений
    458
    Спасибо Благодарностей отдано 
    792
    Спасибо Благодарностей получено 
    268
    Поблагодарили
    103 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от svofski Посмотреть сообщение
    По-моему Бейсик на ДВК-1 задавал в начале разные неудобные вопросы типа "НУЖНЫ ЛИ ВАМ РАСШИРЕННЫЕ ФУНКЦИИ?".
    А работать со строками он совсем не умел. Ты не ошибся с выбором платформы? =)))
    Непонял мысль про "ошибся с выбором платформы". Подозреваю я что-то недопонимаю в компиляции.

    Понимание и обработка компилятором строковых переменных и констант входит в основоное ядро кода - и из него ничего
    отключить нельзя. А вот строковые функции, о которых я написал, это имеется ввиду функция MID, RIGHT, STR, LEFT и
    др. - вот эти функции подключаются только если они нужны.

    Мой компилятор-чудо-Бейсик не будет задавать вопросов как на ДВК-1

    Конечно возможно я не совсем понимаю внутренности процесса компиляции, но вот как в общих чертах мне
    представляется этот процесс на реальном Векторе:
    - набираем и записываем в файл код программы как в обычном Бейсике (здесь всё происходит в текстовом редакторе с
    некоторыми удобными настройками и подсветкой операторов и т.п.)
    - далее запускаем с диска компилятор, который анализирует наш код. Компилятор выявляет все операторы и функции,
    которые использует наша программа. Далее компилятор загружает с диска нужные модули (код отдельных функций и
    операторов, либо другой вариант - по очереди загружает соответсвующие библиотеки - например библиотека строковых
    функций или библиотека работы с графикой - и уже в библиотеке находит нужный код и вставляет его в память или в
    темп-файл) и в итоге компилятор собирает все модули, которые используются в нашей программе. Далее в программу
    вставляются адреса вызовов функций (с входными и выходными параметрами если нужно).
    - далее формируется выходной файл ROM или COM (а ещё можно сделать фишку EXE файл, чтобы запускалось на PC -
    тогда будет ретро игра сразу на двух платформах - со всеми пользами и интересностями)

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

  3. #272

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,299
    Спасибо Благодарностей отдано 
    1,028
    Спасибо Благодарностей получено 
    813
    Поблагодарили
    484 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Про выбор платформы была шутка. Бейсик на ДВК-1 был хтоническим спавном какой-то одной из древнейших версий Бейсика, которая не далеко ушла от калькулятора.

    Что до остального, все это, включая компиляцию в x86, ACK уже предположительно (*) умеет. Отличие только в каких-то деталях синтаксиса и в том, что для Вектора нужно сделать библиотеку. Можно приделать свою в нужном объеме.

    *) Предположительно, потому что что-то существенное я им компилировал и запускал только на языке Си. Но пробную программу на Бейсике типа Хелло вродл тоже собрал и работает.

    **) Повторюсь, что в случае кросс-компиляции мне остается непонятным выбор языка. Зачем истязать себя Бейсиком, если при этом не сохраняется его основная ламповая фича -- спонтанность и интерактивность? Если сбросить с себя оковы бейсика, открывается путь еще к z88dk.
    Больше игр нет

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

    metamorpho(12.04.2023), Oleg N. Cher(13.04.2023)

  4. #273

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,299
    Спасибо Благодарностей отдано 
    1,028
    Спасибо Благодарностей получено 
    813
    Поблагодарили
    484 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Функция INT() для меня загадка:
    Код:
    =>
    PRINTINT(1.5E33)
     1.5E+33
    
    =>
    PRINTINT(5.7)
     5
    
    =>
    PRINTINT(-5.7)
    -6
    С обычными числами он ведет себя как floor(). Странно для отрицательных чисел, но работает как обещано, что ж поделать. А если число с порядком, то типа сам дурак? Как быть?
    Больше игр нет

  5. #274

    Регистрация
    05.08.2008
    Адрес
    Магнитогорск
    Сообщений
    989
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    96
    Поблагодарили
    46 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от svofski Посмотреть сообщение
    Функция INT() для меня загадка:
    Код:
    =>
    PRINTINT(1.5E33)
     1.5E+33
    
    =>
    PRINTINT(5.7)
     5
    
    =>
    PRINTINT(-5.7)
    -6
    С обычными числами он ведет себя как floor(). Странно для отрицательных чисел, но работает как обещано, что ж поделать. А если число с порядком, то типа сам дурак? Как быть?
    а что не так? 1.5х10^33 это же целое число.
    Здесь можно скачать актуальные версии Virtual Vector (VV)

  6. #275

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,299
    Спасибо Благодарностей отдано 
    1,028
    Спасибо Благодарностей получено 
    813
    Поблагодарили
    484 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Ramiros Посмотреть сообщение
    а что не так? 1.5х10^33 это же целое число.
    Да, так все и объясняется. Просто я когда думаю "целое", мне представляется целое, которое помещается в переменную целого типа. Которого кроме всего прочего в этом Бейсике и нет.
    Больше игр нет

  7. #276

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,391
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Еще поускорял где смог, перечень оптимизаций в readme

    - - - Добавлено - - -

    Забыл в начале readme исправить номер на 2.71, менять архив из-за такой мелочи не буду, там дальше все правильно.
    Вложения Вложения

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

    Improver(14.04.2023), metamorpho(13.04.2023), PPC(14.04.2023), svofski(13.04.2023)

  8. #277

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,299
    Спасибо Благодарностей отдано 
    1,028
    Спасибо Благодарностей получено 
    813
    Поблагодарили
    484 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Слова про z88dk я пожалуй беру обратно. Компилятор глючный как чорт.
    Больше игр нет

  9. #278

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,391
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Да, глюков там полно, но если не портировать готовые программы, а писать с нуля, то глюки можно обходить. Это неудобно и неприятно, но скорость откомпилированных программ сравнительно хорошая и даже есть пара библиотек плавучки. SDCC лучше, но ему нужен z80 и искаропки он не знает про вектор (что решаемо).

    - - - Добавлено - - -

    оффтоп про Си


    Прошу прощения за повторение, вроде уже писал, но тут наверно к месту. Когда портировал jpeg, то В КАЖДОМ из 3х попробованных компиляторов обнаружились баги, причем разные. Самый правильный - zpu8080, там был виноват я сам, ошибся в библиотеке. Замечательно, но медленно. Ошибку в SDCC я обошел, а через некоторое время ее исправили, супер, если бы не z80. И только z88dk никто на тему бага не думал править, скорее всего он до сих пор есть. C другой стороны, когда писал в z88dk маленькие тестовые программки, то все было нормально. А вот когда пробовал рейкастер с плавучкой и текстурами, вот там опять полезли иррациональные глюки, которые более-менее решились только когда стала доступна другая (микрософтовская) библиотека плавучки. С "любительскими" компиляторами для не самых популярных ретроплатформ все непросто.
    [свернуть]

  10. #279

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,299
    Спасибо Благодарностей отдано 
    1,028
    Спасибо Благодарностей получено 
    813
    Поблагодарили
    484 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    если не портировать готовые программы, а писать с нуля, то глюки можно обходить
    Это может быть так, когда глюки известные и стабильные. Тогда их можно принять как ограничения и с этим жить. Это не только для 8080 так бывает. Но когда один и тот же код в зависимости от вставленного где-то посередине printf(), или выбора опций, работает совершенно по разному, это получается совершенно невозможная путаница. Главное, что ты никогда не знаешь, исправят это в завтрашней версии, или испортят еще хуже. Я бы и рад помочь разработчикам хотя бы хорошим багрепортом, но глюки настолько эзотерические, что я не могу даже привести хороших тестовых примеров. Хотя вообще z88dk ценная вещь и наверняка когда-нибудь глючность его станет незначительной.

    Кстати о zpu8080, игру в стиле ANTIGRAV на нем наверное можно забацать и пошустрее, чем получилось на Бейсике. Но процесс разработки боюсь не для всех =)
    Больше игр нет

  11. #280

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,391
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от svofski Посмотреть сообщение
    Главное, что ты никогда не знаешь, исправят это в завтрашней версии, или испортят еще хуже.
    Вот того, что в z88dk что-то исправят я бы сильно не опасался, там, насколько могу судить, направленность на добавление фич (больше библиотек, больше платформ), а не на их отладку. Хотя я некоторое время не слежу, может ситуация поменялась.

    У zpu8080 сильные стороны: безглючность (особенно если сравнить с z88dk), современность (про z88dk молчу, SDCC получше, но GCC круче) и (надо же и себя похвалить) быстрая целочисленная арифметика. Основные минусы: невысокая скорость результирующих программ и сложность организации процесса разработки для непрограммистов типа меня. Есть еще нереализованная уникальная фича - теоретически можно переделать интерпретатор zpu для работы (например с квазом) с адресным пространством >64 Кб. Скорость это снизит, зато большие программы. Для игр все же zpu8080 мне кажется не очень пригоден, хотя может для текстовых.

Страница 28 из 70 ПерваяПервая ... 242526272829303132 ... ПоследняяПоследняя

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

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

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

Похожие темы

  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

Ваши права

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