OldComp.cz

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

Byl jednou jeden nerd

Právě je 31.05.2020, 01:38

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




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 545 ]  Přejít na stránku Předchozí  1 ... 28, 29, 30, 31, 32, 33, 34 ... 37  Další
Autor Zpráva
 Předmět příspěvku: Re: Moderní klon D40/D80?
PříspěvekNapsal: 10.04.2020, 13:31 
Offline
Kecka

Registrován: 06.04.2020, 16:24
Příspěvky: 54
Has thanked: 10 times
Been thanked: 23 times
MTs píše:
Našel jsem to místo v 2.1 se "set 6,(ix+6)", takže opravdu to podporuje chybu v software. Musím analyzovat proč to tam je a proč jsi na chybu narazil jen ty. V komentáři mám napsáno, že se to tam zapíše jem při nějaké I/O chybě a mělo by nastavovat 6,(ix+0) a néé 6,(ix+6).


Potvrzuji svou chybu. Je to překlep a na adrese #2531 má být instrukce "set 6,(ix+0)". Hloupá chyba. Projeví se jen při druhém formátování a to jen na D40 (u D80 nastavení toho bitu v čísle stop nevadí, protože hodnota "80" má v hodnotě aktivní bit 6). Podle mě to ale musí dělat každému a je jedno jestli D40 bude Ačko nebo Bčko! To že se hodnota toho bitu 6 nastavila na (ix+6) namísto (ix+0) překvapivě nemá vliv na chod systému. Možná by to způsobilo nějaké chyby při čtení/zápisu dat jen u software, který šahá do DROM až na příliš lowlevel rutiny... Jelikož #2520 se volá pokaždé co se dokončí nějaká I/O operace a má se vypnout motor mechaniky, tak je tam to mnou zamýšlené set 6,(ix+0) ideální umístit. Spíše to je pro 100% jistotu, tím MDOS 2.1 ví, že příšte se musí bezpodmínečně provést před I/O operací vystavení (SEEK) hlavy. Což se ale stejně vždycky udělá při jakékoliv další operaci po vypnutí motoru (zhasnutí LEDky).


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

Registrován: 01.12.2017, 21:01
Příspěvky: 1029
Bydliště: BA-Králikárne
Has thanked: 7 times
Been thanked: 158 times
Narýchlo som pozrel do zdrojáku MDOS2.1 na to set 6, ... a padlo mi do oka niečo iné. Toto:
Kód:
;cislo se nikdy neprepise
;xx ano (snapu nemuze byt vic
;jak 99, foto ale ano!)
         put  DROM+#1620
SNAP3    call #217B
         call #1C8F
         call #212B
         ret  nz
         ld   hl,#3E93
         inc  (hl)
         ld   a,(hl)
         cp   "9"+1
         jr   c,SNAP3
         ld   (hl),"0"
         dec  hl
         inc  (hl)
         ld   a,(hl)
         cp   "9"+1
         jr   c,SNAP3
         ld   (hl),"x"
         dec  hl
         ld   (hl),"x"
         ret 
         ret 
         ret 

Možno sa mýlim, ale prvé inc (hl) mení jednotky, potom je dec hl, a druhé inc (hl) potom mení desiatky. Prípadne ďalej sa zapíše x na pozíciu desiatok, ale nasleduje dec hl? Druhé x sa zapíše kde? Na pozíciu stoviek? Taká tam nieje. Nevzniklo by po ...SHOT99 niečo ako ...SHOxx9 ? Nemalo tam byť inc hl? Viac ako túto krátku časť kódu som neskúmal, tak neviem súvislosti, možno je to správne.


MTs píše:
...Možná by to způsobilo nějaké chyby při čtení/zápisu dat jen u software, který šahá do DROM až na příliš lowlevel rutiny... J...

Napríklad REPLORER si z #6 kontroluje mechaniku či je D40 alebo D80, podľa toho nedovolí zápis D80 image (alebo formátovanie) na D40 mechaniku. Ono by to skončilo aj tak v polovici nárazom do steny a chybou.

