Surová data tak, jak byla v roce 2013 stažena z Pandory (HTML zdroj bez úprav, osobní e-mailové adresy jsou maskované).
<!-------------------------------------------------------------->
<table width="100%"><tr><td align="left" valign="middle"><B>o ramdiscích obecně I.:</B></td><td align=right valign="middle"></td></tr></table><BR><p>Ramdisk - základní pojmy a definice</p> <p>Ramdiskem rozumíme paměťové zařízení<br/>na bázi polovodičových součástek (na<br/>rozdíl od hard či floppy disku).<br/>Komunikace s ním probíhá skrze<br/>instrukce vstupu a výstupu (I/O<br/>porty).<br/>Existují dva různé režimy ve kterých<br/>může ramdisk v Sharpu pracovat:<br/>-režim SRAM se sekvenčním přístupem<br/> (označovaný též jako sériová paměť)<br/>-režim "ramdisk pro basic" s libovolným<br/> přístupem (v basiku se zařízení<br/> označuje jako RAM:), já ho budu nazývat<br/> režim RD</p> <p>Nejjednodušší exempláře (64KB) uměly režim<br/>RD využitelný jen pro basic MZ800, neuměly<br/>ani "auto inkrement" - každému čtení/zápisu<br/>muselo předcházet nastavení 16ti bitové<br/>adresy do ramdisku.<br/>Originální 64KB Sharp ramdisk uměl režim<br/>RD včetně "auto inkrementu" (po každém<br/>čtení/zápisu se adresa v ramdisku zvětšila<br/>o jednotku, nebylo nutné ji zavádět zvlášť),<br/>ovšem neuměl režim SRAM. Nikdy jsem neviděl<br/>64KB verzi ramdisku, která by uměla "auto<br/>inkrement" a oba režimy.<br/>Tato myšlenka se uplatňuje až u verzí<br/>ramdisku s vyššími kapacitami (existovaly<br/>o kapacitách 256KB, 512KB, 1MB).</p> <p>Jak rozpoznat schopnosti ramdisku?<br/>-úspěšné provedení basikovského příkazu<br/> INIT"RAM:$FFFF" signalizuje funkčnost<br/> režimu RD<br/>-je-li ramdisk schopen plnit funkci SRAMu,<br/> ihned po zapnutí nám ROM monitor hlásí<br/> SRAM:Check sum err (pokusí se ihned nahrát<br/> a spustit program, který tam samozřejmě<br/> nemůže být, není-li to verze se zálohovanou<br/> statickou pamětí)</p> <p><br/>Porty režimu SRAM</p> <p>- in F8h ... vynulování adresy SRAMu (platí<br/> i pro režim RD a je-li ošetřeno<br/> hardwarově, nastavuje nultou<br/> stránku u exemplářů s více než<br/> 64KB paměti)<br/>- in F9h ... čtení bajtu na aktuální adrese,<br/> adresa se zvětší o jednotku <br/>- out FAh .. zápis bajtu na aktuální adrese,<br/> adresa se zvětší o jednotku</p> <p>Porty režimu RD</p> <p>- out EBh .. registr dolní části adresy, horní<br/> část adresy se posílá při istrukci<br/> OUT (C),A horní polovinou adresové<br/> sběrnice, př.:<br/> LD A, "dolní část adresy"<br/> LD B, "horní část adresy"<br/> LD C, EBh<br/> OUT (C),A<br/>- out EAh .. čtení/zápis bajtu na zvolené adrese,<br/> i zde by měl fungovat "auto inkrement"<br/>- out E9h .. nevím, kdo jej zavedl, ale má přímo<br/> strategický význam pro všechny ramdisky<br/> s více než 64KB paměti (reaguje naň<br/> LAMAČ CP/M), jeho 8 bitů dává možnost<br/> rozlišit až 256 stránek po 64KB, to<br/> jest 16MB paměti), v případě mého<br/> ramdisku "Müller" jsou významné jen<br/> dva nejnižší bity:</p> <p> OUT E9=00h ... 0. stránka ramdisku<br/> OUT E9=01h ... 1. stránka ramdisku<br/> OUT E9=02h ... 2. stránka ramdisku<br/> OUT E9=03h ... 3. stránka ramdisku</p> <p>Müller má čtyři 64KB bloky, každý je tvořen<br/>dvěma paměťmi 64Kx4, příslušný out E9h povolí<br/>operace čtení a zápisu jen jedinému "dvojčeti"<br/>(bude podrobně vysvětleno v popisu příště).</p> <p>Jen dodám, na čem jsem úspěšně otestoval dvě<br/>"plovoucí" paměti 1Mx4 (taková ta mini redukce),<br/>proběhlo 48 hodinové zahořování čtyřmi většími<br/>herními programy. Každý z nich byl nahrán<br/>z kazety do jedné ze stránek ramdisku příkazem<br/>monitoru:<br/>-RxL (x je od 1 do 4)<br/> např. R1L, čti: ramdisk 1 load<br/>Pak docházelo k náhodnému spouštění programu<br/>z libovolné stránky ramdisku:<br/>-reset Sharpa s držením klávesy M<br/>-RxS (x je od 1 do 4)<br/> např. R2S, čti: ramdisk 2 spusť<br/>Hra ze zvolené stránky ramdisku se natáhla<br/>do paměti stejným způsobem jako z kazety<br/>a spustila se. Nejhorší je to pravidelné<br/>resetování a spouštění her, ale v noci jsem<br/>to nedělal...</p> <p>Poznámka: příkaz monitoru R a jeho syntaxi<br/>jsem vymyslel a začlenil do ROM při jediném<br/>záplatování chyb v roce 1990 (dle doporučení<br/>disassemblářů z Brna, mám brožury z roku 87)</p> <p>příště: <br/>-velmi detailní popis Müllera 256KB<br/>-teoretický nástin ramdisku se čtyřmi moduly<br/> SIMM 30pin s jedním, dvěma, třemi, čtyřmi<br/> moduly 256KB, 1MB, 4MB (základ vychází<br/> z Müllera)<br/>-nástin ramdisku 256KB, 1MB se statickými<br/> RAM 61512 DIP32 (ze starších PC)<br/>-nástin ramdisku se statickými RAM 512KB SMD<br/> až do 16MB<br/>-srovnání koncepcí, výhody/nevýhody,<br/> koexistence s HDD a RTC na jedné desce</p> <p>Už něvládzem, je 23:50</p> <p>Petr de Zviqov<br/> </p>