START _______________
Atari 8-bit
GAL-MMU
SIO2PC
Atari static RAM
Atari R-Flex
Atari Turbofreezer III
ARC by Pasiu/SSG
Atari Cartridge
Emulator USB Joy
SIDari
YAMari
SONari
SAMari
TIGari
I/O Dekoder
CART+ECI expander
Atari Multicart XE
Atari Full S-RAM
Atari 16-bit
ACSI-SCSI interface
Video digitizer faST
MegaSTe SCSI internal interface
ST RAMcart
Peter Putnik's ACSI-CF Interface
Narzędzia
GALprog
Przetwornica StepUp
Przelotki układów DIP
Laminator do PCB
Wiertarka do PCB
Wytrawiarka PCB
Monitor LCD Multi
Programator ALL-07
C64
BlackBOX 8.1
Inne projekty
CS9236 Moduł MIDI
Literatura
Hardware
Software
Varia
Nalewka wiśniowa
|
Programator uniwersalny Hi-Lo Systems model ALL-07 Udało mi się nabyć za niewielkie pieniądze działającą wersję z komunikacją poprzez port LPT wyposażoną w moduł PAC-DIP40. Kupiłem także drugi - taki sam
programator z dodatkowymi dwoma modułami: PAC-PLCC44 i PAC-PLCC68. Jest to bardzo udane urządzenie o dużym stopniu skomplikowania działające pod kontrolą oprogramowania na
komputerach PC w systemie DOS. Ze względu na to, że programator obsługuje starsze i często już nieprodukowane układy - staje się przydatnym narzędziem gdy trzeba przy- wrócić "do życia" jakiś sprzęt retro... Dzięki zgodzie uzyskanej od Matthieu Benoit zamieszczam prawie wszystkie (poza niektórymi bardzo egzotycznymi adapterami) dostępne materiały pobrane z jego strony:
http://matthieu.benoit.free.fr/hilosystem_all-07_universal_programmer.htm
Tłumaczenie i dodatkowe objaśnienia zostały wykonane przeze mnie. W razie znalezienia błędów bądź dodatkowych pytań proszę o kontakt poprzez forum
atari.areaWidok zewnętrzny mojego programatora z modułem PAC-DIP40: Widok modułu PAC-PLCC44: Widok modułu PAC-PLCC68: Widok wewnętrzny modułu PAC-DIP40 - góra pcb: Widok wewnętrzny modułu PAC-DIP40 - spód pcb: Widok modułu PAC-DIP48: Widok wewnętrzny modułu PAC-DIP48: Zbliżenie płytek pindriverów modułu PAC-DIP48: Widoki wewnętrzne modułu PAC-PLCC44, który składa się z dwóch płytek złożonych
w "kanapkę" i połączonych ze sobą przy pomocy złączy szpilkowych: Dolna pcb - góra: Dolna pcb - spód: Górna pcb - góra: Górna pcb - spód: Widoki wewnętrzne modułu PAC-PLCC68, który składa się z dwóch płytek złożonych
w "kanapkę" i połączonych ze sobą przy pomocy długich złączy szpilkowych: Dolna pcb - góra: Dolna pcb - spód: Górna pcb - góra: Górna pcb - spód: Zbliżenie płytki pindriverów modułów PLCC, które wyglądają podobnie do tych jakie widać na zdjęciu pindriverów z modułu PAC-DIP48: Widok modułu PAC-EP32-8B - jednoczesne programowanie do 8 układów EPROM. PAC-EP32-8B dolna PCB PAC-EP32-8B górna PCB
Niestety - poza materiałami dostępnymi na stronach Matthieu Benoit nie da się
znaleźć żadnych sensownych danych. Co więcej - nie można w żadnym wypadku liczyć na pomoc ze strony firmy Hi-Lo. Wiem, ponieważ próbowałem uzyskać od nich
materiały serwisowe i programistyczne (mapy pamięci, kody rozkazowe, itp.). Mimo tego, że jest to tak stary model - trzymają wszystko dla siebie i tylko dociekliwości
użytkowników programatora zawdzięczamy m.in. powstanie schematów ideowych samego programatora jak i wielu adapterów niezbędnych do programowania układów w różnych obudowach.Podręcznik użytkownika ALL-07 - język angielskiBroszura firmowa Hi-Lo - język angielski
Należy zaznaczyć, że istnieją dwie różniące się wersje sprzętu. Mimo, że jest to podręcznik do wersji PC-based, czyli programatora wymagającego dedykowanej karty
interfejsu SAC-07, która również podaje zasilanie dla urządzenia - opisy mają zastosowanie także w przypadku wersji działającej przez port LPT dla działania której
wystarczy kabel zasilający 230V oraz standardowy kabel drukarkowy DB25-DB25:
Zdjęcie karty SAC-07 niezbędnej dla wersji PC-based programatora: Zaznaczam, że kupno programatora PC-based w świetle poniższego opisu może mieć sens ze względu na możliwość konwersji wersji PC-based na Parallel..
Owszem - istnieje schemat intefejsu odtworzony z rysunku ścieżek, ale nie ma wsadu do układu PLD - PALCE16V8 i dopóki ktoś nie zrzuci zawartości U5 - nie da się płytki sklonować tak aby działała:Schemat karty SAC-07
Pod tym adresem RETROCMP można przeczytać historię walki człowieka właśnie z wersją PC-based, którą próbował przekształcić w wersję LPT. Raczej średnio mu się
to udało...bardzo możliwe, że zakupiony przez niego programator był po prostu zepsuty.
Opis konwersji pochcodzący ze strony Matthieu Benoit:
Hi-Lo ALL-07 PC-based i Hi-Lo ALL-07 Parallel są, poza kwestiami związanymi z zasilaniem - w zasadzie identyczne. Karta SAC-07 podaje zasilanie dla programatora z
komputera PC (+5, +12 oraz GND) i zachowuje się jak dodatkowy port LPT, przez który jest sterowany programator. - żeńskie złącze DSUB25 może być zamienione na standardowe męskie DSUB25 przy
pomocy przelotki 1:1. - płyta programatora posiada standardowe złącze zasilające MOLEX takie jak w HDD - oryginalnie zasilanie jest podłączone do płyty MOLEXem z małej płytki adaptera
- do zasilania mozna użyć dowolnego zasilacza od PC albo takiego, który może dostarczyć +5V i +12V
Schematy interfejsów wersji PC-based i Parallel
Lista układów obsługiwanych przez programator z zainstalowanym modułem: PAC-DIP32/40/48
PAC-PLCC44PAC-PLCC68
Należy mieć na uwadze to, że do wielu układów w innych obudowach niż DIP wymagane
są dodatkowe adaptery, bez których programowanie jest praktycznie niemożliwe. O ile mając dodatkowe moduły PAC można się w zasadzie obyć bez adapterów PLCC44 i
PLCC68 to zaprogramowanie, np. układów PLCC84 ALTERA EPM7128ELC-84 z pewnością będzie wymagało posiadania odpowiedniej przejściówki, której poszukuję...
Na szczęście sporo schematów stało się dostępnych i je tutaj publikuję. SCHEMATY PROGRAMATORA (nowe skorygowane) Dolna PCB Środkowa PCB Górna PCB
SCHEMATY PROGRAMATORA (stare) Dolna PCB - część A Dolna PCB - część B Środkowa PCB Górna PCB
Z góry uprzedzam, że te schematy są najprawdopodobniej odtwarzane z realnego sprzętu i jako takie mogą zawierać błędy. Dopiero zbudowanie na ich podstawie
działającego klona może zweryfikować jakość odtworzenia połączeń. ALL-07 jest zbudowany przy zastosowaniu układów scalonych o średniej integracji
elementów - MSI, czyli bramek, przerzutników, rejestrów, buforów, itp. Oczywiście także tranzystorów, diód i elementów biernych. Zawiera również kilka układów PLD PAL,
których zawartość została odtworzona przez użytkownika Tinhead z Niemiec. Oto jak on opisuje swoje działania:"Odtworzenie nie było zbyt skomplikowane. U6 - PAL układ zegarowy jest bardzo
podobny w działaniu do U5 z programatora EXPRO-60, układ U3 PAL działa w ALL-07 dokłądnie tak samo jak w EXPRO-60. Tylko U2 PAL - pracujący w trybie registered
dołożył trochę komplikacji. W ALL-07 Hi-Lo zmieniło sposób sprawdzania CODEID po to aby skomplikować próby złamania zabezpieczeń. Zmieniono starszy bajt w kodowaniu
z trybu shift register na registered memory, jednakże dobry disassembler DOSowy i analizator logiczny zakończyły zmagania sukcesem. Ponadto do odtwarzania
zawartości układów PAL można użyć narzędzia PAL Device Reader ze strony
http://www.techno-junk.org/ Jednakże jego zastosowanie ogranicza się tylko do układów całkowicie kombinatorycznych. Nie da się go zastosować do układów PAL,GAL
skonfigurowanych jako rejestrowe. Więcej informacji na stronie autora Ch. MacDonald. W archiwum all07a.zip znajdują się pliki EQN oraz JED gotowe do implementacji
w układach GAL16V8 stworzone przez Tinheada. Oprogramowanie sterujące posiada opcję autotestu. Do dokładnego przetestowania należy użyć układu testowego POD-DIAG40.
Na nieistniejącej juz stronie TRIBALMICRO był opisany sposób skonstruowania tego
adaptera. Poniżej przedstawiam przetłumaczony materiał zarchiwizowany przez
WAYBACK MACHINE Konstrukcja jest prosta. POD-DIAG40 posiada widoczne na zdjęciach szpilki złączy,
które służą do podłączenia adaptera z modułem PAC-DIP40. Ścieżki na płytce łączą piny z lewej strony na wprost z pinami z prawej strony. Wszystkie 20 wierszy posiada
połączenia między pinami. Do pomiarów napięć służą wyprowadzenia pinów:
Pin20 - GND Pin19 - JP1 Pin18 - JP2 Pin17 - JP3
Napięcia są podawane tylko przez około 30 sekund więc należy się "sprężać" z pomiarami co nie powinno być ekstremalnie trudne :)
Podawane poprawne następujące wartości napięć w punktach - mierzone względem masy - GND: Point 1 : JP1 - GND + 8V - 0.1V Point 2 : JP2 - GND + 12V - 0.1V
Point 3 : JP3 - GND + 21V - 0.1V
Kolejne kroki programu testowego: Step 1 : TTL I / O test Step 2 : 0.1u CAP test pins Step 3 : VCP test pins
Step 4 : TBR test pins Step 5 : Test pins VHHenc Step 6 : VOP test pins Step 7 : VOPX pins test Step 8 : OSC test pins Step 9 : TTL I / O test
VCP powinno mieć 5V , 14V VHH ( ??? ) , VOP 12V , VOPX21V GENERALNIE NIE POLECAM uruchamiania oprogramowania na systemach wyższych
niż DOS, Windows 3, Windows 95 bądź Windows 98. Mogą wystąpić kłopoty poprzez bardzo "łopatologiczne" korzystanie z portu LPT przez program sterujący. Udało mi się
uruchomić bezproblemowo software korzystając z zainstalowanego na maszynie wirtualnej Microsoft Virtual PC 2007 systemu Windows 98 według poniższego opisu:
Najpierw należy ściągnąć za darmo Microsoft Virtual PC 2007 ze strony firmowej. Brak wsparcia nie jest przeszkodą - ważne, że działa. Po zainstalowaniu należy stworzyć
nową maszynę wirtualną. W ustawieniach ustawić dostęp do CD-ROM a także do portu LPT1. Następnie zainstalować system operacyjny, np. Windows 98 SE. Wygodna jest
obsługa sieci bo dzieki temu można wymieniać pliki pomiędzy HostPC a TargetOS. Wystarczy zainstalować klienta Microsoft Networking, nadać adresy z tej samej sieci,
nadać tę samą nazwę grupie roboczej oraz udostepnić folder z oprogramowaniem na HostPC, np. z programami dla ALL-07 bądź innymi, które chce się używać.
W miarę pełne oprogramowanie złożone z paczek znalezionych w wielu miejscach sieci znajduje się tu -> ALL07 FULL SOFT. W miarę oficjalne oprogramowanie jest na stronie dystrybutora Hi-Lo - ELMICRO
albo na FTP Hi-Lo Systems Wersje poszczególnych plików mogą sie różnić jednak, gdy ich użytkowanie nie będzie miało wpływu na działanie programatora - nie ma potrzeby szukania innych. ADAPTERY UKŁADÓW DLA ALL-07 (zestawienia) Niestety ale nie udało mi się znaleźć wykazu adapterów różnych układów dla ALL-07
w związku z tym publikuję takie zestawienia dla programatorów ALL11p2 oraz ALL100. Ze względu na to, że adaptery są w przeważającej większości wspólne dla całej serii
programatorów Hi-Lo taka bublikacja pozwoli na znalezienie odpowiedniego sprzętu:
ALL-11p2
ALL-100 ADAPTERY UKŁADÓW DLA ALL-07 (schematy)
Adapter dla PLD Cypress serii CY37XXX
Adapter dla PLD AMD/VANTIS serii MACH(PLCC84) Obsługiwane układy PLCC84:
MACH130, MACH230, MACH120, MACH220, MACH435, MACH435/Q, MACH131, MACH231, MACH355/Q, MACH465/Q, MACH221, MACH231SP, MACH231/1, MACHLV436, MACH436, MACHLV446, MACH446, MACHLV466, MACH466,
MACH131SP, MACH221SP, MACH221/1, MACH231SP-VC, MACH131SP-VC, MACH221SP-VC, M4LV-128/64-VC, M4-128/64-VC, M4LV-128N/64-JC, M4-128/64-YC, M4LV-128N/64-JC, M4LV-128/64-YC, M4LV-256/128-YC, M4-256/128-YC,
M4LV-96/48-VC, M4-96/48-VC, M4LV-192/96-VC, M4-192/96-VC
Adapter dla PLD AMD/VANTIS serii MACH(PLCC44)
Obsługiwane układy PLCC44: MACH110, MACH210/A/AQ, MACH215, MACHLV210/A, MACH111, MACH211, MACH211SP, M4LV-64/32, M4-64/32, M4LV-32/32, M4-32/32, M4A3-32/32,
M4A5-32/32, M4A3-64/32, M4A5-64/32
Posiadacze modułu PAC-PLCC44 raczej nie potrzebują tego adaptera.
Adapter dla PLD AMD/VANTIS serii MACH(PLCC68)
Obsługiwane układy PLCC68: MACH120, MACH220, MACH221
Posiadacze modułu PAC-PLCC68 raczej nie potrzebują tego adaptera.
Adapter dla PLD Altera serii EPM
Obsługiwane układy PLCC44: EPM3032ALC44/TC44, EPM3064ALC44/TC44, EPM7064AELC44/TC44
Posiadacze modułu PAC-PLCC44 raczej nie potrzebują tego adaptera
Adapter dla PLD Altera serii EPM - EPM7032
Obsługiwane układy PLCC44: EPM7032 - jest to adapter dla Hi-Lo ALL-03 ale powinien również znaleźć zastosowanie dla ALL-07 jako, że wyższe modele są raczej zgodne
w dół jeśli chodzi o stosowane adaptery.
Adapter dla ATMEL ATF1500
Obsługiwane układy: ATF1500/L, ATF1500A/ABV/AL Adapter niezbędny dla przeprogramowania układów bez złącza JTAG
Adapter dla ATMEL ATF1504
Obsługiwane układy: ATF1502AS/ASL, ATF1504AS/ASL
Adapter niezbędny dla przeprogramowania układów z zablokowanym złączem JTAG
Adapter dla ATMEL ATF1508
Obsługiwane układy: ATF1504AS/ASL, ATF1508AS/ASL Adapter niezbędny dla przeprogramowania układów z zablokowanym złączem JTAG
Adapter dla układów Philips CoolRunner i XilinX
Obsługiwane układy Philips: PZ3032-/CS/NS, PZ3064, PZ5032-/CS/NS, PZ5064-/CS/NS Obsługiwane układy XilinX:
XCR3032, XCR3064, XCR5032, XCR5064, XCR3032A, XCR3032C, XCR5032C, XCR3064A, XCR5064C Adapter niezbędny dla przeprogramowania układów z zablokowanym złączem JTAG Pinout dla PLCC44 i TQFP44
Adapter dla układów Philips CoolRunner i XilinX
Obsługiwane układy Philips: PZ3064-/CS/NS, PZ5064-/CS/NS, PZ3128-/CS/NS, PZ5128-/CS/NS Obsługiwane układy XilinX:
XCR3064, XCR5064, XCR3064A, XCR5064C, XCR5128, XCR3128, XCR5128C, XCR3128A Adapter niezbędny dla przeprogramowania układów z zablokowanym złączem JTAG Pinout dla PLCC68 i PLCC84
Adapter dla układów Philips CoolRunner i XilinX
Obsługiwane układy Philips: PZ3064-/CS/NS, PZ5064-/CS/NS, PZ3128-/CS/NS, PZ5128-/CS/NS Obsługiwane układy XilinX:
XCR3064, XCR5064, XCR3064A, XCR5064C, XCR5128, XCR3128, XCR5128C, XCR3128A Adapter niezbędny dla przeprogramowania układów z zablokowanym złączem JTAG
Pinout dla PQ100, VQ100, TQ100, TQ128 i PQ160 dla PQ100 potrzebny jest jumper wyboru.
Adapter dla Lattice ispGAL22V10
Adapter dla Lattice ispGDS18
Adapter dla PAL - obudowy PLCC
- PLCC20 i PLCC28
Adapter dla pamięci 27C160, 27C800
Obsługiwane układy: AMD,INTEL: 27C800 MXIC: MX27C8100 NEC: D27C8000D
OKI: MSM27C802/822 STM: M27C800, M27C160, M27W322, M27V160
TOSHIBA: N3001-016, TC578200D, TC5716200D, THA16P0100
Adaptery dla innych egzotycznych i obecnie mocno przestarzałych układów istnieją
ale kosztują bardzo dużo i niewspółmiernie do rzeczywistej wartości. Dlatego też pełne zastosowanie dla programatora jest ograniczone. Moim zdaniem - sprzęt wart jest tyle
ile możliwości jego zastosowania i obecnie - w dobie rozbudowanych programatorów opartych na FPGA trąci "myszką". O ile uda się odtworzyć model programowy i mapę
sterowania układami wykonawczymi - mozna będzie stworzyć własne, nowe adaptery dla nowoczesnych układów programowalnych. Bez pomocy ze strony producenta będzie
to żmudny proces ale da się to zrobić. Debugger, disassembler i sporo cierpliwości pozwolą na dokładne wyrwanie nie tylko algorytmów programowania ale także budowę adapterów obecnie nieosiągalnych dla użytkownika... Po szczegóły odsyłam na bardzo ciekawe strony Matthieu Benoit. Danych odnośnie uzytkowania programatora i modułów programowych proszę szukać w instrukcji obsługi.
Urządzenie ma możliwość programowania układów, odczytywania zawartości a także testowania układów TTL,CMOS i PLD według zadanych wektorów. To jest niezwykle
pomocne chociażby do "zrzucenia" zawartości zabezpieczonych PAL lub GAL w trybie kombinatorycznym i odtworzenia w ten sposób funkcji logicznych.
POLECAM programator i proszę o kontakt użytkowników, np. zakładając temat na forum atari.area |