User Tag List

Показано с 1 по 10 из 697

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

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #11

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

    По умолчанию

    Ускорил умножение, некоторые околоматематические процедурки и чуть-чуть FOR..NEXT/RETURN. Без упаковки сократил пару байт, а упакованный короче на 18. На глаз практически незаметно, но преодолен важный для меня рубеж - 2.81 обогнал пзушный бейсик 6128 во всех используемых мною тестах, математика держалась до последнего. Т.е. даже там, где эффект оптимизации минимален, он превысил разницу между 8080 и 8085 с учетом векторовского торможения.

    Upd 04.05.2023. Заметно ускорил эллипсы и LINE BF/BS, немного быстрее стали paint, дуги, круги, вывод символов и деление, еще несколько мелких оптимизаций. Доработал PAUSE - теперь дает практически одинаковую задержку на всех типах процессоров. При рисовании "обратных" (от большего к меньшему) дуг использовалась стековая процедура обмена слов временно запрещавшая прерывания. На мой взгляд это было совершенно излишне, переделал без стека и без запрета прерываний. Эллипсы отмечу особо - они на 35-40% быстрее 2.5 или на 30-35% относительно 2.81.
    Упакованный 2.82 на 49(!) байт короче 2.81 за счет оптимизации и бейсика и инициализатора распаковки. Если не блюсти размер, то можно еще ускорить умножение, деление и некоторые другие вещи, но ускорение будет не таким уж большим, решил лучше соблюдать культуру веса.

    Upd 07.05.2023.
    Исправил ошибку в SCREEN4 (скорость обмена с магнитофоном) - было небольшое отклонение от 2.5. В самооправдание скажу, что я не один такой ошибавшийся, в дизассемблере Филиппова и в бейсике 6128 в SCREEN4 тоже ссылки вместо констант, но у себя я теперь исправил. Наверное многие знают, но на всякий случай отмечу - в описании бейсика ошибка, диапазон аргумента SCREEN4 от 40 до 255, не до 460.
    В 2.82 слегка поломал эллипсы очень сильно сплюснутые по горизонтали. Не то чтобы смертельно, но результат отличался от 2.5, исправил. Скорость не уменьшилась, даже немного увеличилась.
    Освободил сравнительно много места и смог вернуть обратно быстрый набор по УС+СС+буква. К сожалению пришлось убрать восьмеричные числа (их не было в оригинальном 2.5, появились в 2.61), надеюсь svofski не будет меня сильно ругать. В связи с возвращением быстрого набора бейсик опять разбух, но не до тех значений, которые были на момент его удаления (с тех пор многое оптимизировал по размеру): упакованный 2.72 - 12958 байт, 2.83 - 12855 байт. Интересный факт - salvador сжал на байт сильнее, чем zx0.
    Полностью переписал деление в плавучке, стало быстрее.

    Upd2 07.05.2023. В 2.84 вернул восьмеричные, доработал поддержку шестнадцатеричных и восьмеричных.

    Upd 11.05.2023: Переделал в компактную форму таблицу перекодирования в QWERTY (SCREEN5,1). Теперь POKE и PEEK не могут обращаться к этой таблице (диапазон 640-767). Вместе с несколькими другими оптимизациями освободилось место, что позволило ввести и новые и ранее отброшенные (из-за экономии памяти) улучшения:
    1. Оптимизированы PUT и GET. PUT на 17% быстрее 2.84 и на 36% быстрее 2.5.
    2. Немного ускорены: проверка следующего символа, умножение, сложение/вычитание и обработчик прерываний.
    В упакованном виде 2.85 на 34 байта короче 2.84.

    Upd 19.05.2023:
    1. Исправлена ошибка в оцифровщике номеров строк (появилась в 2.70) - в некоторых случаях оцифровщик мог пропустить и неправильно перевести в число слишком большие номера.
    2. Околоматематические микроускорения: сравнение, оцифровка номеров строк.

    Upd 20.05.2023:
    46. Исправил (ошибка появилась в 2.86) и ускорил ON.
    47. Добавил в инициализатор распаковщика очистку памяти программы.

    Upd 26.05.2023:
    48. Ускорены вывод символов, LINE BF/BS.
    49. Немного ускорены: сравнение чисел, обработчик прерываний, изменение цвета рисования точки.
    50. Исправлена ошибка разрешения доступа к плоскостям в PAINT при использовании знчений цвета заливки и бордюра с предыдущего вызова PAINT.

    Upd 08.06.2023:
    51. Оцифровщик номеров строк переведен обратно на "стандарт Microsoft" 0-65529 и ускорен.
    52. Вернул "старый" (новый был с 2.57) вариант обработки токенов при вводе символьных переменных в INPUT. Исправлено сообщение об ошибке при вводе неправильной строки в INPUT.
    53. Чуть ускорен пропуск конца строки.
    Вложения Вложения
    Последний раз редактировалось ivagor; 08.06.2023 в 18:18. Причина: заменил на 2.89

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

    Improver(29.04.2023), metamorpho(29.04.2023), Napoleon1(04.05.2023), nzeemin(04.05.2023), parallelno(29.04.2023), PPC(08.05.2023), Stl75(09.05.2023), svofski(29.04.2023), tnt23(04.05.2023)

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

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

Эту тему просматривают: 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

Ваши права

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