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

User Tag List

Страница 7 из 11 ПерваяПервая ... 34567891011 ПоследняяПоследняя
Показано с 61 по 70 из 104

Тема: Родословная бейсиков для 580ВМ80

  1. #61

    Регистрация
    10.07.2005
    Адрес
    Ставрополь
    Сообщений
    1,158
    Спасибо Благодарностей отдано 
    37
    Спасибо Благодарностей получено 
    61
    Поблагодарили
    34 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Курю его, курю... Да там не особо его разбирать, только найти обращения к портам в/в, остальное мелочи. Не без недостатков: нет плавающей запятой, нет функций... Обойтись можно, но вопрос об автозапуске остаётся...
    Последний раз редактировалось rw6hrm; 16.05.2019 в 14:05.

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

  3. #62

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

    По умолчанию

    Здесь (среди прочего) можно скачать исходник NASCOM бейсика, который является версией 4.7 микрософтовского бейсика. Это версия 8k, т.ч. вполне конкурентоспособна с советскими вариантами 3.2. Минус - нашел там несколько команд специфичных для z80 (три команды с IX, две команды djnz и один раз 16битный sbc), все это очень легко переделывается на 8080 (дольше и муторнее переделывать ввод и вывод). Плюс (кроме того, что это 4.7) - вызовы ряда подпрограмм, которые в 3.2 на rst здесь на call, что облегчает релоцирование. Исходник рассчитан на некий специфический асм (указан в заголовке), я его скачал, но не стал пробовать и перепилил на tasm.
    Еще очень бегло взглянул на апогеевский BASMSX.RKA. Это точно не 3.2, а 4.x или 5.x. MSXный - это вариант 5.x, но насчет этого апогеевского варианта не уверен, что там есть хоть что-то из msxного.
    Последний раз редактировалось ivagor; 26.05.2019 в 08:48.

  4. #63

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

    По умолчанию

    Нашел еще одно характерное отличие бейсика микрон в дополнение к ранее озвученному (1, 2). В таблице коэффициентов ряда для расчета синуса вместо пяти используемых зачем-то поместили семь коэффициентов (из которых два никогда не используются). И во всех портах микрона на другие компы их бездумно перетаскивали. Использовать для "детекта микрона" все же проще сигнатуру из процедуры INTFROMFLOAT, описанную по вышеприведенной ссылке.
    Признаюсь, что насчет рядов в микросфотовских бейсиках разобрался не на 100%. Для экспоненты и арктангенса используются коэффиценты ряда Маклорена. А вот для синуса и логарифма коэффициенты какие-то странноватые.

  5. #64

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

    По умолчанию

    Практически доразобрался с рядами.
    У синуса коэффициенты умножены на 2*pi в соответствующей степени. Меня сбило то, что микрософтовцы немного (на 5%, если за 100% принять зануление) ошиблись с последним коэффициентом. Но эта небольшая погрешность на практике совершенно незаметна, т.к. даже если взять и занулить 5й коэффициент, то ошибка будет только вблизи аргументов +-pi/2 и +-3pi/2 (с периодом 2*pi) и это будет очень-очень маленькая ошибка. Поэтому микрософтовцы не поправили пятый коэффициент для расчета синуса даже в последних (5.x) версиях своих бейсиков для 8080.
    Для логарифма ряд считает некий промежуточный результат.
    Последний раз редактировалось ivagor; 27.05.2019 в 20:14. Причина: чуть корректнее написал насчет "критичных" значений аргумента sin и убрал насчет ln(x)

  6. #65

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

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Меня сбило то, что микрософтовцы немного (на 5%, если за 100% принять зануление) ошиблись с последним коэффициентом. Но эта небольшая погрешность на практике совершенно незаметна, т.к. даже если взять и занулить 5й коэффициент, то ошибка будет только вблизи аргументов +-pi/2 и +-3pi/2 (с периодом 2*pi) и это будет очень-очень маленькая ошибка. Поэтому микрософтовцы не поправили пятый коэффициент для расчета синуса даже в последних (5.x) версиях своих бейсиков для 8080.
    При более тщательной проверке оказалось, что именно "неправильный" пятый коэффициент дает максимальную точность расчета синуса (разница очень-очень маленькая, но все же есть). Получается микрософтовцы совершенно оправданно использовали именно его. Осталось понять - почему так.

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

    Единственное объяснение, которое смог придумать - это коррекция коэффициента для учета ограниченной точности представления чисел. Представление нормального коэффициента вылезает в следующий старший бит мантиссы, а микрософтовский вариант почти на границе. Можно даже чуть увеличить этот коэффициент, главное не переходить к задействованию следующего бита мантиссы, и тогда результаты тоже получаются неотличимо точные. Именно пятый коэффициент подвергся коррекции скорее всего из-за того, что он перед минимальным по модулю значением степени аргумента, в других коэффициентах точности хватает (для правильного вычисления произведения коэффициента на степень аргумента).
    Последний раз редактировалось ivagor; 27.05.2019 в 22:01.

  7. #66
    zx_
    Гость

    По умолчанию

    в копилку свеженький
    https://github.com/dimitrit/tastybasic

    Tasty Basic

  8. #67

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

    По умолчанию

    Нашел, откуда взяли коэффициенты для разложения синуса в ряд в микрософтовском бейсике. Книга Computer Apporoximations, J. Hart и другие (1968). Страница 238, набор SIN 3341, только в книге и в бейсике разное масштабирование аргумента и, соответственно, коэффициентов (в книге соответствуют аргументу деленному на pi/2, а в бейсике - на 2pi). Со своей колокольни я бы трактовал использованный подход как умножение на оконную функцию при усечении бесконечного ряда (должен был и сам догадаться). Вместо умножения на прямоугольную оконную функцию (т.е. часть коэффициентов берем с множителем 1, а остальные с множителем 0, т.е. отбрасываем) здесь используется более плавная и больше всего изменяются коэффициенты на границе, в данном случае пятый. В книжке можно увидеть, что в других наборах для синуса с большим или меньшим числом коэффициентов тоже сильнее всего "страдают" именно конечные.
    Насчет логарифма. В последних микрософтовских бейсиках для 8080 точно используются коэффициенты из Харта, но там изменили алгоритм. Скорее всего в бейсиках <=5.0 тоже из Харта, только надо найти тот самый набор. Кстати побочный эффект разбирательства с алгоритмом - удостоверился, что корветовский бейсик на базе не последних версий микрософтовского.

    Цитата Сообщение от zx_ Посмотреть сообщение
    Tasty Basic
    Варианты Tiny Basica - это хорошо, но слишком уж он простой.
    Последний раз редактировалось ivagor; 28.05.2019 в 06:49.

  9. #68
    zx_
    Гость

    По умолчанию

    https://sourceforge.net/projects/msxsyssrc/
    не смотрел , чтото msx

    microsoft basic-80 5.2 source code
    http://lahey.winworldpc.com/Microsof....2%20Source.7z

  10. #69

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

    По умолчанию

    О, за msxный большое спасибо, а тот что (предположительно, т.к. скачать оттуда не смог) по второй ссылке я уже скачал в декабре прошлого года. Из исходника basic-80 я как раз и вышел на книгу Харта. В этом исходнике отдельно доставляют восьмеричные числа.

  11. #70
    zx_
    Гость

    По умолчанию

    ivagor, ждем msx бейсик для вектора


    вот тут
    https://winworldpc.com/download/c2bf...0-11c3a7c29d25

    Microsoft Basic-80 5.2 Source
    Последний раз редактировалось zx_; 28.05.2019 в 12:09.

Страница 7 из 11 ПерваяПервая ... 34567891011 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 54
    Последнее: 17.12.2018, 01:35
  2. родословная Спека
    от AM в разделе Несортированное железо
    Ответов: 85
    Последнее: 13.10.2016, 00:33

Ваши права

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