OldComp.cz
http://oldcomp.cz/

FD - emulácia
http://oldcomp.cz/viewtopic.php?f=136&t=2617
Stránka 12

Autor:  Milsa [ 27.04.2015, 19:21 ]
Předmět příspěvku:  FD - emulácia

V popise portov MZ-800 je napísané, že FD radič využíva 6 portov. Sťahujem rôzne PDF s radičom WD (1791, 279x, 2797) a všade sa uvádzajú len porty 00, 01, 10 a 11. Samozrejme vidím všade len 2 adresné vstupy, čiže porty sa dajú skutočne adresovať len 4.

Pokiaľ tomu správne rozumiem, tak:
- port 4 - zapnutie / vypnutie mechaniky - je len zapnutie motora určenej mechaniky 00h, 01h
- port 5 - príznak vybranej mechaniky - je číslo mechaniky od 00h do 03h a adresovanie samotného radiča (radičov WD279x musí byť toľko, koľko je mechaník, čiže 4)

Ešte sa mi podarilo objaviť informácie o ďalších portoch:
- port 6 - DD/HD - tomu celkom nerozumiem
- port 7 - IRQ - aký má význam, keď externý INT v FD nie je použitý?

Existuje nejaká bližšia dokumentácia k týmto 4 portom?

Autor:  Mikes21 [ 28.04.2015, 20:05 ]
Předmět příspěvku:  Re: FD - emulácia

Mozna by jsi mohl upresnit svuj dotaz. Je trochu rozdil radic FD a obvod (radic) WFx79x. Podle DS od WD radicu, se pouziva opravdu A0, A1 pro adresaci portu, ktere jsou uvnitr obbvodu. Ale deska radice FD pouziva casto jeste dalsi porty pro nektere funkce. To je prave treba Tebou zmineny DD/HD. Ten se pouzival pro prepinani mezi dvojitou a vysokou hustotou. Nebo registr pro vyber mechaniky FD. Teoreticky/prakticky mohl mit Sharp az ctyri. Obvod WD neresi vyber vice mechanik.
A pak to IRQ. Pokus me pamet neklame, tak skoro kazdy konstukter (a ze jich bylo) FD radice (desky radice) chtel pouzit IRQ, ale pak zjistil, ze je to temer nepouzitelne. Proc, to by byla jina diskuze. Proto to casto zustalo na schematu, ale v reale se to nepouzivalo. Je potreba si uvedomit, ze WD obvody nemaji nic spolecneho s periferiemi od Zilog. V rezimu IM1 (tusim) se to nestihalo a v rezimu IM2 to nemelo registr adresy. Mimochodem, Intel mel periferie v 'rodine'. Ale Zilog nema (nevzpominam si) obvod pro FD.
2'nd: pises emulaci obvodu WD nebo desky radice s obvodem WD? Koukni ve schematu desky na adresovy dekoder a mel by jsi tam videt, co je tam navic.

Autor:  suksoft [ 28.04.2015, 20:31 ]
Předmět příspěvku:  Re: FD - emulácia

Milsa asi vychazis z popisu portu z http://www.scav.cz/sharp_mz-800/sharp_m ... WD2793.htm
Dobre je se podivat na http://www.8bity.cz/files/Sharp/MZ_1E05_v121104_SCH.pdf. Zde je replika originalniho radice.

Co je dulezite a co maji vsechny radice spolecne je to ze ty prvni ctyri porty obsluhuje primo radic-cip. Pro dalsi uz potrebujes aby na desce byl nejaky d-latch.

port 0dch - zde je na bitu 7 roztoceni motoru. Na bitu 2 je potreba dat 1 aby bit0 a bit1 delal selekci jedne ze ctyr mechanik. Takze kdyz das na port 0dch nulu tak vypnes motor a soucasne nevyberes zadnou mechaniku. Pro roztoceni a vyber mechaniky A je potreba tam dat 1000 0100b.

port 0ddh - bit0 0-side0 1-side1 - proste prepinani strany radice

porty 0deh a 0dfh bych ted neresil. V originale 0dfh prepina mfm a fm kodovani. V mem reseni www.radeksuk.cz/sharp/RADIC144.TXT to funguje dle schematu. Urcite pro zacatek s tim nemusis ztracet cas.

Autor:  Milsa [ 28.04.2015, 20:38 ]
Předmět příspěvku:  Re: FD - emulácia

Ďakujem. Hádam sa niekam teraz odrazím.

Autor:  Milsa [ 28.04.2015, 21:23 ]
Předmět příspěvku:  Re: FD - emulácia

Mikes21 píše:
Mozna by jsi mohl upresnit svuj dotaz. Je trochu rozdil radic FD a obvod (radic) WFx79x. Podle DS od WD radicu, se pouziva opravdu A0, A1 pro adresaci portu, ktere jsou uvnitr obbvodu. Ale deska radice FD pouziva casto jeste dalsi porty pro nektere funkce. To je prave treba Tebou zmineny DD/HD. Ten se pouzival pro prepinani mezi dvojitou a vysokou hustotou. Nebo registr pro vyber mechaniky FD. Teoreticky/prakticky mohl mit Sharp az ctyri. Obvod WD neresi vyber vice mechanik.
A pak to IRQ. Pokus me pamet neklame, tak skoro kazdy konstukter (a ze jich bylo) FD radice (desky radice) chtel pouzit IRQ, ale pak zjistil, ze je to temer nepouzitelne. Proc, to by byla jina diskuze. Proto to casto zustalo na schematu, ale v reale se to nepouzivalo. Je potreba si uvedomit, ze WD obvody nemaji nic spolecneho s periferiemi od Zilog. V rezimu IM1 (tusim) se to nestihalo a v rezimu IM2 to nemelo registr adresy. Mimochodem, Intel mel periferie v 'rodine'. Ale Zilog nema (nevzpominam si) obvod pro FD.
2'nd: pises emulaci obvodu WD nebo desky radice s obvodem WD? Koukni ve schematu desky na adresovy dekoder a mel by jsi tam videt, co je tam navic.

Jedná sa o emuláciu Floppy disku pre MZ-800 emulátor.

Autor:  Mikes21 [ 29.04.2015, 11:07 ]
Předmět příspěvku:  Re: FD - emulácia

Milsa píše:
Jedná sa o emuláciu Floppy disku pre MZ-800 emulátor.

Jasne, to mela byt otazka pro Tebe (ten kdo pise emulaci), aby bylo zrejme na co se prave zameruje(s).
Jinak preji hodne zdaru se psanim. ;-)

Autor:  Milsa [ 16.05.2015, 20:43 ]
Předmět příspěvku:  Re: FD - emulácia

Tak konečne som sa trochu dostal k tomu, aby som začal študovať radiť FD a narazil som na nezrovnalosti:
V dokumentácii WD279x v PDF súbore (datasheet) je uvedené, že príkazy typu I začínajú 0 na 7. bite. V dokumentácii na scave (http://www.scav.cz/sharp_mz-800/sharp_m ... WD2793.htm) je ale presný opak. Ako tak pozerám, vyzerá, že je to celé znegované. Ako je to teda?

Autor:  suksoft [ 17.05.2015, 00:22 ]
Předmět příspěvku:  Re: FD - emulácia

Ahoj Milsa

Asi jsi si nevsimnul toho cerveneho textu na scav.cz. Ten rika ze vse je napsano invertovane.

Hezky prehled radicu je napr. na http://pdf.datasheetarchive.com/datashe ... 183630.pdf

Dulezita vec je vedet ze originalni radic je kompatibilni s WD2791 a ten ma invertovanou sbernici. Proto se museji prikazy davat invertovane. Klidne to muzes vypocitat jako v datasheetu ale pak je nutno provest napr. CPL a nasledne to poslat na radic.

Autor:  Milsa [ 07.06.2015, 19:24 ]
Předmět příspěvku:  Re: FD - emulácia

Zatiaľ ešte emuláciu FD nemám, len to potroche študujem. Narážam ale na určité nezrovnalosti. Na Martinovej schéme je adresa DCh, DDh a DEh. Tieto adresy sú mimo samotného FDC obvodu a mám pár otázok:
1. DCh (mechanika): Keďže mechanika sa vyberá mimo FDC obvodu, ako je to potom s faktom, že tento obvod zvládne len 4 mechaniky, keď on má len jeden register stopy, sektoru atď.? Teoreticky by mohol zvládať toľko mechaník, koľko sa dá zakódovať do adresy DCh. Je mi jasné, že to také jednoduché nebude, ale nerozumiem potom, že prečo len 4.
2. DDh (strana): V DSK súbore sa na strany nehráme. Tam je stôp povedzme 160, ak treba a zmenou registra stopy sa zrejme mení aj príslušná strana, ale už priamo v FDC, či nie? To znamená, že ja dám stopu 25 a samotná mechanika dá 12. stopu a 1. stranu (všetko okrem sektorov sa čísluje od nuly). Túto moju teóriu podporuje aj výstup SSO (Side Select Output). Na Martinovej schéme ho ale nevidím). Potom by ale táto adresa nemala význam pre zápis. Význam by mala len pre čítanie, ale keďže to ide na vstup klopných obvodov, čítať ju nie je možné. Jej význam mi teda nie je jasný.

Samozrejme, je mi jasné, že určité odlišnosti môžu vznikať aj preto, že Martin na replike nemá WD obvod, ale niečo iné. Aké sú potom rozdiely v zapojení pri WD obvode oproti tomuto? Možno by to pár mojich otázok vedelo vysvetliť.

Autor:  suksoft [ 07.06.2015, 22:14 ]
Předmět příspěvku:  Re: FD - emulácia

1) DCh - sw pro Sharpa pocita s obsluhou jen ctyr floppy disku. Samozrejme teoreticky pri zmene radice by jsi jich mohl mit i dvacet nebo 256.

2) DDh - SSO z radice se nepouziva. Stranu na realnem floppy disku nastavuje prave ten bit z tohoto portu - da se pouze zapisovat, neda se cist. Realna 3,5" mechanika ma 80 stop a proto bezna mechanika ma 160 logickych stop.

Autor:  Milsa [ 07.06.2015, 22:33 ]
Předmět příspěvku:  Re: FD - emulácia

suksoft píše:
2) DDh - SSO z radice se nepouziva. Stranu na realnem floppy disku nastavuje prave ten bit z tohoto portu - da se pouze zapisovat, neda se cist. Realna 3,5" mechanika ma 80 stop a proto bezna mechanika ma 160 logickych stop.

Ak tomu správne rozumiem, tak sa to nevyužíva práve kvôli kompatibilite s pôvodným radičom (replika od Martina).

Autor:  suksoft [ 07.06.2015, 23:33 ]
Předmět příspěvku:  Re: FD - emulácia

Presne tak. Datasheet je http://info-coach.fr/atari/documents/ge ... wd2797.pdf
Vlastne puvodni cip je kompatibilni s WD2791 a ten nema vyvod SSO. Proto nastaveni strany dela ten externi registr. Jinak, kdyz by jsi chtel pouzit WD2797 tak musis upravovat instrukce a proto je na radici eprom co nedela jen inverzi signalu ale soucasne i meni data (instrukce pro WD).

Autor:  Milsa [ 08.06.2015, 16:35 ]
Předmět příspěvku:  Re: FD - emulácia

Tak týmto si ma už domýlil. Inverzia mi je jasná. Čo všetko treba invertovať to ešte neviem, viem len že treba invertovať príkazy, stopy a sektory. Či treba aj dáta a prijaté statusy, to neviem. No ale pokiaľ viem, tak všade sa viacmenej používa WD, tak aká zmena inštrukcií? Veď, ak by boli inštrukcie inakšie, tak by nemohol WD fungovať s pôvodnou Sharp ROM. Navyše EPROM na radiči sa už pri MZ-800 nepoužíva, takže by tu bola ďalšia komplikácia.

Autor:  suksoft [ 08.06.2015, 23:25 ]
Předmět příspěvku:  Re: FD - emulácia

Mozna ti vice osvetli toto schema http://www.radeksuk.cz/sharp/fdc-overeno.jpg. Vyber strany a mechaniky je pripojeno primo na sbernici, takze se to neinvertuje. Ale vse co jde do WD cipu se invertuje. To proto, ze originalni cip mel inverzni sbernici treba jako WD2791. Kdyz se podivas na schema tak je videt ze vyber strany nedela WD a proto pri pouziti WD2797 se musi nektere instrukce co jdou do WD pozmenit aby to fungovalo. Proto se zamer na WD2791 a nemusis se trapit jake instrukce se meni. Dulezite je vedet ze v dobe okolo roku 1990 byl bezproblemove sehnatelny WD2797 a proto se tolik pouzival.

Autor:  Milsa [ 31.12.2015, 13:48 ]
Předmět příspěvku:  Re: FD - emulácia

Po dlhšom čase som sa opäť vrátil k písaniu emulácie FD, ale aj tak mi nie je celkom jasných pár vecí.

Aby som vedel, ktorého čipu mám robiť emuláciu, tak som si pozrel tabuľku v datasheete WD279x na strane 5. Potrebujem invertovanú zbernicu, takže 2791 laebo 2795 a nechcem SSO (Side Select Output), takže 2791. 2791 má nejakú internú deličku CLK. Ak tomu správne rozumiem, je to kompenzácia za chýbajúce SSO, čiže vydelí sa frekvencia odovzdaná krokovému motoru 2 a ja teda dostanem reálne číslo stopy na diskete. Čiže chcem stopu 25 (12. stopa, strana 1 (počítané od 0)) a dostanem sa na stopu 12. Samozrejme stranu musím ošetriť externe a teda cez samostatný port. To by ale znamenalo, že vo výsledku je jedno, či pošlem hlavu na stopu 24 alebo 25, vždy sa dostanem na tú istú a teda najlepšie je dávať párne číslo stopy, aby nedošlo k problémom pri následnom posune hlavy o nepárny počet stôp, čiže mám 25 a idem o ďalších 25 stôp ďalej. Mala by to byť 50. stopa, čiže 25. na diskete, ale kvôli deličke to bude 24., lebo kvôli deličke dojdem na 12. a odtiaľ sa tiež posuniem o 12.

Stránka 12 Všechny časy jsou v UTC + 1 hodina [ Letní čas ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/