Цитата Сообщение от vladtru Посмотреть сообщение
чтение из видеопамяти – редчайшая операция
Вообще-то любой вывод графики в ПК 70-80 годов (в том числе из Бейсика) сопровождается чтением видеопамяти: сначала читается байт, затем в нём меняются биты, соответствующие нужному пикселу, а потом результат пишется обратно. Это только на "Корвете" можно обойтись без чтения, да на EGA адаптерах. Прокрутка экрана также без чтения невозможна (если нет аппаратной поддержки, как в "Океане-240").


Цитата Сообщение от vladtru Посмотреть сообщение
выходит, что при отключенном видеоконтроллере Бейсик С128 работает на 2/3 быстрее Бейсика С64 (а в ВМ8 - почти в 2 раза). То есть, как и у С264, проблема в основном вовсе не в "переключении страниц", а в элементарном торможении процессора видеочипом
То есть BM8 имеет 20% отличия при всех остальных равных условиях (тот же процессор, Бейсик из того же семейства, выключенный видеоконтроллер)?
Это довольно много. Я бы не стал списывать переключение страниц со счетов. Интерпретатор постоянно обращается как к тексту программы, так и к служебным областям, и с переключением страниц его работа заметно усложняется. Раз под программу на Бейсике отведено 60К, то интерпретатору остается кусочек в 4К. Этот кусочек мало чего может сделать сам, поэтому для обработки каждого токена нужно переключить страницы и вызвать основную часть интерпретатора. У каждого оператора есть параметры, чтобы слазить за ними в текст программы тоже нужно "пощелкать" страницами. Параметры могут ссылаться на переменные или массивы и чтобы обратиться к ним опять нужно "щелкать" страницами. То же самое с поиском номеров строк для циклов или переходов.