OldComp.cz

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


Právě je 28.03.2024, 12:29

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




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 225 ]  Přejít na stránku Předchozí  1 ... 11, 12, 13, 14, 15  Další
Autor Zpráva
 Předmět příspěvku: Re: HW násobička MH1020
PříspěvekNapsal: 23.03.2021, 13:21 
Offline
Óm Nejvyšší

Registrován: 16.06.2014, 12:23
Příspěvky: 3676
Bydliště: Jesenice u Prahy
Has thanked: 28 times
Been thanked: 280 times
Zkušební otázka : jakým signálem přivedeným na MH102 to budeš aktivovat ?

_________________
Diagnóza: Touretteův syndrom, Koprolálie, Dyslexie, Obsedantně kompulzivní porucha.
Kalkulačky: Privileg PR56, TI51-III, TI57, TI58, TI59, TI83, TI-83 Premium CE, TI89
Počítadla: BOBO64, ZX48 plus, DG-88, Didaktik-M, C16, C64C, Amiga 500+, MZ800, MUPID C2A2


Nahoru
 Profil  
 
 Předmět příspěvku: Re: HW násobička MH1020
PříspěvekNapsal: 25.03.2021, 12:00 
Online
Óm Nejvyšší
Uživatelský avatar

Registrován: 07.07.2019, 22:14
Příspěvky: 3766
Has thanked: 269 times
Been thanked: 452 times
Jak si tak čtu o FPU rovnou do patice, tak mě dnes udeřilo do očí způsob jejího napájení a komunikace. Ono to totiž nejede na TTL úrovních. To mi našeptává, že bude nejspíš potřeba ještě modifikace napájení VCC do patice v počítačích aby tam lezlo 5V (rezistor pryč nebo vyměnit aby tam lezla kýžená hodnota), nebo s tím bez modifikace počítat že to není TTL. Bezpečnější by bylo v 8bitu nic nemodifikovat a použít to tak jak to tam je.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: HW násobička MH1020
PříspěvekNapsal: 25.03.2021, 12:12 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 24.05.2018, 22:32
Příspěvky: 1972
Bydliště: Most, Praha
Has thanked: 863 times
Been thanked: 697 times
Odpor 33R v napájení by nemusel ničemu vadit, vzhledem k malým odběrům použitých součástek, ne? A že má MH otevřené kolektory a tady by to byly CMOS, to by snad také nemuselo ničemu vadit.

_________________
i++ (INC) increment
i-- (DEC) decrement
i@@ (EXC) excrement


Nahoru
 Profil  
 
 Předmět příspěvku: Re: HW násobička MH1020
PříspěvekNapsal: 25.03.2021, 12:41 
Offline
Óm Nejvyšší

Registrován: 16.06.2014, 12:23
Příspěvky: 3676
Bydliště: Jesenice u Prahy
Has thanked: 28 times
Been thanked: 280 times
Ze strany 8080 je to echtovní TTL, dokonce by tam měly být na sběrnici pullupy, aby ta MH102 správně fungovala.
33R v napájení ničemu nevadí, pokut tam nebude monstrum se dvěma MH3212, hejnem logiky a převodníků úrovní.
Jediné co si ten koprocesor zaslouží, je příprava signálů /CS, /RD, /WR tak, aby nemusel generovat hradlo, což jde programem skutečně hůře, než singl hradlem v sc70-6 pouzdře :D

_________________
Diagnóza: Touretteův syndrom, Koprolálie, Dyslexie, Obsedantně kompulzivní porucha.
Kalkulačky: Privileg PR56, TI51-III, TI57, TI58, TI59, TI83, TI-83 Premium CE, TI89
Počítadla: BOBO64, ZX48 plus, DG-88, Didaktik-M, C16, C64C, Amiga 500+, MZ800, MUPID C2A2


Nahoru
 Profil  
 
 Předmět příspěvku: Re: HW násobička MH1020
PříspěvekNapsal: 03.04.2021, 16:32 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 24.05.2018, 22:32
Příspěvky: 1972
Bydliště: Most, Praha
Has thanked: 863 times
Been thanked: 697 times
Pokračuje někdo s MH1020?

Stále mi leží v hlavě, a uvažuji - kdyby se použil IO pro napěťové přizpůsobení 5V/3.3V, tak by se celkem dal použít Raspberry Pico. Sice nemá hw matematiku, float výpočet některých funkcí může trvat až 13 us, ale třeba by taková rychlost stačila. Obsluha sběrnice by šla dělat přes PIO. Ve spojení s DMA a IRQ může mít reakci na signály za pár taktů hodin. Jedna z výhod - nevyžaduje letovat SMD a dá se naprogramovat bez potřeby programátoru, tj. každý si to může postavit doma sám.

_________________
i++ (INC) increment
i-- (DEC) decrement
i@@ (EXC) excrement


Nahoru
 Profil  
 
 Předmět příspěvku: Re: HW násobička MH1020
PříspěvekNapsal: 03.04.2021, 20:00 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 24.05.2018, 22:32
Příspěvky: 1972
Bydliště: Most, Praha
Has thanked: 863 times
Been thanked: 697 times
V jiném vláknu jsem si zkusil náznak obsluhy sběrnice přes PIO ( viewtopic.php?p=123285#p123285 ), a přijde mi že reakce Pico na sběrnici by mohla být 0,1 us (dalo by se vypilovat a i přetaktovat). Po přidání oddělovače 5V/3.3V by Pico už další hardware nemusel potřebovat a mohl by fungovat dobře jako koprocesor.

_________________
i++ (INC) increment
i-- (DEC) decrement
i@@ (EXC) excrement


Nahoru
 Profil  
 
 Předmět příspěvku: Re: HW násobička MH1020
PříspěvekNapsal: 06.05.2022, 22:50 
Online
Óm Nejvyšší
Uživatelský avatar

Registrován: 07.07.2019, 22:14
Příspěvky: 3766
Has thanked: 269 times
Been thanked: 452 times
Zdravím všechny, nějakou dobu to tu usnulo ale mám v plánu toto téma provětrat. Po slušně řečeno debaklu s MH102, která se fungování v PMD 85 brání zuby nehty takovým způsobem že PMD z toho jde do kolen nebo na portu čaruje nesmyslné hodnoty jsem se zaměřil zpět na své oblíbené ALU Am9511A. To bych rád zkusil připojit do K1 coby náhradu ROM modul konektoru. Protože ale tohle FPU je poněkud jiná liga než jednoúčelovka MH102 a s počítačem samo aktivně komunikuje v závislosti na fázi výpočtu, dospěl jsem k názoru že ty jeho cca 4 řídící signály nejlépe obslouží MHB 8255A a zároveň když už je ta možnost bych chtěl připojit "normální" DSUB Cannon 25 pin LPT port s plnou signálovou výbavou pro paralelní tiskárny. Udělal jsem si prvotní schéma a teď uvažuju jak dál a jak tomu vychytat blechy.

Takže 8255A bych nakonfiguroval tak, že bránu A bych použil na DATA pro LPT spolu s horními 4 bity brány C na invertované signály LPT pomoci 74LS04.

Bránu B bych použil jako IN pro LPT pro signály co jdou jenom do počítače a spodními 4 bity Brány C co je v této konfiguraci spojena s branou B bych vyčítal komunikační signály FPU. Potenciální problém vidím v signálu /CS1 co zapíná FPU. Sice jsem ho tam dal ale hádám že když se brána přepne z režimu zápisu do režimu čtení, tak to hodnotu /CS1 shodí a FPU se vypne. A signál SELECT jsem využil aby přepínal směr dat, tedy LOW data dovnitř a HIGH data ven. U obou věcí si nejsem moc jistý ale tady se určitě najdou lidi co ví jaký signál a která páčka :-).

Použil jsem všechny vývody té 8255 a možná funkční řešení by bylo použít ty 8255 dvě jako to má PMD na desce periferií, kde se o 3 porty stará dvojice 8255A. Dost fousů bych získal vyhodit ten LPT ale to mi zase přijde trochu škoda :-).

Pro jen teoreticky úspěšné připojení FPU do PMD 85 je samozřejmě potřeba vyměnit čip MH8228 za i8238, ale ten čip mám tak není problém.

Takže kdo budete mít chuť se na to podívejte zda tam neobjevíte nějaké chyby ať se jich mohu případně zbavit. A samozřejmě každý nápad jak jít na to připojení je vítaný. To FPU je násobně rychlé než 38 MHz Z180 tak to pro 2 MHz 8080A bude návštěvník z jiných světů.


Přílohy:
PMD 85 Am9511A.pdf [85.75 KiB]
89 krát
Nahoru
 Profil  
 
 Předmět příspěvku: Re: HW násobička MH1020
PříspěvekNapsal: 07.05.2022, 20:19 
Offline
Pan Štábní

Registrován: 11.11.2013, 10:29
Příspěvky: 1198
Has thanked: 359 times
Been thanked: 304 times
Ja jsem to pripojeni k Sharpovi vyresil takto:
Příloha:
MZ-ALU_CTC_brd.pdf [122.32 KiB]
84 krát
Treba ti to trochu pomuze.
U Z80 jsem nemusel resit casovani a prodlouzeni casu u i8228/i8238. Protoze Sharp nema +12V, tak jsem to resil DC/DC menicem. Zkousel jsem AM9511 na 2MHz. i na 4MHz. Nejvice me trapilo to, jak ta ALU hrozne topi. Nakonec mam rozsirujici desku i s pridavnym ventilatorem.

_________________
Sharp MZ-800++, MZ-1500++, MZ-2500++, SM-B-80T, MK-14_replica, HP-85, ZX-80+replica, ZX81, ZX-Spectrum+replica++, PMI-80+replica, SAM coupe++, PMD-85-2A+3, Didaktik-M, SORD-M5, TI-57, TI-59+PC-100, TI99/4A, ZetaV2+ppp, ZX-uno, Petr


Nahoru
 Profil  
 
 Předmět příspěvku: Re: HW násobička MH1020
PříspěvekNapsal: 07.05.2022, 21:40 
Online
Óm Nejvyšší
Uživatelský avatar

Registrován: 07.07.2019, 22:14
Příspěvky: 3766
Has thanked: 269 times
Been thanked: 452 times
Díky za schéma, já si říkal že tu bude potřeba 2 řídící CS signály ale chtěl jsem ten druhý pro FPU tvořit pomocí 8255A aby FPU držel uvnitř data a pohodlně se ovládal. Víceméně by stačil nějaký klopný obvod co by se signálem ze 74LS138 zapnul a držel CS pro FPU a dalším pulzem by se zase vypnul. Ale pořád je nutné číst/zapisovat výstupy FPU aby PMD mohl zjistit v jaké fázi se výpočet nachází (i když vzhledem k rychlosti PMD a FPU mám trochu obavu že dřív než se stihne zeptat, FPU bude s výpočty hotové :lol: ) tak by sám o sobě nestačil. Musí to být vzhledem k řízení FPU, čtení/zápis do registrů, INT a tak a tady se nabízí ta 8255A. Jen mi přišlo trochu škoda z ní použít vlastně jen 4 vodiče a zbytek nepoužít na LPT.

Ale asi to zatím opustím protože to hodně zesložiťuje konstrukci (další adresy, 8286 navíc aby se tahaly signály ven silněji a bezpečněji, 74LS04, prostě spousta pruzení...). A PC LPT má navíc ještě 3 pr..krát víc šílených signálů co se musí hlídat. Docela mě zajímá jak LPT mění směr dat kvůli té 8286 - jestli pomocí SELECT? Aby to běhalo oboustranně tak se musí posilovače umět přepínat, natvrdo do 8255 se mi to připojovat nechce, lehce se odpálí. PMD to na desce periferií na K3 a K4 tak má přes samostatný pin 8 ale tady na 25 pinovém LPT není místo a hlavně by to pak nebylo kompatibilní s běžnými kabely což tu byl můj cíl - triviální připojení LPT tiskárny na PC konektor.

Při odstřižení LPT by se dala brána A použít samostatně na všechny řídící signály co chodí oboustranně a 4 bity C načítat čistě pro vstupní signály. Data by si lítaly přímo, mimo 8255. Co signál INT, ten asi bude vhodné připojit na INT od CPU přímo? A FPU používá A0 jako C-/D. Ten by se asi taky dal přesunout na 8255A aby se ten bit uvolnil když by bylo hodně linek ale výrazně by se to celé zpomalilo (místo změny bitu v adrese by se musel kontaktovat 8255 a zapsat hodnota a je to spojené se zápisem a čtením dat z FPU čili neustále používané) a znemožnilo by to budoucí připojení plnotučného LPT.

Že to FPU topí s tím jsem smířený, ono vzhledem k příkonům a napětím to vychází na cca 1,5W ztrátového tepla což při velikosti toho FPU je docela hodně. Tak na to půjde pasiv to není nic tak zásadního. Chci si připravit 2 díry okolo aby se dal na pcb dobře přidělat. Fí použiju z PMD 2 MHz, to bude určitě stačit a pojede to synchronně, tedy žádné maturace s časováním.

PMD všechna napětí má tak to je zjednodušení konstrukce i když jen o trošku.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: HW násobička MH1020
PříspěvekNapsal: 08.05.2022, 11:50 
Online
Óm Nejvyšší
Uživatelský avatar

Registrován: 07.07.2019, 22:14
Příspěvky: 3766
Has thanked: 269 times
Been thanked: 452 times
Tak ať to převracím zleva doprava, pořád mi schází jeden signál. A to /PAUSE, který počítači oznamuje, že FPU je připravené k přenosům dat a práci. Když FPU dokončí práci, vyšle signál /END, co se připojí na interní /INT a tím způsobí přerušení.

Mikešův Sharp má signál EX_WAIT, který se pro toto dá použít, ale PMD bohužel žádný takový signál WAIT nemá. Dalo by se to trochu obejít obsazením jednoho konektoru dole, který by se používal pro vyčítání tohoto signálu ale zase by to poněkud vyřadilo daný konektor z práce. Nejlepší by byl K6, ten se nepoužívá ani pro PMD32 SD, myš, MIF85 či joysticky. Zase je to taková poněkud HW prasárnička i když je mi už teď jasné kolik uživatelů této kouzelné kombinace ve finále bude :-). Nebo softwarově, program musí mimo první použití počkat až FPU vyhodí přerušení ale musí se to zase pořád hlídat. To FPU je typicky více než 10x rychlejší na výpočty, rozsah je 95 - 350 cyklů s průměrem kolem 167, takže je i možné že 8080 je tak pomalá, že to vlastně není problém. Nevím co všechno se vleze do 350 cyklů 8080A ale hádám že zase tak moc toho nebude.

Po projití PMD jsem si všiml, že 8080A má na pinu 24 nezapojený signál WAIT, nedalo by se trošku bastlit? :mrgreen:


Nahoru
 Profil  
 
 Předmět příspěvku: Re: HW násobička MH1020
PříspěvekNapsal: 08.05.2022, 13:28 
Online
Óm Nejvyšší
Uživatelský avatar

Registrován: 07.07.2019, 22:14
Příspěvky: 3766
Has thanked: 269 times
Been thanked: 452 times
Zatím nejvíce minimalistické řešení za použití signálu WAIT do CPU... Mohlo by to takhle fungovat?


Přílohy:
PMD 85 Am9511A VER3.pdf [47.3 KiB]
66 krát
Nahoru
 Profil  
 
 Předmět příspěvku: Re: HW násobička MH1020
PříspěvekNapsal: 08.05.2022, 14:29 
Offline
Profík

Registrován: 28.07.2018, 14:37
Příspěvky: 917
Has thanked: 43 times
Been thanked: 411 times
Pin 24 CPU není myslím to, za co jej považuješ. Je to výstup, který značí, že byl WAIT stav zařazen. Pokud by jsi chtěl, aby Am9511A vkládal čekací stavy, musel by ses funkcí OR AND dostat za hradlo EXOR na základní desce, které je připojeno na vstup CPU, označený READY. Ten vstup READY je podle mne to, co Ty potřebuješ.

Ale vzhledem k celkové situaci bych výstup /PAUSE testoval programově. Využil bych stávající adresový dekodér 74138 a pomocí přidaného budiče 74ALS125 bych ten /PAUSE pouštěl na sběrnici a testoval jeho hodnotu jako další port. 74ALS125 má celkem 4 třístavové budiče, takže můžeš na sběrnici pustit až čtyři stavové signály.

Jinak smyčka:

IN port
ANI maska
J(N)Z cykl

zabere v podmínkách PMD-85 myslím 32 taktů CPU. Pokud budeš chtít čekat dříve zmíněné nižší stovky taktů (pokud to byly takty CPU), můžeš v té smyčce testovat nebo dělat i něco jiného.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: HW násobička MH1020
PříspěvekNapsal: 08.05.2022, 15:15 
Online
Óm Nejvyšší
Uživatelský avatar

Registrován: 07.07.2019, 22:14
Příspěvky: 3766
Has thanked: 269 times
Been thanked: 452 times
Aha, stačil by jeden, maximálně 2 - to /PAUSE že FPU je připravené a případně ještě SVREQ coby druhý pomocný signál že FPU dopočítalo ale to asi moc smysl nemá u takto jednoduchého zapojení. Jenže když se přepne adresa portu na další fous 74LS138, nevypne se mi zároveň to FPU když přijde o /CS? Podle popisu by nemělo, řídí jen komunikaci na sběrnici ale raději se blbě zeptám než pak zase lovit náhodné hodnoty :twisted:.

Nejrychlejší výpočty trvají okolo 97 taktů, ty běžné okolo 166 až 220 a jen jeden nejdelší 350 taktů. Protože ty nejčastější jsou i nejrychlejší, přijde mi škoda čekat 4x nebo 2x dlouho než je potřeba ve většině případů - počty FPS ve 3D střílečkách pak půjdou nahoru ;).


Nahoru
 Profil  
 
 Předmět příspěvku: Re: HW násobička MH1020
PříspěvekNapsal: 08.05.2022, 16:05 
Online
Óm Nejvyšší
Uživatelský avatar

Registrován: 07.07.2019, 22:14
Příspěvky: 3766
Has thanked: 269 times
Been thanked: 452 times
Vytvořil jsem verzi s tou 74ALS125, vypadá to dobře, nepotřeboval jsem ani jeden prokov. Jedna adresa přes 74LS138 aktivuje FPU, druhá aktivuje 74LS125, která v případě že je /PAUSE LOW čili FPU je připraveno na komunikaci, vypíše do D0 HIGH a pokud je /PAUSE HIGH tedy FPU něco dělá, vypíše do D0 LOW pokud jsem to správně pochopil... :twisted:

Pro osazení chladiče na FPU jsem připravil dvě montážní díry.

Pokud to takhle bude vypadat funkčně, tak bych to nechal vyrobit, moc jsem se s tím taháním spojů nemazal. Snad se toto FPU bude s PMD na rozdíl od MH102 ochotné bavit :-).


Přílohy:
PMD 85 Am9511A VER4.pdf [50.03 KiB]
71 krát
FPU.png
FPU.png [ 64.85 KiB | Zobrazeno 1811 krát ]
Nahoru
 Profil  
 
 Předmět příspěvku: Re: HW násobička MH1020
PříspěvekNapsal: 08.05.2022, 17:55 
Offline
Profík

Registrován: 28.07.2018, 14:37
Příspěvky: 917
Has thanked: 43 times
Been thanked: 411 times
Máš prohozené /PAUSE a /CS1 na tom budiči 74125. A rovnou bych zadrátoval i zbylé tři budiče, i když by měly ty ostatní bity nést jen nějakou jalovou informaci. Je dobře, že jsi /PAUSE zadrátoval na D0. Nejde jen o nějakou symboliku, ony D0 a D7 se totiž dají testovat o něco rychleji než ostatní "vnitřní" bity v bajtu. Namísto maskovací instrukce ANI "maska" stačí udělat RAL nebo RAR.

To, že u dekodéru 74138 využíváš dva výstupy, to vůbec nevadí. Každý přístupový cyklus k periferii se provede celý, tak jak má. To zajistí CPU ve spolupráci s 8224 a 8228. Nic se nepřeruší.

DOPLNĚNO: Pozor na adresy periferií. Máš v tom nějaký chaos. Pohlídej si, aby obě periferie měly A2=A3=A7=log.1. Jinak dojde ke kolizi s vnitřními periferiemi PMD-85 (klávesnice, ROMPACK, deska interface). A zkus si vydekódovat i A1.


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ů: 225 ]  Přejít na stránku Předchozí  1 ... 11, 12, 13, 14, 15  Další

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


Kdo je online

Uživatelé procházející toto fórum: Czech Human, Google [Bot] a 10 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