Смутно помню когда налаживал ZX Spectrum'ы одним из последних этапов был запуск Speccy без ПЗУ. При этом на экране отображались повторяющиеся полосы, которые ни с чем не спутаешь (изображение не нашел в Инете). И еще важный момент эти полосы могли в случайном порядке меняться местами при сбросе, но были только двух видов.
Еще тогда задумывался: "Как же они образовываются"?, и не находил ответа. Пробую сейчас разобраться: все равно что-то другое получается явно ошибочное. Вот смотрите:
- Нажимаем мы сброс, Z80 обнуляет все регистры и считывает с 0 адреса регистра команд команду #FF которая "висит" на пустой шине данных;
- Это команда RST #38 (RST это сокращенное RESTART) аналогична CALL #38 только однобайтовая;
- По ней мы обращаемся к адресу #0038 и считываем команду оттуда, там опять #FF, таким образом входим в вечный цикл, при этом стек будет сохраняться вплоть до 0 и потом "все опять повторится сначала...";
- Таким образом у нас в оперативке, в том числе и в видео области будет повторяющееся число #0038.
Рассуждения правильные или нет?
Но откуда взяться случайному переходу в два вида?