
TOPP - Tesla Old PROM Programmer pre Atari 8bit.
Pokec k vlastnej stavbe programátoru a veciam čo s tým súviseli (a súvisia):
Prvý a základný problém ktorý sa prejavil bol ten že SH doma používa na prácu počítač Atari 800XLF, na rozdiel odo mňa (XLF doma nemám) - ja najradšej používam Atari 600XL/64kB RAM alebo 800XL. Áno, v Atari 800XLF je obvod FREDDIE, v XL mašinách nie. Čo jemu doma fungovalo tak u mňa ani za toho boha nefungovalo - teda myslím tým sériové prenosy. Nakoniec ma napadlo že jediný rozdiel medzi počítačmi je v uvedenom čipe a tak som vytiahol z poličky aj počítač Atari 800XE prerobený na 320XE - a všetko okamžite šlapalo na prvú dobrú - nechcite vedieť koľko času som predtým strávil hľadaním chyby na mašinách XL ... toto bol aj hlavný dôvod prečo sa SH rozhodol postaviť si taktiež svoj pracovný TOPP programátor a teda aby sme vedeli porovnať vzájomné rozdiely.
Zásadnou vecou ktorá komplikovala funkčnosť programu sú trvale pripojené 1nF kondenzátory na pinoch 6520 v samotnom počítači - či je to už v režime vstupu a výstupu. Na to aby sa zo signálom dalo rozumne pracovať (a aj ho spracovať) bolo potrebné do cesty zaradiť TTL obvod 74LS14 ktorý jednoznačne definuje dobu prechodu z jednej úrovne na druhú, proste Schmittov klopný obvod nasadený v praxi, toto bola vec naozaj zásadná. Ďalšou vecou ktorá je rozdielna medzi 600XL a 800XL je to že 600-ka nemá pred spomenutými kapacitami zaradené odpory 100Ω, zato 800XL ich v sebe má, sú použité aj v rade XE.
Práve tieto veci a mierne odlišné generovanie jednotlivých signálov spôsobujú že pre jednotlivé typy počítačov treba voliť celkom iné nastavenie prepínačov D1÷D4 a aj prípadné zapojenie kapacity C18 (A800XL).
Postavil som 2 verzie základnej dosky TOPP, dôvod uvediem v ďalšom. Po postavení prvej verzie som zistil že mi z neznámych príčin "odchádza" druhý čip 4094 v poradí (je označený v schéme ako IC3), dokonca aj vtedy keď jeho vývody na ZIF päticu v doske ešte neboli vôbec zapojené. Zopakovalo sa to aj po postavení celého zapojenia (ešte 2x mi na tomto mieste "odišiel" čip 4094). Priznám sa že doteraz na to nemám celkom jasné vysvetlenie (teda predpokladám blbú radu obvodov 4094), ale nakoplo ma to tak že som celé zapojenie postavil ešte raz kompletne nanovo ... zase to stálo čas, súčiastky a ďalšie úsilie.
Vďaka týmto mojím problémom sa SH rozhodol a postavil na univerzálke aj svoju testovaciu verziu programátoru - pričom sa s mojimi problémami vôbec nestretol ... tak to ma iritovalo zo všetkého najviac. Kde sa stala chyba ? Postupne som to ale zistil a našiel som kde bol problém.
Po postavení druhého kusu som do neho zohnal ďalšie obvody 4094 - ale už od iného výrobcu (teraz mám nasadené čipy od výrobcu ST s označením HCF4094BE) a tu sa mi už nestalo ani jeden jediný krát že by mi niektorý čip 4094 "odišiel do kremíkového neba" (tieto čipy sú v programátore doteraz, bez jedinej výmeny) ..., tak to bola úľava. Samozrejme že mi to nedalo a použil som čipy z tejto novej várky aj do svojej prvej postavenej verzie programátoru - a problém z likvidáciou čipu 4094 na druhej pozícii v poradí sa už nikdy neobjavil, takže vďaka tomu mám teraz 100%-nú istotu že som aj v prvom zapojení programátoru nemal žiadnu chybu. Mať tieto čipy k dispozícii už od začiatku - ušetrilo by mi to minimálne týždeň života ...
Môj pravdepodobný záver je taký že mám teraz prevedenie čipu 4094 od iného výrobcu ktorý nie je náchylný na niektoré javy ktoré sa tu môžu vyskytnúť - rozumnejší záver nemám.

Pomocná doštička pre kontrolu signálu CS a zmeny napájania +5V na +10.5V a naopak.
Pre pohodlné meranie priebehov PGM pulzu a teda CS=0 alebo CS=1, +5V, +10.5V som si vytvoril pomocnú doštičku kde som sa pripájal pomocou osciloskopu a teda tu som si kontroloval potrebné priebehy. Pretože na ZIF pätici mám trvale pripojenú kapacitu M1 tak tá by mi bez pripojenej záťaže (PROM) pri meraní skresľovala priebehy pri prechode z +5V na +10.5V a naspäť - tak som si vytvoril umelú záťaž v podobe 4x 470Ω zapojených paralelne, čo mi nahrádza založenú PROM do pätice. Krpaté riešenie, ale je to plne funkčné - žeby som to nazval emulátorom PROM ? (ale to určite nie ...).

Pomocná doštička pre kontrolu signálu CS a zmeny napájania +5V na 10.5V a naopak.
No a idem na to čo som spomenul už na začiatku - ako sa dosiahol stav že program funguje taktiež na počítačoch rady Atari 600XL, Atari 800XL a teda nielen na rade počítačov XE. Pri riešení tohto problému som dosť dlho zlyhával, pretože som do prvého programátoru osadil naraz štvoricu odporov 4k7 ktoré boli trvale pripojené na pinoch 1,2,3 a 4 na konektore CANNON - toto ale ako sa ukázalo k funkčnosti nijako pozitívne neprispelo, hja - chybami sa človek učí ... ale že to dá občas poriadne zabrať než sa na problém (chybu) príde ... takže tu pomohlo osadenie štvoritého DIP switchu D1÷D4, kde je teraz možné túto štvoricu odporov pripojiť alebo odpojiť. Ako sa postupom doby ukázalo, stači "cvičiť" pri nastavovaní iba zo switchmi D1÷D3, switch D4 zostáva trvale pripojený. Tak isto som v začiatkoch osadil na mieste kapacity C16 kondenzátor 22uF/10V (obyčajný elektrolyt) spolu s keramikou 100nF - čo sa ukázalo ako nedostačujúce. Tu treba nasadiť a použiť tantalovú kapacitu, minimálnej hodnoty 47uF a "zázračne" veľa problémov zrazu zmizlo a niektoré javy taktiež ustúpili do pozadia - a ušetrilo by mi to taktiež hóooodne času pri začiatočnom oživovaní ... teraz to už viem - a aj Vy.

Na fotografii vpravo hore je vidieť 5-miestny jednoradový konektor do ktorého sa pripája switch D1÷D4 spolu
s odporovou sieťou RF3. Nachádza sa hneď vedľa konektoru pre pripojenie na joyport2.
Počas stavby sa vyskytlo toľko neznámych a toľko zavádzajúcich zistení (a prekvapení) že som mal 2x obdobie kedy som chcel úplne "hodiť flintu do žita" a vrátiť sa naspäť k riešeniu cez PBI zbernicu. Našťastie, vždy mi pomohlo byť pár dní bez počítača a potom nasledovala ďalšia komunikácia z SH. To ma zase priviedlo k tomu že som bol problémy zase ochotný riešiť, nájsť a doriešiť. A SH taktiež pomohol pri testovaní, kontrole a úprave mojich podprogramov. Stano - máš to u mňa ! Bolo to časovo hodne, naozaj hodne náročné a tých prebdených nocí bolo taktiež viac ako by som si prial - hlavne to bolo dané problémami s rozličnými typmi počítačov a ich rozdielnym správaním sa pri testoch. Ak by sme sa sústredili iba na XLF a XE radu tak TOPP programátor mohol byť uvoľnený možno pred pol rokom ... No, nakoniec sa z toho predsa len stalo použiteľné zariadenie aj pre radu XL.
Ešte dodám - vyzerá to tak, že odber zariadenia pri pálení bitu neprekračuje hodnotu 450mA, takže 12V/DC/1A zdroj skutočne s bohatou rezervou postačuje (v niektorých materiáloch sa hovorí aj o čísle 750mA, ale to bude naozaj iba nejaká hraničná hodnota nepodareného kusu). Tento zvýšený odber je naozaj krátkodobý - je to iba do okamžiku prepálenia internej prepojky v čipe, čiže reálne a štandartne sa nejedná o číslo ktoré trvá dlhšie ako pár milisekúnd.
Na záver pridávam ešte pár fotografií:

Prvá verzia TOPP, ešte stále bez osadenia čipu 74LS14, na začiatku sa s ním na doske nerátalo. Nakoniec som ho tam taktiež dostal, ale miesta na jeho osadenie už veľa nezostalo ... Pekne vidieť odlišné rozmiestnenie súčiastok na tomto programátore a inak umiestnený konektor pre pripojenie na joystickový port č.2.

Druhá verzia TOPP - oživovacie testy, konektor je tu už pootočený v uhle 90°. Tu som testoval správnosť údajov na riadiacom čipe IC2. Tento stav sa "normálne" nedá dosiahnuť, bolo to prepojené takto iba v rámci testu oživovania. (Normálne ak svieti červená LED tak musí svietiť aj modrá LED ... vid ďalší obrázok kde je to už prepojené tak ako treba.)

Druhá verzia TOPP - oživovacie testy.
Na týchto snímkoch ešte nie sú osadené všetky ďalšie doplnky na doske ktoré sa objavili počas realizácie.

Pod páčky ZIF pätičiek prišli gumové podložky.
Tu je už tých súčiastok na doske predsa len viac.

Ako vidieť kapacitami sa na doske nešetrilo ...

Tu je už osadený inak riešený DIP prepínač. Pri testovaní bol ale predchádzajúci switch lepšie otočený,
hodilo sa to pri potrebnom častom prepínaní, teraz to už tak intenzívne prepínať netreba.

Tento pohľad je už dosť známy.

Pracovná verzia TOPP - autor SH, je to urobené na menšej doske.
Šedý hranol s označením RGK je 12V jazýčkové relé.

Pracovná verzia TOPP - autor SH. Ako vidieť Stano osadil ZIF pätice v poradí ako na schéme, čipy sú osadené "opačne" oproti mojej verzii, dtto sa týka ZIF pätíc, LED-ky sú tu osadené v inom poradí, funguje to samozrejme taktiež, na univerzálke doske to nie je problém.
Touto časťou končí tento miniseriál, ak ešte bude nejaké pokračovanie tak to budú nové, rozšírené verzie programového vybavenia. Pôjde to stále priamo v TB, pretože to vyzerá tak že ak to chcem skompilovať tak v kompilátore stále narazím na nejaký ďalší skrytý bug (nevypíše sa žiadna chybová hláška, len to proste nerobí presne to čo má). Nevadí to, TB je na použitie dostatočne rýchly. A už je načase robiť aj niečo iné, mám rozpracované nejaké tie ďalšie verzie programu s rôznymi doplnkami, teda teraz sa sústredím na ich postupné dokončenie.
___________________________________________________________
Prvá časť:
TOPP - Tesla Old PROM Programmer for Atari 8bit. Part1.
Druhá časť:
TOPP - Tesla Old PROM Programmer for Atari 8bit. Hardware. Part2.
Tretia časť:
TOPP - Tesla Old PROM Programmer for Atari 8bit. Software V.1.0. Part3.
Štvrtá časť:
TOPP - Tesla Old PROM Programmer for Atari 8bit. Picture manual. Part4.
Piata časť:
Práve ju sledujete ...
Šiesta časť:
TOPP - Tesla Old PROM Programmer for Atari 8bit. Software V.1.1. Part6.
Siedma časť:
TOPP - Tesla Old PROM Programmer for Atari 8bit. Software V.2.0. Part7.
Časť číslo osem:
TOPP - Tesla Old PROM Programmer for Atari 8bit. Software V.2.1. Part8.
__________________________________________________________

Vaše hodnotenie, Rate post: