❌

Reading view

Компьютер из пластмассы и пружинок: оцифровал руководство к «Детской логической машине» 1987 года и нашёл в нём ошибки

В феврале 1988 года мне, десятилетнему, купили «Детскую логическую машину». Хотя на коробке указан возраст: от 13 до 15 лет. В ней нет ни транзисторов, ни реле, ни микросхем, а только пластмассовые планки, штеккеры, пружинные контакты и четыре лампочки. И конечно батарейки.

При этом её можно программировать. Времена были такие, и мы кодили на чём могли.

Машина до нашего времени не дожила, поскольку в те годы я не только программировал, но и тестировал. Причём тестировал не всегда именно код. Да все так делали. А вот брошюра сохранилась в пыльных закромах антресолей, как напоминание о моих первых экспериментах в машинную логику.

Полного текста этого руководства на просторах интернета (где по определению есть вообще всё) не обнаружилось ни мною, ни помощниками, ни шибко умными нейросетями. Видимо, день такой. Ищутся фото коробок, пара страниц инструкции в разных статьях, но не сам документ. Возможно, ДЛМ не снискала популярности или мало кто успел подержать её в руках и поклацать переключателями, любуясь на лампочки за цветными стёклышками, или это какой-то неизвестный мне заговор?

В общем, дело было вечером, делать было нечего. Так что коробку вытащил, пыль сдул, поднял старенький сканер обрядом некромантии, да и занялся оцифровкой. Это было долго, но вайбово. Не рекомендую. Текст набрал заново, а по рисункам программ сделал эмулятор в браузере и проверил все программы перебором.

Ну а что? Эмуляторы японских консолей в ассортименте, а вот чтобы наше советское, из пластика и лампочек - нету. Непорадок!

Читать далее
  •  

[Перевод] Эмулятор Game Boy Color на MicroPython: Pokémon Crystal на конференц-бейдже с RP2350

Стив Франсиа, автор Hugo и Cobra, после эмулятора NES запустил на конференц-бейдже GitHub Universe с RP2350 эмулятор Game Boy Color — на MicroPython с генератором кода Viper. Процессор SM83 с его восемью регистрами и 512 опкодами не влез в четыре быстрые локальные переменные Viper, и декодер пришлось строить на восьмеричной раскладке опкода. Ветвления по адресу заменила таблица из 16 страниц по 4 КБ, двухмегабайтные картриджи подгружаются по банку при первом обращении, а разгон до 300 МГц вешал общую шину QSPI. Плюс три бага из реальных игр: окно диалога в Oracle of Ages, «вывернутый» Линк в режиме двойной скорости и указатель стека, который Pokémon Crystal направляет прямо в ROM.

Читать далее
  •  
❌