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.area

Widok 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 angielski

Broszura 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-PLCC44

PAC-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