SBC6502 - 48 - PROM 74188 - program v.1.04 - + adresy programu.

By Administrator at February 21, 2021 18:47
Filed Under: SBC6502

 

A mám tu poslednú verziu (dúfam že je to na dosť dlho) programu pre programátor pamätí  PROM 74188 - 1.04. Program sa rozrástol, poskytuje omnoho viac informácií (a možností) a snažil som sa aj o to aby bol graficky viac upravený. Nakoniec, popis - t.j. vlastný manuál je zverejnený v predchádzajúcom článku ako inštruktážne video takže by to malo byť vcelku prehľadné. Než tu ďalej program uverejním, tak by som rád doplnil ešte niekoľko doplňujúcich informácií - pre tých, ktorí sa radi vyznajú v tom s čím robia.

 

Autor nenesie žiadnu zodpovednosť za škodu ktorá vznikne

zničením PROM pri nesprávnom použití programátoru !


V prvom rade som zmenil v programe sekvenciu na programovanie, predtým tam bolo niekoľko podprogramov ktoré plnili túto úlohu, teraz je to podprogram jediný. Vďaka tomu sa zmenilo aj číslovanie riadkov, teraz namiesto už neexistujúceho riadku 3750 určuje dĺžku programovacieho pulzu riadok 7450. Je to spôsobené tým že som niektoré časti programu doslovne "prekopal" a vďaka tomu je teraz program kompaktnejší - vypadli celé časti riadkov a pribudli ďalšie veci v programe. Pre usera to ale nie je až tak dôležité, pretože pre rôzne rýchlosti x-talu poskytujem už kompletné programy, t.j. stačí ho spustiť a pri štandartnom používaní netreba pátrať kde čo je v programe a ako umiestnené. Nakoniec - vysvetlivky sú priamo v programe umiestnené v REM riadkoch. Síce je vďaka tomu program o niečo dlhší, ale nechcel som aby sa dalo v programe ľahko "stratiť". Program je určený na napaľovanie jednotlivých kusov PROM 74188, nie je to zamerané na nejaké masové použitie (to naozaj asi v dnešnej dobe nehrozí, že), ale ak raz nahráme potrebné údaje do Data riadkov a spustíme výber (W) - write, tak dokážeme napaľovať akékoľvek množstvo potrebných PROM 74188, len musíme vždy potvrdiť nanovo že použijeme vložené konkrétne Data riadky.


Pretože programujú sa len jednotky (1) vo vlastných bitoch, nula (0) sa do pamäte PROM neprogramuje - z toho vyplýva že algoritmus napaľovania je tým rýchlejší čím viac núl (0) je vo vlastných 32 byte rozložených na jednotlivé bity - toto je zdôraznené aj vo video manuáli. Spomínam to preto aby vďaka tejto vlastnosti niekto nezačal byť prekvapený že niektoré PROM sa napália hodne rýchlo (teda tie kde sú skoro samé (0) a tie PROM kde sú skoro samé (1) sa napaľujú pomalšie.

 

Pozrime si prevedené zmeny v programe verzia 1.04 (oproti verzii 1.03):

 

01. - celkové komplexné zlepšenie vzhľadu programu, úprava textov

02. - vylepšenie ochrany pred vstupom chybných dát v režime (H)

03. - zmena výpisu verifikácie PROM, predtým výpisy v riadkoch, teraz je to všetko na jednej obrazovke - buď je napálená PROM O.K. alebo je obsah v nej zlý (teda inak povedané je blbý), medzitým žiadna iná možnosť neexistuje, pre takéto riešenie som sa rozhodol pretože napaľovanie PROM prebieha doteraz maximálne uspokojivo

04. - pri problémovej PROM je na konci programovania po dvojnásobnej verifikácii ešte navyše následne spustená bitová analýza a program sa ukončí hláškou že je v programátore chybná PROM - po tejto hláške je ju možné naozaj hodiť do koša ... (táto bitová analýza nie je zobrazená vo video manuáli, pretože ma napadlo zaradiť ju do programu až po jeho nahratí)

05. - režim (S) - pridal som možnosť bitovej analýzy obsahu PROM voči údajom dodaným z DATA riadkov
06. - do bitového analyzéru som pridal porovnanie jednotlivých byte - teda pribudli znamienka = a <>

07 .- pridaná možnosť (I) - pod (S) tzv. Backdoor rutina kde môžeme namiesto vstupu načítania PROM voliť aj ručné zadanie dát - ak nie je PROM momentálne dostupná, pozor - toto je naozaj len pre skúsenejších !

08. - program rozpoznáva že je práve v režime ručne zadaných dát, tak isto rozpoznáva ak sme prečítali na preprogramovanie údaje z PROM, ak je to potrebné tak sa zase cez Backdoor rutinu vieme vrátiť do východzieho stavu kedy rušíme (S) a (P) - PROM na preprogramovanie, alebo (S) a (I) - ručné zadanie dát namiesto vloženej PROM

09. - do programu pridaná bitová analýza, toto sú jej možnosti:

      a. - porovnanie obsahu PROM voči DATA riadkom

      b. - porovnania ručne zadaných dát voči DATA riadkom

10. - pridaná možnosť priamo z menu spustiť skrytú (hidden) voľbu (I), t.j. priamo z menu skok na Backdoor rutinu, to je taká moja blbôstka, neodolal som

11. - voľba spustenia režimu (W) je blokovaná ak je aktívne manuálne zadanie dát (Manual Data) ktoré je aktivované cez (S), následne (I), alebo priamo z menu (I) pomocou hidden voľby, ak ideme cez (S) tak je tam možnosť zápisu - ale nie cez voľbu (W), pretože tá si kontroluje či je založená čistá PROM

12. - kompletne "prekopaná" programová časť ktorá má na starosti zápis dát do PROM, doteraz to riešilo niekoľko vnorených podprogramov, teraz to rieši podprogram jediný

13. - iné riešenie zobrazenia zápisu bytov do PROM (zmestí sa kompletne celé teraz iba do jedného okna)

14. - skrátenie času kedy sa čaká po zapnutí relé (ktoré pripojí napájanie na vlastnú PROM) o 33%, t.j. vďaka tomu je rýchlejší aj výsledný zápis


 

Poznámka:

Kto chce program len používať, t.j. chce s ním pracovať bez potreby nejakých ďalších znalosti čo sa vovnútri programu deje - odporúčam preskočiť nasledujúce 2 odstavce a môžete si priamo stiahnuť program v.1.04 a použiť priamo s programátorom PROM 74188.

_____________________________________________________

 

Dôležité adresy v programe v.1.04 pre programátor PROM 74188:


31000(d) ; I          32 byte - obsah = Data riadky 9001 ÷ 9004

    ...       ; I    Vždy sú tu uložené iba údaje z týchto Data riadkov ! 

    ...       ; I            Údaje sú vždy nanovo načítané ak je na

    ...       ; I                    displeji zobrazené MENU.

    ...       ; I    Tu sa vždy nachádzajú  DATA ktoré sa programujú

31031(d) ; I                                 do PROM 74188.

                   ______________________________________________________

31032(d) ; I   rozklad - one byte to bit 0, pozícia bitu

31033(d) ; I   rozklad - one byte to bit 1, pozícia bitu

31034(d) ; I   rozklad - one byte to bit 2, pozícia bitu

31035(d) ; I   rozklad - one byte to /bit 3, pozícia bitu

31036(d) ; I   rozklad - one byte to /bit 4, pozícia bitu

31037(d) ; I   rozklad - one byte to /bit 5, pozícia bitu

31038(d) ; I   rozklad - one byte to /bit 6, pozícia bitu

31039(d) ; I   rozklad - one byte to /bit 7, pozícia bitu
                   ______________________________________________________

31040(d) ; I   nepoužité

31041(d) ; I   nepoužité

31042(d) ; I   nepoužité

31043(d) ; I   nepoužité
                   ______________________________________________________

31044(d) ; I  Ak je obsah=0 alebo= 36, potom nie je aktivovaný režim ručné zadanie

                   dát, ak = 166 potom je aktivované ručné zadanie dát pre režim prepro-

                   gramovania pôvodnej PROM 74188

                   ______________________________________________________    

31045(d) ; I   nepoužité

31046(d) ; I   nepoužité

31047(d) ; I   nepoužité

31048(d) ; I   nepoužité

31049(d) ; I   nepoužité
                   ______________________________________________________

31050(d) ; I  Voľba (S) a (P) - 32 byte - prvá možnosť:

    ...       ; I   Načíta sa sem založená PROM 74188 určená na preprogramovanie

    ...       ; I   a môžeme analyzovať obsah PROM voči Data riadkom (9001 ÷ 9004)

    ...       ; I   Voľba (S) a (I) 32 byte - druhá možnosť:

    ...       ; I   Bez vloženej PROM sem môžeme ručne (mód - Manual Data) zapísať

    ...       ; I   údaje, potom môžeme analyzovať obsah ručne vložených dát voči
31081(d) ; I   údajom z DATA riadkov (9001 ÷ 9004)

                   ______________________________________________________   

___________________________________________________________


Nasleduje dôležitá poznámka k použitiu voľby (S) - t.j. preprogramovanie PROM 74188 ktorá už obsahuje data:

 

Ideálna na preprogramovanie je PROM 74188 ktorá obsahuje niekoľko nepoužitých výstupov.

 

Vtedy je to naozaj jednoduché.  Ale zmeny sa dajú urobiť aj vo "viac naplnenej PROM)", dá sa to - ukážem teraz konkrétny príklad na jednom jedinom byte:

 

- predstavte si že je v tomto byte v PROM 74188 uložená hodnota 7 (dec) t.j. binárne = 00000111

- potrebujeme tu ale zapísať 8 (dec) čo je binárne = 00001000

- lenže prepísať jednotkový bit nedokážeme, takže do PROM musíme zapisovať pôvodných 7 plus 8 nových,

  t.j.  zapisujeme hodnotu =15 (dec) čo je binárne = 00001111

 

Na toto pozor, pretože ak takýto zápis nedodržíme, nebude program schopný správne verifikovať napálenie preprogramovanej PROM ! - práve pre toto by režim preprogramovania PROM mal používať len naozaj veci znalý user. Niektoré PROM proste nepôjdu preprogramovať pretože buď majú málo voľných bitov, alebo sú voľné bity v tak nevhodnom usporiadaní že to proste nepôjde - aj s tým treba počítať a práve na toto je tam analyzér bitov ktorý zobrazí Data z riadkov a zobrazí PROM data, alebo tam namiesto PROM dát zapíšeme data v ručnom móde (manual mod). Porovnáme, urobíme si záznam čo by tam bolo treba a potom výsledky nášho snaženia uložíme do DATA riadkov - ak je to O.K., môžeme spustiť preprogramovanie PROM 74188.

 

P.S.:      Ak ste neporozumeli funkcii (S) tak ju radšej nepoužívajte !

Stále je to len doplnková funkcia ktorá nemusí všetkým vyhovovať,

pritom pokiaľ viem takúto funkciu žiaden programátor PROM 74188

doteraz neposkytuje.

 

Program, verzia 1.04 :

74188 programmer 1_8432MHz_v104.txt (17,71 kb)

74188 programmer 2_4576MHz_v104.txt (17,68 kb)

74188 programmer 4_0000MHz_v104.txt (17,68 kb)

74188 programmer 4_5000MHz_v104.txt (17,68 kb)

74188 programmer 5_0000MHz_v104.txt (17,68 kb)

 ____________________________________________________________

25.02.2021

 

 

Používam nasledovný postup pri programovaní:

 

1. - do programu nahrám potrebné DATA riadky s obsahom potrebným na napálenie do PROM 74188, toto treba urobiť ako prvé, po spustení programu vidím popis čo je v DATA riadkoch

2. - založím do pätičky čistú (blank) PROM 74188

3. - volím zápis, (W) - write, pri tejto voľbe automaticky pred programovaním prebieha kontrola či máme založenú čistú PROM

4. - potvrdím povolenie zápisu, zbehne naprogramovanie PROM

5. - po napálení zbehne verifikácia PROM, ak je všetko O.K. po chvíli sa program vráti do menu, PROM 74188 môžem vybrať z pätičky a následne ju výrazne označím tak, aby som vedel že je už naprogramovaná (najlepšia je samolepka s popisom)

6. - ak je problém a PROM 74188 sa nedá naprogramovať - program sa ukončí hláškou ktorá potvrdí že je PROM 74188 chybná, zatiaľ sa mi to nestalo (je to málo pravdepodobné, z cca 50 kusov čo som doteraz na tomto programátore napálil zatiaľ ani jedna PROM neskončila chybovou hlášku, všetky sa podarilo úspešne naprogramovať)

7. - ak je treba napáliť rovnakú PROM 74188 akciu môžem zopakovať a idem na bod (2)

 

Záverom jedna "blbinka":

V programe je časť pomenovaná Igi´s Backdoor Helper. Pekné, ale po nahratí programu do počítača vlastný SBC6502 vždy prepíše Igi´s na Igi4s. Tak som sa vďaka tomu vybodol na gramatiku a v listingu a teda aj v programe som použil jednoduchšiu verziu - slovíčko Igis, toľko na vysvetlenie. Ale je možné že to niekedy v budúcnosti opravím.

(Aj SBC6502 dokáže byť poriadne "tvrdohlavý. Foot in mouth)

____________________

 

Poznámka:

S programom som mal pred pár dňami problém, po naozaj iba kozmetických (vzhľadových) posledných úpravách mi v ňom prestalo fungovať programovanie - teda voľba (W), nie a nie na to prísť kde je problém. Potom stačili dva dni kedy som si dal od programu dôslednú pauzu a po novom zasadnutí k počítaču som za chvíľu miesto problému identifikoval. Píšem v notepade, často používam CTRL+F (Find) a podarilo sa mi vďaka mojej nepozornosti do jednej dôležitej premennej o dĺžke 2 znakov "dosadiť" do jej stredu ďalšie písmeno "F" - a neplecha bola na svete. Našiel som to tak že som si nechal vypisovať obsahy premenných. Blbina, ale dala zabrať. Fakt dať si občas pauzu pomáha, vtedy si to viem celé nechať "prejsť" v hlave a viem si vytýčiť čím mám zase pri hľadaní problému začať a postupne viem zredukovať nájdenie problému na pár postupných krokov. A pretože celý program píšem priamo iba v ntb a nemám urobený žiaden listing na papieri (frajer ...) - o to horšie sa mi problém hľadal. Síce som listing na displeji prešiel párkrát celý rad zaradom, ale toto som prehliadol, proste klasika ak v niečom trčíte príliš dlho tak zaručene problém prehliadnete. No - ale je to za mnou, ten minulý týždeň "blbec" mi dal zabrať - a to aj v iných smeroch.

 ____________________

Nová Murphyho definícia (Igi 02/2021):

Ak dostatočne dlho programujete a potom hľadáte chybu v listingu programu na displeji - tak chybu zaručene nenájdete.

 ____________________________________________________________

30.10.2021

Najnovšie programové vybavenie - verzie 1.07 je uverejnené v tomto článku:

SBC6502 - 52 - PROM 74188 - best program v.1.07.(lite)


Programové vybavenie je funkčné výhradne zo zapojením programátoru uvedeným na tejto stránke:
SBC6502-33-Programator-PROM-74188-PROM-74188-programmer-Part-1-4.

_____________________________________________________

Vaše hodnotenie, Rate post:

Comments

2/21/2021 6:50:44 PM #

trackback

Directory SBC6502

Directory SBC6502

Igi blog |

Comments are closed

Info o autorovi

Volám sa Igor Gramblička, bydlisko: Bratislava, Slovakia. Môj nick: Igi. Blog je o mojich záujmoch, predtým som pracoval ako IT špecialista na počítačové siete a redakčné systémy pre viaceré denníky - až som pred rokmi nakoniec v jednom z nich zakotvil a kde som to potiahol až do konca mojej profesnej kariéry.

Rok, mesiac, počet článkov: