OldComp.cz

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


Právě je 29.03.2024, 00:58

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




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 31 ]  Přejít na stránku 1, 2, 3  Další
Autor Zpráva
 Předmět příspěvku: Emulace hard disku v ASCD
PříspěvekNapsal: 09.01.2023, 23:51 
Offline
Kecka

Registrován: 29.11.2021, 03:10
Příspěvky: 57
Has thanked: 36 times
Been thanked: 12 times
Toto bych mohl s někým řešit v soukromých zpárvách, ale dovoluji si místo toho otevřít tohle téma na fóru, ať může přispět kdokoliv, kdo k tomu něco má...

Loni jsem sliboval, že tuto zimu přidám do ASCD emulaci hard disku (nebo lépe řečeno obecně IDE zařízení), ale pak jsem měl úplně jinou náplň dní a tak jsem se k tomu zatím moc nedostal. Teď začínám koukat na dostupné zdroje, co že se to po mně valstně chce či očekává...

Musím se hlavně zeptat: Jak ta věc vlastně funguje z hlediska uživatele? Nebo jak má fungovat? Když teda budu mít emulaci toho hardwaru, jak to pak funguje softwarově? Jak to bootuje? Četl jsem asi stokrát o něčem jako BDOS, ale nikde jsem ho neviděl. Jak tu věc lidi obvykle dostávají do počítače, aby jim to teda bootovalo? Existuje na to BOOTROM, kterou bych mohl mít v emulátoru? A nebo má člověk disketu s tímto BDOSem v prvním souboru a z toho to nabootuje a dál to používá HDD jako disk 2? Tyhle otázky jsou možná absurdní a odpovědi jasné pro někoho, kdo to zná, ale já vidím všude kopu řečí o konkrétních programech, jak je upravit nebo co, ale jak se celá věc používá, jsem se nedočetl. A to mě samozřejmě zajímá ještě i to, jak by se to tedy pak mělo implementovat v emulátoru, aby to bylo pohodlné. Zatím jsem došel k tomu, že v SimCoupe jsem si vytvořil prázdný HDD. Ale moje verze SimCoupe je možná příliš stará, umí to jen Atom, což asi není ten správný formát.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulace hard disku v ASCD
PříspěvekNapsal: 10.01.2023, 10:34 
Offline
Pan Generální
Uživatelský avatar

Registrován: 11.06.2013, 15:27
Příspěvky: 3025
Has thanked: 2192 times
Been thanked: 894 times
Doporucuju projit odkazy uvedene na https://sam.speccy.cz/samweb.html
a dokumentaci na https://sam.speccy.cz/atomlite.html

:poke: A taky si precist nevyzvednute PM, vidim tady jednu neotevrenou z 12.02.2022, 11:34 :o

Podporu Atomu a BDOSu v programech lze nastudovat napr. ve zdrojacich Stefana Drissena.

Ja ted samiky nemam na stole, takze vice nepomuzu,
snazim se spise dostat nektere hw porty samika do platformy el/mb
a pak mozna pripravit rozsireni esxDOSu pro samovske soubory.

_________________
// na co myslím, když sedím u oldkompů: Blood Products from Genetic Vaccine Recipients


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulace hard disku v ASCD
PříspěvekNapsal: 10.01.2023, 11:53 
Offline
Radil

Registrován: 18.10.2014, 23:10
Příspěvky: 377
Has thanked: 28 times
Been thanked: 120 times
Tu je asi všetko, čo potrebuješ.
Příloha:
Bdos15a.zip [181.79 KiB]
92 krát

Nabootuješ z diskety a spustíš program "Formatter" (LOAD 2).
Potom spustíš "MakeBoot" (LOAD 3).
Potom spustíš "Backup" (LOAD 6) a urobíš kópiu diskety na Record1.
Teraz už môžeš bootovať z HDD/CF/SD.

Ako bootovací record doporučujem nastaviť Record1, ale dá sa zvoliť aj iný.
Posledný record nemusí mať plných 800KB pozor na to!
DotCommands sa nejak nerozšírili, ale nastavenie CommandRecordu tu je.
Logo pri štarte som videl až na AtomLite, takže neviem, či to funguje, ja to mám vždy vypnuté.

Ja si myslím, že najlepší je AtomClassic. AtomLite je o čosi rýchlejší, ale pracuje len so zariadeniami, čo podporujú 8-bitový prenos. Pritom rýchlosť akú dosahuje AtomLite, by po jednoduchej hardverovej úprave mohol dosiahnuť aj AtomClassic.
A pre úplnosť, Trinity je moc pomalá.


Atom Classic & Atom Lite & Dallas realtime clock
────────────────────────────────────────────────

Atom Classic:
&F5=control port (only writeable)
&F6=read/write high byte for 16 bit ide data
&F7=read/write low byte for 16 bit ide data

Atom Lite:
&F5=control port (only writeable)
&F6=read/write 8 bit ide data
&F7=read/write 8 bit ide data

Dallas realtime clock:
&F5=write &FD for select DALLAS realtime clock
&F6=write clock register address
&F7=read/write clock register data

The dallas clock is selected on the IDE bus when the value &FD is written
to port &F5 (both chipselect lines at the 8 bit IDE bus are inactivate).


AtomClassic:
Zápisom do &F5 si vyberieme IDE register s ktorým budeme následne pracovať &F0-&F7 pre IDE0-IDE7.
Čítanie:
1. z &F6 sa prečíta 16 bitov zo zvoleného IDE registra a na zbernicu pošle vyšších 8 bitov.
2. z &F7 sa prečíta z buffru a pošle na zbernicu nižších 8 bitov.
Pri čítaní z 8-bitových registrov (IDE1-IDE7) sa musí prečítať aj neexistujúci vyšší bajt.

Zápis:
1. do &F6 sa zapíše vyšších 8 bitov, ktoré sa uložia do buffra.
2. do &F7 sa zapíše nižších 8 bitov a celých 16 bitov sa zapíše do zvoleného IDE registra.
Pri zápise do 8-bitových registrov (IDE1-IDE7) sa môže krok 1 vynechať.

AtomLite:
Zariadenie sa prepne do 8-bitového módu (neviem kde, asi v BootBlocku, alebo už v ROM?)
a pracuje sa podobne ako s AtomClassic, ale nepotrebujeme čítať HiByte a LoByte, ale jednoducho Byte a to je jedno či z &F6, alebo &F7.
Normálny loader pre AtomClassic pracuje aj s AtomLite.
Záznam na disku AtomLite má prehodené poradie bajtov, ale v prehodenom poradí ich aj číta, takže je to v poriadku, ale nedá sa použiť disk z AtomClassic v AtomLite a naopak.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulace hard disku v ASCD
PříspěvekNapsal: 11.01.2023, 00:40 
Offline
Kecka

Registrován: 29.11.2021, 03:10
Příspěvky: 57
Has thanked: 36 times
Been thanked: 12 times
Díky za informace. Ta hardwarová část je mi jasná, je to krátké a soruzmitelné. Jen ta uživatelská stránka je mi neznámá.

V nějaké hodně staré verzi SimCoupe se mi podařilo vytvořit prázdný HDD image, je to podle mě ten 16bitový formát ("classic"). Jak si v emulátoru či pro emulátor můžu vytvořit taky image 8bitový ("lite") jsem zatím nikde nenašel. To kopírování diskety na HDD teprve budu zkoušet.

Překvapila mě taky ta informace, že se to liší rychlostí. Domníval jsem se, že Lite je jen pro CF karty a HDD v něm nefunguje, takže pak tu rychlost nejde srovnávat. A že Trinity je vyloženě pomalé, mě taky překvapilo. A Trinity je hlavně taky jedno z těch komerčních zařízení, které je "zakázáno" emulovat, je to tak? (Přijde mi to komické.)

A že jsem nečetl zprávy? Tak to vůbec nevím. Možná jsem tu celý rok ani nebyl, ale po přihlášení mi to nehlásilo, že mám poštu.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulace hard disku v ASCD
PříspěvekNapsal: 11.01.2023, 10:34 
Offline
Radil

Registrován: 18.10.2014, 23:10
Příspěvky: 377
Has thanked: 28 times
Been thanked: 120 times
Aley píše:
Díky za informace. Ta hardwarová část je mi jasná, je to krátké a soruzmitelné. Jen ta uživatelská stránka je mi neznámá.

Čo máš na mysli, prácu s B-DOSom ?


Aley píše:
Jak si v emulátoru či pro emulátor můžu vytvořit taky image 8bitový ("lite") jsem zatím nikde nenašel.

Áno v SimCoupe to chýba, autorovi sa na tom niečo nezdalo, tak to zrušil. Takže treba použiť jeho iný program SamDisk, alebo si stiahnuť nejaký hotový image z netu, napr: https://sam.speccy.cz/demo.html


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

Registrován: 29.11.2021, 03:10
Příspěvky: 57
Has thanked: 36 times
Been thanked: 12 times
Update: Už na tom dělám třetí den. Ale jsem zaseklý u čtení sektoru 0. Něco je špatně, BDOS reaguje na můj sektor nespokojeně...


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

Registrován: 29.11.2021, 03:10
Příspěvky: 57
Has thanked: 36 times
Been thanked: 12 times
Antony/DTA píše:
Čo máš na mysli, prácu s B-DOSom ?

No tak když zapnu počítač, je tam Sam Basic. Potřebuju znát nějaké příkazy, jak se bootuje, jak se kopírují nějaké soubory nebo celé diskety/recordy, důležité je taky umět vybrat, který record se má používat atd. Kdo nezná, jak se s počítačem dělá, nedostane se za úvodní obrazovku (zvlášt ne v emulátro Sam Coupé, kde se musí zmáčknout 9 na numepadu, to je pro neznalého náhodného příchozího hodně perverzní :lol: )

A co se týče těch přehozených bajtů, dívám se na HDF image s těmi demy a rozhodně nemá přehozené bajty. Čili předpokládám, že to právě Atom Classic je má přehozené. (I logicky, Atom Lite pracuje 8bitově, nemá to tedy vůbec jak přehazovat. Jestli to chápu správně.)


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

Registrován: 29.11.2021, 03:10
Příspěvky: 57
Has thanked: 36 times
Been thanked: 12 times
Ještě jeden update a dotaz, co to vlastně znamená. Používám atomlite.rom a po zapnutí to čte sektor 0 a pak nějaké sektory počínaje číslem 65. Dává to smysl?
Udělá to to, že to načte nějaké sektory do paměti a pak vyhodí nějakou chybu "108 End of file" a hodí mě to do Basicu. Čili nevypadá to dobře, ale když dám příkaz DIR, napíše to tohle:
Card 1 Dir.
Record 1.

Chápu správně, že už mám v paměti úspěšně načtený BDOS z toho hard disku? A nebo tohle umí dělat i samotná AtomLite ROM?


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulace hard disku v ASCD
PříspěvekNapsal: 13.01.2023, 02:14 
Offline
Radil

Registrován: 18.10.2014, 23:10
Příspěvky: 377
Has thanked: 28 times
Been thanked: 120 times
http://www.samcoupe-pro-dos.co.uk/edwin ... osinfo.htm


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

Registrován: 29.11.2021, 03:10
Příspěvky: 57
Has thanked: 36 times
Been thanked: 12 times
Antony/DTA píše:
http://www.samcoupe-pro-dos.co.uk/edwin/software/bdos/bdosinfo.htm

Ano, tenhle dokument jsem už našel i na sam.speccy.cz.

No a mám nějaký progres, po zapnutí počítače mi to už čte nějaké sektory z harddisku a na obrazovce se objeví tento obrázek. Je to nějaká náhoda, shoda okolností, nebo je tohle správně? V nějakém dokumentu o AtomLite byla zmínka, že se při bootování DOSu objeví obrázek, tak možná to je ono? Bohužel jsem neviděl tu věc reálně v praxi bez emulátoru, jak se chová.

Obrázek

(Odkazuju na web sam.speccy.cz, kde mají úplně stejný obrázek, který se mi zobrazuje na Sam Coupé, jen na tom webu je možná ve větším rozlišení.)


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulace hard disku v ASCD
PříspěvekNapsal: 13.01.2023, 13:06 
Offline
Radil

Registrován: 18.10.2014, 23:10
Příspěvky: 377
Has thanked: 28 times
Been thanked: 120 times
Aley píše:
No tak když zapnu počítač, je tam Sam Basic. Potřebuju znát nějaké příkazy, jak se bootuje, jak se kopírují nějaké soubory nebo celé diskety/recordy, důležité je taky umět vybrat, který record se má používat atd. Kdo nezná, jak se s počítačem dělá, nedostane se za úvodní obrazovku (zvlášt ne v emulátro Sam Coupé, kde se musí zmáčknout 9 na numepadu, to je pro neznalého náhodného příchozího hodně perverzní :lol: )

Na tieto veci sú užívateľské príručky, alebo návody na použitie. Aj napriek obsiahlej príručke bolo na disketách dodávaných k Samovi napísané "Press F9 to load". :)


Aley píše:
A co se týče těch přehozených bajtů, dívám se na HDF image s těmi demy a rozhodně nemá přehozené bajty. Čili předpokládám, že to právě Atom Classic je má přehozené. (I logicky, Atom Lite pracuje 8bitově, nemá to tedy vůbec jak přehazovat. Jestli to chápu správně.)

No je to také matúce, aj ja som si to tak vysvetloval, ale prehodené je správne. Skús si prečítať data z príkazu 0xEC (Identify Drive), alebo stačí pozrieť v nejakom hexa editore začiatok hdf súboru.


Aley píše:
Ještě jeden update a dotaz, co to vlastně znamená. Používám atomlite.rom a po zapnutí to čte sektor 0 a pak nějaké sektory počínaje číslem 65. Dává to smysl?

Áno sektor 0 je boot sektor a potom nasledujú nejaké sektory vyhradené pre mená recordov. Ich počet závisí od veľkosti disku. No a až potom začína record 1. Takže sa načíta a spustí boot block a ten načíta B-DOS zo zvoleného recordu.


Aley píše:
No a mám nějaký progres, po zapnutí počítače mi to už čte nějaké sektory z harddisku a na obrazovce se objeví tento obrázek. Je to nějaká náhoda, shoda okolností, nebo je tohle správně? V nějakém dokumentu o AtomLite byla zmínka, že se při bootování DOSu objeví obrázek, tak možná to je ono? Bohužel jsem neviděl tu věc reálně v praxi bez emulátoru, jak se chová.

Zdá sa, že to funguje, blahoželám.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulace hard disku v ASCD
PříspěvekNapsal: 13.01.2023, 13:24 
Offline
Pan Generální
Uživatelský avatar

Registrován: 11.06.2013, 15:27
Příspěvky: 3025
Has thanked: 2192 times
Been thanked: 894 times
Bootovaci obrazek B-DOSu, jeho zavedeni, basicovy soubor Auto...
lze nastudovat napr. ze systemove diskety na https://sam.speccy.cz/atomlite.html


Přílohy:
disketa.png
disketa.png [ 7.37 KiB | Zobrazeno 2885 krát ]

_________________
// na co myslím, když sedím u oldkompů: Blood Products from Genetic Vaccine Recipients
Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulace hard disku v ASCD
PříspěvekNapsal: 13.01.2023, 18:18 
Offline
Kecka

Registrován: 29.11.2021, 03:10
Příspěvky: 57
Has thanked: 36 times
Been thanked: 12 times
No já tady už dělám drsný reverse engineering...

Včera jsem spravnil jednu důležitou chybu. A tak nějak částečně mi to funguje, načte to BDOS i ten obrázek, ale nepokračuje to dál nahráním menu a ani nejde udělat DIR a vidět obsah prvního recordu. :cry:

Na webu sam.speccy.cz mají obrázek výpiusu adresáře:
Obrázek

Můj HDF soubor má 131072 sektorů.
Čili je na něm 82 disket.
Čili potřebuje to 3 sektory na seznam recordů. (Na každý sektor se prý vejde 32 recordů po 16 bajtech.)

Sector 0 = boot sector
Sector 1-3 = seznam recordů
Sector 4 = zde začíná první record, na začátku jsou 4 stopy adresáře (stejně jak v SAMDOSu) - 4 stopy = 40 sektorů
Sector 44 = zde začíná první soubor, což je BDOS (má délku 21 sektorů)
Sector 65 = zde začíná druhý soubor, což je obrázek
Sector 114 = zde začíná třetí soubor - z tohoto sektoru to ale načte jen prvních 8 bajtů a dál se na sběrnici nic neděje

V logu vidím, že to čte postupně takto:
* Sector 0 = načte boot sektor
* Sector 65-113 = načte celý ten obrázek z druhého souboru
* Sector 44-64 = načte celý ten první soubor (BDOS)
* Sector 114 = první sektor třetího souboru, ale dál to nepokračuje a vyhodí chybu v Sam Basicu.

Tak jsem rád, že mám aspoň tento progres, ale je to otravné. Když člověk dělá víc částí emulace zaráz a neví, která z nich je blbě. (Sam -> AtomLite -> ATA -> harddisk -> HDF image)


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Emulace hard disku v ASCD
PříspěvekNapsal: 13.01.2023, 19:31 
Offline
Radil

Registrován: 18.10.2014, 23:10
Příspěvky: 377
Has thanked: 28 times
Been thanked: 120 times
No keď to načíta dva súbory, tak to bude asi funkčné. Nezdá sa mi, že by sa zrazu malo robiť niečo inak. Možno to nejak havaruje pri detekcii, alebo čítaní hodín DALLAS.

Skús nabootovať B-DOS z diskety (po resete podrž klávesu "2" a potom zadaj príkaz BOOT1.
Prípadne môžeš skúsiť čo zdetekuje program Diag.


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

Registrován: 29.11.2021, 03:10
Příspěvky: 57
Has thanked: 36 times
Been thanked: 12 times
Emulaci Dallas hodin nemám vůbec udělanou a když se to snaží číst ten port, vracím na sběrnici FF. Takže máš pravdu, může to být problém a nezjistím to, dokud nebudu mít tu emulaci udělanou.

Zjistil jsem taky tohle: Poté, co se mi to zasekne vždycky přesně po 8 bajtech toho prvního sektoru 3.souboru, BDOS pořád dokola čte status port ATA řadiče. A na tom portu nic zajímavého není, jen jeden bit slouží ke hlášení, jestli jsou k dispozici nějaká data sektoru. Což jsou, když máme načtených jen 8 bajtů ze sektoru a zbytek čeká. Zkusil jsem ten bit natvrdo vyresetovat. A tohle BDOS skutečně odblokuje, ale zase jen do doby, než se snažím načíst nějaký soubor. Opakuje se ta stejná chyba s načtením necelého sektoru.

A ještě jedna myšlenka: Úvodní dva soubory jdou načíst a pak to nefunguje. Podle mě ty úvodní dva soubory jsou načítány boot sektorem. Protože jako první se vždycky načte ten obrázek, až potom se načítá BDOS. A teprve potom to přeskočí do BDOSu a tam tedy asi je nějaký jiný algoritmus práce s ATA řadičem, který mi v té emualci nefunguje správně. :cry:


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ů: 31 ]  Přejít na stránku 1, 2, 3  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:  
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz