![]() |
Переключение регистров в 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, и другие...)? Спасибо. |
Quote:
Quote:
|
Quote:
И если регистры адресуются по 8 битам, то что тогда читается из несуществующих? Или попытка выбора несуществующего регистра просто ничего не выбирает? Quote:
Собственно вопросы мои как раз по этим особенностям. P.S. А по-моему, хотя мой склероз может и ошибаться, когда у меня был реал, я проверял на нем чтение/запись регистров AY во всем диапазоне 0-255, и вроде получалось, что дешифрация по младшим 4-м битам, а старшие на выбор регистра не влияют... |
Quote:
Quote:
|
Quote:
Quote:
|
Quote:
---------- Post added at 21:18 ---------- Previous post was at 21:09 ---------- Quote:
|
в эмулях попробуйте поменять AY/YM.
---------- Post added at 03:59 ---------- Previous post was at 03:57 ---------- да! и даташиты читать первым делом! а собственно, что за интерес-то, успевает или нет включиться какой-то левый регистр? на звук это не влияет, а учитывать это и писать говнокод не нужно! |
Quote:
Quote:
Вообще даташиты на девайсы нередко пестрят упрощениями и/или ошибками, иногда даже грубыми в масштабах целого раздела (взять хотя бы NXP2214, раздел про АЦП). Конечно, это понятно тем, у кого достаточно опыта в этом вопросе. Остальным необходимо принять, что документации можно верить для понимания общей картины, а конкретные моменты необходимо проверять экспериментально. Взять оф. документацию на Z80. Есть там ошибки/недочеты/недоговорки? Конечно есть. Аналогично с AY. Потому и задаю здесь вопросы. Quote:
Quote:
Quote:
С другой стороны, Ваше мнение на этот счет меня не волнует - ничего личного. Для эмуляции Z80 исследовали все, что только можно и даже то, что вроде как и не нужно (флаг p/v в блочных операциях в/в, например). Мне недостает инфы такого же рода относительно AY, вот и все. Для полноты картины, так сказать. |
давайте тогда по-порядку.
Quote:
если в эмуле стоит модель AY, то 4 старших бита регистра отбрасываются, и записывая в регистр 17, мы реально пишем в рег. 1. и читаем из регистра 1 то, что записали (на самом деле именно из рег.1 мы прочитаем только 4 мл. бита). если поставить модель YM2149, то регистров выше 16 нет вообще и читается из них FF. на этой методике еще в 90х были разработаны детекторы типа муз.проца. ну и не забывайте еще о TSFM, там регистров больше 16. Quote:
Quote:
вот скажите, вам кто-то гарантировал (в доке по TS), какой будет включен регистр после смены чипа? или вы так уверены, что не будет никакой иной схемы включения нескольких муз.процов? завтра выйдет новый клон с интегрированным TS и другой схемой. сэкономите 1 копейку, потом у кого-то ваш ГОВНОКОД не заработает. вот и весь расклад;) я бы понял эти вопросы в контексте создания эмуля, а с т.з. обычного программинга AY - это не нужно использовать. |
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Я настоятельно рекомендую вернуться к теме. Ваша невнимательность и резкость уже привели как минимум к 2-м постам не по теме: один - Ваш; другой - мой, потому что я не сдержался. Со своей стороны я постараюсь больше не допускать такого неуважения к форумчанам. Тем не менее, свои вопросы я не отменял. Кстати, после прочтения расширенной версии даташита, возникли еще вопросы - по поводу регистров 0x0E и 0x0F. Но об этом чуть позже, возможно я сам разберусь и тут изложу. Прошу прощения за досадное отклонение от темы. У кого есть соображения, пожалуйста, выкладывайте. |
| All times are GMT +4. The time now is 00:40. |
Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.