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

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

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

(лицерука) Они туда сид впиливают...
User avatar
TS-Labs
 
Posts: 4995
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: 4995
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: 4995
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
Location: Perm/Russia

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

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

Postby WBC » Wed, 02.08.2017 22:55:14

поцдерживаю, авось и трекор напишется :)
--wbcbz7
User avatar
WBC
 
Posts: 260
Joined: Fri, 19.09.2014 10:23:23
Location: Omsk \ Russia

Postby MVV » Tue, 05.09.2017 17:47:10

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

Postby VBI » Tue, 05.09.2017 18:14:14

влад. это всё из другой песни.
реально - поддержка в vt2 нужна
User avatar
VBI
 
Posts: 1862
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: 46
Joined: Fri, 03.03.2017 05:35:00

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

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

Postby VBI » Thu, 14.12.2017 12:05:26

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

гм...
;)
User avatar
VBI
 
Posts: 1862
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: 80
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: 80
Joined: Mon, 03.07.2017 16:54:54

Previous

Return to Hardware

Who is online

Users browsing this forum: No registered users and 1 guest

cron

x