Использование в NeoGS софтядра Z80 (вопросы к разработчикам)

NeoGS software and hardware

Postby AlexBel » 04 Jun 2019, 12:16

lvd wrote:Да там и реализовывать нечего -- многие контроллеры имеют встроеный ЦАП (например многие из stm32), и аналогично же многие -- выход I2S (не путать с I2C!), куда можно подцеплять внешний аудио-сигмадельта-цап (которых тоже миллионы разных).


Не, я имел в виду не методы вывода звука, а математику, методику, по которой рассчитывается вывод байтиков. Есть сэмпл, если его байты подряд выводить в ЦАП с фиксированной частотой сэмплирования, будет звук на базовой частоте. Для вывода более высоких нот байты пропускаются, для более низких - дублируются (или вставляются "переходные" к следующем байту, рассчитываются, в самом простом варианте, средним арифметическим). Это грубо, общая теория. Интересует, как это делается практически, как рассчитываются требуемые для вывода байты для разных частот.

lvd wrote:А гс с прошивкой уже есть и играет. С этой точки зрения GS конечно предпочтителен, взял и используешь.


Поэтому я и решил использовать уже готовый и рабочий проект. Я не против изобрести новый велосипед, но, для начала, можно поездить и на соседском, ежели сосед не возражает :)

lvd wrote:Это удвоение относительно GS, где было 4 независимых канала. Штатная GSная ромка естественно про это ничего не знает.
8 каналов играются вот тут например: viewtopic.php?f=31&t=8944


Вот про удвоение я, пока что, не понял - раз прошивка GS поддерживает максимум 4 канала, без её изменения как может быть 8 каналов?

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

lvd wrote:изменения для прохода zexall вроде уже есть за пределами гяфа


Всё равно не понял. Видимо, безнадёжно отстал...
Bye!
User avatar
AlexBel
 
Posts: 5
Joined: 26 Mar 2010, 20:19
Location: Volgograd, Russia
Group: Registered users

Postby lvd » 04 Jun 2019, 18:11

AlexBel wrote:Не, я имел в виду не методы вывода звука, а математику, методику, по которой рассчитывается вывод байтиков. Есть сэмпл, если его байты подряд выводить в ЦАП с фиксированной частотой сэмплирования, будет звук на базовой частоте. Для вывода более высоких нот байты пропускаются, для более низких - дублируются (или вставляются "переходные" к следующем байту, рассчитываются, в самом простом варианте, средним арифметическим). Это грубо, общая теория. Интересует, как это делается практически, как рассчитываются требуемые для вывода байты для разных частот.

Ну то что ты описал и есть плеер модов. Как там точно делается, не очень знаю. Насколько я знаю, в GS "медленные" семплы интерполируются линейно, а быстрые играются как есть.
Ну и вот еще, 1ая ссылка гугла: https://github.com/jfdelnero/HxCModPlayer

AlexBel wrote: ежели сосед не возражает

Да вроде проект открытый, бери да юзай :)

AlexBel wrote:Вот про удвоение я, пока что, не понял - раз прошивка GS поддерживает максимум 4 канала, без её изменения как может быть 8 каналов?

Там свой, отдельный от прошивки код в NGS грузится и он играет.
Многого нет здесь: http://lvd.nedopc.com
Image
User avatar
lvd
 
Posts: 1682
Joined: 07 Apr 2007, 22:28
Group: Registered users

Postby AlexBel » 06 Jun 2019, 12:02

lvd wrote:Ну и вот еще, 1ая ссылка гугла: https://github.com/jfdelnero/HxCModPlayer


Спасибо! У меня есть несколько проектов-плееров на контроллерах, но этого я не видел. Больше материала для изучения.

lvd wrote:Там свой, отдельный от прошивки код в NGS грузится и он играет.


Прихожу к выводу - лучше прежний GS использовать. С ним, во всяком случае, всё просто - вот схема, вот прошивка ПЗУ. Нашёл исходники на https://github.com/psbhlw/gs-firmware , думаю, этого достаточно. А NGS избыточно сложен для моих потребностей. 2 мегабайта памяти и 4 канала вполне достаточно...
Bye!
User avatar
AlexBel
 
Posts: 5
Joined: 26 Mar 2010, 20:19
Location: Volgograd, Russia
Group: Registered users

Postby lvd » 06 Jun 2019, 15:25

AlexBel wrote:Спасибо! У меня есть несколько проектов-плееров на контроллерах, но этого я не видел. Больше материала для изучения.

Ну это всего лишь 1ая ссылка, такого думаю находить можно десятками. И ты сам делал тоже.
AlexBel wrote:Прихожу к выводу - лучше прежний GS использовать. С ним, во всяком случае, всё просто - вот схема, вот прошивка ПЗУ. Нашёл исходники на https://github.com/psbhlw/gs-firmware , думаю, этого достаточно. А NGS избыточно сложен для моих потребностей. 2 мегабайта памяти и 4 канала вполне достаточно...

Старый GS -- это по сути вот его схема.
Можно сделать новую схему (что я и сделал в NGS, правда там схема описывается на верилоге), совместимую со старой.
Можно к ней добавить всяких фишек, типа 8 каналов или DMA для спектрума. А можно не добавить.
Я это к чему: сделать нечто, совместимое с прошивкой gs1.05 -- довольно простая задача.

PS: а памяти всё равно лучше побольше, хотя бы 2 метра :)
Многого нет здесь: http://lvd.nedopc.com
Image
User avatar
lvd
 
Posts: 1682
Joined: 07 Apr 2007, 22:28
Group: Registered users

Previous

Return to NeoGS - софт и железо

Who is online

Users browsing this forum: No registered users and 2 guests