OldComp.cz

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


Právě je 29.03.2024, 16:40

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 Předchozí  1 ... 3, 4, 5, 6, 7, 8, 9 ... 12  Další
Autor Zpráva
 Předmět příspěvku: Re: Moderní klon D40/D80?
PříspěvekNapsal: 26.10.2020, 17:58 
Offline
Radil

Registrován: 18.10.2014, 23:10
Příspěvky: 377
Has thanked: 28 times
Been thanked: 120 times
Busy píše:
Standartom je iba to ze adresy 0..511 zodpovedaju poslednym 512 bajtom MDOS ramky a snazime sa toto nejak rozsirit na zbytok tej 2kB ramky v MDOSe.
Ak niekto bude chciet mat plny PEEK/POKE pristup do celych 16kB, na toto by som pouzil iny znak nez #, tak ako si navrhoval vyssie.
Alebo ďalšia možnosť:
0..511 zostane zachovaná kompatibilita
a pridá sa adresovanie celej M-ROMky caz adresy zvýšené napr o 16384 alebo 65536.


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

Registrován: 18.10.2013, 15:30
Příspěvky: 263
Bydliště: Oakland, Slovakia
Has thanked: 25 times
Been thanked: 60 times
Ja by som sa na romku cez krizikove POKE/PEEK vykaslal.

Krizikove POKE je urcene vyhradne pre zapis do SRAMky aj to len na adresy 0 - 511, ktore su realne na konci SRAM. Rozsireny prikaz by teda mal zachovavat povodnu funkciu ale navyse by mal dokazat zapisovat do zvyska SRAM s tym ze adresa 512 by realne zodpovedala adrese 0 v SRAM, resp. 14336 absolutne (ked je pristrankovana D80-ROM v assembleri). Prave preto, ze pracujeme v basicu tak si toto mozeme dovolit a uzivatela nemusi az tak trapit na aku absolutnu adresu sa zapisuje. Skrátka pre príkaz POKE# platí, že prvých 512 bajtov sú systémove premenné D80ky a od 512 až 2047 je nejaká ďaľšia oblasť, ktorú môže dočasne použiť (kým nezavolá nejaký príkaz pre prácu s disketovou jednotkou).

Kto chce využívať absolútne adresovanie, resp. čítať DROM, nech si pristránkuje DROM a môže čarovať - a to sa najlepšie robí v assembleri. Oproti ZXROM nevidím dôvod mať prístupný obsah DROMky v basicu.

Prikaz PEEK# by mal kopirovat filozofiu príkazu POKE#, aj keď je to vlastne pridaný príkaz, ktorý v originálnom MDOSe neexistuje.

_________________
Didaktik Gama | ZX Spectrum 128 | ZX Diskface Quick A | BetaDisk 128C Interface | D40 & D80 | divIDE | Interface M/P | Multiface 128 (GOTDJ) | Gama Breaker | D80mini

"Kvalita a stabilita Windows XP se Microsoftu nevyplatila, stal se takovou temnou připomínkou toho, co se stane, když odvedete svou práci moc dobře."


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

Registrován: 01.12.2017, 21:01
Příspěvky: 2063
Bydliště: BA-Petržalka :(
Has thanked: 18 times
Been thanked: 323 times
Ja by som sa na to kompletne vykašlal. Ono sa aj tak používa maximálne POKE#97 a #98, a ešte #247. Načo by bolo dobré čítať z týchto adries, a na čo vlastne pristupovať programu v BASICu onú pamäť... Neplytvať miestom, a radšej vymyslieť niečo užitočnejšie.

_________________
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: 27.10.2020, 10:48 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3642
Bydliště: Bratislava
Has thanked: 372 times
Been thanked: 788 times
Antony/DTA píše:
... pridá sa adresovanie celej M-ROMky caz adresy zvýšené napr o 16384 alebo 65536.
Toto vobec nie je zly napad :)
Akurat s tym posunutim o 65535 by bol mozno trosku problem - jednak by si to vyzadovalo netrivialne upravy v obsluhe POKE# a dvak cisla nad 65535 su uz floating point takze nejake zaokruhlovacie chyby a pod. by teoreticky mohli sposobit ze sa adresa nestrafi presne tam kam chceme.
iwosh píše:
Prikaz PEEK# by mal kopirovat filozofiu príkazu POKE#, aj keď je to vlastne pridaný príkaz, ktorý v originálnom MDOSe neexistuje.
To je uplne samozrejme, ze POKE# a PEEK# by mali byt vzajomne adresovo kompatibilne, presne v duchu toho co uz napisal UB880D vyssie.
iwosh píše:
Kto chce využívať absolútne adresovanie, resp. čítať DROM, nech si pristránkuje DROM a môže čarovať - a to sa najlepšie robí v assembleri.
V tom pripade ale plati to co napisal PotPalo:
PotPalo píše:
Ja by som sa na to kompletne vykašlal.
Pretoze v tom asembleri sa da urobit vsetko co je nad ramec standartneho POKE#.
Nasim cielom je ale poskytnut moznost plneho pristupu do MDOS ramky, popr. aj do celej MDOS romky (ak by ju niekto mal v ramke) priamo z basicu bez nutnosti na to pisat nejaky strojak.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Moderní klon D40/D80?
PříspěvekNapsal: 27.10.2020, 20:38 
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
MDOS 2.2 (124) BETA
Používejte jen na testovacích disketách. Není to detailně zkontrolováno, a tak by Vám to možná mohlo i poškodit data (i když je to málo pravděpodobné :) Dávám sem jen pro otestování toho seek /equipment erroru a pro otestovaní čtení/zápisu dat (zohlednil jsem totiž v chybách bity 4,6,7 registru ST0 řadiče).

Chybí mi tam dodělat: PEEK# a devastaci
Když něco v ROMce upravíte, vyhodí to CRC chybu a kousne se. Ovšem pokud stisknete SPACE (mezerník), tak reset normálně doběhne a MDOS je plnohodnotně inicializován.

Není určeno pro kompakty a D80! (vyhodil jsem úplně outy s 8255 i ukládání "rst 0" na adresu #0066). Ale na druhou stranu bez snapu a 8255 to tam fungovat bude...


Přílohy:
mdos22-124.zip [9.92 KiB]
344 krát
Nahoru
 Profil  
 
 Předmět příspěvku: Re: Moderní klon D40/D80?
PříspěvekNapsal: 29.10.2020, 18:48 
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
iwosh píše:
MTs: spravíš tam aj úpravu aby sa po resete nerobil ten seek, keďže je potrebný (ako popisoval Busy) len pre formátovanie. Možno by potom bolo dobré pred seekom vyzvať užívateľa aby nemal počas seeku v mechanike disketu, ktorú nechce formátovať.

Moc tvému dotazu nerozumím. Seek při resetu se provádí, aby mdos určil počet stop mechaniky (80 vs. 40), příp. jestli tam vůbec nějaká mechanika je. Busy psal o rychlosti krokování, anebo je to jinde a přehlédl jsem to...

Mdos 2 co jsem vyčetl ze zdrojáku pracuje s 6ms (u 40 stopých mechanik) nebo 4ms (u 80 stopých). Jiný step nezná. Systémové proměnné, které jsou ohledně krokování v parametrech diskety/mechaniky podle mě vůbec nepoužívá.

Nakouknul jsem i do Mdos1. U něj je zajímavé, že rychlost krokování vůbec neřeší. Sice si údaje ze systémových proměnných vyzvedává i je posílá řadiči, ale oba ty bity jsou po resetu vždy nastaveny jak u 80 tak u 40 stop na nulu. Kvaksoft ve svém díle uvádí tuto tabulku:
Příloha:
Screenshot_2020-10-29-19-15-44-654.jpeg
Screenshot_2020-10-29-19-15-44-654.jpeg [ 79.39 KiB | Zobrazeno 6179 krát ]


Naposledy upravil MTs dne 29.10.2020, 20:21, celkově upraveno 1

Nahoru
 Profil  
 
 Předmět příspěvku: Re: Moderní klon D40/D80?
PříspěvekNapsal: 29.10.2020, 20:41 
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
iwosh píše:
No ved prave, ze MDOS po zapnuti nepotrebuje vediet kolkostopova mechanika je pripojena, kedze toto sa dozvie z bootsektora diskety. Pocet stop je potrebny iba pri formatovani. Sorry, nie je to v tomto topicu ale viem, ze som to niekde cital
https://oldcomp.cz/viewtopic.php?f=39&t=8337#p104088
Ale asi sa to tykalo MDOSu 1.0

Ano, mdos 2 narozdíl od mdos 1 vysílá na stopu 46, takže je to asi bezpečnější pro 40ti stopou mechaniku, ale i tak to bude dělat kravál. Busy má pravdu, že počet stop se nemusí řešit, je opravdu důležitý jen pro formátování. Basic bohužel neumožňuje v příkazu FORMAT počet stop nastavit (ano, poke# by to řešilo...). MFC a jiné programy uživateli nabídne zadat si počet stop, tak tam je to v pohodě. Určitě bych tedy uměl MDOS vylepšit. Jen mi teď vrtá hlavou ta rychlost krokování. Proč to mdos 2 řeší a jednička ne. Busy help please...


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

Registrován: 22.05.2013, 21:14
Příspěvky: 3642
Bydliště: Bratislava
Has thanked: 372 times
Been thanked: 788 times
MTs píše:
Jen mi teď vrtá hlavou ta rychlost krokování. Proč to mdos 2 řeší a jednička ne. Busy help please...
Pretoze MDOS 1.0 pouziva WD2797 taktovany na 1 MHz, a teda najrychlejsi krok je 6 ms -vid tu Kvaksoftovu tabulku. MDOS 1.0 teda vzdy, bez ohladu na pocet stop, krokuje 6 ms, co je rychlost ktoru v pohode zvladaju 40 aj 80 stope mechaniky.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Moderní klon D40/D80?
PříspěvekNapsal: 30.10.2020, 19:49 
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
Jaký máte názor na emulaci 16mi 5,25" mechaniky na 8mi 5,25" mechanice v MDOSu? Tato emulace seekuje místo po jedné stopě po dvou (myslí si, že dvě jsou jedna). Toto je správně, ale způsobuje to problémy, protože tato emulace se zapne pokaždé když strčíte disketu, která má v bootu uveden poloviční počet stop než je definováno v systémových proměnných mechaniky MDOSu. A tam může být jen 80 anebo 40 (no nebo ještě 94 na mdos3). Takže problém budete mít na 20 stop naformátované disketě na 40ti stopé mechanice a na 40 stop naformátované disketě na 80 ti stopé mechanice. Uživatelé toto věděli (o chybě bylo napsáno mnoho) a tak poloviční formát nepoužívali. Ta emulace má smysl jen pro 5.25". U 3.5" nic takového není a nemělo by se dělat.
1. Jenže jak má MDOS automaticky (tj. bez zásahu uživatele) poznat, že toto je 5,25" s 8mi technologií?
2. Byla technologie 8mi (milipalců, šířka hlavy/čtení/zápisu) jen u 80ti stopých 5,25" mechanik?

V MFC jsem použil tento test
Kód:
         ld   a,počet stop z BOOTu diskety
         add  a,(ix+6)  ;zde je jen 40 nebo 80 jak nastaví MDOS při resetu
         cp   80+40
         jr   z, zapni emulaci


což bude fungovat pouze pro 40ti stopou disketu v 80ti stopé mechanice. 20ti stopá disketa v 40ti stopé mechanice tedy již bude fungovat normálně. Test je stejně nedokonalý. Můžu mít 5,25" disketu naformátovanou na 39 a méně stop a budu chtít využít emulaci MDOSu a přečíst ji na 80ti stopé mechanice...

Za mě by bylo nejlepší "automatické" testy vypustit a emulaci nechť si zapne sám uživatel vhodným POKE# do parametrů mechanik (nastaví na jedna jen bit 5 na ix+5). Toto poke by samozřejmě musel udělat po každém resetu, resp když by chtěl seekovat po dvou (emulovat 16mi).

Podle mě ale tuto emulaci asi nikdo nikdy nevyužil, protože stejně to umí jen číst a zapisovat MDOS neumí (vyhodí Bad device type).


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Moderní klon D40/D80?
PříspěvekNapsal: 31.10.2020, 16:43 
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
MTs píše:
Narazil jsem ještě na jednu zajímavost. MDOS podle mě dostatečně netestuje Status registr 0. Konkrétně u toho seeku si testuje jen bit 6 na nulu.
Správně by měl testovat i bit 7 (což očividně asi programátor věděl, protože je tam AND 192), protože možnosti jsou tyto:

D7=0 and D6=0; Normal Termination of Command (NT), Command was completed and properly executed.
D7=0 and D6=1; Abnormal Termination of Command (AT), Execution of Command was started, but was not successfully completed.
D7=1 and D6=0; Invalid Command issued (IC), Command which was issued was never started.
D7=1 and D6=1; Abnormal Termination because during command execution the ready signal from the FDD changed state.

Je ale pravda, že ta třetí možnost je vysoce nepravděpodobná, protože command (jeho kód) dává MDOS řadiči správný. Takže tato možnost teoreticky nemůže nastat...

Koukal jsem jak to mám ve svých úpravách pro podporu čtení špatně naformátované strany MDOSu1 já a já tam také status register 0 samozřejmě testuju, ovšem bez AND (je stejně zbytečný), pouze formou CP 64, JR NC, error. Toto si myslím je lepší, proto bych doporučil upravit adresu #267F na RET NC.

+ možná by stálo za to při operacích testovat i ten bit 4 (ten Equipment Check), protože kromě toho rekalibračního erroru77 značí také "If a fault signal is received from the FDD" což také může teoreticky nastat při jakékoliv operaci. Jistota je jistota.

Jak to mají ostatní příkazy (read sector, write sector, format...) jsem zatím v MDOSu nekontroloval...

Ještě se vrátím a několik stran dozadu k tomuto mému příspěvku. MDOS 2 má vyhodnocení operace na dvou místech.
1. při read/write/format:
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    ....


Zde si prosím všimněte, že z ST0 si ponechává jen bity 6 a 7 (equipment/fail bit 4 neřeší). u CODER1 jej testuje na hodnotu 64 (čili bit 6). Pokud tam 64 není, vyhazuje internal error. To znamená, že pokud je "D7=0 D6=0", anebo "D7=0 D6=1" pokračuje na CODER2 a když je "D7=1 D6=0" nebo "D7=1 D6=1" hází Internal error. Čili pokrývá všechny možnosti bitu D7 a D6 ST0 a tak je to i správně. Samozřejmě nejlepší by bylo zahrnout i Equipment/fail error, tj. upravit ten první AND na %11010000 což by zajistilo, že internal error vyběhne také v případě výskytu této chyby...


2. při seeku:
Kód:
5178 - 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


Tady se v tom autor už zamotal - 2674 call RDID. Ideálně by po jeho zavolání mělo být otestováno, že IDčko se nepovedlo načíst (tj. NZ), ale není to nutné, protože se dále testuje rovnou výsledek Status registrů. Ovšem špatně. Použil podobnou fintu jako u CODERR, tj. AND #c0, CP #40, jenže už neřeší chyby "D7=1 D6=0" a "D7=1 D6=1", tyto chyby (stejně jako equipment/fail) projdou tiše dále a při troše stěstí/smůly uživatele/hardwaru teoreticky projdou i testem na #2680, protože se hned po call RDID neřešilo NZ a něco tam načteno je.

V té betaverzi MDOS 2.2 jsem to u XSEEKU opravil. Místo AND #c0, CP #40, LD a,8, RET Z tam mám
AND %1101 0000
NOP
NOP
LD a,8
RET NZ

A ten CODERR ještě do finální verze také raději opravím na ten and %11010000.

Jistota je jistota!


Naposledy upravil MTs dne 31.10.2020, 19:06, celkově upraveno 1

Nahoru
 Profil  
 
 Předmět příspěvku: Re: Moderní klon D40/D80?
PříspěvekNapsal: 01.11.2020, 15:03 
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
MTs píše:
A ještě mě udivuje proč po operaci FORMAT TRACK se registr ST0 nevyhodnocuje vůbec. Ano, sice úplně na konci formátování probíhá verify, tj. přečtení všech sektorů, ale proč netestovat i úspěšnost formátu stopy? V krajním případě vůbec nemusí k formátování (aniž by to uživatel zjistil) dojít a jelikož byla disketa už někdy formátová, tak i verify může úspěšně projít... :shock:

Odpovím si sám sobě. Jediné rozumné co mne napadlo je spořivost/využitelnost i nakopnutých disket (což v době, kdy jich byl nedostatek nebo byly drahé, je pochopitelné). Pokud by se totiž chyby hlásily, pak by byla celá disketa na prd (protože k dokončení formátování nikdy nedojde). Tím, že se chyby netestují, spoléhá se, že verify takto vadnou stopu odhalí a sektory označí jako vadné. Je to však určitý risk, protože verify může označit jen některé sektory z oné error stopy, lépe by bylo určitě označit za vadné všechny sektory z dané stopy.
Asi to nějak v MDOSu 2.2 zohledním. Uživatel by mohl mít na výběr zda error ignorovat anebo formátování kompletně přerušit.


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

Registrován: 22.05.2013, 21:14
Příspěvky: 3642
Bydliště: Bratislava
Has thanked: 372 times
Been thanked: 788 times
MTs píše:
1. Jenže jak má MDOS automaticky (tj. bez zásahu uživatele) poznat, že toto je 5,25" s 8mi technologií?
Zial, nijak.
MTs píše:
2. Byla technologie 8mi (milipalců, šířka hlavy/čtení/zápisu) jen u 80ti stopých 5,25" mechanik?
Urcite ano. 40 stopove mechaniky musia mat 16mi pretoze pri 8mi by vyuzili iba polovicu diskety a toto by nikto nerobil.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Moderní klon D40/D80?
PříspěvekNapsal: 03.11.2020, 22:46 
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:
Namiesto tých blbiniek mám seriózny nápad na zlepšenie:
Lepšia kompatibilita s disketami formátovanými pod MDOS1. A síce, to čo je teraz, že keď nesedí číslo strany, tak sa zmení na "MDOS1 kompatible", ale iba do konca práce s disketou, tak by som to rozšíril aby si to pamätalo aj po skončení práce. A zrušilo by sa to až sa zistí číslovanie podľa MDOS2. A pre každú mechaniku zvlášť. Takže keď dám disketu z MDOS1 do A:, nastaví sa číslovanie strán podľa MDOS1 pre A: a bude sa používať až pokiaľ sa v mechanike A: nevyskytne disketa s číslovaním podľa MDOS2. Takže bude rýchla. Jediné spomalenie by teda bolo vždy iba pri zmene diskety z iného MDOSu, a aj to iba jeden krát počas prvého načítania directory. A keďže by to bolo pre každú mechaniku zvlášť, mohol by som v jednej mať diskety z MDOS2 a v druhej MDOS1, a obe by išli plnou rýchlosťou.

A mám rýchlu otázku: ukládání "rst 0" na adresu #0066 pre Kompakt. To funguje iba keď je nastránkovaná MDOS ROM alebo všeobecne? Keď dám na Kompakte POKE 102,201 vyradí to SNAP?


Ta adresa #0066 je zapisovatelná jen v drom. Jde o to, že po snapu se hned přistránkuje drom a je provedena ta instrukce. Když tam uložíš jinou (jednobajtovou) tak se samozřejmě provede :-) To tlačítko snap (CS + šipka vlevo + šipka vpravo) ale funguje jen pokud je aktivní normální zx rom.

S tím číslováním to není zlý nápad. Promyslím si to. Mám to samozřejmě v proměnných u jednotlivých mechanik, takže není problém mít to jinak u A a jinak u B a držet to klidně až do resetu mašiny. To vypnutí motorů a ledky je prostě signál, že uživatel mohl vyměnit disketu, proto je to (za mne) nejbezpečněší moment na vypnutí emulace (za předpokladu, že standard je prostě mdos2). Ale určitě by to šlo postavit na "kyvadlovém principu". Popřemýšlím.

No ale schválně si vyzkoušej jak to dělá originál mdos2.0. To je taková hrkačka hlavou a pomalé čtení, že máš pocit že to tu disketu likviduje :-)


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

Registrován: 01.12.2017, 21:01
Příspěvky: 2063
Bydliště: BA-Petržalka :(
Has thanked: 18 times
Been thanked: 323 times
Neviem ako pri načítaní, ale pri CAT ide MDOS 2.0 rýchlejšie. MDOS 2.1 tam spraví v polovici pauzu, zrejme pri sektore 9 keď sa menia hlavy. Zaujímavé že 2.0 tam tú pauzu nerobí. Nieje to tým, že 2.0 keď nenájde požadovaný sektor tak hneď skúša iné číslovanie, zatiaľ čo 2.1 opakuje pokus rovnakého sektoru viac krát, než skúsi iné číslovanie?

_________________
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: 04.11.2020, 07:59 
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:
Neviem ako pri načítaní, ale pri CAT ide MDOS 2.0 rýchlejšie. MDOS 2.1 tam spraví v polovici pauzu, zrejme pri sektore 9 keď sa menia hlavy. Zaujímavé že 2.0 tam tú pauzu nerobí. Nieje to tým, že 2.0 keď nenájde požadovaný sektor tak hneď skúša iné číslovanie, zatiaľ čo 2.1 opakuje pokus rovnakého sektoru viac krát, než skúsi iné číslovanie?

Mdos 2.0 zjišťuje to číslo při každém ready testu, a s ready testem posílá i hlavů vždy HOME. To se mi nelíbilo a v kopírovacích programech mu tak načítaní dat trvá nehorázně dlouho. Otázkou je, jestli za to nemůže také disketa/mechanika, resp. špatný index pulz
A ano, v 2.1 se čte několik pokusů a až pak se zkusí otestovat si číslo strany. Proto ta pauza.


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 Předchozí  1 ... 3, 4, 5, 6, 7, 8, 9 ... 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 5 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:  
cron
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz