SBC6502 - 60 - basic programs - výpočet - polynóm.

By Administrator at October 16, 2022 16:01
Filed Under: SBC6502

 

Polynóm (mnohočlen) je súčet alebo rozdiel jednočlenov - poznatok z Wikipédie, bez výčitiek sa priamo priznám že toto nie je moja parketa.

Našiel som basic-ový program, takže nech je vidieť čo sa kedysi na "starečkovi" vtedy dalo vypočítať (popis výpočtu je v programe v riadkoch 9000 ÷ 9070):


10 FOR I=1 TO 16:PRINT:NEXT:PRINT "BEST FIT POLYNOMIAL"

20 PRINT"-------------------":PRINT:GOTO 9000
30 DIM X(50),Y(50),B(19),A(10,11),Z(19)
40 INPUT "NO. OF POINTS";N:FOR I=1 TO N
50 PRINT "X("I")=";:INPUT X(I)
60 PRINT,"Y("I")=";:INPUT Y(I):NEXT I
65 INPUT "DEGREE OF POLYNOMIAL";N1
70 N2=N1+1:N3=2*N1+1:N4=N2+1
80 FOR I=1 TO N3:Z(I)=0:IF I<=N2 THEN A(I,N4)=0
90 NEXT I
100 Z(1)=N:B(1)=1:FOR I=1 TO N
110 A(1,N4)=A(1,N4)+Y(I):FOR J=2 TO N3
120 B(J)=X(I)*B(J-1):Z(J)=Z(J)+B(J)
130 IF J<=N2 THEN A(J,N4)=A(J,N4)+B(J)*Y(I)
140 NEXT J:NEXT I
150 FOR I=1 TO N2:FOR J=1 TO N2
160 A(I,J)=Z(I+J-1):NEXT J:NEXT I
5100 FOR K=1 TO N2:P=A(K,K):A(K,K)=1
5110 IF P=0 THEN PRINT "ZERO DIAG ELEMENT":END
5120 FOR J=K+1 TO N4:A(K,J)=A(K,J)/P:NEXT J:I=1
5130 IF I=K THEN 5200
5140 R=A(I,K):FOR J=1 TO N4
5150 A(I,J)=A(I,J)-R*A(K,J):NEXT J
5160 A(I,K)=0
5200 I=I+1:IF I=N4 THEN 5250
5210 GOTO 5130
5250 NEXT K:PRINT "COEFFS ARE:-"
5260 FOR I=1 TO N2:PRINT "X("I")="A(I,N4)
5270 NEXT:C2=0:INPUT "TABLE NEEDED";Q$
5280 IF LEFT$(Q$,1)="Y" THEN PRINT "X-DATA","Y-DATA","Y CALCULATED"
5282 FOR I=1 TO N:Y2=A(1,N4):FOR J=2 TO N2
5290 IF X(I)<>0 THEN Y2=Y2+A(J,N4)*X(I)^(J-1)
5300 NEXT J:Y1=Y(I)-Y2:C2=C2+Y1*Y1
5305 IF LEFT$(Q$,1)="Y" THEN PRINT X(I),Y(I),Y2:NEXT
5310 IF N=N2 THEN 5330
5320 C2=C2/(N-N2)
5330 PRINT "CHI=";SQR(ABS(C2)):END
9000 PRINT "THIS PROGRAM FITS A POLYNOMIAL OF ANY"
9010 PRINT "DEGREE TO A SET OF DATA OF Y AND X"
9020 PRINT "THE POLYNOMIAL IS:"
9030 PRINT "Y=X(1)+X(2)*X+X(3)*X^2+...+X(N+1)*X^N"
9040 PRINT "THE PROGRAM WILL ALSO PRINT A TABLE OF"
9050 PRINT "THE DATA COMPARED TO CALCULATED RESULTS"
9060 PRINT "AND THE VALUE OF 'CHI': A MEASURE OF 'FITNESS'"
9070 PRINT "(CHI IS SMALLER FOR A BETTER FIT)"
9080 GOTO 30


Download programu:

Polynom.txt (1,73 kb)

 

P.S.:

Koho zaujímajú výpočty - pozrite si túto knihu kde sú ďalšie matematické programy (mimo iného):

https://archive.org/details/very-important-programs-for-ohio-scientific

Funguje pre SBC6502, Ohio Superboard a UK101.


Ukážka zoznamu matematických výpočtov z tejto knihy:


_____________________________________________________________

Vaše hodnotenie, Rate post:

"Nezvyčajná oprava" - 6" TRINITRON COLOR VIDEO MONITOR SONY PVM-6041QM

By Administrator at October 08, 2022 12:05
Filed Under: Non-Atari

6" CRT TRINITRON PROFESSIONAL

COLOR VIDEO MONITOR SONY PVM-6041QM

 

Tí ktorí blog sledujú vedia že som majiteľom 2 kusov 6" monitorov SONY. Jeden z nich ale začal časom "blbnúť" a bežal už iba v monochrom režime. Obrátil som sa na kamaráta, na slovo vzatého odborníka (mimo iného) v oblasti CRT monitorov Stana Havrana. Ono totiž na hľadanie a nájdenie chyby treba aj výbavu (mimo iného napríklad generátor PAL, NTSC a SECAM signálu ktorý ja nemám) a ďalších vecí okolo ktoré Stano rozhodne k dispozícii má.


Upozornenie:

Zásahy do zariadenia sú na vlastné riziko majiteľa zariadenia. Autor týchto stránok nenesie žiadnu

zodpovednosť za škody  spôsobené používaním zariadení postavených podľa tu uverejnených

schém alebo zobrazených úprav.


Takže som mu pacienta po vzájomnej dohode doniesol a potom už po pár dňoch len nasledovala celkom zaujímavá mailová konverzácia.


Ahoj, Igor,
tak som pokročil s tým monitorom. Vec sa má takto:
     Ako som Ti spomínal, monitor funguje v norme SECAM. Preto som sa sústredil iba na normu PAL. Táto norma sa identifikuje prítomnosťou burst signálu, ktorý sa prenáša na temene zatemňovacieho impulzu v každom riadkovom synchronizačnom impulze a slúži na synchronizáciu farbonosného signálu. Tento signál musí prichádzať presne v súlade s riadkovými a snímkovými synchronizačnými impulzami a navyše musí byť jeho fáza otáčaná v každom druhom riadku. Norma NTSC fázu neotáča a to práve slúži na rozlíšenie normy PAL a normy NTSC (okrem iného počtu riadkov a snímkov). To sa dá odsledovať aj na oscilogramoch, ktoré sú priložené v schéme.
     Signály sú viacmenej zhodné a prítomné až po obvod IC124. Tak som sa sústredil na demodulátor farby IC113. Tu ma zarazila neprítomnosť PAL signálu na špičke č. 3 (oscilogram 31). Tak som ho sledoval a dostal som sa k obvodu IC111 špička 2 a 3. Obvod IC111 je XRU4053BCF, je to štandardný CMOS 4053 v prevedení SMD, čo je analógový multiplexer inými slovami prepínač analógového signálu. Podľa schémy signál na vstupe  - špička 15 by sa mal objaviť na výstupe 1 alebo 2 - podľa riadenia, ale hoci signál na vstupe je, ani na jednom z výstupov sa neobjavuje.
     A tu som skončil, SMD technológia na doske je na mňa príliš - netrúfam si.
Je to veľké riziko poškodenia. Nemám ani takú minipájku. Bolo by snáď možné aj obvod vyradiť a prepojiť ho priamo na
PAL, bez možnosti automatického prepínania, alebo nabastliť 4053.
Monitor sa dá používať vo farbe ako RGB monitor.
Napísal som si aj mini programík pre ATARI, kde si potrebné priebehy viem generovať a výstup je tiež v PALe.
Igor, napíš, čo ďalej.
Stano

Moja odpoveď - natvrdo to prepojiť na PAL, iné Atari ani nemám, takže by som s takým riešením nemal problém.

 

Nasledoval ďalší mail po 5 dňoch:

 

Ahoj, Igor,

tak som zase pokracoval s tym monitorm. Sledoval som signaly riadenia a prepinania TV noriem, sledoval som oscilogramy a porovnaval, pokial sa vedia normy PAL a SECAM identifikovat. A zrazu som sa nestacil divit : Na obrazovke krasne farebne pruhy - isla norma SECAM aj PAL. Nevedel som si to vysvetlit, tak som jemne poklepal po doske a farba v norme PAL zmizla. Potom som skusal jemne poklepat po suciastkach, ale nic sa nedialo. Tak som pritlacil plosak a farba opat naskocila. Podarilo sa mi to este parkrat, chcel som zistit miesto, kde ten studenak je, ale nepodarilo sa mi to. Moze to byt SMD ale kludne aj trhlina v plosaku. Sledoval som to aj velkou lupou, ale zatial som na nic neprisiel. Takze cela porucha je banalnejsia, ako sa na prvy pohlad zdalo.

Stano.

 

No čo, registrujem a čakám čo bude ďalej, viac robiť neviem ...

 

Nasledovný deň:

 

Ahoj Igor,

tak  h o t o v o. Prehrial som velmi jemne malým plynovym horacikom spoje v okoli dekodera a prepinania noriem a uz to bezi. Poskladal som to, nechal som to ist od 10.30 do 17.10 - bezi to v poriadku. Skusal som to aj na ATARI, farebne pruhy OK. Mam ale vyhrady k zobrazovaniu - myslim si ze to na ATARI nie je celkom vhodne, lebo obrazovky maju pomerne velke luminofory a teda aj obraz ma pomerne hrube zrno, cim sa texty stavaju zle citatelne. Mozno este tak na hry.

Stano.

 

O.K, s tým že 6" monitor je hlavne na hry súhlasím (nakoniec to aj v popise pre monitor uvádzam), ale naprosto dokonale vyhovie pri používaní sektorovej kopírky - hlavná náplň v mojom používaní.

 

Záver:

Takže studený spoj ako vyšitý, vlasové trhliny sa hľadajú najhoršie, koniec koncov pri tom "skladovom" umiestnení v baráku bez okien pri teplotách pod nulou to plošnému spoju rozhodne neprospievalo (striedanie teplôt = následné sťahovanie a rozpínanie plošného spoja) a tak ma teda takáto "závada" až tak veľmi neprekvapila. Použité zariadenie na opravu - malý plynový horáčik som u Stana videl a teda som presne vedel ako na to išiel, jeho veľkosť je tak cca 1/3 veľkosti prenosných plynových pájkovačiek. Je to skutočne hodne nezvyčajná oprava, ale ako vidieť závada bola úplne odstránená - ale pozor, je to naozaj len pre tých skutočne šikovných ! Som spokojný že monitor je zase plne prevádzkyschopný a je otestovaný na všetky druhy možných vstupov - PAL, SECAM, NTSC, RGB a funguje tiež plne automatika prepínania.

 

Stano, ešte raz - veľká vďaka !!!


___________________________________________________________

Vaše hodnotenie, Rate post:

SBC6502 - 59 - basic programs - výpočet čísla Π, iná verzia.

By Administrator at October 03, 2022 12:00
Filed Under: SBC6502

Už sme sa oboznámili s výpočtom čísla Pi v 44. pokračovaní pre SBC6502, dnes si pozrieme iné riešenie toho istého výpočtu. Program zobrazuje pri výpočte aktuálne číslo ktoré sa práve počíta v celom reťazci. Celé číslo Pi je zobrazené az po skončení celého výpočtu. Zase raz prvý riadok programu je špecifický iba pre SBC6502, program funguje aj bez neho. Je to pekná ukážka ako sa dopracovať k rovnakému výsledku inou programovou cestou. Špecifický je tiež riadok 70 a 180, ale dá sa fungovať aj na iných počítačoch - stačí namiesto PRINT CHR$(12) zadať príkaz CLS ktorý SBC6502 nemá.

 

 

Listing programu:


10 ? CHR$(12):POKE 15,79
11 REM PI CALCULATOR SBC6502 32kB RAM
15 L=3:H=1000
25 PRINT
30 INPUT "NO OF TERMS ";T
31 T=INT(T)
35 B=INT(T/L+.5)+2
40 DIM P(B),T(B)
50 T(B-1)=H/2:P(B-1)=H/2
60 FOR N=1 TO T
70 PRINT CHR$(12);"COMPUTING TERM ";N
80 X=2*N-1:GOSUB 300:GOSUB 300
90 X=8*N:GOSUB 400
100 X=2*N+1:GOSUB 400
110 GOSUB 500:NEXT N
120 C=0:FORI=1 TO B
130 P(I)=P(I)*6+C
140 C=INT(P(I)/H)
150 P(I)=P(I)-C*H
160 NEXT I
180 PRINT CHR$(12);P(B);
CHR$(8)".";
190 FOR I=B-1 TO 2 STEP-1
200 PRINT RIGHT$(STR$(P(I)+10*H),L);
210 NEXT
220 END
300 C=0:FOR I=1 TO B
310 T(I)=T(I)*X+C
320 C=INT(T(I)/H)
330 T(I)=T(I)-C*H
340 NEXT:RETURN
400 C=0:FOR I=B TO 1 STEP-1
410 Z=T(I)+C:C=0
420 Q=INT(Z/X):T(I)=Q
430 C=H*(Z-Q*X)
440 NEXT:RETURN
500 C=0:FOR I=1 TO B
510 P(I)=P(I)+T(I)+C:C=0
520 IF P(I)<H THEN 540
530 P(I)=P(I)-H:C=1
540 NEXT:RETURN   

 

Pi.txt (868,00 bytes)

 

Ukážky behu programu:

Zvolený výpočet na 100 miest.

 

Práve počíta 43 miesto.


Výpočet ukončený, zverejnený výsledok.

 

 

Ukážka pre riadok 180:

180 PRINT CHR$(12);P(B);".";

(Ak sa v tomto riadku nezadá aj CHR$(8) tak vznikne výpis na termináli 3 .14 atď kde je potom medzera medzi číslicou 3 a bodkou, namiesto požadovaných 3.14. Iným dôsledkom použitia CHR$(8) je to že v prvom riadku výpisu je potom odskok na druhý riadok o jedno miesto skôr, ale s tým som sa už nebabral ..., nakoniec na tak veľký počet desatinných miest (nad viac ako 15) sa naozaj chodí iba občas - nakoniec pozrite si na wikipedii s akou presnosťou čísla Π pracuje samotná NASA ...


Ešte sa pozrieme na to koľko trvá výpočet pre 100 miest čísla Π na SBC6502:


s použitým x-talom=4.9152MHz je to presne: 1min 09sec.,

(pre 4.00MHz x-tal  je to 1min27sec).

Vidieť že výpočet pomocou tohoto programu je o poznanie rýchlejší ako program v pôvodnom článku kde je síce použitý o niečo menej "nadupaný" x-tal=4.00MHz - ale je tam dosiahnutý čas =5min 38sec čo na taký veľký rozdiel v dosiahnutom čase neoprávňuje.

Poznámka:

Program je priamo funkčný aj pre Micro UK101.


Pôvodný článok:

SBC6502 - 44 - výpočet čísla Pi. Number Pi and its calculation on SBC6502.

 

Poďme na nejaké to porovnanie rýchlosti výpočtu:

 

Výpočet Pi na 2038 miest v pôvodnom článku (v odkaze) trval: 38 hodín a 12 minút, počítalo to 53.375 čísla za hodinu, alebo inak - jedno číslo počíta skoro 67.5 sekundy,

 

Program uverejnený na začiatku dnešného článku to napríklad na UK101 a 4.00MHz x-tale spočíta na 2038 miest za 9 hodín 54 minút a 45 sekúnd, počíta to 205.714 čísla za hodinu, teda výpočet jedného čísla trvá 17.5 sekundy. Oproti prvému programu je to skutočne viac ako citeľné zrýchlenie samotného výpočtu.

(SBC6502 a UK101 na rovnakom x-tale 4.00MHz sú rovnako rýchle, používajú ten istý Basic, v tej istej verzii.)

____________________________________________________________


Samotný zápis uvedeného programu sa dá výrazne skrátiť stlačením do menšieho počtu riadkov, i keď je to na úkor jeho prehľadnosti, program je samozrejme naďalej funkčný.


Listing /redukovanej veľkosti/ programu:


10 ? CHR$(12):POKE 15,79: L=3:H=1000:?
11 REM PI CALCULATOR SBC6502 32kB RAM
30 INPUT "NO OF TERMS ";T:T=INT(T):B=INT(T/L+.5)+2
40 DIM P(B),T(B):T(B-1)=H/2:P(B-1)=H/2
60 FOR N=1 TO T:? CHR$(12);"COMPUTING TERM ";N
80 X=2*N-1:GOSUB 300:GOSUB 300:X=8*N:GOSUB 400:X=2*N+1
110 GOSUB 400:GOSUB 500:NEXT N:C=0:FORI=1 TO B
130 P(I)=P(I)*6+C:C=INT(P(I)/H):P(I)=P(I)-C*H:NEXT I
180 ? CHR$(12);P(B);CHR$(8)".";:FOR I=B-1 TO 2 STEP-1
200 ? RIGHT$(STR$(P(I)+10*H),L);:NEXT:END
300 C=0:FOR I=1 TO B:T(I)=T(I)*X+C:C=INT(T(I)/H)
330 T(I)=T(I)-C*H:NEXT:RETURN
400 C=0:FOR I=B TO 1 STEP-1:Z=T(I)+C:C=0:Q=INT(Z/X):T(I)=Q
430 C=H*(Z-Q*X):NEXT:RETURN
500 C=0:FOR I=1 TO B:P(I)=P(I)+T(I)+C:C=0:IF P(I)<H THEN 540
530 P(I)=P(I)-H:C=1
540 NEXT:RETURN 

 

Pi_r.txt (746,00 bytes)

______________________________________________________

Vaše hodnotenie, Rate post:

10_2022 Blog, Notes.

By Administrator at October 01, 2022 09:37
Filed Under: Blog

01.10.2022

Cirkus v parlamente pokračuje, celé leto a aj teraz sa to stále točí okolo jednej osoby, fakt nie je nič dôležitejšieho na riešenie ? To že je to prípad pre docenta Chocholouška je jednoznačné.

___________________________________________________________

02.10.2022

Začína obdobie rannej hmly a väčšej vlhkosti, vďaka tomu máme na sídliskách každoročne nanovo nekonečné nočné "koncerty" áut s jednoduchými zabezpečovacími systémami. Aby auto reagovalo na vlhkosť na dvernom kontakte - tak to musí byť naozaj mizerný alarm - a tých je väčšina.

___________________________________________________________

03.10.2022

Výpočet čísla Pi inou metódou:

SBC6502 - 59 - basic programs - vypočet čísla Π, iná verzia.

____________________________________________________

08.10.2022

Zaujímavá oprava - 6" monitor SONY:

"Nezvyčajná oprava" - 6" TRINITRON COLOR VIDEO MONITOR SONY PVM-6041QM

____________________________________________________

12.10.2022

Trošku menej úsmevne:

Tak si hovorím, že nášmu ministrovi financií predsa len mali dať pred časom nejaký o hodne luxusnejší flek ako má teraz, trebárs mu mohli vymyslieť ministerstvo pre boj s krokodílmi. Dostal by povedzme 2 až 4 miliardy euro na tento boj, nebudeme predsa trochárčiť keď ide o ľudí, nie ? Na konci volebného obdobia by potom bez väčšieho úsilia mohol preukázať 100%-ú úspešnosť svojho programu - na Slovensku nie sú krokodíly, to by sa nedalo nikým spochybniť (teda mimo ZOO) a to ani opozíciou. A za ten úspech by mu mohli následne poriadne zvýšiť dotácie ...

___________________________________________________________

13.10.2022

Ako sa stať za rok milionárom ?

Jednoducho, stačí si denne bokom odkladať 2739.73 Euro ...

___________________________________________________________

16.10.2022

Hovorí Vám niečo výraz polynóm ?

SBC6502 - 60 - basic programs - výpočet - polynóm.

____________________________________________________

20.10.2022

Ben Smith, majiteľ spoločnosti Bravo Sierra Computers zomrel. No, takéto smutné správy nikdy nepotešia. R.I.P. !

___________________________________________________________

25.10.2022

Pretože sa za pár dní chystám na zásadné rozhodnutie (presnejšie povedané, už som dávnejšie rozhodnutý) tak som si povedal že sa teraz ešte raz pozriem na programové vybavenie pre programátor PROM 74188 a ... našiel som tam programovú chybu:


V programových verziách rady 1.07 až 1.09, 1.09p bola chyba, ktorá spôsobovala, že po naprogramovaní pamäte sa automaticky priamo spúšťalo druhé kolo programovania s dlhším PGM pulzom - síce tento stav nespôsobuje poškodenie správneho obsahu už napálenej PROM, ale nebolo to určite to čo sa od programu očakávalo. Chyba je opravená, už sú na webe umiestnené opravené programy týchto verzií a teda uvedený jav je tam už odstránený. Uvedený jav nastal po vypadnutí jediného riadku z programu - moja chyba, ospravedlňujem sa. Tak isto je to už opravené aj v súhrne všetkých programových verzií.


No, malo to byť z mojej strany iba také oddychové cvičenie, napriek všetkému som rád že som chybu odhalil - a opravil.

SBC6502 - 56 - PROM 74188 - last, best program v.1.09 lite, 1.09patch.

____________________________________________________

28.10.2022

Konečne sú na úvodnej stránke živé odkazy aj na archívy:

Directory Atari  a  Directory SBC news

trvalo mi to dlho, naozaj dlho, nachystané som to mal už dávno, ale pretože potom prišiel covid a s oživením som sa potom príliš neponáhľal. Takže teraz dúfam že aj tieto často blogu budú odteraz prehľadnejšie.

 

___________________________________________________________

30.10.2022

Mám narodeniny,
- /je to už celkom slušné číslo, radšej to ďalej nerozoberám/ - preto dnešný deň považujem za celkom vhodný na oznam že som sa rozhodol úplne utlmiť moje aktivity na webe, rozmýšľal som nad tým už dlhšiu dobu. Nie je to tým že by nebolo o čom písať, podkladov mám stále viac ako dosť, ale už sa u mňa prejavuje pisateľská únava, chýba mi chuť, čas - a hlavne motivácia. Nakoniec - nie je ťažké si predstaviť že ak by som len písal (bez ďalších podrobností) a uverejňoval iba fotografie toho čo robím (dosť zvyčajný postup súdiac podľa mnohých dostupných webov) tak by som asi tých vecí urobil podstatne viac pretože by som "nezabíjal" čas podrobným popisom a zverejňovaním schémat - lenže to by som potom nebol ja. Pocítil som to aj pred pár dňami pri možnosti kúpiť veľmi výhodne celú zostavu Atari, jednoducho som to len zaregistroval a nejako som nemal žiaden "ťah na bránku" a nechal som to len tak a nebežal som pre to, jasná známka pre stopku. Potiahnem do konca ešte niektoré moje projekty a niektoré tu možno časom ešte aj zverejním /zdôrazňujem - možno/, je to teraz 12 rokov a 8 mesiacov čo som sa myslím celkom slušne venoval tomuto projektu /vyšlo tu skoro 1000 článkov, zaberá to pri zálohovaní približne 2.75GB dát/ a mám pocit že to už viac-menej stačí, prenechám to už na podstatne mladších nasledovníkov, mám aj iné životné priority. A zase tých čo sa radi v niečom vŕtajú rapídne ubúda, prehľad o návštevách mám - ale do hardvéru sa dnes hrnie naozaj málokto, pozrite sa okolo seba koľko ľudí dnes vie zobrať do ruky pájkovačku (teda aj niečo s ňou robiť), proste už je taká doba. Napriek tomu dúfam že za tú dobu moje stránky niekomu pri opravách pomohli.
Chcem sa poďakovať trvalým  čitateľom tohoto webu a aj tým niekoľkým málo aktívnym prispievateľom za priazeň a dúfam že odteraz na iných webových stránkach nájdete to čo som ja tu už uverejniť nestihol /a že je toho hodne .../.
S pozdravom, Igi.

P.S.: už len dodám že následne po pár dňoch natrvalo uzatvorím komentáre.

___________________________________________________________

Vaše hodnotenie, Rate post:

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: