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

Zpět na zprávu

Celé vlákno · 6 zpráv

[SharpMZ] Ramdisky - snad jednou pro vzdy naposled

Michal Hucik - ORDOZ <ordoz@[doména skryta]> SHARP MZ-800


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
 *
 */

Re: [SharpMZ] Ramdisky - snad jednou pro vzdy naposled

" Michal Medek" <Michal.Bruntal@[doména skryta]> SHARP MZ-800

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

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

Re: [SharpMZ] Ramdisky - snad jednou pro vzdy naposled

Radek Suk <suk@[doména skryta]> SHARP MZ-800

Ahoj Michale

Co se tyce MZ-1R12 - SRAM tak obsah romky je na te strance 
http://www.sharpmz.org/mz-700/mz1r12.htm uplne dole vcetne zdrojoveho 
kodu. Take co vim, tak hrdy majitel tohoto ramdisku je Martin Lukasek. 
Jiste by ti pripadne vycetl romku.

Ohledne VCTM1 jsem naskenoval text ktery jsem dostal v Ostrave v roce 
1988 na velkem setkani Sharpistu. Pet souboru jsem ulozil na 
www.radeksuk.cz/sharp/vctm1/. Michale pouzivam nazev VCTM1, protoze 
poslednich 10 let se porad pouziva pojem zalohovany ramdisk pro ruzne 
veci a i muj RRD je zalohovany disk. Podobny problem je s v vyrazem 
Unikarta.

Jeste bych udelal jedno zarizeni a to nazval "rom disk". Ten by reagoval 
jen na F8-vynulovani a pak cteni 0f9h. Citac bych udelal 20 bitovy. 
Takovy romdisk  existoval - casto byl udelan z citacu rady cmos4000. Muj 
RRD disk jde takto prepnout jumperem.

Take bych mozna jeste dopsal kde bere ramdisk LSB cast adresy - vetsinou 
je to horni cast adresove sbernice, at to ten koho to zajima nemusi 
koukat do zdrojaku.

Jinak je lepsi to psat vse verejne. Mam zpetnou vazbu od ostatnich kluku 
a radi si pry prectou i mezistav diskuse. Takto pry prichazi o informace.

Radek


Re: [SharpMZ] Ramdisky - snad jednou pro vzdy naposled

Radek Suk <suk@[doména skryta]> SHARP MZ-800

Mikesi ja ten zalohovany Pezik nevidim zas tak nerealne. Do puvodniho zapojeni s dynamickymi pametmi to nema cenu delat. Tam by muselo byt docela dost IO pod napajenim a odebiralo by to dosti velky proud. Osobne bych to delal s CPLD a sram 512KB pameti a idealne
tam dat nejaky obvod na prepinani napajeni z PC a baterie CR2032. To ze Michal Hucik udela v emulatoru to ze se bude pamatovat obsah ramdisku i po vypnuti neni proti nicemu. Mozna by tam mohl udelat tlacitko (vymazani) co by ho dalo do vychoziho stavu (00,ff data).

Co se tyce obsluhy pameti tak by nebylo spatne se domluvit na jednom ovladani a to uprednostit. Ja jsem samozrejme za to co jsem napsal pro Basic a co jsem pouzil u sve cp/m. Je jasne ze uvnitr 64KB je jedno jak to bude zprehazene ale ten pristup nejdrive row a pak column je logictejsi.

Mozna by nebylo spatne rychle udelat Basic program co zkontroluje jaky je obsah pameti v ramce a v pripade ze je to originalni Basic tak prepise tu malou cast pomoci Poke na Pezik ovladani.

Radek

p.s. Kazdopadne mam radost ze nejsem sam kdo pouzival Pezika.


Dne 18.3.2016 v 20:17 Michal Medek napsal(a):
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


Re: [SharpMZ] Ramdisky - snad jednou pro vzdy naposled

" Michal Medek" <Michal.Bruntal@[doména skryta]> SHARP MZ-800

Ahoj Radku,

tech 'jenom' ROM disku uz prece vznikla cela rada. Na setkani oldcompu jste si je fotili, kvuli memu 'specialnimu' pajeni ;-). Na 8bitech je o tom cely clanek, taky v souvislosti se zavadecem programu, ktere muzou byt na ROM disku ulozene.

Mikes

Zobrazit citovaný text

---------- Původní zpráva ----------
Od: Radek Suk <suk[doména skryta]>
Komu: Počítače SHARP MZ a jejich emulátory <sharpmzmail.ordoz.com>
Datum: 20. 3. 2016 15:45:39
Předmět: Re: [SharpMZ] Ramdisky - snad jednou pro vzdy naposled


Ahoj Michale

Co se tyce MZ-1R12 - SRAM tak obsah romky je na te strance
http://www.sharpmz.org/mz-700/mz1r12.htm uplne dole vcetne zdrojoveho
kodu. Take co vim, tak hrdy majitel tohoto ramdisku je Martin Lukasek.
Jiste by ti pripadne vycetl romku.

Ohledne VCTM1 jsem naskenoval text ktery jsem dostal v Ostrave v roce
1988 na velkem setkani Sharpistu. Pet souboru jsem ulozil na
www.radeksuk.cz/sharp/vctm1/. Michale pouzivam nazev VCTM1, protoze
poslednich 10 let se porad pouziva pojem zalohovany ramdisk pro ruzne
veci a i muj RRD je zalohovany disk. Podobny problem je s v vyrazem
Unikarta.

Jeste bych udelal jedno zarizeni a to nazval "rom disk". Ten by reagoval
jen na F8-vynulovani a pak cteni 0f9h. Citac bych udelal 20 bitovy.
Takovy romdisk existoval - casto byl udelan z citacu rady cmos4000. Muj
RRD disk jde takto prepnout jumperem.

Take bych mozna jeste dopsal kde bere ramdisk LSB cast adresy - vetsinou
je to horni cast adresove sbernice, at to ten koho to zajima nemusi
koukat do zdrojaku.

Jinak je lepsi to psat vse verejne. Mam zpetnou vazbu od ostatnich kluku
a radi si pry prectou i mezistav diskuse. Takto pry prichazi o informace.

Radek


_______________________________________________
SharpMZ mailing list
SharpMZmail.ordoz.com
http://mail.ordoz.com/mailman/listinfo/sharpmz

Re: [SharpMZ] Ramdisky - snad jednou pro vzdy naposled

Radek Suk <suk@[doména skryta]> SHARP MZ-800

Mikesi a proc rovnou nedas odkazy?

Odkaz na akci kde byl viden romdisk ktery je postaven z CD4000 rady http://www.8bity.cz/2015/oldcomp-party-2015/#more-4857
a konktretni foto je: https://photos.google.com/share/AF1QipMmSneDCJUyZMrFehtWo6f0MQlecPQrRgc_cf0EQHyoZgmHg-jJBlBetHrH__ziRQ/photo/AF1QipOixNd0AT7HWB0R_2H7BYmadGTREDlmuhCzVupV?key=bjZ6QTNKY3RvNl9pYTFVSmRMb1lZdlRUcTNISEFB

Pak odkaz na bezny romdisk z AR. http://www.8bity.cz/2014/rom-disk-pro-sharp-mz-800/
Ten ale ma velke konstrukcni chyby. Je strasne dulezite pouzit ten puvodni tranzistor.

-----

Michale napadlo mne ze by jsi mohl napsat v jakem prostedi prekladas ten emulator a jak co clovek musi mit nainstalovane aby mohl uspesne udelat preklad do exe.

Take jsem premyslel a urcite by nebylo spatne kdyz by jsi pri otevreni emulatoru otevrel nejaky soubor treba printer.txt pro append a posilal by jsi tam vse co se posle na tiskarnu?

Radek


Dne 20.3.2016 v 20:33 Michal Medek napsal(a):
Ahoj Radku,

tech 'jenom' ROM disku uz prece vznikla cela rada. Na setkani oldcompu jste si je fotili, kvuli memu 'specialnimu' pajeni ;-). Na 8bitech je o tom cely clanek, taky v souvislosti se zavadecem programu, ktere muzou byt na ROM disku ulozene.

Mikes