Přejít na obsah
ARCHIVEKArchiv e-mailových konferencí o 8bitových počítačích Archiv Pandory 1999 až 2013

Původní podoba příspěvku

Petr Žydek Zpět na příspěvek

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/>&nbsp;(označovaný též jako sériová paměť)<br/>-režim "ramdisk pro basic" s libovolným<br/>&nbsp;přístupem (v basiku se zařízení<br/>&nbsp;označuje jako RAM:), já ho budu nazývat<br/>&nbsp;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/>&nbsp;INIT"RAM:$FFFF" signalizuje funkčnost<br/>&nbsp;režimu RD<br/>-je-li ramdisk schopen plnit funkci SRAMu,<br/>&nbsp;ihned po zapnutí nám ROM monitor hlásí<br/>&nbsp;SRAM:Check sum err (pokusí se ihned nahrát<br/>&nbsp;a spustit program, který tam samozřejmě<br/>&nbsp;nemůže být, není-li to verze se zálohovanou<br/>&nbsp;statickou pamětí)</p> <p><br/>Porty režimu SRAM</p> <p>- in F8h ... vynulování adresy SRAMu (platí<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i pro režim RD a je-li ošetřeno<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hardwarově, nastavuje nultou<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; stránku u exemplářů s více než<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 64KB paměti)<br/>- in F9h ... čtení bajtu na aktuální adrese,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; adresa se zvětší o jednotku <br/>- out FAh .. zápis bajtu na aktuální adrese,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; adresa se zvětší o jednotku</p> <p>Porty režimu RD</p> <p>- out EBh .. registr dolní části adresy, horní<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; část adresy se posílá při istrukci<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OUT (C),A horní polovinou adresové<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sběrnice, př.:<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LD A, "dolní část adresy"<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LD B, "horní část adresy"<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LD C, EBh<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OUT (C),A<br/>- out EAh .. čtení/zápis bajtu na zvolené adrese,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i zde by měl fungovat "auto inkrement"<br/>- out E9h .. nevím, kdo jej zavedl, ale má přímo<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; strategický význam pro všechny ramdisky<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s více než 64KB paměti (reaguje naň<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LAMAČ CP/M), jeho 8 bitů dává možnost<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rozlišit až 256 stránek po 64KB, to<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; jest 16MB paměti), v případě mého<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ramdisku "Müller" jsou významné jen<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dva nejnižší bity:</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OUT E9=00h ... 0. stránka ramdisku<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OUT E9=01h ... 1. stránka ramdisku<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OUT E9=02h ... 2. stránka ramdisku<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 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/>&nbsp;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/>&nbsp;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/>&nbsp;SIMM 30pin s jedním, dvěma, třemi, čtyřmi<br/>&nbsp;moduly 256KB, 1MB, 4MB (základ vychází<br/>&nbsp;z Müllera)<br/>-nástin ramdisku 256KB, 1MB se statickými<br/>&nbsp;RAM 61512 DIP32 (ze starších PC)<br/>-nástin ramdisku se statickými RAM 512KB SMD<br/>&nbsp;až do 16MB<br/>-srovnání koncepcí, výhody/nevýhody,<br/>&nbsp;koexistence s HDD a RTC na jedné desce</p> <p>Už něvládzem, je 23:50</p> <p>Petr de Zviqov<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>