Autor Wątek: Sprzętowy emulator AY  (Przeczytany 4147 razy)

zibi

  • ***
  • Wiadomości: 106
  • Miejsce pobytu:
    Gdańsk
  • gg: 2830
Sprzętowy emulator AY
« dnia: 2013.04.09, 13:28:20 »
Heju!

W sumie nie wiem, czy tu czy do emulatorów... ;P

Szukam info o sprzętowej emulacji AY, np na AVR-ach, czy ktoś to robił, rozpatrywał, kombinował, (k)analiza, czy da się, itp.

W sieci nie znalazłem nic poza programową emulacją, ale na PC.

matofesi

  • *****
  • Wiadomości: 1770
  • Miejsce pobytu:
    Toruń/Poland
Odp: Sprzętowy emulator AY
« Odpowiedź #1 dnia: 2013.04.09, 13:38:21 »
Na AVRze to też będzie co najwyżej programowa emulacja. Sprzętową implementację można zrobić na jakimś CPLD albo FPGA - nie wiem na ile różnią się implementacje, ale zrobione są przynajmniej trzy. Jedna - napisana w VHDLu - siedzi w Speccy 2010. Druga w rdzeniu Spectrum dla V6Z80P - tutaj nie wiem w jaki sposób została zrobiona, bo na razie projekt jest zamknięty. Trzecia w VHDLu została zrobiona na potrzeby projektu FPGA Arcade.

Gryzor

  • *****
  • Wiadomości: 1765
  • Miejsce pobytu:
    Warszawa
Odp: Sprzętowy emulator AY
« Odpowiedź #2 dnia: 2013.04.09, 22:24:54 »
Nie slyszalem o takim projekcie, ale nie bardzo rozumiem co bys chcial wysylac z AVRa ? AY ma 3 analogowe wyjscia o amplitudzie 1V, a AVR nie ma przetwornika D/A. Nawet jakby zmiksowac kanaly i wypuscic stereo po PWM, to trzeba dolozyc elementy na zewnatrz. Lepiej juz wtedy uzyc od razu D/A. A AVR + D/A.... to juz chyba lepiej AVR + AY  :D

steev

  • *****
  • Wiadomości: 1033
  • Miejsce pobytu:
    inode 42
Odp: Sprzętowy emulator AY
« Odpowiedź #3 dnia: 2013.04.10, 10:41:43 »
Lepiej juz wtedy uzyc od razu D/A. A AVR + D/A.... to juz chyba lepiej AVR + AY  :D
Jest jeszcze opcja AVR XMEGA A1 który ma wbudowany podwójny D/A.
Albo idąc za ciosem,  ciut tańszy od niego Cortex M3 (STM32F103RD) który oprócz D/A ma jeszcze taką niebagatelną zaletę, że może pomykać z maksymalnym zegarem 72MHz. Pewnie by się dało do niego władować nie tylko AY ale całego speca :)
Machines should work. People should think.

Gryzor

  • *****
  • Wiadomości: 1765
  • Miejsce pobytu:
    Warszawa
Odp: Sprzętowy emulator AY
« Odpowiedź #4 dnia: 2013.04.10, 15:32:30 »
Chyba cos zblizonego do tematu. Czyli jednak DAC da sie zrobic w srodku, na zewnatrz tylko rezystor.
AY wyglada na zrobliwy. Do stereo potrzeba tylko AVR z dwoma PWM, a takie sa.
Sa PIC ktore maja adresacje portow jak stare uklady 8-bitowe. AVR chyba tego nie ma.
Wtedy majac kod AY na PIC mozna zrobic gotowy modul.

The Uzebox sound engine does not use any hardware synthesizers, the music is 100% rendered by software.
The engine has 4 independent sound channels, three melodic and one noise channel. Each have their own
independent waveform, volume and pitch (for the melodic channels).

steev

  • *****
  • Wiadomości: 1033
  • Miejsce pobytu:
    inode 42
Odp: Sprzętowy emulator AY
« Odpowiedź #5 dnia: 2013.04.10, 16:40:11 »
Chyba cos zblizonego do tematu. Czyli jednak DAC da sie zrobic w srodku, na zewnatrz tylko rezystor.
AY wyglada na zrobliwy. Do stereo potrzeba tylko AVR z dwoma PWM, a takie sa.
Trzeba tylko pamętać, że z PWM się nie wydusi więcej niż 30-40kHz max.
W granicach przyzwoitości będzie pewnie 15-20kHz. (tak, wiem że to już niemal ultradźwięki)
AY daje lepiej :)
Któryś attiny ma zdaje się szybkie liczniki taktowane z wewnętrznego PLL, ale to tiny, więc krucho z flashem...

Sa PIC ktore maja adresacje portow jak stare uklady 8-bitowe. AVR chyba tego nie ma.
Co masz na myśłi?
Machines should work. People should think.

Gryzor

  • *****
  • Wiadomości: 1765
  • Miejsce pobytu:
    Warszawa
Odp: Sprzętowy emulator AY
« Odpowiedź #6 dnia: 2013.04.10, 17:30:43 »
W PICu jest cos takiego jak parallel slave port:
http://ww1.microchip.com/downloads/en/DeviceDoc/31010a.pdf
Mozna pisac jak Z80 do AY.

AY wewnetrzenie to ma chyba 125kHz, imponujace. Na szczescie na wyjsciu zakres sygnalu audio jest znacznie mniejszy.
Inaczej nawet PC by nie dal rady :-)

steev

  • *****
  • Wiadomości: 1033
  • Miejsce pobytu:
    inode 42
Odp: Sprzętowy emulator AY
« Odpowiedź #7 dnia: 2013.04.10, 17:41:23 »
W PICu jest cos takiego jak parallel slave port:
http://ww1.microchip.com/downloads/en/DeviceDoc/31010a.pdf
Nie znałem. Przesprytne.
Machines should work. People should think.

karlik

  • ***
  • Wiadomości: 144
  • Miejsce pobytu:
    Leszno
Odp: Sprzętowy emulator AY
« Odpowiedź #8 dnia: 2013.04.11, 10:23:40 »
Z tego co kojarzę to na pewno jest:
- emulator  SID-a (np.: http://www.elektroda.pl/rtvforum/viewtopic.php?t=2090161 (ale tam AVR robi tylko za CPU, są również inne wersje np biblioteka to Arduino albo SwinSID http://www.swinkels.tvtom.pl/swinsid/  lub http://www.roboterclub-freiburg.de/atmega_sound/atmegaSID.html - w ogóle bez SID-a)
 - emulator POKEY-a (np.: biblioteka ASAP do PIC-a 32 http://dangerousprototypes.com/2012/04/20/atari-pokey-sound-emulator-on-a-pic32/ ).

Tak więc myślę, że i z AY-kiem nie byłoby problemu

EDIT:
o znalazłem na Elektrodzie kilka linków:

http://zx.pk.ru/showthread.php?t=12485
http://zx.pk.ru/showthread.php?t=3148&pp=10
http://zx.pk.ru/showthread.php?t=10510

i na koniec projekt: http://vector06c.narod.ru/emul/AY_AVR_Release.zip
« Ostatnia zmiana: 2013.04.11, 10:43:24 wysłana przez karlik »
ZX81 - ZX48 - Atari 600Xl,800XL,65XE,1040ST - Commodore Vic20,C64,C128, Amiga 500, Amiga 600 - Acorn Electron - Philips VG8020 i wciąż cała masa sprzętu przede mną :)...

Gryzor

  • *****
  • Wiadomości: 1765
  • Miejsce pobytu:
    Warszawa
Odp: Sprzętowy emulator AY
« Odpowiedź #9 dnia: 2013.04.11, 11:23:04 »
Jak zwykle przetaktowany ATMega, ciekawe jak to brzmi w realu.
W sumie tak jak myslalem - stereo zrobione w srodku, wyjscie na PWM z rezystorem na zewnatrz.
Zastanawiam sie tylko czy wyjscie PWM z ATmega daje podobny sygnal jak z AY, chyba bedzie "bardziej" prostokatne.

karlik

  • ***
  • Wiadomości: 144
  • Miejsce pobytu:
    Leszno
Odp: Sprzętowy emulator AY
« Odpowiedź #10 dnia: 2013.04.11, 11:34:49 »
Ano właśnie - ciekawe jak z odsłuchem... Nie konstruowałem żadnego z tych emulatorów, w przeszłości bawiłem się tylko w zewnętrzne odtwarzacze korzystające z oryginalnych układów.
ZX81 - ZX48 - Atari 600Xl,800XL,65XE,1040ST - Commodore Vic20,C64,C128, Amiga 500, Amiga 600 - Acorn Electron - Philips VG8020 i wciąż cała masa sprzętu przede mną :)...