OldComp.cz

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


Právě je 09.02.2023, 14:29

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




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 28 ]  Přejít na stránku Předchozí  1, 2
Autor Zpráva
 Předmět příspěvku: Re: Emulace hard disku v ASCD
PříspěvekNapsal: 15.01.2023, 11:05 
Offline
Radil

Registrován: 18.10.2014, 23:10
Příspěvky: 341
Has thanked: 25 times
Been thanked: 102 times
Na priloženom disku sú zdrojáky BootSektoru aj B-DOSu, možno ti to pomôže (a možno ich už máš).
Prebehol som ten boot sector a je to tak, najprv sa nahrá obrázok, potom dos a až potom sa spustí dos, ktorý hľadá súbor "auto*".
Nepracuje náhodou DOS v CHS móde? To by bola tá zmena oproti boot bloku, ktorý číta v LBA28.


Přílohy:
al-bdos_new.dsk [800 KiB]
19 krát
Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulace hard disku v ASCD
PříspěvekNapsal: 27.01.2023, 23:03 
Offline
Kecka

Registrován: 29.11.2021, 03:10
Příspěvky: 48
Has thanked: 33 times
Been thanked: 8 times
Update:
Dodělal jsem emulaci hodin. Sambus i Dallas.
Sambus jsem zkoušel s MasterDosem, Dallas jen na portech. Je na to nějaký testovací software? Tváří se to funkčně. Ale emulaci hard disku to nijak nepomohlo, pořád se mi to chová stejně podivně. :suicide:


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulace hard disku v ASCD
PříspěvekNapsal: 27.01.2023, 23:12 
Offline
Kecka

Registrován: 29.11.2021, 03:10
Příspěvky: 48
Has thanked: 33 times
Been thanked: 8 times
Antony/DTA píše:
Na priloženom disku sú zdrojáky BootSektoru aj B-DOSu, možno ti to pomôže (a možno ich už máš).
Prebehol som ten boot sector a je to tak, najprv sa nahrá obrázok, potom dos a až potom sa spustí dos, ktorý hľadá súbor "auto*".
Nepracuje náhodou DOS v CHS móde? To by bola tá zmena oproti boot bloku, ktorý číta v LBA28.

Díky moc za ty zdrojáky, zatím jsem je neměl.

Co se týče typu přístupu, mám to v logu takto:
- ROM použije CHS k načtení boot sektoru. A to funguje.
- Bootsektor pak použije LBA k načtení toho obrázku a BDOSu.
- BDOS pak použije CHS k načtení prvních dvou sektorů první diskety, čili tam má začátek adresáře. Načítá každý z nich samostatně. Nevím proč takto, protože ten auto* soubor by měl být hned v prvním sektoru adresáře.
- BDOS najde auto* soubor a začne načítat jeho první datový sektor. Taky pomocí CHS. Načte 8 bajtů a skončí v nekonečné smyčce. Čte pořád status registr a ten hlásí, že má připravený další bajt, ale BDOS ho nechce. Z nekonečné smyčky ho můžu ukončit buď pomocí NMI tlačítka, nebo taky když mu vynuluju ten registr jakože už nejsou v ATA řadiči bajty k dispozici. DOS se pak vrátí zpátky do Basicu a přijímá další příkazy. Umím takto udělat třeba i DIR, ale pouze pomocí toho, že si natvrdo přepisuju ten status registr ATA řadiče, jinak se mi ten DOS stále zasekává v té nekonečné smyčce čekání na cosi. Prostě se mu moje "cosi" na sběrnici nelíbí a čeká na něco jiného.

Ten BDOS v podstatě připomíná takovej ten meme, jak ženy čekají na ideálního chlapa. Mně zase DOS čeká na ideální bajt na sběrnici... :lol:
Obrázek


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulace hard disku v ASCD
PříspěvekNapsal: 28.01.2023, 01:04 
Offline
Radil

Registrován: 18.10.2014, 23:10
Příspěvky: 341
Has thanked: 25 times
Been thanked: 102 times
Aley píše:
Nevím proč takto, protože ten auto* soubor by měl být hned v prvním sektoru adresáře.
V provom sektore je BDOS a ten Obrázok, auto* bude až za nimi.

Aley píše:
- BDOS najde auto* soubor a začne načítat jeho první datový sektor. Taky pomocí CHS. Načte 8 bajtů a skončí v nekonečné smyčce. Čte pořád status registr a ten hlásí, že má připravený další bajt, ale BDOS ho nechce. Z nekonečné smyčky ho můžu ukončit buď pomocí NMI tlačítka, nebo taky když mu vynuluju ten registr jakože už nejsou v ATA řadiči bajty k dispozici. DOS se pak vrátí zpátky do Basicu a přijímá další příkazy. Umím takto udělat třeba i DIR, ale pouze pomocí toho, že si natvrdo přepisuju ten status registr ATA řadiče, jinak se mi ten DOS stále zasekává v té nekonečné smyčce čekání na cosi. Prostě se mu moje "cosi" na sběrnici nelíbí a čeká na něco jiného.
Mohlo by to byť 9 bajtov, čo je hlavička súboru. Týchto 9 bajtov treba preskočiť a až po nich nasledujú vlastné data súboru.
Neviem, čo kontroluje BDOS zo status registra, BSY asi ešte pred príkazom, DRQ pred začiatkom čítania, potom už snáď len ERR.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulace hard disku v ASCD
PříspěvekNapsal: 29.01.2023, 19:57 
Offline
Kecka

Registrován: 29.11.2021, 03:10
Příspěvky: 48
Has thanked: 33 times
Been thanked: 8 times
Aha! Tak jestli začátek prvního sektoru má zvláštní obsah a já tam třeba posílám nesmyslná data, tak DOS možná blázní z toho. Že jako třeba jestli já v tom CHS formátu špatně spočítám, kde přesně ten sektor je... Protože ani DIR nefunguje. Ten příkaz se tedy jako spustí, napíše na obrazovku titulek, ale žádný seznam souborů, protože DOS se zasekne při čtení adresáře.

A díky i za tu poznámku o adresáři. Já jsem se mylně domníval, že každý sektor adresáře obsahuje víc souborů než dva. Teď mi to celé dává daleko větší smysl. Samozřejmě první na disketě je BDOS a druhý za ním je ten obrázek. Takže auto* může být nejdřív třetí. Všechno to do sebe víc a víc zapadá... ale stejně cosi pořád nefunguje. :suicide:


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulace hard disku v ASCD
PříspěvekNapsal: 31.01.2023, 21:57 
Offline
Kecka

Registrován: 29.11.2021, 03:10
Příspěvky: 48
Has thanked: 33 times
Been thanked: 8 times
Bylo mi doporučeno zkusit boot z AL-BOOT diskety. Vypíše mi to 0 cylinders, 0 heads, 0 sectors, 62915 records available... Model a Revision prázdné. Čili to je zajímavě nemocné, asi nemám ATA IDENTIFY...


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulace hard disku v ASCD
PříspěvekNapsal: 02.02.2023, 21:33 
Offline
Kecka

Registrován: 29.11.2021, 03:10
Příspěvky: 48
Has thanked: 33 times
Been thanked: 8 times
Tady snad řádí nějaký poltergeist, já jsem z toho úplně zoufalý!

Monitoring portů při bootování z AL boot diskety: Nabootuje to, začne to i komunikovat s hard diskem a taky s hodinami. Snažím se vysledovat, proč mi ten bootovací prográmek vypisuje geometrii disku jako 0-0-0, takže čekám na příkaz IDENTIFY (kterým si program načte 512-bajtů dlouhý blok informací o harddisku). Pak sleduju porty. Program nejprve čte status port, tam mu nastavím bit DRQ, že data jsou připravena. Program se tedy hned dá do čtení dat. Jenže přečte jen pouhé dva bajty a dál nic. Pak už zobrazí na obrazovce geometrii disku jako 0-0-0 a žádná další aktivita na portech disku není.

