Autor Wątek: FDD3 - Martwy, nie bootuje...  (Przeczytany 2005 razy)

ArturM

  • **
  • Wiadomości: 97
  • Miejsce pobytu:
    GZM
FDD3 - Martwy, nie bootuje...
« dnia: 2023.07.19, 15:10:28 »
W wątku o schematach wspomniałem o uszkodzonej stacji FDD3 na układach EFGJ z pamięcią 16KB (jak się później okazało ;D ).

Historia tej stacji jest dość długa, ale w skrócie:
- została kupiona dość dawno temu jako uszkodzona przez kolegę, i tak przeleżała kilka lat;
- moduł zasilacza jest sprawny, napięcia wyjściowe są poprawne;
- napęd 3" sprawdzony w mojej FDD3000 - działa;
- znaleziona pierwsza usterka: zwarty C29 i Q1 - elementy wymienione, przetwornica działa i nie blokuje już 5V.

Niestety w dalszym ciągu stacja nie bootuje. Po uruchomieniu bez dyskietki, kontrolka napędu nie świeci - choć wydaje mi się, że czasem na ułamek sekundy podmryguje. Przy włożonej dyskietce z systemem silnik kręci, ale nie ma charakterystycznych dla TOS ruchów głowicy i kontrolka dalej milczy. Ręczne przesunięcie głowicy i późniejsze włączenie spowoduje, że głowica wróci na ścieżkę 0.

Sygnały CLK8MHZ i CLK4MHZ są obecne, zatem Z80 i WD1770 mają swoje sygnały zegarowe. Nie ma problemu z RESET, przycisk działa, stany się zmieniają. Sądzę zatem, że Z80 żyje i próbuje przynajmniej uruchomić zawartość BOOT ROM.

I teraz pierwsza prośba, bo chciałem przeanalizować co Z80/WD1770 właściwie robi i gdzie ewentualnie się "wykrzacza" podpinając mu analizator. Na podstawie informacji z sieci i forum rozrysowałem sobie mapę pamięci stacji. Czy rzeczywiście to tak wygląda gdy aktywny jest BOOT ROM i potem, jak już bootsector zostanie załadowany pod 3F00h oraz przekaże się mu sterowanie co wykona m.in. te dwie ważne instrukcje:

    ld A, 5eh                    ; 01011110b - przełącz na RAM, strona 0, napęd 0
    out (e0h), A

ArturM

  • **
  • Wiadomości: 97
  • Miejsce pobytu:
    GZM
Odp: FDD3 - Martwy, nie bootuje...
« Odpowiedź #1 dnia: 2023.08.09, 11:26:11 »
Pozytywne wieści z placu boju. Stacja ruszyła, TOS się załadował i się przedstawił.

Wyniki z analizatora były takie, że kod z BOOTROM rozpoczynał pracę adresując WD1770 i każąc mu się zresetować, ale jak wywoływane było:
    ld    A, 0x01                 ; 000c poczekaj aż fdc wykona
    call  WAIT_264MS              ; 000e
To opóźnienie owszem było wykonywane, ale przy powrocie z opóźnienia tak jakby ze stosu zdejmowane było 0000h i kod bootstrapa się pętlił. Usterką okazała się jedna z kości pamięci TMS4416.

Dodatkowo wymieniony został zatrzask do wyboru napędu, bo czasem napęd 3" nie odzywał się przy starcie. Teraz napęd bez dyskietki świeci cały czas i czeka na dysk.


Pytanie dotyczące mapy pamięci dalej aktualne, bo o ile mnie pamięć nie zawodzi to w Bajtku było kiedyś napisane (cytuję z pamięci): "(...) uwzględniając to, że stacja 'żongluje' pamięcią (...)". Ktoś wie o jaką żonglerkę mogło chodzić?

trojacek

  • *****
  • Wiadomości: 6846
  • Miejsce pobytu:
    Warszawa
Odp: FDD3 - Martwy, nie bootuje...
« Odpowiedź #2 dnia: 2023.08.09, 12:55:40 »
Twoja mapa pamięci wygląda całkiem OK, tylko jednak zwyczajowo adres 0 umieszcza się na dole.
Jedyne żonglowanie, jakie mi przychodzi do głowy, to zasłanianie pierwszych 8 KB RAM przez Boot ROM. To wszystko. Reszta jest po stronie programowej, tzn. kopiowanie boot kodu, tak jak to zaznaczyłeś.

ArturM

  • **
  • Wiadomości: 97
  • Miejsce pobytu:
    GZM
Odp: FDD3 - Martwy, nie bootuje...
« Odpowiedź #3 dnia: 2023.08.11, 09:28:06 »
Tak lepiej?  ;D Dla potomnych.

Przy okazji. Czy jest to możliwe, by oryginalny interface M-397 (na układach PAL/GAL) źle współpracował z Harlequinem ver. G (wersja THT)? Czasami wczytany program np. w BASICu ma losowe przekłamania i zgłasza "C Nonsense in Basic".

Dlaczego tak sądzę, bo np. mój interface (po podmianie GALi) po podpięciu pod Harlequina zachowuje się tak, że staje w miejscu: czarne pole z białą ramką. Zaś podpięty pod ZX Spectrum działa. Za to w obu przypadkach działa TI-of-TTL...



damik

  • Fresh rosin sniffer ;)
  • *****
  • Wiadomości: 2434
  • Miejsce pobytu:
    Generalnie Polska, głównie Bytom czasem Bielsko-Biała oraz okolice
  • ZX'owy i nie tylko...
Odp: FDD3 - Martwy, nie bootuje...
« Odpowiedź #4 dnia: 2023.08.11, 10:47:43 »
HQ to dość nieprzewidywalna maszyna w zależności od użytych elementów i niuansów ich parametrów dynamicznych może czasem sprawiać problemy z niektórymi IF.
Wszystkiego po trochu: Schwarz, mydło i powidło... konsole, stare i nieco nowsze komputery oraz akcesoria i duperele.

Maryjan

  • *****
  • Wiadomości: 6666
  • Miejsce pobytu:
    Skarżysko-Kam.
  • Scotch whiskey and West Highland Terrier
Odp: FDD3 - Martwy, nie bootuje...
« Odpowiedź #5 dnia: 2023.08.11, 11:34:48 »
M-397 też jest taki, jaki jest.
Dlatego ja przeszedłem już dawno na Ti-of-TTL pomysłu Yarka i obecnej jego wersji opracowanej przez  Pear-a.
"Co miałem powiedzieć - przeczytałem..." Nikodem Dyzma

ArturM

  • **
  • Wiadomości: 97
  • Miejsce pobytu:
    GZM
Odp: FDD3 - Martwy, nie bootuje...
« Odpowiedź #6 dnia: 2023.08.11, 13:25:30 »
HQ to dość nieprzewidywalna maszyna w zależności od użytych elementów i niuansów ich parametrów dynamicznych może czasem sprawiać problemy z niektórymi IF.
Osobiście mam HQ revH w wersji SMD (https://sites.google.com/site/entomeco/zx-spectrum-harlequin-rev-h). Zbudowany z elementów dokładnie takich jak wskazuje BOM. Uruchomił się od "pierwszego strzała", łącznie z problematycznym koderem PAL. I teraz najciekawsze:
  • M-397 oryginał dołączony do naprawianej stacji z układami PAL - działa ok.
  • M-397 naprawiany przez wymianę logiki na GAL'e (czy to będą układy Lattice czy Atmela) - zawiesza się w staniej jaki opisałem.
  • divMMC AY od Zaxon'a - też działa ok.

ps. Nie, nie lutowałem go ręcznie tylko w piecu reflow po użyciu szablonu i poukładaniu elementów.