1,226

(152 odpowiedzi, napisanych Sprzęt - 16/32bit)

https://obrazki.elektroda.pl/5675450100_1553116627_thumb.jpg https://obrazki.elektroda.pl/3850816400_1553116632_thumb.jpg
...i wszystko na darmo (tym razem spróbowałem z rezystorami w rozmiarze 0603 ;) )

Kupiłem też taką kartę i niestety nie działa (nie widzi partycji):
https://obrazki.elektroda.pl/5018908300_1553116743_thumb.jpg

1,227

(6 odpowiedzi, napisanych Sprzęt - 16/32bit)

Myszka naprawiona, przyczyną usterki, była urwana "nóżka" jednego fototranzystora oraz zimne luty na płycie. Także koszt naprawy zerowy.

Natomiast jeszcze nigdy nie widziałem aż tak pożółkniętego plastiku jak obudowa tej myszki. Spróbować Ci ją "wybielić" albo może polakierować?

1,228

(152 odpowiedzi, napisanych Sprzęt - 16/32bit)

Microdrive niestety nie działa w tej przejściówce.

...natomiast dwie pozostałe przejściówki zaczęły działać w PC. Powodem ich niedziałania były zwarcia, w jednej A02 z PDIAG, a w drugiej D7 z D15.

1,229

(152 odpowiedzi, napisanych Sprzęt - 16/32bit)

Pora na garść odpowiedzi na niezadane pytania ;)

- Czy płytka nr 2 działa? Tak działa, uszkodzona była ścieżka przy pinie 11 portu ACSI (D5).
- Czy na "dziewiczej" płytce (za wyjątkiem zmiany R1 na 1,5k) i przejściówce CF-IDE podłączonej przez taśmę zapis będzie poprawnie? Tak, będzie działał poprawnie.
- Czy konieczne jest użycie taśmy 80-żyłowej? Nie, na 40 żyłowej też będzie działać.
- Jaka jest minimalna długość taśmy, niezbędnej do prawidłowego działania? Ok 30cm.

Czekam na diody Shottkyego i podejmę kolejną próbę uruchomienia przejściówki wpinanej bezpośrednio w port IDE. Zamówiłem też kolejne karty CF do testów:
- SanDisk ULTRA II 1GB
- Seagate MicroDrive ST1 5GB

P.S.
Nie próbuj podłączać tej przejściówki wpinanej w port do taśmy przy pomocy listwy goldpinów - tak pozbyłem się jednego GALa (piny są wtedy odwrócone, tan sam problem co przy przedłużaniu taśmy od flopa w ST).

1,230

(152 odpowiedzi, napisanych Sprzęt - 16/32bit)

Wygląda na to, że "umarły" mi 74HC221, twój 74LS221N działa i jestem pewien, że z nim też sprawdzałem... ale nic, dziś nie mam czasu. Zamówiłem BAT43, spróbuję wstawić.

Porównałem pliki bez i z kondensatorami 22pF, w tym drugim część 512-tych bajtów była prawidłowa, zamienione były tylko niektóre (bez kondensatorów - dokładnie każdy).

...a te HC221 niby działają tylko generują dużo dłuższe impulsy niż powinny.

1,231

(152 odpowiedzi, napisanych Sprzęt - 16/32bit)

Mq napisał/a:

Wiem, że Ci się już zapewne nie będzie chciało, ale ciekawi mi, czy w Twoim interfejsie jak by dać diody schottky zamiast taśmy, to czy by nie pomogło jednak. Diody wpięte między linie sygnałowe a masę w kierunku zaporowym działają jak małe kondensatory, które mogły by "emulować" twoją taśmę 25-30cm:-)

Te diody były jedną z pierwszych rzeczy jakie zrobiłem, ale dałem 1N4148 (lub coś koło tego, bo nie miały oznaczenia na obudowie) - one mają ok 4pF.

...a teraz lepszy numer - złożyłem drugą płytkę, 100% zgodności ze schematem i... nawet nie wykrywa karty. Zamieniałem GALa i '221 z działającym układem - nic. Jedyna różnica to w działającym układzie '574 jest wlutowany, a w niedziałającym w podstawce (precyzyjnej). Nie mam pojęcia o co może chodzić. Muszę posprawdzać przelotki, bo pierwsze co zrobiłem to odwrotnie podpiąłem zasilanie i puściłem przez nią 2,5A (o dziwo to żadnego scalaka nie uszkodziło)... ale to raczej nie to.

Jeszcze jedno co zauważyłem to lepiej zasilać kartę bezpośrednio, a nie przez taśmę. W przejściówce jest dioda od pinu 20 do +5V, niby to Shottky i tylko ~130mV spadku ale robi różnicę.

Jako, że płytka nr 2 nie działa wariant z kondensatorami testowałem też (a właściwie tylko) na płytce nr 1:
https://obrazki.elektroda.pl/6932331500_1552778844_thumb.jpg

P.S.
Przy takim "rzeźbieniu" o dziwo lepiej sprawdza się cyna bezołowiowa (której ogólnie nie cierpię).

1,232

(152 odpowiedzi, napisanych Sprzęt - 16/32bit)

R1 stroiłem za radą Putnika na 180ns, przy pomocy generatora i oscyloskopu. Saleae okazało się zbyt wolne do strojenia, bo tam jest 1 próbka co 41ns...

Niestety kondensatory nie pomogły, ale uszkodzenia pliku są inne. Nie patrzyłem jeszcze jakie, ale na testowym programie dostaję trzy bomby zamiast dwóch, które dotychczas dostawałem.

Kombinowałem z taśmą i wychodzi, że musi mieć ok 25-30cm, żeby działało niezawodnie. Niestety przy okazji tych eksperymentów z taśmami i przejściówkami ubiłem jednego GALa :( Teraz jestem nieco zdemotywowany do dalszych prób, bo mam działający egzemplarz, a moja karta CF z przejściówką bez taśmy w PC też nie chce działać - albo w ogóle się zawiesza na wykrywaniu albo "sypie krzakami". Jeśli pamięć mnie nie myli to standard ATA określa nie tylko maksymalną ale również minimalną długość taśmy sygnałowej.

Jedno czego dzięki moim eksperymentom udało się dowieść, to że problem jest między kartą a interfejsem, a nie między interfejsem a Atari, oraz że sterownik Putnika działa prawidłowo.

1,233

(152 odpowiedzi, napisanych Sprzęt - 16/32bit)

Dałem 22pF, bo takie miałem najmniejsze. Znalazłem już miejsce, by dać je na drugiej płytce (tej z rezystorami) przy samym gnieździe IDE.

Prawidłowa wartość R1 to ok 1,56k, te 750R ze schematu to dużo za mało.

1,234

(152 odpowiedzi, napisanych Sprzęt - 16/32bit)

Właśnie takiej taśmy użyłem - 80-żyłowej. Niestety na płytce nie ma miejsca by wstawić jednocześnie kondensatory i rezystory, na drugiej płytce wstawiłem tylko kondensatory. Będę testował w wolnej chwili, na dzisiaj mam już dość.

Wersja z rezystorami:
https://obrazki.elektroda.pl/1997828100_1552691699_thumb.jpg

Wersja z kondensatorami (22pF):
https://obrazki.elektroda.pl/3926710700_1552691706_thumb.jpg

...no i jeszcze muszę ogarnąć to:
https://obrazki.elektroda.pl/6364473200_1552691797_thumb.jpg

1,235

(152 odpowiedzi, napisanych Sprzęt - 16/32bit)

Tu nie chodzi o przejściówkę, lecz o taśmę IDE. To dołożenie taśmy pomogło (być może wraz z szeregowymi rezystorami 33R). Taśma wprowadza do układu dodatkową pojemność, która eliminuje "dzwonienie" linii. Wypróbuj to u siebie, być może okaże się, że pozostałe karty również zaczną działać prawidłowo.

1,236

(152 odpowiedzi, napisanych Sprzęt - 16/32bit)

Myślę, że mogę ogłosić zwycięstwo! Zapis działa poprawnie i jest to powtarzalne. Winna była... przejściówka.

Dzięki temu, że kupiłem drugą przejściówkę i na niej w ogóle nie działało, za radą Mq postanowiłem ją sprawdzić. Poszedłem po najmniejszej linii oporu i wstawiłem ją do starego PC. Efekt - błąd dysku... ale coś mnie tknęło i wpiąłem przejściówkę, którą dostałem od Mq wraz z PCB, efekt - zwis komputera na wykrywaniu dysku (żadnego błędu, po prostu wisiał na wykrywaniu dysku). Włożyłem kartę Elite Pro - działa (ta karta nie obsługuje DMA w ogóle). Miałem jeszcze jedną przejściówkę, taką nie wpinaną w port tylko do podłączenia przez taśmę - na niej w PC działały wszystkie moje karty CF (Kingston CF Elite Pro, Transcend CF Ultra, oraz SanDisk CF Ultra)... no więc wytargałem taśmę IDE z PC, włożyłem wraz z przejściówką i kartą do Atari i... nic ;) No tak, ta przejściówka nie podaje zasilania na kartę. Szybko to naprawiłem podłączając zewnętrze zasilanie i... działa!!! Zarówno odczyt jak i zapis jest bezbłędny.

1,237

(152 odpowiedzi, napisanych Sprzęt - 16/32bit)

W sumie dobrze odpowiedział... na tym polega DMA, że nie angażuje CPU w transmisję. Ale jednak przy zapisie kolejka do wysyłki jest zapełniana programowo.

https://www.aliexpress.com/item/LA1010- … 03094.html

1,238

(152 odpowiedzi, napisanych Sprzęt - 16/32bit)

...sprawdzę, ale prędzej to przelutuję cyną ołowiową z fluxem, niż będę próbował przedzwonić miernikiem ;). Coś tam działa, bo kartę w niej wykrywa, tylko partycji nie widzi, czyli tak jak w przypadku kart bez WDMA.

1,239

(152 odpowiedzi, napisanych Sprzęt - 16/32bit)

Ta ma, PCB wygląda identycznie, wszystkie piny są podłączone.

Kupiłem Microdrive'a... zobaczymy czy z nim zadziała.

1,240

(152 odpowiedzi, napisanych Sprzęt - 16/32bit)

8-bit DMA jest (a raczej był) w standardzie ATA. Stracił się gdzieś w okolicy ATA-3. Oficjalnie ten tryb nazywa się (Single)Word DMA albo WDMA. Interfejs Putnika pracuje w trybie WDMA-0... albo coś "koło tego", jak większość jego rozwiązań.

W akcie desperacji może wydam te 200+ PLN na 16-kanałowy analizator i wtedy poznamy odpowiedź co jest winne - karta czy sterownik.

P.S.
Kupiłem (prawie) identyczną przejściówkę i na niej tryb DMA nie działa w ogóle... wizualnie różni się kolorem nadruku i tym, że przy złączu CF (13 CF do 26 pin IDE) ma kondensator 10n zamiast rezystora 2k7 (czyli w sumie prawidłowo bo to jeden z pinów Vcc po stronie karty, do pinu GND po stronie IDE).

1,241

(152 odpowiedzi, napisanych Sprzęt - 16/32bit)

Dzisiaj dołożyłem rezystory szeregowe zgodnie z w/w dokumentem... bez wpływu na występowanie błędu.

1,242

(152 odpowiedzi, napisanych Sprzęt - 16/32bit)

Dane nie są zatrzaskiwane w interfejsie, zatrzask przechowuje jedynie bajt sterujący.

1,243

(152 odpowiedzi, napisanych Sprzęt - 16/32bit)

Gdyby powtórzony był przedostatni bajt to bym jeszcze zrozumiał, ale powtórzony jest bajt przed przedostatni (n-2), poza tym transmisja jest synchroniczna (i równoległa).

1,244

(152 odpowiedzi, napisanych Sprzęt - 16/32bit)

Bardzo ciekawa lektura, jednak nadal nie pasuje mi to powtórzenie trzeciego od końca (n-2) bajtu sektora na pozycji ostatniego bajtu.

1,245

(88 odpowiedzi, napisanych Sprzęt - 16/32bit)

Pamiętaj, że dla interfejsu IDE musisz podmienić początkową część obrazu stosownym plikiem. Główny plik BIN ma autoboot dla ACSI. Putnik stosuje bardzo dziwny opis partycji w tym obrazie. Niby jest to FAT16 i PC/Windows widzi partycje i dane nich na tym obrazie (1 x podstawowa, 1 x rozszerzona z dwoma dyskami logicznymi) ale już żaden program do partycjonowania ani nawet DMDE nie rozpoznaje prawidłowo typu tych partycji.

Tu masz gotowy obraz:
https://we.tl/t-OofarNMBXH (link wygaśnie za 7 dni)

1,246

(6 odpowiedzi, napisanych Sprzęt - 16/32bit)

Jak nikt inny się nie znajdzie mogę się podjąć naprawy.

1,247

(152 odpowiedzi, napisanych Sprzęt - 16/32bit)

Negacja DMARQ to żądanie przerwania transmisji.

If the Card cannot sustain continuous, minimum cycle time DMA transfers, it may negate DMARQ within the time specified from the start of a DMA transfer cycle to suspend the DMA transfers in progress and reassert the signal at a later time to continue the DMA operation.
(...)
This signal (DMACK) may be negated by the host to suspend the DMA transfer in progress.

1,248

(152 odpowiedzi, napisanych Sprzęt - 16/32bit)

Dziwne te timingi... raz DMA jest synchronicznie z DMACK, a raz są przesunięte o 42ns... a to jest ten sam sygnał buforowany w GALu. W załączniku timingi zebrane przy kopiowaniu pliku z jednej partycji na drugą. Niestety mój analizator ma tylko 8 kanałów. Do otwarcia potrzebny program Saleae Logic.

Tak przy okazji - cóż za zaskoczenie - zobaczcie co ile taktów pojawia się sygnał DMARQ wstrzymujący transmisję... no jak obstawiacie?










Rozwiązanie zagadki:
https://obrazki.elektroda.pl/8450279700_1552173883_thumb.jpg

1,249

(152 odpowiedzi, napisanych Sprzęt - 16/32bit)

Przyszedł mi czytnik i mogę po ludzku pracować na laptopie z Win10 (widzi partycje na kartach Flash). Każdy 512 bajt jest powtórzeniem bajtu 510, to nie jest kwestia szumów... dokładnie każdy i bezbłędnie.

1,250

(152 odpowiedzi, napisanych Sprzęt - 16/32bit)

Kombinuję z buforowaniem sygnałów, dwa wolne wyjścia wykorzystałem do buforowania sygnałów ACK (DMACK) i RESET dla karty CF, tak by nie było bezpośrednich połączeń między liniami ACSI i karty CF. Użycie zbuforowanego sygnału ACK dla generowania sygnałów IORD/IOWR powoduje, że pojawiają się zbyt późno, sygnałowi DRQA jest "wszystko jedno".

Jeden z powyższych dokumentów częściowo odpowiada na pytanie co robi tam ten multiwibrator - sygnały IOxx muszą być wystawione przez określony, czas... te 180ns z komentarza w oryginalnym pliku GAL Putnika (prawie) pasują do czasu wymaganego dla DMA-MW 0 (215ns)... tyle, że przy wartościach elementów RC jak na schemacie jest to 85ns, a nie 180ns. Co więcej, ten sygnał musi przestać być aktywny przed końcem transmisji danych.

Większość kart obsługuje tryby DMA-MW 3 i 4, driver Putnika wykorzystuje prawdopodobnie tryb 0 lub 1.