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

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

Postby TS-Labs » Tue, 30.05.2017 19:51:19

(лицерука) Они туда сид впиливают...
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby TS-Labs » Tue, 30.05.2017 23:18:00

UPDATE, ver.6
! Добавил маски на запись в регистры, провтыканныя в предыдущих ревизиях.
* Дефолтная панорама (если отсутствует сетап) - half-stereo.
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby introspec » Wed, 31.05.2017 00:52:42

Про SID - зла не хватает. Причём ладно бы ещё SID, но без аналоговой составляющей, т.е. бюджетный nedoSID.
Коммодорщики пользователей этого убожества с говном съедят, и будут совершенно правы, что характерно.

Про настройки стереопанорамы заметили? каждый чип в один канал, или в оба. И то, и другое - лицорука.
Т.е. реально не нашим (ABC), не вашим (ACB), а только каким-то максимально дремучим, бразильским, наверное.
User avatar
introspec
 
Posts: 579
Joined: Sun, 14.07.2013 15:36:47

Postby TS-Labs » Tue, 01.08.2017 11:05:31

Появилась идея в новой ревизии вывести USB порт. На нем можно реализовать 2 ус-ва, например:
- виртуальный компорт для консоли (не нужен будет рс-232 переходник),
- звуковуху в режиме ввода, кратко говоря - по юсб на РС принимать звуковой поток без потери качества (16 бит, стерео, 218/109/54кГц).
Кто что думает?
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby nodeus » Tue, 01.08.2017 12:20:57

Вот бы отдельное устройство, чтобы можно было принимать с pc байтики и играть. Чтобы к zx-tune можно было подключить, например. А там и до кроссредактора недалеко будет... наверное.

Короче, AYX для pc — это интересно. Т.е. не в пц принимать звук, а с пц брать байтики и играть.
designer-butcher
User avatar
nodeus
 
Posts: 132
Joined: Tue, 27.05.2014 20:15:44
WEBSITE: http://nodeus.ru
LOCATION: Perm/Russia
YOUTUBE: https://www.youtube.com/user/nodeusnet

Postby TS-Labs » Tue, 01.08.2017 18:34:03

Да-да-да! Думал и забыл:
- АУ-плеер (порегистровый), с поддержкой таймстемпов (с точностью 1 такт 3.5МГц) - чтоб можно было играть дигу, например.
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby WBC » Wed, 02.08.2017 22:55:14

поцдерживаю, авось и трекор напишется :)
--wbcbz7
User avatar
WBC
 
Posts: 302
Joined: Fri, 19.09.2014 10:23:23
LOCATION: omsk XOR nsk

Postby MVV » Tue, 05.09.2017 17:47:10

Как на счёт поддержки в FL Studio?
Video from : youtube.com
MVV
 
Posts: 479
Joined: Sun, 01.12.2013 22:48:17

Postby VBI » Tue, 05.09.2017 18:14:14

влад. это всё из другой песни.
реально - поддержка в vt2 нужна
User avatar
VBI
 
Posts: 1965
Joined: Mon, 03.06.2013 09:20:29

Postby Ldaborc » Wed, 13.12.2017 05:09:42

Что-то новостей по данному девайсу не слышно :-( Заглох ??? Проект ?
ZX-Evolution 4Mb rev.c2 + Video DAC2 + Nemo IDE rev.D (A0/A8) +
NeoGS rev.c2/ZXM Moon Sound/ZXM Soun Card Extreme/AYX32 +
FDD 5,25'' + 2xFDD 3,5''/SDCard 16 Gb + 8 Gb/HDD 80 Gb + DVD-Rom

Profi Plus 512Kb v. 4.02 (Not Worked Et)
Ldaborc
 
Posts: 74
Joined: Fri, 03.03.2017 05:35:00

Postby TS-Labs » Wed, 13.12.2017 12:23:31

Нет.
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby VBI » Thu, 14.12.2017 12:05:26

Ldaborc, понимаешь, эти ленивые разработчики...
Им бы только пиво пить и срачи за клешинг разводить!!!

гм...
;)
User avatar
VBI
 
Posts: 1965
Joined: Mon, 03.06.2013 09:20:29

Postby idxi » Fri, 15.12.2017 22:50:23

Впечатляющие возможности YM2149...
The YM2149F chip built by Yamaha based on the General Instrument AY-3-8910 is the built-in soundchip in the Atari ST series of computers. This soundchip, comprised of only three audio oscillators producing a square wave and one noise generator, inspired me to start composing for soundchips. Although its limitations, which might make it sound a bit more dull than the SID, it is capable of producing some beatiful sounds. On this page you can find some of the tunes I have made for it.
> link

Music examples:
[>Music1]
https://www.youtube.com/watch?v=lkvAbLtWow8

[Music2<]

[>Music3]
https://www.youtube.com/watch?v=c3lnMl6FvZU

Там >>> человек рассказывает про трекер на котором это чудо написано для YM2149..
Возможно применение реальных цифровых сэмплов.. в отдельном 'виртуальном 4(5)-м канале'(микшируется)
Трек с 'диги DMA микшируемымы сэмплами'

On the Video you can see some parts oft the YM2149 data scheet..

view: chiptune ym2149 registerdump
chiptune ym2149 registerdump

Хотя микросхема YM2149F не имеет специальных возможностей для проигрывания оцифрованных звуков, оно может быть реализовано программно, с помощью использования 4-разрядного ЦАП одного или нескольких каналов при запрещённой логическим микшером генерации тона и шума. Такой подход требует большего использования времени процессора, чем при использовании микросхем, специально созданных для воспроизведения цифрового звука (таких, как чип Paula в компьютере Commodore Amiga). Но, тем не менее, он широко использовался на таких платформах, как компьютер Atari ST, для воспроизведения цифровой музыки, и на Amstrad CPC для воспроизведения коротких звуковых эффектов в некоторых играх.
Используя ту же технику, но не отключая генерацию тона, возможно расширить возможности генерации различных тембров. В этом случае изменение выходного уровня ЦАП канала используется для модуляции основного тона другой частотой. Таким образом можно получить, например, три независимых амплитудных огибающих любой формы, или тембры, напоминающее звучание микросхемы SID. Для эффективной реализации этого способа требуется наличие в системе возможности прерывания работы процессора с достаточно высокой частотой — например, на компьютере Atari SТ, где эта техника использовалась наиболее активно, применялось прерывание по началу строки растра
. На системах, где таких аппаратных возможностей нет, для реализации подобного эффекта потребуется почти всё время процессора. Существует демонстрационная программа Digisid, реализующая эффект на компьютере ZX Spectrum, который не имеет аппаратных возможностей, подобных Atari ST.
В 2006 году два разработчика программ для компьютера MSX создали продвинутый энкодер, преобразующий wave-файлы в наиболее подходящие данные для каналов AY, используя алгоритм поиска Витерби. Это позволило воспроизводить wave-файл с частотой дискретизации 44100 Герц на компьютере MSX двадцатитрёхлетней давности, с соотношением сигнал-шум выше чем у 8-разрядного ЦАП. Алгоритм Витерби очень ресурсоёмок, он не мог применяться в 80-х годах, так как в то время не существовало достаточно мощных компьютеров для выполнения такого преобразования.
Некоторые люди, в особенности пользователи компьютера ZX Spectrum, используют микросхему AY для создания музыки, в том числе и для концертных выступлений...

В TS-Conf можно запрограммировать несколько источников маскируемого прерывания. Среди них:

- кадровый (frame, индекс 0),
- строчный (line, индекс 1),
- окончание DMA транзакции (dma, индекс 2).

Источник frame срабатывает, когда значение счетчиков растра совпадает с регистрами HSINT и VSINT.
Источник line срабатывает в каждой строке, когда горизонтальный счетчик растра равен 0.
Источник dma срабатывает после окончания любой транзакции DMA.

Каждый источник прерывания формирует сигнал ~INT и выставляет собственный байт D[7:0] на ШД в цикле ~IORQ || ~M1.

- $FF - кадровый,
- $FD - строчный,
- $FB - DMA.


- ну чисто, теоретико-технически, похоже, всетаки, возможно для AYX32 это зарелезить.. ? предложение 2: например, как "автономное" устройство (протокол общения с железкой что то вроде MIDI)?) предложение еще одно: и арифметику(внутри ayx32 TSL когда то предлагал высчитывать, хотел же туда считать закидывать) .. - для кучи :)

Shut.
User avatar
idxi
 
Posts: 179
Joined: Mon, 03.07.2017 16:54:54

Postby idxi » Sat, 03.03.2018 12:53:35

arm\AYX-32\Tool\ay-config\res\wav.h - not fond :?


Очень предварительный консепт.


1. General Concepts
В панельку от АУ-3-8910.
Эмулирует АУ и УМ по стандартной модели.
ФМ синтез не планируется. По крайней мере в ближайшем будущем.

Юзает набор доп регов 16-255.

Цифровой звук 12 бит, не менее 44.1кГц, стерео.
ХМ до 32 каналов со всеми фичами.
Возможность плея цифрового эффекта в любой из 32 каналов.

Возможность использования в качестве акселя.
Алсо, в тсконфе я предусмотрю для ДМА АУ как одно из устройств. В обе стороны.
Но работа зетником всегда возможна при отсутствии дмы.

Имеет на борту ОЗУ, мин 512кб, макс 4мб, скока не жалко.

Важный момент - защита от дурака на всех возможных уровнях для предотвращения неконтролируемого зависона.



2. Signaling
Сигналы BC1 и BDIR выбирают режим Latch/Read/Write.
По латчу - номер рега, по риду/райту - данные.

Ресет АУ заведен на апп. ресет арма.
По ресету арм должен быстренько приводить себя в состояние готовности АУ.
Например, тестирование ОЗУ можно отложить на вейтовую по статусу команду
перевода в состояние цифры или ХМ.



3. Programming model

Все те же порты FFFD и BFFD.
Реги 0-15 АУ. В режиме АУ все как у АУ.

Другие реги:

Status (чтение)
- Готовность принимать команду (рэди/бизи)
- Готовность принимать дату (по идее, безвейтовый, проц должен дату быстро принимать, но мало ли)
- Режим девайса (АУ/не АУ)
- Статус (ошибка/не ошибка)
етс.

Расширенные статусы (чтение)
- код ошибки
- расширенное состояние
- етц

Command (запись)
Прежде чем слать че попало - проверяем статус.
По состоянию статуса - знаем, что можно слать.
Какие команды могут быть:
- смена режима (АУ/аудио-дма/ХМ плеер)
- управление режимами (загрузка/плей/стоп)

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

Переменные, связанные с плеерами.
- паттерн/нота/етц

Громкости
- глобальная (левый/правый)
- для каждого из каналов в левое/правое ухо. 0-255. 64 рега. Возможно запилить в виде 2х регов: номер канала/уха + громкость.

Версия (чтение)
После записи номера этого рега выдается хз скока байт стринга в кастомном формате,
содержащим инфу про девайс.



4. Output audio
12-бит ЦАП достаточен. Алсо, 12 бит всю жизнь было на расово копирастных ЦэДэ.
Стерео. Дискретизация 44100 или 48кгц.
Эмуляция АУ прямо в ЦАПы по обработке каждого тика.
Формирование цифрового потока идет асинхронно в буфер пачками по 1 тику плеера,
вывод в ЦАПы через ДМА.

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

Суммирование каналов производится путем сложения амплитуд с обрезанием амплитуды по 0 и 255.
Т.е. каждый из каналов играет с громкостью на весь ЦАП, а не 1/32, как в гс и нгс.

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




5. Possible issues
Если на 14мгц дрочить порты АУ зетником на макс скорости,
проц должен адекватно на это реагировать, не тормозя, не вися, не глитчя.

Предусмотреть ситуацию, когда go sleep stupid user загрузит какое-нить
говно в плеер и даст плей. Т.е. защиту от дебила на всех возможных уровнях:
инит модуля, выполнение команд и тд, и реагировать на это адекватным статусом.
Если свершилось страшное и проц завис - спасает общий ресет.
Бага такого рода лежит на разрабе и подлежит фиксу.
Зависания в режиме АУ не должно быть в принципе.


Шикарнейше.. :)

Реальный/актуальный апдейт в шапке темы? :)
User avatar
idxi
 
Posts: 179
Joined: Mon, 03.07.2017 16:54:54

Postby soviet » Sat, 28.07.2018 18:27:54

Can this be fit in the zx evolution or also can work on other hardware that use YM like pentagon 2014 ?.
soviet
 
Posts: 31
Joined: Tue, 28.07.2015 21:20:13

Postby TS-Labs » Sat, 28.07.2018 22:57:46

Yes.
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby qwer4321 » Sat, 08.09.2018 18:42:43

http://zx-pk.ru/threads/29077-igraem-me ... page5.html
То что я хотел на AY только на ВИ53

Off Topic
Цитата Сообщение от svofski Посмотреть сообщение
SegaBoy, прикольно! Конечно интересно посмотреть как это было сделано. Выходы ВИ53 через мультиплексоры подключаются на разные точки сумматора, или как?
Пока не добрался до нормального редактора, покажу рисунки типа "от руки".

На Апогее изначально три выхода ВИ53 соединяются вместе через три резистора по 91К:

Нажмите на изображение для увеличения. Название: 001.jpg Просмотров: 13 Размер: 34.4 Кб ID: 66144

Основная идея такая. Ставим регистр (74хх174). Старшие три бита - громкость первого канала, средние три - второго, младшие два - третьего. Выходы регистра через элементы ИЛИ и резисторы подмешиваем к общей точке, где соединяются все каналы. Вот картинка для одного канала:

Нажмите на изображение для увеличения. Название: 002.jpg Просмотров: 22 Размер: 41.6 Кб ID: 66145

Если в регистре нули, то амплитуда канала максимальная. Увеличивая значение (0-7) мы уменьшаем громкость на 1/8. На самом деле получается даже 9 уровней громкости, так как выключение канала получает уровень "ниже самого тихого".
На плате ничего перерезать (а так же выпаивать или выкусывать не надо). Обязательно покажу полную схему как нарисую в чём-нибудь нормальном (к вечеру скорее всего).
Надеюсь идея хоть немного понятна - не меняя изначальную схему компьютера, добавив дополнительные элементы (навесным монтажом), через резисторы соединяем в одну точку n-ное количество выходов и тем самым "мешаем" каналам проседать до нуля, обеспечивая тем самым "эффект понижения громкости" (от изначально максимальной).

- - - Добавлено - - -

Цитата Сообщение от ivagor Посмотреть сообщение
SegaBoy, вдруг эта доработка станет в некотором роде "стандартом продвинутых ВИ53", не хотелось бы сразу закладки такого перекоса по числу уровней. Пожелание сделать хотя бы по 16 для каждого канала.
Само-собой. Этот "перекос" был выбран только из-за возможности решения "по-быстрому" с помощью только одного регистра. Нужно было собрать решение в макете и начать тестировать. Это предварительная "тестовая" версия. Добавив второй регистр, можно на каждый канал дать по 16(+1) уровней, а ещё четыре бита оставить зарезервированными.
User avatar
qwer4321
 
Posts: 17
Joined: Mon, 27.02.2017 23:51:15

Postby Grey » Sun, 13.01.2019 16:33:56

Как продвигается проект ?
Вопрос - на чем программируется внутренняя часть ? Эмулятора z80 там нету по типу NGS ?
Grey
 
Posts: 104
Joined: Fri, 29.11.2013 15:58:02

Postby TS-Labs » Mon, 14.01.2019 07:02:35

Grey wrote:Как продвигается проект ?

Медленно.
Grey wrote:Вопрос - на чем программируется внутренняя часть ?

ARM Cortex-M4, C++11.
Grey wrote:Эмулятора z80 там нету по типу NGS ?

Нету.
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby Grey » Mon, 14.01.2019 13:26:43

TS-Labs wrote:C++11

Так Сишные исходники плееров с PC может легко компильнуться с минимальными изменениям ?
Grey
 
Posts: 104
Joined: Fri, 29.11.2013 15:58:02

Postby TS-Labs » Mon, 14.01.2019 15:20:40

Конечно. Я вообще хотел заюзать ХМ плеер от kb.
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby Keeloq » Mon, 11.03.2019 08:45:24

Добрый день. Подскажите пожалуйста, как продвигается проект?
Keeloq
 
Posts: 3
Joined: Mon, 11.03.2019 08:43:55

Postby Keeloq » Mon, 11.03.2019 08:46:57

Будет возможность встроить в проект ym2612?
Keeloq
 
Posts: 3
Joined: Mon, 11.03.2019 08:43:55

Postby TS-Labs » Mon, 11.03.2019 19:28:59

Keeloq wrote:как продвигается проект?

Медленно.
Keeloq wrote:Будет возможность встроить в проект ym2612?

Автор НЕ настроен категорически против разного рода FM-чипов и других доделок. Однако, пока не выполнена запланированная программа-максимум, сам он ими заниматься не будет. С технической т.з. есть сорцы эмуляторов, а процессор в девайсе достаточно мощный. Сорцы открыты.
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby Keeloq » Mon, 11.03.2019 21:42:21

Можно полюбопытствовать, над какими проектами сейчас автор занят? Eva rev.d?
Keeloq
 
Posts: 3
Joined: Mon, 11.03.2019 08:43:55

PreviousNext

Return to Hardware

Who is online

Users browsing this forum: No registered users and 0 guests

x