SBC6502 - 62 - basic programs. 7segments LED plus dp.

By Administrator at January 27, 2023 15:30
Filed Under: SBC6502

Vytiahol som na svetlo sveta jeden môj program, pomocou ktorého je možné si vyrobiť na LED-kovej sedemsegmentovke ktorá má k dispozícii aj desatinnú bodku celkom zaujímavé výstupy, je tu využitých skutočných 8 bitov na výstupe PROM 74188. Je to zaujímavé hlavne vtedy ak potrebujeme použiť ako výstup aj alfanumerické znaky.

Program je koncipovaný tak, že najprv vytvoríme potrebné znaky a na konci programu sa kompletne vygenerujú dve zostavy:


1.- je určená pre displej zo spoločnou anódou - common anode (CA)

2.- je určená pre displej zo spoločnou katódou - common cathode (CC)

Len zdôrazním použitie jednotlivých výstupov z čipu 74188:


Y8=dp Y7=g Y6=f Y5=e Y4=d Y3=c Y2=b Y1=a

 

Program som napísal na chalupe presne pred 3 rokmi, zabralo mi to jedno poobedie. Je pravdepodobné že sa to dá urobiť aj lepšie a inak, ale niektoré obmedzenia výpisu na terminál sa dajú len ťažko obísť a teda zobrazenie je tu potom také aké je. Program má aj ochranu pred zadaním nesprávnych údajov. Dnes sa už dá povedať že program je už vekom mierne overený ... používa nastavenie na 72 znakov v riadku, ktoré je štandartne nastavené po spustení SBC6502 a MICRO UK101.

 

Program, verzia 1.0:

 

1000 ? CHR$(12)SPC(12)"Igi(c) 27.01.2020":GI=31000
1001 ? SPC(9)"SBC6502 or Micro UK101":K$="Data"
1002 ?SPC(16)"32kB/RAM":W$="0123456789ABCDEF"
1003 FOR A=GI TO GI+31:POKE A,0:NEXT
1004 FOR F=0 TO 12000:NEXT:FOR A=GI TO GI+31
1005 ? CHR$(12);:B=255:POKE A,B
1010 ? "  PROM 74188 7-LED display + dec.point"
1020 ? "   for common cathode + common anode"
1030 ? "Y8=dp Y7=g Y6=f Y5=e Y4=d Y3=c Y2=b Y1=a"
1040 ? "  LED 7segments+dp:":?
1130 ? SPC(8)"**a**"
1140 ? SPC(7)"*     *"
1150 ? SPC(7)"f     b           Y=LED ON"
1160 ? SPC(7)"*     *"
1170 ? SPC(8)"**g**            N=LED OFF"
1180 ? SPC(7)"*     *"
1190 ? SPC(7)"e     c"
1200 ? SPC(7)"*     *"
1210 ? SPC(8)"**d**  *dp";
1220 ?"       byte no:";A-GI;"dec":?
1250 INPUT " a:";A$:IF A$="Y" OR A$="N" THEN 1252
1251 GOTO 1250
1252 IF A$="Y" THEN B=B-1:POKE A,B
1260 INPUT " b:";B$:IF B$="Y" OR B$="N" THEN 1262
1261 GOTO 1260
1262 IF B$="Y" THEN B=B-2:POKE A,B
1270 INPUT " c:";C$:IF C$="Y" OR C$="N" THEN 1272
1271 GOTO 1270
1272 IF C$="Y" THEN B=B-4:POKE A,B
1280 INPUT " d:";D$:IF D$="Y" OR D$="N" THEN 1282
1281 GOTO 1280
1282 IF D$="Y" THEN B=B-8:POKE A,B
1290 INPUT " e:";E$:IF E$="Y" OR E$="N" THEN 1292
1291 GOTO 1290
1292 IF E$="Y" THEN B=B-16:POKE A,B
1300 INPUT " f:";F$:IF F$="Y" OR F$="N" THEN 1302
1301 GOTO 1300
1302 IF F$="Y" THEN B=B-32:POKE A,B
1310 INPUT " g:";G$:IF G$="Y" OR G$="N" THEN 1312
1311 GOTO 1310
1312 IF G$="Y" THEN B=B-64:POKE A,B
1320 INPUT "dp:";P$:IF P$="Y" OR P$="N" THEN 1322
1321 GOTO 1320
1322 IF P$="Y" THEN B=B-128:POKE A,B
1500 ? CHR$(12)" Resume byte no:"A-GI;"dec":?
1510 IF A$="Y" THEN ? "  *****"
1515 IF A$="N" THEN ? "  ....."
1520 FOR F=1 TO 3
1525 IF F$="Y" AND B$="Y" THEN ? " *     *"
1530 IF F$="N" AND B$="N" THEN ? " .     ."
1535 IF F$="Y" AND B$="N" THEN ? " *     ."
1540 IF F$="N" AND B$="Y" THEN ? " .     *"
1545 NEXT
1550 IF G$="Y" THEN ? "  *****"
1555 IF G$="N" THEN ? "  ....."
1560 FOR F=1 TO 3
1565 IF E$="Y" AND C$="Y" THEN ? " *     *"
1570 IF E$="N" AND C$="N" THEN ? " .     ."
1575 IF E$="Y" AND C$="N" THEN ? " *     ."
1580 IF E$="N" AND C$="Y" THEN ? " .     *"
1585 NEXT
1590 IF D$="Y" AND P$="Y" THEN ? "  ***** *"
1595 IF D$="N" AND P$="N" THEN ? "  ..... ."
1600 IF D$="Y" AND P$="N" THEN ? "  ***** ."
1605 IF D$="N" AND P$="Y" THEN ? "  ..... *"?
1620 ?:IF A<GI+31 THEN 2000
1630 GOTO 2001
2000 ? " (B)ad setting":? " (C)ontinue":? " (R)estart"
2001 ? " (E)nd":?:? " Your choice:";:INPUT A$
2002 ?:IF A$="B" OR A$="C" OR A$="R" OR A$="E" THEN 2004
2003 GOTO 2000
2004 IF A$="B" THEN 1005
2006 IF A$="C" THEN 2020
2008 IF A$="R" THEN RUN
2010 IF A$="E" THEN 2030
2015 GOTO 1005
2020 NEXT
2030 ? CHR$(12);:C=A-GI+1
2040 FOR A=GI TO GI+31:R=PEEK(A):POKE A+100,255-R:NEXT
2500 PD=GI:I=PD
2501 ? SPC(11)"PROM data - please, save this screen !"
2502 ? SPC(11)"Common anode:":GOSUB 2506:?:PD=GI+100:I=PD
2503 FOR A=PD+C TO PD+31:POKE A,0:NEXT
2504 ? SPC(11)"Common cathode:":GOSUB 2506:END   
2506 ? SPC(11)K$;" hex:":? SPC(12)"0000:";
2508 FOR F=PD TO PD+15:N=PEEK(F):GOSUB 2600:NEXT
2510 ?:? SPC(12)"0010:";
2512 FOR F=PD+16 TO PD+31:N=PEEK(F):GOSUB 2600:NEXT
2514 ?:? SPC(11)K$;" dec:"
2516 ? SPC(12)"9001 "K$;:GOSUB 2620:? SPC(12)"9002 "K$;:GOSUB 2620
2518 ? SPC(12)"9003 "K$;:GOSUB 2620:? SPC(12)"9004 "K$;:GOSUB 2620
2520 RETURN
2600 L=N AND 15:H=(N-L)/16
2610 ? MID$(W$,H+1,1)MID$(W$,L+1,1);" ";:RETURN
2620 FOR G=I TO I+6:? PEEK(G);CHR$(8);",";:NEXT:? PEEK(I+7):I=I+8
2630 RETURN

 

Download programu verzia 1.0:

7segment_led_plus_dp_final.txt (3,43 kb)

V programe nie je uvedená verzia, vtedy som nepredpokladal že sa v tom ešte niekedy budem vŕtať ...

 

P.S.: platí pre riadok 1004:

1004 FOR F=0 TO 12000:NEXT:FOR A=GI TO GI+31

tu je potrebné meniť veľkosť premennej F podľa použitého x-talu:

 
x-tal 1.8432MHz: FOR F=0 TO 4500
x-tal 2.4576MHz: FOR F=0 TO 6000
x-tal 3.6864MHz: FOR F=0 TO 9000
x-tal 4.0000MHz: FOR F=0 TO 9770
x-tal 4.5000MHz: FOR F=0 TO 10990
x-tal 4.9152MHz: FOR F=0 TO 12000
x-tal 5.0000MHz: FOR F=0 TO 12200
x-tal 6.0000MHz: FOR F=0 TO 14650


Ako vidieť program samotný je určený pre tieto 2 typy SBC.


Uvodná obrazovka pre vkladanie dát, možné vstupy sú len Y alebo N.

Zároveň sa zobrazuje číslo bytu s ktorým sa práve robí /dec tvar/.


Tu som "nadlapal" číslicovku 6.


Po potvrdení sa zobrazí kontrolné resumé ako vyzerá nami zadaný údaj, potom máme tieto 4 možnosti:  B - vráti znova na začiatok bytu - teda nám umožní previesť opravu, C - OK,  pokračujeme na ďalší byte, R -prevedie kompletný reštart programu, E - koniec programu a výpis zostáv k danému okamžiku. Je tu možné zadávať jednu z týchto 4 možností, iné hodnoty sú odignorované. Zobrazenie som riešil tak že tá časť displeja čo nebude svietiť je tu vyznačená bodkami, viditeľná časť je vyznačená hviezdičkami.

 

Po stlačení E príde vždy k záverečnému výpisu, aj keď trebárs naprogramujeme iba 4 alebo čo ja viem iba 8 byte. Pretože pri common cathode (CC) sú výstupy invertované tak je v programe zabudovaná jedna fičúrka, ktorá jeho nepoužité zostávajúce byte preklopí do stavu 0d /00H/, t.j. nenaplní ich 255d /FFh/, teda stále tu zostáva možnosť ich naprogramovať neskôr (pri common anode /CA/ toto platí automaticky). Toto sa samozrejme používa len vtedy ak nie je údajmi zaplnená celá PROM.

 

Záverečný výpis po naplnení jedného bytu číslicou 6 a následnom stlačení E.

 

Teraz si predstavme že by sme chceli alfanumericky na sedemsegmentovke zobraziť písmeno Q, tu sa už musí bez desatinnej bodky skutočne čarovať, vcelku štandartne sa použije zobrazenie číslice číslo 9 pričom sa vynechá dolný segment g, tu sa ale na zobrazenie použijú iné segmenty:

Zadané je malé q.


Takto vyzerá výsledok.


Samozrejme je tu možné urobiť aj veľké Q.

Zadáme potrebné údaje pre zobrazenie.


A takto vyzerá veľké Q.

 

Je vidieť, že takto sa dajú celkom slušne rozšíriť schopnosti zobrazovania alfanumeriky na sedemsegmentovom displeji ktorý má aj desatinnú bodku. Ako ďalší príklad je zobrazenie písmena k, štandartne sa použije zobrazenie ako pre E, len sa vynechá horný a dolný segment /teda a a d/, je to také hot riešenie, na sedemsegmentovke zázraky neurobíte. Lenže tu zrazu stačí zapnúť destainnú bodku /dp/a to k je už akosi výraznejšie poznateľné že sa jedná o písmeno k.


Aby som nezabudol, po nadlapaní posledného 32 bytu /tu je to ale vlastne číslo 31, pretože začínam nulou, teda rozsah je 0÷31d/ je ponúknutá iba možnosť ukončiť program cez E, potom príde k vygenerovaniu zostáv. Riešil som to takto preto pretože to bolo jednoduché a posledný byte, teda jeho vzhľad zostáva na displeji do stlačenia klávesy E. Je to pomocný program a nehodlal som tu vymýšľať nejaké divoké postupy ako to ukončiť, takže takto. /Za jedno poobedie sa toho viac nevymyslí - teda aspoň u mňa./

Zapojenie čipu pre CA a CC a teda aj ako majú byť zapojené odpory tu nebudem rozoberať - aj tak predpokladám že do toho sa pustí len ten čo vie o čom je reč, právom očakávam aspoň základnú znalosť problematiky. Pre použitie všetkých 32 znakov potrebujeme na vstupe 74188 ovládať už 5 bitov, čiže na toto nezabudnite.

 

Info:

Program ukladá 32 byte pre CA na adresách 31000÷31031d, pre CC sa potom generuje prevrátená hodnota na adresách 31100÷31131d. Následne sa porovná koľko byte je reálne zaplnených a potom pre CC zostavu prepíše /iba !/ nepoužité adresy nanovo na hodnotu =0d/00h/.


Prajem príjemnú zábavu s týmto programom !

______________________________________________________


29.01.2023

O rok neskôr som sa ešte s programom mierne popasoval a upravil som ho tak že poskytuje viac informácií ktoré sa občas môžu hodiť.


Teraz je to verzia 1.01, je to odlíšené aj v samotnej hlavičke programu.

 

Odlišuje sa v zobrazení na tejto obrazovke, voľby sú uvedené v jednom riadku a pribudli tu výpisy pre Common Anode /CA/ a pre Common Cathode /CC/ + sú tu k dispozícii aj binárne výpisy. Ostatné výpisy po stlačení klávesy E zostali zachované.


Program verzia 1.01:

 

1000 ? CHR$(12)SPC(8)"Igi(c) 27.01.2021 v.1.01":GI=31000
1001 ? SPC(9)"SBC6502 or Micro UK101":K$="Data"
1002 ?SPC(16)"32kB/RAM":W$="0123456789ABCDEF"
1003 FOR A=GI TO GI+31:POKE A,0:NEXT
1004 FOR F=0 TO 12000:NEXT:FOR A=GI TO GI+31
1005 ? CHR$(12);:B=255:POKE A,B
1010 ? "  PROM 74188 7-LED display + dec.point"
1020 ? "   for common cathode + common anode"
1030 ? "Y8=dp Y7=g Y6=f Y5=e Y4=d Y3=c Y2=b Y1=a"
1040 ? "  LED 7segments+dp:":?:? SPC(8)"**a**"
1140 ? SPC(7)"*     *"
1150 ? SPC(7)"f     b           Y=LED ON"
1160 ? SPC(7)"*     *"
1170 ? SPC(8)"**g**            N=LED OFF"
1180 ? SPC(7)"*     *"
1190 ? SPC(7)"e     c"
1200 ? SPC(7)"*     *"
1210 ? SPC(8)"**d**  *dp";"       byte no:";A-GI;"dec"
1250 ?:INPUT " a:";A$:IF A$="Y" OR A$="N" THEN 1252
1251 GOTO 1250
1252 IF A$="Y" THEN B=B-1:POKE A,B
1260 INPUT " b:";B$:IF B$="Y" OR B$="N" THEN 1262
1261 GOTO 1260
1262 IF B$="Y" THEN B=B-2:POKE A,B
1270 INPUT " c:";C$:IF C$="Y" OR C$="N" THEN 1272
1271 GOTO 1270
1272 IF C$="Y" THEN B=B-4:POKE A,B
1280 INPUT " d:";D$:IF D$="Y" OR D$="N" THEN 1282
1281 GOTO 1280
1282 IF D$="Y" THEN B=B-8:POKE A,B
1290 INPUT " e:";E$:IF E$="Y" OR E$="N" THEN 1292
1291 GOTO 1290
1292 IF E$="Y" THEN B=B-16:POKE A,B
1300 INPUT " f:";F$:IF F$="Y" OR F$="N" THEN 1302
1301 GOTO 1300
1302 IF F$="Y" THEN B=B-32:POKE A,B
1310 INPUT " g:";G$:IF G$="Y" OR G$="N" THEN 1312
1311 GOTO 1310
1312 IF G$="Y" THEN B=B-64:POKE A,B
1320 INPUT "dp:";P$:IF P$="Y" OR P$="N" THEN 1322
1321 GOTO 1320
1322 IF P$="Y" THEN B=B-128:POKE A,B
1500 ? CHR$(12)" Resume byte no:"A-GI;"dec":?
1510 IF A$="Y" THEN ? "  *****"
1515 IF A$="N" THEN ? "  ....."
1520 FOR F=1 TO 3
1525 IF F$="Y" AND B$="Y" THEN ? " *     *"
1530 IF F$="N" AND B$="N" THEN ? " .     ."
1535 IF F$="Y" AND B$="N" THEN ? " *     ."
1540 IF F$="N" AND B$="Y" THEN ? " .     *"
1545 NEXT
1550 IF G$="Y" THEN ? "  *****"
1555 IF G$="N" THEN ? "  ....."
1560 FOR F=1 TO 3
1565 IF E$="Y" AND C$="Y" THEN ? " *     *"
1570 IF E$="N" AND C$="N" THEN ? " .     ."
1575 IF E$="Y" AND C$="N" THEN ? " *     ."
1580 IF E$="N" AND C$="Y" THEN ? " .     *"
1585 NEXT
1590 IF D$="Y" AND P$="Y" THEN ? "  ***** *"
1595 IF D$="N" AND P$="N" THEN ? "  ..... ."
1600 IF D$="Y" AND P$="N" THEN ? "  ***** ."
1605 IF D$="N" AND P$="Y" THEN ? "  ..... *"
1620 ?:IF A<GI+31 THEN 1640
1630 GOTO 2001
1640 ? "type:"SPC(9)"dec:"SPC(9)"hex:"SPC(11)"binary :"
1650 ? SPC(42)"76543210":U=0:N=B:K=B
1670 ? " CA",B,:GOSUB 2600:GOSUB 2700:?
1680 N=255-B:K=255-B:? " CC",255-B,:GOSUB 2600:GOSUB 2700
2000 ?:?:? " (B)ad setting, (C)ontinue, (R)estart";
2001 ? " or (E)nd":?:? " Your choice:";:INPUT A$
2002 ?:IF A$="B" OR A$="C" OR A$="R" OR A$="E" THEN 2004
2003 GOTO 2000
2004 IF A$="B" THEN 1005
2006 IF A$="C" THEN 2020
2008 IF A$="R" THEN RUN
2010 IF A$="E" THEN 2030
2015 GOTO 1005
2020 NEXT
2030 ? CHR$(12);::U=1:C=A-GI+1: FOR A=GI TO GI+31
2040 R=PEEK(A):POKE A+100,255-R:NEXT:PD=GI:I=PD
2500 ? SPC(11)"PROM data - please, save this screen !":?
2502 ? SPC(11)"Common anode:":GOSUB 2506:?:PD=GI+100:I=PD
2503 FOR A=PD+C TO PD+31:POKE A,0:NEXT
2504 ? SPC(11)"Common cathode:":GOSUB 2506:END   
2506 ? SPC(11)K$;" hex:":? SPC(12)"0000:";
2508 FOR F=PD TO PD+15:N=PEEK(F):GOSUB 2600:NEXT
2510 ?:? SPC(12)"0010:";
2512 FOR F=PD+16 TO PD+31:N=PEEK(F):GOSUB 2600:NEXT
2514 ?:? SPC(11)K$;" dec:"
2516 ? SPC(12)"9001 "K$;:GOSUB 2620
2517 ? SPC(12)"9002 "K$;:GOSUB 2620
2518 ? SPC(12)"9003 "K$;:GOSUB 2620
2519 ? SPC(12)"9004 "K$;:GOSUB 2620:RETURN
2600 L=N AND 15:H=(N-L)/16
2605 ? MID$(W$,H+1,1)MID$(W$,L+1,1)" ";:IF U=0 THEN ?,
2615 RETURN
2620 FOR G=I TO I+6:? PEEK(G);CHR$(8);",";:NEXT
2622 ? PEEK(I+7):I=I+8:RETURN
2700 G=128:FOR M=1 TO 8:GOSUB 2710:?X$;:G=G/2:NEXT
2710 IF K=G OR K>G THEN K=K-G:X$="1":RETURN
2720 X$="0":RETURN

Download programu verzia 1.01:

7led_plus_dp_final1_01n1.txt (3,76 kb)

______________________________________________________

Vaše hodnotenie, Rate post:

01_2023 Blog, Notes.

By Administrator at January 12, 2023 13:10
Filed Under: Blog

12.01.2023

Zase jeden z Basic-ových programov pre môjho obľúbenca - SBC6502:

SBC6502 - 61 - basic programs - Eratosthenovo sito. Sieve of Eratosthenes.

____________________________________________________

17.01.2023

Niekomu stálo za to urobiť DDOS útok na moje stránky, takže sa ospravedlňujem za dnešný niekoľkohodinový výpadok stránok.

__________________________________________________________

27.01.2023

Vytiahol som jeden z mojich pomocných programov pre SBC6502 a PROM 74188:

SBC6502 - 62 - basic programs. 7segments LED plus dp.

____________________________________________________

Vaše hodnotenie, Rate post:

SBC6502 - 61 - basic programs - Eratosthenovo sito. Sieve of Eratosthenes.

By Administrator at January 12, 2023 13:06
Filed Under: SBC6502

Ďalší zo zaujímavých programov v jazyku Basic pre 8-bity. Eratosthenovo sito je algoritmus pre nájdenie všetkých prvočísel menších ako zadaná horná hranica. Algoritmus je pomenovaný po gréckom matematikovi Eratosthenovi, ktorý žil v rokoch 276–194 pred Kr.

Algoritmus funguje na postupnom „presievaní“ zoznamu čísel – na začiatku zoznam obsahuje všetky čísla v danom rozsahu (2, 3, 4, …, zadané maximum). Potom sa opakovane prvé číslo zo zoznamu vyberie, toto číslo je prvočíslom; zo zoznamu sa potom odstránia všetky násobky tohto čísla (to sú zložené čísla). Tak sa pokračuje až dovtedy, kým sa zo zoznamu neodstráni posledné číslo (alebo dovtedy, keď je ako prvočíslo označené číslo vyššie ako odmocnina najvyššieho čísla – v tomto prípade všetky zostávajúce čísla v zozname sú určite prvočísla).

 

Obrázok pochádza z Wikimedia Commons.

Tento súbor /obrázok/ podlieha licencii:

Creative Commons Attribution-Share Alike 3.0 Unported


Príklad pre nájdenie prvočísel medzi prvými 20 číslami :

Krok 1: Zoznam obsahuje všetky čísla v rozsahu 2–20:

    Zoznam: 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Krok 2: Odoberieme prvé číslo zo zoznamu a označíme ho ako prvočíslo:

    Známe prvočísla: 2
    Zoznam: 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Krok 3: Odoberieme zo zoznamu všetky násobky práve odobratého prvočísla:

    Známe prvočísla: 2
    Zoznam: 3 5 7 9 11 13 15 17 19

Krok 4: Pokračujeme opäť bodom 2, pokiaľ ostávajú nejaké čísla :

    Známe prvočísla: 2 3
    Zoznam: 5 7 11 13 17 19

    Známe prvočísla: 2 3 5
    Zoznam: 7 11 13 17 19

    5 je vyšší než ?19, takže ostávajú už iba prvočísla.

Výsledný zoznam prvočísel v rozsahu 2–20: 2, 3, 5, 7, 11, 13, 17, 19.


Základné informácie sú prevzaté z: 

https://sk.wikipedia.org/wiki/Eratostenovo_sito

___________________________________________________________


Vlastný program:

je prevzatý a iba mierne upravený pre možnosti SBC6502 /maximum je S=89 namiesto S=100, je k dispozícii príliš malá RAM/ zo stránky:

https://www.xenesis.jp/2022/05/sieve-fp-basic/


 100 S=89
 110 M=S*S
 120 DIM P(M)
 130 ? "INIT TABLE"
 140 FOR I=2 TO M
 150 P(I)=1
 160 NEXT I
 170 ? "SIEVE CALC"
 180 FOR I=2 TO S
 190 IF P(I) <> 1 THEN GOTO 240
 200 ? I; ",";
 210 FOR J=I TO M/I
 220 P(I*J)=0
 230 NEXT J
 240 NEXT I
 244 ?
 250 ?
 260 ? "PRIME NUMBERS"
 270 FOR I=2 TO M
 280 IF P(I)=1 THEN ? I; ",";
 290 NEXT I

 

Download programu:

Erastothenes1.txt (358,00 bytes)

 

nasleduje skrátená verzia uvedeného programu, tu sú už riadky "zrazené" k sebe:


 100 S=89:M=S*S:DIM P(M):? "INIT TABLE"
 140 FOR I=2 TO M:P(I)=1:NEXT I:? "SIEVE CALC"
 180 FOR I=2 TO S:IF P(I) <> 1 THEN GOTO 240
 200 ? I; ",";:FOR J=I TO M/I:P(I*J)=0:NEXT J
 240 NEXT I:?:?:? "PRIME NUMBERS"
 270 FOR I=2 TO M:IF P(I)=1 THEN ? I; ",";

 290 NEXT I

 

Download programu:

Erastothenes2.txt (274,00 bytes)

 

Prvá časť výpisu v terminálovom okne, pokračuje až po ...


číslo 7919 ...

 

Program je naozajstným "žrútom" dostupnej RAM:

Max. možné je použiť číslo S=89 v riadku č.100, pri 32kB RAM SBC6502 potom zostáva už iba 254 voľných byte RAM.

Asi je dobré popísať metodiku merania času:

Doba výpočtu na SBC6502 (x-tal = 4.9152MHz), meria sa po zobrazení čísla 89 na displeji = 23.4sec

/v časti SIEVE CALC, nazvem to medzičasom/

Ak zarátame ďalší výpis čísiel od PRIME NUMBERS po 7919, tak celkový čas behu programu = 32sec


/Tu by sa hodilo mať RAM v SBC6502 rozšírenú na väčšiu hodnotu  - 40kB alebo 46kB RAM ..., asi prvý prípad kedy to konštatujem./

Poznámka:
V prípade skráteného zápisu pri použití S=89 zostáva voľných 302 byte RAM, doba výpočtu sa skráti o cca 0.7sec.

_____________________________________________________________

Vaše hodnotenie, Rate post:

DRAMduino - tester DRAM 4164(64kx1) - 41256(256kx1). Part4.

By Administrator at December 31, 2022 21:56
Filed Under: SBC8085-NCB85

 

Na Silvestra nový firmware pre tester DRAM od Radima Poláška:

Zdravim,
posilam ti opozdeny vanocni darek (viz. priloha).
jde o novy sw pro dramduino, zrychlil jsem ho o 40% (z 15s na 9s pro 4164) pri zachovani vsech testu.
bye
--radim

dramduino.hex (13,48 kb)

Čo dodať ? Obdivuhodná robota, alebo inak - kto vie, vie.

____________________________________________________

Vaše hodnotenie, Rate post:

12_2022 Blog, Notes.

By Administrator at December 02, 2022 10:32
Filed Under: Blog

02.12.2022

Včera mi prišla domov vec ktorú som chcel mať doma už dávno, len to doteraz nie a nie zohnať za dostatočne rozumnú cenu ...

Philips PM6667 high resolution counter 120MHz.

____________________________________________________

12.12.2022

Mám za sebou pár dní, ale lepšie povedané týždeň "blbec" - s veľkým B. Pred 5 dňami som si odzálohoval celý domáci NAS na iný disk, tiež s tým boli problémy a nakoniec mi to trvalo omnoho dlhšie ako som čakal ale nakoniec to dobre dopadlo, začal mi totiž blbnúť disk na ktorý som ukladal dáta, pomohla až jeho výmena za iný. Teraz v sobotu sa zrazu porúčali moje webové stránky, čakal som či nočná údržba webového serveru chybu neodstráni /neodstránila/ dnes som ich obnovil zo zálohy /pár potrebných súborov na webe zrazu malo nulovú dĺžku a teda to bol ten problém, cez víkend som bol mimo BA/ a keďže sa mi nechcelo posledný článok o čítači Philips PM6667 celý nanovo od začiatku dlapať tak som pustil obnovu priamo zo zálohy/ - a na dôvažok mi dnes poobede krachol domáci NAS. Mám "radosť", síce zostáva mi už rozchodiť iba to NAS-ko, takže zase je čo robiť ...

Pohoda kam len okom dovidím ...

__________________________________________________________

22.12.2022

Príjemné prežitie Vianoc, pohodu, čo najmenej politiky, čo najviac radosti z rodiny a tiež blížiace sa PF ŠNR 2023 Vám praje Igi.

____________________________________________________

25.12.2022

Dnes taká maličkosť - mám doma deličky NTE74LS90 - čiže je to klasická 74LS90, podľa datasheetu môžu mať na vstupe max. 32MHz, dnes otestovné a odskúšané - na vstupe použitých viac ako slušných 48MHz z TTL oscilátoru - a aj po hodine prevádzky to beží a funguje naprosto v pohode ... toto sa mi naozaj pozdáva, je to príjemné prekvapenie. Delička je nastavená na delenie 10-timi, na výstupe je krásnych /a pevných/ 4.8MHz, čip je iba vlažný. Použitie filtračných kapacít tesne pri čipe oscilátoru a vlastnej deličky je klasika /a samozrejmosť/.

___________________________________________________________

31.12.2022

Je Silvester, bilancuje sa, zvyčajne. Počas dnešnej noci som si pomenul /síce neviem prečo práve na toto/ na jednu záležitosť ktorá sa týkala serverov Compaq, bolo to už dávno, radšej nebudem rok ani tipovať aby som sa nepomýlil. Boli to tie nezvyčajne dlhé skrine, /rozmerni tak dve veľké skrinky pre PC za sebou/, poriadne ťažké.
Jeden zo serverov "ľahol", samozrejme presne medzi sviatkami. Identifikácia problému bola rýchla a jasná - prestal fungovať jeden z dvojice ventilátorov na zadnej stene, mal 120mm priemer, napájanie 12V/DC/0.8A.
Odstavený serever vo firme urobil nečakané voľno /a pridal starosti/ celkom slušnému množstvu ľudí. Náhradu počas sviatkov som nevidel ako možnú - všetko už bolo pomaly zatvorené, ale nakoniec som predsa len zohnal podobný ventiáltor, rozmerni presne rovnaký, ale s príkonom 0.6A.
Vydolovať starý ventilátor pritom nebola celkom jednoduchá záležitosť, dosť vecí okolo bolo treba rozobrať aby som sa k nemu dostal. Vymenil som ventilátor, všetko nanovo zapojil a myslel som si že je vystarané. Nebolo. Po štarte server bežal cca 3/4 minúty a potom zahlásil error a koniec. Reštartoval som ho a po zopakovaní hlášky ma napadlo že môže byť problém v tom že ventilátor ma nižší príkon. Zase sa rozoberalo a pridal som paralelne k ventilátoru odpor aby som dosiahl rovnaký príkon, t.j. 0.8A. Odpor som zabudoval tak že bol umiestnený priamo pred spomínaným ventilátorom, čiže jeho chladenie bolo naozaj dobré.
Po novej rozborke a zborke som to teda nanovo zapol a voilá - server fungoval ! Takže jeho diagnostika skutočne úzkostliovo sledovala odbery ... celá odstávka trvala dohromady asi 2 hodiny.
V takomto zapojení potom pokračoval server ďalej bez najmenších problémov ešte 2 roky - a potom už prišla generačná výmena serverov ...

__________________________________________________________

31.12.2022

Silvestrovský nový firmware pre tester DRAM:

DRAMduino - tester DRAM 4164(64kx1) - 41256(256kx1). Part4.

____________________________________________________

Vaše hodnotenie, Rate post:

Philips PM6667 high resolution counter 120MHz.

By Administrator at December 02, 2022 10:20
Filed Under: Non-Atari

Tak som si urobil "radosť", kúpil som si čítač frekvencie Philips PM6667. Rok výroby 1980, čiže rozhodne už má niečo za sebou, ale funguje na jednotku a to aj po tých rokoch.


Ako tak pozerám na portáli ebay - ceny zariadenia sú naozaj hodne vysoko, mám ho asi tak za približne štvrtinovú cenu. Rozsah merania 10Hz÷120MHz je na moje použitie viac ako dostatočný, smerom nahor určite viac nepotrebujem. Smerom nadol by sa hodilo viac, niekde tak na hranicu 1Hz /občas sa to hodí/, ale na to mám aj iné zariadenia, takže to dokážem oželieť. Meranie vlastného signálu je vyriešené výborne, rozmerni je mi to viac ako sympatické, neváhal som, je to doma.


Jediná vec čo ma mrzí je čiastočne poškriabaný predný panel napravo pod displejom, ale mám pocit že s tým budem vedieť niečo urobiť. A ešte to potrebuje absolvovať dôkladnú očistu, hlavne predný panel a povrch skrinky, zvnútra je to ale naozaj v top stave.

 

A kvalitných 10.00000MHz je tu naozaj 10.00000MHz ...

 

Spracovanie signálu je plne automatické, na 7 platných miest, merania prebiehajú buď 1x za sekundu /režim slow/, alebo 5x za sekundu /režim fast/, vtedy je presnosť na 6 miest. Na webe som sa dočítal že pre niekoho sú tie merania svojou rýchlosťou príliš pomalé, no, neviem tak potom treba hľadať niečo čo stojí 20÷40x viac ..., mne tento čítač naprosto vyhovuje. Vstupný signál môže dosahovať hodnoty až 260V rms bez poškodenia vstupnej časti. Prepínač vstupnej citlivosti má použitý gombík s malým priemerom, t.j. je potrebné vyvinúť väčšiu silu na jeho prepnutie do inej polohy. /Napravil by to na tomto mieste gombík s väčším priemerom, lenže potom by to krylo popisky určené pre prepínač - ale aj takto sa s tým dá žiť./


Pozrime si tzv. pracovnú obálku čítača Philips PM6667:

 

Sedemmiestny displej je typu LCD, čiže je dosiahnutá pozoruhodne nízka spotreba - je ale bez podsvietenia, čo je asi jediná vec ktorá mi tu chýba. Na displeji je uvedené rozlíšenie v Hz, kHz, MHz - prepínanie uvedených rozsahov je plne automatické. Celý čítač riadi mikroprocesor 8048 ktorý sa práve vtedy objavil na trhu /začal ho vyrábať Intel a postupne pod jeho licenciou aj ďalší výrobcovia - tu použitý konkrétny kus je od výrobcu NEC/. Riadiaci x-tal čítača pracuje na 10MHz /jeho výstup je tiež vyvedený na zadný panel pod napájacím konektorom/, pomocou deličky :2 je potom na základnej doske získaných 5MHz tento kmitočet je potom privedený ako clock priamo na mikroprocesor. Čo sa týka vlastného zapojenia - viac to tu nehodlám pitvať, koho to zaujíma viac - viď vlastný manuál kde je aj schéma zapojenia.

Zaujímavosťou je to že sa tento čítač vyrábal v pobočke firmy Philips vo Švédsku.


Ak chcete presne merať tak stačí čítač zapnúť asi tak 15÷20 minút pred vlastným meraním /puristi zapínajú aspoň hodinu dopredu/ a potom už dostanete dostatočne presné hodnoty merania. Ak nám na nejakom tom Hertzi pri meraní z rozličných dôvodov nezáleží /rozhodne je odchýlka bez zahriatia pri meraní menšia ako ± 10Hz, pri reálnom používaní sa pohybuje pod hranicou ± 2Hz/ tak môžeme merať aj okamžite. Zariadenie je aj po hodinovej prevádzke iba mierne vlažné, t.j. akurát tak na hranici toho aby ste spoznali že je to už dlhšie zapnuté.


Nasleduje oprava textu:

Pôvodne som si myslel že trvale tu beží oscilátor čítača, ale je zapnutý iba samotný zdroj 5V. Chyba lávky, premeral som to a: zariadenie má zabudovaný tzv. standby režim, kedy pri vypnutom zariadení beží trvale samotný zdroj, t.j. rýchlejšie ustálenie kmitočtu oscilátoru je priamo zabezpečené týmto režimom /trvalý beh oscilátoru sa používa v omnoho drahších typoch čítačov/. Patrím medzi tých čo zariadenie kompletne odpájajú od elektriny a teda pre "nás opatrných" (nemám rád ak niečo beží bez dozoru a to ešte v režime 7/24) platí pri používaní predchádzajúci odstavec. Kto to má trvale v v elektrickej sieti tak ustálenie kmitočtu oscilátoru je po zapnutí omnoho rýchlejšie /trafo má už svoju pracovnú teplotu a tak zbytočne postupne nemení tepelné pomery v zariadení. V dnešnej dobe znižovania spotreby elektrickej energie úplné vypnutie mimo iného šetrí "šťavu". V akom režime to budete používať je zase len a len na Vás.


Papierový údaj hovorí o príkone zariadenia 15W, reálna spotreba nameraná wattmetrom v prevádzke = 5W /merané pri frekvencii 10.00MHz na vstupe čítača/.


Na spodnej strane sa nachádza šikovný výklopný podstavec - ak sledujete zariadenie na stole /poskytuje lepší uhol pre náhľad na displej/, inak ho netreba vyklápať.

 

Manuál obsahuje aj schému zapojenia a postup pre nastavovacie prvky, sú iba dva, jeden je premenná kapacita /10MHz nastavenie/ a jeden pot.trimer ktorým sa nastaví správna vstupná citlivosť - v mojom prípade som na nič nemusel siahnuť, všetko beží tak ako má ... samozrejme vŕtať sa v nastavení nedopručujem ! - treba vedieť čo robíme.

Philips PM_6667 instr_manual.pdf (3,44 mb)

 

Nasleduje obrazová galéria:


Po odbratí plastového krytu je pekne vidieť tienenie celého zariadenia.

 

Tienenie prepínača má vlastnú, oddelenú zem. Vlastná základná doska je "európska" škola,

je dosť rozdielna od USA.

 

Hlavný vypínač - ak je vypnutý stále na stabilizátore je funkčných 5V. Celá doska používa hornú stranu

ako zem = tienenie proti možnému rušeniu.

 

Stabilizátor 7805. Na jeho vývode napravo je trvale +  5V - aj keď je zariadenie vypnuté. Pod stabilizítorom

je umiestnená izolačná podložka.

 

Podľa popisu na mikroprocesore je firmware priamo určený pre typy zariadení PM6667 a PM6668.

 

Použitý prepínač citlivosti nie je žiadne orezávatko ...


Upozorním na kapacity priamo na vstupnom napájacom konektore - ešte bude o nich v článku reč.

V stby režime je na veľkých /modrých/ kapacitách cca 16V/DC, po zapnutí zariadenia

klesá na nich napätie na cca 12V/DC /sú zapojené paralelne/.

 

Tu je vidieť /mimo iného/ výstup 10MHz. Tu je možné použiť aj externý zdroj ešte presnejšieho signálu 10MHz pre ešte exaktnejšie merania. Aby sa to dalo použiť je potrebné na základnej doske prepnúť jumper - popis ako na to je súčasťou priloženého manuálu. Signál ext. vstupu 10MHz je potom cez BNC konektor nad napájacím konektorom.

 

Precízna, čistá práca, nie sú tu žiadne drátikové "dorobky" ako sme často zvyknutí. Zjavne sa vtedy robilo poriadne, teda nejedná sa tu o žiadnu "spotrebnú" elektroniku v dnešnom zmysle slova. Trafko je typu "C", čiže žiadne nežiadúce rozptylové pole. Na čo upozorňujú aj iné pramene je dobré na vstupe (AC napájací konektor) odobrať použité filtračné kapacity, hrozí totiž ich prieraz - sú na na dnešnú dobu na príliš malé napätie - iba na ˜250V, toto je jediná negatívna vec čo som na webe k zariadeniu našiel - takže obidve kapacity pôjdu von a ak tam niečo dám namiesto nich tak to bude na napätie cca 400V/AC. Sú totiž priamo na vstupe kde je 230V/AC takže tam nie je v ceste poistka, ak sa niektorý z dvojice kondenzátorov prerazí - je to potom v pérd...li./

(Nakoniec som zohnal 1nF/275V/AC, je to o kus lepšie ako tie pôvodné kapacity ...)

 

Rozmery a váha:

šírka - 160mm

výška - 77mm

hĺbka - 180mm

váha: 1.2kg

___________________________________________________________

04.12.2022

Nemá to na sebe žiadne ďalšie prepínače, nevie to žiadne ďalšie fičúrky, ale ako čítač funguje excelentne - a to bez nastavovania aj po tých rokoch, stabilita celého zariadenia je obdivuhodná. Meral som teplotne kompenzovaný /stabilizovaný/ oscilátor od firmy Vectron CO231-T-4Y (5.0112 MHz) /TTL výstup/ a aj po hodine merania jeho frekvencia sedí. (Ten oscilátor mám odložený z pôvodného zariadenia pre príjem obrázkov pre tlačové agentúry, pochádza tak z roku 1976÷77, doteraz bol po vtedajšej likvidácii zariadenia odložený doma v šuplíku, asi ho začnem používať ako kmitočtový normál, na webe som už nenašiel k nemu datasheet, našťastie som si jeho neštandartné rozloženie vývodov vtedy poznačil - a to priamo na spodnú stranu TXCO.)

Pri meraní používam osciloskopickú sondu, je prepnutá na rozsah 1:10, vtedy meria bezproblémovo aj vyššie kmitočty /presne v takomto režime sa sonda používa aj na osciloskope/. Pri meraní nízkych kmitočtov /frekvencií/ je možné ju mať prepnutú aj do režimu 1:1 /ak sa meraná frekvencia nachádza niekde pod hodnotou <6MHz/.

 

Vectron CO231T4Y (5.0112 MHz)

 

Čítanie v režime Fast.

 

Čítanie v režime Slow.

(väčšie rozlíšenie, na 7 miest)

 

P.S.: Vlastná skrinka je už očistená, tam kde bola oškretá farba a presvital miestami biely podklad som použil čiernu modelársku farbu s maličkým štetcom a pretrel som svetlé škvrnky, funguje to a kryje to vynikajúco. Na spodnej strane skrinky som vzadu pridal dve samolepiace gumové podložky ktoré tu vekom chýbali /sú proti sklzu/ - teraz už zostáva iba opraviť vrypy na prednom paneli. Síce mám ďalšie dva čítače, jeden beží do 1.3GHz - lenže ten je iba 6-miestny /ale zase meria od 0.1Hz/, (druhý do 100MHz dtto), ale toto bola skutočná "srdcovka", má svoje pevné miesto v mojom labe.

______________________________________________________

Vaše hodnotenie, Rate post:

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, polynómy - 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 - vypoč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. 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 78) sa naozaj chodí iba občas.


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 síce je 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 teda 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í 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.

___________________________________________________________

Vaše hodnotenie, Rate post:

SBC6502 - 58 - basic programs - Fourier analyze.

By Administrator at September 26, 2022 12:15
Filed Under: SBC6502

 

Zmysluplné programy pre Basic hlavne na UK101 a Ohio Scientific (vedecký ...) sa dosť ťažko zháňajú a hľadajú. Napokon, už odvtedy skutočne uplynulo pekných pár rokov.

Keď sa pozriem na to koľko knižných titulov aj s ukážkami v jazyku Basic vyšlo napríklad pre Atari - nuž tam sú to oproti OSI a UK101 vskutku lukulské hody, tu je to ako hľadať zrnko piesku v púšti.


Pozrime si tento výpočet na SBC6502 (UK101):

Doplnená poznámka:

Včera som bol priamo pod článkom upozornený v komentári na chybu v programe a tak nasledovala oprava (vďaka dex !). Čo je zaujímavé, mám tento program z dvoch nezávislých  zdrojov, jeden v časopise a druhý na webe (a tvrdí sa tam že je to otestované) - ale v obidvoch sa nachádza uvedená chyba, jednoducho niet nad kvalitné podklady.Tongue out

 

Poďme si pozrieť vypichnutú "problémovú"  časť programu, je označená podčiarknutím textu:

...

150 INPUT "IS FUNCTION ODD, EVEN OR NEITHER";Q$
200 PRINT "HARMONIC","NO. OF LOOPS","RESULT"
212 IF Q$="ODD" THEN 340
213 IF Q$="EVEN" THEN 450
216 IF Q$="ODD" THEN 340
220 N=0:A1=-L:B1=L:G=1

...

 
Opravená časť programu je zvýraznené, riadok č.220 v programe nebol vôbec použitý. Zmena je v obsahu riadku 216 a jeden riadok (217) pribudol, rieši chybu zlého zadania voľby. Ak ešte niekto nájde nejakú chybu - dajte vedieť.
...
150 INPUT "IS FUNCTION ODD, EVEN OR NEITHER";Q$
200 PRINT "HARMONIC","NO. OF LOOPS","RESULT"
212 IF Q$="ODD" THEN 340
213 IF Q$="EVEN" THEN 450
216 IF Q$="NEITHER" THEN 220
217 GOTO 150

220 N=0:A1=-L:B1=L:G=1
...

Kompletný listing programu s už uvedenou opravou:


1 REM 48char. x 16 lines
5 POKE (11),237:POKE (12),254:PI=3.1415927
10 PRINT:PRINT:PRINT "FOURIER SERIES!!!"
20 PRINT "-----------------":PRINT
30 DIM A(99),B(99)
40 LL=54220
50 GOTO 9000
60 REM SAMPLE EQUATION OF A SQUARE WAVE WHEN
61 REM DEFINED AS EVEN
70 INPUT "NO. OF HARMONICS";M:M=INT(ABS(M))
80 N=0:G=0
100 DEF FNA(X)=X*X+1
110 REM PUT YOUR FUNCTION ON LINE 100 AS A
120 REM FUNCTION OF X, AS ABOVE
130 INPUT "PERIOD";L:L=ABS(L/2)
150 INPUT "IS FUNCTION ODD, EVEN OR NEITHER";Q$
200 PRINT "HARMONIC","NO. OF LOOPS","RESULT"
212 IF Q$="ODD" THEN 340
213 IF Q$="EVEN" THEN 450
216 IF Q$="NEITHER" THEN 220
217 GOTO 150
220 N=0:A1=-L:B1=L:G=1
260 GOSUB 2000:A(N)=I9/L:N=N+1:IF N<=M THEN 260
280 N=0:G=0
290 GOSUB 2000:B(N)=I9/L:N=N+1:IF N<=M THEN 290
330 GOTO 540
340 N=1:A1=0:B1=L:G=0
380 GOSUB 2000:B(N)=I9*2/L:N=N+1:IF N<=M THEN 380
440 GOTO 540
450 N=0:A1=0:B1=L:G=1
490 GOSUB 2000:A(N)=I9*2/L:N=N+1:IF N<=M THEN 490
540 PRINT:INPUT "TABLE PRINTOUT";Q$
545 IF LEFT$(Q$,1)="Y" THEN 1000
550 PRINT"F(X)=";A(0)/2;"+[";
560 FOR N=1 TO M:IF A(N)=0 THEN 610
580 IF B(N)=0 THEN 630
590 PRINT A(N);"COS(";N/L;"*PI*X)+";B(N);"SIN(";N/L;"*PI*X)+";
600 GOTO 640
610 PRINT B(N);"SIN(";N/L;"*PI*X)+";
620 GOTO 640
630 PRINT A(N);"COS(";N/L;"*PI*X)+";
640 NEXT N:PRINT "]":END
670 INPUT "GRAPH";Q$:IF Q$="NO" THEN END
690 INPUT "LINES PER CYCLE";L1
700 C=100
710 INPUT "AMPLITUDE";A1:A1=24/A1
720 FOR X=0 TO 2*L*C STEP 2*L/L1
730 P=0:FOR N=1 TO M
740 P=P+A(N)*COS(N*PI*X/L)+B(N)*SIN(N*PI*X/L)
750 NEXT N
760 P=P+A(0)/2
770 PRINT:POKE (LL+24),73
780 R=(P*A1)+24:IF R<0 OR R>48 THEN 880
785 LN=INT(((R-INT(R))*8)+4.5)
787 IF LN>7 THEN LN=LN-8:R=R+1
790 POKE (LL+R),LN+136
880 NEXT X
890 END
1000 PRINT:PRINT "F(X)="F$"=";A(0)/2;"+"
1020 PRINT "HARMONIC","COS/SIN COEFF."
1030 FOR N=1 TO M
1035 IF A(N)=0 THEN 1044
1040 PRINT N,A(N),"*COS(";N/L;"*PI*X)"
1044 IF B(N)=0 THEN 1046
1045 PRINT N,B(N),"*SIN(";N/L;"*PI*X)"
1046 IF N/6=INT(N/6)THEN X=USR(X)
1050 NEXT N
1060 GOTO 670
2000 REM NUMERICAL INTEGRATION OF FNX
2010 REM SEVEN POINT SIMPSONS RULE
2050 DEF FNX(X)=FNA(X)*(COS(N*PI*X/L)*G+SIN(N*PI*X/L)*(1-G))
2060 X1=(B1-A1)/6:I1=FNX(A1)+FNX(B1)
2070 I2=FNX(A1+X1):I3=FNX(A1+2*X1)
2080 I4=FNX(A1+3*X1):I5=FNX(A1+4*X1)
2090 I6=FNX(A1+5*X1):I7=0
2095 I=X1*(41*I1+216*I2+27*I3+272*I4+27*I5+216*I6)/140
2100 H9=I2+I5:I5=I3+I6:I3=H9:I7=I7+I4
2110 I2=0:I4=0:I6=0:X1=X1/2
2140 X=A1+X1
2150 I2=I2+FNX(X):I4=I4+FNX(X+2*X1)
2155 I6=I6+FNX(X+4*X1):X=X+6*X1:IF X<B1 THEN 2150
2180 I9=X1*(41*I1+216*I2+27*I3+272*I4+27*I5+216*I6+82*I7)/140
2181 IF (B1-A1)/X1<=96 THEN 2200
2182 IF (B1-A1)/X1>760 THEN 2220
2184 IF ABS(I9)<.00001 THEN 2220
2185 IF I=I9 THEN 2220
2190 IF ABS((I-I9)/I)<=.000001 THEN 2220
2200 I=I9:GOTO 2100
2220 REM RESULT IN I9
2225 PRINT N,(B1-A1)/X1,I9*2/L
2230 RETURN
9000 PRINT "THIS PROGRAM DOES A FOURIER ANALYSIS OF"
9010 PRINT "ANY FUNCTION."
9020 PRINT "TO GIVE THE EQUIVALENT FUNCTION AS A SUM"
9030 PRINT "OF A FUNDIMENTAL SINE WAVE AND ITS HARMONICS"
9040 PRINT "DEFINE THE FUNCTION ON LINE 100"
9045 PRINT "AS FNA. THEN INPUT THE NO. OF HARMONICS"
9050 PRINT "AND THE PERIOD, AND THE DEFINITION OF"
9060 PRINT "THE FUNCTION AS ODD, EVEN OR NEITHER"
9070 PRINT "THE RESULTS CAN BE PRINTED IN TABLE OR"
9080 PRINT "EQUATION FORM AND A GRAPH OF THE HAMONICS"
9090 PRINT "CAN BE PLOTTED IF NEEDED":GOTO 60

 

Download modifikovaného programu:

Fourier analyze_modify.txt (3,53 kb)

(Pri x-tale= 4.9152MHz výpočty prebiehajú celkom rýchlo ...)

 

Download pôvodného programu zo spomenutou chybou (rovnaké riadky 212 a 216):

Fourier analyze.txt (3,51 kb)

______________________________________________________

Vaše hodnotenie, Rate post:

SBC6502 - 57 - basic programs - Astable 555 timer calculator.

By Administrator at September 14, 2022 10:50
Filed Under: SBC6502

 

Astable 555 timer calculator.


Ďalší z pomocných programčekov pre astabilný generátor s čipom 555. Použiť obvod 555 ako generátor pulzov je dodnes vec veľmi obľúbená a často používaná. Program som upravil pre SBC6502 (program samozrejme bez najmenších problémov funguje aj na UK101) a pridal som aj grafické znázornenie vlastného obvodového zapojenia 555. Boli prevedené niektoré zmeny v programe /napríklad v SBC6502 nemám k dispozícii prikaz IF THEN ELSE/, ale to sa dalo vyriešiť. Takže som to celé upravil a prekopal k obrazu svojmu. V zapojení (oproti pôvodnému) pribudli ďalšie dva kondenzátory C2 a C3, ich pripojenie síce nie je nevyhnutné, ale výrazne zlepšujú činnosť vlastného zapojenia, je to potom na výstupe stabilnejšie.

 

Program poskytuje dve možnosti výpočtu, samostatné zobrazenie zapojenia a ukončenie programu:

1.- zadáme hodnoty súčiastok R1, R2, C1 a program vypočíta frekvenciu a plnenie duty cycle

     /dokáže zobraziť zapojenie s už vyrátanými hodnotami súčiastok/

2.- zadáme frekvenciu, duty cycle a hodnotu R2 a program spočíta potrebné hodnoty súčiastok

     /dokáže zobraziť zapojenie s už vyrátanými hodnotami súčiastok/

3.- zobrazenie vlastnej schémy /tu nie sú k dispozícii hodnoty súčiastok/

4.- ukončenie programu


Listing programu:


100 REM --- 80column´s Hyperterminal ---
110 GOSUB 690:POKE 15,80:CLEAR:GOSUB 650
120 PRINT " *          Astable 555 TIMER CALCULATION PROGRAM        *"
130 PRINT " *     original idea by James E. Tarchinski PE/1989/03        *"
140 PRINT " * modify program (+ circuit) by SBC6502 - Igi 14/09/2022 *"
150 GOSUB 650:PRINT
160 REM --- MENU ---
170 PRINT:PRINT " Would you like to:":G=0:C2=0:C3=0
180 PRINT " (1) - Calculate circuit data from component values"
190 PRINT " (2) - Calculate component values from circuit data"
200 PRINT " (3) - View to circuit
210 PRINT " (4) - Exit the program":PRINT
220 INPUT " Your choice:";Q
230 IF Q=1 THEN PRINT:GOTO 280
240 IF Q=2 THEN 440
250 IF Q=3 THEN GOSUB 690:GOSUB 700:GOTO 160
260 IF Q=4 THEN END
270 GOTO 160
280 PRINT SPC(8)"*************** CALCULATE CIRCUIT DATA ***************"
290 GOSUB 670:G=1:C2=10:C3=100
300 PRINT " (NOTE: R1 should be greater than 1000 ohms)"
310 P$=" R1 (ohms): ":GOSUB 610:R1=V
320 IF R1<1000 THEN GOTO 300
330 P$=" R2 (ohms): ":GOSUB 610: R2=V
340 P$=" C1 (uF)  : ":GOSUB 610: C1=V/1000000:PRINT
350 IF R1*R2*C1=0 THEN PRINT "ERROR: Illegal value(s).":GOTO 160
360 TH=.693*C1*(R1+R2): PRINT"High time  = ";TH;"seconds"
370 TL=.693*C1*R2: PRINT "Low time   = ";TL;"seconds"
380 DC=100*(TH/(TH+TL)):PRINT "Duty cycle = ";DC;"%"
390 PERIOD=TH+TL:PRINT"Period     = ";PERIOD;"seconds"
400 F=1/PERIOD: PRINT "Frequency  = ";F;"Hz"
410 GOSUB 910
420 IF Q$="N" THEN 160
430 IF Q$="Y" THEN GOSUB 700:GOTO 160
440 REM --- CALCULATE COMPONENT VALUES ---
450 GOSUB 670:G=2:C2=10:C3=100
460 P$=" Frequency (Hz): ":GOSUB 610:F=V
470 IF F<>0 THEN 510
480 P$=" Period (seconds): ":GOSUB 610:T=V
490 IF F=0 AND T=0 THEN PRINT " ? ? ?":GOTO 160
500 IF F=0 THEN F=1/T
510 P$=" Duty cycle (in %, must be >50% and not be =>100%): "
520 GOSUB 610: DC=V/100
530 IF DC<=.5 OR DC=>1 THEN PRINT " Error duty cycle range !":GOTO 510
540 P$=" Value of R2 (ohms): ":GOSUB 610: R2=V
550 IF R2<1000 THEN PRINT "Note: R2 should be greater than 1000 ohms)"
560 R1=R2*(2*DC-1)/1-DC: PRINT " R1 = ";R1;"ohms"
570 C1=1440000/(F*(R1+2*R2)):PRINT " C1 = ";C1;"uF"
580 GOSUB 910:REM --- QUESTION ---
590 IF Q$="N" THEN 160
600 IF Q$="Y" THEN GOSUB 700:GOTO 160
610 REM --- INPUT SUBROUTINE ---
620 PRINT P$;:INPUT IN$
630 V=ABS(VAL(IN$))
640 RETURN
650 PRINT " **********************************************************"
660 RETURN
670 PRINT:PRINT " Enter the following components:":RETURN
680 REM --- CLS ---
690 PRINT CHR$(12):RETURN
700 REM --- CIRCUIT ---
710 GOSUB 690:IF G=2 THEN 730
720 C1=C1*1000000
730 W$=" NE555/5-15V   ^ +Vcc":PRINT W$;SPC(14)"ASTABLE 555 TIMER"
740 W$=" 7555 /3-18V   |":PRINT W$;SPC(23)"R1=";R1;"ohms"
750 W$="   +--------+--+-------+":PRINT W$;SPC(15)"R2=";R2;"ohms"
760 W$="   |        |  |       |":PRINT W$;SPC(15)"F =";F;"Hertz"
770 W$="  R1      -------      |":PRINT W$;SPC(15)"C1=";C1;"uF"
780 W$="   +-----|7 8  4 |     |":PRINT W$;SPC(15)"C2=";C2;"nF"
790 W$="   |  +--|6      |     | Output":PRINT W$;SPC(8)"C3=";C3;"nF"
800 W$="  R2  |  |  555 3|-------------> ":PRINT W$
810 W$="   +--+--|       |     |":PRINT W$
820 W$="  +|     |2  1  5|--+  |":PRINT W$
830 W$="  C1      -------   |  |":PRINT W$
840 W$="  -|         |     C2 C3":PRINT W$
850 W$="   +---------+------+--+":PRINT W$;
860 IF G=0 THEN ?SPC(9)" No active input data ..."
870 IF G=1 OR G=2 THEN ?""
880 W$="             |":PRINT W$
890 W$="        Gnd ===":PRINT W$:RETURN
900 ---QUESTION ---
910 PRINT:PRINT " Circuit - (Y)es or (N)o:";:INPUT Q$:RETURN

 

Download programu:

Timer555_astable_n.txt (3,50 kb)

 

Nasledujú praktické ukážky z programu:

 

Úvodné menu - 4 možnosti.


Voľba č.3 - vlastné zapojenie obvodu 555, bez vstupných dát.


Voľba č.1, R1=10000Ω, R2=10000Ω, C1=10uF,

potom nasleduje voľba zobrazenia zapojenia (Y).


Zapojenie, voľba č.1 s už zobrazenými parametrami súčiastok.


Voľba č.2, F=50Hz, Duty cycle=55%, R2=12000Ω, ostatné hodnoty /R1, C1/vyráta program,

potom nasleduje voľba zobrazenia zapojenia (Y).

 

Zapojenie, voľba č.2 s už zobrazenými parametrami súčiastok.


Pre voľbu č.2 je tu ešte jedna vychytávka, pri zadaní Frequency=0 treba zadať číselne požadovanú periódu, potom výpočet zbieha pomocou tohoto údaja. Treba zadať aj Duty cycle a hodnotu odporu R2. Pretože pri nízkych frekvenciách (dlhej perióde) treba použiť elektrolytické kondenzátory tak v schéme je tiež naznačená jeho polarita (C1), platí pre všetky výpočty.

Ak zadáte periódu=0 tak sa sa vrátite do menu.

 

Prajem príjemnú zábavu !

(Nech je čím prevetrať 8-bit ...)

_________________________________________________________________________________

21.11.2022

Dnes som dostal od Stana Havrana zaujímavý mail:

 

Ahoj, Igor,

videl som na Tvojich stránkach o ATARI program na výpočet obvodu 555 pre SBC6502. Mal som chvíľu čas, a tak som ho prepísal pre PC ako batch. Zbúchal som to za jeden večer, možno sú tam aj nejaké chyby, ale je to funkčné.

Zachoval som celú štruktúru programu aj s odkazmi na riadky v basicu, aby sa v tom dalo lepšie orientovať, hoci by sa dal aj optimalizovať a zdokonaliť, výsledky, premenné atď. ukladať na disk (čítať z disku) a podobné parádičky. Viac sa tomu nemienim venovať. Je to len taká sranda.

Súbor 555.txt treba premenovať na 555.cmd

Z príkazového riadku treba spustiť 555.cmd (stačí aj 555)

Stano


 

Program:


@rem Stanislav Havran
@rem date nov-20-2022

@echo off

title Astable 555 TIMER CALCULATION PROGRAMM
color e0

::begin
cls
call :starline
echo  *                 Astable 555 TIMER CALCULATION PROGRAMM                    *
echo  *            original idea by James E. Tarchinski PE/1989/03                       *
echo  *              modify programm by SBC6502 - Igi 14/09/2022                     *
echo  *     second modify for command line PC as batch by (Sh) 20/11/2022       *
call :starline

:menu
    echo.
    echo.
    set G=0
    set C2=0
    set C3=0
    echo (1) - Calculate circuit data from component values
    echo (2) - Calculate component values from circuit data
    echo (3) - view to circuit
    echo (4) - Exit the programm
    echo.
    choice /C 1234 /M "Would you like to:" /N
    if %errorlevel% equ 4 goto :eof           
    if %errorlevel% equ 3 (
        call :line690
        call :line700
        goto :menu
        )
    if %errorlevel% equ 2 goto :line440
    if %errorlevel% equ 1 (
        echo.
        goto :line280
        )
    goto :menu

:line280
    echo     ************ CALCULATE CIRCUITS DATA ******************
    call :line670
    set G=1
    set C2=10
    set C3=100
:loop
    echo  (NOTE: R1 should be greater than 1000 ohms)
    set /P P=" R1 (ohms): ? "
    call :line610
    set R1=%V%
    if %R1% lss 1000 goto :loop
    set /P P=" R2 (ohms): ? "
    call :line610
    set R2=%V%
    set /P P=" C1 (nF): ? "
    call :line610
    set /A C1=%V%/1000
    echo.
    if %R1% equ 0 (
        echo ERROR: Ilegal value R1
        goto :menu
        )
    if %R2% equ 0 (
        echo ERROR: Ilegal value R2
        goto :menu
        )
    if %C1% equ 0 (
        echo ERROR: Ilegal value C1
        goto :menu
        )
    SET /A TH=693*%C1%*(%R1%+%R2%)/1000
    echo High time = %TH% msec
    set /A TL=693*%C1%*%R2%/1000
    echo Low time  = %TL% msec
    set /A DC=(100*%TH%)/(%TH%+%TL%)
    echo Duty cycle = %DC% %%
    set /A PERIOD=%TH%+%TL%
    echo Period   = %PERIOD% usec
    set /A F=1000000/%PERIOD%
    echo Frequency = %F% Hz
:line410
    call :line910
    if /I %Q%==N goto :menu
    if /I %Q%==Y call :line700 && goto :menu

:line440
    rem -- CALCULATE COMPONENT VALUES ---
    call :line670
    set G=2
    set C2=10
    set C3=100
    set /P P=" Frequency (Hz): "
    call :line610
    set /A F=%V%
    if %F% neq 0 goto :line510
    if /P P=" Period (seconds): "
    call :line610
    set /A T=%V%
        if %F%==0 (
        if %T%==0 (
            echo ???
            goto :menu
            )
        )
    if %F%==0 set /A F=1/%T%
:line510
    set /P P=" Duty cycle (in %%, must be >50 %% and not be =<100 %%): "
    call :line610
    set /A DC=%V%
    if %DC% leq 50 echo  Error duty cycle range ! && goto :line510
    if %DC% geq 100 echo  Error duty cycle range ! && goto :line510
    set /P P=" Value of R2 (ohms): "
    call :line610
    set /A R2=%V%
    if %R2% lss 1000 echo Note: R2 should be greater than 1000 ohms)
    set /A R1=(%R2%*2*%DC%-100*%R2%)/(100-%DC%)
    echo  R1 = %R1% ohms
    set /A C1=1440000000/(%F%*(%R1%+2*%R2%))
    echo  C1 = %C1% nF
    goto :line410

:line610
    rem --- INPUt SUBROUTINE ---
    set /A V=%P%
    exit /B

:line670
    echo.
    echo  Enter the following components:
    exit /B

:line690
    cls
    exit /B

:line700
    rem --- CIRCUIT ---
    call :line690
    if %G% equ 2 goto :jump
    set /A C1=%C1%*1000000
:jump
    echo NE555/5-15V   ^^ +Vcc              ASTABLE 555 TIMER
    echo 7555 /3-18V   ^|                       R1=%R1% ohms
    echo   +--------+--+-------+               R2=%R2% ohms
    echo   ^|        ^|  ^|       ^|               F =%F% Hertz
    echo  R1      -------      ^|               C1=%C1% nF
    echo   +-----^|7 8  4 ^|     ^|               C2=%C2% uF
      echo   ^|  +--^|6      ^|     ^| Output        C3=%C3% nF
    echo  R2  ^|  ^|  555 3^|-------------^>
    echo   +--+--^|       ^|     ^|
    echo  +^|     ^|2  1  5^|--+  ^|
    echo  C1      -------   ^|  ^|
    echo  -^|         ^|     C2 C3
    echo   +---------+------+--+
    echo             ^|
    echo        Gnd ===
    echo.
    if %G%==0 echo           No active input data ...
::    if %G% equ 1 echo ?
::    if %G% equ 2 echo ?
    pause >null
    exit /B

:line910
    echo.
    set /P Q="  Circuit - (Y)es or (N)o: "
    exit /B

:starline
    echo  *****************************************************************************
exit /b


Je to tu priamo aj ako txt súbor:

555.txt (4,22 kb)

Stano, vďaka za túto zrealizovanú "srandu" !!! Batchfile je to skutočne šikovný - teda ak niekto s ním vie poriadne narábať.

______________________________________________________

Vaše hodnotenie, Rate post:

Procesory a ich spotreba.

By Administrator at September 12, 2022 11:11
Filed Under: Non-Atari

 

má plno rečí o zelených technológiách a znižovaní spotreby el.energie, tak sa teda krátko obzriem na oblasť počítačovú.

Pred mnohými rokmi som mal tú "česť" mať v práci v miestnosti 5 x 5m jeden počítač s procesorom P4 Prescott (takt 3GHz). Celková spotreba hodne vysoká (tipujem 300W), po 8 hodinách bolo v miestnosti skutočne nepríjemne teplo - výstupný vzduch zo zdroja mal teplotu fénu - a to mašina bežala denne len tých 8 hodín, pri nepretržitej prevádzke by sme tam mohli ako vedľajší produkt trebárs sušiť ovocie, radšej sme (teda keď sa dalo) ostatné 3 počítače vypínali pretože toto naozaj bola silná káva. A radi sme robili mimo kancelárie ... netburst proste bola slepá cesta, nakoniec to uznal aj samotný Intel a tak sme si na chvíľu vydýchli. Aj ja, keď sme počítač po roku konečne dali preč. Viem, asi to málokto zažil na vlastnej koži (ja áno), je to už dávno, ale hovorím - od tohoto ruky preč !

Teraz máme (Intel) zase procesory s podobným príkonom a k tomu budú videokarty s príkonom - ešte dvojnásobným, ak nie viac. Tak na toto bude naozaj už treba klimatizácia, jedna vec vyvoláva priamu závislosť na veci druhej, inak sa to neuchladí - teda ak nechcete sedieť v miestnosti s nohami ponorenými v lavóre zo studenou vodou, inak biedne zahyniete.

Teraz si dovolím odskočíť na malé 8-bit Atari, na atariage urobili pre disketovú jednotku Atari 1050 zobrazovač (2x sedemsegmentový displej) pre zobrazenie čísla stopy. Všetko O.K. - až na to že k tomu použili výkonný 32-bitový procesor na mini doske - beží zobrazovanie stopy na 600MHz procesore ..., pritom samotný procesor disketovej jednotky beží na 1MHz, teda na hodnote 600x menšej. Dôvod ? Načo optimalizovať keď to takáto doska hravo zmákne, ale takéto riešenie sa mi skutočne nepozdáva. (Je to také niečo ako s dynamitom na komára ...)

Tak isto chápem ak si niekto postaví simulátor disketovky, ale už aj tu idú procesory niekde na hodnote 16MHz, to ešte ako tak chápem, ale používať na to Malinu s taktom 800MHz (a vyššie) mi pripadá už naozaj hodne uletené (a netýka sa to Atari, sú aj iné značky starších počítačov).

Niečo je v takto nastavených systémoch zle a to v prvom, druhom a aj treťom príklade - buď na riešenie "nejsou lidi", alebo je všade príliš ľudí typu nášho podareného "ministra" financií ... a potom sa ide sa cestou ľahšieho odporu (alebo nekompetentných rozhodnutí).

Mne skôr vychádza že používaním starších mašín v niektorých prípadoch v dnešnej dobe skôr vo výsledku elektrinu šetríme, nemáte ten dojem ? (Nemyslím tým samozrejme dnes používať Prescott ..., tomu je dobre tam kde je, t.j. niekde vo vitríne.)

A postoj k neúmernému nárastu spotreby el.energie ? Je pštrosí, mám známeho ktorý tomu hovorí: "Škoda mlčať ..."

Všeobecne sa teraz nakupujú priamotopy, takže toto je asi cesta do budúcnosti.

Alebo príde zákaz zapínať tieto žravé počítače v rámi v párne, alebo nepárne dni ?

(Ešteže máme stále k dispozícii 8-bity ...)Foot in mouth

____________________________________________________________

Vaše hodnotenie, Rate post:

09_2022 Blog, Notes.

By Administrator at September 04, 2022 11:13
Filed Under: Blog

04.09.2022

Tak si počkáme čo do zajtra "vymyslí" strana "múdrosráčov" (OĽaNO). A že to zase bude hovadina je viac ako isté - proste na viac nemá nikto z nich. Strana amatérov a katolibancov.

__________

Ľavicoví "intelektuáli" v Nemecku zbroja proti K-Mayovi a neprijateľný je pre nich Winnetou. Ohromné, akurát na celom mi vadí to že s tým čo sa deje na Ukrajine pritom zjavne nemajú najmenší problém. Pos...ný svet.

__________

Urobil som dnes drobotinu - program pre výpočet nezaťaženého odporového deliča pre 3 odpory v sérii, občas treba mať k dispozícii aj takéto veci, hlavne ak potrebujeme nastaviť nejaké komparátory ktoré používajú nielen hornú ale aj spodnú hranicu nastavenia, ak pripojíme na takýto delič oepračný zosilňovač tak podmienky nezaťaženého výstupu takéhoto deliča sú splnené. Program som vložil do pôvodného článku deliča s 2 odpormi, je umiestnený na konci článku. Veľa zábavy !

SBC6502 - 22 - software-Basic-programs. Odporový delič - Resistance divider.

_____________________________________________________

05.09.2022

Manipulátorom a vydieračom sa jednoducho neustupuje, napísal na sociálnej sieti predseda výboru pre hospodárske záležitosti Peter Kremský z OĽaNO na adresu strany SaS. Súhlas, až na tú malú drobnosť že vydieračom je IM spolu s OĽaNO ...

___________________________________________________________

08.09.2022

V poslednej dobe krátko za sebou dve milé stretnutia, jedno s človekom ktorému som v marci 1993 predal môj komplet Atari /vydržal u neho len rok/, ale napriek tomu si to vtedy užil. Druhé stretnutie bola skutočná náhoda, objednal som si niečo na bazoši a aha! vykľul sa tu bývalý kolega z inej firmy, kedysi sme úzko pracovne spolupracovali.

___________________________________________________________

12.09.2022

Maličký pokec na danú tému, niečo je zle nastavené:

Procesory a ich spotreba.

_____________________________________________________

14.09.2022

Oddychový basic program pre SBC6502 /dtto UK101/, výpočet - astabilný 555 timer:

SBC6502 - 57 - basic programs - Astable 555 timer calculator.

_____________________________________________________

20.09.2022

Dnes "trhám" nový rekord, prišlo (odchytených) 640 spamových mailov (sic !) za jeden deň ..., všetky smerovali na text z 12.09.2022.

____________________________________________________________

26.09.2022

Fourierova analýza - na SBC6502:

SBC6502 - 58 - basic programs - Fourier analyze.

_____________________________________________________

27.09.2022

Prevedená oprava programu v článku z 26.09.2022.

_____________________________________________________

Vaše hodnotenie, Rate post:

Umelá záťaž ZK-FX25. /max.4.2A a max.25V/

By Administrator at August 11, 2022 11:00
Filed Under: Non-Atari

Dosť často som uvažoval že by už skutočne bolo načase si postaviť jednoduchú, malú umelú záťaž na testovanie malých jednosmerných zdrojov, ideálne pre mňa by malo byť povolené vstupné napätie v rozmedzí minimálne 5 ÷ 12V a s povoleným prúdom v rozmedzí niekde od 0.5 ÷ 3A /tie 3A sú pre 5V, na 12V mi postačia 2A/. A keď návrh v hlave bol konečne hotový a už som bol iba kúsok od nákupu potrebných súčiastok objavil som toto:

Umelá záťaž ZK-FX25

Spodná strana ZK-FX25

 

Parametre splňovali všetky moje požadované vlastnosti a za tú cenu sa to stavať skutočne neoplatí:

 

Max. zaťažiteľnosť je 25W pri maxime na vstupe v rozmedzí do 25V/DC/4A. Takže pre vhodnú pracovnú obálku postačuje vzorec P=U.I, čiže napríklad 5V a 4A alebo 12V a 2A je v pohode, je to menej ako maximálnych 25W.
Pomocou trimru sa nastavuje požadovaný odoberaný výkon.
Rozsah povoleného vstupného napätia: 3.7V ÷ 25V/DC
Regulácia prúdu záťaže je v rozsahu: 0.15A ÷ 4A
Maximálny stratový výkon: 25W

 

Existuje aj výkonnejšia verzia s označením ZK-FX35 ktorá má má povolený stratový výkon 35W (jeho max.prúd je 5A), ale mne na moje testy postačuje táto "menšia" verzia. Pri štarte sa na displeji objaví údaj o tom ktorú verziu máte k dispozícii.

 

Úvodná hláška na displeji je podľa konkrétneho modelu.

 

Rozmery umelej záťaže skutočne nie sú veľké.

(I keď údaje o rozmeroch na obrázku sa s tabuľkou "mierne" rozchádzajú.)

Dĺžka je 101+13=114mm

Šírka sedí, výška je rozdiel 3mm, žeby boli zarátané aj plastové nožičky ?

 

Zariadenie má priamo z výroby dodané (a namontované) 4 plastové nožičky, t.j. bez problémov sa dá postaviť priamo na stôl. Je tu možnosť zariadenie napájať 5V tak že sa prívody priamo napájkujú - plôšky na pájkovanie sú vidieť pri micro USB konektore.


Ovládacie prvky.

 

Ešte je dobré uviesť že k zariadeniu existuje manuál (bez neho ste ochudobnení o veľké množstvo zabudovaných funkcií), pretože toho vie omnoho viac ako by to bola len nejaká jednoduchá umelá záťaž, je tu aplikované množstvo ochranných prvkov takže je to svojím spôsobom blbyvzdorné.

ZK-FX25_35.pdf (1,40 mb)

 

Poďme na praktické merania:

Napájanie je samostatných 5V, vyhovie malý zdroj ktorá má výstup cez USB káblik (zdroj napájania a USB káblik sa k zariadeniu nedodáva). Presnosť merania napätia a prúdu je lepšia ako 1%, teda na základné merania vyhovujúce. Zariadenie informuje ak je na vstupe nedostatočné napätie alebo sa nepodarilo dosiahnúť hranicu nastaveného prúdu (napríklad ak testovaný zdroj nedokáže dodať nastavenú hodnotu prúdu). Ako vidieť je možné priamo testovať cez "veľký" USB konektor aký prúd sú schopné dodať USB výstupy napríklad Vášho notebooku - čo môže byť skutočne zaujímavé. Dtto sa dajú testovať nabíjačky pre mobily. Záťaž sa pripojí až po nastavení jej parametrov tlačítkom ON/SET. V prípade ak niečo v nastavení nesedí, alebo je na vstupe podpätie, prípadne prepätie, alebo sa nedosiahne nastavený prúd tak je to signalizované akustickým tónom, tak isto aj odopnutie záťaže počas testovania.

 

Toto je zvyčajná maximálna hodnota odoberaného prúdu pre počítače Atari ktoré

nemajú zabudované iné rozšírenie ako 320KB RAM. Typ zariadenia je vyznačený

priamo na samolepke ktorá je v stredovej časti ventilátoru.


Po chvíli - ak je aktívna záťaž - tak sa spustí tiež aktívne chladenie.

 

No, mne toto zariadenie ušetrilo spústu času a rozhodne ho považujem za dobrú kúpu a za mimoriadne vhodný doplnok na testovanie napájacích zdrojov. Iste, ak niekto potrebuje existujú záťaže aj na omnoho vyššie hodnoty - ale tam sú zase ceny zariadenia posunuté rádovo vyššie, takže čo potrebujete a či to aj využijete je zase a zase len na Vás.

 

Čo by som riešil inak:

Ventilátor aj s chladičom by som umiestnil na opačnú stranu, takto je vlastný displej "utopený" popri chladiči ktorého stavebnú výšku ešte zvyšuje nainštalovaný ventilátor, proste by bol lepší prístup k displeju a mikrospínačom - ale čo by som všetko nechcel za tých pár šupov ...

Zase na druhú stranu dodám - ak by bolo po mojom tak potom by bol problém merať USB výstupy na notebookoch, takže takto ...

__________________________________________________________

Vaše hodnotenie, Rate post:

30 rokov programu AGICALC ver.1.04.

By Administrator at August 04, 2022 07:16
Filed Under: Atari

 

Je to už 30 rokov čo som napísal tento program. V dnešnej dobe ak ho chce niekto vyskúšať tak odporúčam použiť emulátor disketovej jednotky AspeQT, pretože ten priamo emuluje použitie tlačiarne (aj bez jej skutočného pripojenia). Program kompletne celú komunikáciu vypisuje priebežne na tlačiareň, preto bez pripojenej /emulovanej/ tlačiarne hlási chybovú hlášku /138/, toto bolo striktne vyžadované od zadávateľa.

Program je určený pre skladové hospodárstvo, umožňuje evidenciu 1250 položiek, pričom na každej môže byť max. 9999 kusov, toto obmedzenie je ale umelé, tiež dané objednávkou, vcelku jednoducho sa tam dalo dať aj viac /do 99999/, ale nikdy som túto úpravu nerobil, nebolo treba ju previesť.


 

 

Čo dodať ?

Spracovanie vlastných dát pre výpis na tlačiareň prebieha priamo na obrazovke, tu prichádza aj k načítaniu a zarovnaniu do stĺpcov, preto pri tlači na obrazovke zbiehajú jednotlivé údaje. Tu sa aj kontroluje umiestnenie desatinnej bodky, či sa jedná iba o celé číslo a pod. Takého spracovanie údajov je môj pôvodný nápad, síce možno bizarný, ale funguje naprosto dokonale. Tlač prebiehala po 50 položkách na jednu stránku.

Viem mimo iného ešte o jednej firme ktorá v rokoch 1992 až 1996 používala tento mierne upravený program na svoje skladové hospodárstvo a inventúru skladových zásob. /Kdeže to už dávno je .../

Program bol napísaný v jazyku Turbo Basic a potom som ho následne zkompiloval, tým je priamo k dispozícii ďalších 4000 byte RAM, pritom v TB je k dispozícii iba 1000 položiek /rozdiel po kompilácii je teda o 250 položiek naviac/.

Program pri prihlásení vyžaduje heslo: ROGER

Ak sa pomýlite pri zadávani hesla 2x za sebou, program automaticky zlikvidoval svoju funkčnosť, teda na diskete to takto funguje (taká bola požiadavka človeka, ktorému som to vyvíjal).

Program skladového hospodártsva dokáže pracovať na nerozšírenom počítači, t.j. stačí mu pôvodná veľkosť 64kB RAM, max. počet uložených položiek = 1250, názov položky tu má max. dĺžku =8 znakov.

Vzhľadom k tomu že je už prešlo 30 rokov tak je to voľne dostupné, pritom sa vtedy niekto k tomu dostal a predával to vraj s mojim povolením, dokonca si vyrobil falošné potvrdenie (aj  kópiu mojej pečiatky, fiškus) že som mu k tomu dal súhlas ... bol to človek z Bratislavy, zjavne chcel zarobiť, ako sa dostal heslu neviem, možno ho mal od nového majiteľa programu, dnes je to samozrejme jedno, akurát by bolo zaujímavé vedieť vďaka tomu kam všade sa program rozšíril.

Program verzie.1.04 ukladá iba zaplnené polia údajov, tj. rapídne šetrí miesto, prvé základné verzie programu ukladali celé polia bez ohľadu na ich obsah, takže výsledný datový súbor bol zbytočne dlhý (a veľký). Tak isto sa tu nachádza testovací súbor skuska.dat aby sa dala funkcia programu vyskúšať s už nejakými vloženými dátami.

Mal som uobenú aj ďalšiu verziu kde bolo vďaka zmene ukladania počtu kusov ušetrených celých 10.000 byte /prestal som používať v programe na ukladanie premenné a prešiel som na DPOKE ... jedna premenná "žerie" celých 6 byte, DPOKE iba 2 byte) a tak teda tu som sa dostal na celých 2050 položiek - a to stále v nerozšírenom Atari, stále len pri 64kB RAM. Túto verziu programu som už von nepustil, pretože som ju už nestihol otestovať na obsadenie všetkých položiek /to som robil vždy/ a už som prechádzal pracovne a profesionálne na PC a tak som už ani nerobil konverzný program prevodu dát z verzie 1.04 na verziu 1.05. Verziu programu č. 1.05 tak následne zomlel čas a história,  je nenávratne v prachu, disketu som doma už nenašiel a to ani po usilovnom hľadaní ...

Pôvodne som ešte chcel program prerobiť priamo na Atari 130XE /princíp ako na to mi vtedy už bol jasný/ a teda som rátal s minimálne 5000 položkami a novou predĺženou dĺžkou názvu na 12 znakov, ale nakoniec z realizácie vzišlo - začal som vtedy už robiť s PC a počítačovými sieťami ... mal som už živnosť a Atari išlo do zabudnutia, nemal som na to čas.

 

Len ako zaujímavosť uvediem že som prednedávnom doma k tomuto programu verzie 1.04 našiel zdrojáky. Mám ich doma na pôvodnej vývojovej diskete tejto verzie - a stále sa dajú prečítať, tie 5.25" diskety sú v tomto smere ohromne spoľahlivé.

agicalc.atr (130,02 kb)

___________________________________________________

Vaše hodnotenie, Rate post:

HAPPY 1050 - revision 7.0 manual.

By Administrator at July 22, 2022 07:43
Filed Under: Atari

Na obrázku je novšia verzia 7.10

 

I keď nepatrím medzi tých čo by preferovali HAPPY 1050 tak si myslím že slušný manuál k systému verzie 7.0 sa určite hodí.

 

HAPPY 1050 rev7_0.pdf (3,70 mb)

___________________________________________________

Vaše hodnotenie, Rate post:

Zdroj s 2 výstupnými napätiami trošku inak.

By Administrator at July 18, 2022 13:49
Filed Under: Non-Atari

Dnes si by som rád poukázal na mierne odlišné zapojenie zdroja ktorý má k dispozícii vyvedený stred napájania sekundáru. U nás štandardne používame mierne odlišné zapojenie, ale ako vidieť dá sa to aj inak. /Niečo podobného som už popisoval v zdroji pre disketovú jednotku počítača Amstrad CPC./

 

 

Výhodou zapojenia je to že tu nie sú žiadne záludnosti, pri prepnutí na stred vinutia vlastné usmernenie prebieha iba cez dvojicu diód a teda tu potom vzniká menší úbytok napätia /o jednu diódu/ ako pri zapojení ktoré používa plný Graetzov mostík, pričom nám na prepínanie stále stačí jednoduchý prepínač s 2 polohami. Pri niektorých transformátoroch z nižším výstupným napätím použitie práve tohoto zapojenia môže byť tým potrebným ternom.

Už len dúfam že to niekoho inšpiruje k stavbe zdroja (s takto mierne odlišne zapojenou zdrojovou časťou) - trebárs jednoduchého zdroja napájania.

___________________________________________________________

Vaše hodnotenie, Rate post:

07-08_2022 Blog, Notes.

By Administrator at July 01, 2022 07:19
Filed Under: Blog

01.07.2022

A zase prechádzam na "letný, dovolenkový" režim. Teplo je viac ako výdatné, uvidíme koľko toho ešte musíme vydržať, teda mimo iného - aj nepodareného ministra financií /a to sa veľmi miernim/. Jeho taktika spálenej zeme je niečo čo sa len tak hneď nevidí.

___________________________________________________________

13.07.2022

Po včerajšku /12.07/ zase hľadím na svet mierne inak. Išiel som s nevestou na nákupy čas tak 12.00 plus mínus (som na chalupe) keď sa priamo pred nami čelne zrazili dve autá. V jednom dvaja, v ruhom jeden človek. Priama čelná zrážka, obidve autá každé kratšie tak o pol metra (a možno aj viac). Snažili sme sa ich dostať von bez ohľadu na ostatné, obidve autá - išiel im poriadny dym z palubných dosák. Jeden dosť ťažko zranený (laický názor), jeho spolucestujúci  bol na tom celkom dobre, dtto druhý šofér. Nevesta je naozaj šikovná, podala prvú pomoc, ja som volal 155-ku kde ma následne spojili aj s hasičmi.

Boli sme priamo za nimi keď sa to stalo, našťastie asi 30 metrov dozadu, pretože pri prechádzaní na kritickom úseku som spomalil pretože sme vychádzali z bočnej na hlavnú cestu, hlavná cesta ide oblúkom a niektorí vodiči proste pri schádzaní z hlavnej zabúdajú dať prednosť (ten zranený vodič zo spolujazdcom). Občas proste človek má "ciťák" a dá nohu z plynu.

Záchranári, hasiči a policajti O.K., čo ma ale zarazilo - ešte jedno auto za nami zastavilo a pomáhali, ďalšie autá za nami už nehodu obchádzali a nezastavili, pritom museli vidieť čo sa stalo. Snažil som sa regulovať dopravu, jeden pruh bol prejazdný, ale niektorí idioti sa snažili pretlačiť bez ohľadu na reguláciu toho že autá mohli prechádzať naraz iba jedným smerom, tu by som bral vodičáky bez mihnutia oka.

Malá ukážka - na ceste nakladajú zraneného do sanitky a popri mne v strede cesty prefrčí na plné gule motorka (mal som sto chutí do neho strčiť, na ceste rozliaty motorový olej, ten somár na motorke mal nakoniec viac šťastia ako rozumu).

Do ďalších podrobností /ani o mieste/ nejdem, len akurát mi včera jedlo vôbec nechutilo - a dnes ešte tiež.

___________________________________________________________

18.07.2022

Takže po buldozéri z Idky tu máme teraz rozbehnutý buldozér z Trnavy - a to ešte s požehnaním premiéra ktorý poukazuje na druhú stranu aby sa krotila. ZTP /nie, nie je to preukaz/ je to skratka pre Zoocidového Trnavského Plagiátora ktorý teraz vie že má krytý chrbát. Akurát nie celkom chápem premiéra prečo pritom nezatiahne brzdu na strane financmajstra (i keď ten si toto hrdé označenie nezaslúži - a to ani náhodou) a nechá ho trieskať tie jeho tliachaniny.

No, máme sa na čo tešiť.

_________

Zapojenie zdroja s transformátorom s vyvedeným stredom ktorý dáva 2 napätia:

Zdroj s 2 výstupnými napätiami trošku inak.

____________________________________________________

22.07.2022

Majitelia Happy 1050 určite privítajú manuál:

HAPPY 1050 - revision 7.0 manual.

____________________________________________________

04.08.2022

Prázdniny v plnom prúde, blbcov na cestách viac ako obyčajne, proste pohoda ako vždy.

Zaujímavé je dianie na železnici, vyzerá to tak že majú tak limitovaný grafikon že nemôžu sa zdržiavať nastupovaním a vystupovaním ľudí na zastávkach na trase BA - Žilina. Bravo, už si pripadám ako v tom vtipe kde behali roboši s prázdnymi táčkami. Na otázku prečo je to tak tak znela odpoveď že majú tak pevné výkonové normy že nestíhajú do vozíkov nakladať ...

__________

Dnes som vytiahol jednu svoju vlastnú vykopávku, pochádza z minulého storočia:

30 rokov programu AGICALC ver.1.04.

____________________________________________________

11.08.2022

Šikovná, malá umelá záťaž na testovanie malých DC zdrojov:

Umelá záťaž ZK-FX25. /max.4.2A a max.25V/

 

______________________________________________________________________________

19.08.2022

Dnes čítam na Topkách:

Zločinci v Taliansku pripravili stovky ľudí o celkovo 400-tisíc eur výmyslom, že v Antarktíde existuje fiktívna krajina, ktorá poskytuje ľuďom rôzne výhody. Polícia zadržala 12 ľudí, no vyšetruje 30 ďalších podozrivých.

Je to len ďalší dôkaz toho že ľudia už naozaj blbnú ...

/Šťastie že to neskúšali na Slovensku .../

___________________________________________________________

Vaše hodnotenie, Rate post:

50 výročie vzniku Atari. 50 years since the founding of Atari.

By Administrator at June 24, 2022 18:32
Filed Under: Atari

 

 

Na budúci týždeň v pondelok  si pripomenieme 50 rokov od založenia firmy Atari:


Dňa 27.06.1972 podali dve osoby - Nolan Bushnell a Ted Dabney žiadosť na registráciu Atari Incorporated. Týmto dátumom môžeme povedať že vznikol priemysel videohier, dovtedy o tomto pojme nikto ani nechyroval. Bolo to v meste Santa Clara, na Scott Blvd. 2962, tu na tomto mieste malo ATARI svoju prvú obchodnú základňu.

Koho to zaujíma podrobnejšie choďte na tento odkaz:

Do začiatku 80-tych rokov udávala smer herného biznisu a písala históriu počítačových hier, ale postupne sa dostala mimo hlavného prúdu /viď odkaz/ a dnes je z pôvodnej firmy len tieň. Teraz to skúša aj v hotelierstve a tiež má novú konzolu Atari VCS.

Toto veľké výročie chce firma vo veľkom osláviť, oslava by mala trvať celý rok a tak nám firma predstavuje svoje výročné logo. Volá sa GoldSchool Sunnyvale a je inšpirované legendárnym pôvodným štúdiom Atari, ktoré sídlilo práve v spomenutom Sunnyvale. V rámci osláv Atari chce tiež predstaviť nové hry a aj nové spolupráce v rámci ktorých licencuje svoje značky iným štúdiám. Na programe sú vraj aj ďalšie oznámenia a tak uvidíme čo si pre nás táto legenda pripravila.

 

Takže je to naozaj už hodne veľké číslo, skalní si to užijú a dajú si dopredu chladiť šampanské - i keď to čo dnes z firmy zostalo príliš dôvodov k oslave neposkytuje, ale napriek všetkému - mnohí z nás začínali práve na 8 bitovom Atari, alebo sa k nemu postupne dopracovali a atmosféra tej doby kedy sme ich používali je skutočne neopakovateľná, v tom sa asi zhodneme všetci - a naše mašinky nebudeme mať menej radi. Teraz už nezostáva nič iného - len dúfať že legenda úplne nezomrie.

29.06.2022

P.S.:

Je hodne, hodne smutné že jeden nemenovaný (ručne moderovaný) web túto informáciu (mimo iného) prešiel absolútnym mlčaním ...

___________________________________________________

Vaše hodnotenie, Rate post:

Photo - desoldered motherboard Atari 130XE.

By Administrator at June 23, 2022 13:22
Filed Under: Atari

Vždy by bolo zaujímavé mať k dispozícii fotografiu odstrojenej základnej dosky Atari 130XE - a to v poriadnom rozlíšení. Síce na webe sa na danú tému vždy niečo našlo, ale stále iba v nízkom rozlíšení a teda na nejaké to hľadanie konkrétnej súčiastky priamo na doske to bolo fakticky nepoužiteľné. Časy sa našťastie ale menia, MrFish nafotil hornú aj dolnú stranu odstrojeného motherboardu (vďaka !!!) a tak si to môžete pozrieť vo väčšom rozlíšení. Potom sa už dá veľmi slušne vyhľadať a identifikovať hľadaná súčiastka - je to naozaj veľmi hľadaná a vítaná pomôcka.

 

Atari 130XE motherboard - top. Foto: MrFish/atariage.com

/Pre plné rozlíšenie treba kliknúť priamo na obrázok./

 

Atari 130XE motherboard - bottom. Foto: MrFish/atariage.com

/Pre plné rozlíšenie treba kliknúť priamo na obrázok./

 

Osobne mňa dostupnosť týchto fotografií skutočne hodne potešila, je to výborný pomocník. Samozrejme sú aj iné možnosti identifikácie miesta súčiastky ale táto naprosto spoľahlivá "metóda" doteraz chýbala. No, ale ako vidieť časy sa menia a to k lepšiemu, našťastie.

___________________________________________________________

Vaše hodnotenie, Rate post:

Dual power supply Atari 1050 /Atari XF551/.

By Administrator at June 22, 2022 19:28
Filed Under: Atari

Pred časom som uverejnil jednu snímku tohoto zdroja - viac obrázkov som nemal k dispozícii. Našťastie teraz sa spomenutý stav zmenil a tak je k dispozícii pár ďalších záberov. Bohužiaľ, stále nie z vnútrajšku. Možnosti sú pritom len dve - jeden transformátor s dvomi oddelenými vinutiami alebo sú tam transformátory dva. Osobne sa prikláňam k prvej verzii - zaberá to menej miesta a je to aj vo výsledku lacnejšie.

Výrobcom uvedeného zdroja bola firma Futuretronics. Čo je zaujímavé - bol skonštruovaný na napájanie napätím 240V/AC, výstupné napätie dosahovalo vtedy 8.5V/AC čo naprosto postačovalo, pritom dokonca zdroj poskytoval väčší výstupný prúd ako originálne zdroje (tie boli na 3A, tu je  výstup dimenzovaný až na 3.4A  i keď medzi nami tie 3A sa reálne neodoberali nikdy). Výhoda ? - sú tu dva zdroje v jednej krabici - teda stačí na 2 zdroje v jednom použiť iba jeden prívod napájania.


Vlastná interná elektronika je veľmi jednoduchá - je tu iba priamy výstup z transformátoru na výstupný káblik pre jednu floppy jednotku a dtto platí aj pre druhú. Tu sa len už môžeme dohadovať či sú v ceste použité aj nejaké poistky (minimálne primár, dúfam). Škoda že nie je k dispozícii sieťový vypínač a "bodla" by aj nejaká indikácia že je to zapnuté. No nič, bez nich sú náklady na zdroj nižšie ...

 

 

No, možno sa niekedy dočkáme aj toho že bude k dispozícii aj fotka "vnútorností". Idea dvojnásobného zdroja rozhodne nebola na zahodenie, v dnešnej dobe zástancov používania pôvodných disketových jednotiek rýchlo ubúda a tak teda to už nie je taká horúca téma ako pred tými rokmi ... ale je zaujímavé že sa objavila len táto verzia duálneho zdorja, oficiálne o inom výrobcovi duálneho zdroja dodnes neviem.

 

Firma Futuretronics existuje stále, aj v dnešnej dobe, sídlo má v Austrálii a doteraz sa hrdo hlási k tomu že vyrábala veci  pre Atari, tak isto podporuje aj jej retro výrobky.

___________________________________________________________

Vaše hodnotenie, Rate post:

SKYDATA SK551 Atari floppy unit - made by Argentina.

By Administrator at June 10, 2022 13:35
Filed Under: Atari

ο

 

Občas sa ešte aj po tých rokoch objavia veci o ktorých sme doteraz nevedeli - na portáli ebay sa objavila na predaj disketová jednotka kompatibilná s Atari XF551 s označením SKYDATA SK551 /firma ktorá zastupovala Atari v Argentíne/. Výrobca tejto jednotky sídlil v Argentíne (San Luis), z Južnej Ameriky výrobcov takéhoto zariadenia akosi je veľmi, veľmi málo. Je pravdepodobné že základná doska je variantou originálnej dosky a teda aj výsledné vlastnosti jednotky budú (boli, sú) identické s jednotkou originálnou. Zmena oproti originálu je v prívodnom kábliku (je napevno) a vďaka tomu postačuje na zadnej strane iba jeden SIO konektor.

 

Jednotka sa na uvedenom portáli veľmi rýchlo predala za "baťovskú" cenu 199.99 USD.

 

Viac informácií priamo nie je dostupných, ale sú k dispozícii aspoň slušné obrázky a vďaka nim som predsa len niečo navyše zistil. Krabica a manuál síce nie sú v najlepšom stave - ale nie je tu zase ani nič extrémne rozpadnuté. Veľkosť vlastnej jednotky je skutočne príjemným prekvapením, vlastné púzdro jednotky je kovové, krabica je oproti XF551 vďaka tomu omnoho menšia. Na iné miesto je presťahovaný prepínač ID čísla nastavenia disketovej jednotky. Pretože je použitý iba jeden konektor v napájacej časti - takže to vyzerá na to že na napájanie sa používa štandartný 9V/AC/3A transformátor /zdroj na foto nie je/. Je teda pravdepodobné že aj zdrojová časť bude identická - akurát tu je využitý kovový obal ako chladič stabilizátorov, potom je chladenie jednotky dostatočné /použitie spínaných zdrojov v tej dobe je vysoko nepravdepodobné - boli by príliš drahé/. Čo ma zarazilo - chladenie jednotky je riešené neuveriteľne nešikovne /vcelku charakteristický rys vtedajšej doby/ - na spodnej strane jednotky nie sú žiadne chladiace otvory pre dobré prúdenie vzduchu ... alebo zjavne pred tými rokmi vedel vzduch prúdiť v disketových jednotkách celkom inak ako sa to deje v dnešných časoch. Tongue out

 

Vlastné rozmery tejto jednotky:

Dĺžka  - 286 mm

Šírka  - 147 mm

Výška -  49mm

Rozmer predného panelu presne zodpovedá vloženej disketovej jednotke.

 

Ako som už písal, vlastnosti sú identické s jednotkou XF551 /v jednotke je použitý mikroprocesor 8040, čo len potvrdzuje že je to zvnútra zapojením identické/, pracuje s disketami hustoty Single (90kB), Medium (128kB), Double (180kB) a Double Side Double Density (360kB). Ak je použitý aj rovnaký firmware ako v XF551 tak potom zdedila táto jednotka aj rovnaké problémy pri správnom načítaní hustoty založenej diskety. Našťastie toto vie odstrániť patchovaný firmware 7.7. Oproti originálu má na prednej stene vyvedenú aj indikáciu pomocou LED ktorá oznamuje zapnutie napájaniea /to je príjemný bonus/. Podľa štítku na spodnej strane sa dá zistiť že sa jedná o sériu "D", t.j. nejedná sa o prvú verziu tejto jednotky.

 

Teraz už len nasledujú fotografie:

 

 

 

 

 

 

 

 

 

___________________________________________________________

Vaše hodnotenie, Rate post:

X-tal oscillator board - no.5. X-tal tester shield.

By Administrator at June 10, 2022 10:09
Filed Under: Non-Atari

Doštička x-tal oscillator no.5

/tu ešte bez neskôr prevedenej úpravy, t.j. bez dodatočného jumperu a kapacity/

 

Prešlo pár dní -  a rozhodol som sa rozšíriť možnosti testeru x-talov, postavil som samostatnú malú doštičku (shield), ktorá sa zakladá na miesto TTL oscilátoru č.2, použité odpory majú veľkosť 470Ω. Výhody sú jasné - máme teraz na testovanie x-talu celkove 3 možnosti (odpory sú buď 2k2, 1k alebo 470Ω).

 

Pozrime si zapojenie - oscilátor č.5:


Z použitého obvodu 74LS04 je tu využitá iba jeho 1/2, teda iba 3 hradlá. Zostávajúce, nepoužité 3 hradlá sú zapojené tak aby boli ošetrené ich vstupy.


Na tomto mieste dobre poslúži aj obyčajná pätička. a vlastnej doske oscilátorov pribudla ešte jedna pätička - dummy, je v strede obrázku, úplne na spodku. Slúži len na odkladanie oscilátoru č.5 ak sa nepoužíva, t.j. jej vývody sú úplne voľné.

 

Oscilátor č.5 na  svojom mieste "odpočinku", t.j. ak sa nepoužíva.

V napájaní som použil dve kapacity - 47uF a M1.

 

Oscilátor č.5 osadený v pracovnej pozícii č.2, ešte nie je pripojený skúšaný x-tal. Použitý kondenzátor 47uF/6.3V na doštičke priamo v napájaní nie je nutnosťou, nie je zakreslený ani v schéme, stačí ak je použitá iba kapacita M1. Tu na doštičke sú osadené obidva spomenuté kondenzátory.


Teraz pôjdem na "perličky" ktoré som objavil počas testovania:


x-tal 8.388608MHz na obrázku pod týmto textom pri odporoch 2k2 kmitá pekne na uvedenej frekvencii. Ale ak majú odpory hodnotu =1k tak už kmitá na 3.harmonickej, t.j. na trojnásobku uvedenej hodnoty - 25.165MHz. A ďalej - ak majú odpory hodnotu =470Ω tak zase pekne kmitá na pôvodnej hodnote ... toto je naozaj dobré vedieť.

 

x-tal 8.388608MHz


Ďalší príklad zaujímavého zistenia - x-tal 2MHz - ak sú odpory =470Ω kmitá na druhej harmonickej, t.j. na 4MHz, inak pri 2k2 alebo 1k poslušne frčí na pôvodných 2MHz. Takže tie testy sú skutočne zaujímavé a občas zistíme o x-tale celkom zaujímavé informácie.

x-tal 2MHz


x-tal 33.500MHz - napravo, na foto pre porovnanie veľkosti je tu štandartný x-tal 24MHz


Tak táto potvora /x-tal 33.500MHz/ mi trvale a nezameniteľne beží iba na 1/3 uvedenej hodnoty (11.166MHz), proste s tým čo mám ho nedokážem dostatočne vybudiť, tiež vcelku perlička. Tieto x-taly (mám ich 5) asi len odložím bokom bez toho aby som s nim nejako ďalej rátal. Aj x-tal 24.00MHz z obrázku kmitá na 1/3, tj. na 8MHz.


A ešte niečo čo sa týka bytostne Atari - a nesúvisí priamo s predchádzajúcou časťou článku:

Testovaný 3x  TTL oscilátor 8.333MHz - určené pre jednotku Atari XF551.


Fakt presné oscilátory, všetky tri ukazujú naprosto zhodne túto hodnotu.


Pri testovaní sa ukázalo že postaviť túto doplnkovú dosku bolo naozaj dobré rozhodnutie. Pre niekoho bude dobrým riešením postaviť si tento oscilátor č.5 priamo na oscilátorovú dosku, ja skôr počítam iba s jeho občasným použitím takže tak ako to je teraz mi vcelku vyhovuje /nechcem si zaplniť miesto na doske tam kde môže byť osadená vstupná časť pre merač frekvencie/.

___________________________________________________________

08.07.2022

Ukázalo sa, že na tejto doske sa dá urobiť ešte jedno drobné vylepšenie pre testovanie x-talov, stačí priamo do cesty x-talu /do série/ vložiť 22pF÷39pF kondenzátor. V prípade ak ho pri testovaní nechceme /alebo nepotrebujeme/ - tak ho iba skratujeme cez prepojku Ju. Zmena na doštičke na túto úpravu je naozaj veľmi jednoduchá.

 

Upravená doska - tester x-tal ver.5

 

A takto vyzerá prevedená úprava v reáli.

Pribudol jumper a kapacita 22÷39pF.

(Na foto je jumper rozpojený.)


Dtto.

___________________________________________________________

Vaše hodnotenie, Rate post:

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

By Administrator at June 02, 2022 08:54
Filed Under: SBC6502

SBC6502 + PROM 74188 programmer

/už aj s vynovenou "kapotážou"/

 

S touto verziou (1.09, 1.09p) programového vybavenia ako vidieť som si už dal dlhšiu pauzu. Medzitým som si povedal že tu prevediem niektoré veci ktoré som síce chcel už vyskúšať aj predtým, ale akosi som sa k tomu nedostal. Teraz už áno a pretože bolo dosť času na jej skúšanie a otestovanie - tak tie zmeny sú v tejto verzii už prevedené a uplatnené.


Program - verzia 1.09 je pre x-tal:
1.8432MHz
2.4576MHz
3.6864MHz
4.0000MHz
4.5000MHz
4.9152MHz
5.0000MHz
6.0000MHz

version 1.09.zip (35,09 kb)


Verzia 1.09 lite: - je prevedených množstvo ďalších úprav, tu som si dovolil nasadiť aj niektoré doteraz nepoužité úpravy

 

- previedol som presun pamäťových adries na nové miesto, uvoľnilo to viac miesta pre program - i keď toto naozaj nebolo nutné, jednoducho skúšam čo to dá

 
- jedná sa o upravenú verziu pôvodnej verzie "lite" 1.07, pracovná verzia 1.08 bola zase iba neverejná, v nej sa robili potrebné úpravy a zmeny až z toho vyšla táto stabilná verzia 1.09 lite

 

- vlastné menu je teraz "roztiahnuté" na obrazovke na celú šírku, väčšia šírka menu podľa mňa na displeji vyzerá lepšie (už to nebude pripomínať niečo ako VIC-20), cena za túto inováciu ? - v konečnom dôsledku je to iba o pár byte (cca 20) dlhší program, za to to stojí

 

Menu - verzia 1.09

 

- zápis programu používa teraz príkaz ? = PRINT, pri nahratí programu sa automaticky ? zmení na PRINT, vďaka tejto drobnosti je vlastný zápis programu kratší o vyše 500 byte (šikovné, ale tak isto to nie je pre prácu nevyhnutné)

 
- pri tejto verzii som prišiel na to že automatické mazanie obsahu premenných pri štarte programu akosi nemusí byť vždy celkom samozrejmosťou, vyhodil som skúšobne CLEAR pretože som si myslel že mazanie premenných zbehne pri štarte programu aj tak, ale ukázalo sa že CLEAR v prvom riadku je skutočne potrebné zachovať, boli situácie kedy sa mazanie premenných nepreviedlo pri novom štarte programu. Síce si už nepamätám za akých okolností to bolo, ale CLEAR sa ukázal ako potrebný, vyhol som sa dodatočným problémom. Kto neverí - môže si to vyskúšať na vlastnej koži ... za starosti ktoré môžu nastať tých pár byte navyše ak tam nedám spomenutý príkaz do programu to naozaj nestojí.

 
- hodnota premennej LG=1.5 je tu v programe trvale nastavená na uvedenú hodnotu, odstránil som v programe jej kontrolu (ukázalo sa že LG=1.5 vyhovuje pre naozaj všetky prípady). Napríklad: nastavenie PGM pulzu v prvom kole na =50msec. dá potom v druhom kole PGM pulz =75msec., čo sa ukázalo viac ako dostatočná hodnota (overené priamo v prevádzke počas dlhšej doby), ak s takýmito PGM pulzami ani tak nedokážete Vašu PROM napáliť tak je naozaj vhodná iba na jednu vec - a to do koša. A to už s uvedenými parametrami PGM pulzu ideme hodne mimo datasheetových údajov.

 
- je prepracovaný Line Data generator, teraz je pod názvom Rows Data generator

 

- vo verzii 1.09 a 1.09.p je použitá zvuková signalizácia ako vo verzii 1.07 a to cez PC speaker

 

- vlastné spracovanie dávky 8 byte v Rows Data generátore tu zbieha v podprograme, ten sa potom 4x vyvolá, program je vďaka tejto úprave zase o kus kratší
 
- v príkazoch programu napr. POKE X,(Y+Z) boli odstránené zátvorky, teda teraz je zápis v podobe
POKE X,Y+Z, program v SBC6502 zátvorky nevyžaduje
 
- oddeľovač v menu (riadok kde sú samé ---) bol nahradený jednoduchým generovaním postupnosti znaku priamo v jednom podprograme

 

- pribudol oznam pri zápise dát cez (D),(H) a (R) aby ste si zapli odchytávanie textu v Hypertermináli, už nemusíte na to dopredu myslieť, ak ste na to predtým zabudli tak sa musel program nanovo spustiť a potrebný obsah sa musel odznova pekne-krásne ručne nadlapať ... (ručné spustenie odchytávania sa Vám ale aj tak  nevyhne, toto je len upozornenie na to že ho treba spustiť a dá sa pokračovať ďalej). Po voľbe (R) príde po výpise k ukončeniu programu.

Riešením bez oznamu by bolo spustenie Capture hneď pri štarte programu, alebo pre "tvrďasov" je tu stále možnosť prepísanie Data riadkov priamo z printscreenu ...

 

- následne po vypísaní Data riadkov cez Rows Data generator Vás program vyzve na ukončenie odchytávania textu (potrebné údaje sú už odchytené, treba zápis cez Capture ukončiť)

 

Animácia výpisu pre zapnutie a vypnutie odchytávania textu.

 

- ďalšie úpravy vzhľadu a textu v menu, tu som mimo iného koketoval s verziou voľby dĺžky PGM pulzu pomocou klávesy (P) - chvíľu som to aj tak mal, ale nakoniec som ponechal výber cez už "zabehanú" klávesu (L)

 
- zmena v menu, pribudol nový riadok - výpis obsahu Data riadkov - je tu v dec forme a aj v hex forme, voľba sa prevedie stlačením (C). Výpis prebehne vždy, teda aj pri prázdnom obsahu Data riadkov /ak sú tam samé nuly/.

 

výpis konkrétneho obsahu Data riadkov - voľba (C)

 
- úprava vzhľadu výpisu pre 2 kolo programovania (PGM pulz)

 
- úprava pozície výpisu v Data rows file name

 

- dtto sa týka pozície výpisu platné, alebo neplatné Data v datových riadkoch

 
- zarovnanie výpisu vlastného kontrolného súčtu (CRC),

 

- zarovnanie výpisu bolo prevedené aj v chybových hláškach

 

- kontrola správnosti ID teraz zbieha v tej istej sekvencii ako kontrola CRC

 

- je "prekopaný" vzhľad hlavičky v Igi´s byte to bit analyzéri

 

Igi´s byte to bit analyzér, tu konkrétne porovnaný obsah Data riadkov s čistou, nenapálenou PROM

 
- zarovnanie výpisu pri voľbe (W)rite

 
- použitý nový príkaz v programe, teraz je napr.: PRINT SPC(5)"text" v programe namiesto pôvodného PRINT TAB(5)"text", nahradené všetky príkazy kde to bolo možné, na kritických miestach kde je to potrebné PRINT TAB zostáva, viď napr. programový riadok č.2990
 
- z programu vyhodené bodkočiarky za PRINT TAB(X);"text" zistil som že ich netreba, teda teraz je zápis PRINT TAB(X)"text"
 
- slučky napr.: FOR F=0 TO 10:NEXT F majú skrátený zápis na FOR F=0 TO 10:NEXT ktorému SBC6502 tak isto dokonale rozumie
 

 
- posunul som umiestnenie údajov z Data riadkov z adresy 31000d na novú adresu 32500d, dtto sa týka rozkladu byte na jednotlivé bity, presunuté z adresy 31032d na adresu 32532d (o tomto podrobnejšie na konci článku)

 

- nakoniec som rozšíril program aj pre ďalšie hodnoty použitého x-talu a to pre: 3.6864MHz, 4.9152MHz a 6.000MHz

 

Tu len upozorním že v prípade práce dosky SBC6502 s x-talmi 4.91524MHz, 5.0000MHz a 6.0000MHz asi už bude potrebné použiť rýchlu verziu 82C55A (tá ide do 10MHz), alebo je možné že bude treba už vyberať aj z 5MHz verzií 8255A (ak máte šťastie tak vyberať netreba). Problém môže byť v tom, že procesor 65C02 poskytuje kratšie impulzy pre zýpis a čítanie ako potrebuje pre svoju činnosť obvod 8255A, takže čip nemusí potom na spomenutých x-taloch korektne fungovať. 5MHz verzie 8255A spoľahlivo idú na 4MHz clocku procesoru, takže asi bude treba trochu experimentovať. Ak nemáte chuť, potom 4MHz clock je tá najlepšia voľba vlastného taktu procesoru.

 
Záverom:

Týmto práce na programovom vybavení verzie 1.09 a 1.09p považujem za ukončené. Vyrobil som pre programátor PROM 74188 viacero verzií programového vybavenia, snahou bolo v každej ďalšej verzii niečo pridať do ovládania a poskytnúť čo najviac doplnkových funkcií. Či sa mi to podarilo - tak to už ponechám na Vaše posúdenie. Dĺžka programu sa teraz dostala na približne polovicu pôvodnej veľkosti, pritom z možností programu "vypadla" iba jedna vec a to reprogramovanie a zároveň pribudla nová možnosť výpisu obsahu, takže to skrátenie dĺžky programu považujem za celkom slušný úspech. Významným obmedzením pri tvorbe je to, že nie je možný zápis priamo do obrazovky (teda niečo ako PRINT AT a podobne), t.j. ak sa zapíše riadok tak to čo tam už je nie je možné prepísať, iba ak sa zmaže celá obrazovka. Za posledné mesiace som sa v programe vcelku dosť  "vŕtal" a hľadal možnosti skrátenia celkovej dĺžky programu. A zadarilo sa.

__________________________________________________________

09.08.2022

Dnes uvoľnená verzia 1.09p (=patch, jedná sa o úpravy a skrátenie niektorých zápisov programových riadkov /ukázalo sa že zápis sa ešte stále dá skrátiť/, je tu oprava v riadku 1630, kde bola v zápise použitá dvojitá dvojbodka /moja chyba, ale program fungoval bez problémov/. Ostatné úpravy sa týkajú viacerých programových riadkov, pretože sa dal ich zápis ďalej zjednodušiť. Spomenutá chyba verzie 1.09 je už priamo v programe opravená.

Zdôrazňujem - pôvodná verzia 1.09 bola plne funkčná aj bez patchu a opravy spomenutého riadku.


Vrelo odporúčam poslednú verziu 1.09p programového vynavenia.

 

menu - verzia 1.09p

 

Uvediem názorný príklad pôvodného zápisu programového riadku vo verzii 1.09:

 1105 GOSUB 2995:? "   U=";U;"DV=";DV;"PP=";PP;"LG=";LG;


Nový zápis toho istého programového riadku vo verzii 1.09p:

 1105 GOSUB 2995:? "   U="U"DV="DV"PP="PP"LG="LG;


Program - verzia 1.09patch je pre x-tal:


1.8432MHz
2.4576MHz
3.6864MHz
4.0000MHz
4.5000MHz
4.9152MHz
5.0000MHz
6.0000MHz

version 1.09patch.zip (34,89 kb)

 

Poznámka (25.10.2022):

Pretože som tu robil opravu tak som priamo do tejto verzie ešte urobil úpravu zobrazenia pri použití výberu (L), je to teraz prehľadnejšie.


SBC6502 + doska programátoru PROM74188 v jednom celku

 

Listing programu - verzia 1.09p pre x-tal = 4.9152MHz:


 1000 CLEAR:POKE 15,80:PD=32500:PE=32532:U=3.13:DV=6:PP=17*U:LG=1.5
 1004 B$="0123456789ABCDEF":R$="09.08.2022, x-tal = 4.9152MHz"
 1006 Q$="2022_ver.1.09/patch/ ------------"
 1010 PA=32768:PB=32769:PC=32770:CWR=32771:POKE CWR,137
 1014 ? CHR$(12):?:? SPC(27)"SBC6502 (32kB RAM + 8255A)"
 1065 ? SPC(15)"Turn ON (+ PC sound) the power to the programmer !"
 1066 NS=1.5:PG=0:DD=0:? SPC(25)R$:GOSUB 2000
 1090 GOSUB 2400:Z=0:X=0:Y=0:VP=0:IG=0:GH=0:NS=1:GOSUB 9000
 1100 ? CHR$(12):GOSUB 1700:?:IF ID<>32 THEN 8900
 1101 ?" ----------- Best 74188 PROM programmer,Igi(c)"Q$
 1105 GOSUB 2995:? "   U="U"DV="DV"PP="PP"LG="LG;
 1106 GOSUB 2990:GOSUB 8781
 1108 GOSUB 2995:? "(L)enght  PGM pulse  ="PP/U"msec";:GOSUB 2990
 1110 GOSUB 2995:? "   pulse for 2 round ="PP/U*LG"msec";
 1112 GOSUB 2990:GOSUB 8781
 1113 GOSUB 2995:? "(C)ontent Data  Rows";:GOSUB 2990
 1114 GOSUB 2995:? "(D)ec input data";:GOSUB 2997:GOSUB 2990
 1116 GOSUB 2995:? "(H)ex input data";:GOSUB 2997:GOSUB 2990
 1118 GOSUB 2995:? "(R)ead  P R O M ";:GOSUB 2997:GOSUB 2990
 1120 GOSUB 2995:? "(T)est  P R O M"SPC(10)"/is empty ?/";:GOSUB 2990
 1122 GOSUB 2995:? "(V)erification PROM against Data rows";:GOSUB 2990
 1124 GOSUB 2995:? "(W)riting Data   direct into P R O M/";:GOSUB 2990
 1126 GOSUB 2995:? "(Q)uit program";:GOSUB 2990:GOSUB 8781
 1128 GOSUB 2995:? "   Data /rows/ file name:";:GOSUB 2990
 1130 GOSUB 2995:? "   "C$;TAB(78)"-":GOSUB 8776:?
 1140 ? SPC(31)"Your choice:";:INPUT A$:IF A$="L" THEN DD=1:GOTO 1600
 1141 IF A$="C" THEN Z=3:GOTO 3500
 1142 FG=1:IF A$="D" THEN 4300
 1144 IF A$="H" THEN 4200
 1146 IF A$="R" THEN IG=2:GOTO 5000
 1148 FG=0:IF A$="T" THEN 6000
 1150 IF A$="V" THEN VP=1:GOTO 8000
 1152 IF A$="W" THEN VP=9:GOTO 7000
 1154 IF A$="Q" THEN END
 1200 GOTO 1090
 1600 GOSUB 5500:? " Duration of PGM pulse:"PP/U;"msec (normal max.20)"
 1610 INPUT " New lenght PGM pulse (allowed range: 1-50msec)";PG:?
 1620 IF PG<1 OR PG>50 THEN GOSUB 2200:GOTO 1600
 1630 IF PG>20 THEN ? " At your own risk ...":GOSUB 2302:NS=1.5
 1640 ? " PGM pulse for 2 rounds=";PG*LG;"msec"
 1650 PG=PG*U:GOSUB 1700:GOSUB 2000:GOTO 1090
 1700 IF PG=0 THEN 1730
 1720 PP=PG
 1730 RETURN
 1999 ? SPC(3)"Wrong input !":GOSUB 2302:RETURN
 2000 FOR F=0 TO DV*2000*NS:NEXT:RETURN
 2050 FOR F=0 TO DV*20:NEXT:RETURN
 2100 FOR F=0 TO DV*100:NEXT:RETURN
 2200 NS=0.6:FOR GI=1 TO 3:GOSUB 2302:GOSUB 2000:NEXT
 2300 GOSUB 2500
 2301 ? SPC(18)"-->  No valid data !"SPC(8)"CRC="CRC;:GOSUB 2990
 2302 ? CHR$(7);:RETURN
 2400 POKE PA,0:POKE PB,0:RETURN
 2500 ? " -";:RETURN
 2990 ? TAB(78)"-":RETURN
 2995 ? " -"SPC(20);:RETURN
 2997 ? " + generate Data rows";:RETURN
 3010 ? CHR$(12);:T=0:Q=0:X=0:Y=0:A=0:Y=0:OK=0:ER=0
 3015 ? SPC(25)"Igi"CHR$(39)"s byte to bit analyzer:"
 3020 ? SPC(15)"by   Data   Ve    PROM   by   Data   Ve    PROM"
 3022 ? SPC(15)"te:  bit:   ri    bit:   te:  bit:   ri    bit:"
 3025 ? SPC(18)"76543210 fy: 76543210    76543210 fy: 76543210"
 3030 GOSUB 8781
 3055 GOSUB 3200:Q=Q+1:T=T+1:GOSUB 3200:Q=Q+1:IF Q=2 THEN ?:Q=0
 3082 T=T+1:IF T=32 THEN POKE PA,0:GOTO 3100
 3090 GOTO 3055
 3100 IF IG=3 THEN 8210
 3200 POKE PA,128:GOSUB 2050:IF T<10 THEN ? TAB(14)" "T;
 3220 IF T>=10 THEN ? TAB(14)T;
 3230 X=PEEK(PD+T):GOSUB 3400:IF IG=3 THEN 3237
 3237 POKE PA,128+T:U1=PEEK(PC):U2=PEEK(PD+T):X=PEEK(PC)
 3239 IF U1=U2 THEN ? " === ";:OK=OK+1
 3240 IF U1<U2 THEN ? " >>> ";
 3242 IF U1>U2 THEN ? " <<< ";
 3249 GOSUB 3400
 3250 RETURN
 3400 Y=128
 3412 A=INT(X/Y):IF A=0 THEN 3416
 3414 ? "1";:X=X-Y:GOTO 3418
 3416 ? "0";
 3418 Y=Y/2
 3420 IF INT(Y)=0 THEN 3424
 3422 GOTO 3412
 3424 RETURN
 3500 GOSUB 5500:? SPC(12)"Name: "C$:I=PD
 3501 ? SPC(12)"CRC :"L"(dec)";
 3503 IF L=0 THEN ?"=no active PROM"
 3505 ?:IF L>0 THEN ?
 3506 ? SPC(12)"Data":? SPC(12)"hex :":? SPC(12)"0000: ";
 3508 FOR F=PD TO PD+15:N=PEEK(F):GOSUB 3720:NEXT
 3510 ?:? SPC(12)"0010: ";
 3512 FOR F=PD+16 TO PD+31:N=PEEK(F):GOSUB 3720:NEXT
 3514 ?:?:? SPC(12)"Data":?SPC(12)"dec :"
 3516 ? SPC(12)"9001 DATA";:GOSUB 8970
 3518 ? SPC(12)"9002 DATA";:GOSUB 8970
 3520 ? SPC(12)"9003 DATA";:GOSUB 8970
 3522 ? SPC(12)"9004 DATA";:GOSUB 8970:GOTO 7046
 3720 L=N AND 15:H=(N-L)/16
 3730 ? MID$(B$,H+1,1)MID$(B$,L+1,1);" ";
 3740 RETURN
 4100 RESTORE:L=0:FOR G=PD TO PD+31:READ M:POKE G,M
 4140 L=L+PEEK(G):NEXT:RETURN
 4200 GOSUB 5500:GOSUB 4900:DF=PD:N=0
 4203 ? "Adress:  data:":? "(hex)    (hex)"
 4206 L=N AND 15:H=(N-L)/16
 4207 ?" :";MID$(B$,H+1,1)MID$(B$,L+1,1);"     ";:INPUT A$
 4209 IF LEN (A$)<>2 THEN GOSUB 1999:GOTO 4207
 4210 H$=LEFT$(A$,1):L$=RIGHT$(A$,1):QQ=1
 4212 IF QQ=17 THEN GOSUB 1999:GOTO 4207
 4213 IF MID$(B$,QQ,1)=H$ THEN QQ=1:GOTO 4217
 4214 QQ=QQ+1:GOTO 4212
 4216 IF QQ=17 THEN GOSUB 1999:GOTO 4207
 4217 IF MID$(B$,QQ,1)=L$ THEN 4225
 4218 QQ=QQ+1:GOTO 4216
 4225 IF H$="F" THEN HI=15:GOTO 4244
 4226 IF H$="E" THEN HI=14:GOTO 4244
 4227 IF H$="D" THEN HI=13:GOTO 4244
 4228 IF H$="C" THEN HI=12:GOTO 4244
 4229 IF H$="B" THEN HI=11:GOTO 4244
 4230 IF H$="A" THEN HI=10:GOTO 4244
 4231 HI=VAL(H$)
 4244 IF L$="F" THEN LO=15:GOTO 4270
 4245 IF L$="E" THEN LO=14:GOTO 4270
 4246 IF L$="D" THEN LO=13:GOTO 4270
 4247 IF L$="C" THEN LO=12:GOTO 4270
 4248 IF L$="B" THEN LO=11:GOTO 4270
 4249 IF L$="A" THEN LO=10:GOTO 4270
 4250 LO=VAL(L$)
 4270 POKE DF,HI*16+LO:N=N+1:DF=DF+1
 4279 IF DF=PD+32 THEN GOSUB 8700:?:GOTO 8800
 4280 GOTO 4206
 4300 GOSUB 5500:GH=PD:S=0:GOSUB 4900
 4302 ? "Adress:"SPC(6)"data:":? "(dec)"SPC(8)"(dec)"
 4303 IF S<10 THEN ? " "S,
 4304 IF S>=10 THEN ? S,
 4305 INPUT Q:IF Q>255 THEN GOSUB 1999:GOTO 4302
 4308 POKE GH,Q:GH=GH+1:S=S+1
 4309 IF GH=PD+32 THEN GOSUB 8700:?:GOTO 8800
 4310 GOTO 4303
 4900 ? SPC(19)"(..File name = lenght max.40 characters..)"
 4910 ? SPC(3)"PROM DATA NAME:";:INPUT C$
 4930 IF LEN (C$)>40 THEN GOSUB 1999:GOTO 4900
 4940 ?:RETURN
 5000 GOSUB 5500:? SPC(16)"Read PROM and Write to Data rows ";
 5001 CRC=0:NS=0.2:GOSUB 2000:R=50:IF IG=2 THEN R=0
 5010 POKE PB,0:QW=0:A=0:POKE PA,128:GOSUB 2050
 5035 QW=128+A:POKE PA,QW:OC=PEEK(PC):POKE PD+A+R,OC:CRC=CRC+OC:A=A+1
 5095 IF A=32 AND IG=1 THEN 3010
 5100 IF A=32 THEN 5120
 5110 GOTO 5035
 5120 IF CRC=0 THEN ? " BLANK PROM !":GOTO 5160
 5130 IF CRC>0 THEN ? " ACTIVE PROM !"
 5140 GOSUB 2400
 5150 IF CRC>0 THEN GOSUB 4900:GOSUB 8700:?:GOSUB 8800:END
 5160 GOSUB 2400:NS=0.5:GOSUB 2200:GOTO 1090
 5500 ? CHR$(12):? "   Your choice - "A$:?:RETURN
 6000 GOSUB 5500:? SPC(15)"Test - read blank PROM ";
 6010 QW=0:A=0:POKE PB,0:POKE PA,128:GOSUB 2050
 6035 QW=128+A:POKE PA,QW:OC=PEEK(PC):IF OC=0 THEN 6070
 6060 ? "- Not a blank PROM"SPC(26)"Insert blank PROM!"
 6065 GOSUB 2400:GOSUB 2200:GOTO 1090
 6070 A=A+1:IF A=32 THEN 6100
 6090 GOTO 6035
 6100 ? " Good, blank PROM !":GOSUB 2400:IF Z=1 THEN 7020
 6110 NS=1.5:GOSUB 2000:GOTO 1090
 7000 GOSUB 5500
 7012 ? SPC(30)"Writing PROM 74188 ...":?:Z=1:GOTO 6000
 7020 GOSUB 9000:?:? SPC(17)" Name Data file: "C$
 7030 GOSUB 9005:? SPC(34)"CRC="CRC
 7035 IF CRC=0 THEN ? SPC(29)" No valid data !":GOSUB 2200:GOTO 1090
 7042 IF 32-OK<>0 AND VP=1 THEN GOSUB 2000:GOTO 1090
 7046 ?:? SPC(32)"CONTINUE Y/N";:INPUT A$
 7047 IF A$="N" AND Z=3 THEN END
 7048 IF A$="N" THEN 1090
 7049 IF A$="Y" AND Z=3 THEN 1090
 7050 IF A$="Y" THEN 7070
 7055 GOSUB 1999:GOTO 7042
 7070 QW=0:A=0
 7100 RESTORE:FOR G=PD TO PD+31:READ M:POKE G,M:NEXT G:POKE PA,128
 7200 POKE PB,0:GOSUB 2050:? TAB(29)"Programming bytes ..."
 7201 ? SPC(30)"PGM pulse =";
 7206 IF Z=2 AND DD=1 THEN ? PG/U*LG;:GOTO 7217
 7208 IF Z=1 AND DD=0 THEN ? PP/U;:GOTO 7217
 7210 IF Z=1 THEN ? TAB(30)PP/U;:GOTO 7217
 7212 IF Z=2 AND DD=0 THEN ? PP/U*LG;
 7217 ? "msec":?:? TAB(8);
 7225 FOR G=PD TO PD+31:IF A<10 THEN ? " "A;
 7227 IF A>=10 AND A=<15 THEN ? A;
 7229 IF A=15 THEN ?:?:? TAB(8);
 7230 IF A>15 THEN ? A;
 7240 K=PEEK(G):FOR F=PE TO PE+7:POKE F,0:NEXT
 7260 IF K>=128 THEN POKE PE+7,128:K=K-128
 7270 IF K>=64 THEN POKE PE+6,64:K=K-64
 7280 IF K>=32 THEN POKE PE+5,32:K=K-32
 7290 IF K>=16 THEN POKE PE+4,16:K=K-16
 7300 IF K>=8 THEN POKE PE+3,8:K=K-8
 7310 IF K>=4 THEN POKE PE+2,4:K=K-4
 7320 IF K>=2 THEN POKE PE+1,2:K=K-2
 7330 IF K>=1 THEN POKE PE+0,1:K=K-1
 7365 FOR QW=0 TO 7:S=PEEK(PE+QW):IF S=0 THEN 7480:GOSUB 1700
 7420 PP=17*U:POKE PA,128:GOSUB 2050:IF Z=2 AND DD=1 THEN PP=PG*LG
 7424 IF Z=2 THEN PP=PP*LG
 7430 POKE PA,A+128:POKE PB,S:POKE PA,A+224
 7450 POKE PA,A+192:FOR F=0 TO PP:NEXT:POKE PA,A+160
 7470 POKE PA,128:GOSUB 2400:GOSUB 2050
 7480 NEXT:A=A+1:GOSUB 2050:NEXT:?:?:A=0:G=0
 7980 ? SPC(23)"End of the round no."Z"of programming":Z=Z+1
 7990 GOSUB 2400:A=0:QW=0:GOSUB 2000
 8000 RESTORE
 8012 POKE PA,128:POKE PB,0:GOSUB 2050:A=0:L=0:QW=0
 8013 ? CHR$(12):OK=0:ER=0
 8014 ? TAB(29);"Verifying PROM <-> DATA:"
 8020 FOR G=PD TO PD+31
 8030 READ M:POKE G,M:Q=PEEK(G):L=L+Q:NEXT G
 8080 A=0:FOR G=PD TO PD+31:QW=128+A
 8085 POKE PA,QW:Q=PEEK(PC):R=PEEK(G)
 8100 IF Q=R THEN OK=OK+1:GOTO 8104
 8102 X=1:ER=ER+1
 8104 A=A+1:NEXT G
 8106 ?:? TAB(26)"Pass ="OK"byte,  Error="ER"byte"
 8108 POKE PA,0:OK=0:ER=0:?
 8121 IF Y=1 AND X=1 THEN 8200
 8122 IF Y=1 AND X=2 THEN 8130
 8123 IF X=1 AND VP=1 AND Y=0 THEN 8200
 8125 IF L=0 THEN ? " Blank PROM!":POKE PA,0:GOSUB 2200:GOTO 1090
 8126 IF X=1 THEN 8150
 8127 IF X=1 THEN Y=0:POKE PA,0:GOSUB 2000:X=X+1
 8128 IF X=2 THEN Y=1:POKE PA,0:GOSUB 2000:GOTO 7070
 8130 POKE PA,0:?:? SPC(33)"Verification O.K. !"
 8140 NS=2:GOSUB 2000:GOTO 1090
 8150 ? SPC(18)"New attempt to burn round no."Z;
 8160 ? "- please wait.":POKE PA,0:GOTO 8127
 8200 POKE PA,0:GOSUB 2050:IG=3:GOTO 3010
 8210 ? SPC(27)"Pass="OK"byte, Error="32-OK"byte"
 8211 IF OK=32 AND VP=9 THEN 7046
 8212 IF OK=32 AND VP=1 THEN 8500
 8214 ? SPC(34)"- bad PROM ...";:GOSUB 2200:GOSUB 2400:GOTO 7042
 8500 ? SPC(32)"- good verifying !";: GOSUB 2302:NS=2.5:GOSUB 2000
 8502 GOTO 1090
 8700 ?:? "Now it's time to start capturing text in ";
 8702 ? "HyperTerminal."
 8704 ?"   Press (C) to continue ...";:INPUT A$
 8710 ?:? "Rows data generator:":?:I=PD:L=0
 8711 ? "9000 C$=";CHR$(34);C$;CHR$(34);":ID=32:RETURN"
 8712 ? "9001 DATA";:GOSUB 8970:? "9002 DATA";:GOSUB 8970
 8714 ? "9003 DATA";:GOSUB 8970:? "9004 DATA";:GOSUB 8970
 8715 FOR G=PD TO PD+31:Q=PEEK(G):L=L+Q:NEXT
 8716 ? "9005 CRC="L":RETURN:REM CRC(dec!)":?
 8740 IF FG=1 THEN 8800
 8776 GOSUB 4100:IF L=0 THEN 8780
 8777 GOSUB 9005:IF L<>CRC THEN 8900
 8778 GOSUB 2500:? SPC(18)"-->  Valid data in memory ! CRC="CRC;
 8779 GOSUB 2990:GOTO 8781
 8780 GOSUB 2300
 8781 ? " -";:FOR GI=2 TO 77:? "-";:NEXT:GOSUB 2990:RETURN
 8800 ? "  Save this data rows (9000-9005) in the specified"
 8802 ? "   rows positions and then run the program again!"
 8804 ?:? "You can now stop writing to the file in ";
 8806 ? "Hyperterminal.":GOSUB 2302:END
 8900 ? CHR$(12)
 8901 ? SPC(8)"Problem ...":? "Bad verification result or ID"
 8904 ? SPC(5)"difference in:":? "  computer"SPC(8)"Data"
 8905 ? SPC(4)"data"SPC(10)"rows":? SPC(4)"CRC:   < >    CRC:"
 8906 ? SPC(4)L;TAB(18)CRC:? SPC(9)"ID ="ID:GOSUB 2200:END
 8970 FOR G=I TO I+6:? PEEK(G)",";:NEXT:? PEEK(I+7):I=I+8
 8975 RETURN
 9000 C$="All DATA bytes =0":ID=32:RETURN
 9001 DATA 0,0,0,0,0,0,0,0
 9002 DATA 0,0,0,0,0,0,0,0
 9003 DATA 0,0,0,0,0,0,0,0
 9004 DATA 0,0,0,0,0,0,0,0
 9005 CRC=0:RETURN:REM CRC in dec form !

_____________________________________________________________

 

Táto sekcia je určená už len pre tých ktorí radi vedia čo sa deje vovnútri ...

(Pre vlastnú prácu to ale nie je potrebné vedieť.)

 

Použité adresy pre prácu s čipom 8255A /3x 8-bitová brána/, tu sa v adresácii nič nemenilo:

___________________

riadiaci register PCW:adresa 32771d /8003h/, 137 - nastaví porty A a B port ako výstupné, port C je vstupný

(POKE 32771,137)

___________________

adresa:32768d /8000h/, výstup

          port A - bity 0,1,2,3,4 - vývody adries A,B,C,D,E vlastnej PROM 74188         

          bit 5 - ovládanie CS(neg.) PROM
          bit 6 - ovládanie prog.pulzu z 5V/10.5V/5V
          bit 7 - ovládanie relé na On/Off pre pin 16 (Ucc) PROM 74188

          ovládanie sa prevádza pomocu príkazu POKE

___________________
adresa:32769d /8001h/, výstup:
port B - bity  0,1,2,3,4,5,6,7
          ovládanie tranzistorov T1÷T8, ktoré spínajú výstupy portu B do 0 pri programovaní,
          pamäť PROM 74188 sa programuje postupne v rámci bytu vždy iba po bitoch, vždy
          je zopnutý v jednom okamžiku iba jeden bit, v jednom momente spína iba jeden
          tranzistor BS170, ovládanie sa prevádza pomocu príkazu POKE

___________________

adresa:32770d /8002h/, vstup:
port C - bity  0,1,2,3,4,5,6,7
         čítanie obsahu PROM, čítanie obsahu PROM po naprogramovaní
         ovládanie sa prevádza pomocu príkazu PEEK

___________________


Verzie 1.09 a 1.09p programového vybavenia používajú nové

pamäťové miesta:


Staré umiestnenie - verzia 1.01 až 1.07:

Umiestnenie pamäťových pozícií je nastavené v prvom programovom riadku:

adresy 31000÷31031d a 32032÷32039d

uveďme si príklady:

verzia 1.04:

1000 CLEAR:PD=31000:PE=31032:POKE 15,80:REM 80 column.

verzia 1.05:

1000 CLEAR:PD=31000:PE=31032:POKE 15,80:B$="0123456789ABCDEF"

verzia 1.07:

1000 CLEAR:PD=31000:PE=31032:POKE 15,80:U=1:DV=2.25:PP=17*U:LG=1.5

(tieto adresy som historicky udržiaval, pôvodne tam bola rezerva na spracovávanie 256 bitov naraz /rozloženie 32byte na jednotlivé bity, bolo by treba 256 byte/, ale od toho som už dávno upustil, zvolené umiestnenie pritom nerobilo problém ani v jednej doterajšej verzii a tak som to ponechal ako to bolo, to že som to riešil v premenných /vďaka tomu je to relokovateľné/ tak to bola príprava na možné uvoľnenie zvoleného pamäťového priestoru - a dnes na to došlo)

 

Nové umiestnenie pamäťových miest - verzia 1.09 a 1.09p:

Hodnota je posunutá smerom nahor a to o celých 1500 byte, teda používajú sa nové adresy 32500÷32531d a 32532÷32539d.

1000 CLEAR:POKE 15,80:PD=32500:PE=32532:U=2.53:DV=5:PP=17*U:LG=1.5

(na funkčnosť programu premiestnenie týchto adries nemá vplyv, ide to cez použité premenné, takže táto zmena je veľmi jednoduchá, zmenia sa čísla len v 2 premenných - ale uvoľní sa týmto posunom 1500 byte RAM, síce to nie je z hľadiska funkčnosti potrebné, ale urobil som to - je to posledná úprava v programe, nakoniec ak to funguje tomu kto sa v tom nechce vŕtať je to jedno, program funguje aj pôvodnom stave - a aj v novom Laughing, kto neverí môže skúsiť zadať pôvodné hodnoty umiestnenia, program stále pobeží bez najmenších problémov)

(Použité ukážky riadkov sú vždy pre konkrétny použitý x-tal = 4.000MHz)

 

Prišlo k zmene dôležitých adries RAM pre programátor PROM 74188 verzií 1.09 a 1.09p - tak tu je ich prehľad:

 

adresa:                   obsah:
 

32500(d) ;           32 byte - obsah = Data riadky 9001 ÷ 9004
    ...          ;                            rozsah 32500d÷32531d  
    ...          ;      Vždy sú tu uložené iba údaje z týchto Data riadkov !
    ...          ;         Údaje sú vždy nanovo načítané ak je na displeji
    ...          ;         zobrazené MENU. Tu sa vždy nachádzajú  DATA
32531(d) ;                       pre napálenie do PROM 74188.                
                  _____________________________________________
                 ;                     nasleduje rozsah 32532÷32539d,
                 ;                         tu je  umiestnená rozložená
                 ;               bitová postupnosť obsahu jedného byte,
                 ;              takto to bit po bite napaľuje programátor
                  _____________________________________________
32532(d) ;              rozklad - one byte to bit, pozícia bitu 0
32533(d) ;              rozklad - one byte to bit, pozícia bitu 1
32534(d) ;              rozklad - one byte to bit, pozícia bitu 2
32535(d) ;              rozklad - one byte to bit, pozícia bitu 3
32536(d) ;              rozklad - one byte to bit, pozícia bitu 4
32537(d) ;              rozklad - one byte to bit, pozícia bitu 5
32538(d) ;              rozklad - one byte to bit, pozícia bitu 6
32539(d) ;              rozklad - one byte to bit, pozícia bitu 7

 

Iné adresy ako tu uvedené sa vo verziách 1.09 a 1.09p nevyužívajú.

 

Pripomeniem čo nastavujú premenné použité v riadku 1000:

 

  U -  konštanta pre prepočet rýchlosti ktorá platí pre hodnotu dĺžku pulzu =1msec,

       (konštanta platí vždy pre konkrétny použitý x-tal), využíva sa aj pri voľbe (L)

DV - konštanta, ktorá prepočítava všetky čakacie programové slučky (okrem vlastného PGM pulzu),

       (hodnota zase platí pre konkrétny použitý x-tal)

PP - premenná, ktorá nastavuje štandartne dĺžku PGM pulzu v 1.kole 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, teda v druhom kole bude výsledný PGM pulz 1.5x dlhší

 

Upozornenie:

Pri testoch sa ukázalo že posun až na úplný koniec RAM (skúsil som použiť adresy 32700 a 32732d) nie je celkom dobrý nápad (pri testoch sa prepisovali údaje, aby som bol konkrétny) a preto som to umiestnil takto a nechal na konci dostupnej RAM ešte nejaký voľný priestor (jedná sa o 228 byte voľnej RAM), pri takto nastavenom využití RAM to stále beží korektne a bez najmenších problémov. Ako sa ukázalo nejakú RAM úplne na konci pamäťového priestoru využíva Basic pri niektorých veciach, takže ak s tým počítam tak sa žiadne problémy nekonajú Foot in mouth - možno tento poznatok bude niekomu užitočný.


Ďalšia vec ktorá sa objavila - riadok 8704 vo verziách 1.09 a 1.09p nekontroluje či ste skutočne stlačili "C", ak zadám riadok v programe nasledovne:

8704 ?"   Press (C) to continue ...";:INPUT A$:IF A$<>"C" THEN 8704

tak ho nedokáže správne spracovať, jednoducho tú podmienku odignoruje, nedokáže ani vypísať ak zadám v riadku ? A$. Zjavne som sa dostal počtom premenných a stringov na "doraz" pre použitý interpreter jazyku BASIC a tak sa tu nekontroluje či je skutočne stlačené "C", berie akúkoľvek klávesu, možno by tam malo byť presnejšie "press any key + Enter". Takže toto je jedna vec čo vyskočila pri testovaní, riadok 8704 teda vyzerá takto:

8704 ?"   Press (C) to continue ...";:INPUT A$

Potvrdilo sa mi to keď som chcel do programu vložiť ďalšiu položku do menu - už to začalo vo veľkom robiť chyby na miestach kde to bolo dovtedy bez najmenších problémov chodivé - výsledok ? Už som ďalšiu položku do menu nezabudoval /dodatčoné riadky som vyhodil/ - a všetko funguje tak ako má. Jednoducho už som chcel programovo po tejto "mašinke" príliš veľa.

Overil som si to tiež tak že som v testovacej verzii kde si celý program "šijem" na mieru pre vlastné použitie /má označenie 1.10, táto verzia sa ešte vyvíja, takže zatiaľ nie je uvoľnená/, niektoré premenné som z programu vypustil a aha ! - riadok 8704 zrazu už môže byť v plnej verzii a bezproblémovo funguje. Napríklad bez zmenšenia programu zrazu nebola správna hodnota dĺžky pulzu pre 2 programové kolo, akonáhle som vyhodil nové, dodatočné riadky tak všetko bolo zase O.K.

Takže na kritickú hranicu zaplnenia premennými pozor !

Ničím to na seba neupozorní - leda tým že veci v programe prestávajú robiť to čo doteraz bezproblémovo robili.

Dost obmedzujúcim faktorom je malá povolená dĺžka programového riadku - iba 72 znakov, inak by sa program program dal napísať aj omnoho efektívnejšie. Napriek tomuto obmedzeniu som si práve preto povedal že urbím program práve na takomto počítači - že aj tu sa dajú robiť veci a že ten stoj na to má.

 

Ešte malá štatistika:

V budovanej verzii programu 1.10 je napríklad volanie príkazov GOSUB použité 111x, GOTO 61x, IF THEN 98x, PRINT /?/ 149x, FOR - NEXT 16x, tieto údaje sa nebudú veľmi líšiť od verzií 1.09 a 1.09p, ak áno tak len veľmi mierne.

____________________________________________________________

Záverečná poznámka:

Síce neviem koľko hodín som nad výslednými programovými verziami odsedel (radšej to ani nechcem vedieť ...), ale viem že dohromady to bolo skutočne pekných "pár hodín", len dúfam že výsledok úsilia stojí za ten strávený čas. To že v tom budem nakoniec toľko sedieť ma na úplnom začiatku roboty ani vo sne nenapadlo, zase na druhú stranu ma to skutočne bavilo - a hlavne som sa vďaka tomu naučil celkom slušne programovať vlastný SBC6502. Všetko programové vybavenie (teda zápisy v Basicu a aj nasledovné úpravy) bolo napísané priamo v Notepade a odtiaľ to išlo priamo cez Hyperterminál do SBC6502 - ani raz som nepoužil výpis listingu na tlačiarni, všetko sa to spracovalo priamo v notebooku.

Želám príjemnú zábavu pri napaľovaní PROM !

____________________________________________________________


Nakoniec sa ukázalo že je záujem (i keď som veľmi s tým už nepočítal) aby boli naďalej dostupné aj staršie verzie programu (čo ma naozaj potešilo, vďaka za maily !), takže som všetky doteraz vydané verzie programového vybavenia pre programátor PROM 74188 zabalil do jedného, nasledovného balíčku (ponechal som jednotlivé verzie aj v pôvodných článkoch v tej-ktorej verzie):


Dátumy vydania jednotlivých verzií:

verzia 1.01  - 02.02.2019
verzia 1.02  - 08.01.2020
verzia 1.03  - 04.01.2021
verzia 1.04  - 02.02.2021
verzia 1.04e - 20.03.2021
verzia 1.04g - 18.05.2021
verzia 1.05a - 02.06.2021
verzia 1.05b - 02.08.2021
verzia 1.07  - 10.12.2021
verzia 1.09  - 02.06.2022
verzia 1.09p - 09.08.2022

 

Prom programmer all versions.zip (290,19 kb)


(Ono asi najzaujímavejšie je to že v starších verziách je v REM riadkoch kompletný popis toho čo sa práve deje, v novších verziách v rámci úspory celkovej dĺžky programu je popis vynechaný a REM riadky sú z programu odstránené. Z toho plynie že v starších verziách sa dá celkom dobre "vŕtať" a upravovať. V novších verziách "samodomo" úpravy programu už veľmi neodporúčam, bez popisu sa dá ľahko v programe "stratiť".


Doska samotného programátoru PROM 74188.

_____________________________________________________

25.10.2022

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 následne predĺžený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 už opravená, na webe sú už opravené programy týchto verzií. Nastalo to po vypadnutí jedného programového riadku z programu pri prepise častí programu do nových verzií programu - moja chyba, ospravedlňujem sa. Tiež je to opravené aj v súhrne programových verzií.

Ak sa objavia nejaké "drobotiny", ktoré stoja za úpravu tak sú automaticky do uvedených verzií premietnuté.

____________________________________________________________

Vaše hodnotenie, Rate post:

06_2022 Blog, Notes.

By Administrator at June 01, 2022 14:33
Filed Under: Blog

01.06.2022

Občas sa oplatí hľadať na ebay ...:

Atari - čriepky. Atari tidbits. 17.

_____________________________________________________

02.06.2022

Posledná verzia programového vybavenia pre programátor 74188:

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

_____________________________________________________

04.06.2022

Dnes som našiel krásne skonštatovanie stavu jedného poslanca ktorý je teraz najväčším miláčikom deštruktora od čias nákupu ruskej vakcíny a následnej návštevy Maďarska:

"Každá dedina mala svojho blázna. V modernej dobe každá politická strana má svojho blázna. A niekto to zdokonalil - blázon má svojho blázna."

_____________________________________________________

10.06.2022

Pre tester x-talov dorobená ešte jedna doplnková doštička:

X-tal oscillator board - no.5. X-tal tester shield.

_________

Disketová jednotka pre Atari z Južnej Ameriky, ešte pred niekoľkými dňami som o jej existencii vôbec nevedel  ...

SKYDATA SK551 Atari floppy unit - made by Argentina.

_____________________________________________________

12.06.2022

Slovenské medvede zjavne nečítajú nedávne vyhlásenie ministra Budaja:

Maco vegetarián - v praxi

___________________________________________________________

22.06.2022

Dvojitý napájací zdroj pre disketové jednotky  Atari - z Austrálie:

Dual power supply Atari 1050 /Atari XF551/.

_____________________________________________________

23.06.2022

Tak sme sa predsa len dočkali, konečne sú k dispozícii fotografie odstrojenej základnej dosky pre Atari 130XE a to v slušnom rozlíšení:

Photo - desoldered motherboard Atari 130XE.

_____________________________________________________

24.06.2022

Dńa 27.06.2022 uplynie presne 50 rokov od založenia legendárnej firmy Atari:

50 výročie vzniku Atari. 50 years since the founding of Atari.

_____________________________________________________

27.06.2022

Day "D" je tu, 50-ka Atari ...

_____________________________________________________

Vaše hodnotenie, Rate post:

Atari - čriepky. Atari tidbits. 17.

By Administrator at June 01, 2022 11:36
Filed Under: Atari

Dnes to bude o tom čo sa podarilo - a je to k dostaniu napríklad na ebay.de a týka sa malého Atari. Bude to vlastne len také obrázkové leporelo, ale kto niečo na atárko zháňa si dosť pravdepodobne nájde to čo mu doma tlačí pätu. Keď sa na to pozerám tak sa zdá že nie sme na tom až tak zle a možno to ešte bude časom lepšie a lepšie. Bodaj by ...

Obrázky v článku sú prevzaté z ebay.de.



16MByte RAM, to by fakt už malo stačiť naozaj každému.


Adapter EPROM_FLASH_OS DIP32 PIN - AM27C010 to DIP28 PIN - AM27C256 8 bits_word

(Určené pre tých ktorí majú stály nedostatok potrebného priestoru v Eprom-ke.)

 

Adapter from the MOS 6502 to MOS 6502C SALLY processor for Atari XL _XE


Atari 400 800 130 and 65XE test cartridge


Atari FREDDIE CO61991-29

(náhrada obvodu Freddie)


Atari GTIA FIXER - CO14889-01

(oprava GTIA čipu)


ATARI XE 64KB to 128KB RAM Upgrade, C025953 RAMcontroller 130XE

ATARI XE Tastatur Membrane keyboard HQ

 

ATARI XF551 OS Hyper XF 5.25 or  3.5 ROM Chip


ATARI XL_ XE 2xOS ROM Kit 65XE  800XL_XE_ 130XE


DELAY LINE CO60472 ATARI 600XL 800XL

(náhrada originálnej oneskorovacej linky)

 

QARTZ ATARI CO12285 - quartz generator to ATARI 600XL 800XL


Quartz generator to ATARI XF551 CB101219 - 8.3333 MHz

(33.33MHz:4)


MMMU C025953 ATARI 65XE, 800XE, 130XE

 

Niečo pre milovníkov Atari 1050:

 

TOMS Multi Drive & HAPPY WARP 7.1 - TURBO TO ATARI 1050


TOP DRIVE - TURBO TO ATARI 1050

 

No a zlatý hrebíček (doslovne) som si ponechal na koniec,

sú dostupné dve verzie dosky pre Atari 800XL:

 

Pozlátená doska - Atari 800XL C061851 REV D remake black

 

Pozlátená doska - Atari 800XL C061851 REV D remake black

 

Pozlátená doska - Atari 800XL C061851 REV D remake blue


Pozlátená doska - Atari 800XL C061851 REV D remake blue

___________________________________________________________

Vaše hodnotenie, Rate post:

X-tal + TTL x-tal oscillator tester.

By Administrator at May 23, 2022 07:50
Filed Under: Non-Atari

 

Predstavte si že máte doma za hrsť x-talov a TTL oscilátorov. Mnohé sú nové, nepoužité a je tam pritom aj dosť kúskov ktoré už majú niečo za sebou. Fungujú ? Dosť zásadná otázka ak ich chceme ešte niekedy v budúcnosti použiť a v niečom nasadiť. Jednoduchý tester na ich otestovanie funkčnosti by sa náramne hodil. Pretože mám doma dávno postavenú stavebnicu čítača (ešte mám jeden kvalitnejší, ale na toto táto stavebnica postačuje až až). Je použitá staršia poľská stavebnica čítača s označením NE038 (čítač do 100MHz), je to pozostatok z dnes už nepotrebného projektu a tak som si to upravil pre toto použitie, bol na nej vymenený pôvodný pasívny displej za nový, podsvietený. (Plus som pridal chladič na stabilizátor.)

Čo ma zaskočilo - ako veľmi má digitálny foťák problém rozumne odfotiť podsvietený displej ak má vyšší jas ... na uvedené testovanie stačí použiť tiež iná stavebnica nejakého slušného čítača - hlavne aby tam bol k dispozícii priamy TTL vstup, potom stačia iba drobné úpravy. Kto má samostatný čítač tomu stačí postaviť dosku oscilátorov, pripojiť 5V a údaje odčítať na čítači, čiže treba menej roboty.

 

 

Základná doska zo zdrojom už bola postavená, stačilo iba postaviť dosku určenú pre vlastné oscilátory x-talov a TTL oscilátorov. Na doske sa nachádzajú celkove 4 možnosti, ich voľba sa prevádza pomocou 4-násobného DIL prepínača, vždy je zopnutý iba jeden z nich:

 

1.- tu sa testujú TTL oscilátory ktoré majú "malé" 8 pinové púzdro,

     najvyšší u mňa testovaný kmitočet = 48MHz, rýchlejší doma nemám

 

2.- určené TTL oscilátor v 14 pinovom púzdre, najrýchlejší u mňa testovaný = 40MHz

 

3.- oscilátor ktorý používa 74LS04 pre testovanie x-talov v rozsahu 1÷12MHz vrátane

     (odpory majú hodnotu 2k2), najrýchlejší testovaný x-tal = 12MHz, toto už na tomto

     mieste napr. 14.318MHz x-tal nedá (museli by byť menšie hodnoty odporov)

 

4.- oscilátor z 74LS04 pre testovanie x-talov v rozsahu 1÷25MHz vrátane (odpory majú

     hodnotu 1k), najrýchlejší testovaný x-tal = 25MHz, rýchlejší doma nemám

 

To že sa dajú testovať samostatné x-taly na pozíciách 3. a 4. sa môže hodiť ak by bol niektorý x-tal "tvrdohlavejší" a v jednom z týchto dvoch zapojení nechcel nabiehať a teda dá sa skúsiť kde sa bude lepšie "cítiť". Len sa nesmie zabudnúť na to že v pozícii č. 3. ideme len do 12MHz (ak zmenšíme odpory tak aj tu dosiahneme vyšší možný spracovaný kmitočet). Spomenutý testovací (a otestovaný) rozsah pre moje potreby zatiaľ bezo zbytku vyhovuje.

Čo sa týka TTL osiclátorov - samozrejme mám doma nejaké TTL oscilátory aj na ešte vyšších hodnotách frekvencie - sú ale iba vo funkčných zariadeniach a kvôli obrázku či tu fungujú ich z dosky letovať nemienim, ďakujem za pochopenie.Wink

 

Konštrukcia je zaujímavá ešte jedno vecou - používa 2 samostatné zdroje (trafo má výstup samostatných 2x 9V/AC) - jeden dodáva na dosku čítača 14V/DC kde je osadený stabilizátor 7805 (ten kde je pridaný chladič) a pre čítač dodáva potrebných 5V/DC. Druhý samostatný zdroj má svoju extra 7805-ku a z nej beží iba dorobená oscilátorová časť. Je to historicky dané pôvodnou stavbou, tu som to len využil tak ako je to na doske, napriek tomu si myslím že to zlepšilo celkovú stabilitu oscilátorovej časti (a pritom je to tu teraz k dispozícii zadarmo). Vlastná stavba oscilátorovej dosky netrvala dlho, ostatné už bolo predsa hotové a pripravené.

Nakoniec - pre lepšiu stabilitu určite odporúčam aj pri použití jediného zdroja dodať ďalšiu 7805 iba pre dosku oscilátorov - výsledný efekt bude obdobný.

 

Dávam odkaz na články v ktorých je zapojenie použitých samotných oscilátorov:

http://blog.3b2.sk/igi/post/SBC6502-5-doplnky-accessories.aspx

http://blog.3b2.sk/igi/post/SBC6502-28-Pretaktovanie-SBC6502-Overclocking-SBC6502-Clock3d500MHz-!-Clock3d600MHz-!-Part4.aspx


Úpravy v zapojení pre toto konkrétne použitie:

Väzobné kondenzátory medzi hradlami na doske oscilátorov majú kapacitu 10nF (10k). Zmena veľkosti odporov medzi hradlami je spomenutá v popise pozícií  3. a 4. Dve hradlá v zapojení slúžia ako oscilátor a tretie hradlo v ceste slúži pre lepšie vytvarovanie signálu (zlepší sa ostrosť hrán). Prívody na doske sú riešené čo najkratšou cestou, pri prevádzke sa aj tak počíta s tým že vlastne vždy bude funkčný iba jeden oscilátor. Vyskúšal som osadenie naraz všetkých 4 pozícií a nenarazil som aj tak na nejaký problém pri meraní, údaje na displeji sa nelíšili od hodnôt nameraných pri jednotlivých postupných meraniach.

Napätie +5V pre všetky oscilátory sa odpája naraz, pritom ale treba rátať s tým že oscilátory č.3 a č.4 budú pod napätím aj bez x-talov samovoľne kmitať, toto sa ale neukázalo ako nejaký problém. Ak to niekomu vadí - oddeľte si spínanie +5V pre čip 74LS04 samostatným spínačom. (Druhá polovica čipu bude aj tak kmitať, komu by to vadilo - dajte do pätičky namiesto nenasadeného x-talu kondenzátor M1, keramiku, nepoužitá časť IO bude potom kmitať niekde na hranici jednotiek až desiatok kHz, čiže rozhodne hlboko pod meranými hodnotami vlastných x-talov.) Len to tu spomínam, naozaj to ale nie je to nutné.


Je dôležité v zapojení použiť uvedený obvod - t.j. čip 74LS04

V schéme nie je zakreslený vypínač napájania +5V.

 

Už z prvého odkazu je jasné že som mohol zlúčiť pozície  1. a 2. do jednej 14 pinovej pätičky, ale tu mi takéto zapojenie prišlo prehľadnejšie. Napokon ako na to v reáli je vecou každého jednotlivca. Vypínač na prednej strane vypína len samotnú dosku oscilátorov (ak meníme TTL oscilátor, alebo x-tal), merač frekvencie je zapnutý trvale. Na doske merača je pridaný dodatočný chladič, pretože jeho 7805-ka už bola celkom horúca (hlavne to bolo cítiť pri meraní nad 20MHz), teraz je chladič iba mierne teplý. Pre 3. a 4. sú pre pripojenie x-talu naletované 4-pinové precízne pätičky, pričom vždy dva krajné piny z každej strany sú spojené (viď druhý obrázok článku). Takto je možné ľahko a rýchlo vymeniť testované x-taly bez potreby ich pájkovania.


Takže - TTL oscilátor 40MHz, pozícia 1.

 

No, ustrelenie tohoto TTL oscilátoru je iba o -4kHz pod udávanou hodnotou.


TTL oscilátor 10MHz, pozícia 1.


Pekné, nie ?


TTL oscilátor 12MHz, pozícia 2.


Tak isto slušný výsledok.


x-tal 2MHz, pozícia 3.


Výsledok ?

"Ustrelenie" kmitočtu o -400Hz - na tak jednoduchý oscilátor s 74LS04, veľmi slušné.


 x-tal 24MHz, pozícia 4.


Nuž toto je práve to prečo je dobré mať doma takúto hračku. Tento x-tal už ide hodne mimo toho čo čakáme. Pritom je stále pod 0.5% odchylkou, lenže - niekde už aj toto môže byť zásadným problémom. Takže otestovanie x-talov a TTL oscilátorov pred ich "ostrým" použitím sa rozhodne vyplatí !


Len pripomínam že existujú "várky" x-talov, ktoré veľmi ochotne kmitajú na 3.harmonickej (hlavne 24MHz x-taly) a teda pri ich nasadení v zariadení s mikroprocesorom to potom robí galibu. Tak isto mám doma várku 8.38MHz x-talov, ktoré v pozícii č.4 "nadšene" kmitajú na 3.harmonickej, t.j. mierne nad 25MHz (pritom v pozícii č.3 sa správajú naprosto normálne a frčia na hodnote ktorá je uvedená na ich púzdre, čiže týmto testerom sa dá aj otestovať kedy je v ktorom zapojení x-tal stabilný. Už po napísaní celého článku som objavil x-tal 27.12MHz ktorý mi kmitá na 1/3 napísanej hodnoty (tu by pomohlo zmenšiť odpory 1k na menšiu hodnotu, tipujem 680Ω, proste potrebuje väčšie vybudenie). Tieto veci by som bez testeru nezistil.

Pri zmenšovaní odporov v zapojení oscilátoru si treba uvedomiť ešte jednu vec:

Čím menší odpor tým väčší prúd prechádza cez x-tal, miniatúrne x-taly veľké hodnoty prúdu nemajú v láske, takže zbytočne "nervať" cez x-tal extrémne hodnoty, určite sa v dobrom poďakuje.


Čo na záver ? Zase jedna drobnosť ktorá je skutočne užitočným pomocníkom v domácej dielni. Expresne rýchlo skontroluje a vytriedi súčiastky na dobré a tie ktoré to už majú za sebou. A zistíte to skôr ako by ste to dali do zariadenia a až potom zistíte že niečo nie je v poriadku. Tak isto sa tiež stane že dotyčná súčiastka nedopatrením spadne na zem a my nemáme istotu či tento pád na podlahu prežila v zdraví - na toto je tento tester ako šitý.

Kvalitný čítač síce doma mám, ale toto si zaslúži dorobiť na pridanú dosku oscilátorov ešte nejaký citlivý vstup čítača, trebárs do 30MHz (mne postačuje, druhý čítač čo mám ide do 1.3GHz), čo nie je až také zložité a potom to bude ešte univerzálnejší merač, pritom základnú vec - t.j. základné meranie x-talov a TTL oscilátorov prevádza k plnej spokojnosti.

___________________________________________________

Vaše hodnotenie, Rate post:

SBC6502 - 55 - new clock 4.9152MHz.

By Administrator at May 16, 2022 10:31
Filed Under: SBC6502

New clock SBC6502 = 4.9152MHz

 

Pred pár dňami (12.5.) som definitívne prešiel na SBC6502 na vyššiu rýchlosť clocku (doteraz to bolo na 4.00MHz) - a to na 4.9152MHz. Z uvedeného je jasné že som doteraz mal celkom konzervatívne nastavenie hodín procesoru. Tých "dodaných" 915.2kHz navyše je pri používaní naozaj cítiť. Stačí si pripomenúť že podaktoré 8bity bežali na hodnote veľmi blízkej zvolenej hodnote pretaktovania.

 

Za prvé - SBC6502 na takte =4.9152MHz funguje za každých okolností, beží bez najmenších problémov aj komunikácia s čipom 8255AP-5 (je od Mitsubishi, ide v doske na prvú dobrú, vôbec som ho nemusel extra vyberať i keď 6502 /65C02/ poskytuje kratšie pulzy pre zápis a čítanie ako je to u procesorov i8080/i8085/), pre pripojený programátor PROM 74188 to stíha taktiež, overené priamo programátorom.

 

Za druhé - je to skutočne len o nejaké to malé promile pod magickou hodnotou clocku 5.00MHz - ak bude treba niekedy použiť x-tal 5.00MHz môžem si ho tam kedykoľvek nasadiť (mám ich k dispozícii). /Presne je to 84.8kHz menej./

 

Za tretie - terajšie nasadenie je dané tým že som túto pôvodnú experimentálnu dosku zase "znovuobjavil" pri poslednom upratovaní v jednom šuplíku, mal som trochu čas a na doske som odstránil malú chybu (jeden vodič pripojený na prepínač na miesto kde nemal byť, boli prehodené dva vodiče medzi sebou a vďaka tomu mi v jednej pozícii nebežal výstup 4.9152MHz - aj majster tesár sa občas utne ... nemal by, ale stáva sa) a tak som ju teda teraz nasadil - a je to O.K., všetko už beží tak ako má, doska sa stále bez najmenších problémov zmestí na svoje pôvodné miesto pod doskou programátoru. Vtedy som ju odložil pretože som už mal postavenú novú, menšiu dosku kde boli osadené dva pevné oscilátory - a to 1.8432MHz a 4.00MHz, takže ma to hľadanie problému vtedy netrápilo a jednoducho som vtedy túto dosku len založil do šuplíku a basta, vtedy som to ďalej neriešil.

 

Za štvrté - takáto hodnota clocku je možno síce možno mierne neštandartná (veľmi často sa takýto údaj na nejakom 8-bite neobjavuje, ak áno asi sa to dá spočítať na prstoch rúk /možno stačí na jednej ruke/, pritom sa z tej hodnoty stále dajú odvodiť niektoré Baudové rýchlosti), ale prečo sa neodlíšiť od ostatných ? 

 

Za piate - použitý procesor je priamo určený na takt 4MHz, takže toto pretaktovanie na 4.9152MHz zvláda ľavou zadnou (procesor beží aj na 6.00MHz čo je už naozaj podstatne viac (o 50%), mám to otestované, beží tak isto bez najmenších problémov).

Tu len dodám že na 6.00MHz som či funguje bezrpoblémovo aj čip 8255A netestoval - zatiaľ som k tomu nemal dôvod.

 
Zapojenie použitej dosky oscilátorov (je tu možnosť zvoliť jednu hodnotu z celkove dostupných 4 hodnôt clocku) je v staršom článku (schéma - je úplne na jeho konci):

http://blog.3b2.sk/igi/post/SBC6502-28-Pretaktovanie-SBC6502-Overclocking-SBC6502-Clock3d500MHz-!-Clock3d600MHz-!-Part4.aspx

 

Čo asi ešte urobím je to že si do tejto experimentálnej dosky dám x-tal 4.00MHz čo bude dobré ak budem ešte niekedy robiť porovnávačky s inými strojmi (teraz tam mám vložený x-tal 4.500MHz), to ale naozaj nevidím ako problém. Nakoniec, stále je tu možnosť zakladať rozličné x-taly a experimentovať - ak bude treba. Jednoducho - občas znovu objaviť niektoré vlastné "odloženky" je naozaj skvelá vec. A pritom po čase iba za pár sekúnd prísť na to kde bol vtedy problém tiež nie je vec na zahodenie - popritom aj samotný problém za chvíľu odstrániť - a tak je teraz už doska oscilátorov na 100% funkčná.

 

SmileSmileSmile


Jediná nevýhoda uvedenej dosky - samotný prepínač /jumper/ je tak utopený na zadnej strane SBC6502 že občas sa prestávam orientovať aký vlastne x-tal mám zapnutý. Potom si myslím že som na konkrétnom x-tale a následne sa neprestávam diviť že tam mám prepnuté na úplne inú hodnotu /jednoducho slabý refresh nastavenej hodnoty - v mojej hlave/. Keďže chcem natrvalo zostať na x-tale 4.9152MHz tak by mi tento problém už mal konečne "odpadnúť" -  je to skutočne problém iba medzi stoličkou a samotným SBC6502 ... a obyčajná lenivosť si vlastné nastavenie pohľadom na zadnú stranu SBC6502 skontrolovať.

____________________________________________________________

Vaše hodnotenie, Rate post:

The Micro UK101 - COMPUKIT UK101, power supply board. Part-6.

By Administrator at May 06, 2022 11:38
Filed Under: SBC8085-NCB85

K Micro UK101 - COMPUKIT UK101 som už dosť dávno nič nenapísal - tak to skúsim dnes "odčiniť". Pre tento SBC som prednedávnom postavil samostatnú dosku napájania, kde sa nachádza DC/DC menič 12V/DC→5V/DC a mini relátko, ktoré pomocou spínača dokáže odpojiť napájanie = t.j  urobí odpojenie napájania. (Vlastne simulujem vypínač napájania.)

 

Micro UK101 - COMPUKIT UK101, power supply board.

 

Veľmi k tomu nie je čo dodať, napájanie DC/DC meniča môže dosiahnuť na vstupe (ak mu to tam dáme) až niekde do hranice 35V/DC, ja mám 12V/DC zdrojov dostatok, takže som zvolil túto variantu napájania. Použitý DC/DC menič je bežne dostupný, odber z neho je minimálny (0.2A na 5V), takže je to vlastne také ísť "s kanónom na vrabce". Nastavenie výstupného napätia na požadovaných 5V sa robí s umelou záťažou a zatiaľ bez pripojenia vlastného Micro UK101, až po nastavení správneho výstupného napätia je možné previesť vzájomné prepojenie. Pretože nemám doma nejaké naozaj slušné rozpínacie tlačítko tak som odpojenie 5V napájania od dosky SBC riešil 12V DIL relátkom, dokáže spínať prúd 1A čo skutočne s rezervou postačuje. V ceste je samozrejme ešte invertor signálu z tlačítka ktorý je realizovaný tranzistorom rady BCxxx, je dimenzovaný na kolektorový prúd 100mA (reálne tečie cez relé 12mA). Doska má na sebe aj výkonovú 5.6V ZD (5W Zenerova dióda) zapojenú v nepriepustnom smere ktorá tu slúži ako prepäťová ochrana pre SBC dosku. Celé to ešte istí poistka 1.25A (v prípade prepätia sa poistka prepáli).

 

Micro UK101 - COMPUKIT UK101, power supply board.

 

Výstup z dosky zdroja ide konektorom priamo na dosku SBC. Pre toho kto používa a má k dispozícii zdroj 5V/DC je táto doska asi zbytočná, ale pre nás majiteľov "vysokonapäťových" 12V zdrojov (Laughing) je to príjemné pretože to rieši napájanie SBC bezo zbytku. ak ešte niečo postavím tak tých 12V/DC tam už mám "zadarmo" k dispozícii. A na tejto dodatočnej doske mám potom na to aj voľné miesto.

 

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.


Je to jedno z možných riešení napájania, tu nejaké hranice ťažko nastaviť (a určiť), berte to skôr ako inšpiráciu na postavenie si niečoho vlastného čo sa ponesie v duchu uvedeného, nepredpokladám že treba schému, kto na to má si to postaviť vie, ostatní nech sa radšej tejto úprave vyhnú a použijú pekne krásne priamo 5V/DC zdroj.

 

Momentálne sa zatiaľ doska PS nachádza nad doskou  Micro UK101, asi nakoniec príde pod SBC, ak to tak umiestnim, nejaké foto určite urobím. Potom síce nebude vidieť samotný display DC/DC meniča, to ale ako problém nevidím pretože hodnotu výstupného napätia (5.0V) stačí nastaviť iba raz na začiatku.

____________________________________________________________

08.05.2022

Tu už prevedená výmena hornej dosky s doskou spodnou:


 

___________________________________________________________

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: