Atari - čriepky. Atari tidbits. 9.

By Administrator at októbra 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 to bolo  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ý CANNON 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 októbra 19, 2019 09:35
Filed Under: SBC6502

hex2dec converter, line (rows) Data generator

 

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 MicrosoftBasic, 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:

 

Príklad - ak je hexadecimálne číslo = 1A, tak vlastne prebieha tento výpočet, ale dá sa to tiež previesť na viacero spôsobov:


dec = 1*(16^1) + 10*(16^0) = 26

_______________

(Úprava tejto časti - 06.11.2021)

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

Je riešený inak - a funguje jedným smerom. Je úsporný, výsledné riešenie je dané tým že som bol na chalupe (bez SBC6502 a vlastne som ho napísal v Notepade (najčastejšie píšem programy v Basicu práve v Notepade). Nakoniec pri práci na programovom vybavení pre  programátor PROM 74188 som prišiel na podstatne kratšie a úspornejšie riešenie, akurát to vyžaduje použiť o niečo viac premenných (označenie prenných klasika - LO, HI a použité sú stringy H$ a L$). No a dúfal som že to po nahratí do SBC doma bude fungovať, nakoniec som ním nahradil pôvodný podprogram ktorý bol dlhší a napísaný tak aby fungoval - a to aj bez znalosti použitia stringovej funkcie VAL. Program je myslím si prehľadný a je jasné akým spôsobom prichádza k prekladu. Tu sa kontroluje iba či je správne zadaný počet vložených znakov (2), inak je to bez ďalšej kontroly:


 4200 REM Converter HEX (0-FFh) to dec (0-255d)
 4201 REM            Igi(c)10/2021, ver.1.0
 4203 PRINT "Adress:  data:":PRINT "(hex)     (dec)"
 4207 PRINT:INPUT A$
 4209 IF LEN (A$)<>2 THEN PRINT "Problem":STOP
 4210 H$=LEFT$(A$,1):L$=RIGHT$(A$,1)
 4215 IF H$="F" THEN HI=15:GOTO 4244
 4216 IF H$="E" THEN HI=14:GOTO 4244
 4217 IF H$="D" THEN HI=13:GOTO 4244
 4218 IF H$="C" THEN HI=12:GOTO 4244
 4219 IF H$="B" THEN HI=11:GOTO 4244
 4220 IF H$="A" THEN HI=10:GOTO 4244
 4221 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 S=HI*16+LO:? " ";A$;"       ";S
 4280 GOTO 4207

(dĺžka programu: 804 byte)

 

Verzia, kde je už plná kontrola použitého rozsahu použitých znakov - kotroluje sa tu tak isto ako v predchádzajúcom programe správny počet zadaých znakov (2) a tiež sa kontroluje povolený rozsah znakov (0÷Fh), program vďaka tomu mierne nabobtná, ale aj napriek tomu je stále o 727 byte kratší ako pôvodný program (uvedený v ďalšom odstavci):

 

 4200 REM Converter HEX (0-FFh) to dec (0-255d)
 4201 REM            Igi(c)11/2021, ver.1.1
 4202 B$="0123456789ABCDEF"
 4203 PRINT "Adress:  data:":PRINT "(hex)     (dec)"
 4207 PRINT:INPUT A$
 4209 IF LEN (A$)<>2 THEN GOSUB 5000
 4210 H$=LEFT$(A$,1):L$=RIGHT$(A$,1)
 4211 QQ=1
 4212 IF MID$(B$,QQ,1)=H$ THEN 4215
 4213 IF QQ=17 THEN GOSUB 5000:GOTO 4207
 4214 QQ=QQ+1:GOTO 4212
 4215 QQ=1
 4216 IF MID$(B$,QQ,1)=L$ THEN 4225
 4217 IF QQ=17 THEN GOSUB 5000:GOTO 4207
 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 S=HI*16+LO:? " ";A$;"       ";S
 4280 GOTO 4207
 5000 PRINT "Error !":RETURN

(dĺžka programu : 1083 byte)

______________

A takto vyzerá pôvodný program - ten má výhodu v tom že sa dá ľahko ošetriť pre chybné zadanie dát (čo u prechádzajúceho programu bolo treba riešiť inou cestou, ale zadarilo sa úspešne to doriešiť):

 

 4200 REM Converter HEX (0-FFh) to dec (0-255d)
 4201 REM            Igi(c)10/2019
 4203 PRINT "data:"
 4207 S=0:PRINT"(hex)";:INPUT A$
 4208 IF LEN (A$)<>2 THEN GOSUB 5000:GOTO 4207
 4227 IF LEFT$ (A$,1)="F" THEN S=240:GOTO 4244
 4228 IF LEFT$ (A$,1)="E" THEN S=224:GOTO 4244
 4229 IF LEFT$ (A$,1)="D" THEN S=208:GOTO 4244
 4230 IF LEFT$ (A$,1)="C" THEN S=192:GOTO 4244
 4231 IF LEFT$ (A$,1)="B" THEN S=176:GOTO 4244
 4232 IF LEFT$ (A$,1)="A" THEN S=160:GOTO 4244
 4233 IF LEFT$ (A$,1)="9" THEN S=144:GOTO 4244
 4234 IF LEFT$ (A$,1)="8" THEN S=128:GOTO 4244
 4235 IF LEFT$ (A$,1)="7" THEN S=112:GOTO 4244
 4236 IF LEFT$ (A$,1)="6" THEN S=96:GOTO 4244
 4237 IF LEFT$ (A$,1)="5" THEN S=80:GOTO 4244
 4238 IF LEFT$ (A$,1)="4" THEN S=64:GOTO 4244
 4239 IF LEFT$ (A$,1)="3" THEN S=48:GOTO 4244
 4240 IF LEFT$ (A$,1)="2" THEN S=32:GOTO 4244
 4241 IF LEFT$ (A$,1)="1" THEN S=16:GOTO 4244
 4242 IF LEFT$ (A$,1)="0" THEN S=0:GOTO 4244
 4243 GOSUB 5000:GOTO 4207
 4244 IF RIGHT$ (A$,1)="F" THEN S=S+15:GOTO 42
 4246 IF RIGHT$ (A$,1)="D" THEN S=S+13:GOTO 4270
 4247 IF RIGHT$ (A$,1)="C" THEN S=S+12:GOTO 4270
 4248 IF RIGHT$ (A$,1)="B" THEN S=S+11:GOTO 4270
 4249 IF RIGHT$ (A$,1)="A" THEN S=S+10:GOTO 4270
 4250 IF RIGHT$ (A$,1)="9" THEN S=S+9:GOTO 4270
 4251 IF RIGHT$ (A$,1)="8" THEN S=S+8:GOTO 4270
 4252 IF RIGHT$ (A$,1)="7" THEN S=S+7:GOTO 4270
 4253 IF RIGHT$ (A$,1)="6" THEN S=S+6:GOTO 4270
 4254 IF RIGHT$ (A$,1)="5" THEN S=S+5:GOTO 4270
 4255 IF RIGHT$ (A$,1)="4" THEN S=S+4:GOTO 4270
 4256 IF RIGHT$ (A$,1)="3" THEN S=S+3:GOTO 4270
 4257 IF RIGHT$ (A$,1)="2" THEN S=S+2:GOTO 4270
 4258 IF RIGHT$ (A$,1)="1" THEN S=S+1:GOTO 4270
 4259 IF RIGHT$ (A$,1)="0" THEN S=S+0:GOTO 4270
 4260 GOSUB 5000:GOTO 4207
 4270 PRINT "(dec)";S:GOTO 4203
 5000 PRINT "Error !":RETURN

 (dĺžka programu: 1810 byte)

___________________________________________________________

Doplnené 06.11.2021:

Veľmi šikovný programček - výpis všetkých premenných použitých v programe:


9800 PRINT "Variables:"
9802 FOR W=(PEEK(124)*256+PEEK(123))TO(PEEK(126)*256+PEEK(125)-1)STEP 6
9804 PRINT CHR$(PEEK(W));CHR$(PEEK(W+1)),:NEXT W


Stačí ho priložiť k pôvodnému programu, po jeho spustení (a prejdení všetkými možnosťami) stačí stopnúť program pomocou CTRL+C a napísať GOTO 9800, tým zostanú použité premenné neporušené. Program by mal byť umiestnený vždy na konci pôvodného programu, t.j. ak použité čísla riadkov nevyhovujú tak ich prepíšte na hodnotu ktorá už v programe nie je použitá. Samozrejme si treba uvedomiť že do zoznamu použitých premenných bude patriť aj použitá samotná premenná na výpis - jedná sa o W.

Vypíšu sa všetky použité premenné v programe, stringové premenné sa vypíšu namiesto napríklad A$ v tvare A€. Je to výborná pomôcka ak si chceme overiť koľko premenných je reálne v programe použitých.

___________________________________________________________


 

Ďalšou vecou je basicový program  - Line Data generator, je to u mňa používané aj po názvom Rows 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 tu naozaj 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. Tie 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=256 - 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 použitie ak je v jednom riadku uložený obsah 8byte (pre dané použitie mi to prišlo omnoho prehľadnejšie ako napríklad ukladanie 10 byte v riadku), dá sa to zvýšiť, ale stále platí:


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

(Obmedzenie je dané verziou použitého jazyku Basic pre SBC6502).

 

Program nie je určený na ukladanie obsahu desiatok kB (na to naozaj nie je dosť pamäte), ale nejaký ten kByte (a určite aj viac) s ním určite uložíte. Spotreba pamäte je pri tomto spôsobe ukladania 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 potom o niečo zložitejšie, ale omnoho úspornejšie na obsadenie RAM. Dodatočným riešením je zväčšiť RAM, trebárs na už spomínaných 40kB.

Pre zatiaľ najdlhší úsek čo som kedy na SBC6502 potreboval boli 2kB obsahu v DATA riadkoch, to sa naozaj s prehľadom do 32kB RAM priamo zmestí a ešte je stále miesta dosť aj na ďalšie programové vybavenie.


Program generuje Data riadky od čísla 32000 smerom nahor (tam je pre istotu na začiatku v riadku 32000 vlastný poked - 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 číslovanie riadkov aj niekde okolo hodnoty = 63000 !), čo je hodne zaujímavé a málokde sa niečo také vidí.


Program Line Data generator:

           (Rows Data generator)

 

31500 REM ___/Rows or Line/ Data generator V.1.1 ___
31501 REM       Igi (c) 2020
31502 ?:?:H=32001:REM H=Data line start number
31503 ? "Start adress  0 - 65528 (dec):";:INPUT X
31504 ? "Record lenght max 65536 (dec):";:INPUT Y
31505 IF Y>65536 THEN ? "max.65536 !":GOTO 31502
31507 ?:? " 32000 REM Start adress=";X;", Record lenght=";Y
31508 FOR Q=0 TO 3000:NEXT Q
31510 FOR F=X TO X+Y-8 STEP 8:? H;:? "DATA";:
31520 FOR G=F TO F+6:? PEEK(G);",";:NEXT G:? PEEK(F+7)
31530 H=H+1:NEXT F
31550 END

 (Riadok 31508 je možné vynechať, len spomaľuje výpis aby sme stíhali sledovať čo sa to deje.)

Program:


8x data in 1 line generator.txt (498,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.

 

Dosť mi možnosť ukladania obsahu pamäte v SBC6502 chýbala, ale teraz som už s takouto dostupnou alternatívou celkom spokojný (zatiaľ som na nič lepšieho neprišiel). Ak sa niekedy stretnete s týmto problémom tak mi určite porozumiete čo som tým sledoval. Mňa to bez tejto veci naozaj doteraz v niektorých veciach na SBC6502 citeľne 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 !

___________________________________________________________

07.12.2023

Veľmi jednoduché riešenie ako zobraziť vkladané vstupné data v rozsahu 0÷511d ako hexa adresu na výstupe. Konvertor fungoval pôvodne v rozsahu 0÷255d, potreboval som ale 2x väčší rozsah ako poskytoval pôvodný program - nemal som chuť hľadať ako inak na to, takže bolo to vyriešené "homemade" najľahším spôsobom Laughing:


2000 ? CHR$(12):A$="0123456789ABCDEF"
2010 ? "(dec)";:INPUT N:IF N>511 THEN 2010
2015 IF N>255 AND N<512 THEN N=N-256:Q=1:GOTO 2020
2016 Q=0
2020 L=N AND 15:H=(N-L)/16
2030 ?"(hex):"Q;CHR$(8);MID$(A$,H+1,1)MID$(A$,L+1,1)
2040 GOTO 2010

 

Výpis v terminálovom okne.

Pôvodný program pre vstupný rozsah 0÷255d:

2000 ? CHR$(12):A$="0123456789ABCDEF"
2010 ? "(dec)";:INPUT N
2020 L=N AND 15:H=(N-L)/16
2030 ?"(hex): ";:? MID$(A$,H+1,1)MID$(A$,L+1,1)
2040 GOTO 2010

___________________________________________________________

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 októbra 13, 2019 20:30
Filed Under: SBC6502

 

Konečne som sa k tomu "dokopal" a kompletne som na základnej doske zapojil celú 8255A-ku (teda všetky tri 8-bitové porty uvedeného čipu) na jeden jediný konektor - J4. Niečo mám v pláne (už to mám slušne rozrobené - aj programovo) a tak potrebujem aby mi išli všetky tri porty čipu 8255A na jednom konektore. Doteraz som tam mal pripojený len port A, Gnd a +5V - pozri pripojenú dosku s LED. No a teraz tam potrebujem tých portov mať k dispozícii viac. Ľahko sa povie, do prerábky hotovej veci sa každý nerád púšťa (hlavne teraz - po 3 rokoch - týka sa to aj mňa), lenže tie overclockingy na počítači SBC6502 ma naozaj nabudili a teda odobral som vrchný kryt, niektoré vodiče som odpojil a pripájkoval som ďalšie potrebné vodiče + som pridal nový, extra iba napájací konektor J5 ktorý je určený pre použitie na novej prídavnej doske.

   

Pri terajšom návrhu zmeny sa mi ukázalo že bude najlepšie ak budem data 8255A-ky hnať iba cez jeden konektor J4 a predné konektory J1, J2 a J3 vôbec nepoužijem (tie som dokonca úplne odpojil, teraz sú na doske naozaj iba na "okrasu", asi ich použijem na to aby na nich "držal" predný kryt SBC - predsa len na niečo sa ešte hodia). Niekedy až život časom ukáže čo je lepšie riešenie - práve preto som pridal nový ďalší napájací konektor J5 pre budúcu hornú dosku ktorá bude umiestneé nad vlastným SBC. Tam je k dispozícii Gnd, +5V a aj potrebných +12V.


 

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:


 

Bola to celkom prplavá robota, sami viete ako sa "dobre" lezie do niečoho čo už dlhšie funguje bez problémov (dosť dlho na to aby ste boli spokojní) a Vy to po rokoch začnete "pitvať" a ešte k tomu je to celé prepojené káblikmi a dúfate že aj po takomto zásahu to SBC funkčne prežije. 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 tak miesto pre ďalšie dodatočné signály, teda ak sa ukáže ich budúca potreba).


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

 

Pridaný "napájací" konektor J5, jeho umiestnenie som zvolil čo najbližšie

k DC/DC meniču, odtiaľ sa na prídavnú dosku dostane Gnd, +5V a aj +12V.


Čo to bude ? Dopredu to tu teraz neprezradím, až bude hotovo, síce čiastočne to už žije, ale ešte s tým bude robota. Teraz už začína byť jasnejšie prečo som na začiatku volil napájanie zdrojom 12V a nie priamo 5V - potom by som totiž zase niekde musel tých pre mňa potrebných 12V zase vyrábať, teraz potrebné obidve napätia mám priamo k dispozícii, čiže spokojnosť s tým že som s tým rátal už na začiatku stavby je teraz na mieste.

__________________________________________________________

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 októbra 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í niekde na hodnote cca 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? Teraz som sa dostal som na vyše dvojnásobok (2x 2.4576MHz)  a k tomu ešte o ďalších viac ako 1MHz navyše. Nedivte sa že som postupoval tzv. "salámovou" metódou, pretože každý nový hodinový kmitočet (takt) som musel v testoch overiť či všetko beží - proste aby som nevypustil nejakého "kanára". Teraz keď som si už istý tak môžem uverejniť aj dnešný článok kde popíšem posledné dve posledné 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:

 

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

SBC6502 - CLOCK = 5.00MHz !!!


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

 

Naozaj parádna dosiahnutá 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 mi to pri práci zďaleka nevyvíja teplo tak ako na uvedenom obrázku, Smile naštastie ...) Ešte dorobím testy aby som ich mohol uverejniť nech sa ešte tento ďalej 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 mi napájanie samotného SBC6502 ... Po rýchlom odhalení príčiny nefachčenia SBC6502 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 pre popísané overclockingy žiadne úpravy - tie sú prevádzané vždy výhradne  iba na testovacej doske oscilátorov.

 

Čo sa dá z 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 5.00MHz beží ako víno - je to stále bez znateľného ohrevu, teplota súčiastok (ostatných čipov) je v norme, mierne vlažný je iba čip 8255A, teda rozumej že oteplenie sa dá zaregistrovať priložením prstu na jeho povrch, rozhodne nie je nejako teplý.

 

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é.

 

A nasledoval najrýchlejší pokus ...

 

 

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

SBC6502 - CLOCK = 6.00MHz !!!


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

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


Dobrá stavba SBC6502 bola potvrdená dnes založením ďalšieho 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 "iba" 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, neviem, teraz to už nie je "trhač asfaltu" ale 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 (150ns). Procesor je spokojný, nehreje, čip 8255A je tak isto len mierne vlažný /teplotne žiaden rozdiel oproti 5.00MHz/, takže pohoda, nateraz je to finíto, definitíva.

(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 vlastnú prenosovú rýchlosť komunikácie, preto presná hodnota x-talu pre procesor 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.


 

Poznámka:

Schéma zapojenia je rovnaké, jediná zmena je výmena x-talu za typ 6.00MHz.

 

Tu len doplním poznámku:

Ak odpory 1k2 v zapojení zameníme za odpory s nižšou hodnotou v rade (1k alebo 820Ω), tak oscilátor bude ochotne kmitať aj na vyšších MHz (s príslušným x-talom) - otestované s hodnotou odporu = 1k (samozrejme na inom zariadení ktoré s vyššími MHz dokáže pracovať). Väzobná kapacita M1 potom pre uvedené konkrétne zapojenie tak isto bola zmenšená na hodnotu 10k, pozor nemýliť si to s filtračnou kapacitou M1 na pine 14 čipu 74LS04 - tá zostáva nezmenená ! Pri nižšej hodnote odporu oscilátor ochotnejšie kmitá na ešte vyšších frekvenciách (dá sa ísť až na hodnotu 470Ω - ale tu je to zbytočné).

(Ak sa namiesto odporov 1k2 dajú odpory 2k2 - tak zapojenie oscilátoru ochotne kmitá niekde do hodnoty x-talu 12MHz a menej - čo tu tak isto bez najmenších problémov pre SBC6502 vyhovuje.)

 

Teraz SBC6502 musím prehnať nanovo 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 je č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 svojou prístupovou dobou "na hrane".


5MHz verzia čipu 8255A (Mitsubishi).

Chodí naprosto bezproblémovo.

 

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

 

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 tu teda otvorená.


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


Po dnešku som si povedal - overclockingu dám pokoj - keďže 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 clocku), zapojenie na testovacej doske mi to ale odmietlo, nedalo mi to a už to takisto behá (pozn. - chyba bola v zapojení na doske) a tak experimentálnu dosku verzie 2 pre 4 rôzne výstupy hodín pre procesor predsa len uverejňujem. Na mieste pre x-tal 4.00MHz je osadená pätička, takže tu je možné nasadiť rozličné hodnoty pre x-tal a tak skúšať rozličné hodnoty, poprípade na tejto doštičke je možné ísť aj cestou overclockingu.

 

Tu je príjemné že najvyššia rýchlosť je len necelých 85kHz pod 5.00MHz, rozsah poskytovaných štyroch rýchlostí je naozaj slušný. Na mieste pre x-tal 4.00MHz je použitá pätička a tak je tu možné použiť (a skúšať) x-taly s rozličnými hodnotami, samozrejme akceptovateľnými pre použitý procesor. Delička 74LS90 tu v tomto zapojení delí vlastne iba :2 a tak je potom k dispozícii /ak treba/ aj takt 2.4576MHz. Túto deličku je možné v zapojení nahradiť 1/2 čipu 74LS74 alebo jedným obvodom 74LS72 s príslušnou úpravou zapojenia pre tieto čipy. Výhodou použitia čipu 74LS90 je to, že je možné v zapojení využiť delenie nielen :2, ale aj :4 a :8, t.j. môžu byť použité hodne netradičné hodnoty x-talov - teda ak sa použijú príslušné výstupy tejto deličky. Inak povedané - máme naozaj slušnú variabilitu nastavenia príslušného clocku. Ak to nie je zrejmé na prvý pohľad - použite datasheet spomenutej deličky.


Takto vyzerá reálne skúšobná doska pre 4x clock (All In One) zo spodnej strany. Rozmiestnenie jumperov na tejto doske je riešené mierne odlišné od pôvodnej schémy /popísané na ďalšom obrázku/ - ostatné veci na doske sú nezmenené. Dôvod zmeny zapojenia prepínača - nemal som vtedy doma k dsipozícii dvojradové o 90° zahnuté konektory ... na doske je momentálne v pozícii vymeniteľného x-talu osadený konkrétny x-tal = 4.500MHz.


Zapojenie prepínania na tejto konkrétnej doske. Ako vidieť vždy je aktívne zapojený iba jeden jumper, vždy spája iba príslušnú dvojicu pinov. Ešte k tej spomínanej chybe - mal som na doštičke prehodené medzi sebou vývody 4 a 5. Potom po prepojení 5 a 6 medzi sebou to nemalo šancu dávať na vstup do procesoru clock 4.9152MHz. Síce štandartne ak robím na univerzálke prepojenia tak ich kontrolujem ihneď pri zapájaní multimetrom (prepískam urobený nový prepoj), ale zjavne som musel niekam počas zapájania odbehnúť a - chybička se vloudila ... takže merať, merať a merať. Prkotina, ale stalo sa (nemalo by sa ...).  (Ak by som robil prepojenie podľa základnej schémy a nepoužil odlišné zapojenie jumperov tak by k tomuto problému vôbec neprišlo a to ani pri prehodení vodičov medzi sebou, akurát by nešli frekvencie pekne za sebou.) Nakoniec som predsa len /síce neskôr, ale predsa len/ na doske oscilátorov chybu našiel a opravil.


Všetky dostupné výstupné frekvencie na doske oscilátorov majú pomer striedy presne 1:1.


Jumper v polohe 1-2 pre clock procesoru =1.8432MHz

 

Jumper v polohe 2-3 pre clock procesoru =2.4576MHz

 

Jumper v polohe 4-5 pre ext.clock procesoru = 4.00MHz

/x-tal je v pätičke/

 

Jumper v polohe 5-6 pre clock procesoru =4.9152MHz

Sorry za kvalitu foto, fotené večer  pri umelom osvetlení.

 

Pomocou krátkeho programu som otestoval ako rýchlo sa "plní" premenná A:

Vlastný programček:

10 A=0
20 A=A+1:GOTO 20

 

Meraných je 60 sekúnd behu programu:

Premenná A nadobudne hodnotu=  33890 - platí pre x-tal 1.8432MHz

Premenná A nadobudne hodnotu=  45200 - platí pre x-tal 2.4576MHz

Premenná A nadobudne hodnotu=  73218 - platí pre x-tal 4.0000MHz

Premenná A nadobudne hodnotu=  83320 - platí pre x-tal 4.5000MHz

Premenná A nadobudne hodnotu=  91230 - platí pre x-tal 4.9152MHz

 

A ešte ako dlho trvá slučka FOR - NEXT:

programček:

10 FOR A=0 TO 100000:NEXT

 

Meraná je doba behu programu:

čas: 55.45 sec. - platí pre x-tal 1.8432MHz

čas: 41.80 sec. - platí pre x-tal 2.4576MHz

čas: 25.90 sec. - platí pre x-tal 4.0000MHz

čas: 23.10 sec. - platí pre x-tal 4.5000MHz

čas: 21.00 sec. - platí pre x-tal 4.9152MHz

 

Myslím si že som popísal rozličné možnosti prepínania taktu hodín pre SBC6502 a ak si to postavíte máte si následne z čoho vyberať.

 

Toto postupné, nazvem to "salámové" pretaktovávanie SBC6502 smerom nahor bolo pekným a príjemným zážitkom - aj napriek tomu že mi naozaj hodne dlho trvalo než som to zrealizoval. Niektoré pritom logické postupné hodnoty x-talov som vynechal - pretože potom by som to testoval ešte mesiac a tabuľky testov by boli už hoooodne dlhé. Teraz som si tých posledných 10 dní naozaj užil, musel som mimo iného urobiť nové, doplnkové benchmarkové testy - chcel som porovnať rýchlosť vykonania testov. Výsledky testov sú rozhodne hodne zaujímavé  !

__________________________________________________________

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 októbra 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 októbra 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 externej dštičke 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é, ale pritom plne funkčné 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, nakoniec sa ukázalo že s tou frekvenciou sa dá ísť aj podstatne vyššie), správnu prenosovú rýchlosť = 115.200Bd zabezpečuje oscilátor kde je použitý 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 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 (1k5), teda 1500pF a funguje to tak isto. Tak isto v schémach oscilátorov bývajú odpory (u mňa =1k2) uvedené v hodnote 330 až 470Ω, neviem - mne to pri tu uvedených hodnotách súčiastok pi testovaní kmitalo aj s x-talom 22.8MHz bez najmenších problémov (x-tal s vyšším kmitočtom doma nemám - pozor, doštička samozrejme bola pri tomto teste mimo vlastného SBC6502), č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ý), síce neviem či to pôjde ale použitá 150ns Eprom by mala zvládnuť až 6.00MHz x-tal - uvidím, určite aj túto možnosť postuone vyskúšam. Princíp fungovania ? Prvé dve hradlá zapojenia vždy slúžia ako samotný oscilátor, tretie hradlo slúži potom ako oddeľovač a dodatočný tvarovač signálu. Už som tých oscilátorov s čipom 74LS04 postavil naozaj niekoľko desiatok - a vždy fungovali na prvú šupu - teda ak bol dobrý čip 74LS04 ... najlepšie si ho vždy otestujem na programátore TL866, ten vie uvedený čip otestovať. A ak si vyrobíte na druhý oscilátor pätičku pre vlastný x-tal, tak môžete s ďalšími x-talmi vyskúšať či sa podarí dosku SBC6502 pretaktovať ešte aj na vyššiu hodnotu ako sú 4MHz. (Toto určite skúsim.)

Jedna rada: používajte pri stavbe oscilátorov čo najkratšie prívody - ak je to možné a nebudú vznikať problémy. Tiež je dobré použiť Eprom typu 27256 (rýchlosť 150nS), pretože tie dosahujú väčšiu rýchlosť ako typy 27128 (rýchlosť 250 a 200ns, teda mne dostupné kusy). Takže kto chce skúsiť nejaké to pretaktovanie - rozhodne odporúčam nasadiť aj rýchlu Eprom.

___________________________________________________________


Postavil som aj verziu (už s číslom 4) oscilátorov kde "bežia" dva TTL oscilátory - jeden ide na 1.8432MHz a druhý tiká na 4.00MHz, oscilátory sú v plastovom, 8-pinovom púzdre. Potom buď celý SBC6502 ide na 1.8432MHz alebo je tu druhá možnosť - hodiny do čipu 68B50 majú stále 1.8432MHz (a teda komuníkácia naďalej ide na rýchlosti 115.200Bd) a samotný procesor 65C02 je pretaktovaný na hodnotu =4.00MHz. Dosť používam práve túto doštičku, pretože SBC6502 na 4.00MHz je naozaj hodne svižný.

 

No a teraz už môže nasledovať foto doštičky založenej v motherboarde SBC6502:

 

Jumper má predĺženú úchytku, takže mi umožňuje prepnúť rýchlosť procesoru bez toho aby som musel zostavu rozoberať (ak je nasadená nejaká horná pracovná doska), je to pohodlné riešenie. Kondenzátory sa nachádzajú na spodnej strane doštičky - preto ich teraz nie je vidieť.

 

Trochu ma mrzí že nemám tieto TTL oscilátory aj vo variante 5.00MHz a 6.00MHz, bolo by to bezva na vyskúšanie a otestovanie, takto musím na ďalšie testy či to dokážem pretaktovať na ešte vyššie MHz použiť doštičku (ver.3) popísanú na začiatku tohoto článku.

 

Máme tu "napevno" zapojené 2 oscilátory, tu nie je žiadna možnosť pretaktovania smerom ešte viac nahor, je tu len možnosť práce procesoru na doske SBC6502 iba na uvedených 2 hodnotách taktu. Zatiaľ mi to postačuje ... ale ako som spomínal skúsim ísť s pretaktovaním aj vyššie. Čo keby to fungovalo ...

(Všetko dosiahnuté nad 2.5MHz považujem za príjemný a nečakaný bonus.)
Ako vidieť takáto verzia (4) doštičky oscilátorov je veľmi jednoduchá a je aj nenáročná na vlastnú stavbu.

___________________________________________________________


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. 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: