А вообще для любого Бейсика под Вектор-06ц компиляторы существуют?
Вид для печати
Специально для векторовских бейсиков нет, только общеCP/Mные.
Вектор с оговорками можно считать CP/M-совместимой машиной.
Поэтому если программа не рисует вектор-специфическую графику вектор-специфическими средствами, то Вы можете получить COM-файл для МикроДОС или CP/M-80 из любого CP/M-компилятора.
Самый производительный и удобный компилятор Бейсика для CP/M который нашёл это C-Basic от Digital Research. Если не трогать операторы касающиеся графики, графических режимов и некоторые дисковые функции, то всё остальное в нём работает. ESC-последовательностями на экран рисует с достаточно приемлимой скоростью, даже конкурирует с CP/M-ассемблерами (если говорить про вывод через BDOS и всякие драйвера). По сравнению с другими компиляторами Бейсика - просто пушка. Но, с какого-нибудь QBasic потребуется адаптация, конечно. Есть своя специфика.
Скорость зависит от задачи. Например плавучка в CBasic только двойной точности, соответственно чудовищно медленная. Мандельброта считает в 4 раза медленнее, чем BASCOM с одинарной точностью. Нельзя назвать такое сравнение вполне корректным, это скорее говорит о том, что CBasic для некоторых задач совсем не подходит.
Наверняка. Но если честно, то мне нечасто приходится считать Мандельброта и выполнять вычисления с плавающей запятой в программах на 8-битных компьютерах. ;)
Обычно используются целочисленные вычисления и самые простые сравнения. Всё более серьёзное считается на ББ и сводится в таблицы.
На мой взгляд, где-то 2275+ адвентюр для CP/M ждут своего часа для переноса под МикроДОС (адаптация, русификация и т.д.).
Причём скомпилированные в Bascom они будут тормозить больше, есть тесты:
https://zx-pk.ru/attachment.php?attachmentid=82983
Прошу прощения, ошибся, Мандельброт в 2.5 раза медленнее, не в 4.
И попробовал целочисленные переменные. Область C000-DFFF CBasic заполняет нулями примерно в 1.5 раза медленнее, чем bascom.
- - - Добавлено - - -
На всякий случай приведу версию компилятора, может есть новее:
CBASIC Compiler CB-80 21 May 83 Version 2.0
У меня точно такая же. В предыдущем посте добавил выжимку из вот этой простыни.
На самом деле я адаптировал пять игр разного размера под CBasic. Сказать что вообще не тормозят нельзя, но по крайней мере компиляции из их оригинальных бейсиков тормозят ещё больше (под эмулятором Вектора, 3МГц). Так что, пусть косвенно, но тесты гражданина davidly могу подтвердить. :)
Попробовал SIEVE.BAS из репозитория davidly. Увеличил число итераций до 100, чтобы время инициализации меньше влияло.
cbasic 2.0 - 296 секунд
bascom 5.3 - 335.5 секунд
Запускал в старом микродосе, в новых досах можно получить абсолютные цифры поменьше, но тут интереснее соотношение.
Для меня результат неожиданный, надо будет присмотреться к cbasic (для целочисленных программ), понять, где он быстрее bascom.
Проверил в цикле сложение и умножение целых. CBasic быстрее в сложении в 1.24 раза, в умножении в 2.7 раза! Полез смотреть, в cbasic процедура умножения развернутая, а в bascom цикл+тупизна. Впечатлен, но конечно cbasic более поздний и к тому времени было видно по крайней мере часть позиций, где можно обойти bascom. Очень жаль, что в cbasic нет одинарной плавучки.
Деление целых в cbasic у меня получилось в полтора с лишним раза быстрее, чем в bascom. С учетом сложения и умножения получается, что базовая целочисленная арифметика в cbasic быстрее bascom.