OldComp.cz

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


Právě je 28.03.2024, 20:50

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




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 32 ]  Přejít na stránku 1, 2, 3  Další
Autor Zpráva
 Předmět příspěvku: Ondra virtual bus
PříspěvekNapsal: 03.10.2023, 12:06 
Offline
Profík

Registrován: 06.02.2019, 11:47
Příspěvky: 898
Has thanked: 51 times
Been thanked: 230 times
Časť prvá, "Úvod"

Ondra, ako jeden z mála oldcomp počítačov nemá vyvedenú žiadnu systémovú zbernicu ani univerzálne porty (rovnako na tom je napr. aj Z88).
Ak by sme teda chceli pripojiť nejakú perifériu k počítaču, sme odsúdení len na jeden port tlačiarne, alebo naopak, je možné pripojiť v jednom čase len jednu perifériu.
Nejaké ďalšie info možno nájsť v Hexadecimálnom doupěti
Ale ako pripojiť viac periférií?
Začnime teóriou:
Ondra má vyvedený jeden 8 bitový port (dáta pre tlačiareň), ďalšie dva bity z ovládacieho portu (STB a TXD), jeden 7 bitový vstupný port (joystick, RXD a BUSY) s vybavovacím signálom (odvodeného od dekódera A0-A3 = 9) mapovaný do pamäťového priestoru.
RXD a TXD využíva OndraSD. Tlačový port využíva Melodik (čím jeho autor trochu skomplikoval celú situáciu).

Na výstup teda môžme použiť výstupný port tlačiarne a na vstup port ovládača.

Virtuálna zbernica je vlastne spôsob, ako emulovať zbernicu pre pripojenie ďalších periférií s prostriedkami, ktoré nám Ondra poskytuje.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Ondra virtual bus
PříspěvekNapsal: 03.10.2023, 12:48 
Offline
Profík

Registrován: 06.02.2019, 11:47
Příspěvky: 898
Has thanked: 51 times
Been thanked: 230 times
Časť druhá, "Riešenia"

Pôvodná koncepcia (z roku 2019) bola pri každom zápise alebo čítaní dát vyslať najskôr adresu periférie a následne dáta, podľa stavu signálu STB. Adresa by sa mohla zapisovať padajúcou hranou STB, a dáta vzostupnou hranou. Toto však už vďaka Melodiku nie je možné, lebo by sa musel prerobiť jeho dizajn. Riešenie by bolo aj dosť pomalé, lebo vždy by to obnášalo 4 inštrukcie OUT.

To ma priviedlo k novému návrhu, najskôr vyslať adresu periférie, ale iba jednorázovo, a následne už vysielať iba dáta. Benefitom by bola väčšia rýchlosť prenosu. Adresa by sa menila iba v prípade potreby práce s inou perifériou. Melodik by tak mohol zostať nezmenený, maximálne by bolo potrebné jemne upraviť jeho ovládaciu rutinu.
Adresa by sa zapisovala predĺženým signálom STB (keďže je vytváraný softvérovo), dáta krátkym. Dĺžka zápisu by sa dekódovala buď RC členom (fuj-beéé), alebo jednoduchým čítačom z vybavovacieho signálu joysticku. Vstupný port by sa multiplexoval, aby sa 8 bitov mohlo načítať na dvakrát po 4 bity.

Virtuálna zbernica určite nebude jednoduchá periféria, bude obsahovať dekódery, register adresy a register vstunej hodnoty alebo multilexer (na odpojenie joy). Odhadom 5-6 IO, s využitím GAL možno 4. Plus konektory.

Ďalšou alternatívou by bolo využitie sériového prenosu dát, ale to by bolo príšerne pomalé a preto som túto cestu zavrhol.

No a možno si teraz položíte otázku "a načo to bude dobré".
Ja som sa k tejto myšlienke vrátil vďaka príspevkom o multiplatformných sieťových hrách. Taký rýchly sériový interfejs s buferom by sa na to hodil.
Alebo... ale to už nechám na vás.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Ondra virtual bus
PříspěvekNapsal: 04.10.2023, 14:10 
Offline
Kecálek
Uživatelský avatar

