by TS-Labs » 19 Apr 2010, 18:52
Народ, давайте серьезно и без трололо.
Разобьем проблему на 2 части.
1) программная.
Я могу (реально, неиллюзорно) написать прошивку для НеоГС, хоть под 4 канала, хоть под 32 - НЕТУ принципиальной разницы. Я готов это сделать. БЕСПЛАТНО. (точнее, можно поговорить о скидках на железо - я ожидаю ZXevo и NeoGS). Я могу ее написать, хоть для Z80, хоть для отмелки - без разницы. С СОВМЕСТИМОСТЬЮ с GS, с нуля.
Мои личные предпочтения: считаю з80 хуетой, и то, что в первом ГС-е его использовали - это лишь следствие того, что спектрумщики в большинстве (я себя к ним тоже отношу) дальше з80 думать не умеют. Напомню: отмелки были уже годика этак с 2000-го, да. Могу согласиться с тем сомнительным аргументом, что ГС можно юзать как сопроцессор (сам я так и поступал в 2000-м году со своей собственной звуковой платой, где проц был на 18,432). Это к делу не относится, и если писать для АВР, то на совместимость (на уровне интерфейса ГС) это не повлияет. Зато круто увеличит возможности.
2) аппаратная
Я не очень знаю возможности ФПГА, стоящей на плате НеоГС, поэтому прошу ответить на пару вопросов.
Можно ли В ПРИНЦИПЕ написать для нее прошивку, которая сможет обеспечивать:
- собственный доступ к памяти с целью чтения 44100 раз в секунду байта (или 2 байт - 16битные инструменты)
- увеличивать значение адреса на дробную величину (1 байт до запятой и 2 после) - обычный 24 битный сумматор (2 байта для "суб-адреса")
- интерполяция (алгоритм прост как двери, но требуется апаратное умножение)
- прочитанную выборку умножать на коэф. громкости для левого, а потом для правого канала - требуется апаратное умножение, значения суммировать отдельно
- все вышеописанное повторить 32 раза для 32 каналов модуля
- полученные значения для левого и правого выслать в ШИМ / ЦАП. следить, чтоб они не перевалили за 16 бит - делается со стороны плеера путем расчета коэфициентов панорамирования.
(вот вам и не придется брать кратное степени 2 число каналов - их может быть хоть 13).
- ВСЕ!
Прошивку для ФПГА я тоже собираюсь писать сам.
Для себя - лично - я это все собираюсь сделать, кладя хуй на стандарт GS и на Z80. Плеер я буду писать для S3M, IT и тд.
Однако, п.1 остается в силе.
Жду предложений. Надо оно вам, не надо?