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

Все вопросы, связанные с ресурсом micklab.ru

Moderator: Mick

Postby Mick » Tue, 09.02.2016 19:38:24

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

Так как карт в семействе много, то отмечу наиболее массовые:
ZXM-SounCard Light - самая легкая в классе, содержит только микросхему звука SAA1099
ZXM-SounCard Middle - эта чутка посерьзнее, содержит не только микросхему звука SAA1099, но и SounDrive
ZXM-SounCard Extreme - ну а эта самая навороченная из семейства, содержит не только микросхему звука SAA1099 и SounDrive, но и TSFM
User avatar
Mick
 
Posts: 1159
Joined: Thu, 19.06.2014 11:25:00

Postby Mick » Thu, 11.02.2016 15:32:13

По просьбе трудящихся краткая аннотация по программированию карты

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


Будут вопросы, задавайте.
User avatar
Mick
 
Posts: 1159
Joined: Thu, 19.06.2014 11:25:00

Postby g0blinish » Thu, 11.02.2016 15:53:06

Кажется, на твоем сайте был эмулятор?
[x] No Screenshot
User avatar
g0blinish
Упырь говнофорума
 
Posts: 3641
Joined: Tue, 18.06.2013 10:59:01

Postby Mick » Thu, 11.02.2016 15:57:12

g0blinish wrote:Кажется, на твоем сайте был эмулятор?


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

Если вдруг захочешь сделать демку с музоном, могу подогнать примерчик. Выдрал давно лирический музон непакованный модуль от самкоповского Protrackerа. Пока нигде не заюзана.
User avatar
Mick
 
Posts: 1159
Joined: Thu, 19.06.2014 11:25:00

Postby VBI » Thu, 11.02.2016 16:37:28

отлично под пати подошла бы :)
User avatar
VBI
 
Posts: 1965
Joined: Mon, 03.06.2013 09:20:29

Postby g0blinish » Thu, 11.02.2016 16:47:18

Mick wrote:В принципе, помоему сейчас и в обычном анрыле уже есть. Просто отличаются используемыми библиотеками.

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

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

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

и вот, что мне непонятно: все таки что есть - SAA1099 или YM2203?
[x] No Screenshot
User avatar
g0blinish
Упырь говнофорума
 
Posts: 3641
Joined: Tue, 18.06.2013 10:59:01

Postby LessNick » Thu, 11.02.2016 17:08:40

g0blinish wrote: SAA1099 или YM2203?


YM2203 это чип TSFM. SAA1099 чип в SAM Coupé и карте Mick'а
(∩。•o•。)っ.゚☆。・ TS-Conf для PentEvo — это классический Pentagon 128k для тех кто хочет больше!
User avatar
LessNick
грей сашу — сашу грей
 
Posts: 975
Joined: Thu, 26.07.2012 15:00:53
WEBSITE: http://fishbone.untergrund.net/

Postby g0blinish » Thu, 11.02.2016 17:29:41

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

вот засада:(
[x] No Screenshot
User avatar
g0blinish
Упырь говнофорума
 
Posts: 3641
Joined: Tue, 18.06.2013 10:59:01

Postby LessNick » Thu, 11.02.2016 17:51:54

g0blinish wrote:вот засада:(


Так а в чём проблема скачать указанный выше эмуль? Кстати автор тут допиливает новые версии, можно попросить, что бы включил в основую версию TS-Conf Edition.
(∩。•o•。)っ.゚☆。・ TS-Conf для PentEvo — это классический Pentagon 128k для тех кто хочет больше!
User avatar
LessNick
грей сашу — сашу грей
 
Posts: 975
Joined: Thu, 26.07.2012 15:00:53
WEBSITE: http://fishbone.untergrund.net/

Postby g0blinish » Thu, 11.02.2016 18:16:59

breeze wrote:Так а в чём проблема скачать указанный выше эмуль?

если чип TSFM, будут вопросы, которые оффтоп.
[x] No Screenshot
User avatar
g0blinish
Упырь говнофорума
 
Posts: 3641
Joined: Tue, 18.06.2013 10:59:01

Postby Mick » Thu, 11.02.2016 20:27:47

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


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

Так будешь слушать музон для SAA1099 или нет?
User avatar
Mick
 
Posts: 1159
Joined: Thu, 19.06.2014 11:25:00

Postby g0blinish » Thu, 11.02.2016 21:07:21

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


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

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

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

а рпо YM2203 я почему спросил: я маялся с NEC PC88, было б неплохо музон портировать.Но, видимо некуда пока.
[x] No Screenshot
User avatar
g0blinish
Упырь говнофорума
 
Posts: 3641
Joined: Tue, 18.06.2013 10:59:01

Postby Mick » Thu, 11.02.2016 21:10:53

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


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


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


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


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


А подробности, там тоже что ли стоит YM2203. Какая входная частота?
Много музонов и примеры есть?
User avatar
Mick
 
Posts: 1159
Joined: Thu, 19.06.2014 11:25:00

Postby LessNick » Thu, 11.02.2016 21:38:00

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


Image

Подождите, подождите,… так это мои любимые музоны с PC88 оказывается играют YM2203, не может быть! :wow2:
(∩。•o•。)っ.゚☆。・ TS-Conf для PentEvo — это классический Pentagon 128k для тех кто хочет больше!
User avatar
LessNick
грей сашу — сашу грей
 
Posts: 975
Joined: Thu, 26.07.2012 15:00:53
WEBSITE: http://fishbone.untergrund.net/

Postby LasDesu » Thu, 11.02.2016 22:02:07

SAA1099 в тсанриле поддерживается, только почему-то в конфиге выключен. Надо только с нолика на единичку переправить ;)
User avatar
LasDesu
 
Posts: 49
Joined: Thu, 14.11.2013 11:49:41
WEBSITE: http://zxdesu.byethost32.com

Postby LessNick » Thu, 11.02.2016 23:15:47

LasDesu wrote:только почему-то в конфиге выключен.


Ну это смотря в каком конфиге, у кого-то и нет такой строчки вообще ;)
(∩。•o•。)っ.゚☆。・ TS-Conf для PentEvo — это классический Pentagon 128k для тех кто хочет больше!
User avatar
LessNick
грей сашу — сашу грей
 
Posts: 975
Joined: Thu, 26.07.2012 15:00:53
WEBSITE: http://fishbone.untergrund.net/

Postby g0blinish » Fri, 12.02.2016 14:16:52

Mick wrote:Порядка 600 треков только от E-Tracker (те которые компилированные)

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

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

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

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


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

или можно найти архивы FireCracker
[x] No Screenshot
User avatar
g0blinish
Упырь говнофорума
 
Posts: 3641
Joined: Tue, 18.06.2013 10:59:01

Postby LessNick » Fri, 12.02.2016 15:47:16

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


Судя по тому, что в PC88 z80 работает на 4MHz частота там явно какая-то своя будет :(
(∩。•o•。)っ.゚☆。・ TS-Conf для PentEvo — это классический Pentagon 128k для тех кто хочет больше!
User avatar
LessNick
грей сашу — сашу грей
 
Posts: 975
Joined: Thu, 26.07.2012 15:00:53
WEBSITE: http://fishbone.untergrund.net/

Postby Mick » Fri, 12.02.2016 15:53:01

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


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

А треки собирал с дисков сам копы, которые в инете.
User avatar
Mick
 
Posts: 1159
Joined: Thu, 19.06.2014 11:25:00

Postby moroz1999 » Fri, 12.02.2016 17:55:15

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

Если у кого есть еще мелодии - буду благодарен, давайте соберем максимальный архив.
User avatar
moroz1999
 
Posts: 1872
Joined: Wed, 01.08.2012 11:23:51

Postby Mick » Fri, 12.02.2016 18:38:03

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


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

Postby g0blinish » Fri, 12.02.2016 19:18:33

можно попробовать декомпилировать музон.

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

Архив из чего? может, .SAP воткнуть? хотя он отношения к Спектруму не имеет.
[x] No Screenshot
User avatar
g0blinish
Упырь говнофорума
 
Posts: 3641
Joined: Tue, 18.06.2013 10:59:01

Postby moroz1999 » Fri, 12.02.2016 20:52:57

Архив мелодий для Sam Coupe.
SAP - это Атари ведь? Далековато от ZX, даже Sam Coupe подходит по тематике с большим натягом, а атари и подавно.
User avatar
moroz1999
 
Posts: 1872
Joined: Wed, 01.08.2012 11:23:51

Postby g0blinish » Fri, 12.02.2016 21:23:25

moroz1999 wrote:даже Sam Coupe подходит по тематике с большим натягом,


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

завтра гляну на музоны, все равно компо не сразу начнется.
[x] No Screenshot
User avatar
g0blinish
Упырь говнофорума
 
Posts: 3641
Joined: Tue, 18.06.2013 10:59:01

Postby g0blinish » Sat, 13.02.2016 08:11:31

уф, осилил еле-еле)
Attachments
!void.zip
(11.69 KiB) Downloaded 733 times
[x] No Screenshot
User avatar
g0blinish
Упырь говнофорума
 
Posts: 3641
Joined: Tue, 18.06.2013 10:59:01

Next

Return to Mick Laboratory

Who is online

Users browsing this forum: No registered users and 1 guest

x