
Stále si musím pripomínať že úpravu programového vybavenia pre programátor 74188 už nebudem prevádzať - človek mieni, život mení. Napaľoval som jednu PROM 74188 a (konečne !) sa objavila jedna chyba - nešiel napáliť jeden jediný bitík. Nepomohlo ani nové spustenie programu, dĺžka PGM pulzu =17ms proste bola krátka pre túto konkrétnu PROM, odolávala zmene obsahu v tomto smere naozaj bohatiersky. Pomohlo až dodatočné predĺženie programovacieho pulzu na novú hodnotu a to hodne vysokú =50msec. Toto som si ako autor programu pre tento prípad upravil naozaj jednoducho, ale nebolo by to asi jednoduché pre normálneho usera - a to už bolo len krok od toho aby som prekopal doterajší program ešte viac k obrazu svojmu a pridal tam (mimo iného ) aj možnosť zmeny dĺžky PGM pulzu. A vďaka tejto úprave mám naďalej čisté konto napálených PROM - ani jedna doteraz nebola taká že by mi nešla nakoniec správne napáliť, naozaj je to celkom slušná úspešnosť - 100%.

Len dodám že všetky PROM 74188 čo používam a teda čo som kedy s týmto programátorom napaľoval sú iba z produkcie firmy TESLA. A toto bol prvý kus (po cca 50-tich), kde sa objavil problém. PROM 74188 od iného výrobcu nemám k dispozícii.
Autor nenesie žiadnu zodpovednosť za škodu ktorá vznikne
zničením PROM pri nesprávnom použití programátoru !

Zmeny oproti verzii V.1.04e:
- "medzistupňová" verzia 1.04f zostáva neverejná, postupne som ale v nej prevádzal úpravy ktoré sú už aplikované do uverejnenej verzie 1.04g
- pri spustení sa objavuje logo SBC6502, nasleduje aj úprava vzhľadu hlavného menu, nakoniec som sa vrátil k pôvodnému konzervatívnemu vzhľadu, ďalej sa zvýšila celková "blbyvzdornosť" programu pri jeho ovládaní
- našiel som bug pri manuálnom vstupe dát v dec tvare, ak sa zadali chybné vstupné údaje a vypísala sa chyba, prejavila sa tak že podprogram po načítaní 32byte dát obsahu budúcej PROM neukončil načítanie dát z klávesnice, ale pokračovalo sa v čítaní dát ďalej. Problém bol v použití rovnakej premennej ktorá bola volaná aj iným podprogramom, t.j. prišlo k prepísaniu pôvodne nastavenej hodnoty ktorá čítala potrebný počet bytov. Chyba je už v programe odstránená.
- všetky údaje pre konkrétnu verziu podľa rýchlosti taktu x-talu sa nachádzajú na začiatku programu už iba v 3 riadkoch 1002 až 1004, t.j. tu sú sústredené všetky potrebné hodnoty pre konkrétnu danú verziu, nie je to "rozťahané" po celom programe, pričom platí:
U - konštanta pre prepočet rýchlosti ktorá platí pre hodnotu dĺžku pulzu =1msec,
(platí vždy pre konkrétny použitý x-tal), využíva sa pri voľbe (L)
DV - konštanta, ktorá prepočítava všetky čakacie programové slučky (okrem vlastného PGM pulzu),
ktoré sa nachádzajú sa v programových riadkoch 2000÷2100, (zase platí pre konkrétny použitý
x-tal)
PP - premenná, ktorá nastavuje štandartne dĺžku PGM pulzu na 17ms (vzorec: PP=17*U)
(platí vždy pre konkrétny použitý x-tal)
LG - premenná, (new PGM pulse) ktorá určuje dĺžku PGM pulzu pre druhé kolo programovania, je to
výsledok PP=PP*LG, t.j. ak je LG=2 potom je dĺžka dvojnásobná, ak je LG=1.5, tak v druhom
kole bude výsledný PGM pulz 1.5x dlhší atď. (štandartná hodnota je nastavená na = 1.5, mala
by sa pohybovať medzi číslom 1÷2, krok je povolený v desatinách, toto sú všetky povolené
hodnoty pre LG: 1, 1.1. 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2 - žiadne iné hodnoty nie sú
akceptované ! /kontroluje sa to/
Ak je LG=1 tak potom je dĺžka PGM pulzu v druhom kole totožná s prvým kolom, nepredlžuje sa !
Skúsenejší si môžu východiskové nastavenie parametrov nastaviť sami:
(uvedené príklady platia pre x-tal = 4.000MHz)
príklad nastavenia priamo v programe 1:
17msec pulz, PGM pulz pre druhé kolo =1.5 násobok 17msec, t.j. =25.5msec
1002 U=2.53:DV=5:PP=17*U:LG=1.5:Z$="ver.1.04g
(toto je štandartné nastavenie programu verzie 1.04g)
príklad nastavenia priamo v programe 2:
15msec pulz, PGM pulz pre druhé kolo =1.4 násobok 15msec, t.j. =21msec
1002 U=2.53:DV=5:PP=15*U:LG=1.4:Z$="ver.1.04g
príklad nastavenia priamo v programe 3:
10msec pulz, PGM pulz pre druhé kolo =2 násobok 10msec, t.j. =20msec
1002 U=2.53:DV=5:PP=10*U:LG=2:Z$="ver.1.04g
- do hlavného menu pribudla nová položka (L), tu je možné manuálne zmeniť vlastnú dĺžku programovacieho pulzu v rozmedzí 1-100ms, pozor, táto zmena je funkčná v programe až do jeho nového spustenia, po novom spustení programu (príkazom RUN) sa vždy nastaví východzia hodnota daná uloženými údajmi v riadku 1002, údaj o dĺžke nastaveného pulzu sa zobrazuje v hlavnom menu (práve toto pokrýva tú možnosť ak niektorá PROM 74188 nejde bezchybne naprogramovať pomocou krátkeho PGM pulzu), datasheet definuje dĺžku PGM pulzu na hodnotu v rozmedzí 1÷20ms
- ďalšia zmena nastáva pri programovaní, t.j. ak nezbehne bezchybne prvé kolo naprogramovania tak sa dĺžka programovacieho pulzu automaticky predlžuje na hodnotu rovnú 1.5 násobku pôvodne nastavenej hodnoty, potom sa spustí druhé kolo naprogramovania PROM. Ak nezbehne bezchybne napálenie ani po tomto predĺžení programovacieho pulzu v druhom kole programovania tak je PROM vyhodnotená ako zlá (toto zostalo tak ako doteraz) a program sa ukončí
- pribudla možnosť priamo v riadku 1002 si zadefinovať o aký násobok pôvodnej hodnoty PGM pulzu sa predĺži v druhom kole programovania samotný PGM pulz (premenná LG). Toto som nezaradil do menu, pretože s týmto by mal manipulovať len ten čo vie čo robí. Násobok hodnoty je uložený priamo v programe, t.j. po novom reštarte programu nastavená hodnota sa nemení. Výsledná hodnota nastavenia PGM pulzu pre druhé kolo programovania sa zobrazuje priamo v menu. Ak zadáme správne číslo v povolenom rozsahu zobrazí sa programové menu a môžeme pokračovať.
- ujednotená chybová hláška, doteraz boli samostatné hlášky pre dec a hex vstup a tiež pre vlastnú dĺžku PGM pulzu, teraz už toto spracováva iba jedna rutina, predtým toto bola daň za snahu o samostatné modulové riešenia na začiatku tvorby programu (platilo to ešte vo verzii 1.04f)
- oneskorovacie slučky (tie mimo PGM pulzu) v programe boli tak isto ujednotené, ich ovládanie sa teraz už prevádza len cez jednu premennú (DV)
- hidden voľba (I) - zrýchlený vstup do Backdoor helperu, umiestnenie (I) v menu bolo presunuté teraz vpravo nahor
- pridaná nová, ďalšia hidden voľba (G), umiestnenie (G) je vpravo hore pod voľbou (I), voľba zobrazí v menu číselné hodnoty: U, DV, PP a LG
Túto voľbu je možné vyvolať kedykoľvek z menu, výpis potom v menu zostáva aktívny až do nového príkazu RUN, neovplyvňuje žiadne parametre vlastného programu (pridané do programu 18.05.2021)

Zobrazené obsahy U, DV, PP, LG priamo v menu po stlačení (G)
- pridaná kontrola nastavenia konštanty LG pre prepočet dĺžky druhého PGM pulzu, kontroluje či je použitý rozsah hodnôt od 1 až 2 v rozostupe desatinných čísel v tomto rozsahu (iné údaje tu nie je možné použiť, spôsobia že program končí svoju činnosť a upozorní na chybu, viď vlastný popis LG, pridané do programu 18.05.2021)
- informácie o nastavenej dĺžke PGM pulzu + predĺžený PGM pulz pre druhé kolo sa zobrazujú priamo v menu programu
- vďaka všetkým možným úpravám sa dĺžka programu pohybuje okolo cca 19.818 byte (x-tal = 4.000MHz), miesta je pritom stále dosť pretože sa ukladá tokenizovane, program reálne v pamäti SBC6502 zaberá o cca 4.5kByte miesta menej

Použitie nastavenia hodnoty väčšej ako 20msec. je už na Vašom zvážení a Vašom riziku !
(Program na toto upozorní), nastavená hodnota 17msec. vyhovuje vo väčšine prípadov.
(napríklad: nastavíme trvale novú hodnotu =20msec, zapíšeme PP=20*U)
Tu je už len paradoxom väčšie použité číslo na naprogramovanie (t.j. dlhší PGM pulz), pretože ak obsah nebude v poriadku do pulzu =20msec tak máte tri možnosti:
a. - PROM vyhodiť
b. - predsa len skúsiť predĺžiť PGM pulz, pretože ak to neskúsite zostáva už iba možnosť a. (...)
c. - ak použijete programovací pulz dlhší ako 10ms tak v druhom kole (teda - ak nastavíme PG=2) už zaručene idete nad limit 20ms, čiže celé je to potom taká malá hlava XXII priamo v praxi (mne to obsah PROM nepokazilo ani pri PGM pulze =50msec a zachránilo PROM pre jej ďalšie použitie, zbehlo to potom priamo bez chýb už v prvom kole)
Ak natrafíte na PROM 74188 ktorá z interných príčin čipu odoláva správnemu naprogramovaniu aj pri nastavenom 20msec pulze tak nejaký veľkú možnosť výberu nemáte, len naozaj skúsiť pulz predĺžiť (možnosť b.), pritom určite je problém priamo v PROM a nie v samotnom programátore.

P.S.: tieto fotky vznikli vďaka mojim vnúčatám,
ktoré "vylepšovalli" čo sa dalo (a na čo mali dosah).



Nejaké tie printscreeny programu:

Obrazovka po stlačení (L) - zmena dĺžky programovacieho pulzu.

Zmena dĺžky programovacieho pulzu na hodnotu =25msec spolu s upozornením
na prekročenie dĺžky pulzu oproti údajom v datasheete .

Ukážka prvého programovacieho kola (PGM pulz nastavený na 25msec).
Nasimulovaná chyba programovania - aby sa spustilo 2 kolo.

Druhé kolo, PGM pulz automaticky = 1.5 násobok 25ms, t.j. =37.5msec.
Nasimulovaná chyba programovania.

Takto vyzerá bitová analýza ak je zlý obsah PROM, nepríde k jej správnemu naprogramovaniu
(nasimulované) a tým pádom príde k ukončeniu programu.
Takže som zase sedel u programu nejaký čas, samého ma prekvapuje kam sa to postupne uberá, ale tie pridané funkcie sú skutočne dobre použiteľné. A postupne to pekne krásne utešene bobtná a bobtná a priberá na dĺžke. No a čo na záver ? Odporúčam používať túto najnovšiu verziu programového vybavenia. Pomaly začínam chápať prečo TESLA považuje číslo 90% správne napálených čipov za dobré a 10% čipov za odpad pri normálnom napaľovaní za prijateľné, proste rozptyl pri výrobe sa prejavuje tým, že niektoré PROM 74188 potrebujú o poriadny kus väčší napäťový a prúdový "šťuchanec" do svojej štruktúry aby prepálili nami požadovanú prepojku. Záverom len skonštatujem - ešteže sa napokon štatistika prejavila - i keď omnoho neskôr ako som čakal (a v podstatne menšej miere), ale nakoniec aj toto sa dalo zvládnuť. (Už mi to začínalo byť naozaj divné, že mne neblbne ani jedna PROMka, teraz som už spokojný.)
Program - verzia 1.04g je pre x-tal:
1.8432MHz
2.4576MHz
4.0000MHz
4.5000MHz
5.0000MHz

version 1.04g.zip (33,01 kb)
____________________________________________________________
Posledné, najnovšie programové vybavenie - verzia 1.09 je uverejnené v tomto článku:
http://blog.3b2.sk/igi/post/SBC6502-56-PROM-74188-last-best-program-v109-lite.aspx
V článku /na jeho konci/ sú uverejnené všetky vydané verzie programového vybavenia pre programátor PROM 74188.
____________________________________________________________
Návrat do všetkých pokračovaní o SBC6502:
http://blog.3b2.sk/igi/post/SBC6502-0-UvodIntroduction.aspx
_____________________________________________________
Vaše hodnotenie, Rate post: