SBC6809 - step3 - extended board 6809 +8kB RAM. Part-9.

By Administrator at June 21, 2021 10:50
Filed Under: SBC8085-NCB85

Osadená MMU a zadrátkované pripojenie 74LS00 + RAM 6264.

Na doske je už pripravené miesto aj pre čip 8255A.

 

Teraz do rozširujúcej dosky pridám SBC6809 ďalších 8kB RAM, teda potom je k dispozícii 40kB RAM. Nečakal som síce žiaden zázrak, ale nečakal som ani problémy, napriek tomu drobné "trable" sa predsa len objavili. Vtip je v tom že Co-Co programovo akosi nie je celkom pripravené mať dostupných viac ako 32kB RAM, minimálne použitý firmware ma v tom utvrdzuje. Síce 40kB je po úprave skutočne a reálne k dispozícii - ale začína nesprávne rátať dostupnú RAM pomocou príkazu ? MEM. No, toto je ale len taký drobný "zádrhel", počítač funguje, pridaná RAM sa dá používať, takže je to len také skonštatovanie faktu o nesprávnom zobrazení ak naštartujeme počítač a zavoláme si príkaz ? MEM. Ale aj na toto existuje jednoduché riešenie aby sa voľná RAM spočítala správne, o tomto ešte bude pár slov neskôr v článku.


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.


Zapojenie 40kB RAM v SBC6809 vyžaduje aby čip 68B50 už fungoval v zapojení cez MMU !

(popis je v minulom článku)

 

Teraz k technickému riešeniu:


Pretože som nechcel "vyťahovať" zo základnej dosky potrebné signály Memory Read a Memory Write pomocou dvoch vodičov na dosku prídavnej RAM tak som nanovo pre ich opakovanú tvorbu použil jeden obvod 74LS00 (74ALS00). Síce to duplikuje už vytvorené signály na doske motherboardu - ale takto nemusím zasahovať do motherboardu (to sa mi pozdáva), zase je to daň niečo za niečo. Obvodová zložitosť ? Nič strašného, je treba použiť len 1 čip navyše.

 

Poďme na vlastné zapojenie:

 

 Z čipu 74LS00 sa využívajú tri hradlá, to štvrté je zatiaľ nepoužité.

 

RAM je potom skutočne zväčšená na 40kB, akurát ak zavoláme ? MEM (ak nemáme nahratý žiaden program) dostaneme záporné číslo veľkosti dostupnej voľnej RAM.

Nedalo mi, hľadal som riešenie - a našiel som ho, je veľmi jednoduché, ak si napíšete tieto 2 krátke riadky tak vždy dostaneme správnu odpoveď na veľkosť dostupnej RAM - a to aj pri pôvodnej veľkosti RAM 32kB a taktiež aj pri rozšírenej RAM 40kB:

 

32500 IF MEM =>0 THEN ? MEM

32510 IF MEM<0 THEN ? MEM+65536

 

Problém je takto vyriešený - voľná RAM už ukáže správny výsledok a potom je to 40164 free byte (reálne je to vlastne o niečo viac, pretože v tom nie sú započítané tu spomínané 2 riadky programu - ak pri inštalovanej RAM 40kB (bez programu v SBC6809) zadáme priamo príkaz ? MEM +65536 tak je číslo rovné 40208 byte. Jednoduché, nie ? Takže - ak Vám nevadí trochu zvláštny výpočet voľnej RAM pomocou spomenutých 2 riadkov, alebo použijete priamy príkaz z predchádzajúcej vety tak máte teraz k dispozícii 40kB RAM. Pritom stále platí - akonáhle je náš program v SBC6809 dlhší ako 8kB (8192 byte) tak začne premenná MEM správne počítať veľkosť dostupnej voľnej RAM. Pretože zväčšenie RAM bolo len také zahrievacie kolo tak takáto "zvláštnosť" ma nijako neobmedzuje, nakoniec - RAM sa dá vždy z pätičky vybrať - alebo zablokovať prístup do nej pomocou DIP switchu (na to tam aj je).

A občas sa tých 8kByte dostupnej RAM navyše naozaj môže zísť ...

 

Na mieste 74LS00 som otestoval aj čip 74ALS00, obidva typy tu idú naprosto bez najmenších problémov. Použitá doplnková RAM 6264 má prístupovú dobu 100ns (pomalšiu doma nemám). Rýchlejšia RAM (70ns a pod.) je na tomto mieste zbytočná, SBC6809 ide interne na 1.8432MHz takže všetka ďalšia RAM s prístupovou dobou pod 250ns vyhovuje - na druhú stranu tak pomalé statické RAM ani nie sú tuším k dispozícii. Čip s označením MMUe6809 je naprogramovaná PROM 74188. Na obrázku je taktiež vidieť že ak sa dá tak kapacity pre filtráciu napájania sú uložené priamo v pätičkách - nezaberajú tak zbytočne voľné miesto.

 

Jediným ďalším malým problémom pri stavbe bolo naozaj málo miesta na doske pre drátkovanie, čip 8kB RAM (6264) som posadil príliš blízko externého bus konektoru, ide tam spústa vodičov - na vine je moje trošku blbé zvolenie rozmiestnenia súčiastok, stačil by posun o 2 dierky, bolo by to o poznanie príjemnejšie pri drátkovaní. Ale popasoval som sa s tým a aj napriek tomu som zapojenie dotiahol do funkčného stavu. Aspoň je to pre mňa poučka do budúcna ...

 ____________________________________________________________

Dodatok:

V tomto článku tu bol predtým popísaný problematický štart SBC6809, ktorý občas trval aj 5 sekúnd, niekedy dokonca bolo potrebné stlačiť aj Enter - ako sa ukázalo problém pritom nebol v samotnom SBC6809 a ani v jeho dorobených súčastiach. Tak som začal pátrať čo tieto záseky a nekonzistenciu pri práci s SBC6809 spôsobuje. Najprv som si myslel že to spôsobujú mnou pridané veci, ale ani odstránenie pridanej RAM a ani prejumprovanie čipu 6850 do pôvodného nastavenia nepomohlo (použil som čip 6850 Motorola vybratý z Atari ST - vďaka Kubík !, kde predtým v naprostej pohode bežal na zbernici >7MHz). Pre istotu som potom predsa len ešte čip 6850 vymenil za iný - ale tak isto sa nič nezmenilo, problémy pretrvávali. Napokon sa to predsa len začalo pomaličky "vyjasnievať" - ako som zistil tieto trable pri štarte SBC6809 mal na svedomí použitý "načatý" prevodník USB↔RS232, po jeho výmene za iný (celkom nový) predtým popisované problémy pri štarte SBC okamžite zmizli (preto som v článku odstránil text o týchto problémoch, celkom zjavne a navidomoči za to mohol poškodený prevodník, moja smola bola v tom že sa jeho chyby akurát začali prejavovať po inštalácii rozšírenia RAM), jednoducho niet nad správny timing ... to nevymyslíš.

No a odvtedy sa kompletne celá zostava SBC6809 správa ukážkovo a funguje na jednotku.


Na obrázku sú jumpery v pozícii = pôvodná adresácia 6850, t.j. bez pridanej 8kB RAM.

(Jumpre posunuté napravo o jednu pozíciu = adresácia čipu už beží cez PROM 74188.)

_____________________________________________________________

Ak mi ľavé oko dovolí (momentálne som v rekonvalescencii), tak ako ďalší krok bude nasledovať pripojenie čipu 8255A, t.j. budú k dispozícii 3x 8bit porty ktoré môžeme ľubovoľne nastaviť ako vstupné alebo výstupné - vec ideálna na nejaké to ovládanie a riadenie.

_____________________________________________________________

Vaše hodnotenie, Rate post:

Comments

6/21/2021 10:55:18 AM #

trackback

Directory SBC.

Directory SBC.

Igi blog |

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: