Комментарии 14
Интересно, но читается с трудом :) Реквестирую редактуру!
скорей всего он имеет адекватные значения только для аудио-сд
На PS1 очень много игр хранят музыку именно как аудио-сд.
А вообще для PS1 есть PSIO, не вы автор? ))
А вообще для PS1 есть PSIO, не вы автор? ))
Нет там автор не я и там другой принцип работы.
Автор PSIO - Sybdyn. Это и на сайте указано
Странно, я всегда ожидал, что эмулятор привода на PS1 работал бы на уровне подмены дисковых процедур BIOS, а не на физическом уровне самого привода. Но так даже круче.
Кстати а есть ссылка на демонстрацию?
Нашёл: https://mobile.twitter.com/_ramapcsx2/status/1508835394489655297
Одной из основных трудностей автор называет моделирование поведения привода для «угадывания» запрашиваемой позиции. Примерно представляю трудности - управление ориентируется на обратную связь, при промахе выдаёт воздействия пропорционально величине промаха, если модель откликается не так как родная механика - всё это запросто уйдёт в осцилляции.
управление ориентируется на обратную связь, при промахе выдаёт воздействия пропорционально величине промаха
Вообще насколько я понял принципы позиционирования. То там всё немного не так. Учитывая что в механике грубого позиционирования стоит обычный коллекторный двигатель. То о точности речи не идёт, пылинка попала, смазка загустела итд. В целом это заслуживает отдельной статьи но надо таки изготовить плату с CXD2545 и обвязкой чтобы наглядно это показать.
Насколько я понял всё это. Если кратко, то на диске трек идёт по спирали, между дугами спирали, лежат куски равномерного отражающие(без разметки). Луч когда движется просто поперек диска, неминуемо натыкается на эти промежутки. И чип считает сколько их прошло, в зависимости от этого понимает нужно ехать дальше или нет. Там конечно есть обработка инерции головки(об этом наверно в 3 части) но она достаточно примитивна сделана.
Ну и по сути обратная связь это субканальные данные. Когда приводу надо сдвинуть головку далеко от текущей позиции, он двигает её на примерно нужное количество треков, потом пробует читать сектор, смотрит как точно попал, и потом уже к нужному сектору идет короткими шажками.
А вот то что по идее этому чипу нужно достаточно точная частота сигнала, и он как раз таки через PWM точно пытается подстроить скорость диска, может стать куда большей проблемой ИМХО. Чтобы сказать точней надо ставить много экспериментов.
Ну это уже вообще крутизна несусветная.
Да, прикольная тема
Читал и удивлялся твоему энтузиазму
Эмулятор CD-Rom для SonyPlaystation который я писал больше десяти лет. Часть 1