<html><body>Ahoj,<br><br>super prehled. Akorat bych doplnil k ramdisku PEZIK:<br>- zalohovanou verzi vidim jako problem, protoze refresh je zavisly na CPU. Prvnich 7 bitu generuje Z80 a ramdisk dodelava jen 8. bit. Kdyby to melo zalohovat pri vypnutem pocitaci, tak by tam musel byt dodelany oscilator a citac refresh cyklu. To prave pozdeji pouzival zalohovany ramdisk. Jenze ten zase potreboval pameti s vnitrnim citacem. PEZIK si vystacil jen s temi 'obycejnymi' pametmi.<br>- PEZIKovi je celkem jedno (protoze neni zalohovany) jestli programy prehazuji horni a spodni byte adresy a tudiz jestli ukladaji data postupne nebo na preskacku.<br>- upravit EPROMku monitoru nebo temer jakykoliv BASIC na variantu ramdisku PEZIK je otazkou cca 10 minut. Sam jsem ho mel (PEZIKa) a BASIC jsem upravil tesne po startu, aby ho umel pouzivat. Nebylo pak potreba mit dve verze pro dva ruzne ramdisky.<br>- uprava CP/M pro PEZIKa nebyla tak jednoducha, protoze CP/Mko pouzivalo pro cteni/zapis automaticke inkrementace a tu PEZIK nema. Kdysi jsem pouzival tzv. JOSHIN CP/M, ktere se nahralo z kazety a po startu se nakopirovalo na ramdisk. Reset uz pak probehl automaticky z ramdisku - protoze byl zalohovany. Uprava pro PEZIKa tehdy nemela vyznam a byla zamitnuta.<br><br>Mikes<br><br><p>---------- Původní zpráva ----------<br>Od: Michal Hucik - ORDOZ &lt;ordoz@ordoz.com&gt;<br>Komu: Počítače SHARP MZ a jejich emulátory &lt;sharpmz@mail.ordoz.com&gt;<br>Datum: 18. 3. 2016 11:11:26<br>Předmět: [SharpMZ] Ramdisky - snad jednou pro vzdy naposled</p><br><blockquote><div style="background-color: #FFFFFF; color: #000000">
<br>
<font size="+1">Ahoj,<br>
<br>
povidal jsem si tendo tyden s Radkem o nejakych novych upravach v
mem emulatoru ohledne PEZIK a narazili jsme na to, ze vlastne
nevim jake jsou vlastne existujici podporovane varianty ruznych
ramdisku.<br>
Napr. jsem si nikdy nevsimnul, ze v zalohovanem ramdisku chybi v
dekoderu adres 4. bit z adresni sbernice.<br>
<br>
Pokusil jsem se tedy nejprve udelat syntezu vsech dostupnych
informaci a z toho nasledne udelam nejake zasadni upravy v
emulatoru.<br>
<br>
Tady je povidani, ktere jsem si k tomu doposud napsal. Podivejte
se prosim predevsim na VCTM1 (BTW: odkud ten nazev pochazi? videl
jsem jej ted od Radka poprve) - tento ramdisk bohuzel fyzicky
nemam a tak si nejsem jisty, zda jsem ho popsal uplne presne.<br>
<br>
Zustava otazkou, tak jsou na tom ROM disky. Predpokladam, ze
vsechny musi byt kompatibilni s MZ-1R12, nicmene po natazeni
vlastniho loaderu uz je nic nenuti v dodrzovani jakehokoliv
standardu.<br>
<br>
<br>
/*<br>
&nbsp;* <br>
&nbsp;* Jak to je s ramdisky<br>
&nbsp;* ====================<br>
&nbsp;* <br>
&nbsp;* <br>
&nbsp;* MZ-1R12 - SRAM ( <a href="http://www.sharpmz.org/mz-700/mz1r12.htm">http://www.sharpmz.org/mz-700/mz1r12.htm</a> )<br>
&nbsp;* --------------<br>
&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ma integrovanou zalohovaci baterii. Kapacita je 32 kB.
Puvodne koncipovan pro MZ-700, <br>
&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; takze asi obsahuje i nejaky ROM driver? Je nekde k
dispozici? Ten vsak v MZ-800 stejne neumime nacist...<br>
&nbsp;* <br>
&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -w 0xf8 - nastaveni MSB<br>
&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; r- 0xf8 - reset adresy<br>
&nbsp;* <br>
&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -w 0xf9 - nastaveni LSB<br>
&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; r- 0xf9 - cteni dat + increment adresy<br>
&nbsp;* <br>
&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; w- 0xfa - zapis dat + increment adresy<br>
&nbsp;* <br>
&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Tento ramdisk je podporovan v MZ-800 ROM.<br>
&nbsp;* <br>
&nbsp;* <br>
&nbsp;*<br>
&nbsp;* MZ-1R18 ( <a href="http://www.sharpmz.org/download/man1r18.pdf">http://www.sharpmz.org/download/man1r18.pdf</a> )<br>
&nbsp;* -------<br>
&nbsp;*&nbsp; <br>
&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Oficialni 64 kB RAM disk.<br>
&nbsp;* <br>
&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -w 0xeb - nastaveni adresy RD (MSB se vezme z horni
casti adresni sbernice)<br>
&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rw 0xea - R/W data + increment adresy v RD<br>
&nbsp;* <br>
&nbsp;*<br>
&nbsp;*<br>
&nbsp;* <br>
&nbsp;* VCTM1 - Standardni zalohovany RAM disk (
<a href="http://www.scav.cz/sharp_mz-800/sharp_mz-800_q_Popis_zalohovaneho_ramdisku.htm">http://www.scav.cz/sharp_mz-800/sharp_mz-800_q_Popis_zalohovaneho_ramdisku.htm</a>
)<br>
&nbsp;* --------------------------------------<br>
&nbsp;* <br>
&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; V Cesku zrejme nejrozsirenejsi zalohovany RAM disk, ktery
se vyskytoval<br>
&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ve variante 64 kB, 256 kB a 1 MB.<br>
&nbsp;* <br>
&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Jedna se o upravenou kombinaci MZ-1R12 a MZ-1R18, ke
kterym je jeste pridan strankovaci<br>
&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; port 0xe9 pro prepinani bank.<br>
&nbsp;* <br>
&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Kuriozitou u tohoto ramdisku je fakt, ze do dekoderu adres
neni <br>
&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pripojen 4. bit adresni sbernice a proto ramdisk reaguje i
na jinych portech, <br>
&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nez jake mu byly oficialne prisouzeny - uvedeny v zavorce.<br>
&nbsp;* <br>
&nbsp;* <br>
&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rw 0xea - R/W data + increment adresy v RD<br>
&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rw 0xfa - R/W data + increment adresy v RD (SRAM
kompatibilita pro zapis dat)<br>
&nbsp;* <br>
&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -w 0xeb - nastaveni adresy RD (MSB se vezme z horni
casti adresni sbernice)<br>
&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -w (0xeb)<br>
&nbsp;* <br>
&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; r- 0xf8 - reset adresy<br>
&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; r- (0xe8)<br>
&nbsp;*<br>
&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; r- 0xf9 - cteni dat + increment adresy<br>
&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (0xe9)<br>
&nbsp;* <br>
&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -w 0xe9 - nastaveni banky 0x00 - 0x0f<br>
&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -w (0xf9) <br>
&nbsp;*<br>
&nbsp;*<br>
&nbsp;* <br>
&nbsp;* VCTM1 - 2nd edition<br>
&nbsp;* -------------------<br>
&nbsp;* <br>
&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Novodoby ramdisk, ktery vychazi z VCTM1. Maximalni
kapacita az 16 MB.<br>
&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Jedna se o ruzne realizovane prototypy u kterych
neexistuje blizsi specifikace.<br>
&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Vetsina techto ramdisku je postavena na CPLD, nebo v
emulovane logice, tedy predpokladam, <br>
&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ze v dekoderu adres je zaclenena cela adresni sbernice a
rozsah portu bude tedy o neco mensi, nez u puvodniho VCTM1.<br>
&nbsp;* <br>
&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rw 0xea - R/W data + increment adresy v RD<br>
&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -w 0xfa - zapis dat + increment adresy v RD<br>
&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; r- 0xf9 - cteni dat + increment adresy v RD<br>
&nbsp;* <br>
&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -w 0xeb - nastaveni adresy RD (MSB se vezme z horni
casti adresni sbernice)<br>
&nbsp;* <br>
&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; r- 0xf8 - reset adresy<br>
&nbsp;* <br>
&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -w 0xe9 - nastaveni banky 0x00 - 0xff<br>
&nbsp;*<br>
&nbsp;*<br>
&nbsp;* Standartni PEZIK: (
<a href="http://www.scav.cz/sharp_mz-800/sharp_mz-800_p_Vyroba_ramdisku_Pezik.htm">http://www.scav.cz/sharp_mz-800/sharp_mz-800_p_Vyroba_ramdisku_Pezik.htm</a>
)<br>
&nbsp;* -----------------<br>
&nbsp;*<br>
&nbsp;*&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Pouziva porty 0xe8 - 0xef<br>
&nbsp;*<br>
&nbsp;*&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Cislo portu vzdy urcuje banku se kterou pracujeme.<br>
&nbsp;*<br>
&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Obsahuje globalni interni MSB latch registr. Obsah
MSB latch registru se zmeni vzdy<br>
&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; po dokoncene operaci READ.<br>
&nbsp;* <br>
&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Pri R/W operacich se pro adresovani v ramdisku
pouzije ADDR = MSB_latch | MZ_ADDR_BUS_MSB<br>
&nbsp;* <br>
&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Pokud probihal READ, tak po jeho dokonceni
MSB_latch = MZ_ADDR_BUS_MSB<br>
&nbsp;* <br>
&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Tento ramdisk je podporovan v JSS ROM ve variante
se surfixem "A".<br>
&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Existuje pro nej udajne i upraveny BASIC a cp/m.<br>
&nbsp;* <br>
&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Hypoteticky existuje i zalohovana varianta tohoto
ramdisku.<br>
&nbsp;*<br>
&nbsp;* <br>
&nbsp;* Experimentalni PEZIK:<br>
&nbsp;* ---------------------<br>
&nbsp;* <br>
&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Umisten na portech 0x68 - 0x6f<br>
&nbsp;*<br>
&nbsp;*/<br>
<br>
</font>
</div>_______________________________________________<br>SharpMZ mailing list<br>SharpMZ@mail.ordoz.com<br>http://mail.ordoz.com/mailman/listinfo/sharpmz</blockquote></body></html>