Ešte k tým 4 mechanikám. Ako je to riešené v MDOSe? Je tam miesto pre 4 mechaniky, cez nejaký zápis do SRAM by sa dali aktivovať, ale aké to používa výstupy? Myslím ako to potom kombinuje DS0, DS1, MO0, MO1? Ostatné signály sú spoločné. Vyrobiť kábel s elektronikou nieje problém. Ktoré signály to potom aktivuje pri prístupe na C a D, aby sa to nebilo s A a B? Ako rozmýšľam, tak pri 4 mechanikách by sa museli aj klasické signály pre A a B zmeniť. Moja predstava ako by to mohlo fungovať je, že DS0 a MO0 by napríklad riadilo mechaniku, a kombinácia DS1 s MO1 by určovala číslo mechaniky pre ktorú to patrí (0 až 3). Potom by stačil spraviť jednoduchý elektronický prepínač...

_________________
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ť.


Naposledy upravil PotPalo dne 10.04.2020, 13:59, celkově upraveno 1

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

Registrován: 21.10.2018, 08:27
Příspěvky: 185
Bydliště: Neratovice
Has thanked: 21 times
Been thanked: 14 times
MTs píše:
MTs píše:
Našel jsem to místo v 2.1 se "set 6,(ix+6)", takže opravdu to podporuje chybu v software. Musím analyzovat proč to tam je a proč jsi na chybu narazil jen ty. V komentáři mám napsáno, že se to tam zapíše jem při nějaké I/O chybě a mělo by nastavovat 6,(ix+0) a néé 6,(ix+6).


Potvrzuji svou chybu. Je to překlep a na adrese #2531 má být instrukce "set 6,(ix+0)". Hloupá chyba. Projeví se jen při druhém formátování a to jen na D40 (u D80 nastavení toho bitu v čísle stop nevadí, protože hodnota "80" má v hodnotě aktivní bit 6). Podle mě to ale musí dělat každému a je jedno jestli D40 bude Ačko nebo Bčko! To že se hodnota toho bitu 6 nastavila na (ix+6) namísto (ix+0) překvapivě nemá vliv na chod systému. Možná by to způsobilo nějaké chyby při čtení/zápisu dat jen u software, který šahá do DROM až na příliš lowlevel rutiny... Jelikož #2520 se volá pokaždé co se dokončí nějaká I/O operace a má se vypnout motor mechaniky, tak je tam to mnou zamýšlené set 6,(ix+0) ideální umístit. Spíše to je pro 100% jistotu, tím MDOS 2.1 ví, že příšte se musí bezpodmínečně provést před I/O operací vystavení (SEEK) hlavy. Což se ale stejně vždycky udělá při jakékoliv další operaci po vypnutí motoru (zhasnutí LEDky).


Mohl bych poprosit o upravenou binárku? Vyzkoušel bych to dnes, než ten můj HW zase uklidím, běžně D40 nepoužívám a rozebranou už vůbec ne.


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

Registrován: 13.05.2013, 17:48
Příspěvky: 324
Bydliště: Košice
Has thanked: 197 times
Been thanked: 166 times
PotPalo píše:
Ešte k tým 4 mechanikám. Ako je to riešené v MDOSe? Je tam miesto pre 4 mechaniky, cez nejaký zápis do DRAM by sa dali aktivovať, ale aké to používa výstupy? Myslím ako to potom kombinuje DS0, DS1, MO0, MO1? Ostatné signály sú spoločné. Vyrobiť kábel s elektronikou nieje problém. Ktoré signály to potom aktivuje pri prístupe na C a D, aby sa to nebilo s A a B? Ako rozmýšľam, tak pri 4 mechanikách by sa museli aj klasické signály pre A a B zmeniť. Moja predstava ako by to mohlo fungovať je, že DS0 a MO0 by napríklad riadilo mechaniku, a kombinácia DS1 s MO1 by určovala číslo mechaniky pre ktorú to patrí (0 až 3). Potom by stačil spraviť jednoduchý elektronický prepínač...
Pokiaľ viem, HW D40/D80 nebol nikdy zamýšľaný pre 4 mechaniky. takže ani riadiaci port mechaník pôvodného zapojenia s WD radičom "nepočítal" s ďalšími mechanikami (aj keď na tom porte zostali 2 bity voľné a ešte by pri "dobrej vôli" a nejakých hradlách naviac jednu mechaniku "uživil"). Skutočnosť, že samotný MDOS umožňuje pracovať so 4 mechanikami, je daná tým, že MDOS vznikol ako akýsi "port" systému SinDOS, preto je na disketách v BOOTe značka SDOS.

_________________
https://pmd85.borik.net - PMD 85 Emulátor, PMD 85, PMD 32-SD
https://pp01.borik.net - PP 01 Emulátor, PP 01, SD-ROM Modul


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

Registrován: 06.04.2020, 16:24
Příspěvky: 54
Has thanked: 10 times
Been thanked: 23 times
pwramp píše:
Mohl bych poprosit o upravenou binárku? Vyzkoušel bych to dnes, než ten můj HW zase uklidím, běžně D40 nepoužívám a rozebranou už vůbec ne.


Stačí jen přepsat ten jeden byte klidně v hexa editoru...
Než udělám binárku, mám dotaz k out 155,0 co je v MDOSu 2.1 na strákách od Billy48. Původně bylo 153,0.
Proč jste ho změnili (příp. celou sekci nezrušili když ten nový řadič nemá 8255ku)?

Původní MDOS 2.0 výpis:
2797: AF xor a
2798: D3 97 out (151),a ;zablokuj moznost 8255
279A: D3 99 out (153), a ;zablokuj 8255


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

Registrován: 13.05.2013, 17:48
Příspěvky: 324
Bydliště: Košice
Has thanked: 197 times
Been thanked: 166 times
MTs píše:
pwramp píše:
Mohl bych poprosit o upravenou binárku? Vyzkoušel bych to dnes, než ten můj HW zase uklidím, běžně D40 nepoužívám a rozebranou už vůbec ne.


Stačí jen přepsat ten jeden byte klidně v hexa editoru...
Než udělám binárku, mám dotaz k out 155,0 co je v MDOSu 2.1 na strákách od Billy48. Původně bylo 153,0.
Proč jste ho změnili (příp. celou sekci nezrušili když ten nový řadič nemá 8255ku)?

Původní MDOS 2.0 výpis:
2797: AF xor a
2798: D3 97 out (151),a ;zablokuj moznost 8255
279A: D3 99 out (153), a ;zablokuj 8255
Port 99h (153 10011001b) koliduje s portami xxFDh (253 11111101b) na 128-čke, teda problémom je bit 1 v nule. Preto sa upravil ten port na 9Bh (155 10011011b), ktorý má bit 1 v jednotke. V samotnej D40 je tiež neúplná adresácia a na bite 1 nezáleží. A nechalo sa to tam zrejme z "historických" dôvodov.

_________________
https://pmd85.borik.net - PMD 85 Emulátor, PMD 85, PMD 32-SD
https://pp01.borik.net - PP 01 Emulátor, PP 01, SD-ROM Modul


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Moderní klon D40/D80?
PříspěvekNapsal: 10.04.2020, 14:45 
Offline
Kecka

Registrován: 06.04.2020, 16:24
Příspěvky: 54
Has thanked: 10 times
Been thanked: 23 times
zxcygnus píše:
pwramp píše:
MDOS2.1 v midiD80 při druhém basicovém FORMAT formátuje na geometrii 3,5" mechaniky (odkud bere parametr na počet stop?)
Ale to je přesně to, co se mi neděje.

Zkoušel jsem spustit FORMAT po resetu a po jeho dokončení hned znovu, nebo mezi nimi zadat pár BASICových příkazů, třeba uložit obrázek na disketu a pak teprve druhý FORMAT.

V něčem se ty naše stroje/řadiče liší. Možná je MDOS špatně flashnutý? Nebo zapomíná SRAM na D80mini?

Chtěl bych image té ROMky MDOSu 2.1
Bylo by možno uložit obsah ROM a jako soubor mi to poslat? Protože ten bug tam fakt je a podle výpisu není možné, aby se jednomu projevil a druhému ne.


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

Registrován: 01.12.2017, 21:01
Příspěvky: 1029
Bydliště: BA-Králikárne
Has thanked: 7 times
Been thanked: 158 times
Napísal som PATCH, rovno sa dá skúsiť či sa dá programovať EEPROM priamo v radiči.
Kód:
0 REM MDOS2.1 5,25" format patch
10 FOR a=16384 to 7e4: READ b: IF b<>PI THEN POKE a,b: NEXT a
20 DATA 199,243,62,6,211,254,62,127,219,254,15,56,249,33,51,37,126,254,6,32,2,54,0,126,190,32,252,167,62,2,32,2,62,4,211,254,62,191,219,254,15,56,249,251,195,0,23,PI
30 POKE#247,79: RANDOMIZE USR 16384

Musí byť nastavené na MDOS2.1. Spustí sa, pri žltom okraji sa prepne jumper na povolenie zápisu do EEPROM, stlačí sa medzera, nasleduje buď zelený alebo červený okraj, podľa úspechu alebo neúspechu. Vtedy sa prepne jumper naspäť. Enterom sa následne program ukončí. Program úspešne funguje iba keď v EEPROM nieje nastavená softwérová ochrana proti zápisu, tiež sa musí na danej adrese ktorú treba patchnúť nachádzať hodnota 6, ktorá sa zmení na 0. Inak program patch nevykoná (červený okraj).

_________________
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: 10.04.2020, 15:06 
Offline
Pan Štábní

Registrován: 01.12.2017, 21:01
Příspěvky: 1029
Bydliště: BA-Králikárne
Has thanked: 7 times
Been thanked: 158 times
Inak je to byt na pozícií 2533 (hex., samotná ROM, 16kB) alebo na 6533 (MDOS2.0+2.1 pre D80mini, 32kB), je tam 6, treba zmeniť na 0. To sa dá aj priamo v programátore pamätí, následne uložiť.

Stále nemám odpoveď na otázku ohľadne číslovania screenshotov. Keď bude na diskete 100 screenshotov (00 až 99), ďalší screenshot bude xx, alebo ako som písal, s chybným názvom? Odskúšajte to niekto, napríklad týmto:
FOR a=0 TO 99: SAVE*"screen"+("0" AND a<10)+STR$ a CODE 3e4,200: NEXT a
"screen" nahradiť názvom screenshotu bez čísla, teraz neviem ako sa presne volá. Vytvorí sa 100 "virtuálnych" screenshotov. Potom cez NMI menu uložiť screenshot, ozaj či bude mať správne meno s xx.

Pokiaľ už opravujeme bug, nech opravíme rovno dva (ak tam teda tento druhý je).

_________________
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: 10.04.2020, 15:26 
Offline
Radil
Uživatelský avatar

Registrován: 13.05.2013, 17:48
Příspěvky: 324
Bydliště: Košice
Has thanked: 197 times
Been thanked: 166 times
PotPalo píše:
Stále nemám odpoveď na otázku ohľadne číslovania screenshotov. Keď bude na diskete 100 screenshotov (00 až 99), ďalší screenshot bude xx, alebo ako som písal, s chybným názvom? Odskúšajte to niekto, napríklad týmto:
FOR a=0 TO 99: SAVE*"screen"+("0" AND a<10)+STR$ a CODE 3e4,200: NEXT a
"screen" nahradiť názvom screenshotu bez čísla, teraz neviem ako sa presne volá. Vytvorí sa 100 "virtuálnych" screenshotov. Potom cez NMI menu uložiť screenshot, ozaj či bude mať správne meno s xx.
Citácia z manuálu k MDOS 2.1.
Citace:
Dále jsem na SNAPSHOTech upravil číslování. Ve starých MDOSech hrozilo, že snap se stejným číslem bude přepsán. Ve 2.0 to již opravili tak, že se čísla zvedala až do doby, dokud snap nebylo možné na disketu uložit aniž by se přepsal nějaký starý (99 snapů o velikosti 49.280 bytes není možné na disketu narvat, proto to celkem hezky fungovalo). Jelikož ale nyní v MDOSu 2.1, má FOTOSHOT (viz. dále) velikost 6912 bytes (těch už tedy na disketě může být víc jak 99), udělal jsem v číslování úpravu. Pokud se dosáhne čísla 99, pak místo přetečení zpět na "00" bude "xx" a takový snap/foto se bude normálně v případě potřeby přepisovat.

_________________
https://pmd85.borik.net - PMD 85 Emulátor, PMD 85, PMD 32-SD
https://pp01.borik.net - PP 01 Emulátor, PP 01, SD-ROM Modul


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Moderní klon D40/D80?
PříspěvekNapsal: 10.04.2020, 15:27 
Offline
Kecka

Registrován: 06.04.2020, 16:24
Příspěvky: 54
Has thanked: 10 times
Been thanked: 23 times
PotPalo píše:
Stále nemám odpoveď na otázku ohľadne číslovania screenshotov. Keď bude na diskete 100 screenshotov (00 až 99), ďalší screenshot bude xx, alebo ako som písal, s chybným názvom? Odskúšajte to niekto, napríklad týmto:
FOR a=0 TO 99: SAVE*"screen"+("0" AND a<10)+STR$ a CODE 3e4,200: NEXT a
"screen" nahradiť názvom screenshotu bez čísla, teraz neviem ako sa presne volá. Vytvorí sa 100 "virtuálnych" screenshotov. Potom cez NMI menu uložiť screenshot, ozaj či bude mať správne meno s xx.

Pokiaľ už opravujeme bug, nech opravíme rovno dva (ak tam teda tento druhý je).

Na první pohled se zdá, že je to opravdu špatně. Otázka je zda s tím nastaveným hl neoperuju potom nějak dále.... pro jistotu se podívám i co se děje po návratu z tohoto podprogramu.


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

Registrován: 01.12.2017, 21:01
Příspěvky: 1029
Bydliště: BA-Králikárne
Has thanked: 7 times
Been thanked: 158 times
rombore, o tom viem. Čísluje to postupne od 00 do 99, potom je xx, ktoré sa už prepisuje. Ale ten prechod z 99 na xx sa mi nezdá. Ako by to prepísalo tú ľavú 9 tým x, druhé x je ale ešte naľavo od neho, malo by byť napravo.

MTs, čo sa deje s HL následne je podľa mňa jedno, ono to zapisuje xx už v tejto časti, a zapisuje ho nejako divne. Ako rozmýšľam, tak rozmýšľam, stále mi z toho vychádza toto poradie:

SNAPSHOT99
SNAPSHOxx9

Ja keď vo svojom programe neviem, alebo nie som si na 100% istý (alebo aj som, ale paranoja), tak pustím nejaký test, ktorý odskúša všetky funkcie.

_________________
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: 10.04.2020, 15:49 
Offline
Kecálek

Registrován: 21.10.2018, 08:27
Příspěvky: 185
Bydliště: Neratovice
Has thanked: 21 times
Been thanked: 14 times
Tak potvrzuju opravu - přepsal jsem na #2533 hodnotu z 06 na 00, vypálil, vyzkoušel a pecka - formátuje se správně, i při druhém basicovém formátování. Záznam v boot sektoru je také 40x9.

Citace:
Chtěl bych image té ROMky MDOSu 2.1. Bylo by možno uložit obsah ROM a jako soubor mi to poslat?

To by bylo spíš na Cygnuse, kterému to funguje bez chyby. Já jsem nakonec použil image, který máš ke stažení na webu.


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

Registrován: 13.05.2013, 17:48
Příspěvky: 324
Bydliště: Košice
Has thanked: 197 times
Been thanked: 166 times
PotPalo píše:
rombore, o tom viem. Čísluje to postupne od 00 do 99, potom je xx, ktoré sa už prepisuje. Ale ten prechod z 99 na xx sa mi nezdá. Ako by to prepísalo tú ľavú 9 tým x, druhé x je ale ešte naľavo od neho, malo by byť napravo.
Jááj, jasne... Nejako som "nedával pozor" pri tom pôvodnom príspevku... :?

_________________
https://pmd85.borik.net - PMD 85 Emulátor, PMD 85, PMD 32-SD
https://pp01.borik.net - PP 01 Emulátor, PP 01, SD-ROM Modul


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

Registrován: 21.10.2018, 08:27
Příspěvky: 185
Bydliště: Neratovice
Has thanked: 21 times
Been thanked: 14 times
Mám jeětě otázku - jak řadič, resp. MDOS pozná, že má připojené dvě nebo jednu mechaniku?


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ů: 545 ]  Přejít na stránku Předchozí  1 ... 28, 29, 30, 31, 32, 33, 34 ... 37  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