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
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
Zobrazit citovaný text
---------- Původní zpráva ----------
Od: Michal Hucik - ORDOZ <ordoz[doména skryta]>
Komu: Počítače SHARP MZ a jejich emulátory <sharpmzmail.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 )
* --------------
*
* 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 )
* -------
*
* 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 )
* --------------------------------------
*
* 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 )
* -----------------
*
* 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
SharpMZmail.ordoz.com
http://mail.ordoz.com/mailman/listinfo/sharpmz
Vlákno · 6 zpráv
- [SharpMZ] Ramdisky - snad jednou pro vzdy naposled
- Re: [SharpMZ] Ramdisky - snad jednou pro vzdy naposled
- Re: [SharpMZ] Ramdisky - snad jednou pro vzdy naposled
- Re: [SharpMZ] Ramdisky - snad jednou pro vzdy naposled
- Re: [SharpMZ] Ramdisky - snad jednou pro vzdy naposled
- Re: [SharpMZ] Ramdisky - snad jednou pro vzdy naposled