OldComp.cz

Komunitní diskuzní fórum pro fanoušky historických počítačů


Právě je 28.03.2024, 20:47

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 167 ]  Přejít na stránku 1, 2, 3, 4, 5 ... 12  Další
Autor Zpráva
 Předmět příspěvku: Re: Moderní klon D40/D80?
PříspěvekNapsal: 15.10.2020, 12:50 
Offline
Kecálek

Registrován: 06.04.2020, 16:24
Příspěvky: 222
Bydliště: Opava
Has thanked: 31 times
Been thanked: 70 times
PotPalo píše:
Ešte to skúsiť na Kompakte s MDOS 2.0 a už vieme... Možno chyba MDOSu 2.0, ktorá sa úspešne preniesla aj do 2.1.

Ano, bude to ta stará "známá", na kterou jsem tenkrát zaboha nedokázal přijít. Ale jsem na stopě (viz dále) :)

PotPalo píše:
Rýchlosť SEEK na to nemá vplyv, skúsil som POKE #6,75 takže by sa mala zvoliť pomalšia metóda, ale chybu to neodstránilo.

Škoda. Na druhou stranu, čím zapeklitější chyba, tím větší radost z nalezení její příčiny... :)

PotPalo píše:
Napadlo ma: že by tam bol naozaj timeout pre návrat?

Také jsem nabýval stejného dojmu, ale není tam. Je tam poctivé čekání dokud se nezmění status registr s jasným výsledkem operace.

Kód:
178 - 2648: F5                 XSEEK   push   af
5179 - 2649: 3E 0F                 ld   a,15      ;prikaz SEEK
5180 - 264B: CD 41 27              call   ODCSEL
5181 - 264E: F1                    pop   af      ;A cislo stopy
5182 - 264F: CD 53 27              call   OFDD      ;odosli
5183 - 2652: 18 0A                 jr   SBUSY      ;ukoncenie HOME/SEEK
5184 -                         
5185 - 2654: CD 21 26           SHOME   call   SSPF      ;nastav pomale stepovanie
5186 -                         
5187 - 2657: 16 00              XHOME   ld   d,0      ;bez verify
5188 - 2659: 3E 07                 ld   a,7      ;prikaz HOME
5189 - 265B: CD 41 27              call   ODCSEL      ;odosli prikaz a cislo HLAVY
5190 -                         
5191 - 265E: CD BE 26           SBUSY   call   BUSY      ;pockaj na prijatie prikazu
5192 - 2661: CD A2 26              call   INTSTS      ;INT-status
5193 - 2664: 28 F8                 jr   z,SBUSY      ;Ak neprisiel cakaj
5194 - 2666: 47                    ld   b,a      ;odloz kod
5195 - 2667: E6 30                 and   30h      ;Konie SEEK
5196 - 2669: 28 F3                 jr   z,SBUSY      ;Ak nie cakaj
5197 -                             
5198 - 266B: 78                    ld   a,b
5199 - 266C: E6 10                 and   10h      ;EQUIPMENT ERROR?
5200 - 266E: C0                    ret   nz      ;Ak ano RET
5201 -                         
5202 - 266F: 7A                    ld   a,d
5203 - 2670: E6 04                 and   4      ;treba aj s verify?
5204 - 2672: 28 13                 jr   z,STR00    ;Ak nie...
5205 -                          ;
5206 -                          ; Test zhody fyz. cisla stopy z cislom na disku
5207 -                          ;
5208 - 2674: CD 69 24              call   RDID      ;citaj prve ID
5209 - 2677: 4F                    ld   c,a      ;odloz stopu
5210 -                         
5211 - 2678: 78                    ld   a,b      ;ST0
5212 - 2679: E6 C0                 and   0c0h
5213 - 267B: FE 40                 cp   40h      ;ukoncenie s ERR?
5214 - 267D: 3E 08                 ld   a,8      ;priznak CRC chyba
5215 - 267F: C8                    ret   z      ;Ak ano RET
5216 -                         
5217 - 2680: 79                    ld   a,c      ;TRACK nacitany
5218 - 2681: DD BE 04              cp   (ix+4)      ;zhoda z seek?
5219 - 2684: 3E 10                 ld   a,10h      ;priznak SEEK ERR
5220 - 2686: C0                    ret   nz      ;Ak nie RET
5221 -                          ;
5222 -                          ; Test ci TR00
5223 -                          ;
5224 - 2687: CD B6 26           STR00   call   RDSTDR
5225 - 268A: 0F                    rrca
5226 - 268B: 0F                    rrca
5227 - 268C: E6 04                 and   4      ;bit 4 urcuje TR00
5228 - 268E: C9                    ret


Příkaz HOME MDOS neprovádí s verifikací (čili neověřuje, že na té stopě nula skutečně je). To ale není pravá příčina problému. Podle mě při HOME z těch posledních dvou stop dojde k onomu tajemnému "EQUIPMENT ERROR". Nakoukl jsem totiž do starých datasheetů k řadičům. Přikládám je.
http://mts.speccy.cz/doc/mdos20-datasheet.zip

Equipment Check (EC)
If a fault signal is received from the FDD, or if the Track 0 signal fails to occur after 77 Step Pulses (Recalibrate Command) then this flag is set.

RECALIBRATE
This command causes the read/write head within the FDD to retract to the Track 0 position. The FDC clears the contents of the PCN counter, and checks the status of the Track 0 signal from the FDD. As long as the Track 0 signal is low, the Direction signal remains 1 (high) and Step Pulses are issued. When the track 0 signal goes high, he SE (SEEK END) flag in Status Register 0 is set to a 1 (high) and the command is terminated. If the Track 0 signal is still low after 77 Step Pulses have been issued, the FDC sets the SE (SEEK END) and EC (EQUIPMENT CHECK) flags of Status Register 0 to both 1s (highs), and terminates the command.

The ability to overlap RECALIBRATE Commands to multiple FDDs, and the loss of the READY signal, as described in the SEEK Command, also applies to the RECALIBRATE command.


Chápu-li to dobře, pak maximálně 77 stepů a když stále není na nule tak prostě errorek. Je-li toto skutečně ta příčina, pak je KOKOT ten, kdo ten řadič (resp. tuto podmínku) vymyslel.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Moderní klon D40/D80?
PříspěvekNapsal: 15.10.2020, 13:08 
Offline
Kecálek

Registrován: 06.04.2020, 16:24
Příspěvky: 222
Bydliště: Opava
Has thanked: 31 times
Been thanked: 70 times
pwramp píše:
MDOS2 v miniD80 + Didaktik Gama 89: po načtení dat do obrazovky následuje CAT a způsobí Sector not found. Po Retry vypise do CAT nesmyslna data, resp. prijde mi to jako vypis nulteho sektoru (protoze se MFC přiznal). Po RESETu CAT funguje normálně. Opět vyzkoušeno na 2x miniD80.

Edit: Dělá to jen na MDOS2.0. MDOS2.1 se chová tak, jak bylo popsáno výše, tedy po výpisu na obrazovku se CAT neprovede pro Seek error. Po Retry se zobrazí CAT normálně. Vždy jde o stejný kus miniD80, kde se jumperem volí systém.


Bod pro mne. :)
MDOS 2.0 neměl seekování ošetřeno správně (proto já mám správnou hlášku seek error a mdos 2.0 sector not found). Akorát už dneska nemohu ve svém kódu najít kde přesně jsem to vlastně opravil. :D


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Moderní klon D40/D80?
PříspěvekNapsal: 15.10.2020, 13:12 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3642
Bydliště: Bratislava
Has thanked: 371 times
Been thanked: 788 times
MTs píše:
Chápu-li to dobře, pak maximálně 77 stepů a když stále není na nule tak prostě errorek. Je-li toto skutečně ta příčina, pak je KOKOT ten, kdo ten řadič (resp. tuto podmínku) vymyslel.
Oooch, tak toto je na obesenie. Mna uz davnejsie napadlo, ze tomu radicu sa z nejakych dovodov nepodari do-HOME-ovat (do-RESTORE-ovat) na nultu stopu a potom to na tom skape :scratched:
Ale povedal som si, ze to musi byt uplna hovadina :slap: a to by uz musel byt koniec sveta aby toto bolo na pricine :bang:
A ak by tam uz nejaky timeout alebo step-out bol implementovany, tak aby nezvladol aspon tych 80 stop ? Vsak to je na sibenicu !!! :hang:

Pre zaujimavost, radic WD2797 pouzity pri MDOS 1.0 ziadne take prastenosti nerobi a ked dostane prikaz RESTORE, tak poctivo seekuje az pokym nenajde tu nultu stopu a chybu vyhlasi az ked sa mu nepodari najst nultu stopu po 255-stepoch. Tu je popis RESTORE z WD2797:
Příloha:
wd2797-restore.png
wd2797-restore.png [ 30.97 KiB | Zobrazeno 8779 krát ]


Naposledy upravil Busy dne 15.10.2020, 13:15, celkově upraveno 2

Nahoru
 Profil  
 
 Předmět příspěvku: Re: Moderní klon D40/D80?
PříspěvekNapsal: 15.10.2020, 13:27 
Offline
Kecálek

Registrován: 06.04.2020, 16:24
Příspěvky: 222
Bydliště: Opava
Has thanked: 31 times
Been thanked: 70 times
PotPalo píše:
Teraz sa mi nechce čítať datasheet, ale nedá sa radič nejakým príkazom nastaviť na viac ako 77 trackov? Inak pekná zákernosť. Stále nevieme, čo na to Didaktik Kompakt s MDOSom 2? Tam je to tiež, alebo mali nejaký cracknutý radič? Kompaktisti, kde ste teraz?

Jsme na na IDE/SD/CF médiích :-D
Nechce se mi ten kompakt vybalovat, ale totožná chyba bude na 100% i na něm. Já ji znal (byť trošku jinak). Zkrátka jsme neplnili diskety na 100% kapacity (stejně jde "jen" o nějakých necelých 20.000 bytes) a sector not found se nám tím pádem neobjevoval. Byli jsme rádi, že nemusíme laborovat s kazeťákem.

PotPalo píše:
Druhá možnosť je po príkaze HOME skontrolovať signál TR00 a keď nieje, tak HOME opakovať ešte raz. Alebo nahradiť HOME manuálnym posunom vzad o príslušný počet trackov, rovnako ako sa to robí pri resete. Tam si to pri tom aj počíta, a kontroluje TR00.

Pokud známe pravou příčinu bude už snadné ji ošetřit softwarově. Udělám novou verzi MDOSu 2.1, tzv. COVID edition :)


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Moderní klon D40/D80?
PříspěvekNapsal: 15.10.2020, 13:43 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3642
Bydliště: Bratislava
Has thanked: 371 times
Been thanked: 788 times
MTs píše:
Busy píše:
Pre zaujimavost, radic WD2797 pouzity pri MDOS 1.0 ziadne take prastenosti nerobi a ked dostane prikaz RESTORE, tak poctivo seekuje az pokym nenajde tu nultu stopu a chybu vyhlasi az ked sa mu nepodari najst nultu stopu po 255-stepoch.
2797 byl (je) skvělý řadič. V MDOSu 1.0 mi na něm vadil jen ten způsob načítání/ukládání dat - přes NMI.
Ale toto nie je problem radica, ale HW navrhu samotnej D40/D80, pretoze autori sa asi bali, ze by to klasicky softwerovy pooling nestihal. Ale my (ja, MDV...) sme vedeli, ze sa to stihat da a viackrat sme to uspesne vyuzili.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Moderní klon D40/D80?
PříspěvekNapsal: 15.10.2020, 13:48 
Offline
Pan Generální

Registrován: 01.12.2017, 21:01
Příspěvky: 2062
Bydliště: BA-Petržalka :(
Has thanked: 18 times
Been thanked: 323 times
MTs píše:
...Zkrátka jsme neplnili diskety na 100% kapacity (stejně jde "jen" o nějakých necelých 20.000 bytes) a sector not found se nám tím pádem neobjevoval.

Pri formáte 82x10 je to už 51 kB, teda jeden SNAPSHOT, a to už by som ako "jen" nenazval.


Pozerám do datasheetu... to RECALIBRATE by sa vôbec nemalo používať ako HOME, ale iba pri resete alebo chybe SEEK ERROR, a opakovať 2 krát. Inak by sa mala používať klasicky funkcia SEEK.
Navyše ono sa to hlási inak po úspešnom alebo neúspešnom RECALIBRATE, takže sa to dá ľahko ošetriť. Tiež sa dá SEEK aj RECALIBRATE vykonať naraz na dvoch mechanikách, čo by skrátilo test dvoch mechaník pri resete na polovicu.

_________________
Oznamy o novom príspevku mi na mail chodia iba sporadicky, takže keď sa nehlásim v diskusii, tak je to tým. V 80% nepríde mail vôbec.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Moderní klon D40/D80?
PříspěvekNapsal: 15.10.2020, 14:15 
Offline
Kecálek

Registrován: 06.04.2020, 16:24
Příspěvky: 222
Bydliště: Opava
Has thanked: 31 times
Been thanked: 70 times
PotPalo píše:
Pozerám do datasheetu... to RECALIBRATE by sa vôbec nemalo používať ako HOME, ale iba pri resete alebo chybe SEEK ERROR, a opakovať 2 krát. Inak by sa mala používať klasicky funkcia SEEK.


Ve Skalici asi datasheety moc nečetli. Taky je možné, že je ani neměli k dispozici. Internet nebyl.
Ale je mi záhadou, že jim taková chyba mohla uniknout při testech. Očividně netestovali čtení/zápis do plné kapacity. Anebo o tom věděli, ale nedokázali to opravit :-D To už se nedozvíme.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Moderní klon D40/D80?
PříspěvekNapsal: 15.10.2020, 16:10 
Offline
Radil
Uživatelský avatar

Registrován: 02.08.2015, 15:23
Příspěvky: 259
Bydliště: Skalica
Has thanked: 52 times
Been thanked: 141 times
Vysledok mojho testovania:
Gama192k a D80mini s MDOS2 da sector not found
Gama192k a D80mini s MDOS2.1 da seek error
Gama192k a divD80 s divIDE a MDOS3 tiez da seek error
KOMPAKT ver-2.3 s radicom 82C765B mam v nom MDOS2.1 da seek error s MDOS2 by to bol urcite sector not found
KOMPAKT ver-2.0 s radicom WD37C65C funguje korektne
Naozaj je problem v radici (GM82C765) :bang: :hang:

_________________
ZX Spectrum, ZX Spectrum +, DIDAKTIK GAMA, DIDAKTIK M, DIDAKTIK KOMPAKT, D40, D80, Interface M/P, MELODIK, UR-4, BEST, KP 311, BT100, SP210T, GAMACENTRUM 01 (cierna), ROBOTRON K6304, divIDE, K-Mouse, PMD 85-2, Amiga 500, Amiga 500+, Amiga 1200


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Moderní klon D40/D80?
PříspěvekNapsal: 15.10.2020, 16:21 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3642
Bydliště: Bratislava
Has thanked: 371 times
Been thanked: 788 times
Billy48 píše:
KOMPAKT ver-2.3 s radicom 82C765B mam v nom MDOS2.1 da seek error s MDOS2 by to bol urcite sector not found
KOMPAKT ver-2.0 s radicom WD37C65C funguje korektne
Naozaj je problem v radici (GM82C765) :bang: :hang:
Ano, pozeram datasheet toho WD37C65C a ten podobne ako WD2797 pri RESTORE (RECALIBRATE) pocita 255 stepov a az potom vyhlasi SEEK ERROR ze nultu stopu nenasiel.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Moderní klon D40/D80?
PříspěvekNapsal: 15.10.2020, 16:47 
Offline
Pan Generální

Registrován: 01.12.2017, 21:01
Příspěvky: 2062
Bydliště: BA-Petržalka :(
Has thanked: 18 times
Been thanked: 323 times
Zaujímavé je, že na jednom mieste datasheetu pre GM82C765B píšu 255 (pozri prílohu), na druhom zasa 77. Čiže to zrejme po 77 pulzoch nastaví jeden príznak (a skončí "wait"), a po 255 zasa iný.


Přílohy:
Schránka01.png
Schránka01.png [ 78.23 KiB | Zobrazeno 8740 krát ]

_________________
Oznamy o novom príspevku mi na mail chodia iba sporadicky, takže keď sa nehlásim v diskusii, tak je to tým. V 80% nepríde mail vôbec.
Nahoru
 Profil  
 
 Předmět příspěvku: Re: Moderní klon D40/D80?
PříspěvekNapsal: 15.10.2020, 17:10 
Offline
Kecálek

Registrován: 06.04.2020, 16:24
Příspěvky: 222
Bydliště: Opava
Has thanked: 31 times
Been thanked: 70 times
Billy48 píše:
Vysledok mojho testovania:
KOMPAKT ver-2.0 s radicom WD37C65C funguje korektne


No vida. Sweet tenkrát tedy nekecal když tvrdil, že na D80 s Mdos 2.0 se mu chyba neprojevuje. Asi měl zrovna ten WD řadič. To by i vysvětlovalo, že na to ve Skalici nepřišli. Nejprve osazovali určitě tím WD, když došel, dali jednoduše náhradu/alternativu, která však už nesla tuto nešťastnou HW fičuru (o které jistě ani nevěděli). Uživatelé to neřešili, prostě neukládali do plna a vše jim fungovalo. Já chybu popsal až v manuálu k MFC, ale věděl jsem o ní od prvních dnů po zakoupení nového Didaktiku Kompakt. Busyho jistě potěší, že za to zase mohl on :) Jak to? Protože on dělal ochranu ULTRASOFT disket a my tenkrát ještě věděli prd, tak jsme to kopírovali přes DISKcopy od Proximy (tj. sektor po sektoru). Na jedné mechanice. No a ten konec nám to nikdy nebralo (sector not found). Ale data tam stejně nebyla, takže nám kopie perfektně fungovala...


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Moderní klon D40/D80?
PříspěvekNapsal: 15.10.2020, 17:17 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3642
Bydliště: Bratislava
Has thanked: 371 times
Been thanked: 788 times
MTs píše:
Busyho jistě potěší, že za to zase mohl on :) Jak to? Protože on dělal ochranu ULTRASOFT disket a my tenkrát ještě věděli prd, tak jsme to kopírovali přes DISKcopy od Proximy (tj. sektor po sektoru). Na jedné mechanice. No a ten konec nám to nikdy nebralo (sector not found).
;) :) :D :lol:
PotPalo píše:
Zaujímavé je, že na jednom mieste datasheetu pre GM82C765B píšu 255 (pozri prílohu), na druhom zasa 77. Čiže to zrejme po 77 pulzoch nastaví jeden príznak (a skončí "wait"), a po 255 zasa iný.
Nebude tych 255 len tlacova chyba sposobena tym, ze niekto v Inteli prepisoval datasheet z WD36c65 systemom copy-paste a zabudol toto zmenit ?


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Moderní klon D40/D80?
PříspěvekNapsal: 15.10.2020, 17:49 
Offline
Pan Generální

Registrován: 01.12.2017, 21:01
Příspěvky: 2062
Bydliště: BA-Petržalka :(
Has thanked: 18 times
Been thanked: 323 times
Ja ti neviem, ale na viacerých miestach v tom datasheete, napríklad aj pri funkcii RECALIBRATE je hviezdička. Ale vysvetlenie k tej hviezdičke nikde nieje. Možno bola nejaká príloha k datasheetu, kde boli popisované rozdiely týchto funkcií, ktovie...

Ale určite to bol lacnejší obvod ako WD, tak vedenie v Skalici rozhodlo.

_________________
Oznamy o novom príspevku mi na mail chodia iba sporadicky, takže keď sa nehlásim v diskusii, tak je to tým. V 80% nepríde mail vôbec.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Moderní klon D40/D80?
PříspěvekNapsal: 15.10.2020, 18:29 
Offline
Kecálek

Registrován: 06.04.2020, 16:24
Příspěvky: 222
Bydliště: Opava
Has thanked: 31 times
Been thanked: 70 times
Za předpokladu, že EQUIPMENT ERROR může nastat jen u toho rekalibrování (HOME) a né u normálního seeku, tak by oprava mohla klidně vypadat i takto primitivně (změna 4 bajtů), platné pro 2.1 i 2.0:

Kód:
#266B   bit  4,b
             jr   nz,#2657 (XHOME)


původní kód je tam tento:
Kód:
 ld    a,b
 and #10
 ret  nz


Není to sice ideální, protože bude-li k EQUIPMENT ERROR docházet opakovaně, tak se to samozřejmě tímto zacyklí a dostaneme se pryč jen resetem celé mašiny. Ale já myslím, že ten error nastane pouze jednou a nejpozději druhý HOME ho napraví :)

Každpádně pro test, zda jsem opravdu trefil pravou příčinu problému, je to plně dostačující.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Moderní klon D40/D80?
PříspěvekNapsal: 15.10.2020, 19:08 
Offline
Pan Generální

Registrován: 01.12.2017, 21:01
Příspěvky: 2062
Bydliště: BA-Petržalka :(
Has thanked: 18 times
Been thanked: 323 times
A keby sa to XHOME volalo cez CALL, takže po ňom iba test 0K=pokračuje alebo FAIL=error?
Vlastne to by nešlo, samotná táto časť je súčasťou XHOME, to by sa nám zacyklilo.

Riešenie by bolo na 266B dopísať CALL xx (ret nz ostáva), ktorá by robila toto:
skontroluje EQUIPMENT ERROR, keď nieje: RET (s Z)
keď je, dať znova seek, a výsledok do Z/NZ

A ešte jednoduchšie riešenie je vymeniť radič za WD. :D (keby fungoval)

_________________
Oznamy o novom príspevku mi na mail chodia iba sporadicky, takže keď sa nehlásim v diskusii, tak je to tým. V 80% nepríde mail vôbec.


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 167 ]  Přejít na stránku 1, 2, 3, 4, 5 ... 12  Další

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 1 návštěvník


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz