PDA

Просмотр полной версии : General Sound



newart
26.01.2005, 23:47
И так бывший производитель (Константин Вербов) уведомлен
о существование данного форума и на днях должен сюда заглянуть.
Как мне показалось он был немало удивлен тому, что еще кому-то
нужны GS.
Собственно думаю будет логично если все желающие купить GS
отметятся в данном топике, чтобы было ясно сколько и кому нужно
плат и нужно ли вообще.

dhau
27.01.2005, 02:56
Я бы заказал 1-2 штучки, мне очень хочется заиметь крутой звук

CHRV
27.01.2005, 16:23
И так бывший производитель (Константин Вербов) уведомлен
о существование данного форума и на днях должен сюда заглянуть.
Как мне показалось он был немало удивлен тому, что еще кому-то
нужны GS.
Собственно думаю будет логично если все желающие купить GS
отметятся в данном топике, чтобы было ясно сколько и кому нужно
плат и нужно ли вообще.
МОгу подсобить с производством плат!

jtn
27.01.2005, 22:35
МОгу подсобить с производством плат!
а стоит ли овчинка выделки? или такой вариант - вместо регистров/цапов
поставить AT90S1200+TDA1543=3$. и статики сразу 512к на одном чипе

aGGreSSor
02.02.2005, 09:36
И так бывший производитель (Константин Вербов) уведомлен
о существование данного форума и на днях должен сюда заглянуть.
Как мне показалось он был немало удивлен тому, что еще кому-то
нужны GS.
Собственно думаю будет логично если все желающие купить GS
отметятся в данном топике, чтобы было ясно сколько и кому нужно
плат и нужно ли вообще.

Какой, в п@#$ду производитель?! :confused: Хватит может людей лечить? Как на CC начал, так и не можешь остановиться? Нет, Костику Вербову м.б. и доверили подержать паяльник в руках (м.б. даже LD по приколу доверил) но к производительству он имел ровно такое же отношения, как я к духовной семинарии. М.б. торговал ими одно время (надо спросить у Lapo). Dangerous^X-Trade сказал: GS больше не будет. LD^X-Trade сказал: GS больше не будет. Значит, GS больше не будет. Пионеры посещающие что-то где-то умеют только языками трясти: :eek:

random
02.02.2005, 10:02
я бы тоже купил.
схема, прошивка, плата в современном формате есть?

если есть можно сделать :)

lvd
02.02.2005, 11:46
а стоит ли овчинка выделки? или такой вариант - вместо регистров/цапов
поставить AT90S1200+TDA1543=3$. и статики сразу 512к на одном чипе

А уверен, что немощный s1200 с 32 регистрами справится - и звук смикширует, и к памяти успеет? ...Тогда уж mega8515 на 16мгц с внешней статикой... и с командами умножения.

Кстати - было бы интересно обсудить именно этот вопрос. Об эмуляции z80 речь конечно же не идёт, но вообще имхо atmega8515 вполне и вполне заменит Z80@12MHz.

CHRV
02.02.2005, 12:44
А уверен, что немощный s1200 с 32 регистрами справится - и звук смикширует, и к памяти успеет? ...Тогда уж mega8515 на 16мгц с внешней статикой... и с командами умножения.

Кстати - было бы интересно обсудить именно этот вопрос. Об эмуляции z80 речь конечно же не идёт, но вообще имхо atmega8515 вполне и вполне заменит Z80@12MHz.
ДЫк уже обсуждалось, сейчас ведуться работы по новому ГС с ATMEGA64 и TD1543. Эмуляции никакой не будет, а будет совместимость по командам.

random
02.02.2005, 12:56
а можно будет этот новый генерал использовать как сопроцессор?

CHRV
02.02.2005, 12:58
а можно будет этот новый генерал использовать как сопроцессор?
Задача поставлена добиться работы как ГС, а чем все это потом обрастет я пока незнаю :).

bob5024
02.02.2005, 13:11
куплю 1-2 платы

lvd
02.02.2005, 13:24
ДЫк уже обсуждалось, сейчас ведуться работы по новому ГС с ATMEGA64 и TD1543. Эмуляции никакой не будет, а будет совместимость по командам.

Отлично! =) А подробности можно будет узнать с твоего сайта?

jtn
02.02.2005, 21:39
А уверен, что немощный s1200 с 32 регистрами справится - и звук смикширует, и к памяти успеет? ...Тогда уж mega8515 на 16мгц с внешней статикой... и с командами умножения.

Кстати - было бы интересно обсудить именно этот вопрос. Об эмуляции z80 речь конечно же не идёт, но вообще имхо atmega8515 вполне и вполне заменит Z80@12MHz.
тут склонялись к мысли сделать GS один в один как старый, я просто предложил выкинуть из старого все цапы с регистрами и заменть их на Avr (справиться с микшированием должен) и дешевый цап.

CHRV
02.02.2005, 23:08
Отлично! =) А подробности можно будет узнать с твоего сайта?
К сожалению пока нет, проект в стадии проработки!

lvd
03.02.2005, 00:39
тут склонялись к мысли сделать GS один в один как старый, я просто предложил выкинуть из старого все цапы с регистрами и заменть их на Avr (справиться с микшированием должен) и дешевый цап.

В смысле, заменить им часть логики и R-2R цапы с суммирующими операми? Тогда всё равно лучше взять attiny2313 - он 20Мгц... =)

Corpsegrinder
03.02.2005, 06:58
Я бы тоже купил - нравится мне идея второго процессора в 1 устройстве, к тому же давно хотелось mp3 попробовать поразжимать. Но у меня спек сдох, а съездить на радиорынок за паяльником и микрухами ноги не доходят.

SfS
03.02.2005, 08:57
Сейчас занимаюсь (по работе) тоже атмелом, но ARM - серией. AT91 которая. 32 разряда, 32 МГц частота, аппаратное умножение-деление. И стоимость 12 баксов.
Главное - имеется 2 ВСТРОЕННЫХ в процессор ЦАПа. и 8каналтьный АЦП. Может лучще взять один такой проц с со встроенной памятью ? И отэмулировать AY, GS и все что угодно на нем ?

CHRV
03.02.2005, 10:32
Сейчас занимаюсь (по работе) тоже атмелом, но ARM - серией. AT91 которая. 32 разряда, 32 МГц частота, аппаратное умножение-деление. И стоимость 12 баксов.
Главное - имеется 2 ВСТРОЕННЫХ в процессор ЦАПа. и 8каналтьный АЦП. Может лучще взять один такой проц с со встроенной памятью ? И отэмулировать AY, GS и все что угодно на нем ?
Можно конечно, но дорговато получится :)

psb
07.02.2005, 17:40
Эмуляции никакой не будет, а будет совместимость по командам.

ээ... каким командам? командам первой прошивки???

а как же нестандартное ПО? его хоть и мало, но оно есть! и без Z80 оно работать не будет...

jtn
07.02.2005, 18:29
ээ... каким командам? командам первой прошивки???

а как же нестандартное ПО? его хоть и мало, но оно есть! и без Z80 оно работать не будет...
мне вот это тоже не нравится. получится законченное устройство - ничего добавить изменить будет нельзя. (либо покупать пц, ставить софт, учить c/asm неизвестного проца...)

psb
09.02.2005, 20:15
Товариши! скажите мне пожалуйста вот что: для чего вам нужен GS?
только слушать моды? играть в озвученные игры? это все что ли?

дело в том, что хоть и программ, юзающих именно Z80 мало, но они с НЕ Z80 не пойдут. а это хотя бы RiffTracker.

может стоит подумать о другой звуковой карте? тогда, само собой, можно делать и на любых других контроллерах, и вообще как угодно :)
только это уже будет не General Sound. Если просто в этом НЕ_GS будет вот такая вот минимальная поддержка GS - это хорошо :) еще лучше если это будет гибкая система (т.е. можно будет делать не только то, что задумано в firmware), можно будет играть s3m, xm... mp3?....

только ради Бога, называйте вещи своими именами!
предлагаю GS не на Z80 больше GS'ом не называть :)

ура!

jtn
09.02.2005, 20:30
Товариши! скажите мне пожалуйста вот что: для чего вам нужен GS?
только слушать моды? играть в озвученные игры? это все что ли?
ага наболело ;)


дело в том, что хоть и программ, юзающих именно Z80 мало, но они с НЕ Z80 не пойдут. а это хотя бы RiffTracker.
вот и не думал... а зачем riffу юзать нутряной Z80?


может стоит подумать о другой звуковой карте? тогда, само собой, можно делать и на любых других контроллерах, и вообще как угодно :)
только это уже будет не General Sound. Если просто в этом НЕ_GS будет вот такая вот минимальная поддержка GS - это хорошо :) еще лучше если это будет гибкая система (т.е. можно будет делать не только то, что задумано в firmware), можно будет играть s3m, xm... mp3?....

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

dhau
10.02.2005, 00:53
Скажу про себя: General Sound хочется именно оригинальный или хотябы точную копию, по той же причине что я хотел и купил таки TURBO 2+, Yamaha MSX2 805-IIIR, SEGA/IBM TeraDrive и так далее :)

psb
11.02.2005, 17:54
вот и не думал... а зачем riffу юзать нутряной Z80?

дык это... речь про последний рифф... просто у GS нет всех необходимых команд для такого редактора...

вот так-то :)

random
11.02.2005, 19:44
соглашусь с dhau и скажу что необходим полностью совместимый клон/копия. идеально было бы просто запустить в продукцию еще платок 20. я бы парочку купил.

-=<STS>=-
13.04.2005, 14:11
:mad: Эээээ.... А что, на спеке так до сих пор под ГС так и не написали других муз едиторов?.... :eek:

kyv
13.04.2005, 15:23
:mad: Эээээ.... А что, на спеке так до сих пор под ГС так и не написали других муз едиторов?.... :eek:
нет
только 2 версии Рифа

-=<STS>=-
13.04.2005, 17:10
Ага, и обе версии - мои :)
Приятно......... ;)

Shiru
13.04.2005, 18:24
Лично я не знаю других реальных (полезных и полноценных) программ, использующих Z80 GS'а, кроме RiffTracker. А это значит, что достаточно легко можно сделать версию Riff для такого несовместимого с Z80 GS'а - модифицировать сам трекер, и нужные функции внести в прошивку карты.

Vladimir Kladov
13.04.2005, 18:59
А GS нельзя ли использовать как сопроцессор не-только-для-музыки? В принципе нет разве возможности загрузить в него свой код существующими срествами (под видом мода), и передать на него управление. Тогда его можно было бы превратить во вспомогательный процессор в некоторых играх. Например, в графический сопроцессор. Хотя конечно, кому это надо сейчас...

Shiru
13.04.2005, 19:25
Так в этом-то и дело, что можно. И народ, несмотря на то, что реально таким образом GS не использовалась (только Riff tracker, и бесполезный кривоэмулятор AY), огорчается по поводу убирания этой возможности из предполагаемого нового GS'а.

random
13.04.2005, 19:31
Не верю что никто этого не делал. Помню на собрании спектрумистов в ЛЭТИ неподалеку от Логроса в конце зимы 95-96ого года обсуждалась эта возможность и кто-то даже говорил что делает именно это (использование GS как сопроцессора). К сожалению запамятовал кто именно. Наверняка здесь есть люди с более хорошей памятью.

jtn
13.04.2005, 19:33
Так в этом-то и дело, что можно. И народ, несмотря на то, что реально таким образом GS не использовалась (только Riff tracker, и бесполезный кривоэмулятор AY), огорчается по поводу убирания этой возможности из предполагаемого нового GS'а.
а почему? а потому что нету GSа. вот появится дешевая полнофункциональная версия польется софт рекой...

p.s. в каждой шутке есть доля шутки

CHRV
13.04.2005, 21:08
а почему? а потому что нету GSа. вот появится дешевая полнофункциональная версия польется софт рекой...

p.s. в каждой шутке есть доля шутки
Гы смешно!
ГС будет, но не на Z80 и называться будет по другому! Той убогости что звалась ГСом не будет, слишком неоправдано производство такой платы!
Работа ведется пока теоретическая. Хочется вложить более серьезные возможности и дискретизацию согласно сложившимся стандартам!
А так я за месяц могу подготовить производство плат ГС в старом варинте (благо схема есть) ... но спрашивается зачем.

Shiru
13.04.2005, 21:18
Не верю что никто этого не делал. Помню на собрании спектрумистов в ЛЭТИ неподалеку от Логроса в конце зимы 95-96ого года обсуждалась эта возможность и кто-то даже говорил что делает именно это (использование GS как сопроцессора). К сожалению запамятовал кто именно. Наверняка здесь есть люди с более хорошей памятью.
Делали. Что-то кто-то где-то, для себя, у него и осталось-стёрлось-утеряно. Нам до этого какое дело? Где на VT софт, который использует GS таким образом?


а почему? а потому что нету GSа. вот появится дешевая полнофункциональная версия польется софт рекой...
Фигня;) Что-то не полился софт рекой, несмотря на то, что у народа был GS, а сейчас в двух эмуляторах есть его поддержка (low-level). Никто не будет писать такой софт, потому-что девайс есть не у всех, и будет не у всех. Сколько существует наворотов ZX - расширенные экраны, всякие там DMA - ну, и кто их использует?

Vladimir Kladov
13.04.2005, 21:51
а сейчас в двух эмуляторах есть его поддержка (low-level)
я бы счетчик удвоил как минимум :) По моим сведений таких эмулей штук 5 уже будет, если не больше. Причем low level реализован как раз у всех у них.

Costa
13.04.2005, 22:29
ГС будет, но не на Z80 и называться будет по другому!
Это как понять ГС будет и в то же время вроде и не будет.
Логичнее сказать будет новая карта совместимая с ГС.

Той убогости что звалась ГСом не будет, слишком неоправдано производство такой платы!
Не соглашусь,если так говорить то и спектрум убог и всё железо вокруг,
даже телевизор и микроволновка,ибо нет предела совершенству и удешевлению производства.в ГС только с цапами не очень а остальное всё не плохо.
Да и припомни дату разработки,что на тот момент у разработчиков был большой выбор доступных деталей?,да и микроконтроллеры были не дёшевы.

Shiru
13.04.2005, 22:41
я бы счетчик удвоил как минимум По моим сведений таких эмулей штук 5 уже будет, если не больше. Причем low level реализован как раз у всех у них.
Там должно было быть слово 'популярных'.. Хотя теперь их стало побольше:)

-=<STS>=-
14.04.2005, 11:49
:o Про использование ГС как сопроцессор могу сказать что такое возможно, я это делал, но в зависимости от того что конкретно нужно возникают нюансы реализации этих использований. Например простые математические функции пихать в ГС нецелесообразно, потому что:
ввод и вывод данных происходит через порты соответственно ввода и вывода, что накладывает на себя время ожидания подтверждения передачи и получения этих передаваемых данных. :mad:
Если уж запихивать, то запихивать цельные модули.
С 3Д графикой внутри ГС тоже облом получается. Хоть оно внутри и быстрее рисуется, но выкачивание виртуального экрана из ГС - дело тактоёмкое и медленное, из-за тех же ожиданий. :sleep:

Я вот его использовал например как независимые часы-будильник :p . Я туда резидентик пихал и этот будильник меня по утрам будил чтобы я ББС отрубал :D

Ну в общем надо думать чего как, а не с бухтыбарахты.... :)

Vladimir Kladov
14.04.2005, 15:00
С 3Д графикой внутри ГС тоже облом получается
а если внутри ГС выполнять только обсчет граней, и обрезку невидимых линий, а в самом спеке только рендерить экран по готовой секвенции граней/отрезков? Тогда и дум можно догнать до пол-экрана и гораздо быстрей чем 1 фпс. ГС все-таки 12МГц, еще и гонится говорят на иных z80.

-=<STS>=-
14.04.2005, 15:42
Я и говорю, модульно надо мыслить, модульно... :)

random
14.04.2005, 16:59
просто заранее надо посчитать что дольше просчитывать чем получать из GS. это же элементарно в тактах расчитать.

CHRV
14.04.2005, 17:32
просто заранее надо посчитать что дольше просчитывать чем получать из GS. это же элементарно в тактах расчитать.
Если уж делать ускоритель то это должен быть ускоритель с генлоком работающий передним планом...На ГС ничего такого делать не стоит да и не будет никто :)

GriV
14.04.2005, 18:11
или там ZXAureal? :)
Прикольно придумали!

Надо сам камень разгонять, прежде чем периферию гнать!

psb
14.04.2005, 18:38
Так в этом-то и дело, что можно. И народ, несмотря на то, что реально таким образом GS не использовалась (только Riff tracker, и бесполезный кривоэмулятор AY), огорчается по поводу убирания этой возможности из предполагаемого нового GS'а.

ага, ага... а про бесполезный R.A.P. забыли... в своё время это была рулезная прога :))) а сейчас, это уже никому не нужно, что рифф трекер, что рэп, что эмуль АY... вэлкам ту реалити! :|

Shiru
14.04.2005, 18:48
ага, ага... а про бесполезный R.A.P. забыли... в своё время это была рулезная прога )) а сейчас, это уже никому не нужно, что рифф трекер, что рэп, что эмуль АY... вэлкам ту реалити!
Что есть R.A.P? Riff tracker нужен - но его можно доработать. Эмуль AY - не нужен, ибо это чушь (мощности GS на приличную эмуляцию не хватит, как не крути, + обращение всё равно идёт через её порты). А вот в новой железке эмуляцию AY сделать можно, вполне достойную.

Costa
14.04.2005, 19:58
А вот в новой железке эмуляцию AY сделать можно, вполне достойную.
Зачем это нужно то?настоящий АУк и так стоит в каждом спеке.
не предлагаешь же всем взять его и выкинуть :)
это оправданно только при пректировке нового компа для удешевления,да и то сомнительно.

Shiru
14.04.2005, 20:46
AY сейчас редкость, может так случиться, что их вообще не станет - это раз. Два - это возможность попробовать возможности turbosound'а, имея 1 AY :)

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

Costa
14.04.2005, 21:05
AY сейчас редкость, может так случиться, что их вообще не станет - это раз.Да какая редкость!Их наверно столько было выпущено что нам лет на 100 вперёд хватит:)

Costa
14.04.2005, 21:15
2CHRV
А можно услышать что предполагается в новой карте,какие возможности,схематика,ну хотя бы ориентировочно?
или проект закрытый?

Shiru
14.04.2005, 22:07
Предполагается ATmega64 @16mhz (~16mips), 512kb SRAM (возможно с расширением до 1mb), 16-bit стерео-DAC. Мелкая логика в плис.

Возможности - главный план: совместимость с GS по командам, проигрывание mod и эффектов с более высоким качеством, чем это делал оригинальный GS. Дополнительные фишки, возможно, добавятся позднее, т.к. будет предусмотрена возможность обновления firmware прямо на Спектруме, без программатора.

Costa
14.04.2005, 22:37
т е 4канала будут уже микшироваться программно.
А предполагается ли работа с 16бит?

Shiru
15.04.2005, 00:02
Какого рода работа? Проигрывание 16-битных сэмплов? А зачем? Оригинальный GS этого не умеет, соответственно, софта такого нет, а если написать - он будет работать только с этой картой.

Dr.Lion/RSM
15.04.2005, 02:25
Народ, всё класно, только я не пойму, чем вам не угодил мой эмулятор AY на GS?
Сейчас имеется новый движок эмулятора, выжимающий из GS частоту дискретизации для эмуляции 18750Hz. Вообще, частота дискретизации влияет лишь на качество генерации шума и на максимально высокую воспроизводимую частоту тона (сейчас она равна 9375Hz). Такой эмулятор нужен в любом случае т.к. появляются тенденции к созданию шестиканального треккера (на два AY), но
эмулей (насчет реала умолчу), поддерживающих два AY (например по схеме Turbo Sound) вообще нет! И как быть? Хотя бы временным решением проблемы может стать именно эмулятор AY на апаратуре GS, ведь поддержка GS реализована у всех более-менее серьёзных эмулях.
Самое главное преимущество эмулятора AY - в его гибкости, ведь его код всегда можно изменить под свои нужды (если кому интересно, могу пояснить, какая в этом полезность).
Насчет новой версии GS я не имею ничего против, меня только волнуют вопросы:
1.Будет ли новая версия GS такой же дорогой и недоступной, как предыдущая?
2.Зачем применять в GS новый процессор? От этого пострадают, в первую очередь, такие люди, как я, которые умеют работать с железом GS только напрямую (ведь Z80 - он и в Африке Z80)! Конечно, можно изучить новую систему комманд и продолжать Dirrect GS Programming, но кому это нужно?
Мне кажется, гуманнее применить в новом GS более мощьный процессор ф. Zilog, совместимый по системе комманд с Z80.

Максагор
15.04.2005, 03:50
Гы смешно!
ГС будет, но не на Z80 и называться будет по другому! Той убогости что звалась ГСом не будет, слишком неоправдано производство такой платы!
Работа ведется пока теоретическая. Хочется вложить более серьезные возможности и дискретизацию согласно сложившимся стандартам!
А так я за месяц могу подготовить производство плат ГС в старом варинте (благо схема есть) ... но спрашивается зачем.

Вопрос дилетанта, но все же: А почему бы просто не переразвести плату под новую элементную базу - логику запрятать в ПЛМ, проц разогнать до 21МГц (соответственно, подправив константы в ПЗУ), как у Спринтера, да и память расширить, сделав, к тому же, возможносьб отключения ПЗУ в нижних 32Кб?

newart
15.04.2005, 04:39
Вопрос дилетанта, но все же: А почему бы просто не переразвести плату под новую элементную базу - логику запрятать в ПЛМ, проц разогнать до 21МГц (соответственно, подправив константы в ПЗУ), как у Спринтера, да и память расширить, сделав, к тому же, возможносьб отключения ПЗУ в нижних 32Кб?
Старые платы после сборки требовали настройки, с новыми после такого апгрейда будет еще больше проблем.
А подправлять в пзу придется не только констатны, но и таблички пересчитывать...

Shiru
15.04.2005, 05:54
Народ, всё класно, только я не пойму, чем вам не угодил мой эмулятор AY на GS?
Это интересный эксперимент, но практической пользы никакой - точность эмуляции очень низка. И как ты не извращайся, до приемлимого уровня её не повысить - GS слабовата. И скорость не та, и реальную табличку громкости не сделать, нет полноценного 16-бит ЦАП.

Такой эмулятор нужен в любом случае т.к. появляются тенденции к созданию шестиканального треккера (на два AY), но
Тот, кто делает трекер, имеет реальный TS. А этот недоэмулятор никакой пользы не даст, т.к. звучит погано (будет очень заметна разница). Никто ведь не мешает писать трекер, имея только 1 AY. Уверен на 200%, что это реально, и никаких сложностей не вызовет (отлаживать по 3 канала - какие проблемы?) - был-бы только смысл.

Самое главное преимущество эмулятора AY - в его гибкости, ведь его код всегда можно изменить под свои нужды (если кому интересно, могу пояснить, какая в этом полезность).
Поясни. Я только ткну пальцем в два недостатка: никакое качество, которое невозможно повысить до приемлимого уровня, и необходимость модификации программ для работы с таким AY.

1.Будет ли новая версия GS такой же дорогой и недоступной, как предыдущая?
$35-40. По моим меркам - более чем доступная.

2.Зачем применять в GS новый процессор? От этого пострадают, в первую очередь, такие люди, как я, которые умеют работать с железом GS только напрямую (ведь Z80 - он и в Африке Z80)! Конечно, можно изучить новую систему комманд и продолжать Dirrect GS Programming, но кому это нужно?
Мне кажется, гуманнее применить в новом GS более мощьный процессор ф. Zilog, совместимый по системе комманд с Z80.
Затем, что мощнее, дешевле, технологичнее. Direct Programming'а в этой карте не будет _вообще_, только замена прошивки (кроссассемблера на ZX нет, а микроконтроллер не умеет исполнять код из RAM - раздельные области данных/команд).

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

ukms[z]
15.04.2005, 15:09
когда я дорабатывал рифф для работы с винтом, я довольно глубоко в нём покопался и вот что скажу - не знаю как с нонешним риффом, а в более старом от волга софт использовались только недокументированые команды GS, а код внутрь не заливался. это использовалось для скачивания или закачивания паттернов и вообще - для выборочной работы с памятью, т.к. в стандарных командах такой возможности нет.

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

jtn
15.04.2005, 20:56
Вопрос дилетанта, но все же: А почему бы просто не переразвести плату под новую элементную базу - логику запрятать в ПЛМ, проц разогнать до 21МГц (соответственно, подправив константы в ПЗУ), как у Спринтера, да и память расширить, сделав, к тому же, возможносьб отключения ПЗУ в нижних 32Кб?
ответ один - существенно дороже

jtn
15.04.2005, 21:01
Старые платы после сборки требовали настройки, с новыми после такого апгрейда будет еще больше проблем.
А подправлять в пзу придется не только констатны, но и таблички пересчитывать...
если будет действительно GS-клон на Z80 с возможностью разгона, то надо просто расчитывать таблички при холодном старте, т.е. при включении GS в розетку. как это было сделано в старом добром ModPlayer by Cobra, а также в Extreme Tracker 2.10 by Red Ltd

Mike
18.04.2005, 12:43
Мне больше понравилась идея DMA Sound. Но раз речь именно о GS...
А почему только 4 канала ? Если бы сделать 32, с аппаратным миксингом можно было бы и XM послушать ? И игрушке хватило бы и на музыку и на эффекты. Почему миксинг не сделать на DSP, не слишком мощьном и дорогом ? Скажите бредовая идея, дорого и никому не надо ? Ладно, тогда хотябы 8 каналов, что бы Mod играл и звук в игрушке был полноценный. Оригинальный Mod определился железом родителя, т. е. Amiga. Там фактически 14-bit на вывод, 8-на семпл и 6-на громкость, хотя можно и 14-битные семплы выводить было, это всё нормально работало. В DMA - это реально, думаю в новом GS тоже должно быть. Точнее 16-bit DAC, который можно использовать как 16-битный вывод, как 8+6 вывод как 14-битный вывод. И ещё неплохо бы предусмотреть регулировку панорамы для каждого канала, хотя бы 4-х битную. А то уже достало Drumkit слева, Фортепьяно справа. А на стереосемплы 4-х каналов явно недостаточно (и 8-ми тоже).

Какая память должна использоватся в девайсе ?
SRAM ? или Simm 72-pin ?

За оригинальный GS (или ваш GS, повторяющий оригинал), Я бы 1000 (максимум 1500) р. дал бы вполне. За нечто более интересное, и 2000 р. непожалел бы.

Shiru
18.04.2005, 19:17
То, что ты описал в посте, будет стоить далеко не 2000р. Тут уже дешёвым микроконтроллером на 16mhz не обойдёшься...

Mike
18.04.2005, 19:48
То, что ты описал в посте, будет стоить далеко не 2000р. Тут уже дешёвым микроконтроллером на 16mhz не обойдёшься...

А если ограничится 8-ю каналами ?

Shiru
18.04.2005, 20:18
Если хватит производительности - эффекты и музыка будут иметь раздельные каналы. Т.к. микширование полностью программное - в этом есть некоторые сомнения.

Mike
19.04.2005, 10:18
Чесно говоря, сделать бы новую плату, на базе скорпиона или АТМ, под AT или ATX корпус, с установленным DMA Sound. Точнее даже не с целиком DMA Sound, а с DMA-контроллером и счётчиками-таймерами, а для цапов слот оставить, для тех кому надо. И вообще сделать по человечески с разъёмами расширения на против окошек, предназначенных для плат. И платы так же делать, что бы разъёмы снаружи были, а не внутри. И контроллер PC (PS/2) Mouse + Keyboard туда-же, всё равно все явно поставят, ну или если не все то большая часть. Вот и был бы ATM 3+ :)
И/или сделать новый GS, с DMA-контроллером(ами), и собственной памятью, на бызе микроконтроллера. И ему легче будет, не придётся ставить дорогой и мощный, и на звук аналоговый миксинг положительно скажется.
Можно ли подвесить два DMA-контроллера, на не слишком мощный микроконтроллер, для организации 8-ми каналов ?
Возможно имеет смысл ставить по три ЦАП-а на канал, 1-й основной, 2-й громкость левого канала, 3-й громкость правого канала, даже если будет сделан 4-х канальный вариант.
Сильно-ли увеличит стоимость девайса, такое количество ЦАП-ов (16-24шт.)?

Давайте подумаем, как лучше будет организовать работу девайса.
1. Софтверный миксинг, на микроконтроллере, с выдачей на 2 ЦАП-а.
Преимущества:
Небольшие размеры платы, возможность модефикации програмного обеспечения контроллера, для различных задач. Т.е. выше качество - меньше каналов, Ниже качество - больше каналов, введение дополнительных возможностей (несложной обработки, фильтрации...)
Всего два ЦАП-а на плате, значит можно поставить чуть подороже, получше.
Недостатки:
Требуется мощный контроллер, вследствии - увеличение цены. Потребность в написании кода, при том далеко не самого простого.
Относительно-высокое качество звука, при более чем 2-4-х каналах реализовать не удастся, из за ограниченний по мощности.
2. Аппаратный миксинг на ALTERA, с выдачей на 2 ЦАП-а.
Преимущества:
Значительно большие мощности позволят организовать бОльшее количество каналов, при достаточно высоком качестве.
Очень гибкое програмирование девайса, вплоть до организации синтеза звука, эмуляции разлиличных чипов (AY например)
Всего два ЦАП-а на плате, значит можно поставить чуть подороже, получше.
Возможность использовать как свою так и общую память. (Требуеться ли доработка спектрума ?)
Недостатки:
Высокая стоимость ALTERA, увеличивающая стоимость девайса.
Качество звука уступающее аналоговому миксингу.
3. Аналоговый миксинг с N-Цапов, аналоговая регулировка громкости (и возможно панорамы) канала. Управление и перекидывание информации из памяти в ЦАП-ы микроконтроллером.
Преимущества:
Невысокая стоимость микроконтроллера, проще его програмирование.
Наивысшее качество миксинга из всех возможных, без компромиссов.
Недостатки:
Жёсткая неизменная конфигурация.
Большое количество ЦАП-ов, увеличивающее размеры платы, удорожающих устройство со своей стороны.
4. Комбинация из аппаратного миксинга на ALTERA и аналогового миксинга с небольшим количеством ЦАП-ов.
Преимущества и недостатки свойственные п. 2 и п. 3
+Возможность организации 4-x канального выхода для квадро-звука. :)


Хорошие новости (хотя думаю они не для всех будут являтся новостами):
Появилась информация, что ведутся переговоры между Петерс+ и производителями ATM, по поводу возобновления производства Спринтеров. :) Надеюсь они придут к взаимовыгодному соглашению. Информация от компании Петерс+.

Shiru
19.04.2005, 11:55
DMA, DMA... Зациклились вы на DMA? Типа-круто, потому-что в Амиге, да?;) А как насчёт интерполяции отсчётов при воспроизведении звука через DMA->DAC?

lvd
19.04.2005, 12:35
DMA, DMA... Зациклились вы на DMA? Типа-круто, потому-что в Амиге, да?;) А как насчёт интерполяции отсчётов при воспроизведении звука через DMA->DAC?

Щас посмотрел схему ГСа - там лепят НМИ частотой 37500 Гц, и видимо об интерполяции там речь вообще не идёт =) Вот тут как раз основное преимущество ДМА-подобных методов - можно частоту дискретизации задавать любую.

Costa
19.04.2005, 18:59
Щас посмотрел схему ГСа - там лепят НМИ частотой 37500 Гц, и видимо об интерполяции там речь вообще не идёт =) Вот тут как раз основное преимущество ДМА-подобных методов - можно частоту дискретизации задавать любую.Так вроде интерполяция и дескретизация это не одно и тоже,допустим берём семпл 22кГц и хотим воспроизвести с двухкратной интеполяцией то нужно поднимать частоту вывода до 88кГц.разве нельзя программно это сделать?

jtn
19.04.2005, 19:11
Щас посмотрел схему ГСа - там лепят НМИ частотой 37500 Гц, и видимо об интерполяции там речь вообще не идёт =) Вот тут как раз основное преимущество ДМА-подобных методов - можно частоту дискретизации задавать любую.
во-первых глюк - не NMI, а INT. во вторых много ли ты видел сэмплов в модах с высокими частотами? так что интерполяция имеет место быть, "если успеется"

Mike
19.04.2005, 21:05
Так вроде интерполяция и дескретизация это не одно и тоже,допустим берём семпл 22кГц и хотим воспроизвести с двухкратной интеполяцией то нужно поднимать частоту вывода до 88кГц.разве нельзя программно это сделать?

Интерполяция - дело непростое, по хорошему кроме как на DSP, это практически не реализуемо из за нехватки мощностей.
В плане софтварной интерполяции, миксинга, тут не то что трекеры, Cubase c Logic довольно погано это делают, при том, что на немаломощьных машинах.

Shiru
19.04.2005, 21:25
Сколько не повышай частоту дискретизации, если сэмпл играется на 8000-10000 кгц, он будет хрипеть и трещать. Нужна хотя-бы линейная интерполяция, чтобы он зазвучал гладко и шелковисто. Интерполяция - это расчёт недостающих значений между выборками.


Интерполяция - дело непростое, по хорошему кроме как на DSP, это практически не реализуемо из за нехватки мощностей.
Ну конечно непростое - сложение, вычитание, умножение, сдвиг (линейная) ;) Есть в любом плеере трекерных модулей на PC. Мегаточность тут не нужна, линейная или кубическая - вполне достаточна.

lvd
19.04.2005, 22:15
Ну конечно непростое - сложение, вычитание, умножение, сдвиг (линейная) ;) Есть в любом плеере трекерных модулей на PC. Мегаточность тут не нужна, линейная или кубическая - вполне достаточна.

А на самом деле передискретизация делается не так. Если есть сигнал с частотой выборок f1 и его надо переделать в частоту f2 (f2>f1), то сначала f1 надо перевести в частоту f0 = Наименьшее_Общее_Кратное(f1, f2) следующим способом: каждая n-ная выборка = выборкам подряд из f1, остальные нуль (n=f0/f1). Потом на этой частоте f0 надо сделать хорошую цифровую фильтрацию с частотой среза f2/2, и наконец каждую m-ную выборку отправить в канал f2 (m=f0/f2). В реальности конечно обходятся без явной частоты f0, всё делают полифазными фильтрами, но тем не менее, это очень прожорливый процесс. Достаточно посмотреть ay_emul бульбуляторный =), сколько он жрёт процессора. В случае с семплами произвольной частоты дело осложняется тем, что частота произвольная =)

Так что лучше не извращаться, а делать-таки как на амиге - c изменяемой, но точной частотой, той, которая нужна семплу =)

Costa
19.04.2005, 22:24
Сколько не повышай частоту дискретизации, если сэмпл играется на 8000-10000 кгц, он будет хрипеть и трещать. Нужна хотя-бы линейная интерполяция, чтобы он зазвучал гладко и шелковисто. Интерполяция - это расчёт недостающих значений между выборками.
Да да,я в курсе,но интерполяция как раз подразумевает увелечение дискретезации,а иначе как вывести то дополнительные значения выборок.

lvd
19.04.2005, 22:28
во-первых глюк - не NMI, а INT.

Действительно глюк. Я ещё думал, а зах они на НМИ RC-цепочкой импульс делают? А оказывается что ИНТ. Даже и номера выводов з80 там правильно указаны, названия только перепутаны.



во вторых много ли ты видел сэмплов в модах с высокими частотами?

Вот взял мой любимый - из демы symbolia (amiga). Там как раз и с частотам 8-10 кгц есть.



так что интерполяция имеет место быть, "если успеется"

Так всё-таки ГС интерполирует или нет отсчёты?

Costa
19.04.2005, 22:29
Так что лучше не извращаться, а делать-таки как на амиге - c изменяемой, но точной частотой, той, которая нужна семплу =)
Так вроде в GS тоже можно любую частоту ставить до какогото предела.
ну судя по схеме там цапы процессором стробируются.т е программно а не клоком.

lvd
19.04.2005, 22:30
Так вроде интерполяция и дескретизация это не одно и тоже,допустим берём семпл 22кГц и хотим воспроизвести с двухкратной интеполяцией то нужно поднимать частоту вывода до 88кГц.разве нельзя программно это сделать?

Ну в смысле, что там тупая передискретизация под 37500 гц без интерполяции (не говоря уж о честном методе передискретизации).

Хотя - есть ли там хоть линейная - я точно не знаю, могу только предполагать, что нифига нет. :)

Costa
19.04.2005, 22:42
37500 гц
Это вроде максимальная частота с которой GS позволяет выводить.
ты уверен что она подаётся на int?
я по счётчикам прикинул и у меня другая частота получилась.
хотя я может не до конца разобрался.

lvd
19.04.2005, 22:59
Так вроде в GS тоже можно любую частоту ставить до какогото предела.

Процессором конечно можно, но ведь не зря там инт 37500 гц идёт? По идее видимо именно с такой частотой играются все семплы по прерываниям, а в осн. цикле проц только мод интерпретирует не спеша.

lvd
19.04.2005, 23:01
Это вроде максимальная частота с которой GS позволяет выводить.
ты уверен что она подаётся на int?

В описании так и сказано.



я по счётчикам прикинул и у меня другая частота получилась.
хотя я может не до конца разобрался.

Ну первый видимо на 10 делит, а остальные на 16 и на 2 - получается в сумме 320. 12000000/320=37500

В каждом инте 320 тактов - вполне достаточно для вывода 4 значений цапа!

Costa
19.04.2005, 23:11
Ну первый видимо на 10 делит
да так,всё правильно,в нём я и ошибся.

Costa
19.04.2005, 23:18
Процессором конечно можно, но ведь не зря там инт 37500 гц идёт? По идее видимо именно с такой частотой играются все семплы по прерываниям, а в осн. цикле проц только мод интерпретирует не спеша.
Согласен,вполне разумно.
интерпретирует и интерполирует=)

Shiru
19.04.2005, 23:44
Передискретизация возникает как раз из-за ресемплинга. Есть сэмпл с частотой 8000гц, мы играем его на 32кгц. Получается, что какие-то отсчёты дублируются, т.е. реально он играется с низкой частотой, резко меняя уровень сигнала каждые N отсчётов. Интерполяция должна сгладить эти переходы, сделает звук более 'плавным'.

В оригинальном GS интерполяции нет. И в устройстве, которое воспроизводит аудио через DMA (напрямую из памяти в DAC) сделать её невозможно.

jtn
20.04.2005, 03:17
Так всё-таки ГС интерполирует или нет отсчёты?
по описанию автора - да. как я уже цитировал - "если успеется" (это вроде из какой-то статьи из Sp. Expert)

jtn
20.04.2005, 03:21
Так вроде в GS тоже можно любую частоту ставить до какогото предела.
ну судя по схеме там цапы процессором стробируются.т е программно а не клоком.
совершенно верно, поэтому выкидывать сэмплы с частотой не равной 37,5khz все равно что играть AY музыку не по прерываниям 50hz.

jtn
20.04.2005, 03:26
В описании так и сказано.



Ну первый видимо на 10 делит, а остальные на 16 и на 2 - получается в сумме 320. 12000000/320=37500

В каждом инте 320 тактов - вполне достаточно для вывода 4 значений цапа!
интересно, если он каждые 320 тактов тратит на вывод 4х значений, когда же сам mod интерпретируется %) ?

jtn
20.04.2005, 03:35
В оригинальном GS интерполяции нет.
не доказано

И в устройстве, которое воспроизводит аудио через DMA (напрямую из памяти в DAC) сделать её невозможно.
ну как так... на прерываниях ГС по сути выполняет функцию DMA - просто кидаются данные из 4х буферов в цапы, а во все остальное время интерпретирует MOD, в том числе по заверениям Stringer'a делается линейная интерполяция, если успевает по тактам.

Shiru
20.04.2005, 03:58
во все остальное время интерпретирует MOD, в том числе по заверениям Stringer'a делается линейная интерполяция, если успевает по тактам.
Интерполяцию нельзя делать 'в остальное время'. Она делается при _каждом_ выводе в ЦАП - берётся значение предыдущего и текущего сэмпла, и по дробной части указателя высчитывается значение для вывода.

btw, парсинг кадра и строки трека занимает куда больше 320 тактов... Там километр условий.

Что касается интерполяции - вот, если кому неясно, зачем она нужна: http://www.alpha-ii.com/Info/AudioInt.html

Если производительности нового GS хватит - линейная интерполяция будет. Это важнее лишних каналов.

Shiru
20.04.2005, 04:03
не доказано
Так это элементарно доказывается;) Врубаем в Unreal Speccy низкоуровневую эмуляцию GS, слушаем какой-либо модуль. Потом этот-же модуль слушаем с высокоуровневой эмуляцией (bass делает интерполяцию при проигрывании), либо в любом внешнем плеере, врубив там линейную интерполяцию (можно также выбрать частоту 32кгц). Разница очень легко ощутима на слух, особенно на низких нотах.

Mike
20.04.2005, 09:52
Ну конечно непростое - сложение, вычитание, умножение, сдвиг (линейная) ;) Есть в любом плеере трекерных модулей на PC. Мегаточность тут не нужна, линейная или кубическая - вполне достаточна.

Плейеры тракерной музыки, являются самым низкокачественным примером интерполяции и миксинга звука. А для действительно качественноой интерполяции нужна не Мега-точность, а Гига-точность. Или получается ещё один трекер или Cubase. Которые испоганят любой звук, любого качества. И 96 Khz 24 bit сдесь не спасают.

lvd
20.04.2005, 11:18
совершенно верно, поэтому выкидывать сэмплы с частотой не равной 37,5khz все равно что играть AY музыку не по прерываниям 50hz.

Нет, не так =) АУ можно и на 25гц играть, и на 100гц, а ещё ему можно частоту подкрутить - и будет не хуже. А вот если его эмулировать как попало в 44100гц - то будет то же, что и играть семплы в 44100 Гц (или 37500, не важно). =)

lvd
20.04.2005, 11:23
Что касается интерполяции - вот, если кому неясно, зачем она нужна: http://www.alpha-ii.com/Info/AudioInt.html


Ну да, 'if we look', 'also notice the hard edges'. Интересно, а что произойдёт со СПЕКТРОМ сигнала, когда ты его линейно или ещё как проинтерполируешь? Кстати второй пример там некорректен, там явно есть частоты с F>8кгц.

lvd
20.04.2005, 13:27
Плейеры тракерной музыки, являются самым низкокачественным примером интерполяции и миксинга звука. А для действительно качественноой интерполяции нужна не Мега-точность, а Гига-точность. Или получается ещё один трекер или Cubase. Которые испоганят любой звук, любого качества. И 96 Khz 24 bit сдесь не спасают.

Нет, для действительно качественной передискретизации не нужна никакая интерполяция, ни с мегаточностью, ни с гигаточностью. Нужна просто правильная цифровая передискретизация и фильтрация. Какая - я уже писал. Всё остальное - один большой фейк, от неспособности ставить произвольную частоту семплирования =)

lvd
20.04.2005, 13:28
И ещё в догонку - как интерполировать 37500/1.5=25000 Гц семпл в 37500 гц?

psb
20.04.2005, 15:34
ну вы, товарищи, даёёёте :/ спорите о том, чего даже не видели, не то что слышали...

я ГС программил, и могу вам на 100% сказать, что:

1. Интерполяция там есть линейная (и не надо тут заливать по поводу послушать эмуль и сравнить басс.длл! если хотите - возтмите рифф трекер и послушайте семплы на низких нотах... да че там, на реальных ГС даже слышно, что она есть);

2. Не следует понимать "как успеется" в том смысле, что не хватит быстродействия. по-моему, это всего лишь означает, что она может проводиться через раз от семпла к семплу (по обьективным причинам, так как при "передискретизации", например, с 25000 на 37500, средний отсчет будет вставляться не всегда, ибо это невозможно, и это правильно);

3. Int в ГС приходит с частотой 37500Гц (гадаете тут че-то, даже не почитав написанные уже давно статьи в популярных журналах). Значения в ЦАПы выкидываются чтением из определенной области памяти. это удобно! там создается буфер готовых данных, т.е. именно тех, которые нужно выкидывать в ЦАПы с частотой 37500. и 320 тактов, для того, чтобы прочитать память... этого хватает;

4. А мод ГС интерпретирует тоже нормально. ему не надо укладываться в 320 тактов, у него времени вагоон! ему, главное, подготовить новый буфер до того, как проиграется старый (при коротких циклах в сэмплах он не успевает, а потому тормозит, и это тоже было задокументировани очень давно!).


что касается линейной интерполяции. по смыслу - это лажа! это неправильно! да, звук перестаёт звинеть, но это неправильно. ГС успевает её считать запросто, ниче сложного в линейной нет, по таблицам всё делается быстро (у меня в R.A.P.е в реальном времени тоже считается, всё путём). и всякие сплайновые интерполяции - это тоже лажа для звука!

а какая должна быть правильная интерполяция? читайте SE#2, статью про музыку. такое чувство, что многие из пишуших здесь ничего и не читали, а было столько полезного написано :/

Dr.Lion/RSM
20.04.2005, 17:17
3. Int в ГС приходит с частотой 37500Гц (гадаете тут че-то, даже не почитав написанные уже давно статьи в популярных журналах). Значения в ЦАПы выкидываются чтением из определенной области памяти. это удобно! там создается буфер готовых данных, т.е. именно тех, которые нужно выкидывать в ЦАПы с частотой 37500. и 320 тактов, для того, чтобы прочитать память... этого хватает;

4. А мод ГС интерпретирует тоже нормально. ему не надо укладываться в 320 тактов, у него времени вагоон! ему, главное, подготовить новый буфер до того, как проиграется старый (при коротких циклах в сэмплах он не успевает, а потому тормозит, и это тоже было задокументировани очень давно!).
Каков размер буфера подготовленных для вывода в ЦАПы данных? Я как не прикидывал, не получается у меня в рамках GS успеть интерпретировать модуль и подготовить буфер (да ещё чтоб с линейной интерполяцией)!

SMT
20.04.2005, 21:21
Ещё раз повторюсь - карта, о которой идёт речь - только функциональная замена GS, совместимая на уровне команд, но не более того. Включите в Unreal Speccy высокоуровневую эмуляцию GS - вот что это будета слабо полностью проэмулировать эмулятор, то есть играть mod/xm/s3m/it в режиме "высокоуровневой эмуляции" :) :) ;)


В реальности конечно обходятся без явной частоты f0, всё делают полифазными фильтрами, но тем не менее, это очень прожорливый процесс. Достаточно посмотреть ay_emul бульбуляторный =), сколько он жрёт процессораunreal тоже самое делает, и ничего, особенно на процессор не жалуется

Shiru
20.04.2005, 21:30
а слабо полностью проэмулировать эмулятор, то есть играть mod/xm/s3m/it в режиме "высокоуровневой эмуляции"
Скорости не хватит.

lvd
20.04.2005, 23:51
а слабо полностью проэмулировать эмулятор, то есть играть mod/xm/s3m/it в режиме "высокоуровневой эмуляции" :) :) ;)


А слабо YM2203 проэмулировать? :) :) ;)

Shiru
21.04.2005, 02:31
А слабо YM2203 проэмулировать?
SMT это сделать не слабо. Исходники эмуляторов почти всей линейки YM-чипов открыты (см. исходники MAME). Только смысл?

А вообще, исходники US также открыты - так что бери и прикручивай, если действительно надо:)

psb
21.04.2005, 19:36
Каков размер буфера подготовленных для вывода в ЦАПы данных? Я как не прикидывал, не получается у меня в рамках GS успеть интерпретировать модуль и подготовить буфер (да ещё чтоб с линейной интерполяцией)!

с ходу не могу сказать, но, думаю, удобно было бы делать буфер на 256 байт на каждый канал. т.е. один создаем, другой играем.

интерполяция делается быстро, если по таблицам.

а что долгого в интерпретации модуля?

и это... исходники же открыты! прошивка тоже есть, посидеть часик-два - будут все ответы на твои вопросы...

Dr.Lion/RSM
21.04.2005, 20:55
с ходу не могу сказать, но, думаю, удобно было бы делать буфер на 256 байт на каждый канал. т.е. один создаем, другой играем.

интерполяция делается быстро, если по таблицам.

а что долгого в интерпретации модуля?

и это... исходники же открыты! прошивка тоже есть, посидеть часик-два - будут все ответы на твои вопросы...
Просто я уже задумывался над попросом формирования буфера для вывода на ЦАПы, когда проектировал свой эмуль AY на GS. Но у меня ничего путного не вышло, поэтому звук генерируется и вывадится на ЦАПы в реальном времени.

jtn
22.04.2005, 00:23
8к там под буферы, т.е. по 2к на канал, чередуются они чере 256байт и начинаюся с #6000, а напрямую в цапы нельзя выводить - сначала в память нужно записать, а потом читать оттуда. почитали бы хоть мануал что ли из стандартной поставки...

psb
22.04.2005, 15:19
Просто я уже задумывался над попросом формирования буфера для вывода на ЦАПы, когда проектировал свой эмуль AY на GS. Но у меня ничего путного не вышло, поэтому звук генерируется и вывадится на ЦАПы в реальном времени.

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

Dr.Lion/RSM
22.04.2005, 17:48
просто у тя задача более ресурсоемкая, и неудобно юзать инт, потому что ты не успеваешь никак сделать под 37500 гц. я тоже уже давно хотел сделать эмуль ау, но пришел к выводу, что на 37500 его не сделать, а значит качество отстойное получится... и не стал.
Сейчас есть версия под 18750Гц! Вообще, частота дискретизации (в моем случае) влияет лишь на максимально высокую воспроизводимую частоту того или иного генератора. Для тональных генераторов качество ни в чём не поменялось, только выросла максимальная частота - с 6 до 9 кГц. Для генератора огибающей ситуация аналогичная. Другое дело с негератором шума - поднятие частоты дискретизации положительно сказалось на частотном спектре шума и теперь звук в общем звучит не так глухо.
Но я, всё таки, хотел бы придумать эмуль, работающий не в реальном времени, а через буфер (может тогда бы можно было достичь 37500 Гц). Как это реализовать при максимальном быстродействии пока не знаю.

jtn
22.04.2005, 18:31
2DR.Lion: думай, что можно покранчить, хоть всю 512кб память забей таблицами

lvd
23.04.2005, 22:32
что касается линейной интерполяции. по смыслу - это лажа! это неправильно! да, звук перестаёт звинеть, но это неправильно. ГС успевает её считать запросто, ниче сложного в линейной нет, по таблицам всё делается быстро (у меня в R.A.P.е в реальном времени тоже считается, всё путём). и всякие сплайновые интерполяции - это тоже лажа для звука!

а какая должна быть правильная интерполяция? читайте SE#2, статью про музыку. такое чувство, что многие из пишуших здесь ничего и не читали, а было столько полезного написано :/

Лучше SE#2 не читать - там под видом научпопа всякий бред гонят. Автор явно не понимает разницы между непрерывным и дискретным спектром, и восст. фильтр пытается прикрутить к дискретным спектрам и отсчётам до ЦАПа. Это всё разбавлено забавными фразами типа 'аналового' сигнала и проч. =), вдобавок 'формула Котельникова' там записана совершенно неграмотно.

Практически при наличии цапа на фикс. частоте (будь то 44100, 48000 или 37500 Гц), достаточно сделать правильную передискретизацию на эту частоту с частоты семпла (как - я выше писал), а о восстановлении сигнала позаботится с достаточной точностью ЦАП, который на пц и цдводах обычно sigma-delta с передискретизацией в 256 раз (или 128, или 512 - etc.). В случае с R-2R цапами со ступеньками, как в GS и неспособностью нормально интерполировать, всё же лучший способ - вывод через ДМА, точнее вывод с изменяющейся частотой дискретизации этого цапа.

Dangerous
25.04.2005, 18:39
Всем привет!
А пустите меня сюда потусоваться?
Я, конечно, уже не на все 100% помню, как там все в Генеральном Саунде устроено, но многие исторические факты с удовольствием освещу.

Бывший Дангероус бывшего Икстрейда.

psb
26.04.2005, 18:30
но многие исторические факты с удовольствием освещу.

правильно, давно пора сюда было заглянуть... ;) ну вот, вопрос:
порты 10 и 11 в GS не юзаются, но судя по схеме, они делают вот что:



порт А
устанавливает бит D7 слова состояния не равным биту D0 порта 0

порт B
устанавливает бит D0 слова состояния равным биту D5 порта 6


зачем это было придумано?

да и вообще, рассказывай всё, что помнишь, всё будет интересно :)

jtn
26.04.2005, 18:41
как там с авторскими правами на GS и его модификации?

Dangerous
27.04.2005, 10:50
правильно, давно пора сюда было заглянуть... ;) ну вот, вопрос:
порты 10 и 11 в GS не юзаются, но судя по схеме, они делают вот что:
зачем это было придумано?
да и вообще, рассказывай всё, что помнишь, всё будет интересно :)

Э-э, я так быстро не могу вспомнить. (9лет прошло!) Если это касаемо интерфейса, то там схема подстроена под софтверные пожелания Стингера. И вообще много узлов GSa адаптировались к софту, который писал Стингер. Адресное пространство неоднократно меняли, регистры звуковых цапов висят в области памяти - тоже его придумка. Все было направлено на ускорение процесса, так как ресурсов катастрофически не хватало. Фактически tasm и паяльник работали одновременно :)
Кстати, поймал себя на мысли, что архитектуру GSa я стал забывать уже в процессе массового производства.
Вобщем, если я схему найду у себя (у меня гда-то на память лежит самая первая, сырая схема, еще на миллиметровке начерченная, с кучей исправлений, я с ней бегал на один завод Позитрон, чтоб мне плату по ней развели. Мне говорят - ты чо нам за каракули приволок, приноси в пикаде, а свои бумажки возьми себе, пригодятся :) Но ничего, нашел я очень хорошего профессионального разводчика, он мне все сделал. )
Так вот, если найду схему - буду стараться ответить по ней, а щас только по концептуальным вопросам.
Кстати, а из присутствующих кто-нибудь владеет реальным GS? Я тут столько сказок про GS почитал, даже весело стало!

Dangerous
27.04.2005, 11:04
как там с авторскими правами на GS и его модификации?

Я Костику Вербову давно-давно отдал схему, начерченную в оркаде, и все файлы печатных плат. То есть все готовое. Бери да делай. Делал он что-либо или нет- я не в курсе. Но сейчас за давность времен какие авторские права? Изменяйте как хотите, только не обс#райте оригинал.

Shiru
27.04.2005, 11:42
Я тут столько сказок про GS почитал, даже весело стало!
Так и рассказал-бы, что правда, а что нет:)

Dangerous
27.04.2005, 13:47
Так и рассказал-бы, что правда, а что нет:)

Не только в этом форуме, а вообще слышал, что

Ну например, про интерполяцию есть/нет. Она действительно есть на низких нотах, среднеарифметическая. Более цивильный алгоритм проц не успеет ну никак. Мы вместе со Стингером слушали с интерполяцией и без, однозначно решили ее оставить, так приятнее на слух.

Пишут, что цапы там г#в#о и даже дохнут. Ну это сказка. там ПА1 рижской "АЛЬФЫ" , очень надежные и для 8битного звука заглаза хватит.
Они там питаются от 5в, хотя по паспорту должны от 12, иначе якобы нелинейность образуется на краях шкалы, но я послушал и от 5 и от12в - никакой разницы, одна малина.
Ни разу не видел сдохшей ПАшки. Вот операционники действительно иногда дохли сами по себе. Даже у меня на руках.

То, что GS разрабатывался специально под KAY сказка. Он делался просто пoд системный разъем Скорпиона, ну а в Кае он автоматически тоже работает.

Для Спектрума существуют другие карточки, которые играют моды намного качественнее GS. Ну не верю. Сами сэмплы в модах такого качества, что их уже не улучшить.

Shiru
27.04.2005, 14:19
Для Спектрума существуют другие карточки, которые играют моды намного качественнее GS. Ну не верю. Сами сэмплы в модах такого качества, что их уже не улучшить.
Это, наверное, имелся в виду DMA UltraSound. Я тоже не верю.

Хотя моды с качественными сэмплами есть. Только они в память GS не влезут, не говоря уже об обычном 128к Speccy :)

Dangerous
27.04.2005, 16:12
Это, наверное, имелся в виду DMA UltraSound. Я тоже не верю.
Хотя моды с качественными сэмплами есть. Только они в память GS не влезут, не говоря уже об обычном 128к Speccy :)

Я, кстати, ни разу в жизни не видел и не слышал DMAsoundа и не знаю кто его разработал и кто софт какой создал для него.
А в GS памяти можно напихать до дури - до мегабайта точно или даже больше, она автоматически им найдется. Я не помню, на какое количество страничек по 32к у Стингера рассчитана автоопределялка. Я в свое время думал сделать мегабайтную карточку, но больно дорого по тем временам получалось, я подумал, что не будут покупать и не сделал.
И проц там можно было разогнать еще пуще, но обнаружилась проблема - ПЗУха не гонится. На 12 мгц тактовой не-KMOПовски ПЗУхи начинали сбоить, только Интеловские работали и еще какие-то. A КМОПовские было трудно достать, но с ними разогнать можно. Кстати на 12 мгц работают только КМОПовские Z80 с любой буквой (даже А), a обычный Z80H после прогрева (1-2мин) виснет капитально. Обычные Z80A и B не работают вообще. Я не знаю, почему КМОП такой шустрый, может кто объяснит из присутствующих? Советский КМОП КР1858ВМ3 не работает.

Ronin
27.04.2005, 17:28
может кто объяснит из присутствующих
это типа подкол такой чтоли ;) резисторов нету, выход что к + что к 0 транзистор щелкает - вот и быстрее емкости перезаряжают. насчет А на 12мгц - хз, у Zilog-а вроде не А пишется а сразу частота, притом что 04 что 06 что 08 по цене и тогда (новыми) были почти одно и то же (может это были 06-08, маркированные по-разному), у кого еще КМОПы есть - не знаю, да и нафик их. но КМОПы не только быстрее, на низких частотах (1-4мгц) они и кушают много меньше тех же Z80A.

psb
27.04.2005, 17:59
А в GS памяти можно напихать до дури - до мегабайта точно или даже больше, она автоматически им найдется. Я не помню, на какое количество страничек по 32к у Стингера рассчитана автоопределялка.

я вот вчера как раз видел, #3f страниц по 32к, т.е. 2мб :)) и еще в прошивке есть намёки на 8 каналов :)

а порты 10 и 11 смысла не имеют для софта, и вряд ли где вообще используются. схема есть на zx.da.ru.

и еще, было обнаружено давно уже, что при наличии карты расширения до 512 кило, физически включаются 2 страницы памяти сразу (при каком-то одном номере страницы) :)

Dangerous
27.04.2005, 18:10
это типа подкол такой чтоли ;) резисторов нету, выход что к + что к 0 транзистор щелкает - вот и быстрее емкости перезаряжают. насчет А на 12мгц - хз, у Zilog-а вроде не А пишется а сразу частота, притом что 04 что 06 что 08 по цене и тогда (новыми) были почти одно и то же (может это были 06-08, маркированные по-разному), у кого еще КМОПы есть - не знаю, да и нафик их. но КМОПы не только быстрее, на низких частотах (1-4мгц) они и кушают много меньше тех же Z80A.

Да-да, логично насчет транзисторов к кмопе.
у Ziloga Z80A (B, H) -старая маркировка, потом они маркировали
Z840004xxxxxPSC(PEC), ну вобщем не суть, я просто удивился в свое время, что 4 мегагерцовый проц уверенно работает на 12.
Почему тогда совковый не работает? Наверное, как всегда, что-то криво сделали.
Насчет потребления - у меня был свой GS собранный на 100% на HCT- логике, сказка, вообще не грелся.

jtn
27.04.2005, 18:14
Но сейчас за давность времен какие авторские права? Изменяйте как хотите, только не обс#райте оригинал.
спасибы! даже копирайты в пзушке оставим, как завещал великий Stinger =)


Пишут, что цапы там г#в#о и даже дохнут. Ну это сказка. там ПА1 рижской "АЛЬФЫ" , очень надежные и для 8битного звука заглаза хватит.
у Stingrey'a из Глазова дохлый был один


Я, кстати, ни разу в жизни не видел и не слышал DMAsoundа и не знаю кто его разработал и кто софт какой создал для него.

ну там просто dma на 4 канала в апы из памяти - каждый с независимой частотой выборки, т.е. на обычных 3,5mhz работать будет и теоретически даже если расколбасить заранее сэмплы по всей памяти с интерполяцией может выйдет и покачественней GS, только где вот взять xxMB на ZX (у меня, к слову их 4;)


Я не помню, на какое количество страничек по 32к у Стингера рассчитана автоопределялка. Я в свое время думал сделать мегабайтную карточку, но больно дорого по тем временам получалось, я подумал, что не будут покупать и не сделал.
почему все-таки не использовали SDRAM?
и как появился глюк с впечатыванием двух банок в одно место?

lvd
27.04.2005, 18:16
Это, наверное, имелся в виду DMA UltraSound. Я тоже не верю.

Логически продолжив, скажи ещё, что и амига хуже ГСа играет?...

lvd
27.04.2005, 18:20
Да-да, логично насчет транзисторов к кмопе.
у Ziloga Z80A (B, H) -старая маркировка, потом они маркировали
Z840004xxxxxPSC(PEC), ну вобщем не суть, я просто удивился в свое время, что 4 мегагерцовый проц уверенно работает на 12.
Почему тогда совковый не работает? Наверное, как всегда, что-то криво сделали.


Ну блин, зелог делает процы по более 'мелкой' технологии, ёмкостя меньше, да и вообще технология современней, чем древний совок =) А что гонятся, так это ж их маркируют на какую-либо частоту с гарантией работы от -55 до +125 градусов - или сколько там у них. А при тепличных условиях и погнаться могут, чего уж там.

lvd
27.04.2005, 18:23
ну там просто dma на 4 канала в апы из памяти - каждый с независимой частотой выборки, т.е. на обычных 3,5mhz работать будет и теоретически даже если расколбасить заранее сэмплы по всей памяти с интерполяцией может выйдет и покачественней GS, только где вот взять xxMB на ZX (у меня, к слову их 4;)

Добавить в схему GS дма-контроллер... И всё. =)



почему все-таки не использовали SDRAM?

Думаю, 10 лет назад сдрамы вообще не было, а сейчас их использовать - лишний гемор. Если с ДРАМой можно примитивными методами обойтись, то с СДРАМой всё гораздо сложнее. Имхо ДРАМы мегов на несколько - уже ОК будет.

jtn
27.04.2005, 18:29
Добавить в схему GS дма-контроллер... И всё. =)
зачем целый дма-контроллер, можно просто прерывание по таймеру.

Думаю, 10 лет назад сдрамы вообще не было, а сейчас их использовать - лишний гемор. Если с ДРАМой можно примитивными методами обойтись, то с СДРАМой всё гораздо сложнее. Имхо ДРАМы мегов на несколько - уже ОК будет.
ну я это и имел ввиду. а нынче какую DRAM можно закупать в нормальных количествах и по нормальной цене?

Dangerous
27.04.2005, 18:33
я вот вчера как раз видел, #3f страниц по 32к, т.е. 2мб :)) и еще в прошивке есть намёки на 8 каналов :)
а порты 10 и 11 смысла не имеют для софта, и вряд ли где вообще используются. схема есть на zx.da.ru.
и еще, было обнаружено давно уже, что при наличии карты расширения до 512 кило, физически включаются 2 страницы памяти сразу (при каком-то одном номере страницы) :)

про 8 каналов действительно была задумка. но так и осталась, к сож у
А насчет двух страниц одновременно - что-то такое помню, про перекрышку памяти, то ли мы ляп допустили, то ли не избежать было, в общем макс мод 466к вроде можно заливать. Вполне достаточно было чтоб с ног до головы озвучить игрушку. Я помню, Мишка Блюм озвучил T.Renegade, мы с LD вдвоем резались в нее, все было подключено к усилку на полную катушку, но наш истерический хохот перекрывал колонки!

Dangerous
27.04.2005, 18:46
спасибы! даже копирайты в пзушке оставим, как завещал великий Stinger =)

у Stingrey'a из Глазова дохлый был один

почему все-таки не использовали SDRAM?
и как появился глюк с впечатыванием двух банок в одно место?

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

Дохлый цап - ну это просто не повезло.

насчет памяти - просто делали из того, что можно было регулярно недорого купить. Сначала появилась возможность брать 62256 в гробы в Дипе. потом нашел гда брать планары 621000. Апотом появился выход на дешевые 624000 - так вообще можно было всю память сделать на одном клопе. но тут настал 98 год...

Shiru
28.04.2005, 03:48
Логически продолжив, скажи ещё, что и амига хуже ГСа играет?...
Не скажу. Но и не так уж сильно лучше;)

Dangerous
28.04.2005, 10:42
Не скажу. Но и не так уж сильно лучше;)

Кстати, позвольте прокомментировать полемику о сравнении качества звука GS и А. Поскольку в то время я сам был счастливым обладателем А500, затем А1200, и мог сравнивать, то скажу, что GS играет однозначно лучше A500(600) - звук просто откровенно чище. А1200 уже играет горазо лучше, чем А500/600 и практически играет как GS, но звук несколько жестче (не сказал, что грязнее!). А вот тут начинается интересное - при непосредственном сравнении слышно, что GS играет мод чуть быстрее, чем нужно (где-то в софте баг), а также иногда заметно, что некоторые эффекты над сэмплами реализованы ну как-то чуть-чуть не так, опять баг, то есть никакой откровенной разницы не слышно, просто остается какое-то ощущение. Но, имхо, это не портит суть дела. И еще. В GS на выходе аналоговым способом реализована примитивная панорама, то есть часть напряжения сигнала одного канала подмешивается в инвертированном виде в другой и наоборот. В результате в выходном сигнале нет 100% разграничения треков по каналам, что очень приятно сказывается на восприятии. GS приятно слушать в наушниках, Амигу совершенно невозможно (мне, по крайней мере).

Mike
28.04.2005, 12:54
Кстати, позвольте прокомментировать полемику о сравнении качества звука GS и А. Поскольку в то время я сам был счастливым обладателем А500, затем А1200, и мог сравнивать, то скажу, что GS играет однозначно лучше A500(600) - звук просто откровенно чище. А1200 уже играет горазо лучше, чем А500/600 и практически играет как GS, но звук несколько жестче (не сказал, что грязнее!). А вот тут начинается интересное - при непосредственном сравнении слышно, что GS играет мод чуть быстрее, чем нужно (где-то в софте баг), а также иногда заметно, что некоторые эффекты над сэмплами реализованы ну как-то чуть-чуть не так, опять баг, то есть никакой откровенной разницы не слышно, просто остается какое-то ощущение. Но, имхо, это не портит суть дела. И еще. В GS на выходе аналоговым способом реализована примитивная панорама, то есть часть напряжения сигнала одного канала подмешивается в инвертированном виде в другой и наоборот. В результате в выходном сигнале нет 100% разграничения треков по каналам, что очень приятно сказывается на восприятии. GS приятно слушать в наушниках, Амигу совершенно невозможно (мне, по крайней мере).

Не буду спорить на счёт A500/A600, уже непомню, хотя сильно сомневаюсь, что это так (моя А500, лежит нерабочая). А вот A1200+Blizzard 68040 прекрасно работает и я скажу, что GS до неё как до Парижа пешком. И это при том, что встроенный звук в A1200 уж явно не является эталоном качества, хотя далеко и не самый плохой, всем недорогим ПЦ-шным до него ещё рости и рости. И насчёт панорамы, ты видимо слушал 4-х канальный МОД, тут конечно беда, басс слева, драмкит справа... полностью понимаю. Но если послушать нормальный XM например, то проблем с панорамой не будет.

Dangerous
28.04.2005, 13:06
Не буду спорить на счёт A500/A600, уже непомню, хотя сильно сомневаюсь, что это так (моя А500, лежит нерабочая). А вот A1200+Blizzard 68040 прекрасно работает и я скажу, что GS до неё как до Парижа пешком. И это при том, что встроенный звук в A1200 уж явно не является эталоном качества, хотя далеко и не самый плохой, всем недорогим ПЦ-шным до него ещё рости и рости. И насчёт панорамы, ты видимо слушал 4-х канальный МОД, тут конечно беда, басс слева, драмкит справа... полностью понимаю. Но если послушать нормальный XM например, то проблем с панорамой не будет.

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

lvd
28.04.2005, 14:31
зачем целый дма-контроллер, можно просто прерывание по таймеру.

4 прерывания, ты хотел сказать? Будет дикий джиттер из-за того, что зетник не мгновенно прерывается и главное - из-за того, что эти 4 прерывания могут перекрыться.



ну я это и имел ввиду. а нынче какую DRAM можно закупать в нормальных количествах и по нормальной цене?
Ну хз. Их типов как грязи. =)

psb
28.04.2005, 16:51
В результате в выходном сигнале нет 100% разграничения треков по каналам, что очень приятно сказывается на восприятии. GS приятно слушать в наушниках, Амигу совершенно невозможно (мне, по крайней мере).

да! и это классно, что нет 100% разграничения :) енто руль :)))

а багов в прошивке полноо ;)) хехе :) переделать бы её...

Dangerous
29.04.2005, 17:30
Ау, GS-реальщики с паяльниками! Кто проведет эксперимент?
Надо попробовать сделать с GSом следующее.
1.найти и выпаять антивозбудные кондеры опрационников, работающих
со зуковыми цапами 100пф (2 штуки), иногда стоят 150 или 200пф
(неважно). Вместо них забабахать 1/(2pi*10koHm*10kHz) выходит примерно
2000пФ. Керамику лучше не ставить, но если уж решили поставить, то
ставьте НП0 или, что хуже, X7R(Н20). Y5V(Н90) - не ставить(это кака). Лучше всего
поставить миниатюрные импортные МКТ, если найдете.
Послушать, как не получше стало?

2. Идем дальше. от инвертирующие входов этих же операционников кинуть на
землю (да-да!) кондеры, скажем, 1000пф или поменьше можно. )Больше не ставить, может загенерить при увеличении емкости до 1800-2000пФ).
всего 2 штуки выходит. Опять слушаем.

Этими переделками очень облегчается работа тормозным операционникам, которые
работают со звуковыми цапами. Я подобно дорабатывал один проигрыватель
CD, там стояла сладкая парочка TDA1305 + NE5532, ширпотреб полный,
так вот качество звука там улучшилось кардинально.

Вобщем, кто решится - сообщите, помогли ли мертвому припарки?

psb
06.05.2005, 15:50
Ау, GS-реальщики с паяльниками! Кто проведет эксперимент?

хехе, и тут-то всё и заглохло :))) лень всем паять :)

Evgeny Muchkin
11.10.2006, 22:58
Да чтоб я, да в GS, да с паяльником, да не в жисть! :)