Autor Wątek: Wolne porty I/O  (Przeczytany 7497 razy)

KWF

  • *****
  • Wiadomości: 6823
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • "I co ja robię tu, u-u, co Ty tutaj robisz ..."
    • Insta do lasownia
Wolne porty I/O
« dnia: 2018.06.14, 18:17:29 »
Szukam porady, ponieważ potrzebuję znaleźć wolny port I/O, który mógłbym wykorzystać. Port może mieć adresowanie jedno lub dwubajtowe. Dobrze byłoby, aby nie kolidowal z portami wykorzytsanymi w klonach ZXa: Timex, E800Jr, Didaktik i Pentagon. Do tego portu będą wysyłane tylko 3 wartości 01, 10 i 11 binarnie. Nie ma potrzeby odczytu z tego portu (na razie).

Mnogość różnych interfejsów i standardów jest niesamowita, wolalbym nie wsadzić się na minę, powodując kolizje z kogoś innego interfejsem. Jakieś sugestie byłyby wskazane.
KWF
-----
R Tape loading error 0:1
Moje zabawki: https://github.com/McKlaud76

trojacek

  • *****
  • Wiadomości: 6831
  • Miejsce pobytu:
    Warszawa
Odp: Wolne porty I/O
« Odpowiedź #1 dnia: 2018.06.14, 18:28:22 »
Oto te najpopularniejsze:

https://www.worldofspectrum.org/faq/reference/ports.htm

Zawsze znajdzie się jakiś gadżet, który będzie kolidował. Może po prostu wybrać taki, który się rzadko spotyka.
Zależy też, do czego ma służyć ten Twój port? Bo może się będzie wykluczał z jakimś urządzeniem funkcjonalnie, i nie stoi wtedy nic na przeszkodzie, by "odziedziczył" któryś port wykluczonego urządzenia.
« Ostatnia zmiana: 2018.06.14, 18:38:07 wysłana przez trojacek »

pear

  • *****
  • Wiadomości: 5509
  • Miejsce pobytu:
    Będzin
  • Z80 only
Odp: Wolne porty I/O
« Odpowiedź #2 dnia: 2018.06.14, 18:33:38 »
Na liście brakuje jeszcze tego tajnego portu z Timex'a, który wyłącza banki pamięci. Jaki on miał adres ?
ZX/Enterprise/CPC/Robotron/C128D

trojacek

  • *****
  • Wiadomości: 6831
  • Miejsce pobytu:
    Warszawa
Odp: Wolne porty I/O
« Odpowiedź #3 dnia: 2018.06.14, 18:39:21 »
Jest. F4, czyli 244.
Cytuję:

Peripheral: Timex TS2068 Horizontal Select Register.
Port: ---- ---- 1111 0100

pear

  • *****
  • Wiadomości: 5509
  • Miejsce pobytu:
    Będzin
  • Z80 only
Odp: Wolne porty I/O
« Odpowiedź #4 dnia: 2018.06.14, 18:44:25 »
Ciekawe skąd nazwa tego portu ?
ZX/Enterprise/CPC/Robotron/C128D

trojacek

  • *****
  • Wiadomości: 6831
  • Miejsce pobytu:
    Warszawa
Odp: Wolne porty I/O
« Odpowiedź #5 dnia: 2018.06.14, 18:45:46 »
Z wykresu, który jest w instrukcji obsługi? Są na nim 3 słupki - podpisane HOME, DOCK i EXT bodajże. I ten rejestr miał służyć do wyboru poziomego, czyli który słupek włączamy/wyłączamy, choć nie do końca tak naprawdę.
Ja mam tylko technical manual, tak tam też nazywają ten rejestr:

2.1.13.5 Horizontal Select Register (Port F4H)
The HSR addressed via Port F4H is used in the control of
the Bank Switching logic as detailed in Section 2.1.8.
Each bit, when set, enables the corresponding 8K memory
"chunk" in either the Dock Bank (Port FF, Bit 7=0) or the
Extension ROM Bank (Port FF, Bit 7=1). The HSR must be
set to all zeroes in order to enable the entire Home Bank.


« Ostatnia zmiana: 2018.06.14, 18:57:32 wysłana przez trojacek »

KWF

  • *****
  • Wiadomości: 6823
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • "I co ja robię tu, u-u, co Ty tutaj robisz ..."
    • Insta do lasownia
Odp: Wolne porty I/O
« Odpowiedź #6 dnia: 2018.06.14, 20:40:27 »
Dzięki Panowie.

Myślę nad jeszcze jednym portem, aby sterować AYkiem z poziomu softu. Więcej na razie nie napiszę, bo chcę najpierw przetestować mój pomysł w realnym sprzęcie.
KWF
-----
R Tape loading error 0:1
Moje zabawki: https://github.com/McKlaud76

KWF

  • *****
  • Wiadomości: 6823
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • "I co ja robię tu, u-u, co Ty tutaj robisz ..."
    • Insta do lasownia
Odp: Wolne porty I/O
« Odpowiedź #7 dnia: 2018.06.15, 10:25:41 »
Na razie spróbuję z portem 0xEFFD (61437). A15, A14 i A1 już są przy AYku, dojdzie tylko A12. Można pójść po bandzie i dekodowac po A12 i A1, najwyżej z FDC w +3 pogryzie się.
KWF
-----
R Tape loading error 0:1
Moje zabawki: https://github.com/McKlaud76

trojacek

  • *****
  • Wiadomości: 6831
  • Miejsce pobytu:
    Warszawa
Odp: Wolne porty I/O
« Odpowiedź #8 dnia: 2018.06.15, 13:52:05 »
Hmm, trochę ryzykowne. Pod tym adresem prawie na pewno zgłosi Ci się właśnie AY:


KWF

  • *****
  • Wiadomości: 6823
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • "I co ja robię tu, u-u, co Ty tutaj robisz ..."
    • Insta do lasownia
Odp: Wolne porty I/O
« Odpowiedź #9 dnia: 2018.06.15, 14:28:24 »
A masz jakąś inną propozycję?
KWF
-----
R Tape loading error 0:1
Moje zabawki: https://github.com/McKlaud76

trojacek

  • *****
  • Wiadomości: 6831
  • Miejsce pobytu:
    Warszawa
Odp: Wolne porty I/O
« Odpowiedź #10 dnia: 2018.06.15, 15:17:52 »
Pomyślę i dam znać.
Na pewno możesz używać portu 1Fh do zapisu. To port Kempstona, jedyna kolizja przy zapisie może wystąpić, jeśli masz interfejs Kempston Mouse.

KWF

  • *****
  • Wiadomości: 6823
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • "I co ja robię tu, u-u, co Ty tutaj robisz ..."
    • Insta do lasownia
Odp: Wolne porty I/O
« Odpowiedź #11 dnia: 2018.06.15, 15:48:40 »
Popatrz na linie adresowe już dostępne w każdym normalnym interfejsie AYka. Dodanie jednej linii adresowej to nie problem, ale ciagniecie 3 nowych adresów, których tam nie, mija się z celem.

Myślałem też o 0xBFFB (1011 1111 1111 1011)

W każdym razie dzieki.
KWF
-----
R Tape loading error 0:1
Moje zabawki: https://github.com/McKlaud76

trojacek

  • *****
  • Wiadomości: 6831
  • Miejsce pobytu:
    Warszawa
Odp: Wolne porty I/O
« Odpowiedź #12 dnia: 2018.06.15, 16:34:23 »
8Fh wygląda obiecująco. Koliduje z jakąś kompletnie niespotykaną stacją dysków JLO i z niczym więcej.
A xxFBh może kolidować z +D. Nie wiem, jak w niej jest zrobiony dekoder, co prawda - ale lepiej zakładać najgorszy wariant.

KWF

  • *****
  • Wiadomości: 6823
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • "I co ja robię tu, u-u, co Ty tutaj robisz ..."
    • Insta do lasownia
Odp: Wolne porty I/O
« Odpowiedź #13 dnia: 2018.11.11, 11:42:12 »
Wracam do tematu, bo chodzi mi on po głowie od jakiegoś czasu. A zależy mi na dyskusji teoretyczno-akademickiej, niż na tym jak i kto zbuduje sprzęt.

Do czego ten wolny port? - Sterowanie zegarem AY-ka.

Po co? Dlaczego?

Mamy dobre rozwiązania sprzętowe, muzykę wyciąganą z różnych dem, gier oraz odtwarzacze pod konkretną platformę sprzętową: Speccy, Amstrad, Atari ST. A jakby tak zrobić jeden hardware do Speccy, który będzie miał przełączany zegar i mógłby odtwarzać pliki z Amstrada czy Atari ST? Do tego potrzebny byłby moduł AY-ka z przełącznikiem taktowania układu dźwiękowego. Sprawa obecnie jest dość prosta do zbudowania, jedne mały CPLD i możemy przełączać zegar w locie przy użyciu wolnego portu. Cała idea na schemacie w załączniku. Zaproponowałem tylko 3 możliwe zegary:
  • 1.0MHz - Amstrad CPC
  • 1.79MHz - ZX Spectrum (Melodik i podobne)
  • 2.0MHz - Atari ST

Oczywiście potrzebne będzie wsparcie od strony programistów, aby oprogramowali ten "ficzejer" w rożnego typu odtwarzarkach plików muzycznych.

Ogólnie temat pod dyskusję, czy warto, czy jest sens.
« Ostatnia zmiana: 2018.11.11, 11:52:13 wysłana przez Klaud »
KWF
-----
R Tape loading error 0:1
Moje zabawki: https://github.com/McKlaud76

trojacek

  • *****
  • Wiadomości: 6831
  • Miejsce pobytu:
    Warszawa
Odp: Wolne porty I/O
« Odpowiedź #14 dnia: 2018.11.11, 11:58:33 »
Pomysł fajny, ale nie myślałeś o zastosowaniu scalonej syntezy? Może dawać więcej możliwości (np. zegary bliższe toastrackowi lub +2/+3 oraz różnym klonom).
W wolnej chwili poszukam, co ciekawego można znaleźć na pasmo KF ;)