Доброго времени !
Нашел странный момент, на моей БК демка mx запускается очень изредка, и в основном на холодном компе, через например минут 10 после включения - не запускается, просто после G сразу говорит 001012 и снова показывает приглашение монитора, это если пытаться запустить на БК0011 или БК0011М, если пытаться запустить на БК0010 - то ничего не говорит, просто сразу после S показывает приглашение монитора "?".
Уточню, что так происходит на реальной БК0011 переделанной под БК0011М - с прошивками, от БК0010, БК0011 и БК0011М. Что то с железкой мне кажется. в 1006 - 1020 находятся следующие инструкции: 016701 172441 016702 053064 006001 006102 или в мнемониках:
MOV 172441, R1
MOV 053064, R2
ROR R1
ROL R2
Что может происходить на уровне железа, портящее работу этих комманд ?
Когда mx запускается, она такую матрицу рисует в динамике:
Проверял все это и без ре-мулятора на живых ПЗУ с БК0011, и с загруженным дампом 10 монитора с кассеты, результат 1 в 1. Причем, это единственная программа которая себя так ведет...
А нет, еще 14colours, на холодную запускается, и работает минут 5 - 6 а потом начинает исходить артефактами..
Выглядит это вот так:
Но искажения могут быть разными, когда только начинаются, по приятнее, а это уже жесть, после пары часов работы.
Что может быть ?
- - - Добавлено - - -
В каких либо других программах проблем не замечено, все работает.. А нет, еще hny2020, как то не так работает.. Но я не видел программу на другой машине, по этому не знаю как она должна выглядеть в идеале.
Сейчас в коллекции:
Вектор 06Ц.01(Минск), Вектор 06Ц.01(Волжский), Вектор 06Ц.02(Кишенев), Агат 7, Агат 9, Электроника 0511 УКНЦ (СЭМЗ), Электроника 0511 УКНЦ (КВАНТ) Х2, Поиск-1.03 (VGA),Электроника БК-0011(10,11M) [3IN1], Корвет ПК8010, Партнер 01.01, Спектр-001, БАЙТ(БПО_СВТ), Волна 48, Ленинград 48, Веста 30, Компакт 256(новодел),
и ... Pentium 200 mmx, 386SX-16, AMD K6-300 ...
Вы немного неправильно дизассемблировали.
Останов на адресе 1012 происходит потому, что по адресу 173453 ничего нету. На БК 0010-01, там ПЗУ бейсика, на БК 0010 с фокалом, там ПЗУ МСТД, на БК 11(М) там обычно ничего нет, или если есть внешние устройства: или ОЗУ СМК или ПЗУ МСТД.Код:1006 016701 MOV 173453,R1 1010 172441 1012 016702 MOV 054102,R2 1014 053064 1016 006001 ROR R1 1020 006102 ROL R2
Остаётся непонятным, а с чего это вдруг нахолодную оно работает? откуда на холодной машине по адресу 173453 что-то берётся?
На самом деле, код должен быть такой:
Здесь задаются начальные значения для генератора псевдослучайных чисел.Код:MOV #173453,R1 MOV #54102,R2
Но из-за опечатки в исходнике числа превратились в адреса (смещения). А по этим адресам, как заметил gid, на голой БК ничего нет.
Поэтому рекомендую скачать исходник, исправить опечатку и скомпилировать заново: https://www.pouet.net/prod.php?which=84510
manwe.pdp-11.ru
Возможно я предположил что на холодную, может что то запускалось перед программой, а может наоборот, ничего не запускалось, вот и предположил, что на холодную.... Просто по аналогии с 14colours предположил, что на холодную, потому что несколько раз запускалась программа, когда пробовал на БК10 - там работала всегда, а на железке БК0011М - иногда запускалась, но чаше выкидывало.
- - - Добавлено - - -
ТОгда все понятно, на БК0010 по этим адресам бейсик сидел, и там как то так совпало, что все работало. Сейчас у меня нет 10-01 с бейсиком, есть с фокалом. Ну и еще, подтверждается тем, что на разных конфигах с мстд, без мстд, на 11 или 11м - ведет себя по разному, где то 1012 пишет, где то виснет, когда запускаю под 0011 с МСТД - даже первые несколько строчек матрицы показывает, а потом темный экран... Спасибо, перекомпилю код и напишу.
- - - Добавлено - - -
Хотя в целом, я не компилил сам код этой демки, от куда то из инета взял..
- - - Добавлено - - -
Вот как раз от сюда я и брал бинарник, месяца 3 - 4 назад, это как раз результат его работы.
Наверное я просто не правильно написал адреса, переписал их просто от сюда: "1006 - 1020 находятся следующие инструкции: 016701 172441 016702 053064 006001 006102" прям в восьмиричном формате...
Сейчас в коллекции:
Вектор 06Ц.01(Минск), Вектор 06Ц.01(Волжский), Вектор 06Ц.02(Кишенев), Агат 7, Агат 9, Электроника 0511 УКНЦ (СЭМЗ), Электроника 0511 УКНЦ (КВАНТ) Х2, Поиск-1.03 (VGA),Электроника БК-0011(10,11M) [3IN1], Корвет ПК8010, Партнер 01.01, Спектр-001, БАЙТ(БПО_СВТ), Волна 48, Ленинград 48, Веста 30, Компакт 256(новодел),
и ... Pentium 200 mmx, 386SX-16, AMD K6-300 ...
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
14colours при каждом включении БК может давать чуть разную картинку - это зависит от того, сколько тактов прошло от старта процессора до запуска демки. Отрисовка одной строки на экране БК 0011М длится 384 такта, за это время исполняется 5 команд изменения палитры. Но кратность начала команды - 4 такта. Так что первая команда может прийтись не на самое начало строки, а немного позже или раньше. Поэтому при каждом запуске картинка отличается.
Перед демкой запускается операционная система, она ожидает действий пользователя, ответа дисковода - разное число инструкций проходит. Кроме того, в динамической памяти один и тот же тест давал мне такой разброс результатов (возможно, что на разных стадиях прогрева, а может быть и просто так):
458.7-448.0 CPU cycles
394.7-384.0 CPU cycles
Последний раз редактировалось Manwe; 20.06.2021 в 15:51.
manwe.pdp-11.ru
electroscat (20.06.2021)
Скачать можно здесь https://www.pouet.net/prod.php?which=89386
manwe.pdp-11.ru
Изменяется скорость выполнения инструкций процессором. Скорей всего, из-за прогрева меняется время отклика памяти, а это влияет на скорость выборки инструкций. Может быть старые конденсаторы как-то иначе себя ведут после прогрева (в схеме БК есть несколько аналоговых задержек цепочкой резистор-конденсатор).
У меня на одной БК 0011М такие же артефакты сразу на холодной машине. Но это особенный экземпляр с большой нагрузкой на шине (внутрь корпуса вставлен контроллер и физический HDD).
На другой машине (новодельная реплика БК 0011М) всё нормально и после включения, и по прошествии времени. Правда, я не пробовал ждать несколько часов. Потестирую.
manwe.pdp-11.ru
electroscat (30.07.2021)
Попробуйте исправленную версию в этом архиве, файл называется 13colours
manwe-14colours.zip
Я вчера полдня гонял тесты, прогревал две БКшки. Одна показывала нормально, но через полтора часа прогрева началась деградация изображения. Буквально каждые 5-10 минут ухудшалось так:
Вторая БКшка с самого начала неправильно показывала, и прогрев не повлиял.
В итоге я написал «13colours» с другим алгоритмом, отлично работает на первой БКшке и с эпизодическими артефактами на второй БКшке.
Последний раз редактировалось Manwe; 31.07.2021 в 14:39.
manwe.pdp-11.ru
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)