Atari - čriepky. Atari tidbits. 9.

By Administrator at October 30, 2019 17:10
Filed Under: Atari

Nepravidelný občasník, alebo občasný nepravidelník ? Sú to čriepky (a aj črepiny) z oblasti Atari. Tak vitajte aj v tejto oblasti, nech vidíte čo sa v danej oblasti vyrobilo, čo sa používalo a čo sa sem-tam aj posr..o, alebo čo sa podarilo a z čoho máme radosť.  Wink

Dnes netradične (a výnimočne) zabŕdnem aj do vecí ktoré nemajú priamy súvis z Atari.

____________________________________________________________


Pozrime sa na rok 1984, kedy v júni a v júli boli uverejnené vlastne takéto posledné reklamy na 8 bit Atari, potom sa už všade všemožne tlačilo iba Atari ST - JT 8bity jednoducho skutočne rázne hodil cez palubu:

 

Takto sa vtedy v reklame argumentovalo ...


V tej dobe naozaj zdatne sekundoval pre Atari Alan Alda - teda vlastne 3x AAA ...

_____________________________________________________

 

No a teraz si pozrime niečo z prítomnosti - zabudovaný SDRIVE MAX do 3D skriniek zmenšených modelov disketových jednotiek:


SDRIVE MAX - Atari XF551

 

SDRIVE MAX - ATARI 1050

Na výsledný produkt sa naozaj dá pozerať.

___________________________________________________________

 

Pri nedostatku originálnych 13 pinových SIO konektorov je ako dobré a akceptovateľné riešenie použiť 15 pinový CANON konektor, pričom sa v zapojení vynechávajú krajné 2 piny. Výhoda ? - dostupné riešenie. Nevýhoda ? Nedá sa to priamo prepojiť 1:1 s pôvodným SIO konektorom. Ale aj tak je to prijateľné a hlavne bezproblémovo dostupné.


____________________________________________________________

 

Počuli ste už o riadení vláčikov pomocou Atari ?:

 

 

link:

https://www.a-train-systems.co.uk/atrack.htm

____________________________________________________

 

A keď sme už u tých vlakoch, vedeli ste že v Indii existuje stanica s názvom Atari ? :


 

Takže ak neviete čo s voľným časom máte tu tip na výlet.

 

 

__________________________________________________________

 

Počuli ste o Atari XBOX special edition ? :

 

 

link:

XBOX Atari

____________________________________________________

 

Projekt napaľovačky Eprom (8 a 16kB) pre Atari:


 

link:

http://rudolfs-place.nl/Atari/atariXLXE.html

_____________________________________________________

 

Počuli ste o RAMCRAM module 32kB RAM pre Atari 800 ?:

 

_____________________________________________________

 

A ideme na osemdesiate roky a veci ktoré nie vždy priamo súvisia s Atari.


Pripomeniem dobu 3" FD jednotky, ktorá ale síce vznikla,ale neprerazila:


Dnes vieme že to nebol víťazný ťah. Tu si neodpustím poznámu - viete že táto disketa v skutočnosti (teda aj s obalom) mala rozmer 3.2" ? Pre Atari urobila firma AMDEK 3" FD jednotku (aj zdvojenú).

 

 

_____________________________________________________________

 

A pokračujem peknou reklamou na obojstranné 5.25" diskety ...


___________________________________________________________

 

Kto si dnes na tento typ pamäte spomenie ... ? :

 

___________________________________________________________


Takto vyzerá 64kB statickej RAM v podaní 32x čip typu 2016, hja - to bola doba !


___________________________________________________________

 

Vedeli ste že "nenávidený" Microsoft vtedy robil RAM kartu pre Apple ? :

 

_________________________________________________________

 

A na záver posledný bozk pre Basic (z tej doby-december 1981):

 


No a napriek tomu vyhláseniu je tu s nami Basic dodnes.

____________________________________________________

Vaše hodnotenie, Rate post:

SBC6502 - 30 - Basic programs.

By Administrator at October 19, 2019 09:35
Filed Under: SBC6502

Tak tu mám ďalší program prevodník HEX-DEC_HEX - zvláda konverziu v rozsahu 0÷FFFFh a teda aj 0÷65535d. Pretože je napísaný v jazyku MBasic, tak by mal fungovať naprieč 8bitovými platformami bez nejakých problémov. Pochádza tak isto z časopisu Popular Electronics, len akurát odložené pdf akosi neobsahuje čitateľne uložené číslo a rok. Tento časopis je zaujímavý mimo svojho obsahu ešte jednou vecou - počas svojej existencie zmenil svoje meno - až sa nakoniec vrátil k pôvodnému. Celkom zaujímavý spôsob ako si skoro "zabiť" zavedený časopis. (Bola tam vtedy "nová metla" vo vedení ? ...)


 

Program:

Hex_dec_hex_converter2.pdf (349,79 kb)

Je to iné riešenie ako program, ktorý bol uverejnený v pokračovaní č.17 o SBC6502.

___________________________________________________________

 

No a nasleduje aj niečo z vlastnej tvorby:

 

Prevodník Hex to dec v rozsahu 0÷FFh → 0÷255d:

Je riešený inak - a funguje jedným smerom. Zjavne nie je až tak úsporný ako prvý program v dnešnom článku, ale riešenie je dané tým že som bol na chalupe (bez SBC6502 a teda aj zoznamu príkazov a možností) a vlastne som to napísal v Notepade (najčastejšie píšem programy v Basicu práve v Notepade). No a dúfal som že to po nahratí do SBC doma bude fungovať. Fungovalo. Program je myslím si prehľadný a je jasné akým spôsobom prichádza k prekladu. Program by mohol byť urýchlený doplnením skokmi GOTO (aby sa neprechádzalo po vykonaní konkrétneho riadku všetkými možnosťami), ale rýchlosť jeho vykonávania je viac ako dostatočná aj bez týchto skokov - ale zaradil som ho v úprave s GOTO príkazmi tiež.


7700 REM Converter HEX (0-FFh) to dec (0-255d)
7701 REM            Igi(c)2019
7705 ? "Input hex$,two char.:";:INPUT A$:S=0
7710 IF LEFT$ (A$,1)="F" THEN S=240
7720 IF LEFT$ (A$,1)="E" THEN S=224
7730 IF LEFT$ (A$,1)="D" THEN S=208
7740 IF LEFT$ (A$,1)="C" THEN S=192
7750 IF LEFT$ (A$,1)="B" THEN S=176
7760 IF LEFT$ (A$,1)="A" THEN S=160
7770 IF LEFT$ (A$,1)="9" THEN S=144
7780 IF LEFT$ (A$,1)="8" THEN S=128
7790 IF LEFT$ (A$,1)="7" THEN S=112
7800 IF LEFT$ (A$,1)="6" THEN S=96
7810 IF LEFT$ (A$,1)="5" THEN S=80
7820 IF LEFT$ (A$,1)="4" THEN S=64
7830 IF LEFT$ (A$,1)="3" THEN S=48
7840 IF LEFT$ (A$,1)="2" THEN S=32
7850 IF LEFT$ (A$,1)="1" THEN S=16
7860 IF LEFT$ (A$,1)="0" THEN S=0

7870 IF RIGHT$ (A$,1)="F" THEN S=S+15
7880 IF RIGHT$ (A$,1)="E" THEN S=S+14
7890 IF RIGHT$ (A$,1)="D" THEN S=S+13
7900 IF RIGHT$ (A$,1)="C" THEN S=S+12
7910 IF RIGHT$ (A$,1)="B" THEN S=S+11
7920 IF RIGHT$ (A$,1)="A" THEN S=S+10
7930 IF RIGHT$ (A$,1)="9" THEN S=S+9
7940 IF RIGHT$ (A$,1)="8" THEN S=S+8
7950 IF RIGHT$ (A$,1)="7" THEN S=S+7
7960 IF RIGHT$ (A$,1)="6" THEN S=S+6
7970 IF RIGHT$ (A$,1)="5" THEN S=S+5
7980 IF RIGHT$ (A$,1)="4" THEN S=S+4
7990 IF RIGHT$ (A$,1)="3" THEN S=S+3
8000 IF RIGHT$ (A$,1)="2" THEN S=S+2
8010 IF RIGHT$ (A$,1)="1" THEN S=S+1
8020 IF RIGHT$ (A$,1)="0" THEN S=S+0
8030 ? A$;"=";S:?: GOTO 7705


Program:


hex_to_dec_2char.txt (1,32 kb)

 

Ukážka č.1: Hex to dec program v akcii.

 

Takto vyzerá ten istý program doplnený o príkazy GOTO:

 

7700 REM Converter HEX (0-FFh) to dec (0-255d)
7701 REM            Igi(c)2019
7705 ? "Input hex$,two char.:";:INPUT A$:S=0
7710 IF LEFT$ (A$,1)="F" THEN S=240:GOTO 7870
7720 IF LEFT$ (A$,1)="E" THEN S=224:GOTO 7870
7730 IF LEFT$ (A$,1)="D" THEN S=208:GOTO 7870
7740 IF LEFT$ (A$,1)="C" THEN S=192:GOTO 7870
7750 IF LEFT$ (A$,1)="B" THEN S=176:GOTO 7870
7760 IF LEFT$ (A$,1)="A" THEN S=160:GOTO 7870
7770 IF LEFT$ (A$,1)="9" THEN S=144:GOTO 7870
7780 IF LEFT$ (A$,1)="8" THEN S=128:GOTO 7870
7790 IF LEFT$ (A$,1)="7" THEN S=112:GOTO 7870
7800 IF LEFT$ (A$,1)="6" THEN S=96:GOTO 7870
7810 IF LEFT$ (A$,1)="5" THEN S=80:GOTO 7870
7820 IF LEFT$ (A$,1)="4" THEN S=64:GOTO 7870
7830 IF LEFT$ (A$,1)="3" THEN S=48:GOTO 7870
7840 IF LEFT$ (A$,1)="2" THEN S=32:GOTO 7870
7850 IF LEFT$ (A$,1)="1" THEN S=16:GOTO 7870
7860 IF LEFT$ (A$,1)="0" THEN S=0
7870 IF RIGHT$ (A$,1)="F" THEN S=S+15:GOTO 8030
7880 IF RIGHT$ (A$,1)="E" THEN S=S+14:GOTO 8030
7890 IF RIGHT$ (A$,1)="D" THEN S=S+13:GOTO 8030
7900 IF RIGHT$ (A$,1)="C" THEN S=S+12:GOTO 8030
7910 IF RIGHT$ (A$,1)="B" THEN S=S+11:GOTO 8030
7920 IF RIGHT$ (A$,1)="A" THEN S=S+10:GOTO 8030
7930 IF RIGHT$ (A$,1)="9" THEN S=S+9:GOTO 8030
7940 IF RIGHT$ (A$,1)="8" THEN S=S+8:GOTO 8030
7950 IF RIGHT$ (A$,1)="7" THEN S=S+7:GOTO 8030
7960 IF RIGHT$ (A$,1)="6" THEN S=S+6:GOTO 8030
7970 IF RIGHT$ (A$,1)="5" THEN S=S+5:GOTO 8030
7980 IF RIGHT$ (A$,1)="4" THEN S=S+4:GOTO 8030
7990 IF RIGHT$ (A$,1)="3" THEN S=S+3:GOTO 8030
8000 IF RIGHT$ (A$,1)="2" THEN S=S+2:GOTO 8030
8010 IF RIGHT$ (A$,1)="1" THEN S=S+1:GOTO 8030
8020 IF RIGHT$ (A$,1)="0" THEN S=S+0
8030 ? A$;"=";S:?: GOTO 7705

 

Program s príkazmi GOTO:

hex_to_dec_2charn.txt (1,62 kb)


Vďaka vloženým dodatočným príkazom GOTO je táto verzia programu o poznanie dlhšia, ale rýchlejšia pri vykonávaní. Napriek tomu - v praxi asi rozdiel nespoznáte.

___________________________________________________________


 

Ďalšou vecou je basicový program  - Line Data generator:


Pretože SBC6502 nemá dostupné príkazy SAVE a LOAD a ani nepracujeme pomocou otvorenia kanálov (≠1 a pod. ako na niektorých 8bitoch) je dosť problematické ak máme nejakú oblasť pamäte a chceme jej obsah z akýchkoľvek dôvodov odložiť na opätovné použitie. Tak som si urobil Line Data generator, ktorý "zosníma" danú oblasť pamäte a vytvorí potom z toho nám potrebné Data riadky, ktoré potom v programe na svoje miesto načítame pomocou príkazov Restore a Read. Funguje to dobre, akurát musíme mať zapnutý záznam (Capture Text) v Hypertermináli aby sme potom vedeli nakopírovať riadky naspäť do programu.  

 

Ukážka č.2 - výber Capture

Zvolíme Capture Text, názov súboru, po spustení záznamu SBC6502 vygeneruje riadky a uložíme text, potom si z uloženého textu "vytiahneme" nám potrebné Data riadky. Samozrejme je to o niečo zložitejšie, ale pritom stále použiteľné, pretože neviem o tom ako inak uložiť Data riadky do vytvoreného Basic programu. Následne už potom Data riadky môžu byť súčasťou vytvoreného programu.

 

Program pre jednoduchosť načítava vždy celé násobky čísla 8, t.j. ak chceme uložiť nejakú oblasť pamäte voľte vždy dĺžku záznamu ktorý je násobkom čísla 8, čiže napríklad uloženie obsahu 256 byte RAM je naprosto v poriadku, teda 32x8 - je to číslo deliteľné :8 bezo zvyšku, teda no problem. Ako vždy je to daň za jednoduchosť takto vytvoreného programu. Najväčším problémom bolo "nasekať" výstup po 8 byte, hlavne aby na konci riadku nebola navyše čiarka. Ak na dodržanie správnej dĺžky pamätáme tak pri používaní nevzniká pri generovaní Data riadkov žiaden problém. Mne vyhovovalo pre moje použitie ak je v jednom riadku uložený obsah 8byte (pre dané použitie mi to prišlo omnoho prehľadnejšie ako ukladanie 10 byte v riadku), dá sa to zvýšiť (je možné ukladať do jedného riadku 10byte, cez túto hodnotu by som nešiel), ale stále platí:


celková dĺžka vygenerovaného DATA riadku nesmie presiahnuť 72 znakov !

(Obmedzenie je dané verziou použitého Basicu).

 

Program nie je určený na ukladanie obsahu desiatok kB (na to nie je dosť pamäte), ale nejaký ten 1kB (a určite aj viac) s ním určite uložíte. Spotreba pamäte je pri tomto spôsobe ukladania naozaj o hodne väčšia, čo sa týka veľkosti datových riadkov nie je to úsporné (majitelia ZX Spectrum by mohli rozprávať - tam ale zase môžu mať riadok dlhší), ale konečne viem ukladať potrebné údaje (u mňa sa jedná iba o uloženie pár desiatok byte, takže problém s obsadením RAM a veľkosťou na to potrebnej RAM je vcelku nezaujímavý - ale funguje to a to je najdôležitejšie. Nakoniec, ako ďalšiu možnosť môžeme najprv nahrať Data, preniesť ich do potrebnej oblasti RAM a až následne spustiť vlastný program. Síce je to zložitejšie, ale omnoho úspornejšie na obsadenie RAM.


Program generuje Data riadky od čísla 32000 smerom nahor (tam je pre istotu na začiatku v riadku 32000 - kto si po čase pamätá, že ? - uložená štartovacia adresa a dĺžka záznamu v bytoch (dec)), ukladá sa s krokom nasledujúceho ďalšieho riadku +1 (je to možné zmeniť). Tu len pripomínam že SBC6502 nemá obmedzenie čísla riadkov na maximálne číslo riadku =32767, teda riadky kľudne môžu mať aj vyššie číslovanie (SBC6502 povoľuje čísla riadkov aj niekde okolo hodnoty = 63000 !).  


Program Line Data generator:

 

31500 ? "___ Line Data generator 8  ___"
31501 ? "                Igi (c) 2019"
31502 ?:?:?:H=32001:REM H=Data line start number
31503 ? "Start adress  (dec):";:INPUT X
31504 ? "Record lenght (dec):";:INPUT Y
31508 REM ___________________________
31509 ?:? " 32000 REM Start adress=";X;", Record lenght=";Y
31510 FOR F=X TO X+Y-8 STEP 8
31520 GOSUB 31560
31530 H=H+1:REM line step (32001+1)
31540 NEXT F
31550 END
31555 --- Subprogram Data to line ---
31560 ? H;:? "DATA";:FOR G=F TO F+6:? PEEK(G);",";:NEXT G:? PEEK(F+7)
31570 RETURN
31580 REM ___________________________


Program:

Line data generator.txt (574,00 bytes)

 

 

Ukážka (obrázok č.3) - Data na ukážku sú naplnené týmto programovým riadkom:

 

10 A=0: FOR F=31000 TO 31255: POKE F,A: A=A+1: NEXT F


Príde k vygenerovania riadkov s Data údajmi (konkrétne tu snímam adresu 31000d =0 a vyššie adresy, skúšobne je to naplnené údajom zvýšeným vždy o 1 na ďalšej adrese až do rozsahu 310255d kde je obsah =255), najprv zosnímaných iba prvých 32 byte, následne potom celých 256byte.


Ukážka č.3


Ukážka č.4  - celý rozsah naplnených 256 byte, každá bunka - obsah zvýšený postupne o 1.

Je vidieť nastavenie zvyšovania čísla DATA riadkov o 1.

 

Upravený program Line Data generator pre ukladanie 10 byte v riadku, len pozor - ukladanie (dĺžka) teraz musí byť celistvým násobkom čísla 10 ! :


31500 ? " ___ Line Data generator 10  ___"
31501 ? "                   Igi (c) 2019 "
31502 ?:?:?:H=32001:REM H=Data line start number
31503 ? "Start adress  (dec):";:INPUT X
31504 ? "Record lenght (dec):";:INPUT Y
31508 REM ___________________________
31509 ?:? " 32000 REM Start adress=";X;", Record lenght=";Y
31510 FOR F=X TO X+Y-10 STEP 10
31520 GOSUB 31560
31530 H=H+1:REM line step (32001+1)
31540 NEXT F
31550 END
31555 --- Subprogram Data to line ---
31560 ? H;:? "DATA";:FOR G=F TO F+8:? PEEK(G);",";:NEXT G:? PEEK(F+9)
31570 RETURN
31580 REM ___________________________

 

Dosť mi možnosť ukladania obsahu pamäte chýbala, ale teraz som už celkom spokojný. Ak sa niekedy stretnete s týmto problémom tak mi určite porozumiete čo som tým sledoval. Mňa to naozaj v niektorých veciach na SBC6502 obmedzovalo. Možno Vás to inšpiruje tiež vytvoriť nejaké tie pomocné Basic programy - a možno ich napíšete o poznanie lepšie a aj kompaktnejšie.

Držím palce !

___________________________________________________________

Návrat do všetkých pokračovaní o SBC6502:

http://blog.3b2.sk/igi/post/SBC6502-0-UvodIntroduction.aspx

____________________________________________________________

Vaše hodnotenie, Rate post:

SBC6502 - 29 - konektory J4 + J5. J4 - 3x 8bit port, J5 - power supply.

By Administrator at October 13, 2019 20:30
Filed Under: SBC6502

 

Konečne som sa k tomu "dokopal" a kompletne som na základnej doske zapojil celú 8255-ku (teda všetky 3 bitové porty) na konektor J4. Niečo mám v pláne a tak potrebujem aby išli všetky 3 porty na jednom konektore. Doteraz som tam mal pripojený len port A, zem a +5V - pozri pripojenú dosku s LED. No a teraz tam potrebujem tých portov viac. Ľahko sa povie, do prerábky hotovej veci sa každý nerád púšťa, ale tie oveclockingy ma nejako nabudili a teda odobral som kryt a pripájkoval som ďalšie potrebné vodiče.    

Pri návrhu sa mi ukázalo že bude najlepšie ak to budem hnať cez konektor J4 a predné konektory J1, J2 a J3 nepoužijem (tieto som dokonca teraz úplne odpojil). Niekedy až život ukáže čo je lepšie riešenie - práve preto som pridal aj extra napájací konektor J5 pre budúcu "hornú dosku".


 

Pripomeniem rozloženie konektorov.

Rozloženie J4:

Horná rada (ďalej od nás), zľava doprava:

1, 3, 5, 7, 9 atď. až 33

spodná rada, bližšie k nám, zľava doprava:

2,4,6,8,10 atď. až 34

 

A  teraz nasleduje zapojenie jednotlivých portov PA, PB a PC čipu 8255A na konektor J4:


 

Celkom prplavá robota, sami viete ako sa"dobre" lezie do niečoho čo funguje bez problémov a Vy to po rokoch začnete "pitvať" a ešte k tomu je to zapojené káblikmi. Záver ? - operácia sa podarila, operovaný pacient (SBC6502) naďalej žije a ja môžem ďalej rozmýšľať nad tým na čo to chystám. Len pripomínam - použitý konektor J4 je 34-pinový, teda niekoľko jeho pinov zostáva nezapojených (zostáva miesto pre ďalšie dodatočné signály, alebo pre napájanie).


Pri prerábke  som odpojil z konektoru J4 doteraz existujúce napájanie +5V, pretože sa na ďalšiu chystanú dosku dostane +5V inou cestou (tam potrebujem mať nielen +5V ale aj +12V) - na to slúži nový, pridaný konektor J5:

 

Konektor J5, jeho umiestnenie som zvolil čo najbližšie k DC/DC meniču,

odtiaľ sa na hornú prídavnú dosku dostane Gnd, +5V a aj +12V.


Čo to bude ? Dopredu neprezradím, až bude hotovo, ale ešte s tým bude robota.

__________________________________________________________

Návrat do všetkých pokračovaní o SBC6502:

http://blog.3b2.sk/igi/post/SBC6502-0-UvodIntroduction.aspx

____________________________________________________________

Vaše hodnotenie, Rate post:

SBC6502 - 28 - Pretaktovanie SBC6502. Overclocking SBC6502. Clock=5.00MHz ! Clock=6.00MHz ! Part4.

By Administrator at October 04, 2019 07:30
Filed Under: SBC6502

 

"10 dní ktoré otriasli svetom SBC6502."

 

Počas týchto posledných 10 dní som zažil viacero prekvapení - a to iba pozitívnych. Všetci čo sa venujú počítačom vedia že takto to býva málokedy a teda je to vec celkom výnimočná. Nepredpokladal som že SBC6502 bude ochotný pracovať na tak vysokých hodinových kmitočtoch. Už som sa o tom zmienil že moja konečná predstava overclockingu sa zastaví na hodnote =2.4576MHz, nakoniec je to jasné aj z toho že som k oscilátoru ktorý generoval dvojnásobnú hodnotu priamo pridal deličku :2. (napísal som vtedy aby ste sa nedesili, že túto hodnotu nehodlám ládovať do procesoru ...) A?  A teraz som sa dostal som na vyše dvojnásobok (2x 2.4576MHz)  a k tomu ešte viac ako 1MHz. Nedivte sa mi že som postupoval "salámovou" metódou, pretože každý nový hodinový kmitočet (takt) som musel v testoch overiť či mi všetko beží - proste aby som nevypustil "kanára" v článku. Teraz keď som si už istý tak môžem uverejniť aj dnešný článok kde popíšem posledné dve dosiahnuté hodnoty overclockingu.

 

Zase som si dal pár dní pokoj,

 (doplnil som medzitým nové údaje do benchmarkových testov) a potom som zase skúsil ďalej zvýšiť takt hodín, kam som sa až dostal ?

Výsledok ?


 

Warpový pohon mojej SBC6502 neustále zrýchľuje - teraz už ide na:

 

****************************************

 

CLOCK = 5.00MHz !!!



****************************************

 

toto je už naozaj parádna rýchlosť, pretaktovanie na túto hodnotu je naozaj vysoko nad rámec môjho očakávania. Jeden takt (perióda) hodín je teraz už iba =200ns ! (Akurát mne to pri práci zďaleka nevyvíja teplo tak ako je to na obrázku. Smile) Ešte dorobím testy aby som ich mohol uverejniť nech sa ešte tento znova urýchlený "warpový trhač asfaltu" predvedie priamo v akcii. Čiže zase najprv uverejním doplnené benchmarkové testy a až potom tento článok. Rozhodujúce v tomto prípade bolo že pri hľadaní vhodných x-talov sa mi dostal do ruky priamo x-tal =5.00MHz, založil som ho do SBC6502, zapol - a nič. Aha, nefachčí to, no nič - už som v pretaktovaní asi príliš vysoko. Potom som sa lepšie pozrel - a bolo to jasné: manželka potrebovala niečo pripojiť do plne obsadenej predlžovačky - a vytiahla napájanie SBC ... Po odhalení príčiny nefachčenia stačilo zdroj znova zapojiť a potom to už bežalo na prvú šupu. Priznám sa že ma to naozaj prekvapuje, toto že sa dá z SBC6502 postavenej na univerzálke vyžmýkať ? Dá ! - krucinál - veď to tuším chodí lepšie ako keby to bolo postavené na navrhnutom plošáku ! (Zdá sa že nejaké tie správne zásady stavby na univerzálke sa na mňa za tie roky predsa len nalepili a nezapadli prachom do zabudnutia, podarilo sa to pretaviť do praxe.)

 

Na vlastnom motherboarde SBC6502 som pre dosiahnutie zvýšeného taktu hodín nerobil ani pre jeden popísaný overclocking  žiadne úpravy - tie sú prevádzané vždy výhradne  iba na testovacej doske oscilátorov.

 

Čo sa dá s SBC6502 vyžmýkať je fakt udivujúce ... a teraz už aj verím tomu že aj na univerzálke viem spraviť hodne rýchlu mašinku. 4MHz verzia procesoru - R65C02P4 na takte 5MHz beží ako víno - bez znateľného ohrevu, teplota súčiastok (ostatných čipov) je v norme, mierne vlažný je iba čip 8255A.

 

Najprv zapojenie dvojitého oscilátoru ktorý má dve dostupné rýchlosti:



Keďže som to už popísal tak nemám k tomu čo dodať - už len asi nejaké počty. Poďme teda počítať - oproti základnej hodnote =0.9216MHz je zrýchlenie na 5.00MHz5.43x vyššie. Ak počítame za základ 1.00MHz tak je zrýchlenie 5-násobné.

 

Poznámka:

 

Schéma platí aj pre x-tal = 6.00MHz, jediná zmena je vo výmene x-talu z pôvodnej hodnoty =5.00MHz za typ ktorý má hodnotu =6.00MHz.

 

 

****************************************

 

CLOCK = 6.00MHz !!!



****************************************


Warpový pohon práve zrýchlil na svoju konečnú hodnotu.


A dobrá stavba bola potvrdená dnes založením x-talu =6.00 MHz - nabehlo to a funguje tiež ! Zrýchlenie oproti  oproti základnej hodnote =0.9216MHz je zrýchlenie na 6.00MHz už 6.51x vyššie. Ak počítame za základ 1.00MHz tak je zrýchlenie 6-násobné.


*******************************

 

Keby som bol vedel že sa to bude takto ukážkovo správať tak som si to overclocknul už dávno, neviem, teraz je to už naozaj nie "trhač asfaltu" ale už priamo neskutočný "trhač betónu" ... perióda jednoho taktu hodín procesoru je teraz = 166ns ! Vyššie už neskúsim ísť pretože by som narazil na strop rýchlosti prístupu mojej  EPROM. Procesor je spokojný, nehreje, čip 8255 je tak isto len vlažný, pohoda. Takže nateraz je to finíto, definitívo.

(Ešte že som bol predvídavý, Laughing - teda aspoň v niečom, myslím tým možnosť zmien taktu x-talov na testovacej oscilátorovej doske.)


Hodnota x-talu pre takt hodín procesoru neurčuje prenosovú rýchlosť preto presná hodnota x-talu nie je až tak smerodatná, len určuje konečnú rýchlosť SBC6502. A ak by niekedy bolo treba - tak tam ešte mám voľnú 1/2 čipu 74LS04 a teda viem tam zabudovať ďalší oscilátor - ale potom by to už bola naozaj strojovňa.

 

Teraz znova SBC6502 musím prehnať benchmarkovými testami a doplniť údaje do tabuliek.


Kľúčové súčiastky SBC6502 pre dosiahnutie takto vysokého

pretaktovania:

 

Sériový prenos - čip 68B50, vedľa procesor 65C02P4.

Jedná sa o dosku z 10 čipmi - SBC6502 Erika0,

teraz už má čipov 11 - pribudol čip 74LS04 (oscilátor).

 

SRAM 32kB 100ns, EPROM 150ns 27C256.

Od začiatku používam túto Eprom, pri takte 6MHz je už aj táto EPROM

pomaly svojou prístupovou dobou "na hrane".


5MHz verzia čipu 8255A.

 

******************************************************


Bude dobré si pripomenúť jednu vec, ktorá sa týka procesorov rady 65C02 - na rozdiel od procesorov 6502 a 6502C má už v sebe zabudované mechanizmy, ktoré umožňujú vybudovať oscilátor priamo s procesorom. Výbornú ukážku ako na to nájdete samozrejme v datasheete, ale názorný obrázok je občas ešte zrozumiteľnejší:

obrázok prevzatý z: http://wilsonminesco.com/


U mňa som to nedával z jedného dôvodu - už na začiatku som tam mal procesor 6502C. Tak isto treba mať na základnej doske v tej časti voľné miesto (ak tam dáte 65C02).  Podmienkou správnej funkcie je použitie čo najkratších prívodov. Odpor a kondenzátory sa vojdú priamo pod pätičku procesoru a vonku "na stojáka" by bol už iba x-tal.
Osobne to nemám odskúšané až do akých frekvencií je ochotný kmitať takto vytvorený oscilátor, cesta experimentovania je otvorená.


******************************************************


Po dnešku som si povedal - overclockingu dám radšej pokoj - keď ma to doteraz tak nádherne poslúchalo nebudem už hada ďalej dráždiť bosou nohou, aj tak teraz nemám doma rýchlejšiu EPROM. Skúsil som prepojiť na výstup aj priamo výstup z oscilátoru 4.9152MHz (chcel som mať k dispozícii 4 hodnoty hodín) , ale takúto sviňačinu na testovacej doske mi to už definitívne odmietlo (príliš dlhá cesta vodiča, stále pripojená záťaž vo forme zvýšeného odberu na vstupe čipu 74LS90, už to nechcelo správne kmitať). Elektronika mi tu už jasne povedala - s experimentovaním v tejto oblasti už dosť, zato oscilátor s čipom 74LS04 sa správa ukážkovo. Myslím si že som naozaj popísal rozličné možnosti prepínania taktu hodín pre SBC6502 a ak si to postavíte máte si z čoho vybrať. Tému oscilátorov pre pretaktovanie SBC6502 momentálne budem považovať za uzavretú.

 

Toto postupné "salámové pretaktovávanie SBC6502 smerom nahor" bolo celkom pekným zážitkom - aj napriek tomu že mi naozaj hodne dlho trvalo než som to zrealizoval. Niektoré hodnoty x-talov som vynechal pretože potom by som to testoval ešte mesiac a tabuľky by boli už hoooodne dlhé. Teraz som si tých 10 dní naozaj užil, pretože som musel urobiť aj nanovo benchmarkové testy - chcel som porovnať rýchlosť vykonania testov. Výsledok stojí to za to !

__________________________________________________________

Návrat do všetkých pokračovaní o SBC6502:

http://blog.3b2.sk/igi/post/SBC6502-0-UvodIntroduction.aspx

____________________________________________________________

Vaše hodnotenie, Rate post:

10_2019 Blog, Notes.

By Administrator at October 01, 2019 10:46
Filed Under: Blog

01.10.2019

A máme tu október, zo septembrom sme sa včera rozlúčili víchricou - hovorila si Mortimer. V BA bol celkom slušný prievan ...

 

Nasleduje ďalšia časť o pretaktovaní SBC6502:

SBC6502 - 27 - Pretaktovanie SBC6502. Overclocking SBC6502. Clock=1.00-4.00MHz. Part3

 

                                        "Prekliate inštrukcie !"       Rys.:Piotr Kakiet


___________________________________________________________

04.10.2019

Záverečné pretaktovanie SBC6502 na najvyššie rýchlosti:
SBC6502 - 28 - Pretaktovanie SBC6502. Overclocking SBC6502. Clock=5.00MHz ! Clock=6.00MHz ! Part4.

_____________________________________________________

13.10.2019

Kompletné zapojenie konektoru J4, pridaný konektor J5 na dosku SBC6502:
SBC6502 - 29 - konektory J4 + J5. J4 - 3x 8bit port, J5 - power supply.

_____________________________________________________

19.10.2019

Zase Basic programy pre SBC6502:
SBC6502 - 30 - Basic programs.


___________________________________________________________

21.10.2019

Dostal sa mi do rúk USB kľúč, ktorý má na sebe prepínač do režimu Write only. To je fajn, akurát veľkosť USB kľúča = 64MByte. Tak to dnes len tak nezoženiete ...

___________________________________________________________

30.10.2019

Ďalšie čriepky sú na ceste:
Atari - čriepky. Atari tidbits. 9.

 

_____________________________________________________

Vaše hodnotenie, Rate post:

SBC6502 - 27 - Pretaktovanie SBC6502. Overclocking SBC6502. Clock=1.00-4.00MHz. Part3

By Administrator at October 01, 2019 10:45
Filed Under: SBC6502

 

Po otestovaní som sa nad tými oscilátormi zamyslel a logicky som došiel k následnému najjednoduchšiemu zapojeniu kde je možné meniť rýchlosť hodín pre procesor (podľa potreby).


Celé zapojenie dosky oscilátorov je možné zjednodušiť. Pretože doteraz bola využitá iba 1/2 obvodu 74LS04 pre použitie ako oscilátor s možnosťou výmeny x-talu, tak je dobré využiť aj druhú polovicu na oscilátor pre druhý x-tal =1.8432MHz. Potom máme to čo treba priamo k dispozícii - máme správne hodiny pre čip 68B50 a máme premenné hodiny vlastného taktu hodín (dané hodnotou x-talu) pre procesor v SBC6502. Potom budete mať k dispozícii iba 2 možné hodnoty rýchlosti hodín SBC6502. Nepotrebujeme zháňať TTL oscilátory, pretože si oscilátory vyrobíme sami a potrebné x-taly sa dajú zohnať. Samozrejme ak tie TTL oscilátory máte doma, neváhajte, dobre poslúžia. Tu nakreslené zapojenie bezo zbytku dokáže spomínané TTL oscilátory nahradiť - s veľmi dobrou stabilitou generovaného kmitočtu.

 

Na vlastnom motherboarde SBC6502 som pre dosiahnutie zvýšeného taktu hodín nerobil ani pre jeden popísaný overclocking  žiadne úpravy - tie sú prevádzané vždy výhradne  iba na doske oscilátorov.

 

Ja som si v predchádzajúcom článku pre účely testovania na doske oscilátorov predsa len trochu viac "zacvičil" a vďaka tomu mám teraz možnosť nastaviť 3 možné hodnoty rýchlosti hodín počítača (o túto možnosť nastaviť až 3 hodnoty ak budete stavať podľa posledného obrázku prídete). Nakoniec - vychádzal som z toho čo mám doma, zase raz boli použité dostupné, šuplíkové zásoby. Tak napríklad TTL oscilátor na 4.9156MHz mi ležal doma v zásobách odhadom slušne cez 25 rokov. No, ale poďme na nové zapojenie 2 oscilátorov s jedným čipom:

 

Zjednodušené zapojenie dosky 2 oscilátorov.     

 

Toto zapojenie s jedným čipom 74LS04 považujem za najrozumnejší kompromis na nasadenie, tu môžeme voliť rýchlosť procesoru v rozmedzí 1.00 ÷ 4.00MHz (pomocou výmeny x-talu za vhodný x-tal s nami požadovanou hodnotou), správnu prenosovú rýchlosť = 115.200Bd zabezpečuje druhý x-tal=1.8432MHz, táto prenosová rýchlosť sa nemení ani s nastavením nižšieho taktu hodín pre procesor, mení sa potom len rýchlosť odozvy sériového portu než začne komunikácia. Stále môžeme prepnúť SBC6502 na hodiny = 1.8432MHz keď potrebujeme z akýchkoľvek dôvodov nižší takt procesoru (napríklad keď máme k dispozícii procesor ktorý "ide" len do 2MHz alebo je určený na 1MHz a podobne). Čiže stručne zhodnotené - máte 2 možnosti nastavenia taktu hodín ktoré sú k dispozíci.

 

Drobné poznámky k schéme:


V zapojení sú použité kondenzátory M1 ako väzobné na jednotlivých oscilátoroch. Kľudne sa na tomto mieste dá "zliezť" s kapacitou až na hodnotu 1n5, teda na 1500pF a funguje to tak isto. Tak isto v schémach oscilátorov bývajú odpory (u mňa =1k2) v hodnote 330 až 470Ω, neviem - mne to pri tu uvedených hodnotách súčiastok kmitalo aj s x-talom 22.8MHz bez najmenších problémov, čiže pracovný rozsah uvedeného oscilátoru bez zmeny súčiastok je naozaj mimoriadne široký (čip 74LS04 je naozaj na toto použitie vhodný). Princíp fungovania ? Prvé dve hradlá vždy slúžia ako vlastný oscilátor, tretie hradlo slúži ako oddeľovač a tvarovač signálu. Už som týchto oscilátorov s 74LS04 postavil naozaj niekoľko desiatok - a vždy fungovali na prvú šupu. Jedna rada: používajte čo najkratšie prívody - ak je to možné a nebudú problémy.


No a to je teraz na danú tému asi tak všetko.

Dodatok (02.10.2019):

Zjavne som si len myslel že tu to končí, ale ako sa ukázalo - ešte mám s čím pokračovať ďalej ...

__________________________________________________________

Návrat do všetkých pokračovaní o SBC6502:

http://blog.3b2.sk/igi/post/SBC6502-0-UvodIntroduction.aspx

___________________________________________________________

Vaše hodnotenie, Rate post:

Info o autorovi

Volám sa Igor Gramblička, bydlisko: Bratislava, Slovakia. Môj nick: Igi. Tento blog slúži na zobrazenie mojich záujmov - je to môj vlastný pohľad na veci, napriek  tomu dúfam že na mojich stránkach nájdete aj to čo hľadáte ...