Уровень 26: Бросок кубика

Открыть уровень →Где это в машине →

Задание

Подключите LFSR (генератор случайных чисел) к шине данных через второй BusOR.

LFSR (Linear Feedback Shift Register) — генератор псевдослучайных чисел. Доступен через порт 250 (0xFA).

Главная идея уровня: случайность в машине не случайна: LFSR — регистр со сдвигом и обратной связью, серия чисел предсказуема и повторяется через огромный период. Второй BusOR добавляет на шину третий источник по правилу уровня 22.

Материалы по теме

Решение для самопроверки

Сначала попробуйте собрать схему сами. Решение ниже — способ свериться, если застряли или уже справились.

Каждый такт LFSR выдаёт новое 8-битное «случайное» число на шину данных, если: - IO_SEL = 1 (адрес в диапазоне I/O: 224–255) - DevAddr = 0x1A (26 = порт LFSR, 250 & 0x1F)

Задачи: 1. BusConstant = 2 → PC.Inc. 2. ROM#1 → RAM.Addr. 3. Подключите выход LFSR.Data к шине данных через второй BusOR: - Первый BusOR уже соединяет RAM (через BusAND) и Gamepad. - Второй BusOR (pre:BusOR#1) нужно соединить: выход первого BusOR → BusOR#1.A, LFSR.Data → BusOR#1.B. - Выход BusOR#1 должен идти к BusMUX (и далее к ALU8.B).

Теперь все три источника (RAM, Gamepad, LFSR) подключены к шине данных через AddrDecoder, и в каждый момент активен только один.

Схема решения уровня 26 — Бросок кубика
Авторское решение уровня 26 в симуляторе (тёмная тема)