Autor Wątek: Jupiter ACE - Interfejs dyskowy DeepThought  (Przeczytany 4072 razy)

Klaud

  • Moderator
  • *****
  • Wiadomości: 5346
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • KL
Odp: Jupiter ACE - Interfejs dyskowy DeepThought
« Odpowiedź #15 dnia: 2020.06.21, 23:58:24 »
Żarty się Ciebie trzymają, szampana zachowaj na lepsze czasy ;)

Przede mną długa droga, bo schemat do interfejsu z 1986 r. wygląda tak:



Z tego co wiem, zachował się tylko jeden (chyba) działający egzemplarz tego interfejsu, do tego zbudowany na płytce prototypowej:

KL
-----
R Tape loading error 0:1

tooloud

  • *****
  • Wiadomości: 2787
  • Miejsce pobytu:
    Warszawa
  • mydłem go!
Odp: Jupiter ACE - Interfejs dyskowy DeepThought
« Odpowiedź #16 dnia: 2020.06.22, 00:44:31 »
ojtam ojtam.

po prostu wierzę, że dasz radę.
dużo sprzętu mało czasu.

damik

  • Rosin sniffer
  • *****
  • Wiadomości: 1147
  • Miejsce pobytu:
    Bytom
  • ZX Everyday
Odp: Jupiter ACE - Interfejs dyskowy DeepThought
« Odpowiedź #17 dnia: 2020.06.22, 00:57:50 »
Myślę sobie, że cała zabawa będzie polegała na poprawnym dostrojeniu uniwibratorów 74LS123 przy pomocy potencjometrów. :)
Wszystkiego po trochu: schwarz, mydło i powidło...

Klaud

  • Moderator
  • *****
  • Wiadomości: 5346
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • KL
Odp: Jupiter ACE - Interfejs dyskowy DeepThought
« Odpowiedź #18 dnia: 2020.06.22, 08:06:03 »
Procedura uruchomienia jest uniwibratorów jest stosunkowo prosta (w założeniach):
- zewrzeć RDA z WRA,
- na wyjściu prawego multiwibratora wyregulować, aby pojawił się sygnał o długości trwania 5.5us,
- na wyjściu drugiego elementu multiwibratora doregulować, aby sygnały miały czas trwania ok 1us.

Tyle mówi teoria, ale na razie do tego etapu nie dotarłem.

KL
-----
R Tape loading error 0:1

damik

  • Rosin sniffer
  • *****
  • Wiadomości: 1147
  • Miejsce pobytu:
    Bytom
  • ZX Everyday
Odp: Jupiter ACE - Interfejs dyskowy DeepThought
« Odpowiedź #19 dnia: 2020.06.22, 08:47:52 »
To strojenie się robi podczas normalnej procedury zapisu, czy może jest do tego jakiś specjalny programik kalibracyjny ?
Przy podłączonym napędzie czy bez ?
Wszystkiego po trochu: schwarz, mydło i powidło...

Klaud

  • Moderator
  • *****
  • Wiadomości: 5346
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • KL
Odp: Jupiter ACE - Interfejs dyskowy DeepThought
« Odpowiedź #20 dnia: 2020.06.22, 10:12:15 »
Interfejs korzysta z transmisji szeregowej o prędkości 125kbps, do tego zapis na dysku realizowany jest w sposób podobny do modulacji FM. Na jednej ścieżce znajdują się 1 sektor, który składa się z 8 bloków po 256 bajtów, czyli 2048 bajtów, z 40 ścieżek dostępnych dla użytkownika jest 35, stąd pojemność jednej strony dyskietki 70KB. Istotną rolę w zapisie odgrywa 'index;, ponieważ informuje on kontroler o jednym pełnym obrocie nośnika.

Kalibrację wykonuje się bez podłączonego napędu, ale po inicjalizacji ACIA i PIA. Ich procedury startowe zaszyte są w dodatkowym ROMie, który usadowiony jest od 0xF000 do 0xFFFF przestrzeni adresowej Z80.
« Ostatnia zmiana: 2020.06.22, 10:18:42 wysłana przez Klaud »
KL
-----
R Tape loading error 0:1

damik

  • Rosin sniffer
  • *****
  • Wiadomości: 1147
  • Miejsce pobytu:
    Bytom
  • ZX Everyday
Odp: Jupiter ACE - Interfejs dyskowy DeepThought
« Odpowiedź #21 dnia: 2020.06.22, 10:26:59 »
Tak, wszystko to jest dla mnie jasne, ale pytałem czysto praktycznie jak to zorganizować.

Według mnie można chyba to zrobić przy włączonym napędzie aby dostać z niego naturalny sygnał INDEX z obracającej się dyskietki następnie wydając polecenie do zapisu danych stroić przy pomocy oscyloskopu uniwibratory przy odpiętym od napędu sygnale RDA i zwartym z WRA kontrolera.
Wszystkiego po trochu: schwarz, mydło i powidło...

Klaud

  • Moderator
  • *****
  • Wiadomości: 5346
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • KL
Odp: Jupiter ACE - Interfejs dyskowy DeepThought
« Odpowiedź #22 dnia: 2020.06.22, 10:31:26 »
Według opisu procedury uruchomienia protoplasty tego interfejsu, napęd powinien być odłączony od kontrolera.
KL
-----
R Tape loading error 0:1

damik

  • Rosin sniffer
  • *****
  • Wiadomości: 1147
  • Miejsce pobytu:
    Bytom
  • ZX Everyday
Odp: Jupiter ACE - Interfejs dyskowy DeepThought
« Odpowiedź #23 dnia: 2020.06.22, 10:38:43 »
No tak, autor wspomina o małym programie o którym będzie mowa później, ale czy jest on dostępny w listingu lub zaszyty w ROM'ie i wiadomo jak go wywołać ?
Wszystkiego po trochu: schwarz, mydło i powidło...

Klaud

  • Moderator
  • *****
  • Wiadomości: 5346
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • KL
Odp: Jupiter ACE - Interfejs dyskowy DeepThought
« Odpowiedź #24 dnia: 2020.06.22, 10:48:11 »
ROM ma zaszytą procedurę startową ACIA i PIA i wykonywana jest ona przy starcie systemu, a wywołać zawsze ją można. Niestety nie jest różowo, ponieważ listing DT ROMu na stronie Jupiter ACE Archive jest niekompletny oraz zawiera błędy. Zdeasemlowałem całą dostępną binarkę ROMu i mam nadal wątpliwości, co do kilku spraw w niej. Aby odpalić DT ROM, zajeło mi to sporo czasu, bo "rzygał" śmieciami po ekranie: vlist_01

W końcu zaczął odzywać się poprawnie: vlist_02

Nadal uważam, że są w nim błędy, które mogą wpływać na poprawność komend DT DOS.

KL
-----
R Tape loading error 0:1

damik

  • Rosin sniffer
  • *****
  • Wiadomości: 1147
  • Miejsce pobytu:
    Bytom
  • ZX Everyday
Odp: Jupiter ACE - Interfejs dyskowy DeepThought
« Odpowiedź #25 dnia: 2020.06.22, 11:10:17 »
Nie do końca to rozumiem, jest w ROM'ie procedura inicjująca układy ACIA i PIA czyli wpisująca odpowiednie wartości do ich rejestrów po starcie systemu by kontroler przygotował napęd do pracy, ale czy to jest tożsame z jednoczesnym generowaniem przebiegu testowego na WRA w sposób ciągły lub chwilowy umożliwiający strojenie układu ? (nie jestem pewien i nie trzyma mi się to kupy)
Według mnie powinna chyba być jeszcze jakaś inna procedura to tego własnie zadania  ??? no chyba że ACIA cały czas generuje ten sygnał na wyjściu po inicjacji i to niczemu nie przeszkadza w normalnej pracy układu.
Wszystkiego po trochu: schwarz, mydło i powidło...

Klaud

  • Moderator
  • *****
  • Wiadomości: 5346
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • KL
Odp: Jupiter ACE - Interfejs dyskowy DeepThought
« Odpowiedź #26 dnia: 2020.06.22, 12:41:42 »
Moim zdaniem kluczowy do działania jest 74LS151, który taktowany jest zegarem 1MHz (wejście sterujące /E), dane do zapisu wchodzą na jego wejście D4, wejście D0 jest w stanie wysokim cały czas, a pozostałe wejścia są w stanie niskim. Linie S0 do S2 są podpięte do dzielnika częstotliwości (/2, /4 i /8). Zapis na dyskietce realizowany jest w sposób podobny do modulacji FM, czyli przy zapisie logicznego zera, miedzy dwoma taktami zegara pojawia się jeden impuls, a w przypadku zapisu logicznej jedynki, jego nie ma. Takty zegarowe generowane są bez względu na to czy ACIA wysyła dane czy nie, o ile 'LS151 dostaje wszystkie impulsy na wejścia sterujące (/E, S0, S1 i S2). Jeśli teraz zewrze się wyjście WRA z wejściem RDA, to na separatorze danych pojawią się impulsy zegarowe i one wystarczą do zestrojenia układu. Przy strojeniu ważne jest aby ACIA nie siała danymi, bo będzie ciężko rozpoznać kiedy są sygnały modulacji FM, a kiedy logiczne 0. Czyli do zestrojenia nawet nie trzeba podpinać kontrolera do Jupitera, można wyjąć ACIA z podstawki i na negator sterujący D4 'LS151 podać +5V.

Chyba nie wypisuję totalnych bzdur ;)
« Ostatnia zmiana: 2020.06.22, 12:53:36 wysłana przez Klaud »
KL
-----
R Tape loading error 0:1

damik

  • Rosin sniffer
  • *****
  • Wiadomości: 1147
  • Miejsce pobytu:
    Bytom
  • ZX Everyday
Odp: Jupiter ACE - Interfejs dyskowy DeepThought
« Odpowiedź #27 dnia: 2020.06.22, 14:02:47 »
Ok, dzięki teraz to załapałem. :D
Nie łatwo to wywnioskować ze skanu w tej jakości jaki tu widziałem.  ???
Generalnie leci tam coś tak czy siak (układ LS151 pełni rolę modulatora), ale procedura inicjacyjna czy inicjalizacyjna (jak kto woli) zatrzymuje tylko układ 6850 i ustawia mu wstępnie rejestry by nie siał przypadkowymi danymi.
Natomiast układ PIA jest ustawiany tak by nie "męczyć" napędu.
Wszystkiego po trochu: schwarz, mydło i powidło...

Klaud

  • Moderator
  • *****
  • Wiadomości: 5346
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • KL
Odp: Jupiter ACE - Interfejs dyskowy DeepThought
« Odpowiedź #28 dnia: 2020.06.22, 14:21:02 »
Tylko taki skan jest dostępny ;). Prawie 2 lata się z nim obwąchiwałem, bazgrałem po nim z 10 razy, wyrzucałem do kubła, odkładałem do skoroszytu, wracałem. Zresztą na fotce widać moje bazgroły. Swoją drogą pisałem, że porwałem się z motyką na słońce.

PIA steruje stacją tzn. wysyła DS0 lub DS1, Motor On/Off, Step In/Out, czyta Index, WR_Protect itp.
« Ostatnia zmiana: 2020.06.22, 14:29:41 wysłana przez Klaud »
KL
-----
R Tape loading error 0:1