OldComp.cz

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


Právě je 27.04.2024, 08:52

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




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 21 ]  Přejít na stránku Předchozí  1, 2
Autor Zpráva
 Předmět příspěvku: Re: PMD-85 a modul SIF-85
PříspěvekNapsal: 12.09.2023, 08:32 
Offline
Profík

Registrován: 28.07.2018, 14:37
Příspěvky: 932
Has thanked: 43 times
Been thanked: 414 times
Nad touto variantou popřemýšlím. To asi má své výhody.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PMD-85 a modul SIF-85
PříspěvekNapsal: 12.09.2023, 10:13 
Offline
Radil
Uživatelský avatar

Registrován: 13.05.2013, 17:48
Příspěvky: 531
Bydliště: Košice
Has thanked: 430 times
Been thanked: 265 times
Zamýšľam sa, či je z pohľadu PMD 85 a kompatibilných nutné vymýšľať nový sériový IF slúžiaci na prepojenie a vzájomnú komunikáciu počítačov.
Ako tu už naznačil EC1045.01, PMD 71 pre PMD 85, C2717 a Didaktik Beta obsahujú sériový IF postavený na 8251, kde je 4 vodičová diferenčná linka (v podstate RS 485), kde sa po dvoch vodičoch prenášajú hodiny a po ďalších dvoch dáta.
Prenos je synchrónny a rýchlosť prenosu je nastavená, ak sa nemýlim a správne si to pamätám z komentovaného monitora C2717, okolo 100 kBd, takže aj keď je to v podstate zrejme iba polo-duplex, tak by to bolo asi dosť "svižné".
Samozrejme, ostatné nepríbuzné platformy by sa museli prispôsobiť.
A opäť, bude to závislé na tom, že k tomu niekto nejaký SW napíše. HW bez SW je iba mŕtvy artefakt.

_________________
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: PMD-85 a modul SIF-85
PříspěvekNapsal: 12.09.2023, 11:24 
Offline
Profík

Registrován: 28.07.2018, 14:37
Příspěvky: 932
Has thanked: 43 times
Been thanked: 414 times
Já jsem právě po shlédnutí PMD-71 trochu znejistěl, co je to za dílo. Asi jim to jelo, jinak by to nevyráběli. Ale řešení obvodu přerušení je takové nějaké divné. To už bych zkopíroval tu část s přerušením podle jedné karty pro SAPI (DMK-1?). Tam to vypadá kulturně.

Ale já teď spíše řeším kolizi na signálu přerušení, pokud by UART (jakýkoliv) dal požadavek na přerušení těsně před tím, než dá požadavek MIF-85. Pak by se požadavek od MIF-85 ztratil. Takže řeším nějaký paměťový obvod, který by si zapamatoval a pozdržel požadavek od MIF-85. Jenom nevím, kdy ten požadavek od MIF-85 následně uvolnit, protože nemáme vyveden signál INTE nebo jeho ekvivalent. Jiný pohled na věc je, že souběžně asi nikdo MIF-85 a sériový interface používat nebude. Moc to nedává smysl.

S dnešním stupněm integrace by se možná mohly udělat nové vnitřnosti do krabičky PMD-71 a byl by tam jak RS232C tak i RS422/RS485. Funkčně by to bylo samozřejmě kompatibilní s PMD-71. Originálů PMD-71 asi stejně moc nebude.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PMD-85 a modul SIF-85
PříspěvekNapsal: 12.09.2023, 11:55 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3675
Bydliště: Bratislava
Has thanked: 373 times
Been thanked: 798 times
Libor L.A. píše:
Ale já teď spíše řeším kolizi na signálu přerušení, pokud by UART (jakýkoliv) dal požadavek na přerušení těsně před tím, než dá požadavek MIF-85. Pak by se požadavek od MIF-85 ztratil. Takže řeším nějaký paměťový obvod, který by si zapamatoval a pozdržel požadavek od MIF-85.
Pokial dve rozne zariadenia davaju to iste prerusenie, tak sa to riesi obvykle tak ze kazde zariadenie ma v sebe nejaky flag ktory signalizuje ze vyvolalo prerusenie a rutinka na obsluhu prerusenia si flagy na zariadeniach pozrie a vie ktore zariadenie sposobilo prerusenie a to obsluzi (kludne aj obe naraz). Takto je to riesenie napr. v seriovom porte v architekture *51 kde aj RX aj TX su zavesene na jednom preruseni, takze ked dojde k preruseniu, rutinka si najprv musi zistit, k comu doslo - ci sa bajt prijal, alebo uz mozno odvysielat dalsi bajt.
MilasPce píše:
Kdysi jsem řešil sériovou linku u malého počítače použitím AT89C2051 na RS485. Výhodou byla jistá inteligence a odlehčení hlavnímu CPU. ... mělo to velkou vyrovnávací paměť což byla super výhoda
Presne na AT89C2051 je tiez zalozeny moj seriak Miki ktory som si kedysi robil k ZX Spektru. Pripaja sa nie priamo na pocitac, ale na 8255 (vyuziva porty A,C), takze sa da priamo pripojit k akemukolvek pocitacu ktory disponuje tymto obvodom, teda aj k PMD85. Prerusenie som hardwerovo nijak neriesil, pretoze vyrovnavaci buffer v pameti AT89C2051 je dostatocne velky na to, aby sa aj pri rychlosti 115200 Bd stacilo len raz za 1/50 sekundy pozriet ci su nejake prijate data / ci uz sa mozu odvysielat dalsie data a tym padom staci celu obsluhu zavesit na standartne 50 Hz prerusenie. V pripade PMD85 postaci prerusenie od MIF85.

Ale ako uz napisal rombor, PMD85 uz seriak v podobe 8251 v sebe obsahuje, podla mna by bola lepsia (a viac retro) cesta vyuzit ten.
Ale ako uz napisal Libor L.A., chyba mu dost vlastnosti (prerusenie, riadenie toku) ktore by si vyziadali (pravdepodobne netrivialne) HW upravy, takze ten software by sa aj tak nedal pouzit na originalnom PMD85 s 8251. Asi bude predsa len schodnejsia cesta s pouzitim (podla mna ovela lepsieho) 16C550 alebo nejakeho jednocipu.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PMD-85 a modul SIF-85
PříspěvekNapsal: 12.09.2023, 12:08 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3675
Bydliště: Bratislava
Has thanked: 373 times
Been thanked: 798 times
Libor L.A. píše:
Problematikou přerušení versus používání registru SP pro jiné účely než je STACK, bych se nezabýval. Kdyby to byl problém neřešitelný, nefungoval by zvukový modul MIF-85. Ano, přerušení koliduje s procedurami BIOSu na některých typech PMD-85, ale aplikace pro externí UART s přerušením budou počítat a kolizi se vyhnou.
Suhlasim, ak bezi aplikacia v povolenom preruseni, nebude robit mazanie obrazovky cez stack :)

Ale inak konkretne mazanie obrazovky (alebo akejkolvek pameti) pomocou sekvencie PUSH sa s prerusenim vobec nebije. Ak nastane prerusenie, adresy a registre sa sice naPUSHuju do obrazovky, ale hned po navrate z prerusenia sa tieto naPUSHovanie udaje na stacku zase premazu pokracovanim sekvencie PUSH, takze obrazovka zostane pekna cista.

Jedine riziko moze nastat ak prerusenie nastane tesne pred koncom alebo prave na konci sekvencie PUSH, tam kde SP ukazuje na zaciatok (alebo blizko zaciatku) mazanej oblasti. Vtedy mozu prerusenim naPUSHovane udaje poskodit oblast pameti, ktora sa nachadza tesne pred mazanou oblastou. V pripade PMD85 by to bol zapisnik systemu vedla obrazovky alebo adresy okolo #BFFF. Toto sa da osetrit tak, ze potrebny pocet bajtov na zaciatku mazanej oblasti sa uz nerobi PUSHmi cez zasobnik, ale domaze "rucne" klasickymi instrukciami.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PMD-85 a modul SIF-85
PříspěvekNapsal: 12.09.2023, 13:24 
Offline
Radil

Registrován: 18.10.2014, 23:10
Příspěvky: 377
Has thanked: 28 times
Been thanked: 120 times
Busy píše:
Toto sa da osetrit tak, ze potrebny pocet bajtov na zaciatku mazanej oblasti sa uz nerobi PUSHmi cez zasobnik, ale domaze "rucne" klasickymi instrukciami.

Ak sa pre prerušenie použije vlastný stack, tak stačí domazať "ručne" len 2 bajty. Nedávno som takto použil SP aj na mazanie výrezu obrazovky kde sa "ručne" domazáva každý riadok. Samozrejme, ak to ide, je jednoduchšie tých pár potrebných bajtov pred mazanou oblasťou rezervovať pre možné použitie ako stack.


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ů: 21 ]  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 52 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