Autor Wątek: Akcelerator graficzno-dźwiękowy do Spectrum  (Przeczytany 7036 razy)

trojacek

  • *****
  • Wiadomości: 5507
  • Miejsce pobytu:
    Warszawa
Odp: Akcelerator graficzno-dźwiękowy do Spectrum
« Odpowiedź #30 dnia: 2016.09.17, 00:39:15 »
Bo moim zdaniem trochę źle podchodzisz do zagadnienia.
Na szynie masz sygnały adresowe, danych, MREQ i WR - czyli dane do przechwycenia i stroby, mówiące kiedy "strzelić fotkę". Zbuduj 24-bitowy zatrzask (latch) na układach TTL, strobowany iloczynem (MREQ = LOW AND WR = LOW AND A14=HIGH AND A15=LOW). Dane w latchu Ci nie znikną po kilkuset nanosekundach. Ja bym sygnał strobujący puścił też jako przerwanie do procesora, który ma te dane czytać.
Żaden soft ni zastąpi kawałka porządnego hardware'u ;)

smok.wawelski

  • ***
  • Wiadomości: 183
  • Miejsce pobytu:
    Warszawa
Odp: Akcelerator graficzno-dźwiękowy do Spectrum
« Odpowiedź #31 dnia: 2016.09.17, 09:51:22 »
Tak, masz absolutnie rację :) Tylko, że ja chciałem bez budowania płytki - samo Teensy. To co proponujesz jest jak najbardziej dobrym pomysłem, bo w ogóle dekodowanie adresów w software to średni pomysł skoro już 8255 sprzed 30 lat potrafił to w hardwarze. Ale my na tym forum nie jesteśmy raczej normalni i najprostsza droga nie jest zawsze najciekawsza.

Sprawdziłem dokumentację: jeden digitalRead na Teensy trwa ok. 70 mikrosekund - stąd problem. Na szczęście jest metoda na odczytywanie kilku sygnałów za jednym strzałem (trochę jak zastrzask) więc spróbuję tą drogą.

Przy okazji przerwania: przerwanie na tym procesorze będzie mniej efektywne niż ciągły polling pinów - podczas przerwania Teensy odkłada całą masę danych i to trwa dziesiątki cykli, a potem i tak muszę odczytać piny, chociaż na pewno jest rozwiązaniem "eleganckim".

trojacek

  • *****
  • Wiadomości: 5507
  • Miejsce pobytu:
    Warszawa
Odp: Akcelerator graficzno-dźwiękowy do Spectrum
« Odpowiedź #32 dnia: 2016.09.17, 13:26:45 »
Po prostu takie rozwiązania trzeba implementować w assemblerze...

smok.wawelski

  • ***
  • Wiadomości: 183
  • Miejsce pobytu:
    Warszawa
Odp: Akcelerator graficzno-dźwiękowy do Spectrum
« Odpowiedź #33 dnia: 2016.11.14, 18:56:44 »
Działa ;)
Teensy 3.5 @168Mhz. Wygląda na to, że czasem się jednak nie wyrabia. Na początek pierwsza próba, potem trochę lepiej... odrobina artefaktów.
W porównaniu do TK Pie niestety biednie ale zawsze coś. Dane czytam przez USB i wyświetlam w aplikacji, która dekoduje ekran Spectrum.

PS. Takie groźne buczenie z beepera to ULA, której się wchodzi w paradę? Chyba niechcący zrekonfigurowałem pin na output...

trojacek

  • *****
  • Wiadomości: 5507
  • Miejsce pobytu:
    Warszawa
Odp: Akcelerator graficzno-dźwiękowy do Spectrum
« Odpowiedź #34 dnia: 2016.11.14, 19:31:08 »
Nooo, wygląda to coraz lepiej! Brawo!

steev

  • *****
  • Wiadomości: 1033
  • Miejsce pobytu:
    inode 42
Odp: Akcelerator graficzno-dźwiękowy do Spectrum
« Odpowiedź #35 dnia: 2016.11.14, 21:01:54 »
168MHz? Przetaktowałeś go?
(Aż zacząłem się zastanawiać jak sprawdziłby się w tym przypadku PSoC... Na szczęście nie mam pod ręką żadnej żywej maszynki, żeby się podpiąć i próbować :)
Machines should work. People should think.

smok.wawelski

  • ***
  • Wiadomości: 183
  • Miejsce pobytu:
    Warszawa
Odp: Akcelerator graficzno-dźwiękowy do Spectrum
« Odpowiedź #36 dnia: 2016.11.14, 22:42:32 »
@Steev: Tak. Teensy 3.5 chodzi standardowo 120Mhz, przetaktowuje się do 168Mhz. Teensy 3.6 (niestety nie ma tolerancji 5v) pracuje z 180Mhz do 240Mhz stabilnie. Muszę zakupić konwerter 5v-3.3v. Co ciekawe, starszy model - Teensy 3.1 z 96Mhz chodzi stabilnie na 144Mhz. Następna próba na Teensy 3.6 z konwerterami napięć.