Ponieważ to mój pierwszy post na forum, to witam wszystkich serdecznie.
Chodzi mi po głowie pomysł zbudowania akceleratora bazującego na RPi Zero (mały, tani, popularny) z wykorzystaniem minimalnego interfejsu (najlepiej bez ale chyba się nie obędzie). Podłączenie RPi daje także możliwość korzystania z internetu, interfejsów SPI, klawiatury itp., a wszystko za 5$. Dodatkowo implementacja akceleratora będzie w software, więc można go w nieskończoność rozbudowywać lub wdrażać konkurencyjne implementacje.
Co chciałbym uzyskać:
1. Komunikację po portach w obie strony, tak aby można było korzystać z akceleratora także w BASICu
2. Mirrorowanie pamięci video w celu wyświetlania jej zawartość przez RPi i dalej poprzez HDMI na monitorze
3. Możliwość zapisu i odczytu dowolnej komórki pamięci RAM ZX Spectrum (zamiast komunikacji przez port - zależy co szybsze)
W związku z tym mam pytania - jak to osiągnąć?
Znalazłem ciekawe rozwiązania bazujące na układzie 8255 jak UR-4 czy
http://bneven.com/zxio.html ale czy konieczne jest użycie w ogóle dodatkowego układu? Czy nie wystarczyłby level-shifter i podpięcie się bezpośrednio pod GPIO RPi?
Mirror pamięci to zapewne sprawa trudniejsza i niemożliwa do wykonania bez układu buforującego który czytałby szynę adresową i szynę danych procesora i kopiował dane wysyłane do videoramu także do swojej pamięci - czy dobrze kombinuję? Mówię o buforowaniu, ponieważ RPi z Linuxem nie jest systemem czasu rzeczywistego i gubiłby dane. Na początek myślałem o podpięciu Teensy 3.1 (które jest tanie i posiada kontrolery DMA i odpowiednią szybkość i liczbę pinów), który zczytywałby dane i wysyłał po SPI do RPi.
Co 3 pkt. rozumiem, że nie jest to banalne jeśli w ogóle wykonalne bez ingerencji w płytę główną? Czy może coś podobnego jak jak wspomniany dzisiaj DataGear Velesofta?
Co sądzicie?