EdigE
← ЛЕНТА

RP2350B дал старому NES CD-привод через картридж и аудиовход

Компакт-диск под корпусом NES выглядит как анахронизм ровно до того момента, пока не становится понятна инженерная задача. У консоли 1983 года уже есть всё, за что можно зацепиться: картридж способен принести новую программу, expansion port умеет принять внешний звук, а современный флеш-картридж EverDrive N8 Pro получил USB. NESCD-001 собирает из этих разрозненных точек путь к оптическому носителю.

CD как загрузочный носитель для картриджа

В центре устройства стоит RP2350B. С одной стороны к нему подключён 40-контактный IDE/ATAPI CD-привод, с другой — EverDrive N8 Pro. Микроконтроллер читает с диска образ iNES ROM и отправляет его по USB в картридж, после чего программу исполняет уже обычный NES через EverDrive. Это важная граница архитектуры: CD здесь служит вместительным способом доставить игру в картридж, а игра не подгружается с диска во время работы, как на консолях эпохи Mega-CD или PlayStation.

Отдельная демонстрационная программа превращает связку в CD-плеер. Она пишет команды в небольшой mailbox внутри CHR RAM: запрос лежит по адресу $1FF8 страницы $1FF0. Прошивка RP2350B считывает эти байты и управляет приводом: запускает, ставит на паузу, останавливает дорожку, переключает треки и открывает лоток. Получается необычный договор между восьмибитной программой и внешним устройством: игра не видит IDE-шину и не должна знать протокол ATAPI, ей достаточно оставить короткую команду в памяти графического картриджа.

CHR RAM становится панелью управления приводом

Звук потребовал второго маршрута. Передавать CD-аудио через USB в EverDrive автор не стал: доступной пропускной способности для этого тракта не хватило. Вместо этого RP2350B выводит поток 44.1 кГц по I²S на ЦАП PCM5102. В исходниках видны PIO, двойная DMA-буферизация и обработчик завершения DMA. Аналоговый выход PCM5102 приходит в штатный audio mix input expansion port NES, где смешивается со звуком самой консоли. Для слушателя CD играет из NES; для железа это отдельный внешний аудиоканал, предусмотренный расширениями задолго до появления этой надстройки.

ThroatyMumbo

Цифровой поток обходит картридж и входит в аналоговый микшер

Такой мост заставляет уважать старые интерфейсы. Картриджный разъём остался местом запуска кода, CHR RAM стала командной тетрадью, аудиовход сохранил роль аналоговой двери в микшер. RP2350B не пытается эмулировать всю CD-консоль и не встраивается в шину 6502. Он берёт на себя три чужих друг другу языка — IDE, USB и I²S — и оставляет NES ровно ту работу, которую он умеет делать.

У проекта остаются жёсткие бытовые края. Нет опубликованных замеров времени загрузки, устойчивости с разными приводами, шумов аудиотракта и электромагнитной совместимости. Питание также требует аккуратности: CD-приводу нужны линии 5 и 12 В, а автор описывает вариант с Molex-адаптером и понижающим преобразователем для NES. FMV из демонстрационных материалов воспроизвести по открытым файлам нельзя: соответствующий код не опубликован. Зато схемы, PCB, прошивка, STL-корпус, утилиты и исходники CD-плеера доступны под MIT.

Открытый проект с вполне реальными границами