-
11. Data: 2023-03-23 14:24:35
Temat: Re: Czy są takie piny, by można było włożyć płytkę w podstawkę DIL?
Od: Piotr Gałka <p...@c...pl>
W dniu 2023-03-22 o 17:29, Dawid Rutkowski pisze:
> Nono, to niezły rozpęd miałeś, że 5 poszło z dymem ;>
> A zatrzymałeś się po 5, bo coś jednak tknęło, czy po prostu miałeś tylko 5? ;>
Miałem 10 szt. Po 5-tym coś tknęło :)
To była pierwsza próba programowania robiona za pomocą naszego prototypu
programatora. To była mocno pająkowata konstrukcja składająca się z
kilku skręconych ze sobą płytek prototypowych. Wcześniej to był
programator EPROMów przerobiony teraz na uniwersalny (EPROMy i 8748).
Pracowaliśmy nad tym razem z bratem (on program w programatorze, ja
program na komputerze).
Gdybyśmy posiadali komputer to na pewno taką próbę robilibyśmy razem (i
zapewne inaczej by przebiegła), ale nie posiadaliśmy.
Wziąłem ten nasz programator do pracy, gdzie miałem dostęp do komputera.
Jakiś HEX próbowałem wrzucić do 8748 ale się nie zweryfikował. Myślałem,
że coś może nie zakontaktowało (zamykana podstawka 40 pin była polskiej
produkcji i one ciągle miały problemy z kontaktowaniem (mieliśmy już
doświadczenie z EPROMami)). Poruszanie 8748 w podstawce na boki
(przetarcie styków) nic nie dało to wziąłem kolejną sztukę. Też nic.
Co było dalej to dokładnie nie pamiętam. Na pewno coś poprawiałem (być
może nie raz) w moim programie na komputerze myśląc, że to jest źródło
problemu.
Nie zdawałem sobie sprawy, że palę kolejne procesory. Myślałem, że
ewentualnie wpisuję jakieś błędne dane i się je potem skasuje.
Po 5-tym mnie tknęło, że może je palę.
Błąd był w programie brata. Na czym dokładnie polegał to nie wiem. Nie
pamiętam jakie VPP miał 8748. Jeśli to było 12.5V to najpewniej błąd
polegał na podaniu tam 21V lub 25V, a jeśli miał 25V to błąd polegał na
podaniu VPP na inną nogę (była możliwość podania na kilka ze względu na
różne rozmiary obudów EPROMów).
> A ślad to taki GAL, który zamienia miejscami linie adresowe, tak żeby prosty odczyt
EPROMu
> programu dał sieczkę.
> Oczywiście jak ktoś (np. ja ;) dostanie do ręki taki zaprogramowany GAL to zaraz
napisze sobie dekoder/enkoder,
> więc zabezpieczenie takie sobie - ale lepszy rydz niż nic.
To chyba nie zawsze musi być aż tak łatwe.
Jakoś w okolicy 1990..91 (na pewno przed 92) zrobiliśmy klucz do
zabezpieczenia oprogramowania na GALu (przejściówka na Centronix).
Koncepcja taka, że wyjścia 5 rejestrów (kojarzy mi się 5, nie wiem
dlaczego nie 7) są zapętlone wewnątrz, a tylko jeden jest wyprowadzony
na zewnątrz.
W czasie testu obecności klucza na wejścia podawało się jakieś kolejne
dane i przechodziło przez sekwencję 16 stanów sprawdzając ten jeden bit
wyjściowy.
Napisałem program który (przy jakichś założeniach co do gęstości
przepaleń) wypełniał losowo wybrane fuse w GALu i symulując działanie
klucza sprawdzał, czy maszynka nie ma zbyt dużej tendencji to wchodzenia
w jeden stan i pozostawania w nim. Czyli jak z danego stanu dla więcej
niż np. 4 różnych danych wejściowych przejście następowało do tego
samego stanu kolejnego to dany zestaw przepaleń był eliminowany. Miałem
tam jeszcze kilka warunków którymi starałem się wyeliminować nieudane
losowania. Jak już miał jedną zatwierdzoną kombinację to szukał
następnej z dodatkowym kryterium jakoś policzonej odległości od
wszystkich dotychczasowo wylosowanych. W ten sposób znalezienie każdej
kolejnej trwało coraz dłużej. Po kilku godzinach liczenia program miał
wylosowane 20 kluczy.
Kolejni klienci dostawali kolejne klucze - to znaczy dostawali programik
w C generujący oczekiwaną odpowiedź dla każdego możliwego pytania
(napisałem program, który generował te źródła).
Te 20 kluczy nam wystarczyło. Chyba tylko kilkanaście z nich znalazło
odbiorców.
Przez komunikację z kluczem nie dawało się przejść krokowo (GAL pobiera
dużo prądu i energii w kondensatorze starczało tylko na jakieś
milisekundy) a wtedy ludzie jeszcze nie dysponowali powszechnie
analizatorami stanów logicznych.
P.G.