Začínám už i uvažovat nad tím... ten emulátor je v C++... jestli tam nemám někde úplně jinde blbou chybu s nějakým pointerem a nepřepisuju si náhodně někde RAM... V té emulaci harddisku prostě nevidím žádnou chybu, a stejně to nefunguje. :suicide:


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulace hard disku v ASCD
PříspěvekNapsal: 04.02.2023, 23:57 
Offline
Kecka

Registrován: 29.11.2021, 03:10
Příspěvky: 48
Has thanked: 33 times
Been thanked: 8 times
OK, problem solved. Chyba byla v emulátoru CPU. Instrukce INI a IND špatně nastavovaly flag Z. Žádný jiný program tohle nikdy nemohl na nic využít, tak to nebylo poznat.

Takže už úspěšně bootuju AtomLite. A pustil jsem si demo Sam Can Do It... a krešlo mi to cleý emulátor s access violation. :lol: Takže těch oprav do nového vydání ASCD bude víc.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulace hard disku v ASCD
PříspěvekNapsal: 05.02.2023, 01:22 
Offline
Radil

Registrován: 18.10.2014, 23:10
Příspěvky: 341
Has thanked: 25 times
Been thanked: 102 times
Paráda, to som rád, že sa to podarilo. Neuveríš, ale napadlo ma, že by to mohlo byť chybou v emulácii inštrukcie INI. Ty si mal podozrenie na nejakú blbú chybu s nejakým pointerom a naozaj to bola blbá chyba. Ja som nedávno objavil chybu v mojom programe pri teste konca adresára. Inštrukcia CP (HL) mala zistiť, či prvý znak mena súboru je nula. Lenže v jednej vetve programu sa zmenil obsah HL, ktorý už neukazoval na začiatok mena, ale kdesi do ROMky a ešte k tomu dokonca aj register A občas neobsahoval nulu. No a k tomu všetkému, keď som si to krokoval v debuggeri tak som zistil najprv chybu debuggera.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulace hard disku v ASCD
PříspěvekNapsal: 05.02.2023, 04:46 
Offline
Pan Štábní

Registrován: 29.06.2013, 16:52
Příspěvky: 1559
Has thanked: 27 times
Been thanked: 329 times
A bude v ASCD i emulace klasickeho Atomu ?

_________________
http://velesoft.speccy.cz/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulace hard disku v ASCD
PříspěvekNapsal: 05.02.2023, 23:36 
Offline
Kecka

Registrován: 29.11.2021, 03:10
Příspěvky: 48
Has thanked: 33 times
Been thanked: 8 times
Atom Classic (jak tomu říkám, ať už se to ve skutečnosti jmenuje jakkoliv) bude určitě. (Já jsem na tom už i pracoval, ale nefungovalo to, tak jsem to dal k ledu. Teď když už mi funguje Lite, tak tohle snad půjde taky.) Akorát nemám žádný HDF image, takže na čem to otestovat? Zkusmo sem si cosi vytvořil v Samdisku (a nezbývá doufat, že je to fakt ono). Mimochodem ten Samdisk má nějaký manuál? Nebýt toho, že mi sám Simon Owen psal v emailu nějaké parametry, co tam můžu napsat, netušil bych, co s tím. Stáhl jsem nějaký zip a v něm bylo jen exe bez návodu.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulace hard disku v ASCD
PříspěvekNapsal: 06.02.2023, 00:12 
Offline
Radil

Registrován: 18.10.2014, 23:10
Příspěvky: 341
Has thanked: 25 times
Been thanked: 102 times
https://simonowen.com/samdisk/options/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulace hard disku v ASCD
PříspěvekNapsal: 07.02.2023, 04:46 
Offline
Kecka

Registrován: 29.11.2021, 03:10
Příspěvky: 48
Has thanked: 33 times
Been thanked: 8 times
Tak Atom Classic už mi taky funguje. :-) A ještě pracuju na třetí variantě: Namapovat jeden record z HDF souboru jako klasický floppy disk. Když na tom recordu bude i samdos, půjde z toho i nabootovat. A on tam většinou ten samdos je, jelikož ty recordy vznikly oklonováním z diskety.


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ů: 28 ]  Přejít na stránku Předchozí  1, 2

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