Page 1 of 4

Звуковая карта "ZXM-SoundCard" - Обсуждение

PostPosted: Tue, 09.02.2016 19:38:24
by Mick
Данная тема предназначена для решения общих вопросов, связанных с звуковыми картами ZXM-SoundCard, информация о котором размещена на странице http://micklab.ru/My%20Soundcard/ZXMSoundCard.htm
Если у вас возникают какие то вопросы в процессе эксплуатации или что то не понятно в документах на самой странице, или вопросы по программированию связанной с этими картами, то здесь вполне об этом можно поговорить.

Так как карт в семействе много, то отмечу наиболее массовые:
ZXM-SounCard Light - самая легкая в классе, содержит только микросхему звука SAA1099
ZXM-SounCard Middle - эта чутка посерьзнее, содержит не только микросхему звука SAA1099, но и SounDrive
ZXM-SounCard Extreme - ну а эта самая навороченная из семейства, содержит не только микросхему звука SAA1099 и SounDrive, но и TSFM

Re: Звуковая карта "ZXM-SoundCard" - Обсуждение

PostPosted: Thu, 11.02.2016 15:32:13
by Mick
По просьбе трудящихся краткая аннотация по программированию карты

Code: Select all
Программирование карты.
1. часть SAA1099 (ревизии Light, Middle и Extreme)

Та самая часть, ради которой и все было затеяно. Этот шестиканальный чип перекочевал на Спекки
прямиком с компьютера Sam Coupe, где он использовался как основна его музыкальных возможностей.
Про регистры микросхемы лучше всего можно прочитать в даташите на него.
Отметить стоит только что в микросхеме нет хардварного ресета, т.е. инициализацией должен заниматься
сам программист. Самым распростарненным редактором на Sam Coupe был E-Tracker, почти вся музыка которого
можно прослушать на Спекки (выпуски E-Tunes). Менее распространенный там это Pro Tracker 2 (не путать со Спековским)

Собственно порты те же самые как и в оригинальном Sam Coupe
 0FFh - порт данных
 1FFh - порт адреса
Сразу отмечу, что в микросхему можно только писать, чтение невозможно.
И как сказал выше, чтобы микросхема не балаболила сама по себе, прохождение тактовой частоты на нее надо разрешить, ну и
когда не нужно запретить. Для этого нужно использовать соотвествующий бит в адресном простарнстве AY (правило программирование
режимов TSFM)

Шаблон адреса (старший разряд слева) номера регистра:

 Бит  7 6 5 4 3 2 1 0 
  1 1 1 1 SAA FM  STAT  SEL

 Где:

 SEL - выбор активной микросхемы YM2203. Лог "0" - aктивная микросхема AY1. Лог "1" - активная микросхема AY2.
 STAT - управление чтением регистра SSG или статусного регистра. Лог "0" - вывод статусного регистра. Лог "1" - вывод содержимого регистра SSG.
 FM - управление генерацией fm. Лог "0" - генерация разрешена. Лог "1" - генерация запрещена.
 SAA - управление тактовой частотой SAA1099. Лог "0" - тактовая частота включена. Лог "1" - тактовая частота выключена.


Для наглядного примера приведу две процедуры:

a. Разрешение работы SAA1099

Enable_SAA1099:
                       ld    bc,0FFFDh 
                       ld    a,0f6h
                       out (c),a
                       ret


b. Запрещение работы SAA1099


Disable_SAA1099:
                        ld    bc,0FFFDh 
                        ld    a,0feh
                        out  (c),a
                        ret

с. Правило работы
      call Load_Music
      call Enable_SAA1099
      call SAA1099_Init
      .....
Loop:
      halt        ;если используем прерывания
      call SAA1099_Play   ;
      .....
      jp   Loop

Exit:
      call SAA1099_Init
      call Disable_SAA1099
       
Наглядным примером может служить выпуски E-Tunes, с исходниками которого можно ознакомится на сайте.
Кроме того также отмечу, то обращение к портам производится когда сигналы DOS/ = 1 и IODOS/ = 1


2. часть SounDrive (ревизии Middle и Extreme)

В принципе программирование этой части ничем не отличается от программирования обычного SounDrive, а по сути,
это обычные ЦАПы. В данной карте применен счетверенный ЦАП TLC7226CN.
Таблица соотвествия портов и каналов ЦАП

---------------------------- SounDrive v1.05 ---------------------------------
-- Порты:                         
-------------------------------------------------------------------------------
-- Режим 1:                                                                   
-- #0F = левый канал A или канал 1 стерео Covox  (DAC_BA = 00)       
-- #1F = левый канал B                           (DAC_BA = 01)               
-- #4F = правый канал C или канал 2 стерео Covox (DAC_BA = 10)               
-- #5F = правый канал D                          (DAC_BA = 11)               
-------------------------------------------------------------------------------
-- Режим 2:                                                                   
-- #FB = правый канал D или канал 2 стерео Covox (DAC_BA = 11)               
-------------------------------------------------------------------------------
-- Режим 3:                                                                   
-- #3F = левый канал Covox Profi     (DAC_BA = 01)     
-- #5F = правый канал Covox Profi    (DAC_BA = 11)       
-------------------------------------------------------------------------------
Так как некоторые порты  пересекаются с портами контроллера FDD, то обращение к ним производится
когда сигналы DOS/ = 1 и IODOS/ = 1

3. часть TSFM (ревизия Extreme)

Программирование этой части также не отличается от программирования обычного AY или TSFM, описание которого,
можно взять на сайте группы NedoPC
Отмечу, что в дополнении введен порт FFFCh, который немного вносит разнообразие в режимы карты.
Описание битов порта можно найти на соотвествующей странице моего сайта, но так сказать продублирую

Биты порта 0FFFCh (старший разряд слева):

Бит 7 6 5 4 3 2 1 0 
  BLKAY2  - - - - - CLKEXT  CLKMODE


 Где:


 CLKMODE - выбор режима входной частоты микросхем YM2203. Лог "0" - стандартная чатота (значение после сброса). Лог "1" - расширенная частота (см значение бита 1).
 CLKEXT - управление расширеным режимом входной частоты. Лог "0" - режим Amstrad CPC (значение после сброса) Лог "1" - режим Atari ST.
 BLKAY2 - блокировка доступа второй микросхемы AY2. Лог "0" - доступ разрешен (значение после сброса). Лог "1" - доступ запрещен.

Для наглядного примера приведу несколько процедур процедуры:

a. Выбор режима входной частоты Amstrad CPC

Set_clk_Amstrad:
                       ld    bc,0FFFCh 
                       ld    a,01h
                       out (c),a
                       ret

b. Выбор режима входной частоты Atari ST

Set_clk_Atari:
                      ld    bc,0FFFCh
                      ld    a,03h
                      out  (c),a
                      ret


c. Блокировка второй микросхемы YM2203

Disable_AY2:
                        ld    bc,0FFFCh
                        ld    a,80h
                        out  (c),a
                        ret


Будут вопросы, задавайте.

Re: Звуковая карта "ZXM-SoundCard" - Обсуждение

PostPosted: Thu, 11.02.2016 15:53:06
by g0blinish
Кажется, на твоем сайте был эмулятор?

Re: Звуковая карта "ZXM-SoundCard" - Обсуждение

PostPosted: Thu, 11.02.2016 15:57:12
by Mick
g0blinish wrote:Кажется, на твоем сайте был эмулятор?


Ну да, есть такой http://micklab.ru/file/us0373_mod_saa.rar
Это эмулятор от Алекса Молодцова.
В принципе, помоему сейчас и в обычном анрыле уже есть. Просто отличаются используемыми библиотеками.

Если вдруг захочешь сделать демку с музоном, могу подогнать примерчик. Выдрал давно лирический музон непакованный модуль от самкоповского Protrackerа. Пока нигде не заюзана.

Re: Звуковая карта "ZXM-SoundCard" - Обсуждение

PostPosted: Thu, 11.02.2016 16:37:28
by VBI
отлично под пати подошла бы :)

Re: Звуковая карта "ZXM-SoundCard" - Обсуждение

PostPosted: Thu, 11.02.2016 16:47:18
by g0blinish
Mick wrote:В принципе, помоему сейчас и в обычном анрыле уже есть. Просто отличаются используемыми библиотеками.

я уже запутался, что там есть.

Mick wrote:Если вдруг захочешь сделать демку с музоном, могу подогнать примерчик

Да, хотелось бы взглянуть.

и вот, что мне непонятно: все таки что есть - SAA1099 или YM2203?

Re: Звуковая карта "ZXM-SoundCard" - Обсуждение

PostPosted: Thu, 11.02.2016 17:08:40
by LessNick
g0blinish wrote: SAA1099 или YM2203?


YM2203 это чип TSFM. SAA1099 чип в SAM Coupé и карте Mick'а

Re: Звуковая карта "ZXM-SoundCard" - Обсуждение

PostPosted: Thu, 11.02.2016 17:29:41
by g0blinish
breeze wrote:YM2203 это чип TSFM. SAA1099 чип в SAM Coupé и карте Mick'а

вот засада:(

Re: Звуковая карта "ZXM-SoundCard" - Обсуждение

PostPosted: Thu, 11.02.2016 17:51:54
by LessNick
g0blinish wrote:вот засада:(


Так а в чём проблема скачать указанный выше эмуль? Кстати автор тут допиливает новые версии, можно попросить, что бы включил в основую версию TS-Conf Edition.

Re: Звуковая карта "ZXM-SoundCard" - Обсуждение

PostPosted: Thu, 11.02.2016 18:16:59
by g0blinish
breeze wrote:Так а в чём проблема скачать указанный выше эмуль?

если чип TSFM, будут вопросы, которые оффтоп.

Re: Звуковая карта "ZXM-SoundCard" - Обсуждение

PostPosted: Thu, 11.02.2016 20:27:47
by Mick
g0blinish wrote:если чип TSFM, будут вопросы, которые оффтоп.


Так как для TSFM вроде народ уже много чего написал, посему я не акцентировал на это внимание.
Кстати, ты можешь использовать частоты Амстрада (1Мгц) или Атари (2Мгц) для тактирования Ямах.

Так будешь слушать музон для SAA1099 или нет?

Re: Звуковая карта "ZXM-SoundCard" - Обсуждение

PostPosted: Thu, 11.02.2016 21:07:21
by g0blinish
Mick wrote:Так будешь слушать музон для SAA1099 или нет?


я наслушался, когда СэмКуп изучал. Ты много музонов рипнул?

Mick wrote:Кстати, ты можешь использовать частоты Амстрада (1Мгц)

ну хз. Если из SoundTrakker музоны перетянуть....

а рпо YM2203 я почему спросил: я маялся с NEC PC88, было б неплохо музон портировать.Но, видимо некуда пока.

Re: Звуковая карта "ZXM-SoundCard" - Обсуждение

PostPosted: Thu, 11.02.2016 21:10:53
by Mick
g0blinish wrote:я наслушался, когда СэмКуп изучал. Ты много музонов рипнул?


Порядка 600 треков только от E-Tracker (те которые компилированные), ну и так с десятка или больше всяких разных.


g0blinish wrote:ну хз. Если из SoundTrakker музоны перетянуть....


Я несколько штук уже перетянул - один выпуск Amstrad Music 1 давно сделал, есть материал еще на 3 или 4 сборника. Но надо графику рисовать :)


g0blinish wrote:а рпо YM2203 я почему спросил: я маялся с NEC PC88, было б неплохо музон портировать.Но, видимо некуда пока.


А подробности, там тоже что ли стоит YM2203. Какая входная частота?
Много музонов и примеры есть?

Re: Звуковая карта "ZXM-SoundCard" - Обсуждение

PostPosted: Thu, 11.02.2016 21:38:00
by LessNick
g0blinish wrote:YM2203 я почему спросил: я маялся с NEC PC88, было б неплохо музон портировать.


Image

Подождите, подождите,… так это мои любимые музоны с PC88 оказывается играют YM2203, не может быть! :wow2:

Re: Звуковая карта "ZXM-SoundCard" - Обсуждение

PostPosted: Thu, 11.02.2016 22:02:07
by LasDesu
SAA1099 в тсанриле поддерживается, только почему-то в конфиге выключен. Надо только с нолика на единичку переправить ;)

Re: Звуковая карта "ZXM-SoundCard" - Обсуждение

PostPosted: Thu, 11.02.2016 23:15:47
by LessNick
LasDesu wrote:только почему-то в конфиге выключен.


Ну это смотря в каком конфиге, у кого-то и нет такой строчки вообще ;)

Re: Звуковая карта "ZXM-SoundCard" - Обсуждение

PostPosted: Fri, 12.02.2016 14:16:52
by g0blinish
Mick wrote:Порядка 600 треков только от E-Tracker (те которые компилированные)

охуеть, где ты нашел столько?оО

Mick wrote:Но надо графику рисовать

ага, ты привередливый к графике:)

Mick wrote:А подробности, там тоже что ли стоит YM2203. Какая входная частота?
Много музонов и примеры есть?


инфы как таковой я не нашел:(
музоны валяются на h00t archive, я стянул одну:
http://www.pouet.net/prod.php?which=66733

или можно найти архивы FireCracker

Re: Звуковая карта "ZXM-SoundCard" - Обсуждение

PostPosted: Fri, 12.02.2016 15:47:16
by LessNick
Mick wrote:А подробности, там тоже что ли стоит YM2203. Какая входная частота?


Судя по тому, что в PC88 z80 работает на 4MHz частота там явно какая-то своя будет :(

Re: Звуковая карта "ZXM-SoundCard" - Обсуждение

PostPosted: Fri, 12.02.2016 15:53:01
by Mick
g0blinish wrote:ага, ты привередливый к графике:)


Ну судя по графону моих выпусков, наверное да :1tooth:

А треки собирал с дисков сам копы, которые в инете.

Re: Звуковая карта "ZXM-SoundCard" - Обсуждение

PostPosted: Fri, 12.02.2016 17:55:15
by moroz1999
Если что, весь архив уже можно сдуть с zx-art.
http://zxart.ee/zipItems/export:zxMusic ... Group=saa;

Если у кого есть еще мелодии - буду благодарен, давайте соберем максимальный архив.

Re: Звуковая карта "ZXM-SoundCard" - Обсуждение

PostPosted: Fri, 12.02.2016 18:38:03
by Mick
moroz1999 wrote:Если у кого есть еще мелодии - буду благодарен, давайте соберем максимальный архив.


Вообще E-Tracker-cкие мелодии есть и неперемещаемые. Я как то там извращался чтобы их воспроизводить. Кстати E-Tunes 7 как раз из них. Кроме того есть еще написанные на примитивном редакторе, сборники SAM Coupe Music 1 и 2
В демке Kiss me звучит мелодия из двух модулей Соундтракера, видимо Ziutek тренировался в написании мелодий на Самыче. В Kiss me 2 звучит фиг пойми на чем написанный музон. Я его по всей памяти Сам копы собирал.
P.S. Упомянутые демки - все для Спекки с выдранной из Сам копы музыкой.

Re: Звуковая карта "ZXM-SoundCard" - Обсуждение

PostPosted: Fri, 12.02.2016 19:18:33
by g0blinish
можно попробовать декомпилировать музон.

moroz1999 wrote:Если у кого есть еще мелодии - буду благодарен, давайте соберем максимальный архив.

Архив из чего? может, .SAP воткнуть? хотя он отношения к Спектруму не имеет.

Re: Звуковая карта "ZXM-SoundCard" - Обсуждение

PostPosted: Fri, 12.02.2016 20:52:57
by moroz1999
Архив мелодий для Sam Coupe.
SAP - это Атари ведь? Далековато от ZX, даже Sam Coupe подходит по тематике с большим натягом, а атари и подавно.

Re: Звуковая карта "ZXM-SoundCard" - Обсуждение

PostPosted: Fri, 12.02.2016 21:23:25
by g0blinish
moroz1999 wrote:даже Sam Coupe подходит по тематике с большим натягом,


ну вообще у E.S.I. музоны похожи на ДеЛиру. А вот собрать архив напряжно, инфы для СэмКупа маловато..

завтра гляну на музоны, все равно компо не сразу начнется.

Re: Звуковая карта "ZXM-SoundCard" - Обсуждение

PostPosted: Sat, 13.02.2016 08:11:31
by g0blinish
уф, осилил еле-еле)