
SBC6502 - skúsim to bližšie definovať:
- pracovný takt =1.8432MHz (je to 2x viac ako originál, kde to u Granta fičí na 0.9216MHz)
(aby som bol spravodlivý - aj on tam tých 1.8432MHz má - ako možnosť ísť na dvojnásobok oproti 0.9216MHz)
- vstavaný Basic (upravený OSI Basic 8kB do novej 16kB Eprom)
reálne veľkosť originálneho OSI basic dosahovala hodnotu =7906 byte
- komunikácia prebieha cez Hyperterminál, potrebné nastavenie:
(115.200 Bd, 8 bits, hardware handshake, no parity, 1 stop bit)
- veľkosť použitej ROM = 16KByte
- veľkosť použitej RAM = 32kByte (RAM je možné zväčšiť, napríklad na 40kB, alebo až na 46kB, zatiaľ nepoužité)
Použité obvody:
- 1x procesor 65C02, alebo 6502C
(beží tu aj procesor z malého Atari 14806 (otestované) len to potrebuje malú HW úpravu)
- 1x obvod 68B50 (ten je priamo na 2MHz, ale fungujú tak isto aj čipy 6850 určené na 1MHz - overené)
- 2x 74LS00
- 1x Eprom 27128 (alebo po príslušnej úprave aj typ 27256)
- 1x RAM 32kByte 62256
- 1x obvod MAX232
- x-tal oscillator 1.8432MHz
____________
Ak sa následne použije rozširovacia doska s čipom 8255 (3x osembitové porty - toto pripojenie je vlastný návrh) treba ešte:
- 1x adresový dekodér 74LS138
- 1x obvod 8255A
- je potrebné "prekopať" reset a teda pribudne ešte 1x čip 555
________________
Celá "mašinka" beží na takte 1.8432MHz, použité komponenty v zapojení to naprosto v pohode stíhajú. V pôvodnej verzii to dokázalo za cenu ďalšieho čipu bežať na polovičnej frekvencii, ale myslím si že to je pre moje využitie zbytočné. Upozornenie pre skalných puristov - ak chcete fungovať skutočne na frekvencii necelých 1MHz čo je pôvodná rýchlosť - navštívte stránky Searl Granta, treba ešte navyše deličku 2, čo zvládne 1/2 obvodu 74LS74. Ja som rád že je moja SBC6502 oproti pôvodnému originálu 2x rýchlejšia, toto mi vôbec, ale vôbec nevadí ... a celkom ma zaujíma kam až by sa to dalo "vyšróbovať", teda rýchlosť procesoru, hlavne preto že je to na univerzálke a zaujíma ma ako dobre som navrhol rozmiestnenie súčiastok (tak to sa ešte uvidí ...).
Doplnená poznámka - nakoniec som takt procesoru vyšróboval na hodnotu 6MHz.
Možno sa to nezdá, ale aj tých 32kB RAM je hodne veľké miesto pre software, tobôž ak sa tu nepoužíva grafika. (V ďalšom ešte budú uverejnená verzia s 40kB RAM a následne aj verzia pre 46kB RAM, toto už by malo naozaj stačiť každému ... síce to nie je 640kB, ale na druhú stranu - zase ja nie som Bill Gates ...)
Nejako extra nemusím zdôrazňovať že je to celé postavené na univerzálnej doske kde sa mi s tým celkom dobre robí, káblikov na prepojenie nie je až tak veľa. Pretože mi stačí iba 1 kus SBC6502 tak som sa nesnažil vymyslieť aj plošný spoj = pre 1 kus na otestovanie či to naozaj funguje je to zbytočná robota.
Obvody 6850 čo mám k dispozícii síce majú deklarovanú rýchlosť iba na 1MHz, ale tu to v pohode stíhajú. Searl Grant na svojich stránkach tvrdí že čip 6850 ide bez najmenších problémov na 1.8432MHz, môžem to potvrdiť, vyskúšal som v SBC6502 4 kusy spomenutých čipov - všetky fičali na jedničku. U mňa to vlastne bola z núdze cnosť, pretože som nemal k dispozícii rýchlejšiu verziu - teraz už 68B50 mám.
Takže už to teraz tvrdím aj ja. 

Takto to vyzerá po zapnutí, následne stlačenie Cold,
+ potvrdenie Enter pre Memory Size,
+ potvrdenie Enter pre Terminal With.
Najprv som ešte pred stavbou rozmýšľal že postavím jeden kus 100%-ne rovnaký ako originál od Searl Granta, ale potom som si povedal že to už priamo pri stavbe trošku "poohýbam" a prerobím priamo k "obrazu svojmu", nech je v tom aj kúsok môjho ja:
- obvod 74LS74 v mojom zapojení vôbec nepoužijem, pretože nepotrebujem aby procesor bežal na frekvencii 0.9216MHz, puristi si ho určite do zapojenia pridajú (síce ten necelý 1MHz môže byť zaujímavý z hľadiska spotreby, ale nejedná sa o nejaké veľké odbery, takže toto je premňavedľajšie a naozaj to neriešim)
- x-tal a hradlá pre oscilátor som zamenil priamo za x-talový oscilátor 1.8432MHz (ušetrím 3 hradlá typu 74LS04, x-talové oscilátory pri 5V majú povolené zaťaženie 10 vstupov TTL čo bohate postačuje, my tu máme záťaž max. 3 vstupy TTL)
- zapojenie ktoré použijem dokáže priamo použiť x-talové oscilátory v púzdre 14 pin, alebo 8 pin - proste obidva druhy oscilátorov mám, tak som urobil zapojenie pre obidva typy oscilátorov na pripojenie iba v jednej 14 pinovej pätičke, občas sa takáto univerzálnejšia možnosť osadenia hodí
- nahradil som Eprom pamäť 27128 za pamäť 27256 (tých mám podstatne viac, 27128 sú celkom nedostatkové zbožie - teda aspoň v mojich zásobách Epromiek) a tak dokážem prepínať medzi pôvodným a upraveným OS, takto je k dispozícii 2x 16kB priestor Eprom (v schéme uvádzam zapojenie iba na typ 27128 pretože postačuje). Pre začiatočné testy som do Eprom 27256 nahral OS 2x za sebou t.j. teraz je jedno ktorých 16kB je zvolených a teda funkčných
- zamenil som pôvodný obvod 74LS04 a použil som druhý obvod 74LS00 (používam o jeden typ súčiastok menej, to sa hodí), z prvého IO 74LS00 1/4 (U6:A) sa robí invertor pre obvod 6850, pridaný odpor 2k2 je potrebný, pretože IRQ výstup obvodu 6850 (68B50) je typu open collector, 2/4 74LS00 (U7:B) slúži ako invertor pre správnu funkciu Reset obvodu 8255A. Hradlá 3/4 (U7:C) a 4/4 (U7:D) druhého obvodu 74LS00 sú nezapojené, slúžia ako rezerva (nakoniec som ich neskôr pri rozširovaní použil tiež)
- pre dekódovanie adries EPROM pamäte som použil 1/4 74LS00 (U7:A)
- pre dekódovanie adresného priestoru obvodu 8255A je potrebné použiť obvod 74LS138, ktorý je pridaný navyše (vďaka dekodéru 74LS138 viem pripojiť maximálne napríklad 8 periférií typu 6520A, 8255A a pod., doma v šuplíku bola voľná 8255A (a 8255A sa ľahko programuje) takže voľba použitého čipu bola jasná ...)
- nastala celková zmena Resetu, hlavne kvôli obvodu 8255A, pridaný čip 555 pre generovanie nového Resetu (až ak použijete pripojenie 8255A-ky)
- pridal som obvody na indikáciu sériovej komunikácie a pripojenia napájacieho napätia (nie sú za každú cenu potrebné, ale určite uľahčujú oživovanie)
- zvolil som napájanie 12V, potrebných 5V sa vyrába zo spínaného DC/DC meniča, ktorý je umiestnený na základnej doske. Prečo ? Pretože tých 12V sa mi hodí pre moje ďalšie experimentovanie (neskôr sami to naozaj hodilo). A je podstatne príjemnejšie ak Vám stačí jeden zdroj a nemáte na stole čo ja viem - 5V, 9V, 12V a tak ďalej nie ? Môj zdroj priamo na doske dodá pri 5V/1A, základná spotreba je tak pätinová. Samozrejme môžete zvoliť napájanie SBC6502 priamo z 5V, alebo z USB kábliku. Odber nepresiahne ani v rozšírenej verzii cez 0.2A (ani pri použití procesoru 14806 od Atari ktorý je skutočne o poriadny kus "žravejší" - staršia technológia). A ja s tými 12V počítame pre neskoršie využitie, ak sa pustím do stavby nejakých doplnkov tak sa mi to bude určite hodiť. Takže toto rozhodnutie je na Vás.
- pridal som obvod 8255A, sú potom k dispozícii 3x brány po 8 bitov voľne programovateľné ako vstupné, alebo výstupné, na drobné riadenie ako stvorené
- zapojenie som priamo modifikoval na doske tak, aby sa dal vymeniť procesor 65C02 (ktorý mám k dispozícii) za procesor 14806 od Atari (vyriešil som to tak, že teraz na to prepínanie použitých procesorov stačí prepínať iba jeden jediný jumper !)
- ak bude čas skúsim ešte experimentovať s rýchlosťou hodín procesora, bolo by celkom zaujímavé, ak by to vedelo fičať rýchlejšie, to už by bolo naozaj hodne, hodne zaujímavé (procesor 65C02 čo mám ide do 4MHz, 8255A mi ide do 5MHz), (poznámka - síce mi to trvalo, ale nakoniec som sa k zvýšeniu taktu predsa len dokopal)

Na ľavej strane v strede je 14 pinová pätička a v nej je založený
malý x-talový oscilátor 1.8432MHz, ktorý má iba 8 pinov.
Doska je na prvý pohľad relatívne veľká (euroformát 100 x 160mm), ale vďaka tomu nie je žiaden problém pri návrhu rozmiestnenia čipov na doske
Dôležité rozhodnutia:
- napájanie 12V, motherboard potom beží z DC/DC meniča 12V/5V
(teraz sa mi tých 12V na doske naozaj hodí ... pozn. 26.09.2019)
- vypínač je vyvedený na zadnej strane
- konektor napájania je vyvedený na zadnej strane
- RS232 konektor bude vyvedený na zadnej strane
- indikácia LED na prednej strane:
LED (zelená) = napájanie
LED (červená) = indikácia prenosu dát smerom von z SBC6502
LED (oranžová) = indikácia prenosu dát smerom do SBC6502
- na prednej strane je vyvedený systémový Reset, považujem to za praktické
Nasleduje moje zapojenie SBC6502, ktoré sa bude postupne meniť podľa jednotlivých verzi, verzia 0 je základná:

SBC6502ver1_0n.PNG (65,39 kb)
Potrebný súbor do Eprom pamäte nájdete tu:
http://searle.x10host.com/6502/osi_bas.zip
(tu je dôležitý súbor osi_bas.bin (alebo ROM.HEX, podľa toho čo berie Vaša napaľovačka Eprom ako zdrojový súbor), ktorý treba napáliť do Eprom pamäte typu 27128)
______________________________________________________________________________
Aby ste počítač vedeli pripojiť a komunikovať s ním potrebujete si zabezpečiť ešte jednu vec: - null modemový káblik, pozor, maximálna odporúčaná dĺžka je cca 1.5m (prenos dát beží na 115.200Bd čo je celkom slušný "cvrkot"), ale bežalo mi to aj na dlhšom kábli. Používam prevodník USB - RS232 typu Prolific, pretože je naprosto bezproblémový pri automatickej inštalácii a aj pri následnej prevádzke - používam Win7 a Hyperterminál a notebooky ako vieme už dlhšiu dobu nemajú v sebe k dispozícii priamo sériový port a tak si musím pomôcť prevodníkom USB ↔ serial port. Na výstupe z prevodníku USB - RS232 je použitý 9 pinový CANON konektor (male, samec). Niektoré prevodníky majú cca 1.5m USB káblik a až potom nasleduje RS232 konektor - tu sa potom použitá vzdialenosť predlžuje na bezproblémové 3 metre (1.5m USB káblik a na ňom prevodník + RS232 káblik, dlhý tak isto max.1.5m). Ďalšie predĺženie komunikačnej vzdialenosti sa dá dosiahnuť iba znížením prenosovej rýchlosti, napr. na hodnotu 38.400Bd alebo na 19.200Bd, podrobnejšie sa tomu budem venovať v niektorom z ďalších pokračovaní na tému SBC6502 - generátor prenosovej rýchlosti.
Použitie tohoto kábliku je nevyhnutné - musí byť zapojený medzi prevodník USB - RS232, teda nedá sa prevodník pripojiť priamo ! Na toto nezabudnite, potom Vás (možno ...)
nečakajú žiadne záludnosti.

Tu sa na to isté môžete pozrieť v prehľadnej tabuľke
(ak sa to nezdá jasné z predchádzajúceho obrázku):

Jediné nepoužité a teda nezapojené zostávajú
na obidvoch konektoroch Canon iba piny číslo 9.
Ak môžem odporučiť, šetrite s miestom na motherboarde ak chcete postupne ešte rozširovať funkcie - kto to pozná, vie o čom točím. Ale ako to býva, už som hneď špekuloval že by to časom aj niečo mohlo riadiť a ovládať ... ale dnes to bude iba samotný počítač vo verzii 7 čipov. V ďalšom nasledujú vždy kompletné zapojenia nových verzií. A sám by som už asi volil ešte úspornejšie rozmiestnenie súčiastok, pretože by som potom bezproblémovo na túto dosku dostal ďalšie 2 čipy 74LS138 a čip RAM 6264 (8kB) a teda SBC6502 by mal už priamo v základnej verzii celkom pekných 40kB RAM. Trošku predbieham, pretože som tam "narval" iné čipy a teda v základe som s možnosťou mať 40kB RAM vôbec nerátal. No - ono tých 32kB RAM je pre SBC6502 viac ako dosť, ale tak nejako to aj napriek tomu človeka ťahá pridať tomu ešte nejaké tie bajtíky navyše ... Znova opakujem - 32kB RAM je naprosto postačujúcich - a prvá verzia dosky svojím rozmiestnením súčiastok mi už ďalšie rozšírenie RAM neumožňuje (piggyback, teda umiestnenie dvoch RAM čipov na seba - 62256 + 6264 - tak takto tu na tejto doske bastliť nechcem, dá sa to, ale ja tak nerobím).
Ak sa použije rozširovacia doska s 8255A - teda potom máme k dispozícii celé 3x osembitové porty, práve preto potom treba na doske ešte miesto na ďalšie čipy - toto pripojenie je môj návrh:
- pribudne adresový dekodér 74LS138
- obvod 8255A
- je potrebné "prekopať" reset a teda pribudne ešte čip 555
V ďalšom článku bude počítač rozšírený ktorý na 10 čipov, je tam už pripojená 8255A-ka, dnes sa ale týmto rozšírením nebudem zaoberať. Celé sa to dá postupne pohodlne rozšíriť o tú 8255A-ku.

Na tomto snímku je 8 pinový oscilátor v 14 pinovej pätičke.
2x jumpery na snímku slúžia na nasledovné:
- použil som Eprom 27256, pretože tých mám dostatok, 27128 sú naopak dosť vzácne, v schéme ale kreslím zapojenie pre Eprom 27128 - aby to bolo jasné od začiatku,volí sa ním spodných 16kB alebo horných 16kB
- druhý jumper som použil pre prepínanie medzi typmi 2 procesorov, môžete tam založiť 65C02 (6502, 6502C) alebo špeciál Atari procesor 14806, v schéme to zatiaľ nekreslím, aby som nikoho nezblbol, potom to nakreslím dodatočne (keď som začínal len som dúfal že by to mohlo fungovať aj-aj a skutočne, funguje to !) Prerábka je maximálne jednoduchá, v ďalšom ju nakreslím.

Na fotke je tiež osadený DC/DC menič z 12V na 5V ktorý mi pripravil pri oživovaní naozaj
pár bezsenných nocí .. kedy som nie a nie prísť na to kde je zašitý problém.
ň
Na tomto snímku je osadený 14 pinový oscilátor 1.8432MHz,
mám totiž obidva typy. Zapojenie bude popísané postupne
podrobnejšie.

Detailnejší pohľad.

Dtto.

Oscilátor v 8 pinovom púzdre, vpravo DC/DC menič, zatiaľ použitý obvod pre sériovú komunikáciu
6850, čo je 1MHz verzia. Napriek tomu šlape ako víno aj na dvojnásobku povolenej datasheetovej
frekvencie. že to funguje je jedno veľké +.

Oscilátor 14 pin verzia, detail.
V ďalšom článku bude popis vlastnej stavby (čo ešte bude treba) a nejakých tých problémov pri vlastnej stavbe SBC6502.
______________________________________________________
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: