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

By Administrator at October 30, 2021 08:35
Filed Under: SBC6502

 

Minule som tu k programovému vybaveniu pre programátor napísal že sa možno (teraz je to už realita) pokúsim program upraviť na rozsahovo ešte menšiu verziu. Nakoniec som sa predsa pustil ešte do tejto úpravy programu pre programátor PROM 74188. Počas tých mesiacov som si vyjasnil čo všetko by program mal vedieť a tak isto čo už v sebe nevyhnutne mať nemusí. Táto verzia ukončuje moju snahu program urobiť kompaktnejším a teda vo výsledku aj kratším. Samozrejme, určite je možné ešte nejaké tie byte ušetriť, ale to už s radosťou prenechám na niekoho iného.


Úvodná obrazovka verzie 1.07

(x-tal =4.000MHz)

 

Menu verzie 1.07

 

  Verzia 1.07 "lite" zo dňa 30.10.2021:

-
ukázalo sa že dosiahnutá úspora veľkosti programu je naozaj zásadná, zmeny sú natoľko veľké že má už označenie vlastnej verzie

- predchádzajúca verzia (1.06) v poradí bola iba pracovná (interná), tá nie je uvoľnená, v nej som si len načrtol a vyskúšal niektoré možnosti vyradenia
už nepotrebných častí programu

- verzia (1.07) v sebe neobsahuje možnosť reprogramovania PROM, táto časť je tu z programu odstránená, je pre normálne používanie (nie každý totiž využíva a potrebuje možnosť reprogramovania, štandartne asi málokto). Postupne som si tu uvedomil že niekedy menej môže byť vo výsledku viac - a toho som sa pri tvorbe tejto verzie držal.

- program absolvoval skutočne drastickú diétu (čo sa týka veľkosti, preto aj nesie označenie "lite"), je oproti doteraz dostupnej verzii 1.05b menší ešte o ďalších niekoľko tisíc byte
- ak sa to spočíta tak oproti základnej verzii 1.04 kde bola dĺžka programu síce vo vtedy neuvoľnenej testovacej verzii už celých 21.400 byte, teraz má program dĺžku menšiu o cca 11 kByte a vďaka tomu sa mimo iného citeľne skrátila doba jeho nahrávania. Uvedené číslo dĺžky programu patrí pre použitý x-tal = 4.000MHz, ak je použitý iný x-tal môže sa dĺžka programu mierne líšiť pretože sú použité iné konštanty v premenných a program potom môže mať dĺžku rozdielnu o niekoľko byte. 

 
- zavedená zdokonalená kontrola pre premennú LG či sa jej hodnota nachádza v povolenom rozsahu jej možnej hodnoty (povolený rozsah premennej LG môže byť 1, 1.1, atď., 1.92 - t.j. iba celé desatinné hodnoty, nie je možné zadať v riadku 1000 hodnotu napríklad LG=1.55, ak niekto neverí - zadajte tam túto hodnotu a napíšte RUN).

Kto napriek všetkému sa rozhodne že chce túto kontrolu úplne vyradiť (vhodné pre toho kto nemá v úmysle niekedy prestavovať prednastavenú hodnotu premennej LG=1.5 a ďalej tým ušetriť na celkovej dĺžke programu) - stačí zmazať modro vyznačenú časť riadkov v programe verzie 1.07 (platí to pre všetky použité x-taly):

 

 

- omnoho viac a dôslednejšie sa tu používa volanie podprogramov (t.j. príkaz GOSUB, niektoré sekvencie programu boli prepísané a zaradené do podprogramov)

 
- v programe prišlo k prečíslovaniu celej skupiny riadkov (presunuli sa celé bloky programu na nové miesto) a preto pozor, už nesedí číslovanie riadkov oproti starším verziám programového vybavenia

 

- základné premenné U, DV, a PP (tak isto aj LG, tam sa ale hodnota nemení, viď ďalší popis) ktoré sa menia podľa použitej rýchlosti x-talu, boli presunuté do riadku 1000 (riadok 1002 v ktorom boli doteraz umiestnené už neexistuje)


- zásadne je prepracovaná obrazovka zobrazenia vlastného menu, použitá vylepšená grafická úprava vlastného menu, z mojej strany je to pokus o rozdelenie niektorých častí do samostatných celkov, v menu sa stále zobrazuje spustená verzia programu. Položka (L) sa zobrazuje v samostatnom chlieviku, pomocou tejto voľby je možné zmeniť dĺžku programovacieho pulzu, automaticky sa PGM pulz v druhom kole predlžuje na 1.5x násobok nastavenej novej hodnoty. Prevedená zmena nastavenia dĺžky PGM pulzu z menu programu platí tak ako doteraz - iba do nového štartu programu. Samozrejme, ak v riadku 1000 definujeme LG na inú hodnotu tak bude trvale platiť jej novo nastavená hodnota.

 

- zmenený vzhľad chlieviku výpisu názvu súboru pre Data riadky + kontrola valid or no valid Data


- prepracovaná (zrýchlená) reakcia na hlášku Wrong Input


- úplne zmenená časť pri zadávaní znaku v hexa tvare (v menu voľba (H)), použitá je zásadne vylepšená (a kratšia) rutina pre preklad do dec tvaru (konečne tu využívam stringovú funkciu VAL), iba tu sa ušetrilo niekoľko stovák byte dĺžky programu (nevýhoda - plná kontrola zadaných vstupných údajov je tu zložitejšia, chvíľu mi trvalo než som prišiel ako na to mám v programe ísť, zase pomohlo rozmýšľanie jedného dňa tesne pred spaním)

- v programe je k dispozícii už len jedna analýza porovnania obsahov dát a vlastnej PROM (doteraz boli dve s iným grafickým riešením, tá prvá len informovala že je nejaký problém v konkrétnom byte bez bližšieho udania aká hodnota tam má byť a aká sa načítala, nechal som iba tú druhú, bitovú podrobnú (stav pred touto verziou iba kopíroval stav ktorý vznikol postupným rozširovaním možností).


- po naprogramovaní PROM zostane program v obrazovke bitovej analýzy tejto PROM  a do menu sa vráti až po tlačení klávesy, t.j okamžite vidieť či vlastné naprogramovanie zbehlo bez závad, doteraz to po napálení a správnej verifikácii samé zbehlo do menu.Tu vychádzam z toho že sa predpokladá kusové napaľovanie PROM, nie sériová výroba.

Stále pritom platí (tak ako doteraz) že ak nezbehne správne prvé kolo programovania tak automaticky nasleduje druhé kolo už s 1.5x násobnou dĺžkou pôvodne nastavenej dĺžky programovacie pulzu (PGM), ak ani potom (t.j. po druhom kole napaľovania) nebude platná verifikácia obsahu PROM voči Data riadkom tak potom je PROM považovaná za chybnú. Ak zbehne správne verifikácia v druhom kole programovania (t.j. po predĺžení napaľovacieho impulzu) - takáto PROM bude stále považovaná za bezchybne napálenú.


- pri tejto verzii programu som si uvedomil že je možné mať k dispozícii aj zvukové upozornenie. Ak sa na PC zapne zvuk (v úvode programu pribudla na to hláška) program má v sebe zabudovaný veľmi jednoduchý zvukový prejav pomocou príkazu CHR$(7). Síce to nie je nič extra, ale stále je to lepšie ako nič (1x "cinknutie" = drobné upozornenie, cinknutie 3x za sebou = chybová hláška). Koho by to pri práci otravovalo - stačí stiahnuť, alebo vypnúť zvuk.

 
- nezaručujem že v programe stále ešte nezostali nejaké zbytky teraz už mŕtveho kódu programu, ale snažil som sa ako sa dalo. (Zvyčajne sa programové riadky postupne "nabaľujú" pri základnej vlastnej tvorbe programu, tu som išiel cestou reverzie a odpájal som a mazal riadky v programe ktoré už netreba, alebo som to nahradil celkom inou sekvenciou.) A že toho išlo von naozaj dosť ...

 
- program nie je vhodný na samovoľné úpravy, pretože nemá v sebe REM riadky ktoré by zdokumentovali v ktorej časti programu sa práve nachádzate (vďaka tomu je ale o poznanie kratší), stále je to plnohodnotný program pre naprogramovanie PROM 74188

______________________________________

 

 

Pre štandartné programovanie PROM 74188 používam túto verziu - vlastnosťami mi vyhovuje a správa sa predpisovo, takže PROM-ky napaľuje bez najmenších problémov. (Na reprogramovanie ak je treba používam stále dostupnú verziu 1.05b.) Vždy keď som sám seba presvedčil že práve vtedy vydaná verzia je naozaj už verziou poslednou tak som zase na niečo nového prišiel a upravovalo sa ... a celé programové vybavenie mi postupne utešene bobtnalo - až som si povedal dosť ! a začal som ísť cestou opačnou (upravovať som začal niekedy začiatkom septembra, testy postupne jeden po druhom bežali vo verzii 1.06).

 

Verzia (1.07) je určená hlavne pre tých ktorý reprogramovanie PROM nepoužívajú a nepotrebujú a teda to že táto možnosť tu nie je k dispozícii im nijako nebude chýbať. Priznám sa že vŕtať sa v úpravách v programovom vybavení ma bavilo (a sám sa zase naučil ďalším veciam). Dúfam že to mimo mňa niekto ocení. A keď nie - tak isto dobre, prežujem to (a prežijem).


Želám príjemné chvíle pri programovaní PROM 74188 - akurát na mňa nehrešte ak si pripravíte chybné Data ... programátor ich bezchybne napáli (teda dôsledne - a to aj s tým že zachová Vaše chyby). Ďakujem všetkým ktorí túto anabázu vývoja programového vybavenia sledovali (za tento rok som vydal naozaj hodne verzií) a vydržali to so mnou až do dnešného dňa.

 

P.S.:

Nejakú ďalšiu verziu programu už skutočne nechystám, v najlepšom treba skončiť, idem už na nejaký ďalší projekt.

(Nakoniec je to vidieť že označenie verzie je už 1.07 bez pridaných a, b atď.)

V prípade ak ešte urobím nejaké drobné úpravy budú prevedené buď priamo v uverejnenej verzii 1.07, alebo bude uverejnená nová verzia (ak bude - počkám s ňou minimálne 6 mesiacov než ju uverejním).

 
  Verzia 1.07 "lite":

74188 programmer 1_8432MHz_v107.txt (11,10 kb)

74188 programmer 2_4576MHz_v107.txt (11,10 kb)

74188 programmer 4_0000MHz_v107.txt (11,10 kb)

74188 programmer 4_5000MHz_v107.txt (11,10 kb)

74188 programmer 5_0000MHz_v107.txt (11,10 kb)

_____________________________________________________

Dodatok 12.12.2021:

Rozhodol som sa pred časom vyhovieť žiadosti Curtina a po dlhšom zvažovaní pre a proti som sem dal všetky uvoľnené verzie programového vybavenia. Lenže čo čert nechcel - chodia maily ako si poradiť s reprogramovaním ... takže som po dlhšom váhaní a viacerých mailoch zase urobil krok späť - rozhodol som sa ísť cestou menšieho odporu a staršie verzie ktoré sú pod číslom 1.05 som radšej úplne stiahol. Vážení, písal som že sa predpokladá dostatočná znalosť problematiky - a ja fakt nechcem skončiť ako inštruktor na programovanie PROM. Takže kto si trúfa nielen jednoducho napáliť PROM má k dispozícii programové vybavenie verzií 1.05a a 1.05b. Verzia 1.07 nemá v sebe možnosť reprogramovania PROM (a teda sa pri jej používaní nikto nezamotá) - a dúfam že bude kľud. Vrelo ďakujem za pochopenie, tiež som len človek (jeden) ...

___________________________________________________________

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:

Comments

10/30/2021 8:40:45 AM #

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: