OldComp.cz

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

Zde me bt odkaz na vai retro prty

Právě je 04.12.2020, 04:22

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




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 834 ]  Přejít na stránku Předchozí  1 ... 52, 53, 54, 55, 56  Další
Autor Zpráva
 Předmět příspěvku: Re: Moderní klon D40/D80?
PříspěvekNapsal: 12.11.2020, 13:41 
Offline
Pan Štábní

Registrován: 01.12.2017, 21:01
Příspěvky: 1388
Bydliště: BA-Králikárne
Has thanked: 11 times
Been thanked: 189 times
Ako sa to správa keď sa jumperom vypne MDOS? Nemali +2A náhodou dva signály na vypnutie internej ROM?

_________________
Všetky mnou poskytnuté informácie sú voľne šíriteľné. Odporúčam ich zálohovať, servery zvyknú padať, informácie sa strácať..... a ľudia tiež. Až sa nadobro stratím, už bude neskoro sa pýtať.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Moderní klon D40/D80?
PříspěvekNapsal: 12.11.2020, 16:13 
Offline
Radil

Registrován: 21.10.2018, 08:27
Příspěvky: 292
Has thanked: 75 times
Been thanked: 48 times
Nevím jak +2A, ale šedá +2 s kazeťákem by snad měla být jako ZX+ 128k.


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

Registrován: 06.04.2020, 16:24
Příspěvky: 197
Bydliště: Opava
Has thanked: 26 times
Been thanked: 40 times
pwramp píše:
Citace:
Není však otestováno, hlásíš se?

Jasně!
Super! Poslal jsem ti soukromou zprávu. Aniž bych se o to snažil, zůstalo mi 128 bajtů volného místa. Náhoda? Nevěřím tomu! Pořadové číslo verze je 129 (ale správně mělo být 128, protože jsem před časem o jedničku omylem při SAVE přidal). :shock:


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Moderní klon D40/D80?
PříspěvekNapsal: 13.11.2020, 17:38 
Offline
Prvnička

Registrován: 14.10.2019, 11:03
Příspěvky: 15
Has thanked: 0 time
Been thanked: 13 times
Ahoj lidi. Díky omezením nejsem schopen nechat vypálit GALY a ROM u Bučka v Brně. V okolí nevím o nikom kdo by to dělal . Najde se nějaká dobrá duše v Čechách co by to udělala. Nechal sem si 3 plošáky D80mini , takže by to bylo 3x EEPROM a 6x GAL. Pěkně prosím , smutně koukám.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Moderní klon D40/D80?
PříspěvekNapsal: 13.11.2020, 19:05 
Offline
Pan Štábní

Registrován: 01.12.2017, 21:01
Příspěvky: 1388
Bydliště: BA-Králikárne
Has thanked: 11 times
Been thanked: 189 times
EEPROM naprogramuješ aj sám, na to nič netreba. Dáš LOAD"", a nahráš D80miniEWU napríklad z mobilu alebo MP3 prehrávača. Prekonvertovať TAP na MP3 môžem aj ja, pokiaľ je to problém.

_________________
Všetky mnou poskytnuté informácie sú voľne šíriteľné. Odporúčam ich zálohovať, servery zvyknú padať, informácie sa strácať..... a ľudia tiež. Až sa nadobro stratím, už bude neskoro sa pýtať.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Moderní klon D40/D80?
PříspěvekNapsal: 15.11.2020, 18:37 
Offline
Radil

Registrován: 26.05.2013, 14:18
Příspěvky: 547
Bydliště: Šalingrad
Has thanked: 70 times
Been thanked: 51 times
V Brně můžu pomoct ..


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

Registrován: 06.04.2020, 16:24
Příspěvky: 197
Bydliště: Opava
Has thanked: 26 times
Been thanked: 40 times
Podělím se s Vámi o další zajímavé zjištění ohledně čtení disket z MDOS1 na MDOSu 2.x
MDOS 2.x čte diskety MDOSu1 výrazně pomaleji a to i když jim natvrdo podstrčíme jako číslo strany hodnotou 2. Podle mého názoru to způsobuje právě index pulz. I ve skalici to věděli, protože MDOS 2 vybavili "natvrdo" 5ti pokusy načíst/uložit sektor. U MDOSu 1 bylo zvykem počet pokusů určovat v rutinách registrem E (ve všech komentovaných výpisech označeno jako počet opakování, toto je však špatně, nejde o opakování ale o celkový počet pokusů). V MDOSu 1 si byli dokonce tak jisti bezchybným provozem, že často dávají hodnotu 1, tj. jeden pokus. Na druhou stranu tento optimismus vůbec nevadí, protože pořád je možné vypsat chybové hlášení s možnosti P/R (retry) a tak celkový počet pokusů je dán vlastně jen vytrvalostí uživatele. MDOS 2.0 má však natvrdo nastaveno 5 (registr E si tedy nepřebírá, ale nastavuje si ho sám úplně na té nejspodnější rutině - #238B, kterou žádná aplikace nedokáže ovlivnit). 5 pokusů očividně stačí, aby MDOS1 disketa fungovala i tam.

Tímto příspěvkem chci jen říct, že je lepší mít diskety naformátované "standardním" způsobem a kochat se plnou rychlostí než trápit řadič neustálým opakováním operací :D


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

Registrován: 22.05.2013, 21:14
Příspěvky: 2865
Bydliště: Bratislava
Has thanked: 294 times
Been thanked: 538 times
MTs píše:
MDOS 2.x čte diskety MDOSu1 výrazně pomaleji a to i když jim natvrdo podstrčíme jako číslo strany hodnotou 2. Podle mého názoru to způsobuje právě index pulz.
Nemyslim. Hardware s novym intel radicom ma specialne index pulz upraveny, aby neblokoval citanie prveho sektora pri prilis malej a norme nevyhovujucej medzere medzi indexom a tymto prvym sektorom. Alebo mi nie je celkom jasne, co si myslel.
MTs píše:
I ve skalici to věděli, protože MDOS 2 vybavili "natvrdo" 5ti pokusy načíst/uložit sektor. U MDOSu 1 bylo zvykem počet pokusů určovat v rutinách registrem E (ve všech komentovaných výpisech označeno jako počet opakování, toto je však špatně, nejde o opakování ale o celkový počet pokusů). V MDOSu 1 si byli dokonce tak jisti bezchybným provozem, že často dávají hodnotu 1, tj. jeden pokus.
Pozri lepsie do specifikacie WD2797. Tento radic pri prijati prikazu na citanie znacky alebo sektora spusti citanie, a pri cakani na data si zaroven interne pocita index pulzy. Ak prejde presne 5 index pulzov, a citanie sa ani za tento cas nepodari, tak vyhlasi Record not found. Takze aj ked sa v MDOS1 vola citanie iba raz, v skutocnosti na urovni FDC radica dojde k piatim pokusom o citanie.


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

Registrován: 06.04.2020, 16:24
Příspěvky: 197
Bydliště: Opava
Has thanked: 26 times
Been thanked: 40 times
Busy píše:
MTs píše:
MDOS 2.x čte diskety MDOSu1 výrazně pomaleji a to i když jim natvrdo podstrčíme jako číslo strany hodnotou 2. Podle mého názoru to způsobuje právě index pulz.
Nemyslim. Hardware s novym intel radicom ma specialne index pulz upraveny, aby neblokoval citanie prveho sektora pri prilis malej a norme nevyhovujucej medzere medzi indexom a tymto prvym sektorom. Alebo mi nie je celkom jasne, co si myslel.
Tím HW myslíš novou d80mini anebo i kompakty s GM82c765b ze skalice? U toho kompaktu opravdu každá originální disketa od Proximy měla všechny I/O operace takové přibržděné. A že jsem jich měl opravdu dost, abych mohl vyloučit náhodnou chybu. Myslel jsem, že je to tím číslováním stran, ale musí tam být opravdu ještě něco jiného. Když ne ta mezera tak co?
Busy píše:
Pozri lepsie do specifikacie WD2797. Tento radic pri prijati prikazu na citanie znacky alebo sektora spusti citanie, a pri cakani na data si zaroven interne pocita index pulzy. Ak prejde presne 5 index pulzov, a citanie sa ani za tento cas nepodari, tak vyhlasi Record not found. Takze aj ked sa v MDOS1 vola citanie iba raz, v skutocnosti na urovni FDC radica dojde k piatim pokusom o citanie.
To jsem netušil, díky za objasnění. Máš můj THANX :like:


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

Registrován: 06.04.2020, 16:24
Příspěvky: 197
Bydliště: Opava
Has thanked: 26 times
Been thanked: 40 times
MTs píše:
MDOS 2.0 má však natvrdo nastaveno 5 (registr E si tedy nepřebírá, ale nastavuje si ho sám úplně na té nejspodnější rutině - #238B, kterou žádná aplikace nedokáže ovlivnit). 5 pokusů očividně stačí, aby MDOS1 disketa fungovala i tam.

Beru zpět, těch 5 opakování natvrdo je o tom co píše Busy (v MDOSu 2. se akorát dělá softwarově), kousek dál je i to standardní opakování, které si může určit programátor registrem E (#23B6). Funguje to tedy stejně (podobně) jako na MDOS1

edit: pwramp však při testování mdosu 2.2 (pravděpodobně omylem) udělal jedno formátování tak, že natvrdo zapnul MDOS1 emulaci strany, tj. že vždycky bude mdos 2.2 posílat řadiči stranu 1 jako hodnotu 2. Neuvědomil si však, že formátování MDOS 2.2 vždy dělá správně, tj. i se správnou hodnotou strany (tj. 1 je opravdu 1). Sice jsem to v pokecu napsal, ale asi to přehlédl. Každopádně výsledek je ten, že emulace se aktivovala až při verifikaci (čtení sektorů). Tím pádem se nepodařilo sektor nikdy přečíst (řadič tam dostává 2, ale formát před tím tam dal 1). Zajímavé je však to, jak dlouho ta verifikace trvá, na jedné stopě (tj. obě strany) minutu! To je +- 3 sekundy na jeden sektor (sektorů je 18 pro jednu stopu). Verifikace probíhá s jedním pokusem (E=1) a na nižší úrovni je těch pokusů 5 na jeden sektor jak jsem psal v minulém příspěvku. Jak je možné, že programu #2387 těch 5 pokusů tak dlouho trvá? Beru i to, že těch 5 pokusů sežere 5 celých otáček diskety, ale i tak se mi to zdá moc a smrdí mi to nějakou čekací smyčkou jinde (že by příkaz nešel odeslat a mdos tak dělal i reset řadiče?). :shrug: Já toto zpomalení znám ze svého kompaktu při těch originálních disketách od Proximy. Toto není náhoda. Rád bych tomu přišel na kloub.


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

Registrován: 06.04.2020, 16:24
Příspěvky: 197
Bydliště: Opava
Has thanked: 26 times
Been thanked: 40 times
Prosím řekněte mi, že to tak není! To "jp nz,ERR45" (chyba internal error). Program ji bude vyhazovat i když bude registr B na začátku (jde o FDD StatusRegistr0), hlavně jeho bity 7 a 6 v nule. To by znamenalo, že po každém načtení / zapsání sektoru, které proběhlo naprosto bez chyby se tam skáče. V tom případě nechápu jak MDOS 2.x může fungovat a načítat správná data. ERRR45 je program na výpis chyby. Možná díky jedinečné hvězdné konstalaci v době volání výpisu chyby (zásobník, zakázané přerušení, "jedinečnému" ready testu mechaniky) to nějak ustojí. To mi teda hlava nebere. Kdyby se ten CODERR volal jen po chybě, chápu, ale on se volá vždycky po dokončení I/O operace!

Kód:
CODERR   ld    a,b
                 and   0c0h      ;and %1100 0000 (lépe ale zahrnout i equipment bit tj. and %1101 0000)
                 rr   d
                rr   d      ;provádíme příkaz FORMAT?
                 jr   nc,CODER1 ;není formát, takže jde o read/write a skoč dále
                 set   7,c      ;jde o formát
                 jr   CODER2   ;vyhodnot ST1
CODER1   cp   040h      ;cp 64 = %0100 0000
              jp   nz,ERR45  ;vyhoď internal error
CODER2    ....


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

Registrován: 10.07.2014, 01:57
Příspěvky: 116
Has thanked: 9 times
Been thanked: 94 times
podla komentovaneho vypisu mdos20.lst (z doc/for_coders adresara balika mdos3) sa mi javi, ze CODERR sa vola len z rutiny DRWLOO, kam sa skace iba z DRWER0 pri CRC error (podla komentara). ale aj tak mi to cele pripada ako dead code lebo nevidim kedy sa skace na DRWER0 inak ako v slucke z DRWLOO (teda pokial je v tom vypise cela rom a nie su tam niektore casti nedisassemblovane alebo ak skok na rutinu nie je robeny nejako vypoctom adresy kam skocit, takze v kode nevidno priamo navestie).

EDIT: aha, tie "db 0" pred DRWLOO, to bude asi "zakomentovany kod", takze sa na DRWLOO da dostat tadial. ale predtym je nejaky komentar o "DMA", tak sa to tam mozno nestihne dostat a vykonavanie sa (pri uspesnom nacitavani) stihne odklonit?


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

Registrován: 22.05.2013, 21:14
Příspěvky: 2865
Bydliště: Bratislava
Has thanked: 294 times
Been thanked: 538 times
MTs píše:
Prosím řekněte mi, že to tak není! To "jp nz,ERR45" (chyba internal error). Program ji bude vyhazovat i když bude registr B na začátku (jde o FDD StatusRegistr0), hlavně jeho bity 7 a 6 v nule.
A mozu byt za normalnych okolnosti (uspesna operacia alebo nejaka bezna chyba CRC / NotFound) oba tie bity v nule ?

Castokrat pomoze si vedla seba dat vypisy oboch MDOSov (1.0 + 2.0) a porovnavat.
Rutnka CODERR sluzi na prevod statusu z WD36c65 na status WD2797 a podla tohto to vyzera, ze bity 7 a 6 ine ako 0 a 1 nacitane zo status registra ST0 znamenaju nejaku vaznejsiu chybu, nez len bezne chyby zapisu/citania a v takom pripade nie je mozne danu chybu reportovat status registrom povodne pouzivaneho WD2797.
Ale WD36c65 nepoznam, takze neviem toto posudit.


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

Registrován: 06.04.2020, 16:24
Příspěvky: 197
Bydliště: Opava
Has thanked: 26 times
Been thanked: 40 times
Význam jsem psal již tady http://oldcomp.cz/viewtopic.php?f=39&t=6733&start=780#p115453
pokud je v jedničce jen bit 6, mělo by se provést vyhodnocení chyby (CRC, secnotfound, write protect)
pokud je v jedničce i bit 7, měl by se vyhodit internal error
pokud je však bit 7 i 6 v nule, operace byla dokončena úspěšně a není třeba vyhodnocovat chybu.
Proto mě to zaráží. Když by se CODERR volal jen po chybě, pak je to naprosto v pořádku, ale on se volá vždy, takže to musí při bezchybných operacích skákat na ERR45.

Pokud je řadič zdravý a posílají se řadiči i správné parametry (což se posílají), tak mohou nastat jen tyto kombinace:
Kód:
7  6
0  0
0  1


Ještě nevím jak, ale domnívám se, že v tom volání err45 (které při volání pouze z toho coderr záhadně nic nevypíše) se program dostane na 25B6 a RETem se vrací za call CODERR. V reg A je nula, čili signál přenosu bez chyby, proto na chybu nikdy nikdo nenarazil. Internal error u zdravého řadiče nikdy nenastane (aby byl bit 7 v jedničce), čili dokonale zamaskovaná chyba. To přerušení tam bude hrát svou roli - viz. pořád má neznámá - to pomalé čtení MDOS1 disket o pár příspěvků výše...


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

Registrován: 06.04.2020, 16:24
Příspěvky: 197
Bydliště: Opava
Has thanked: 26 times
Been thanked: 40 times
Přepracoval jsem to (CODERR, od CODER2 je to už původní). Na vstupu je v B status registr 0 (ST0) a v C je status registr 1 (ST1). Originál MDOS 2 na výstupu vrací v registr A jen jinak uspořádaný ten ST1, A=% 0 c1 0 c0c2 c5 c4 0 0. Já to ponechávám, řadič stejné žádné další chyby nemá. Pouze na začátku testuji i ST0. Zahrnuju bit 7,6 a 4 (4 je EQUIPMENT/FAIL error). Pokud jsou všechny nulové, je předpoklad, že operace proběhla bez chyby ale pro jistotu nechám ještě ST1 vyhodnotit (měl by ale vždy vracet také nulu). Když je v ST0 hodnota 64 (tj. svítí pouze bit 6), tak jde o standardní "malou" chybu, kterou umíme vyhodnotit (write protect, sec not found, crc error). Není-li 64 (tj. svítí i bit 7 anebo 4) pak bude vyhozen Internal error (skok na CODER4, A=3). U formátování (reg. D = 2) by teoreticky neměla nastat jiná malá chyba než Write protected (skok na CODER3, který tu neuvádím).
Výstupem je registr A s kódem chyby, který je vyhodnocován ve vyšších rutinách v registru C (bread, bwrite)
Kód:
;vyhodnoceni ST0(b) a ST1(c)
         put  DROM+#241B
CODERR   set  7,c     ;příznak aby CODER2 nevrátil Internal error, ale ponechal v registru A zjištěnou nulu (= operace bez chyby). Ten bit 7 ST1 můžeme použít pro své účely, protože se stejně nevyhodnocuje
         ld   a,b
         and  %11010000
         jr   z,CODER2
         cp   64
         jr   nz,CODER4
         res  7,c       ;příznak aby CODER2 vyhodil internal error i kdyby na ST1 nenašel chybu (protože ST0 hlásil chybu na bitu 6)
         bit  1,d
         jp   nz,CODER3
CODER2   ld   a,c
         rrca
         rrca
         and  #0C
         ld   b,a
         ld   a,c
         rlca
         rlca
         or   c
         rlca
         rlca
         and  #10
         ld   e,a
         ld   a,c
         rrca
         rrca
         rrca
         and  #40
         or   e
         or   b
;A-ST1= 0 c1 0 c0c2 c5 c4 0 0
         ret  nz
         bit  7,c
         ret  nz
;signal Internal error
CODER4   ld   a,3
         ret 

Příloha:
GM82c765b-st.jpg
GM82c765b-st.jpg [ 355.21 KiB | Zobrazeno 131 krát ]

Pokud chce někdo otestovat, napište mi soukromou zprávu. Nechci zatím veřejně vystavovat, protože by to mohlo napáchat škody pokud jsem se někde seknul...


Naposledy upravil MTs dne 28.11.2020, 21:04, celkově upraveno 1

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ů: 834 ]  Přejít na stránku Předchozí  1 ... 52, 53, 54, 55, 56  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 3 návštevní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