[SharpMZ] Ramdisky - snad jednou pro vzdy naposled

Michal Medek Michal.Bruntal na seznam.cz
Ptek Bezen 18 20:17:14 CET 2016


Ahoj,

super prehled. Akorat bych doplnil k ramdisku PEZIK:
- 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.
- PEZIKovi je celkem jedno (protoze neni zalohovany) jestli programy 
prehazuji horni a spodni byte adresy a tudiz jestli ukladaji data postupne 
nebo na preskacku.
- 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.
- 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.

Mikes


---------- Původní zpráva ----------
Od: Michal Hucik - ORDOZ <ordoz na ordoz.com>
Komu: Počítače SHARP MZ a jejich emulátory <sharpmz na mail.ordoz.com>
Datum: 18. 3. 2016 11:11:26
Předmět: [SharpMZ] Ramdisky - snad jednou pro vzdy naposled

"

Ahoj,

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.
Napr. jsem si nikdy nevsimnul, ze v zalohovanem ramdisku chybi v dekoderu 
adres 4. bit z adresni sbernice.

Pokusil jsem se tedy nejprve udelat syntezu vsech dostupnych informaci a z 
toho nasledne udelam nejake zasadni upravy v emulatoru.

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.

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.


/*
 * 
 * Jak to je s ramdisky
 * ====================
 * 
 * 
 * MZ-1R12 - SRAM ( http://www.sharpmz.org/mz-700/mz1r12.htm
(http://www.sharpmz.org/mz-700/mz1r12.htm) )
 * --------------
 *      
 *      Ma integrovanou zalohovaci baterii. Kapacita je 32 kB. Puvodne 
koncipovan pro MZ-700, 
 *      takze asi obsahuje i nejaky ROM driver? Je nekde k dispozici? Ten 
vsak v MZ-800 stejne neumime nacist...
 * 
 *          -w 0xf8 - nastaveni MSB
 *          r- 0xf8 - reset adresy
 * 
 *          -w 0xf9 - nastaveni LSB
 *          r- 0xf9 - cteni dat + increment adresy
 * 
 *          w- 0xfa - zapis dat + increment adresy
 * 
 *      Tento ramdisk je podporovan v MZ-800 ROM.
 * 
 * 
 *
  * MZ-1R18 ( http://www.sharpmz.org/download/man1r18.pdf
(http://www.sharpmz.org/download/man1r18.pdf) )
 * -------
 *  
 *      Oficialni 64 kB RAM disk.
 * 
 *          -w 0xeb - nastaveni adresy RD (MSB se vezme z horni casti 
adresni sbernice)
 *          rw 0xea - R/W data + increment adresy v RD
 * 
 *
  *
  * 
 * VCTM1 - Standardni zalohovany RAM disk ( 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)
)
 * --------------------------------------
 * 
 *      V Cesku zrejme nejrozsirenejsi zalohovany RAM disk, ktery se 
vyskytoval
 *      ve variante 64 kB, 256 kB a 1 MB.
 * 
 *      Jedna se o upravenou kombinaci MZ-1R12 a MZ-1R18, ke kterym je jeste
pridan strankovaci
 *      port 0xe9 pro prepinani bank.
 * 
 *      Kuriozitou u tohoto ramdisku je fakt, ze do dekoderu adres neni 
 *      pripojen 4. bit adresni sbernice a proto ramdisk reaguje i na jinych
portech, 
 *      nez jake mu byly oficialne prisouzeny - uvedeny v zavorce.
 * 
 * 
 *          rw 0xea - R/W data + increment adresy v RD
 *          rw 0xfa - R/W data + increment adresy v RD (SRAM kompatibilita 
pro zapis dat)
 * 
 *          -w 0xeb - nastaveni adresy RD (MSB se vezme z horni casti 
adresni sbernice)
 *          -w (0xeb)
 * 
 *          r- 0xf8 - reset adresy
 *          r- (0xe8)
 *
  *          r- 0xf9 - cteni dat + increment adresy
 *            (0xe9)
 * 
 *          -w 0xe9 - nastaveni banky 0x00 - 0x0f
 *          -w (0xf9) 
 *
  *
  * 
 * VCTM1 - 2nd edition
 * -------------------
 * 
 *      Novodoby ramdisk, ktery vychazi z VCTM1. Maximalni kapacita az 16 
MB.
 *      Jedna se o ruzne realizovane prototypy u kterych neexistuje blizsi 
specifikace.
 *      Vetsina techto ramdisku je postavena na CPLD, nebo v emulovane 
logice, tedy predpokladam, 
 *      ze v dekoderu adres je zaclenena cela adresni sbernice a rozsah 
portu bude tedy o neco mensi, nez u puvodniho VCTM1.
 * 
 *          rw 0xea - R/W data + increment adresy v RD
 *          -w 0xfa - zapis dat + increment adresy v RD
 *          r- 0xf9 - cteni dat + increment adresy v RD
 * 
 *          -w 0xeb - nastaveni adresy RD (MSB se vezme z horni casti 
adresni sbernice)
 * 
 *          r- 0xf8 - reset adresy
 * 
 *          -w 0xe9 - nastaveni banky 0x00 - 0xff
 *
  *
  * Standartni PEZIK: ( 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) )
 * -----------------
 *
  *        Pouziva porty 0xe8 - 0xef
 *
  *        Cislo portu vzdy urcuje banku se kterou pracujeme.
 *
  *              Obsahuje globalni interni MSB latch registr. Obsah MSB 
latch registru se zmeni vzdy
 *              po dokoncene operaci READ.
 * 
 *              Pri R/W operacich se pro adresovani v ramdisku pouzije ADDR 
= MSB_latch | MZ_ADDR_BUS_MSB
 * 
 *              Pokud probihal READ, tak po jeho dokonceni MSB_latch = MZ_
ADDR_BUS_MSB
 * 
 *              Tento ramdisk je podporovan v JSS ROM ve variante se 
surfixem "A".
 *              Existuje pro nej udajne i upraveny BASIC a cp/m.
 * 
 *              Hypoteticky existuje i zalohovana varianta tohoto ramdisku.
 *
  * 
 * Experimentalni PEZIK:
 * ---------------------
 * 
 *              Umisten na portech 0x68 - 0x6f
 *
  */
 

_______________________________________________
SharpMZ mailing list
SharpMZ na mail.ordoz.com
http://mail.ordoz.com/mailman/listinfo/sharpmz"
------------- dal st ---------------
HTML příloha byla odstraněna...
URL: http://mail.ordoz.com/pipermail/sharpmz/attachments/20160318/fede6d76/attachment.html 


Dal informace o konferenci SharpMZ