Replika disketového řadiče Sharp MZ-1E05 pro MZ-700/800

Už v polovině léta jsem začal pracovat na replice originálního řadiče disketových mechanik pro Sharp MZ-700/800 s označením MZ-1E05. Podařilo se mi ho však zdárně dokončit, za vydatné pomoci kolegů Sharpistů, až teď před vánocemi. Po úspěšných replikách QuickDisku, RAMdisku a sériového interface, tak už máme i původní disketový řadič.

Sharp_MZ-1E05_original_front_web   Sharp_MZ-1E05_replica_front_web

Řadič všem, kromě mně Mrkající veselý obličej, fungoval na první zapojení. Moje chyba spočívala v tom, že jsem jaksi pozapomněl, že Sharp má první mechaniku ID0 a já připojoval klasickou PC mechaniku.

Ale popořádku. Prvním krokem bylo obstarání součástek. Na řadiči je totiž obsažen už poměrně raritní obvod MB8876A, který je kompatibilní s FD1791-02, ale nepotřebuje 12V napájení a vystačí si s 5V. Původně jsem myslel, že je plně kompatibilní a, až jsem měl řadič postavený, divil jsem se, že FD1791-02 mi nefunguje. Petr Švejk mně naštěstí nakopnul správným směrem. Po přidání 12V šlape v desce i původní FD1791B-02.

Sharp_MZ-1E05_replica_FD1791

Kromě řadiče MB8876A bylo potřeba sehnat ještě raritnější datový separátor HA16632AP. Oboje se mi podařilo obstarat z Číny, ale k HA16632AP nemám datasheet. Mám pouze zapojení vývodů a základní popis, tak kdyby někdo něco měl, budu rád. Ostatní součástky už byly relativně v pohodě, byť i takový 7416 je v našich končinách docela exot. Nicméně Číňani mají vše, takže byly 7416 i tranzistory 2SK168, 2SC641 nebo diody 1S1588. Součástkově replika jako vyšitá.

Horší to bylo se schématem a deskou. Schéma je částečně popsané v servisním manuálu, který se naštěstí zachoval. Zbytek bylo nutné rekonstruovat z originální desky, kterou ochotně zapůjčil Radek Suk. Díky!

MZ_1E05_v121104.sch

Schéma jsem kreslil současně s deskou. Práce to bylo zdlouhavá. Tam kde byla část schématu víceméně jasná to šlo skvěle i na desce, ale nejasné místa jsem často propípával a to i přesto, že v servisním manuálu je částečně vidět zapojení desky i pod IO.

Sharp_MZ-1E05_original_back_web   Sharp_MZ-1E05_replica_back_web

Desky přišly pár týdnů před vánocemi a první, kdo měl osazeno a funkční na první zapojení byl Petr Švejk. To trochu zklidnilo moji nervozitu, takže už jsem tak nespěchal. Petr přišel i na to, že se dá redukce z 37-pinového D-SUB konektoru na klasický 34-pinový floppy udělat poměrně snadno vhodný posunutím konektoru a nezapojení krajních vodičů. Elegantní.

Sharp_MZ-1E05_floppy_cable   Sharp_MZ-1E05_floppy_cable_FDC_connector

Bohužel tady jsem malinko narazil já. Když jsem desku osadil a zapojil, Sharp ji správně detekoval, ale mechanika nic. Až za docela dobu mi došlo, že PC mechanika nemá standardně ID0. Po přepojení mechaniky už vše šlapalo, jak má. Kupodivu nebylo nutné ani nijak ladit nastavení kapacitního ani odporových trimrů.

Nabootoval jsem originální Sharp (Digital Research) CP/M v1.0B i Lamačovu upravenou CP/M 1.4. Verze 4.1 mi už nešla, ale to je poměrně pochopitelné, protože podporuje HD řadiče a asi je zde nějaká nekompatibilita se starší řadičem. Detaily jsem zatím nezkoumal. Velmi zajímavá mi přišla originální Sharp CP/M, protože v ní nejsou žádné nestandardnosti a perfektně podporuje i přesměrování konzoly prostřednictvím karty sériového rozhraní MZ-1E24. Určitě si s touto CP/M ještě více pohraju.

Sharp_MZ-1E05_Sharp_CPM_10B_SCR   Sharp_MZ-1E05_CPM_terminal

Samozřejmě mi to nedalo a chtěl jsem trimry přesto, že řadič šlapal, nastavit přesně dle servisního manuálu. První překvapení mně čekalo u kapacitního trimru. Nejdřív nešla vůbec nastavit frekvence 4 MHz, musel jsem z desky vypájet původní kondenzátor 75 pF a nahradit ho 47 pF. Pak šlo 4 MHz nastavit, byť poměrně nahrubo. Přece jen, použitý kapacitní trimr umožňuje na půl otáčce změnu frekvence cca 3-4,5 MHz, takže se několik nul nastavuje dost špatně. Předepsaná tolerance ale je 0,05 MHz, což jde v pohodě.

Sharp_MZ-1E05_VCO_setting   Sharp_MZ-1E05_VCO_setting_measure

Později jsem stejně zjistil, že není nad staré dobré nastavení doprostřed mezi dvě mezní hodnoty, kde to šlape, protože při 4 MHz mi řadič dělá poměrně hodně chyby čtení. „Hodný“ je někde okolo 3,5 MHz. Tak nevím. Zkoušel jsem čtení na 3,5″ i 5,25″ mechanikách i HxC floppy emulátoru a vše se chová podobně.

Pro další dvě nastavení jsem potřeboval pulzní generátor 250 kHz a 100 kHz, který ovšem nemám. Radek suk si celkem chytře udělal jednoduchou děličku, kterou napojil přímo na hodiny na desce MZ-1E05. Já jsem si pomohl Arduinem, kde jsem čekací smyčky doladil NOPy a bylo za chvilinku hotovo.

Sharp_MZ-1E05_M1-M2_pulse_setting

Poměrně pěkně šel při pulzech 500 ns na 250 kHz nastavit 1 µs puls M1.

Sharp_MZ-1E05_M1_pulse_setting_measure

Horší to bylo při nastavování pulzu M2. Ten by měl mít šířku 5µs a nastavovat se při frekvenci 100 kHz. Jakýs takýs puls jsem dostal při frekvenci okolo 10 kHz a šířku měli spíše 50 µs. To mě přimělo podívat se na použitý kondenzátor a ejhle. Špatně jsem vyčetl hodnotu. Podle soupisky součástek v servisním manuálu jsem měl použít kondenzátor 510 pF a já použil 5100 pF. To je pak celkem logické, že mi vše vycházelo 10× delší. 510 pF jsem doma neměl, ale i 470 pF udělalo svoje a puls M2 šel poměrně hezky nastavit.

Sharp_MZ-1E05_M2_pulse_setting_measure

Ještě trošku zkusím popátrat, jak je to s tou frekvencí 4 MHz, ale bez datasheetu k HA16632AP nebo aspoň nějakých dalších zapojení s tímto obvodem to však nevidím jednoduše. Až na tuto „teoretickou“ moušku řadič šlape jako víno. Mám ještě jednu desku a tu už si osadím přímo bez „zbabělých“ patic, jako originál. Asi největší přínos vidím ve znovuobjevení originální Sharp CP/M, která mě velmi mile překvapila  a určitě bude stát za větší a bližší prozkoumání.

Příspěvek byl publikován v rubrice MZ-700, MZ-800, SHARP. Můžete si uložit jeho odkaz mezi své oblíbené záložky.

24 komentářů: Replika disketového řadiče Sharp MZ-1E05 pro MZ-700/800

  1. Mikes napsal:

    Řadič už mám taky a funkční ‚na první ťuk‘ a to jsem si s tím nastavováním taky moc hlavu nelámal. Jsem rád, že tenhle projekt vznikl a že jsem se mohl taky zúčastnit. V součinnosti s RamDiskem 64kB, QD, RS232 a SROMkou to je docela ‚brutální sestava‘. Všem příznivcům replik vřele doporučuji.
    A Martinovi (a nejen jemu) přeji mnoho zdaru do nového roku.

    Mikes

  2. Pingback: Sharp MZ-700: Letras coloridas que se transformam em jogos » Casa dos Nerds

  3. Emiliano napsal:

    Hi, very good job!
    I have a question to you. I have an original MZ-1E05 inside my MZ-800 but no Floppy Drive.
    What kind of floppy can connect to it? 3,5″ – 5,25″? Need special version?

    may thanks and best regards

    Emiliano

    • Martin napsal:

      Any 3.5″ 720kB or 5.25″ 360/720 kB floppy should work. Drive select must be set to 0, not to 1 as PC drives.

      • Emiliano napsal:

        thanks for your reply…. I will try to load lemmings.dsk connecting a bare 3,5″ 720k drive set as suggest.

        Regards

        Emiliano

      • Emiliano napsal:

        Sorry, again a question… exist an MZ800 software to load mzf image file from floppy?

        many thanks

        Emiliano

        • Martin napsal:

          It is not easy. You have to use some program to convert tape to floppy. There is a program called FD Copy, but you have to first save MZF to tape, as it needs to read from the tape first. You can of course convert the file format manually, but it is quite a lot of work. I do not know about any PC software to be able to do it. There is no much need for that for that because almost all of us use Unicard and so real floppy is only for vintage feeling.

          • Emiliano napsal:

            Hi, I’m success with add 3,5 and 5,25 FDD to my mz-800 and make some boot disk with boot-slave and some game on…

            I have a trouble with my MZ… if I load some game after a while it freeze! Or if I load CPM too. This happen more when I press a key. In other hand if I load Flappy i.e. it run the introduction with music for over one hour without freeze.

            Maybe a memory trouble? I cannot find any memory, hardware test for the MZ, can you tell me if exist or well where I can get it?

            best regards a Merry xmas…

            Emiliano

          • Martin napsal:

            It looks like some memory issue. You can try this test http://www.scav.cz/download/MZ-800/MZ-800_Software/COM/MZF/PROGS/800/Pomucky/Sharp_Test.mzf. So far I do not know of any other one. You can try to write some. I would start with removing/replacing extended VRAM, as this is easy.

  4. Emiliano napsal:

    Thanks for your suggest… I test the MZ800 with the software but it seem to be all ram ok! maybe a full recaps done the resolution?

    best regards

    Emiliano

    • Martin napsal:

      Hard to say. I am not sure how much are the RAM tests reliable. You can try to write your own tests. Before recap I would suggest to check the power with oscilloscope. I have never heard of anyone doing or needed to do recap on Sharp. The power suppply, however can do some troubles.

  5. Alexandros Z napsal:

    Hi!
    Do you know if this works on a SHARP MZ80B

    Thank you
    Alex

  6. Alexandros (a.k.a DAT-alex) napsal:

    according to some japanese site net infos I think the hard to find HA16632AP
    can be replaced by the following SED9420 , MB4107 or WD9216 .

    • Martin napsal:

      SED9420 is definitely different from HA16632. It is a data separator too, but with different pinout and a required circuit. And the same it is with MB4107 or WD9216.

  7. Michal M napsal:

    Ahoj vsem,
    asi jsem se zblaznil, ale chtel bych se pokusit o repliku MZ-1E05. Nemel by nekdo z vas schema/gerbery? Nebo dokonce desku?
    Predem dekuju a zdravim,
    Michal

  8. Patrick van de kerkhof napsal:

    Hi everyone,
    Ik search form a MZ 1E05 for a while but can,t tijd one.
    The double Sharp drives i have with Many 5.25 Sharp disks.
    Can i het the gerber files somewhere ?

    Greetz from Netherlands

  9. Alex napsal:

    Hi Martin
    I have both MZ-800 and a clone of MZ-700 that I built using the Brno GDG-1500 design. Both work great. I want to build a floppy interface using a better FDC, such as 37C65, which has VFO incorporated (no need for 16632) Did anybody try this?
    Also – it looks like the Monitor 9Z-504 M has all necessary routines for FDC – am I correct?
    Thanks. Alex

    • Martin napsal:

      37C65 is different controller based on NEC uPD765. There were some local attempts and controllers for MZ-800, but it required to rewrite ROM and CP/M BIOS. SHARP MZ-800 BIOS supports controllers based on FD1791-02. There were more modern controllers based on WD2797 or you can use WD1773, that has integrated data separator and much simpler circuit. I did a replica of FDC800 some time ago and few friends recently built it http://oldcomp.cz/viewtopic.php?f=133&t=5762. I can send you Gerber data if you want or can ask friend if he still has some PCBs.

  10. Tom napsal:

    hi Martin , could you send me the gerber etc file too ?

    Thanks in advance

    Tom

  11. Tom napsal:

    Martin , I think I accidentally deleted mail from you 🙁 it was in spam folder damn , Tom

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *