«МК-61» и случайные числа

Один из досадных инженерных промахов «Электроники МК-61» — генератор случайных чисел. Он даёт очень плохой разброс и выдаёт одно и то же число после взятия целой части. Но самое обидное — при включении устройства генератор всегда стартует с одного и того же значения, что делает игры, в которых он используется, отчасти предсказуемыми.

На дисплее калькулятора «ЭЛЕКТРОНИКА МК 61» отображается число 4.04067 -01, видны переключатели «Вкл», «ГРД» и кнопки с обозначениями функций.
На старте генератор случайных чисел на реальном калькуляторе всегда выводит одно и то же число

Меня, если честно, это давно расстраивает, но я как-то не подумал о том, что это можно исправить в ретроконсоли «MK61s». Сегодня меня этой мыслью осенило и я решил посоветоваться с одним из разработчиков этой ретроконсоли на предмет того где в ретроконсоли можно было бы наскрести энтропии.

В итоге мы решили брать шум с нескольких пинов, плюс замерять задержки между нажатиями и коды нажатых пользователем клавиш. В настройках появилось управление генератором случайных чисел — режим совместимости и новый режим, перехватывающий команду К СЧ калькулятора и подсовывающий ему значение из нового генератора.

Распределение сильно лучше: на десяти тысячах запусков старый генератор дал 179 случайных значений, а новый — 9957.

Комментарии 6

Evgeny Sureev № 1
Как много полезной памяти обычно уходило на обход плохого разброса генератора?
SiMMmr E16/NR04δ13 № 2
а как это вообще было разрешимо? разве что попросить пользователя ввести что-то случайное
Евгений Степанищев автор № 3
в калькуляторе?

так не все дефекты можно было починить. первый старт всегда с одного и того же значения не обойти вообще, разве что придумать что-то такое, что заставило пользователя вводить случайные значения, а это сделать, органично вписав такое требование в игровой процесс, — очень тяжело.
Evgeny Sureev № 4
Получается, все страдали?
Евгений Степанищев автор № 5
Все страдали априори ) это же «МК-61» ) Сложностей там хватает ) Но многие сложности развивали мозг и воображение.