AYX-32 - звуковая карта в слоте АУ

Железо для спектрум-совместимых машин

Postby TS-Labs » Tue, 21.02.2017 11:02:13

trawen wrote:Назови не ex ussr спектрумы где ay/ym в панельке?

Перепаяй и лезет.
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby TS-Labs » Tue, 21.02.2017 11:06:04

Траюн, разговор заходит в непродуктивное русло.
Я вижу следующий расклад: ты хочешь неведомой ёбаной хуйни, потому что "стандарт". (Я б даже заподозрил, что блядкат украл твой аккаунт.)
Мы же в своих планах руководствуемся только целесообразностью. "Будут" в моем случае означает, что есть люди, которые уже занимаются и роадмапы, по которым они действуют.
Итак, на данный момент целесообразность 8930 никак не аргументирована, значит ее имплементация не планируется.
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby qwer4321 » Tue, 28.02.2017 00:45:39

Всем здрям.
TS-Labs> "2. Как увязать между собой беззнаковый АУ и знаковый вейв?"
1) Так как делают в некоторых эмуляторах - поставить конденсатор/ срезать все частоты ниже 10 Гц.
2) AY пусть играет от нуля, wav от середины. (но будут щелчки), возможно от них спасёт линейная (Gauss) интерполяция. (Бульба со мной не согласен :)

Вообще с такими вопросами к Бульбе. Он пока свой AY_Emul писал на этом собаку съел. Лет 10 назад всколзь мы с ним эти прооблемы уже обсуждали.


TS-Labs> "все сэмплы должны быть оцифрованы на ноте "до" 3 октавы (С-5)"
Ты не поверишь но первая нота в октаве - это А (ля).
И в старой мод музыке - сэмплы подтянуты на слух (где-то лучше, где-то на 50 центов в сторону).


Собственно чего ради я зашёл. Уже года 4 в голове витает такая идейка - нельзя ли один из выходов AY (или все) перенаправить на один из входов, да так чтобы в работе чипа что-то поменялось. Я про програмно управляемый самовозбуд AY-ка.

Допустим включаем в канале С ультразвук, этот ультразвук через конденсатор (RC-фильтр) подаём на другую лапу ("вход") - в итоге допустим в канале B получаем некий эффект. Допусти в канале B уже был включен тон - а мы его быстро модулируем по амплитуде.
Отключаем ультразвук в С - выключаем эффект.

Вместо ультразвука возможно подойдёт постоянная состовляющая - вкючаем во всех каналах FF - этим напряжением заряжаем конденсатор, по достижения определённого уровня нарпяжения на шине данных менятся какой-нибудь бит с 0 на 1.

Это чисто моя теория. С цифровыми схемами не дружу. Если такое возможно, и оно будет повторяемо при соблюдении номинала деталей RC фильтра - возможно будет новая веха в развитии AY музыки.

Да и есть и где нибудь записи как будет звучать плохо смикширорванный AY - A+B+C без резистора подтяжки к земле, чтобы один канал модулирорвал другой.
User avatar
qwer4321
 
Posts: 17
Joined: Mon, 27.02.2017 23:51:15

Postby TS-Labs » Tue, 28.02.2017 01:47:49

qwer4321 wrote:1) Так как делают в некоторых эмуляторах - поставить конденсатор/ срезать все частоты ниже 10 Гц.

Да, я давно решил так сделать. Фильтр сверхнизких частот.
qwer4321 wrote:2) AY пусть играет от нуля, wav от середины. (но будут щелчки)

Будут, проверено. Не катит.
qwer4321 wrote:Ты не поверишь но первая нота в октаве - это А (ля).

Ля то оно ля, но для нужд народной медицины с-5.

qwer4321 wrote:подаём на другую лапу ("вход")

На какую? Входов у АУ не знаю, которые можно использовать для этой цели. Клок использовать нельзя.
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby qwer4321 » Tue, 28.02.2017 02:19:27

"На какую? Входов у АУ не знаю, которые можно использовать для этой цели. Клок использовать нельзя."

Под "входами" я имеюю в виду те ноги через которые засовываются данные в AY - частота тона, громкость, частота шума, огибающей. Если хоть какие нибудь из этих данных можно было бы засунуть в AY средствами самого AY (ABC) - это я называю "самовозбуд".

Клок использовать нельзя

Клок на верное лучше не трогать иначе AY зависнет, хотя... имею противоречивые данные на какой максимальной частоте работает ay - 3.5 Mhz - точно должен пахать. Где-то пишут что нормально пашет до 8 МГц.

Да, я давно решил так сделать. Фильтр сверхнизких частот.

Вариант как бы простой, но будет гемор с сопоставлениями громкостей. 2AY звучат, громче одного. 4хАУ звучат гормче 2-х. А ещё к этому приплюсовать WT синтез и декодирование mp3/vorbis/opus.
Вон в unreal emul-e - понавтыкаи всяких саунд устройств, а чтобы они не хрипели когда включены все одновременно - очень резко задавили громкость АУ (в итоге на пассивной акустике ничего не слышно).

Будут, проверено. Не катит.

Так я как раз и говорю про линейную интерпояцию - переключаться с одного отсчёта на другой - не резким скачком (щелчком), а плавно, постепенно (линейно) через промежуточные значения (при этом желательно по синусоиде - половина от синусоиды). И в итоге щелчки заменятся синусоидой (у которой спектр намного уже по сравнению с меандром).

Ля то оно ля, но для нужд народной медицины с-5.

Для начала попробуй прикрутить миди (всё равно миди от модов принципиально ничем не отличается).
GM.dls - в папке с виндой; GS.sf2; ChoriumRevA.sf2 - банки сэмплов качественно вымеренные по частотам. Банки большие но в природе должны быть и поменьше - которые влезут во флешку.
AWave - прога для ковыряния этих банков.
User avatar
qwer4321
 
Posts: 17
Joined: Mon, 27.02.2017 23:51:15

Postby TS-Labs » Tue, 28.02.2017 03:43:26

qwer4321 wrote:Под "входами" я имеюю в виду те ноги через которые засовываются данные в AY

Не-не-не. Простите, бред полный. Объяснять почему - долго, поверь на слово. Либо почитай даташит от чипа.
qwer4321 wrote: но будет гемор с сопоставлениями громкостей

Предусмотрены регистры громкости для всех каналов/устройств/итд. Если будет перегруз, можно регулировать индивидуально.
qwer4321 wrote:Так я как раз и говорю про линейную интерпояцию

На первый взгляд сложно и ненадежно. В ближайшее время я проведу тесты фильтра, по результатам буду чонить решать.
qwer4321 wrote:Для начала попробуй прикрутить миди

Миди (как формат событий) я пока не трогаю. В перспективе - возможно будет поддержка, но не думаю, что кому-то понадобится.
Использовать сэмплы от миди в виде готового банка not much feasible. Банк длиной в метр звучит картонно. Есть какие-то банки по 4МБ, эти еще так-сяк, но и они не влезут.
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby qwer4321 » Wed, 01.03.2017 00:49:07

TS-Labs wrote:Не-не-не. Простите, бред полный. Объяснять почему - долго, поверь на слово. Либо почитай даташит от чипа.

Хотя бы в кратце можешь объясннить - будут проблемы согасования уровней логических нулей и единиц? К шине данных подключено что-то ещё и будет просаживать ток?
DataSheet не читал, но тут покумекал раз у AY aж 40 ног - значит данные в него записываются побитово. Скорее всего внешнее устроство (Z80) устанавливает на ногах нули и единицы, а AY при очередном тике клока - съедает эти данные внутрь.

Ну и почему я не могу перенапрвить меандр с ABC каналов, чтобы испортить хотябы 1 бит - чтобы что-то поменялось в звучании?



Code: Select all
Предусмотрены регистры громкости для всех каналов/устройств/итд. Если будет перегруз, можно регулировать индивидуально.

Или так, или делать автоматический AutoGainControl, Compressor, SoftClipper.
AGC - при перегрузе подхрипывает, но намного меньше чем цифровой Clipping сигнала, Compressor - при чрезмерной активности сильно портит звук, SoftClipper - в этом плане лучше всех и подхрипывает умеренно, и на звук сильно не влияет.

Code: Select all
На первый взгляд сложно и ненадежно. В ближайшее время я проведу тесты фильтра, по результатам буду чонить решать.

Контекст того разговора с Бульбой был о том что AY выдаёт однопоярный сигнал (только в плюс) а AY_Emul - проигрывает его с середины возможного диапазона. Собственно я предлагал увеличить грормкость проигрывания в 2 раза - начинать отсчёты не от 0, а от -32768 (для 16-битного PCM). Этот способ убирания щелчков как раз бы сгодился - для старта/паузы/остановки проигрывания.

Code: Select all
Миди (как формат событий)

Midi - это язык общения музыкальных роботов, который при определённой сноровке ещё доступен человеческому пониманию.

Code: Select all
Банк длиной в метр звучит картонно.

Я уже давно смрился что Midi всегда и везде будет звучать по разному - всё потомучто сэмплов в файле нет. Тем более что на каких-то устройствах миди проигрывается из сэмплов, а на каких-то миди играется на Adlib (OPL3). Это всё равно миди.
Есть минималистичные банки сэмплов - придающие более электронное звучание.

Да и вообще далеко не в каждом мид файле испоьзуется больше 16 инструментов, а в каждом инструменте не используется весь набор сэмплов - соответсвенно грузить надо не весь банк - а только те инструменты что используются. А если ещё к сэмплам компрессию (ADPCM) применить так точно даже стандартный DirectX gm.dls - влезет в 1 мб.
User avatar
qwer4321
 
Posts: 17
Joined: Mon, 27.02.2017 23:51:15

Postby qwer4321 » Wed, 01.03.2017 00:55:34

TurboSound.
Вот тебе для примера простой турбо саунд музон. Сравни звучание в AY_emul и на реальных 2хAY. В реалии этот эффект работать не будет, точно также этот эффект не наблюдается если экспортирорвать этот модуь из Vortex tracker-а в *.AY формат.

Code: Select all
566F7274657820547261636B657220494920312E30206D6F64756C653A2020202020202020202020202020202020202020202020202020202020202020202062792020202020202020202020202020202020202020202020202020202020202020202002010400CE00000000000000DD000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E30000000000000000000000000000000000000000000000000000000000000000000000FFD400D900D900D3B1405C00B140D00000010B1F0000000100566F7274657820547261636B657220494920312E30206D6F64756C653A2020202020202020202020202020202020202020202020202020202020202020202062792020202020202020202020202020202020202020202020202020202020202020202002010400CE00000000000000E6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000EC0000000000000000000000000000000000000000000000000000000000000000000000FFD400D900E200D3B1405C0021B101D020B13FD000B140D00000010B1F000000010050543321E60050543321EF0030325453


Code: Select all
Offset      0  1  2  3  4  5  6  7   8  9 10 11 12 13 14 15

00000000   56 6F 72 74 65 78 20 54  72 61 63 6B 65 72 20 49   Vortex Tracker I
00000016   49 20 31 2E 30 20 6D 6F  64 75 6C 65 3A 20 20 20   I 1.0 module:   
00000032   20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20                   
00000048   20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 62                  b
00000064   79 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20   y               
00000080   20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20                   
00000096   20 20 20 02 01 04 00 CE  00 00 00 00 00 00 00 DD      ....О.......Э
00000112   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................
00000128   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................
00000144   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................
00000160   00 00 00 00 00 00 00 00  00 E3 00 00 00 00 00 00   .........г......
00000176   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................
00000192   00 00 00 00 00 00 00 00  00 00 00 00 00 FF D4 00   .............яФ.
00000208   D9 00 D9 00 D3 B1 40 5C  00 B1 40 D0 00 00 01 0B   Щ.Щ.У±@\.±@Р....
00000224   1F 00 00 00 01 00 56 6F  72 74 65 78 20 54 72 61   ......Vortex Tra
00000240   63 6B 65 72 20 49 49 20  31 2E 30 20 6D 6F 64 75   cker II 1.0 modu
00000256   6C 65 3A 20 20 20 20 20  20 20 20 20 20 20 20 20   le:             
00000272   20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20                   
00000288   20 20 20 20 20 62 79 20  20 20 20 20 20 20 20 20        by         
00000304   20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20                   
00000320   20 20 20 20 20 20 20 20  20 02 01 04 00 CE 00 00            ....О..
00000336   00 00 00 00 00 E6 00 00  00 00 00 00 00 00 00 00   .....ж..........
00000352   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................
00000368   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................
00000384   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 EC   ...............м
00000400   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................
00000416   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................
00000432   00 00 00 FF D4 00 D9 00  E2 00 D3 B1 40 5C 00 21   ...яФ.Щ.в.У±@\.!
00000448   B1 01 D0 20 B1 3F D0 00  B1 40 D0 00 00 01 0B 1F   ±.Р ±?Р.±@Р.....
00000464   00 00 00 01 00 50 54 33  21 E6 00 50 54 33 21 EF   .....PT3!ж.PT3!п
00000480   00 30 32 54 53                                     .02TS


Не понял как тут файлы прикреплять - в общем в Hex редакторе переведёшь.


Был неприятно удивлён что в своём располеднем Inferno Guide Alco пропустил очень глупую, оторванную от реалий статью от Splinter-а, где наивный чукотский парень описывает как здорово смешивать 2 огибающих испоьзую 2xAY.
Сразу видно что Splinter эмуляторщик и реальный TurboSound он не слышал.

А если почитать changelog от ProTracker-а 3.7 - то там сам Алкогена писал про то как пытался сделать смесь тона и огибающей более предсказуемой (с 50-70% успехом).

Суть в том что:
1) переиниацизировать огибающую - можно нарпямую, а тон нет.
2) В AY_emul все регистры засовываются в AYк одновременно, в реалии они записываются последовательно, с некоторой задержкой (зависит от кода плеера). В плеере PT3 и им подобных - все регистры отправляются в максимально сжатые сроки (по этому AY_emul звучит нормально), но допустим в поляцком плеере SQT - регистры обновляются с разной задержкой - и уже становится заметно различие в звучании AY_emul и Z80+AY.

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


Да и уж если собрался прикручивать проигрыватель модов - не забудь про звуковой тракт SNES - это теже моды только на аппратном проигрывателе. Музло в формате *.spc - аналог спектрумовского *.ay. Сам тракт представляет из себя SPC700 - процессор, DSP, 64 кб оперативки. Процессор можно не эмулировать достаточно записать команды отправляемые в DSP (как бы конвертировать *.ay в *.ym).
User avatar
qwer4321
 
Posts: 17
Joined: Mon, 27.02.2017 23:51:15

Postby TS-Labs » Wed, 01.03.2017 01:32:30

qwer4321 wrote:Хотя бы в кратце можешь объясннить - будут проблемы согасования уровней логических нулей и единиц?

Не могу. Придется начинать очень издалека, а читать здесь курс цифровой техники у меня нет здоровья.
qwer4321 wrote:DataSheet не читал, но

Почитай.
qwer4321 wrote:AGC

Не не, АРУ не нужно.
qwer4321 wrote:Собственно я предлагал увеличить грормкость проигрывания в 2 раза - начинать отсчёты не от 0, а от -32768 (для 16-битного PCM). Этот способ убирания щелчков как раз бы сгодился - для старта/паузы/остановки проигрывания.

Бида с том, что кроме меандров/огибающей есть еще так называемая "дига", когда выглючены генераторы, и модулируя амплитуду цапов, мы получаем ковокс. Если для генераторов еще можно знать "середину", то для диги - нет. Посему:
Чтоб получить инфу для раздумий, предлагаю оцифровать выхлоп АУ через кондюк (отсечь DC) и рассмотреть в вейв-редакторе результат. Примерно такого же результата я ожидаю от программного фильтра СНЧ.
qwer4321 wrote:Вот тебе для примера простой турбо саунд музон.

Человечество изобрело ZIP, например. На форуме также работает прикрепление файлов (Full Editor/Upload attachment).
ОК, сравню.
qwer4321 wrote:1) переиниацизировать огибающую - можно нарпямую, а тон нет.

Да. Но на самом деле и с огибающей не все просто. Если имеется годный осцилл, посмотри на рассинхру фазы делителя клока на 8, который клочит генераторы с апдейтом состояния генераторов с шины.
Алсо, в АУ_эмуле, насколько я понял, эмулится хост (48к спек с з80). Плееры в нем играют, как на реале, а значит и соблюдаются все тайминги записей в шину АУ. По крайней мере, музоны от фирменных игрушек, где плееры в самом модуле. Касательно рт3, саундтрекера и других "общих" форматов - не знаю, но по-хорошему должно быть так же.
qwer4321 wrote:Да и уж если собрался прикручивать проигрыватель модов - не забудь про звуковой тракт SNES

Пока забуду, как и про мунсаунд, и про опл4, и про другие звуковухи, тысячи их.
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby TS-Labs » Wed, 01.03.2017 03:02:02

qwer4321, забегая вперед на несколько постов, предлагаю тебе подучить матчасть по вопросам цифровой техники, так как хотелось бы вести техническое обсуждение с компетентным специалистом, а не обучать хочувсёзнайку. Спасибо за понимание.
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby qwer4321 » Thu, 02.03.2017 00:20:40

TS-Labs wrote:хотелось бы вести техническое обсуждение с компетентным специалистом

Сам с собой любишь разговаривать :))
Ну и чем ТТЛ будет отличать от аналоговых схем? Тем что все должны укладывать в стандарты уровней 0 и 1, и иметь опеределённое входное и выходное сопроитвление - чтобы сильно не просаживать эти уровни. Так ведь тут уж зависит от разработчика как он уложился в эти стандарты, и где возможно не целевое испоьзование (усилитель на ЛН2 наример).


Чтоб получить инфу для раздумий, предлагаю оцифровать выхлоп АУ через кондюк (отсечь DC) и рассмотреть в вейв-редакторе результат.

Делал уже лет 13 назад. Визуально меандр не узнать - а звучит также. Но громкость такого сигнала уже не увиличишь в 2 раза сместив его начало в -32768.

рассинхру фазы делителя клока на 8, который клочит генераторы с апдейтом состояния генераторов с шины.

Разве напрямую можно посмотреть что там и как делит AY? Разве что только установить делитель тона в минимальное значение - и смотреть на выходные каналы aBc. (Осцила всё равно нет, а если ьы и был - на какие частоты он должен быть рачитан?).

рассинхру фазы
Ты про временную задержку относительного чего-то или про jitter (дрожание) неравномерность срабатывания во времени.

Алсо, в АУ_эмуле, насколько я понял, эмулится хост (48к спек с з80).
- да но только для формата *.AY - так где собственно и подразумевается эмуяция 48 спека.
Для pt3/stc/asc/... - все регистры обновляются одновременно - Бульба переписал каждый плеер музыки под x86 ассемблер (или Деьфи - уже не помню).


опл4

Если с эмуяцией AY и YM ещё более менее всё понятно. То насколько правильно эмулируются FM чипы? (YM2203;OPN;OPL и др).

Почитал первые 2 страницы datasheet-а на AY - похоже AY висит всеми своими ногами на шине данных паралельно со всеми другими устройствами и считывает данные в себя только тогда когда приходит определённая битовая последовательность (ключ). То есть если не подделать этот ключ данные в AY засунуть не получится?
User avatar
qwer4321
 
Posts: 17
Joined: Mon, 27.02.2017 23:51:15

Postby VBI » Thu, 02.03.2017 00:50:39

подделать?
а на зону не боитесь?
User avatar
VBI
 
Posts: 1965
Joined: Mon, 03.06.2013 09:20:29

Postby psb » Thu, 02.03.2017 14:55:41

Image
User avatar
psb
 
Posts: 715
Joined: Tue, 30.12.2014 23:22:32

Postby TS-Labs » Thu, 02.03.2017 18:36:35

qwer4321 wrote:Ну и чем ТТЛ будет отличать от аналоговых схем?

Плюсую картинку предыдущего оратора.
qwer4321 wrote:Разве напрямую можно посмотреть что там и как делит AY?

Можно.
qwer4321 wrote:Осцила всё равно нет, а если ьы и был - на какие частоты он должен быть рачитан?

Сэмплрейт 250МГц вполне достаточен.
qwer4321 wrote:Ты про временную задержку относительного чего-то

Задержку переинициализации генераторов относительно шинной записи.
qwer4321 wrote:да но только для формата *.AY - так где собственно и подразумевается эмуяция 48 спека.
Для pt3/stc/asc/... - все регистры обновляются одновременно

Не слишком удачное решение Бульбы.
qwer4321 wrote:насколько правильно эмулируются FM чипы?

Они никак не эмулируются и эмуляция пока не планируется. В первом псто даного топика я перечислил то, что собираюсь реализовать в своей прошивке. Сорцы открыты, бобро поцжаловать в девелопмент (это такой процесс, когда нажатия кнопок клавиатуры конвертируются в заряды на затворах полевых транзисторов флэш памяти МК).
qwer4321 wrote:похоже AY висит всеми своими ногами на шине данных паралельно со всеми другими устройствами и считывает данные в себя только тогда когда приходит определённая битовая последовательность (ключ).

Вау, похоже так и есть. Очень, крайне, я бы сказал - архиверное наблюдение! Аналоговых дел мастеру начинает открываться волшебный мир цифровой техники! :facepalm:
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby SfS » Thu, 02.03.2017 18:58:06

Молодцы.
Просто офигеть, как вы успеваете столько сделать.
SfS
 
Posts: 113
Joined: Thu, 23.02.2017 17:13:01

Postby psb » Thu, 02.03.2017 19:31:16

SfS wrote:Просто офигеть, как вы успеваете столько сделать.

если у тебя есть ключ (определённая битовая последовательность) - все очень просто:)
User avatar
psb
 
Posts: 715
Joined: Tue, 30.12.2014 23:22:32

Postby qwer4321 » Sat, 04.03.2017 09:07:17

Не слишком удачное решение Бульбы.

Надо понимать что времена были другие - время начало проекта 2000 год если не раньше. Тогда скорость процессоров была низкой и её едва хватало на нормальную фильтрацию (ресемплинг). Так-что тратить процессорное время на эмуляцию Z80 - было не целесообразно.
Для подавляющего большинства плееров - задержка в 10-20 тактов относительно довольно медленных 50 Гц - мало заметна (для польского SQT - уже становится слышна). Минус в том что смещение фазы тона относительно фазы огибающей для AY_Emul - всегда одинаково (если играть трек с начала), а для реала сложно предсказуемо. Пока читал DataSheet на AY нашёл описание команды сброса чипа в исходное состояние - на ZX этот сигнал юзается?

Задержку переинициализации генераторов относительно шинной записи.

Она всегда одна или разнится по количеству тактов в зависимости от условий?

Они никак не эмулируются и эмуляция пока не планируется. В первом псто даного топика я перечислил то, что собираюсь реализовать в своей прошивке.

То что FM чипы не эмулируются в данном проекте я понял. Я про то что насколько полно разведана внутренняя структура и механизмы работоы этих чипов. Юзал где-то 4 програмных эмулятотра - все звучат очень по разному.

Сорцы открыты, бобро поцжаловать в девелопмент (это такой процесс, когда нажатия кнопок клавиатуры конвертируются в заряды на затворах полевых транзисторов флэш памяти МК).

Я музакер, а не кодер. Кодер и музакер вещи не совместимые - послушай хотяб Alco - внутри игр и журналов это можно слушать, но отдельно это вырвиглазной шлак. (хотя наличие альтернативы лучше чем засилие однообразной попсы).

Вау, похоже так и есть. Очень, крайне, я бы сказал - архиверное наблюдение! Аналоговых дел мастеру начинает открываться волшебный мир цифровой техники!

Где-то встречал выражение на английском времен 80-х - где цифровиков пренебрежительно называи ТТЛ-гиками. Мог бы сразу объяснить нормально, а не умничать.
А какие ещё устройства висят на шине данных кроме Z80, памяти, видеоконтроллера, AY?
User avatar
qwer4321
 
Posts: 17
Joined: Mon, 27.02.2017 23:51:15

Postby VBI » Sat, 04.03.2017 12:22:20

Кодер и музакер вещи совместимые, несовместимость - она в головах :)
давайте с начала начнём
User avatar
VBI
 
Posts: 1965
Joined: Mon, 03.06.2013 09:20:29

Postby nyuk » Sat, 04.03.2017 12:57:56

VBI wrote:давайте с начала начнём

Давайте начнем с самого начала.
не отрастил
User avatar
nyuk
 
Posts: 556
Joined: Thu, 26.07.2012 09:08:24

Postby VBI » Sat, 04.03.2017 14:26:24

nyuk отлично, работаем дальше
User avatar
VBI
 
Posts: 1965
Joined: Mon, 03.06.2013 09:20:29

Postby psb » Sat, 04.03.2017 14:46:59

qwer4321 wrote:послушай хотяб Alco - внутри игр и журналов это можно слушать, но отдельно это вырвиглазной шлак.
то же самое и с кодом.
qwer4321 wrote:А какие ещё устройства висят на шине данных кроме Z80, памяти, видеоконтроллера, AY?
проще сказать, что не висит. кнопка power, например.
User avatar
psb
 
Posts: 715
Joined: Tue, 30.12.2014 23:22:32

Postby TS-Labs » Sat, 04.03.2017 17:44:56

qwer4321 wrote:Так-что тратить процессорное время на эмуляцию Z80 - было не целесообразно.

Не, ну если эмулится формат .ay, то чо бы не закинуть в вирт. машину плееры остальных форматов и их играть?
qwer4321 wrote:Пока читал DataSheet на AY нашёл описание команды сброса чипа в исходное состояние - на ZX этот сигнал юзается?

На АУ нет команд, есть сигнал сброса. Юзается, прикручен к системному сбросу.
qwer4321 wrote:Она всегда одна или разнится по количеству тактов в зависимости от условий?

Разница между внутренним CLK/8 и моментом шинной записи (кратной частоте проца).
qwer4321 wrote:насколько полно разведана внутренняя структура и механизмы работоы этих чипов

На 1% или меньше. Есть только общие понятия про механизмы FM синтеза. В перспективе возможно буду разбираться. Просто сейчас реализуется задача-минимум, а по ее результатам я буду решать, что делать дальше.
qwer4321 wrote:Я музакер, а не кодер.

Ну так бы сразу и сказал! Музакеры у нас редкий вид и охраняется =) Я подумал, что ты электронщик по аналоговой технике.
qwer4321 wrote:А какие ещё устройства висят на шине данных кроме Z80, памяти, видеоконтроллера, AY?

ВГ93, шина внешнего расширения зхбас, тысячи их. Слушай, я реально не хочу обсуждать вопросы цифровых реализаций с человеком, далеким от цифровой техники. Не в обиду. Зачем тебе это?
Я бы намного охотнее обсудил нюансы звука - есть еще куча нерешенных вопросов по фичам (фильтры, скважности, кастомные формы, прочее).
Принимается такой формат предложений (пример): хочу band filter c выбором верхнего/нижнего значения частоты с разрешением 8 бит.
Если есть идеи, делись.
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby qwer4321 » Sat, 04.03.2017 22:59:22

давайте с начала начнём

Code: Select all
Указатель стена на Ность процессора этого Гс I z [ х ! Н I x l P/vTnT"c1

Дальше дропнул.
Давайте начнем с самого начала.

Советский комикс про компьтеры. Был такой в юности. Глядь но клеить компутер из бумаги... ад.

Не, ну если эмулится формат .ay, то чо бы не закинуть в вирт. машину плееры остальных форматов и их играть?

Нужно сделать низкий поклон Бульбе за то что он разобрался с каждым плеером и форматом модулей. Только благодаря этому появился универсальный трекер понимающий все форматы, выдиралка понимающая все модули, огромная коллекция TrSongs - где вся музыка хранится в виде нот (а не дампов памяти).
Сдаётся мне что ты слишком юн, раз не видишь таких простых вещей.

Где-то в те уже далёкие времена родился формат *.vtx - дампы регистров 1 раз за фрейм собираются в кучу - и сохраняются с частотой 50 Гц.

На сегодняшний день формат *.ay выглядит не нужным, более полезным было бы чтобы плеер мог проигрывать сразу *.sna - всё равно Digital музыка пишется на самом разнообразном софте и не имеет выдиралки (конвертера в нотный формат).
А есть ли какой то формат для дампов памяти больше 128 кб?

а АУ нет команд, есть сигнал сброса. Юзается, прикручен к системному сбросу.

А на какой-нибудь порт его нельзя повесить? Что бы допустим програмно при инициализации pt3 плеера - сбрасывать AY в дефолтное состотяние.
Думаю тогда при соблюдении определённых условий: процессор и AY тактируются от одного тактового генератора (3.5/2=1,75); соотношение частоты процессора и частоты кадровой развёртки соблюдается с точностью до такта (3.5/48,828125=71680) - фазы тона и огибающей относительно друг друга станут чётко определены. (этой идее уже лет 7).

Музакеры у нас редкий вид и охраняется =)

Спасибо конечно на добром слове, но я пишу с 2004 года и никому моя музыка особо не нужна.
Кодер и музакер вещи совместимые, несовместимость - она в головах

Прошу назвать таких пожалуйста.
Вот ещё пример - Siril. Прикрутил к Vortex tracker-у новую нотную таблицу (но не сделал возможность экспорта с новым плеером), сделал не юзабельными привычные сочетания клавиш (c midi клавой что-то всё заглохло). В итоге новой музыки от этого композитора я не услышал - потомучто он стал програмистом.
На 1% или меньше. Есть только общие понятия про механизмы FM синтеза. В перспективе возможно буду разбираться. Просто сейчас реализуется задача-минимум, а по ее результатам я буду решать, что делать дальше.

Вот бесят меня эти идиоты которые мучаются декапят, перерисовывют кристаллы Z80 и ULA чтобы потом составить полную схему микрохем. Зачем? Эти цифрорвые микросхемы уже давно хорошо изучены методом BlackBox. То что не будет работать 0,05% софта и 0,5% будет работать не так - фигня.
А вот то что музыка (которая есть в большинстве игр) играется не точно уже не фигня.
Разница между внутренним CLK/8 и моментом шинной записи (кратной частоте проца).

В тактах это всгеда одинаковое смещение? или величина смещения зависит от чего-то?
скважности, кастомные формы, прочее

Это всё от лукавого. Будет не то что слышал автор когда писал музон.
Если в модуле на написано и ничего не известно про железо автора - то мы даже не знаем в какой раксладке каналов автор писал. :)
А может сделать авто определялку раксладки - aBc, aCb, bAc?
Словами я алгоритмы могу расписать.
User avatar
qwer4321
 
Posts: 17
Joined: Mon, 27.02.2017 23:51:15

Postby introspec » Sun, 05.03.2017 15:32:30

Разговор у вас какой-то очень странный, но могу пояснить как работает плейер Бульбы. Он написан таким образом, что пакет регистров выкидывается оптом каждый фрейм. Скорость выплёвывания не максимальная, но достаточно быстрая, уверен, что услышать разницу с мгновенной записью будет сложно (особенно по сравнению со следающим пунктом).

При этом, сама подготовка пакета регистров очень нетороплива, в среднем занимает около 5000 тактов, в худшем случае - до 10000. Поэтому вместо выдачи фреймов по таймеру 50гц, реально фреймы выдаются на реале с погрешностью в несколько тысяч тактов, плавающей от фрейма к фрейму. Уверен, что плейер на PC это не эмулирует (потому что сложно и бессмысленно). Это одна из причин, почему я предпочитаю играть PSG.

Ещё одно: плейер с полной синхронизацией между CPU и AY считаю бессмысленным. Причин несколько: несовместимость с существующим железом, различная продолжительность фрейма у разных моделей спектрума, различная частота AY у разных моделей спектрума. Всё это потребует большое кол-во мелкой, филигранной работы, а фактически очень мало кто услышит, зачем это всё было нужно.
Last edited by introspec on Mon, 06.03.2017 02:43:36, edited 2 times in total.
User avatar
introspec
 
Posts: 579
Joined: Sun, 14.07.2013 15:36:47

Postby TS-Labs » Sun, 05.03.2017 15:55:51

qwer4321 wrote:Сдаётся мне что ты слишком юн, раз не видишь таких простых вещей.

Хамить команды не было.
Можно ознакомиться со списком твоих произведений?
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

PreviousNext

Return to Hardware

Who is online

Users browsing this forum: No registered users and 1 guest

x