Registrován: 27.06.2021, 15:15
Příspěvky: 113
Has thanked: 32 times
Been thanked: 178 times
Ahoj, předem osobně velmi vítám jakoukoliv aktivitu ohledně Ondry. Vzpomínám že jsi mi kdysi virtuální sběrnici psal, kdy už jsem měl Melodik hotov. Každopádně ačkoliv první návrh byl Melodikem zkomplikován, myslím že to bylo dobře, protože ten druhý návrh mi přijde lepší a trochu i koresponduje s něčím, co jsem i já měl v hlavě že by se na Ondru mělo udělat. Nehledě na to, že před Melodikem šla připojit od výroby tiskárna, tudíž tato "komplikace" tu byla vždy.

Je tedy třeba, aby se port tiskárny dal přepínat se všemi signály D0-D7, STB a BUSY na jednotlivá zařízení. A to druhé řešení by toto umělo.

Co se týče úpravy rutin ve stávajících hrách, to by nebyl problém, ale možná by to bylo zbytečné, protože ty hry nepoužívají žádné vlastnosti zatím neexistující virtuální sběrnice a uživatel si prostě připojí melodik a hraje.

V souvislosti s dalším směřováním si dovolím vypsat nějaké další myšlenky:

- v současné chvíli dokončuji ONDRA+ ROM, kde je podpora tisku na tiskárnu tak jak je a zároveň ovládání SP-210. Do Melodiku to nekoliduje, protože není použit signál STB, navíc, v BASICu není Melodik potřeba. Blbý je jen to, když si nahraju pak hru kde je Melodik a zapomenu vypnout SP-210 - následuje SP-210 v křeči i s barevnou hudbou z jeho LEDek :lol: - takže tady by to pomohlo například

- dále bych rád dodělal podporu plotru XY4131 (také byl zmiňován v dobové příručce že to plánují), tam by to bylo také jen pomocí D0-D7 nic víc netřeba.

Jinak rychlý obousměrný komunikační interfejs s bufferem proč ne - byla by to hezká věc. Ale ještě více mi chybí datové úložiště - OndraSD je skvělá věc, ale potřeboval bych i zápis, rád bych do her přidal možnost třeba ukládání score, pozic atp. zatím mohu jen na magnetofon. O nyní připravovaném BASICU ani nemluvě. Dalo by se to vše nějak skloubit?


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Ondra virtual bus
PříspěvekNapsal: 04.10.2023, 20:39 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3642
Bydliště: Bratislava
Has thanked: 371 times
Been thanked: 788 times
Martin1 píše:
Adresa by sa zapisovala predĺženým signálom STB (keďže je vytváraný softvérovo), dáta krátkym.
S rozlisovanim cohokolvek sirkou pulzu by som bol opatrny. Idealne by bolo, ak by sa periferie dali ovladat aj pocas zapnuteho zobrazovania a vtedy sa moze stat, ze sa zobrazovanie prihlasi o slovo zrovna pocas generovania kratkeho pulzu, co by ten pulz predlzilo na 15 ms (ak si dobre pametam).


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Ondra virtual bus
PříspěvekNapsal: 04.10.2023, 21:15 
Offline
Kecálek
Uživatelský avatar

Registrován: 27.06.2021, 15:15
Příspěvky: 113
Has thanked: 32 times
Been thanked: 178 times
A ještě jedno úskalí... vlastně většina stávajícího SW jsou hry. Hry pro joystick, tudíž na každou hru by se to muselo beztak odpojit nebo mít funkcionalitu takovou, že po zapnutí je to zcela průchozí od joysticku.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Ondra virtual bus
PříspěvekNapsal: 04.10.2023, 21:52 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 21.01.2021, 11:05
Příspěvky: 1581
Bydliště: Pardubice
Has thanked: 25 times
Been thanked: 238 times
Vyhodit D5 místo něj dát propojky, aby data byli na konektoru pro obousměrné řízení. Místo rezevních signálů in, out, busy a STROBE dát dvě adresy a řízení WR RD. Dekodér a náhradu D5 vystrčit ven a tím získat čtyři obousměrné porty (3+1 původní). Joystick se nezmění. Kvuli SD a music se možná musí něco zachovat tak nevim na to jsou jiní guru.

_________________
Praxe znamená, že vše funguje, ale nevíme proč. Teorie znamená, že vše víme, ale nic nefunguje.
Někdy je teorie spojena s praxí. Znamená to, že nic nefunguje a nikdo neví proč ...


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Ondra virtual bus
PříspěvekNapsal: 05.10.2023, 08:50 
Offline
Profík

Registrován: 06.02.2019, 11:47
Příspěvky: 898
Has thanked: 51 times
Been thanked: 230 times
MilasPce píše:
Vyhodit D5

Chcem sa vyhnúť zásahom do vnútra počítača, obzvlášť spojené s pájkovaním na doske
Busy píše:
S rozlisovanim cohokolvek sirkou pulzu by som bol opatrny. Idealne by bolo, ak by sa periferie dali ovladat aj pocas zapnuteho zobrazovania a vtedy sa moze stat, ze sa zobrazovanie prihlasi o slovo zrovna pocas generovania kratkeho pulzu, co by ten pulz predlzilo na 15 ms (ak si dobre pametam).

Môžeme robiť len s tým, čo nám p. Smutný nadelil. Prepínanie pri zapnutom zobrazení by naozaj nebolo možné, lebo pri zobrazení sa vďaka nedokonalému dekódovaniu aktivuje aj vybavovací signál pre joystick, takže by nešlo od neho odvodiť meranie dĺžky.
Tých cca 15ms je len pri plnom zobrazení, obecne je to 0-16ms
72ka píše:
Je tedy třeba, aby se port tiskárny dal přepínat se všemi signály D0-D7, STB a BUSY na jednotlivá zařízení.
Co se týče úpravy rutin ve stávajících hrách, to by nebyl problém, ale možná by to bylo zbytečné, protože ty hry nepoužívají žádné vlastnosti zatím neexistující virtuální sběrnice a uživatel si prostě připojí melodik a hraje.

Virtual bus by bol po reštarte v stave, kedy by bola aktivovaná hlavná periféria, teda tlačiareň (a joy). Zmena by bola nutná iba vtedy, ak by sme chceli Melodiku prideliť inú adresu.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Ondra virtual bus
PříspěvekNapsal: 05.10.2023, 09:22 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 21.01.2021, 11:05
Příspěvky: 1581
Bydliště: Pardubice
Has thanked: 25 times
Been thanked: 238 times
Magnetofonový relé bude přepínat jestli joy a music, nebo něco jiné.

_________________
Praxe znamená, že vše funguje, ale nevíme proč. Teorie znamená, že vše víme, ale nic nefunguje.
Někdy je teorie spojena s praxí. Znamená to, že nic nefunguje a nikdo neví proč ...


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Ondra virtual bus
PříspěvekNapsal: 05.10.2023, 11:42 
Offline
Profík

Registrován: 06.02.2019, 11:47
Příspěvky: 898
Has thanked: 51 times
Been thanked: 230 times
Pri pohľade do schémy mi napadla ešte jedna možnosť, ako dekódovať adresu. Malo by sa dať rozlíšiť, či hodnota bola zapísaná na port xxxx1001b alebo xxxx1101b. Musím otestovať.

Ďalšou otázkou bude, ako koncipovať interface z hľadiska konštrukcie a pripojenia ďalších modulov (čierny je Ondra, červený virtual bus, zeleným moduly).


Přílohy:
OVB.gif
OVB.gif [ 4.49 KiB | Zobrazeno 815 krát ]
Nahoru
 Profil  
 
 Předmět příspěvku: Re: Ondra virtual bus
PříspěvekNapsal: 05.10.2023, 12:00 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 21.01.2021, 11:05
Příspěvky: 1581
Bydliště: Pardubice
Has thanked: 25 times
Been thanked: 238 times
Kouknout se Joy-C jestli zabralo nebo ne i při OUT.

_________________
Praxe znamená, že vše funguje, ale nevíme proč. Teorie znamená, že vše víme, ale nic nefunguje.
Někdy je teorie spojena s praxí. Znamená to, že nic nefunguje a nikdo neví proč ...


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Ondra virtual bus
PříspěvekNapsal: 05.10.2023, 12:30 
Offline
Pan Štábní

Registrován: 12.05.2013, 22:24
Příspěvky: 1508
Bydliště: u Prahy
Has thanked: 44 times
Been thanked: 380 times
Jsem si představoval spíš destičku pod procesor s rozšířením.
Teoreticky by stačily dvě adresy, jedna po výběr 256 "periferií" (či jejich registrů) a druhá pro samotná 8bitová data.
(Jen je otázka, zda memory mapped a najít nějaké dvě "dosud nevyužité" adresy, nebo "ukrást" zobrazovacím obvodům nějaké adresy pro IN - ale v tom případě by pro zápis byl potřeba blok 256 bajtů a hodnota by se "zapisovala" čtením přislušného bajtu, navíc by bylo potřeba zajistit, aby se tato kombinace nepřenesla na samotné zobrazovací obvodyů druhou možností podobného řešení je zapisovat "ven" pomocí OUT a destička by odchytávala určitou adresu či dvě adresy pro IN i OUT bez toho, aby ji propustila dál "dovnitř Ondry".)


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Ondra virtual bus
PříspěvekNapsal: 05.10.2023, 12:45 
Offline
Kecálek
Uživatelský avatar

Registrován: 27.06.2021, 15:15
Příspěvky: 113
Has thanked: 32 times
Been thanked: 178 times
Jednoznačně jsem za jedno s Martinem že Ondra musí být bez HW úprav, jak ho nadělil Ing. Smutný, jinak mi to celé postrádá smysl a to už si můžu vzít pod ruku jiný počítač.

Rozložení bych udělal podle obrázku vpravo a nejlépe celý modul po celé šířce Ondry s tím, že se udělají průchozí i DIN konektory a zároveň se vyvedou na sběrnici ty signály pro MGF, i VIDEO a i napájení třeba na kulatý konektor. Můj důvod je ten, že mám stále v hlavě jednoduchý "obarvovač" ve stylu že tam bude separátor syncu a singálu a prohnat to přes nějaký MC1377 a obarvit celý obraz. Dokážu si představit kreativní využití ve hrách. V tom lepším případě i nějaký obarvovač co bude mít SRAM, a bude schopen obarvovat řádky ne-li celé atributy...

Na ten panýlek, skoro dock bych řekl, by se mohl udělat natvrdo i DB25 pro tiskárnu když by se vešel.

Adresování v zatemnění mi přijde OK, reálně mě nenapadá kde by to mohlo působit nějaké větší potíže. Ve hrách pojede Melodik, případně se při změně scény přebarví obraz zatím neexistujícím obarvovačem a zase se hudba pustí atp..


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Ondra virtual bus
PříspěvekNapsal: 05.10.2023, 13:53 
Offline
Profík

Registrován: 06.02.2019, 11:47
Příspěvky: 898
Has thanked: 51 times
Been thanked: 230 times
MilasPce píše:
Kouknout se Joy-C jestli zabralo nebo ne i při OUT.

Neviem dešifrovať túto vetu. AK myslíš, či dekóder funguje pri inštrukcii OUT, tak určite ano, nič mu v tom nebráni. Nanešťastie sú dosť nevhodne vybrané adresy pre periférie, takže skombinovať dekóder klávesnice je možné len pri dátovom porte tlačiarne.
M1


Naposledy upravil Martin1 dne 05.10.2023, 14:00, celkově upraveno 1

Nahoru
 Profil  
 
 Předmět příspěvku: Re: Ondra virtual bus
PříspěvekNapsal: 05.10.2023, 13:57 
Offline
Profík

Registrován: 06.02.2019, 11:47
Příspěvky: 898
Has thanked: 51 times
Been thanked: 230 times
dex píše:
Jsem si představoval spíš destičku pod procesor s rozšířením.

Procesor nie je v pätici (teda aspoň u mňa), v päticiach sú len ROMky. Vnútorná periféria by šla, ale na pripojenie ďalších by sa musela zbernica vyviesť von. A to by už bol dosť brutálny zásah.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Ondra virtual bus
PříspěvekNapsal: 05.10.2023, 14:28 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 21.01.2021, 11:05
Příspěvky: 1581
Bydliště: Pardubice
Has thanked: 25 times
Been thanked: 238 times
Nahradit D5 propojkami vidím jako dobrý kompromis. Když se tam dá patice lze to snadno vrátit.

_________________
Praxe znamená, že vše funguje, ale nevíme proč. Teorie znamená, že vše víme, ale nic nefunguje.
Někdy je teorie spojena s praxí. Znamená to, že nic nefunguje a nikdo neví proč ...


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ů: 32 ]  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: Antony/DTA a 11 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