PDA

Просмотр полной версии : Эмулятор General Sound



CityAceE
28.10.2024, 20:46
А что не сделали до сих пор какой-нибудь эмулятор General Sound на EPS32, Raspberry Pi Pico или чём-нибудь подобном, на худой конец на китайской FPGA, чтобы можно было за недорого купить, прошить и подключить к реальному компьютеру?

gdv2002
29.10.2024, 07:12
Не, нету такой, только плеер ТС есть.

Kulich
29.10.2024, 09:41
GS на Fpga это NGS. 2-4 мегабайта памяти все равно будут внешними, аудио тракт тоже будет внешним. Ну и неинтересно это народу. Это вам не пикоГусь.
А, ещё WildSound ближе всех подошёл к этому, он хитрым образом вроде как .XM играть может.

CityAceE
29.10.2024, 15:22
только плеер ТС есть.
Это не совсем то ;)


2-4 мегабайта памяти все равно будут внешними
Если меня не подвит память, то в первых версиях GS был минимум памяти (128K?) и была отдельная плата расширения до 512К. А в современных железяках 512 Мб (не Кб, а именно Мб!) набортной памяти, а то и больше - это обычное дело.


аудио тракт тоже будет внешним
Это тоже крохотная недорогая плата с Али.


Ну и неинтересно это народу.
Это странно, так как AY, например, всячески эмулируют.

В общем, вот прямо каких-то реальных ограничений, насколько я понимаю, нет. Дело в отсутствии энтузиаста, которому бы это было интересно и он бы это реализовал...

goodboy
29.10.2024, 16:05
по-сути GS сам уже является эмулятором MODплейера.
а такое под EPS32 вполне существует.

Titus
29.10.2024, 16:12
по-сути GS сам уже является эмулятором MODплейера.
а такое под EPS32 вполне существует.

Причем, не очень высокого качества, т.к. скорость процессора не позволяет.

CityAceE
29.10.2024, 16:34
Мне, честно говоря, всё равно что там будем внутри: эмуляция Z80 с всеми вытекающими или же некий другой эмулятор MOD-плейра. Лишь бы оно было совместимо с наработанным софтом, стоило недорого, а паять пришлось только провода к плате. А ещё лучше на макетку её и в слот вставить.

reddie
29.10.2024, 18:27
А в чем глобальный смысл эмулятора вместо ГС? Дешевизна?

CityAceE
29.10.2024, 18:58
А в чем глобальный смысл эмулятора вместо ГС?
Доступность.

reddie
29.10.2024, 21:40
Доступность
да вроде как и реальные железки вполне доступны)) цена, правда, не всех устраивает...
тут еще один момент: эмулятор должен также эмулировать (ыыы) исполнение Z80-кода внутри ГС, как реальная железяка. потому что плееры (ZPlayer точно) засылают в ГС свой код. без поддержки этого режима функционал сразу режется...

CityAceE
29.10.2024, 22:04
цена, правда, не всех устраивает
Вот именно! Мало того, что он малодосупен, так ещё и цена кусается.


эмулятор должен также эмулировать (ыыы) исполнение Z80-кода внутри ГС, как реальная железяка
Как автор нескольких эмуляторов Z80/i8080 на разных языках могу сказать, что это вообще не проблема!

marinovsoft
30.10.2024, 07:24
да вроде как и реальные железки вполне доступны)) цена, правда, не всех устраивает...
тут еще один момент: эмулятор должен также эмулировать (ыыы) исполнение Z80-кода внутри ГС, как реальная железяка. потому что плееры (ZPlayer точно) засылают в ГС свой код. без поддержки этого режима функционал сразу режется...
Нужно сделать новую карту, я уже даже название придумал - Capitan Sound. Это аналог GS без исполнения кода Z80 :)))

Mick
30.10.2024, 07:59
тут еще один момент: эмулятор должен также эмулировать (ыыы) исполнение Z80-кода внутри ГС, как реальная железяка. потому что плееры (ZPlayer точно) засылают в ГС свой код. без поддержки этого режима функционал сразу режется...
Ну учесть то, что на компе в эмуляторе Спектрума, например Unreal ведь GS эмулируется, то на каком нибудь относительно недорогом современном АРМе можно такой фокус проделать. Если к примеру взять SOC типа Allwinner V3s или T113 у которых внутри есть ОЗУ. Но, как правило для него только что то линуксоподобное есть, то есть надо писать поддержку программную. Понятно, что это типа не аутентично и не тепло-лампово, но зато эмулировать можно не только GS.

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


Как автор нескольких эмуляторов Z80/i8080 на разных языках могу сказать, что это вообще не проблема!

Беда в том, что есть чистые железячники, есть чистые кодеры. А смесь и того и другого - это уникумы, чьих тут по пальцам одной руки можно было пересчитать, сейчас таких тут скорее всего нет.
Вот, к примеру допустим я нарисую на том же V3s плату (карту), но я в Линкусе никакой - кто будет поддержку писать?

CityAceE
30.10.2024, 08:14
Если к примеру взять SOC типа Allwinner V3s или T113 у которых внутри есть ОЗУ. Но, как правило для него только что то линуксоподобное есть, то есть надо писать поддержку программную.
У меня есть эмулятор Специалиста под ARM. Написан на ассемблере мною лично с нуля, включая эмуляцию Intel 8080. Это, конечно ещё не Z80, в целом дописать до Z80 можно. Также есть исходники эмулятора Спектрума с Z80 (https://youtu.be/z5eR7t2AMyo), тоже на ассемблере ARM.


кто будет поддержку писать?
Нужно для начала клич кинуть. Вдруг кто-то захочет принять участие в проекте. Хотя вероятность и довольно низкая. Сейчас если что-то хочешь сделать, то делаешь это полностью сам...

Dexus
30.10.2024, 08:55
Условная карта ведь должна будет и в слот расширения оригинала (128+) подходить, и на PentEvo пристраиваться??

Mick
30.10.2024, 09:11
Условная карта ведь должна будет и в слот расширения оригинала (128+) подходить, и на PentEvo пристраиваться??

Почему бы и нет, я так понял все равно эта карта предназначена для ретрокомпов, а значит должна предусматривать взаимодействие с ними. Иными словами переходная-интерфейсная часть должна быть и ее скорее всего проще делать на CPLD, чтобы можно было цеплять к разным машинам, будь это Спектрум с его шиной ZX BUS, будь это Специалист с его обычной шиной (адрес, данные). Это в идеале.
Но как я уже описал, если брать условный V3s, то процесс запуска будет приблизительно такой. При включении питания, в память V3s загружается ось, которая грузит программу-эмулятор и после этого она становится готова к работе. По сути, ни чем не отличается от условной приставки ТВ или современного mp3 плеера.
В любом случае нужно составлять ТЗ.

P.S. Скажу честно, я о такой железке давно думал, но я не программист высокого уровня. Посему если кто подтянется и будет расжовывать как собрать Ось под него, как смонтировать программу - то я бы попробовал бы помочь с такой железкой.

CityAceE
30.10.2024, 11:06
будь это Специалист с его обычной шиной (адрес, данные). Это в идеале.
Вот! Мысль уловлена полностью ;)


загружается ось, которая грузит программу-эмулятор и после этого она становится готова к работе.
Совсем голое ядро Linux'а загружается очень быстро - пока Спектрум свою память очистит, ядро уже успеет загрузиться. Так что можно и под Linux этот эмулятор запилить, чтобы программисту было проще. И я думаю, что под выбранный чип уже существуют готовые для сборки ядра.

goodboy
30.10.2024, 12:12
например в Unreal ведь GS эмулируется
причём там два варианта эмуляции и как раз bass.dll это вполне самостоятельное устройство (без z80)

Gutten
30.10.2024, 23:04
учитывая текущую стоимость действительно новодельного ретро, а не железного эмуля всё-в-одной-фпга (хотя я там не особо сравнивал цены), стоимость что ZXM-GS, что NeoGS не особо велика, если она действительно нужна в комплекте. А уж ZX-Multisound ещё и дополнительные возможности даст за почти аналогичную стоимость.

Mick
31.10.2024, 11:19
А уж ZX-Multisound ещё и дополнительные возможности даст за почти аналогичную стоимость.

Немного не так. Если перечисленное железо применять только в Спектруме, то безусловно все правильно, но если применять в другом компьютере, то как минимум необходим механизм загрузки той же самой музыки. Тогда в этом плане NeoGS более предпочтительна ввиду наличия SD карты, так как в ZXM-GS и ZX-Multisound ее нет. Конечно если комп типа Специалиста обеспечен устройством ввода все упрощается и только нужно управлять картой. В таком случае безусловно ZX-Multisound вне конкуренции. Но есть скажем плюс от эмулятора на условном ARM, хотя это не тепло и не лампово. На той же плате можно реализовать куда более возможные эмуляции не только AY или GS, но и вообще проигрывать различные мелодии других форматов, включая mp3 и так далее. Более того, я считаю что не стоит ограничиваться только аудио проигрывателем, а добавить систему ввода-вывода информации (USB, ETHERNET, SD). То есть условный Специалист значительно расширяется в возможностей. Конечно в этом случае получается что медленный Специалист рулит супербыстрым процессором, который за него практически все делает.

Kalantaj
07.11.2024, 15:39
https://github.com/mvvproject/DivGMX/tree/master/divgmx_gs
Не? Дорого?

CityAceE
08.11.2024, 22:41
Не? Дорого?
На самом деле вопрос больше не в цене, а в простоте и доступности. Не все обладают необходимыми навыками пайки. Кому-то просто нужно взять простой девайс и малой кровью его подключить с помощью пары проводков (но я, конечно, здесь утрирую).

А вообще работы по заселению GS в FPGA неспешно идут:
https://zx-pk.ru/threads/35977-spetsialist-general-sound.html?p=1206314&viewfull=1#post1206314