NeoGS

Материал из SpeccyWiki
Перейти к: навигация, поиск
Прототип NeoGS

NeoGS — звуковая карта для отечественных клонов ZX Spectrum, разработанная группой NedoPC в 2008 году. Программно полностью совместима с General Sound и имеет расширенные возможности.

Разработка

В 2004 году на этапе начального обсуждения новой звуковой карты было два возможных варианта. Первый предполагал разработку дешёвого устройства на базе микроконтроллера, совместимого с оригинальным GS только на уровне команд прошивки, не имеющим возможности выполнения кода Z80 и совместимости с программами, использующими эту возможность — в частности, с Riff Tracker. Второй вариант предполагал перенос оригинальной конструкции на современную элементную базу. В результате публичных обсуждений первый вариант не нашёл поддержки у потенциальных пользователей.

При разработке карты авторы ставили перед собой следующие задачи:

  • Создать полностью совместимое с оригинальным GS устройство на современной элементной базе, включая ПЛИС
  • Сохранить стоимость устройства на уровне реплик оригинального GS
  • Добавить новые возможности, если они не окажут существенного влияния на стоимость

В разработке карты участвовали LVD (схема и прошивка ПЛИС), CHRV (дизайн и разводка платы), KOE и JtN. Презентация рабочего прототипа карты была проведена в июне 2008 года на демопати DiHalt 2008. Продажи малой серии устройств начались в октябре 2008 года. Стоимость собранной платы составляет 1800 рублей, комплекта для сборки (плата и компоненты, включая прошитые ПЗУ и ПЛИС) — 1500 рублей.

Ревизии

Ошибка создания миниатюры: Ошибочный параметр миниатюры
NeoGS ревизии C.

На текущий момент существует три ревизии платы:

Revision A — опытная, не для продажи.

Revision B для первой партии карт, исправлены найденные ошибки, добавлен 3.5' аудиоразъём, убрана кнопка горячего старта. При планировании производства первой серии плат всем желающим была предложена возможность проспонсировать проект небольшой суммой в обмен на размещение имён спонсоров на печатной плате. Спонсорами стали GoodBoy, Valeron и Mick.

Revision C — уменьшена высота платы, ОЗУ расширено до 4 мегабайт, добавлена опциональная возможность сброса карты при сбросе компьютера, изменена элементная база.

Возможности

Возможности по воспроизведению MOD-файлов и отдельных сэмплов по сравнению с оригинальной General Sound остались без изменений, так как используется оригинальная прошивка ПЗУ с проигрывателем.

В авторской прошивке ПЛИС, которая заменяет всю логику оригинальной карты, предусмотрена возможность воспроизведения восьми каналов вместо четырёх, но она не поддерживается оригинальным проигрывателем. Эти каналы складываются в ПЛИС и выводятся на общий последовательный 16-битный стереофонический ЦАП TDA1543 с частотой дискретизации 37500 Гц. MP3 декодер имеет собственный встроенный ЦАП и выход с него подмешивается аналоговым способом.

Среди новых возможностей карты — повышенная вдвое скорость работы процессора (опционально), аппаратный декодер MP3-файлов, адаптер SD/MMC-карты, увеличенный объём ОЗУ и режим быстрого блочного обмена данными между компьютером и картой, устраняющий основное препятствие для использования карты в качестве ускорителя вычислений.В 2009 году на демопати Chaos Constructions 2009 было показано первое демо, использующее NeoGS в качестве ускорителя — The Link.

Режим блочного обмена, называеемый DMA в документации, не является аналогом других DMA-контроллеров для ZX Spectrum, таких как DataGear, и не даёт возможности быстрой переброски данных в памяти компьютера без участия процессора. Он позволяет только обращаться к памяти NGS, используя обычные команды работы с памятью, например LDIR. Во время такого обращения процессор NGS приостанавливается.

Теоретически могут быть реализованы другие новые возможности, не только в области воспроизведения звука, путём создания новой прошивки ПЛИС. Исходники авторской прошивки ПЛИС и полная документация для производства находятся в свободном доступе.

Частичная поддержка дополнительных возможностей NGS, реализованных в авторской прошивке ПЛИС, добавлена в эмулятор Unreal Speccy.

Характеристики

  • Процессор Z84C0020 на частоте до 24 МГц вместо 12 МГц на GS
  • Поддержка SD/MMC карт (разъём на плате)
  • Аппаратный декодер MP3 MA8201 или MA8201A (совместимы с VS1001 и VS1011, поддерживают битрейт до 320 килобит в секунду и частоту дискретизации до 48 кГц)
  • 2 мегабайта ОЗУ вместо 128/512 килобайт на GS (4 мегабайта в ревизии C)
  • 512 килобайт ЭСППЗУ
  • Возможность перешивать ПЛИС на лету
  • Возможности авторской прошивки ПЛИС:
    • 8 каналов звука вместо 4 на GS
    • Три режима панорамирования:
      • Жёсткое для 4 и 8 каналов (половина каналов NGS слева, половина справа)
      • Точное для 4 каналов (каждый канал NGS имеет по две 6-битные громкости, для левого и правого канала)
    • 2 окна переключения страниц памяти вместо 1 на GS
    • Режим блочного обмена данными через память вместо портов (DMA в терминологии документации)

Недостатки

ZX Evolution и горизонтальная установка платы NeoGS.

Среди недостатков конструкции пользователи отмечали высоту карты, не позволяющие устанавливать платы с ней в низкопрофильные корпуса типа miniITX; отсутствие отверстий для установки монтажной планки; размещение разъёма SD-карты на самой плате, что существенно затрудняет замену SD-карт. Высота карты была уменьшена в ревизии C.

Программы с поддержкой NeoGS

  • The Linkдемо, использующее карту в качестве ускорителя
  • Neo Player Light — проигрыватель MP3 с SD-карты
  • Wild Copier — поддерживает SD-карту
  • Wild Player — поддерживает SD-карту

Ссылки