ivagor, /* Больше и удачнее остальных операций (практически без увеличения размера) ускорилось деление. Очень не хватает команд и регистров более развитых процессоров.*/
может версию под z80, ускоренную
или на 8085
ivagor, /* Больше и удачнее остальных операций (практически без увеличения размера) ускорилось деление. Очень не хватает команд и регистров более развитых процессоров.*/
может версию под z80, ускоренную
или на 8085
Последний раз редактировалось zx_; 21.06.2019 в 22:30.
С одной стороны было бы здорово оптимизировать все программы под каждый околовекторовский проц. Но на практике мотивации на это не хватает. Бейсик для ВМ1 уже модифицировал, к нему вряд ли вернусь. Для ВМ85 делал версию 48k, там в основном менял функциональность, не оптимизировал, но уникальные команды 8085 немного использовал. z80 пока не трогал, поэтому модификация под него все еще интересна, но до сих пор не нашел хорошего транслятора мнемоник 8080->z80 (парой существующих пользовался, но они мне не очень понравились).
- - - Добавлено - - -
Взглянул GET и PUT. Проверка на область переменных только в GET, а в PUT можно использовать любой адрес. Получается даже в классическом 2.5 главное правильно сохранить картинку, а потом лучше загружать ее выше HIMEM и оттуда PUT.
ivagor, процессоры ладно, а вот компилятор бейсика ?
типа bascom
Это было бы очень здорово, но я не потяну. Или когда-нибудь, ближе к пенсии.
мож препроцессор какой, ну убрать лишнее из кода перед исполнением
типа http://noktosoft.megafolio.com/en/bpp.php
там и исходники
но эт сложный, может попроще
Было бы во что препроцессить. Сам я пробовал только микрософтовский BASCOM, компилирует очень медленно, но результат компиляции при использовании целых чисел весьма резвый. Но он штатными средствами не поддерживает ни векторовской графики ни звука. Не разбирался, как к скомпилированной программе стыковать кодовые процедуры, хотя наверняка это все возможно, а соответственно и графика со звуком. Но такой подход слишком своеобразный даже для меня.
Пара слов про символьные переменные.
1. Менеджер области символьных переменных, если его так можно назвать, не очень совершенен. Иногда он выдает "МАЛ БУФЕР ОШИБКА" в ситуациях, которые в принципе можно было бы разрешить мирным путем. Например
CLEAR 3
A$="1"
A$="2"
A$="3"
A$="4"
и т.д. нормально работает, а вот
CLEAR 3
A$="12"
A$="34"
будет ругаться и понятно, что это исправимая ситуация. Но эту штуку я править не буду, раз микрософтовцы не захотели, то я и подавно.
2. При задании символьных переменных закрывающая кавычка не обязательна (можно сэкономить один байт).
A$="12
Пара слов про оптимизацию процедур умножения и деления. Оказалось, что в домикронных бейсиках были процедурки побыстрее с самомодифицирующимся кодом (для клонов вектора из этой серии, например, бейсик для старта 1200). Но внимательный человек, который сравнит домикронный и мой варианты оптимизации, убедится, что я не списывал, а выдумывал свой велосипед. Умножение сильно отличается, деление не так сильно, но все же отличается. Ставлю на то, что мои варианты чуть быстрее, может когда-нибудь измерю насколько.
Последний раз редактировалось ivagor; 18.07.2019 в 20:49. Причина: исправил орфографическую ошибку
В комплекте emu (вроде и не только emu, но я сейчас в других не проверял) конфиг вектора с z80 комплектуется 32 Кб загрузчиком с хакнутым бейсиком. Хакул его вроде Vadik, но сейчас я уже не уверен. Проблема в том, что хаки там не вполне корректные.
1. Может пропустить явную ошибку
2. Может найти ошибку там, где ее нетКод:10 A="1"
3. Кое-что может неправильно вычислитьКод:10 A=1 20 PRINT A-2
Бейсики из этой темы, например 2.60 или более ранний в картотеке (обычный, дисковый) работают без ошибок.Код:PRINT SGN(-1)
Надо бы пересобрать 32 Кб загрузчик.
Последний раз редактировалось ivagor; 24.07.2019 в 20:02. Причина: добавил еще один пример
Странно, но я не смог увидеть ни одной ошибки. Проверял в загрузчике который лежит в VV.
Здесь можно скачать актуальные версии Virtual Vector (VV)
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)