Важная информация

User Tag List

Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 16

Тема: Переключение регистров в AY (выбор несуществующих регистров)

  1. #1
    Member Аватар для ARTi
    Регистрация
    06.05.2006
    Адрес
    Санкт-Петербург
    Сообщений
    127
    Благодарностей: 6
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Question Переключение регистров в AY (выбор несуществующих регистров)

    Всем здравия!

    Стал тут зырить навороты поверх и рядом с AY. Посмотрел схему Turbo Sound по NedoPC. Возникли вопросы:
    1) Насколько я понял, AY создавался исходя из функциональности и простоты, из-за чего, в частности, используется неполная дешифрация номера регистра по первым 4-м битам. Так ли это?
    2) По схеме NedoPC Turbo Sound не увидел блокировки выбора регистра AY в момент выбора одной из AY путем выбора несуществующего регистра. Если по 1-му вопросу ответ - да, то, получается, что одновременно с выбором одной из AY происходит выбор регистра 0x0E или 0x0F для одной из или даже обеих AY! Так ли это?
    3) Если по 2-му вопросу ответ - да, то успевает ли произойти выбор регистра в той AY, с которой производится переключение?
    Посмотрел в unreal - сделано по следующей схеме: 1) да, 2) да, 3) нет.

    А как на самом деле (в реальных AY, а кстати есть же еще и YM, и другие...)?

    Спасибо.
    Существование Интернета, бесспорно, спорно без порно (c)

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2
    Banned Аватар для Black_Cat
    Регистрация
    15.06.2006
    Адрес
    S.Pb
    Сообщений
    5,646
    Благодарностей: 231
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ARTi Посмотреть сообщение
    1) Насколько я понял, AY создавался исходя из функциональности и простоты, из-за чего, в частности, используется неполная дешифрация номера регистра по первым 4-м битам. Так ли это?
    Нет, все внутренние регистры адресуются по 8 битам

    Цитата Сообщение от ARTi Посмотреть сообщение
    2) По схеме NedoPC Turbo Sound не увидел блокировки выбора регистра AY в момент выбора одной из AY путем выбора несуществующего регистра. Если по 1-му вопросу ответ - да, то, получается, что одновременно с выбором одной из AY происходит выбор регистра 0x0E или 0x0F для одной из или даже обеих AY! Так ли это?
    нет, ты чёто не то понял, по умолчанию выбран AY0($FE), больше никаких умолчаний нет

  4. #3
    Member Аватар для ARTi
    Регистрация
    06.05.2006
    Адрес
    Санкт-Петербург
    Сообщений
    127
    Благодарностей: 6
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Black_Cat
    Нет, все внутренние регистры адресуются по 8 битам
    Почему тогда в популярном эмуле сделан выбор регистра лишь на основании младших 4-х бит? (у меня тоже пока так сделано, и думаю в других эмулях тоже).
    И если регистры адресуются по 8 битам, то что тогда читается из несуществующих? Или попытка выбора несуществующего регистра просто ничего не выбирает?

    Цитата Сообщение от Black_Cat
    нет, ты чёто не то понял, по умолчанию выбран AY0($FE), больше никаких умолчаний нет
    Я не об умолчаниях говорил. А о том, что значение, предназначенное для селекции AY (0xFE или 0xFF), не блокируется и беспрепятственно проходит в AY, где влияет на ее состояние (т.е. одновременно выбирается хз какой регистр в хз каком AY).

    Собственно вопросы мои как раз по этим особенностям.

    P.S. А по-моему, хотя мой склероз может и ошибаться, когда у меня был реал, я проверял на нем чтение/запись регистров AY во всем диапазоне 0-255, и вроде получалось, что дешифрация по младшим 4-м битам, а старшие на выбор регистра не влияют...
    Существование Интернета, бесспорно, спорно без порно (c)

  5. #4
    Banned Аватар для Black_Cat
    Регистрация
    15.06.2006
    Адрес
    S.Pb
    Сообщений
    5,646
    Благодарностей: 231
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ARTi Посмотреть сообщение
    P.S. А по-моему, хотя мой склероз может и ошибаться, когда у меня был реал, я проверял на нем чтение/запись регистров AY во всем диапазоне 0-255, и вроде получалось, что дешифрация по младшим 4-м битам, а старшие на выбор регистра не влияют...
    о каких 4х битах речь? Я о внутренних регистрах, а ты?
    Цитата Сообщение от ARTi Посмотреть сообщение
    Я не об умолчаниях говорил. А о том, что значение, предназначенное для селекции AY (0xFE или 0xFF), не блокируется и беспрепятственно проходит в AY, где влияет на ее состояние (т.е. одновременно выбирается хз какой регистр в хз каком AY).
    почему х.з. какой, именно $FE и $FF

  6. #5
    Member Аватар для ARTi
    Регистрация
    06.05.2006
    Адрес
    Санкт-Петербург
    Сообщений
    127
    Благодарностей: 6
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    о каких 4х битах речь? Я о внутренних регистрах, а ты?
    Я о том, что регистры AY выбираются значениями от 0 до 15, это 4 бита. Я про разрядность и дешифрацию выбора регистров, а не про них самих.

    почему х.з. какой, именно $FE и $FF
    Что это за регистры? Я знаю только про регистры $00...$0F.
    Существование Интернета, бесспорно, спорно без порно (c)

  7. #6
    Banned Аватар для Black_Cat
    Регистрация
    15.06.2006
    Адрес
    S.Pb
    Сообщений
    5,646
    Благодарностей: 231
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ARTi Посмотреть сообщение
    Что это за регистры?
    Нет там регистров, это свободное адресное пространство внутренних регистров, используемое для всяких левых целей типа переключения AY и т.д.

    ---------- Post added at 21:18 ---------- Previous post was at 21:09 ----------

    Цитата Сообщение от ARTi Посмотреть сообщение
    Я о том, что регистры AY выбираются значениями от 0 до 15, это 4 бита. Я про разрядность и дешифрацию выбора регистров, а не про них самих.
    под рукой pdf нет, но насколько помню внутри AY дешифрируются все 8 бит. Если в эмулях токо 4 - они кривые

  8. #7
    Guru
    Регистрация
    25.01.2005
    Адрес
    Miass, Chelyabinsk region
    Сообщений
    4,091
    Благодарностей: 924
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    в эмулях попробуйте поменять AY/YM.

    ---------- Post added at 03:59 ---------- Previous post was at 03:57 ----------

    да! и даташиты читать первым делом!

    а собственно, что за интерес-то, успевает или нет включиться какой-то левый регистр? на звук это не влияет, а учитывать это и писать говнокод не нужно!

  9. #8
    Member Аватар для ARTi
    Регистрация
    06.05.2006
    Адрес
    Санкт-Петербург
    Сообщений
    127
    Благодарностей: 6
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от psb
    в эмулях попробуйте поменять AY/YM.
    При чем здесь это? Я смотрел исходный код, так что настройки тут не при чем.

    Цитата Сообщение от psb
    даташиты читать первым делом!
    В документации утверждается (насколько я понял), что выбор в старших 4-х битах значения, отличного от 0, переводит внутреннюю шину в высокоимпедансное состояние и, т.о., выбор регистра не производится. Т.е. регистр выбирается лишь при значениях 0x00-0x0F. Это, тащемта, отвечает на мои вопросы, но есть нюанс. Например, в той же документации сказано, что частота каждого из меандров, генерируемых тремя генераторами тонов, получается делением входной частоты на 16 и дальнейшим уменьшением заданного в 12-битовом регистре периода значения до нуля. Что, строго говоря, не соответствует действительности - ссылку сейчас предоставить не могу, но вроде где-то на форуме обсуждалось.
    Вообще даташиты на девайсы нередко пестрят упрощениями и/или ошибками, иногда даже грубыми в масштабах целого раздела (взять хотя бы NXP2214, раздел про АЦП). Конечно, это понятно тем, у кого достаточно опыта в этом вопросе. Остальным необходимо принять, что документации можно верить для понимания общей картины, а конкретные моменты необходимо проверять экспериментально.
    Взять оф. документацию на Z80. Есть там ошибки/недочеты/недоговорки? Конечно есть. Аналогично с AY.
    Потому и задаю здесь вопросы.

    Цитата Сообщение от Black_Cat
    насколько помню внутри AY дешифрируются все 8 бит. Если в эмулях токо 4 - они кривые
    Может и так, а может - в соответствии с вышесказанным - и нет. Отсюда и мои вопросы.

    Цитата Сообщение от psb
    а собственно, что за интерес-то, успевает или нет включиться какой-то левый регистр?
    Именно.

    Цитата Сообщение от psb
    на звук это не влияет, а учитывать это и писать говнокод не нужно!
    У Вас неверные понятия о том, что такое "говнокод". Говнокод - это говенный код, а не код для обеспечения лишних или ненужных возможностей, что, скорее всего, Вы и имели в виду. Две большие разницы. Хотя, Вы и сами должны это знать не хуже меня, указанная в Вашем профиле профессия говорит сама за себя.
    С другой стороны, Ваше мнение на этот счет меня не волнует - ничего личного. Для эмуляции Z80 исследовали все, что только можно и даже то, что вроде как и не нужно (флаг p/v в блочных операциях в/в, например). Мне недостает инфы такого же рода относительно AY, вот и все. Для полноты картины, так сказать.
    Последний раз редактировалось ARTi; 30.08.2011 в 03:48.
    Существование Интернета, бесспорно, спорно без порно (c)

  10. #9
    Guru
    Регистрация
    25.01.2005
    Адрес
    Miass, Chelyabinsk region
    Сообщений
    4,091
    Благодарностей: 924
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    давайте тогда по-порядку.
    Цитата Сообщение от ARTi Посмотреть сообщение
    Я смотрел исходный код, так что настройки тут не при чем.
    какой такой исходный код вы смотрели? вы меня заставили усомниться в своих знаниях и проверить свои слова итого, я вместо вас сделал этот опыт:
    если в эмуле стоит модель AY, то 4 старших бита регистра отбрасываются, и записывая в регистр 17, мы реально пишем в рег. 1. и читаем из регистра 1 то, что записали (на самом деле именно из рег.1 мы прочитаем только 4 мл. бита).
    если поставить модель YM2149, то регистров выше 16 нет вообще и читается из них FF. на этой методике еще в 90х были разработаны детекторы типа муз.проца.

    ну и не забывайте еще о TSFM, там регистров больше 16.

    Цитата Сообщение от ARTi Посмотреть сообщение
    Например, в той же документации сказано, что частота каждого из меандров, генерируемых тремя генераторами тонов, получается делением входной частоты на 16 и дальнейшим уменьшением заданного в 12-битовом регистре периода значения до нуля. Что, строго говоря, не соответствует действительности - ссылку сейчас предоставить не могу, но вроде где-то на форуме обсуждалось.
    ну вы ссылку, все же, поищите что-то не верится. как еще-то? можно увеличивать и сравнивать

    Цитата Сообщение от ARTi Посмотреть сообщение
    У Вас неверные понятия о том, что такое "говнокод". Говнокод - это говенный код, а не код для обеспечения лишних или ненужных возможностей, что, скорее всего, Вы и имели в виду.
    у меня простые понятия говнокода: должен работать, а не работает - говнокод.
    вот скажите, вам кто-то гарантировал (в доке по TS), какой будет включен регистр после смены чипа? или вы так уверены, что не будет никакой иной схемы включения нескольких муз.процов? завтра выйдет новый клон с интегрированным TS и другой схемой. сэкономите 1 копейку, потом у кого-то ваш ГОВНОКОД не заработает. вот и весь расклад

    я бы понял эти вопросы в контексте создания эмуля, а с т.з. обычного программинга AY - это не нужно использовать.

  11. #10
    Member Аватар для ARTi
    Регистрация
    06.05.2006
    Адрес
    Санкт-Петербург
    Сообщений
    127
    Благодарностей: 6
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от psb
    давайте тогда по-порядку
    Давайте, только читать тему надо повнимательнее.
    Цитата Сообщение от psb
    если в эмуле стоит модель AY, то 4 старших бита регистра отбрасываются, и записывая в регистр 17, мы реально пишем в рег. 1. и читаем из регистра 1 то, что записали (на самом деле именно из рег.1 мы прочитаем только 4 мл. бита)
    Так об AY и речь! У меня где-то про YM написано? Где??
    Цитата Сообщение от psb
    ну вы ссылку, все же, поищите что-то не верится. как еще-то? можно увеличивать и сравнивать
    Увеличивать и сравнивать, да, так и сделано. Ссылку-то я найду, почему сразу и не привел, что нашел ее поиском совсем другой темы, а теперь вот... Но может, Вы раньше меня найдете - ведь ищущий истину сам найдет, не дожидаясь, когда на блюдечке с голубой каемочкой подадут...
    Цитата Сообщение от psb
    у меня простые понятия говнокода: должен работать, а не работает - говнокод.
    Это самая большая ошибка, затрудняющая любые исправления. Никакой код Вам лично ничего не должен. И мне он тоже ничего не должен. Он просто не работает, но что хуже, он не работает иногда.
    вот скажите, вам кто-то гарантировал (в доке по TS), какой будет включен регистр после смены чипа?
    Мне этот TS нафиг не сдался, я его проэмулирую и все, когда это будет я не знаю, а привел его лишь в качестве наглядного примера.
    Цитата Сообщение от psb
    или вы так уверены, что не будет никакой иной схемы включения нескольких муз.процов?
    Я ни в чем не уверен, потому и вопросы задаю - может порой они кажутся глупыми (потому и раздел соответствующий выбрал для темы), но некоторые вместо того чтобы по делу ответить, просто находят повод для глумления.
    Цитата Сообщение от psb
    я бы понял эти вопросы в контексте создания эмуля, а с т.з. обычного программинга AY - это не нужно использовать
    Дело в том, что как раз таки и не поняли.
    Я настоятельно рекомендую вернуться к теме. Ваша невнимательность и резкость уже привели как минимум к 2-м постам не по теме: один - Ваш; другой - мой, потому что я не сдержался. Со своей стороны я постараюсь больше не допускать такого неуважения к форумчанам.

    Тем не менее, свои вопросы я не отменял. Кстати, после прочтения расширенной версии даташита, возникли еще вопросы - по поводу регистров 0x0E и 0x0F. Но об этом чуть позже, возможно я сам разберусь и тут изложу.

    Прошу прощения за досадное отклонение от темы. У кого есть соображения, пожалуйста, выкладывайте.
    Существование Интернета, бесспорно, спорно без порно (c)

Страница 1 из 2 12 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Физика разрядности регистров
    от KJIaBogaB в разделе Для начинающих
    Ответов: 12
    Последнее: 17.09.2011, 11:32
  2. Переключение банок в ZS Scorpion
    от ARTi в разделе Для начинающих
    Ответов: 18
    Последнее: 26.08.2011, 07:05
  3. Ответов: 16
    Последнее: 10.04.2010, 14:21
  4. выбор FDD
    от Petr0v в разделе Для начинающих
    Ответов: 38
    Последнее: 03.07.2009, 17:22
  5. Переключение страниц
    от Jack Ketch в разделе Программирование
    Ответов: 11
    Последнее: 12.10.2006, 13:44

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •