1 Ostatnio edytowany przez _tzok_ (2019-03-02 20:09:29)

Dzięki uprzejmości kolegi Mq wszedłem w posiadanie płytki jego projektu do interfejsu ACSI-CF autorstwa Petera Putnika (http://atari.8bitchip.info/acsicfs.html). Jest to podobno najszybsza istniejąca pamięć masowa dołączana do ST przez port ACSI. Miałem się zabrać za montaż w wakacje ale jakoś nie wytrzymałem...

https://obrazki.elektroda.pl/5781176000_1551553074_thumb.jpg https://obrazki.elektroda.pl/5944359400_1551553100_thumb.jpg https://obrazki.elektroda.pl/4383516300_1551553668_thumb.jpg

Interfejs z tą kartą nie działa i nie ma szans działać (działa tylko z kartami SanDisk Ultra II) ale ją wykrywa. Potrzebna karta już do mnie jedzie...

P.S.
Zasilanie jest podpięte dobrze, tylko tak jakoś wyszło, że czerwony kabelek to... minus, a czarny to plus :/ ostatnio z samymi Spectrumami i Timeksami grzebałem i jakoś tak mi się podłączyło.

Moja kolekcja: Atari 1040STe (4MB), Atari 1040STfm (4MB, BLiTTER, AT-ONCE+), Atari 800XE (SIMM EXP 1MB), Atari 800XL (RAMBO XL 256kB), Atari 600XL (64kB), Sinclair ZX SPECTRUM+ (48kB), TIMEX Computer 2048 (48kB), Commodore A600 (2MB+4MB, HDD CF 4GB), Commodore C64C.

2

Ooo, Mq, a ja mógłbym się o taką płytkę uśmiechnąć, jeśli masz jeszcze? A jeszcze lepiej jeśli dałoby się przerobić na SD, bo łatwiej dostępna jest (ale to już niekoniecznie).

Sikor umarł...

3

Problemem tego interfejsu jest niestety uruchamianie go... nad nim trzeba odczyniać jakieś czary, żeby ruszył z konkretnym egzemplarzem ST. Na STf "prawie" mi działa, na STe powoduje natychmiastowe wysypanie się DMA. Jak będę miał właściwą kartę to będę kontynuował eksperymenty. Swoją drogą czy on czasem nie powinien się przełączać w inny tryb (PIO) po włożeniu karty, która nie obsługuje 8-bit DMA?

Moja kolekcja: Atari 1040STe (4MB), Atari 1040STfm (4MB, BLiTTER, AT-ONCE+), Atari 800XE (SIMM EXP 1MB), Atari 800XL (RAMBO XL 256kB), Atari 600XL (64kB), Sinclair ZX SPECTRUM+ (48kB), TIMEX Computer 2048 (48kB), Commodore A600 (2MB+4MB, HDD CF 4GB), Commodore C64C.

4 Ostatnio edytowany przez Mq (2019-03-02 22:02:43)

@_tzok_ - interfejs wykrywać będzie każdą kartę CF, ale tak jak napisałeś zadziałają tylko karty Sandisk Ultra II. Spowodowane to jest tym, że driver wykrywa każdą kartę, ale już transfer z nią przełączany jest na tryb DMA 8-bit, którego obsługują włąśnie tylko nowsze karty Sandiska. Teoretycznie powinny zadziałać każde karty, które obsługują tryb DMA 8-bit, ale w praktyce oznacza to, że prawdopodobnie są to tylko karty Sandisk Ultra II. Tryb ten obsługują również późniejsze wszystkie karty Sandiska, ale te z kolei nie działają w tym interfejsie poprawnie - chyba są już (kolokwialnie mówiąc) zbyt nowe/zbyt szybkie.

@Sikor, to jest projekt eksperymentalny. Wg mnie najprawdopodobniej nie da się go zrealizować w stabilnej wersji jako "gotowy produkt" tak, żeby działał z każdym komputerem i z każdą kartą. Mam oczywiście kilka płytek, jak ktoś by chciał powalczyć, to się podzielę, ale to raczej kieruję do zaawansowanych elektroników.

Ja swój egzemplarz uruchomiłem w wersji stabilnej z moim STE tylko z jedną jedyną kartą Sandisk Ultra II 2GB. Interfejs nie działa mi stabilnie z żadną inną kartą, nawet z identycznymi lecz o większych lub mniejszych pojemnościach.

Nie będę gorszy i też załączam zdjęcia:-)
Projekt układu i driver Putnika, projekt pcb, dopasowania obudowy i cała mechanika z lampkami włącznie mój:-)

Gdyby całość działała stabilnie bez półrocznej walki o odpalenie mojego jedynego stabilnego egzemplarza, to projekt ten był by mistrzostwem świata. Zapraszam bowiem do obejrzenia załącznika speed_test.jpg
Chcę powiedzieć, że u mnie to działa właśnie z takimi prędkościami i to jest odczuwalne, wierzcie mi:-)

Edit: @_tzok_ w trybie PIO powinien działać na tym interfejsie driver tylko dla karty slave, ale pod warunkiem, że wykryje również master w DMA 8-bit. Tak twierdzi Putnik, ale mi się nie udało uruchomić drugiej karty na tym w ogóle.

Post's attachments

1.jpg 106.63 kb, nikt jeszcze nie pobierał tego pliku. 

2.jpg 145.14 kb, nikt jeszcze nie pobierał tego pliku. 

3.jpg 126.52 kb, nikt jeszcze nie pobierał tego pliku. 

4.jpg 130.44 kb, nikt jeszcze nie pobierał tego pliku. 

5.jpg 71.13 kb, nikt jeszcze nie pobierał tego pliku. 

6.jpg 86.61 kb, nikt jeszcze nie pobierał tego pliku. 

dziala.jpg 81.94 kb, nikt jeszcze nie pobierał tego pliku. 

speed test.jpg 116.77 kb, nikt jeszcze nie pobierał tego pliku. 

Tylko zalogowani mogą pobierać załączniki.

5 Ostatnio edytowany przez Atari-User (2019-03-02 22:09:53)

@Mq
Ja również usmiechnąłbym się o takie PCB, lub ze 2 szt.
Mam kilka różnych ST, STE,  może z któymś by mi zadziałało poprawnie.
Mógłbym się też zamienić na PCB-IDE do Atari Mega ST  w złącze MegaBUS.
Ewentualnie oczywiście kupię.
---
Czy ten projekt to nie taki trochę satandisk ?.
Tylko taki prostrzy i mało stabilny.  ?  :) :)

6

Jest szybszy niż SatanDisk, ale jest to projekt eksperymentalny, który Putnik zbudował nie po to, żeby używać tego jako regularne urządzenie, tylko po to, żeby przetestować jakie maksymalnie transfery uda się wycisnąć z interfejsu ACSI.

Błędem moim była myśl, że uda się z tego zrobić regularne urządzenie i dziś uważam, że się nie uda, ale nie tylko ja jestem tutaj elektronikiem, więc może będzie ktoś lepszy ode mnie.

Wady: brak wsparcia (Putnik powiedział, że się tym więcej nie będzie zajmował), driver trzeba odpalać z dyskietki, brak autobootowania, działa tylko z kartami Sandisk Ultra II i to nie wszystkimi, wymaga indywidualnego odpalania z danym egzemplarzem Atari i z daną kartą CF.
Napisałem, że raczej dla zaawansowanych elektroników, ponieważ nie ma tak jak sobie myśli Atari-User, że może zadziała ten interfejs poprawnie z którymś egzemplarzem różnych Atari. To zadziała z każdym egzemplarzem, ale będą błędy w transmisji danych, czasem więcej, czasem mniej, czasem wydawać się będzie że jest ok, ale nagle posypią się partycje i tym podobne atrakcje. Nie ma też prostego remedium - moim zdaniem trzeba siedzieć z oscyloskopem i analizatorem logicznym i kopiować ogromne ilości danych milion razy w tę i z powrotem, porównywać błędy i walczyć z filtrowaniem na różnych liniach oraz kombinować z timingiem sygnałów. Jak ktoś znajdzie remedium na wszystko, to będzie wielki:-) U mnie pomogły diody schottky'ego zaporowo do masy na wszystkich liniach sterujących przy karcie CF, ale u xangela, który też zrobił ten interfejs diody nic nie zmieniły, za to pomogło podciągnięcie którejś linii danych.
Ogólnie ja z tym walczyłem pół roku poświęcając na to masę godzin, ale jak zrobiłem ten jeden działający swój egzemplarz ze swoim STE i tą jedyną kartą CF, to dalej już walczyć nie mam ochoty, nie będę już z tym nic więcej robił, nie mam na to czasu, poddałem się.

@Atari-User, czy ktokolwiek inny - jak chce ktoś płytkę i ma możliwości i umiejętności taką walkę samotnie stoczyć, to zapraszam na PW, mam kilka sztuk.

7 Ostatnio edytowany przez _tzok_ (2019-03-03 00:43:38)

Pierwsza rzecz jaka rzuca mi się w oczy to w na Atarowych schematach SH/MegaFile między liniami D0..D7 portu ACSI a wewnętrzną magistralą danych są rezystory 100R. W tej (i nie tylko tej) przejściówce ich brakuje.

W egzemplarzu z Twoich zdjęć siedzi GAL16V8B-7LP, czyli jeden z najszybszych jakie są (a raczej były) - 7ns.

Moja kolekcja: Atari 1040STe (4MB), Atari 1040STfm (4MB, BLiTTER, AT-ONCE+), Atari 800XE (SIMM EXP 1MB), Atari 800XL (RAMBO XL 256kB), Atari 600XL (64kB), Sinclair ZX SPECTRUM+ (48kB), TIMEX Computer 2048 (48kB), Commodore A600 (2MB+4MB, HDD CF 4GB), Commodore C64C.

8 Ostatnio edytowany przez Mq (2019-03-03 05:07:28)

Na zdjęciach mojego egzemplarza może być GAL o różnych czasach propagacji, ale proszę się tym nie sugerować, bo przekładałem różne układy, a zdjęć robiłem dużo. Poprawnie działa mi tylko GAL o czasie propagacji 25ns. Pisałem ci to _tzok_ wcześniej w mailu. Na GAL-ach o innych czasach gry się uruchamiały, ale nie wszystkie, a przy zapisie występowały przekłamania niektórych bajtów w wyniku czego pliki były uszkodzone, a także psuł się system FAT oraz tablice partycji po jakimś czasie.

Natomiast karta CF działa mi poprawnie dokładnie ta widoczna na zdjęciach.

Co do rezystorów na liniach danych, to testowałem i nie było różnicy z nimi i bez nich. Ale to właśnie takie walki uprawiałem przez te wspomniane pół roku. Te rezystory dawałem zarówno między ACSI a interfejsem, jak również między interfejsem a kartą CF.

9

Heh, chciałbym powalczyć, ale elektronikiem nie jestem. Jak uda się ogarnąć - dajcie znać proszę.

Sikor umarł...

10 Ostatnio edytowany przez _tzok_ (2019-03-04 19:47:59)

Karta dotarła, nie zwróciłem na to nawet wcześniej uwagi ale to jest SanDisk Ultra, a nie Ultra II... niemniej działa. Nie testowałem jeszcze zapisu, ale uruchomiłem kilka demek i chodzą bez problemu, w tym Bad Apple, które stawia wysokie wymagania kontrolerom pamięci masowej - działa bez zająknięcia.

Moja kolekcja: Atari 1040STe (4MB), Atari 1040STfm (4MB, BLiTTER, AT-ONCE+), Atari 800XE (SIMM EXP 1MB), Atari 800XL (RAMBO XL 256kB), Atari 600XL (64kB), Sinclair ZX SPECTRUM+ (48kB), TIMEX Computer 2048 (48kB), Commodore A600 (2MB+4MB, HDD CF 4GB), Commodore C64C.

11

Wrzuć zdjęcie jaka to karta dokładnie. Napisz też jakich użyłeś dokładnie scalaków TTL i GAL-a i czy robiłeś jakieś modyfikacje już w układzie, czy tylko złożyłeś wg schematu?

Jak będziesz miał czas, to postaraj się skopiować większą ilość danych w tę i z powrotem, pomiędzy partycjami i porównaj na koniec pierwotne pliki z docelowymi (np. Total Commander ma opcję porównaj wg zawartości i pokazuje czy jakieś bajty uległy uszkodzeniu).

12 Ostatnio edytowany przez _tzok_ (2019-03-04 21:12:01)

Karta jak na zdjęciu:
https://obrazki.elektroda.pl/3276473700_1551729699_thumb.jpg

GAL16V8-35LP (Lattice)
DM74LS221N (National Semiconductor)
SN74HCT574N (Texas Instruments)

GAL zaprogramowany moim wsadem "skompilowanym" pod WinCUPL. Wynikowy plik JED jest inny niż ten od Putnika.

Mój:


CUPL(WM)        5.0a  Serial# 60008009
Device          g16v8as  Library DLIB-h-40-2
Created         Sun Mar 03 15:41:56 2019
Name            ACSI CF 
Partno          00 
Revision        01 
Date            2019-02-26 
Designer        TzOk 
Company         None 
Assembly        None 
Location        None 
*QP20 
*QF2194 
*G0 
*F0 
*L00000 10101011111111111111111111110111
*L00256 10011011111111111111111111111101
*L00288 11111111101111111011101101011101
*L00512 10010111111111111111111111111101
*L00544 11111111101111111011011101011101
*L01024 11111111011111111111111101111101
*L01536 11111111111101111111111111111111
*L02048 10000000001100000011000000100000
*L02112 00000000000101011111111111111111
*L02144 11111111111111111111111111111111
*L02176 111111111111111110
*C2298
*A245

Putnika:


25.09.2010, 10:15:56

ACSICF5.GAL assembled to ACSICF5.JED

with GAL-Assembler V1.2, (c) May 17 1992 by Ulrich Hack *

F0 *

N pin 19 = 'LAC' = function19 *
L0000 1010 1011 1111 1111 1111 1111 1111 0111 *

N pin 18 = 'IOWR' = /function18 *
L0256 1001 1011 1111 1111 1111 1111 1111 1101 *
L0288 1111 1111 1011 1111 1011 1011 0101 1101 *

N pin 17 = 'IORD' = /function17 *
L0512 1001 0111 1111 1111 1111 1111 1111 1101 *
L0544 1111 1111 1011 1111 1011 0111 0101 1101 *

N pin 16: not connected *

N pin 15 = 'DRQA' = /function15 *
L1024 1111 1111 0111 1111 1111 1111 0111 1101 *

N pin 14: not connected *

N pin 13 = 'IRQA' = /function13 *
L1536 1111 1111 1111 0111 1111 1111 1111 1111 *

N pin 12 = 'MONOST' = function12 *

N XOR(19..12) bits: *
L2048 10010101 *

N user ID: "ACSICF05" *
L2056 01000001010000110101001101001001
      01000011010001100011000000110101 *

N AC1(19..12) bits: *
L2120 00010101 *

N enable product terms: *
L2128 11111111111111111111111111111111
      11111111111111111111111111111111 *

N SYN bit: *
L2192 1 *

N AC0 bit: *
L2193 0 *

0000
Moja kolekcja: Atari 1040STe (4MB), Atari 1040STfm (4MB, BLiTTER, AT-ONCE+), Atari 800XE (SIMM EXP 1MB), Atari 800XL (RAMBO XL 256kB), Atari 600XL (64kB), Sinclair ZX SPECTRUM+ (48kB), TIMEX Computer 2048 (48kB), Commodore A600 (2MB+4MB, HDD CF 4GB), Commodore C64C.

13

A dlaczego robiłeś inny wsad? Zmieniałeś coś w nim?
I GAL 35ns... takich nie testowałem, a nawet nigdy nie miałem:-)
Taką kartę można gdzieś kupić bez problemu, czy przypadkiem trafiła Ci się?

14 Ostatnio edytowany przez _tzok_ (2019-03-04 22:17:39)

Karta trafiła mi się przypadkiem. Opis HDL (funkcje) do GALa jest taki sam, tylko przepisany i skompilowany w CUPLu. Jak się wczytałem w opis tego JED to kluczowe elementy połączeń makroceli są jednak takie same.

Name     ACSI CF ;
PartNo   00 ;
Date     2019-02-26 ;
Revision 01 ;
Designer TzOk ;
Company  None ;
Assembly None ;
Location None ;
Device   G16V8AS ;

/* *************** INPUT PINS *********************/
PIN  1    = A1                        ; /*                                 */ 
PIN  2    = CS                        ; /*                                 */ 
PIN  3    = RW                        ; /*                                 */ 
PIN  4    = ACK                       ; /* First 4 lines from ACSI bus     */ 
PIN  5    = IRQ                       ; /* from IDE - just to invert it    */ 
PIN  6    = DMAON                     ; /* Latch                           */ 
PIN  7    = DMARW                     ; /* Latch                           */ 
PIN  8    = DMARQ                     ; /* From IDE - active HIGH          */ 
PIN  9    = RESET                     ; /* From ACSI - latch init          */ 
PIN 11    = ENABL                     ; /* Latch bit 7 - 0 DISABLED        */ 
PIN 12    = MONOST                    ; /* Trgd' by ACK - tw~180ns         */ 

/* *************** OUTPUT PINS *********************/
PIN 13    = IRQA                      ; /* To ACSI via diode               */ 
PIN 15    = DRQA                      ; /* To ACSI via diode               */ 
PIN 17    = IORD                      ; /* ToIDE                           */ 
PIN 18    = IOWR                      ; /* To IDE                          */ 
PIN 19    = LAC                       ; /* Need rising pulse for '574 write*/ 

/* *************** BOOLEAN-EQUATIONS *********************/
                              
   LAC = !A1 & !CS & !RW & RESET;  /* raising pulse for latch set */
   /* Reset signal because it sets by power on, it seems */

   !IORD = A1 & !CS & RW & ENABL
         # !DMAON & ENABL & DMARQ & !ACK & MONOST & DMARW ;  /* must close before ACK !!! */
  /* so, needs monostable again */
 
   !IOWR = A1 & !CS & !RW & ENABL
         # !DMAON & ENABL & DMARQ & !ACK & MONOST & !DMARW  ;

   !DRQA = DMARQ & ACK & ENABL ;  /* Very fast work - off when ACK activates. 2 MB/sec peak ! */
 
   !IRQA = IRQ ;   /* Invert it - need via diode to ACSI */
  

No i jeszcze w STe mam "bad-DMA" (-38) ale mam też 68HC000 i TOS w kościach Flash. STf jest mniej więcej w oryginalne (tylko recap i niefabryczne PSU).

Odczyt jest na poziomie 1800kB/s

Moja kolekcja: Atari 1040STe (4MB), Atari 1040STfm (4MB, BLiTTER, AT-ONCE+), Atari 800XE (SIMM EXP 1MB), Atari 800XL (RAMBO XL 256kB), Atari 600XL (64kB), Sinclair ZX SPECTRUM+ (48kB), TIMEX Computer 2048 (48kB), Commodore A600 (2MB+4MB, HDD CF 4GB), Commodore C64C.

15 Ostatnio edytowany przez _tzok_ (2019-03-05 18:08:28)

https://www.youtube.com/watch?v=UqliWRjLclE

Moja kolekcja: Atari 1040STe (4MB), Atari 1040STfm (4MB, BLiTTER, AT-ONCE+), Atari 800XE (SIMM EXP 1MB), Atari 800XL (RAMBO XL 256kB), Atari 600XL (64kB), Sinclair ZX SPECTRUM+ (48kB), TIMEX Computer 2048 (48kB), Commodore A600 (2MB+4MB, HDD CF 4GB), Commodore C64C.

16 Ostatnio edytowany przez _tzok_ (2019-03-06 23:05:28)

Przekopiowałem kilkakrotnie folder z kilkoma setkami plików i na pierwszy rzut oka wyglądało, że wszystko jest ok. Niestety dokładniejsze oględziny pokazują, że pojedyncze bity są zamienione :(

Moja kolekcja: Atari 1040STe (4MB), Atari 1040STfm (4MB, BLiTTER, AT-ONCE+), Atari 800XE (SIMM EXP 1MB), Atari 800XL (RAMBO XL 256kB), Atari 600XL (64kB), Sinclair ZX SPECTRUM+ (48kB), TIMEX Computer 2048 (48kB), Commodore A600 (2MB+4MB, HDD CF 4GB), Commodore C64C.

17

_tzok_, i to jest niestety dokładnie ten sam problem, który miałem w swoim interfejsie. Przypatrz się uważnie gdzie występują błędy. Jest pewna reguła: błędny bajt jest zawsze ostatnim bajtem z grupy 512 bajtów. Tak jest przy małej ilości błędów, przy dużej już są to różne bajty. Co ciekawe, u mnie te błędy były powtarzalne, czyli przy kilku próbach takiego kopiowania zawsze miałem powtarzalne te same błędy. Zwróć też uwagę jaki jest ten błędny bajt: u mnie zawsze był to bajt któryś obok tego właściwego, a nie losowy i też dało się zaobserwować regułę.
Wyglądało mi to, jak by błędy w transmisji pojawiały się zawsze na koniec sektora (512 bajtów). W dodatku ten błędny ostatni bajt był powtórzeniem któregoś sąsiedniego bajtu (już nie pamiętam którego dokładnie). Z tego powodu zastanawiałem się, czy nie jest to problem drivera, a nie sprzętu. Dlatego cisnąłem Putnika, sądząc, że może jest problem jakiś z driverem, bo przecież przy zakłóceniach błędy powinny mieć charakter losowy. Jednak Putnik upierał się, że to jest kwestia zakłóceń, a na koniec obraził się, że go nie chcę słuchać - jak to Putnik:-)
Szedłem więc dalej ścieżką którą mi wytyczył i trzymałem się tych zakłóceń. Poprawa sytuacji, lub jej pogorszenie następowało przy dobieraniu różnych kart CF, różnych GAL-i (najlepszy u mnie okazał się być 25ns, ale testowałem tylko szybsze, nie miałem takiego jak twój 35ns). Ostatecznie pomogło u mnie dobranie jedynej karty 2GB (ta Twoja dobrze rokuje, trzymał bym się jej), GAL-a 25ns (choć możliwe, że 35ns też jest  ok, nie sprawdzałem), oraz spróbuj wlutować te diody schotky tak jak Ci pisałem w mailu.

18 Ostatnio edytowany przez _tzok_ (2019-03-07 13:26:08)

Niestety diody u mnie nic nie zmieniają. Natomiast obserwując na oscyloskopie linie portu ACSI to jest w ogóle cud, że cokolwiek działa. Ciężko dojść co jest transmisją a co zakłóceniami.

Moja kolekcja: Atari 1040STe (4MB), Atari 1040STfm (4MB, BLiTTER, AT-ONCE+), Atari 800XE (SIMM EXP 1MB), Atari 800XL (RAMBO XL 256kB), Atari 600XL (64kB), Sinclair ZX SPECTRUM+ (48kB), TIMEX Computer 2048 (48kB), Commodore A600 (2MB+4MB, HDD CF 4GB), Commodore C64C.

19 Ostatnio edytowany przez Mq (2019-03-07 13:47:30)

Tam są już bardzo duże szybkości. Putnik mówił, że zakłócenia są głównie pochodzenia od karty CF, która je generuje. Dlatego mówił, że jeżeli coś filtrować, to należy się skupić na liniach łączących już bezpośrednio kartę z interfejsem. Powalcz, może coś wymyślisz.

Edit: aha, te diody schottky na liniach wpięte zaporowo do masy, to zastanawiałem się co mają niby robić - bo to pomysł Putnika był, więc po prostu tak zrobiłem. Doszedłem do wniosku, że one tak wpięte zadziałają w zasadzie jak kondensatory o bardzo małej pojemności rzędu poniżej kilku pF. Czyli wynikało by z tego, że spłaszczą się trochę zbocza sygnałów wtedy i tym samym zlikwidują zakłócenia i szpilki o wyższych częstotliwościach niż nasza transmisja. Tak sobie to wytłumaczyłem, bo szczerze byłem zdziwiony tym pomysłem, a jeszcze bardziej się zdziwiłem jak to u mnie zadziałało.

20 Ostatnio edytowany przez _tzok_ (2019-03-07 17:27:46)

Diody zabezpieczają przed przed impulsami, które pojawiają się poniżej poziomu masy.
https://www.exxoshost.co.uk/atari/last/DMAfix/index.htm (tutaj akurat puszczony przez rezystor 100R):
https://www.exxoshost.co.uk/atari/last/DMAfix/rdy1.png

Moja kolekcja: Atari 1040STe (4MB), Atari 1040STfm (4MB, BLiTTER, AT-ONCE+), Atari 800XE (SIMM EXP 1MB), Atari 800XL (RAMBO XL 256kB), Atari 600XL (64kB), Sinclair ZX SPECTRUM+ (48kB), TIMEX Computer 2048 (48kB), Commodore A600 (2MB+4MB, HDD CF 4GB), Commodore C64C.

21

Czyli diody robią dobrze. Może trzeba by dołożyć jeszcze coś... gdzieś...

22

Heja,

Mq napisał/a:

Czyli diody robią dobrze. Może trzeba by dołożyć jeszcze coś... gdzieś...

Tak se myślę, patrząc na kształty impulsów, że przydałoby się jednak solidne buforowanie wyjścia DMA bo dzwoni dosyć głośno. Tak na marginesie - wejścia układów TTL nie zaakceptują, tak czy inaczej, poziomów poniżej 0V - po prostu - taka budowa wejść :)

Załączam ciekawy materiał - jak ktoś zechce no to sobie poczyta o bramkach - zestawienie charakterystyk i takie tam...

pozdrawiam

Post's attachments

Bramki_teor.pdf 1.52 mb, liczba pobrań: 12 (od 2019-03-07) 

Tylko zalogowani mogą pobierać załączniki.
Różne różności dla Atari i nie tylko - przydatne, bądź nie ale i tak warto zajrzeć...
http://atari.myftp.org  Atari - Power without price and necessary elements with some sh*t onboard
https://reversing.pl SSL enabled site

23

To są oscylogramy Chrisa, u siebie aż takiego dzwonienia nie zaobserwowałem, występuje natomiast szereg innych dziwacznych zjawisk na magistrali danych portu ACSI...

W układach TTL i HCT na wejściach są już tak włączone diody.

Moja kolekcja: Atari 1040STe (4MB), Atari 1040STfm (4MB, BLiTTER, AT-ONCE+), Atari 800XE (SIMM EXP 1MB), Atari 800XL (RAMBO XL 256kB), Atari 600XL (64kB), Sinclair ZX SPECTRUM+ (48kB), TIMEX Computer 2048 (48kB), Commodore A600 (2MB+4MB, HDD CF 4GB), Commodore C64C.

24 Ostatnio edytowany przez x_angel (2019-03-07 22:49:22)

O ile mi się przypomina z konwersacji z Putnikiem, to była jeszcze taka teoria, że układ jest OK, tylko winne jest PCB, bo podobno u niego "na kabelkach" wszystko dobrze działa. Podobno układ jest bardzo wrażliwy na źle zaprojektowane PCB. Ale teoria padła po tym, jak na żadnym PCB nikomu to nie zadziałało poprawnie...
W załączniku fotka, jak u mnie wyglądał interface.

Układ działa po chińsku czyli jako-tako :) Głównie zależy to od karty CF, czasem udaje się dobrać taką kartę, że działa dość dobrze z większością Atarek. U mnie jest jedna karta 1GB, gdzie odczyt działa zawsze OK i nigdy mi się ona nie posypała, ale nie robiłem próby zapisu i porównywania w TC. Mam też kartę 2GB, która w odczytach zawsze działa dobrze w STe, ale w zapisach się sypie. Natomiast w ST to nawet w odczytach potrafi się sypać.
Bardzo wybredny ten interfejs...

Na zdjęciach karty Kingstona, które oczywiście nie działają. Interface działa tylko z Sandiskami.

Post's attachments

IMG_1209.JPG 808.06 kb, nikt jeszcze nie pobierał tego pliku. 

Tylko zalogowani mogą pobierać załączniki.

25 Ostatnio edytowany przez _tzok_ (2019-03-08 00:21:39)

Spójrzcie na te równania:

   !IORD = A1 & !CS & RW & ENABL # !DMAON & ENABL & DMARQ & !ACK & MONOST & DMARW ;  /* must close before ACK !!! */
                                                      /* so, needs monostable again */
   !IOWR = A1 & !CS & !RW & ENABL # !DMAON & ENABL & DMARQ & !ACK & MONOST & !DMARW  ;

...coś mi tu nie pasuje. Sygnały IORD i IOWR mają być blokowane (=1) przed wystąpieniem ACK, przy pomocy sygnału MONOST... no i pięknie, tylko że ten sygnał pojawia się po ok 30ns od zbocza opadającego ACK i trwa 85ns :/ Poza tym mamy problem z podwójną negacją... równanie niby jest w odwróconej logice, ale wtedy to blokowanie nie działa... albo jest już późno i źle myślę :/ bo żeby zablokować to ma być IOWR = 1, a nie !IOWR = 1...

Moja kolekcja: Atari 1040STe (4MB), Atari 1040STfm (4MB, BLiTTER, AT-ONCE+), Atari 800XE (SIMM EXP 1MB), Atari 800XL (RAMBO XL 256kB), Atari 600XL (64kB), Sinclair ZX SPECTRUM+ (48kB), TIMEX Computer 2048 (48kB), Commodore A600 (2MB+4MB, HDD CF 4GB), Commodore C64C.