Grzybuś napisał: a masz schemacik twojego programatora bo czemu nie? - możnaby zbudować...
A mam i się podzielę.
Schemat, program wraz z kodem źródłowym w załączniku.
Ale jak zwykle musi być jakieś ale...
To jest programator do Amigi. Prawdopodobnie da się go też podpiąć do "komputera kompatybilnego z architekturą IBM PC XT", pod warunkiem że ten posiada port równoległy (LPT) z możliwością pracy dwukierunkowej z osobnym ustawianiem kierunku każdej z linii. Jeżeli trochę pokombinować, to będzie się też dało go podpiąć pod port LPT jednokierunkowy, wtedy wszystkie wejścia programatora, tj.: DATA, STRC, STRD, XTAL1 (w nowej wersji), wejścia A, B, C multipleksera '151, oraz sygnały /PROG i CLK podłączone były by do linii portu pracujących normalnie jako wyjścia (D0-D7 i np. /SEL). Natomiast wyjścia programatora: Y i /BSY do linii portu pracujących jako wejścia (POUT i BUSY). Oczywiście wymagało by to zmian w programie.
Schemat jest już troszkę nieaktualny, wprowadziłem drobne ulepszenia, między innymi bezpośrednie sterowanie linią XTAL1 przez port, zamiast przez rejestr szeregowy, co zaowocowało znacznym zwiększeniem szybkości odczytu.
W sumie przeglądając kod źródłowy można się zorientować jak wygląda w tej chwili schemat.
A to pod częścią cyfrową to blok zasilania. Programator jest zasilany napięciami +5 i +12V (ze złącza zasilania IDE).
Stosowanie układu 74373 nie jest konieczne (spełnia on tylko rolę bufora), ale wtedy układ 74151 należy zastąpić tym samym, ale z serii HC, lub HCT, a wyjście Q0 "dolnego" układu 4094 podłączyć do wejścia OE "górnego" 4094 i zmienić w programie sterowanie bitem CTRLB_DATAOE na odwrotne (zamiast zera podawać jedynkę). Układ '373 znalazł się tam tylko dlatego, że nie mogłem nigdzie dostać układu 74HC(T)151.
Wszystkie niepodpisane rezystory - 1k.
Tranzystory BC547.
A co do zasilania - to wszystkie układy trzymane są stale pod napięciem 5V, napięcia z bloku zasilania są doprowadzone wyłącznie do procesora.
Program ma możliwość zaprogramowania procesorów z "upalonymi" sygnaturami, w takim wypadku wywala requester i pyta o typ procesora.
Nie ma możliwości zapisywania bitów zabezpieczeń, bo jakoś tego nigdy nie potrzebowałem :]
Z tego co pamiętam nie działa też zapisywanie na dysk zczytanego z procesora programu, z powodu j.w. (ale sam odczyt i weryfikacja są zaimplementowane).
O i jeszcze zdjęcie dorzucę :]