OldComp.cz

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


Právě je 28.03.2024, 10:03

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




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 196 ]  Přejít na stránku 1, 2, 3, 4, 5 ... 14  Další
Autor Zpráva
 Předmět příspěvku: Re: Oživování PP01
PříspěvekNapsal: 18.08.2020, 22:54 
Offline
Óm Nejvyšší
Uživatelský avatar

Registrován: 07.07.2019, 22:14
Příspěvky: 3766
Has thanked: 269 times
Been thanked: 452 times
Ne že by to bylo aktuální ale co se týká stránkování RAM u PP-01, dalo by se uvažovat o sram 1024K x 8 v DIP pouzdru 32? Řekněme IS61C1024 15 ns. Jsou po 128 kB, 8bitové, celkem levné a ebay je jich plná... Bylo by jich třeba 1 až 8 kusů podle požadované kapacity 192 - 1024 kB.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Oživování PP01
PříspěvekNapsal: 14.09.2020, 10:43 
Offline
Óm Nejvyšší
Uživatelský avatar

Registrován: 07.07.2019, 22:14
Příspěvky: 3766
Has thanked: 269 times
Been thanked: 452 times
Zajímá mě, co je potřeba dát dohromady aby se dala použít pro RAM do 8bitu nějaká SRAM cache? Získal jsem pár 128kB SRAM série IS61C1024-15N tak se zajímám o PP-01, které umí stránkovat "od přírody." Jsou to 32 nožkové SRAM s organizací 1024x8 a jedou na 5V, tak by se mělo dát rovnou elektricky připojit a namapovat vždy celých 128kB jako dvě stránky. Pro začátek třeba jen 128/256 kB coby jeden až dva kusy na PCB, stejně to celé v nejlepším případě skončí jako kuriozita.

Ty SRAM jsem koupil zde: https://www.ebay.com/itm/10pcs-IS61C1024-15N-IS61C1024-128K-x-8-HIGH-SPEED-CMOS-STATIC-RAM-DIP-32/391775544885?_trkparms=aid%3D111001%26algo%3DREC.SEED%26ao%3D1%26asc%3D225074%26meid%3D1dfcbe53cd5a4c5bb9c5974ac14e80d4%26pid%3D100675%26rk%3D1%26rkt%3D15%26mehot%3Dnone%26sd%3D391775544885%26itm%3D391775544885%26pmt%3D0%26noa%3D1%26pg%3D2380057%26brand%3DUnbranded&_trksid=p2380057.c100675.m4236&_trkparms=pageci%3A5ad99a7b-f678-11ea-a9e3-74dbd1804a82%7Cparentrq%3A8c3e723f1740a9e423105bf4ffff5fea%7Ciid%3A1

Řekl bych že teoreticky by se to dalo použít i pro "PMD 85-3+" když by se původní RAM odpojila a nahradila jednou SRAM pro 64/128KB, nebo dvěma kusy pro 256 kB verzi dle ideového návrhu bratří Bóriků... SRAM by třeba umožnila i vyšší výkon když by se VIDEO a CPU nehádali tak často o data nebo by bylo dost RAM pro barevnější režimy, dát grafice stránkování :-). S 320x200 v 8bitech nebo 640x400 ve 2 bitech už by bylo hezky pécedlovité rozlišení.


Přílohy:
IS61C1024-15N.pdf [82.35 KiB]
324 krát


Naposledy upravil Czech Human dne 14.09.2020, 13:02, celkově upraveno 1
Nahoru
 Profil  
 
 Předmět příspěvku: Re: Oživování PP01
PříspěvekNapsal: 14.09.2020, 13:01 
Offline
Profík

Registrován: 26.11.2018, 16:59
Příspěvky: 580
Bydliště: Holešov
Has thanked: 13 times
Been thanked: 90 times
Czech Human píše:
Zajímá mě, co je potřeba dát dohromady aby se dala použít pro RAM do 8bitu nějaká SRAM cache? Získal jsem pár 128kB SRAM série IS61C1024-15N tak se zajímám o PP-01, které umí stránkovat "od přírody." Jsou to 32 nožkové SRAM s organizací 1024x8 a jedou na 5V, tak by se mělo dát rovnou elektricky připojit a namapovat vždy celých 128kB jako dvě stránky. Pro začátek třeba jen 128/256 kB coby jeden až dva kusy na PCB, stejně to celé v nejlepším případě skončí jako kuriozita.


co se HW týče tak asi jednoduchá logika na signály CE a něco co tu paměť bude stránkovat po zvolených blocích do 64kB prostoru... PP01 stránuje po 4kB, organizátor paměti už má, tady je to po HW stránce asi jednoduché.

Ale největší zádrhel je v SW podpoře aby tu přidanou paměť vůbec něco využilo... (s čímž nepočítá žádný 8-bit, ani PP01)


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Oživování PP01
PříspěvekNapsal: 14.09.2020, 13:13 
Offline
Óm Nejvyšší
Uživatelský avatar

Registrován: 07.07.2019, 22:14
Příspěvky: 3766
Has thanked: 269 times
Been thanked: 452 times
Taky si říkám ale zase když nic není tak nic nevznikne a tak dokolečka. To je jako virtuální PMD s 256kB RAM, kde nic není nic nevznikne. Doteď je to jen v emulátoru a použité pouze pro levely Lemris nebo Dizzyho. Je škoda že tehdy nebyl nějaký OS co by to uměl, stránkovat. Holt je to takové trochu vejce a slepice naruby.

Přijde mi mým laickým pohledem že ta obtížnost to k tomu počítači připojit je asi nejmenší z dostupných variant a i vzhled je velmi oldcompoidní díky DIL pouzdru a bylo by to fyzicky malé. Stačil by připojit i jeden čip zatím, na testy. Jen by musel vzniknout nějaký malý OS co by s bankováním počítal, nebo na začátku alespoň testovací program co by zapisoval a četl data do/z bank. To by asi nebylo až tak složité napsat, jen by k posílání dat navíc šachoval se stránkami. V PP by to byla skutečně jen SW záležitost. A když už to bude spolehlivě běhat, dá se vymýšlet program co by to teprve reálně využil. I těch 128 kB navíc je u 8bitu hodně paměti.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Oživování PP01
PříspěvekNapsal: 14.09.2020, 13:58 
Offline
Radil

Registrován: 26.05.2013, 14:18
Příspěvky: 521
Bydliště: Šalingrad
Has thanked: 88 times
Been thanked: 56 times
Ideálně CP/M, ať je zajištěná kompaktibilita programů.. aspoň z části.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Oživování PP01
PříspěvekNapsal: 14.09.2020, 14:46 
Offline
Ó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 jsem se zamýšlel tak bych řekl že by na jen jednu 128kB paměť stačilo tu SRAM nadrátovat přímo na sběrnici, protože má 17 bitů adresní vstup (A0-A16) a PP poskytuje 20 (A0-A19) a signály zápis povolen, čtení povolené a ty dva chip enable signály slouží pro úsporu energie. A protože nemá žádné refreshe a je >10x rychlejší než DRAM v PP, tak její signál ready do sběrnice I41 by byl pořád zapnutý. Nic jiného než PP by do ní stejně nelezlo tak by to snad nevadilo. Přemýšlím špatně nebo to takhle pro jednu SRAM dává smysl? Na "plnou verzi" už by bylo potřeba mít ošetřených všech 20 adresních bitů a jen by se přidávaly čipy po 128 kB. A někde před koncem rozsahu než začne ROM by bylo vhodné mít hodnotu kolik RAM tam vlastně je přes nějaké jumpery, stačily by 3 bity = 0 až 8x128kB.

CP/M co umělo stránkování existovalo ale téměř určitě se v ČSSR nevyskytovalo, ta "vypůjčená" obyč. verze 2.2 alias Mikros to neumí. :-(


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Oživování PP01
PříspěvekNapsal: 14.09.2020, 16:08 
Offline
Profík

Registrován: 15.01.2014, 20:08
Příspěvky: 782
Bydliště: Šlapanice
Has thanked: 129 times
Been thanked: 97 times
Pokut se nepletu tak s PP01 je to trochu složitější aneb ta přídavná RAM se bude muset o ty adresy, kde bude přihlásit, tj. ten dekodér adres bude a trošku složitější ale nic extra.

MIKROS je jen přejmenované CP/M, u stránkování záleží, co chceš stránkovat. Asi nejjednodušší je stránkovat video RAM se systémovou RAM kdy to má plně pod palcem BIOS. Pokut se použiji plně služby systému tak se ani nemusí upravovat programy. Ale jak se začne stránkovat i vlastní RAM tak pak to musí podporovat programy nebo se to použije pro běh vice programu najednou ale to je zase věc BIOSu …..

SAPI-1 umožňuje stránkovat, ale skoro se to nepoužívalo, ale železo s tím počítá, co jsem uvrtal Libora Lasotu ke hrám na SAPI-1 tak deska grafiky bude stránkovaná, ale systém o tom nebude mít ani ponětí, to stránkování bude mít plně pod palcem hra aneb je to tak jednoduší protože těch konfigurací systémů je tolik že toto řešení je vhodnější, ale pokut bude konfigurace, která již stránkuje tak tam ta hra pustin nepůjde…..

S čím ale nebude problém je udělat klasický RAM DISK a program co často přisnuje na disk pak se velice urychlí ………..

_________________
Ne všichni jsme měli z češtiny za jedna, aneb jsem dyslektik a dysgrafik.

http://www.sapi.cz/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Oživování PP01
PříspěvekNapsal: 14.09.2020, 17:31 
Offline
Óm Nejvyšší
Uživatelský avatar

Registrován: 07.07.2019, 22:14
Příspěvky: 3766
Has thanked: 269 times
Been thanked: 452 times
A mohl bych poprosit nějak přiblížit jak se to přihlášení se o rozsah provede? Já žil po přečtení manuálu v představě že se na začátku programem do toho paměťového organizátoru jednorázově pošle konfigurace paměti (tedy rozsah a co je kam přiřazené, ROM a RAM) v rozsahu adres i velikosti co si stanoví uživatel na základě fyzické velikosti té RAM připojené externě a pak už se programem normálně pošle požadavek na RAM v rozsahu toho co ten řadič umí namapovat na tu I41 a ten už automaticky přepojí adresu banku, vyšle požadavek na sběrnici a čeká jen na /READY od té paměti a následně už čte nebo zapisuje data dle požadavku programu. Tak jsem to pochopil z manuálu že periferie se mu musí ozvat zpět signálem /READY, jinak to zamrzne navěky v čekací smyčce. Ten ogranizátor se ale dá rekonfigurovat i za běhu tak se s tím může užít jistě spousta zábavy při ladění programu co v této části třeba blbne :-). Je to na str. 19 Technického popisu PP01 a dále, kapitola 6.1.1. Proto mě napadlo někam natvrdo přilepit nějaký bajt resp. minimálně 3 bity, kde by se jumpery nastavilo číslo v rozsahu 0 - 7 kdy by každé číslo znamenalo 128kB nebo více možností (řekněme 4) by umožnilo ještě detailnější specifikaci rozdělení po 64kB. Když by si to načetl, automaticky by se nastavila správná velikost dostupné RAM. Nebo to holt natvrdo nalámat do programu a uživatel by si vybral, jen by hrozilo že vyskočí z RAM a havaruje kdyby to popletl :-). Rozhodně ale ta část očuchání rozsahu RAM by měla být unifikovaná a přijatá jako standard u každého vytvořeného paměťového rozšíření aby už jednou napsaný program u jiné destičky nezhavaroval.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Oživování PP01
PříspěvekNapsal: 14.09.2020, 18:05 
Offline
Profík

Registrován: 15.01.2014, 20:08
Příspěvky: 782
Bydliště: Šlapanice
Has thanked: 129 times
Been thanked: 97 times
Tam kde bude ta přídavná RAM adresována musí zpět do PP01 vrátit potvrzení že ty adresy jsou pro ní což by mělo být to /READY …. V principu to samé by mělo být i u přídavného ROM modulu a určitě je to u té zvukovky s SAA čipem. Prostě pokut je dané zařízení adresováno musí potvrdit, že na té adrese je. Bavím se na úrovni železa.

_________________
Ne všichni jsme měli z češtiny za jedna, aneb jsem dyslektik a dysgrafik.

http://www.sapi.cz/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Oživování PP01
PříspěvekNapsal: 14.09.2020, 18:29 
Offline
Ó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, to ta logika když ale dostane požadavek mimo rozsah pokud s tím ten tázající se program nepočítá pravděpodobně zasekne počítač, protože /READY se nevystaví a tím pádem PP skončí v nekonečné smyčce čekání pokud nějak není toto ošetřeno nadřazeným interruptem nebo ve stylu "čekej na /READY ale po 1s přestaň čekat a vrať se..."

Já to pochopil tak že ten adresový dekodér se nejdříve softwarově nastaví aniž přitom ale něco fyzicky očuchává, přeci jen je to poměrně tupý hardware. Prostě "je to tak a tak." A tím je hotovo a pak už jen čeká a automaticky připojí tu venkovní banku, nebo ROM modul nebo třeba násobičku a po signálu /READY čte/zapisuje protože tu požadovanou adresu programem si přeloží do správného banku automaticky v rámci nastaveného rozsahu. No a když program zaleze někam mimo rozsah, tak to celé opět spadne, leda zase že by tam byl nějaký softwarový nouzový návrat což by u 2MHz 8080 asi zabralo většinu výkonu :-).

Já si právě na základě že bude třeba jen 128 kilo myslel že se řadiči řekne máš 128 kilo od do a pak se bude zapisovat/číst a /READY bude pořád aktivní protože 15ns SRAM je tak rychlá, že než 8080 udělá takt tak ona se třikrát proběhne kolem paneláku, ta sběrnice I41 navíc běží na 8MHz.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Oživování PP01
PříspěvekNapsal: 14.09.2020, 18:45 
Offline
Profík

Registrován: 15.01.2014, 20:08
Příspěvky: 782
Bydliště: Šlapanice
Has thanked: 129 times
Been thanked: 97 times
Na to jak přesně to funguje to nevím, na to musí odpovědět někdo povolanější. Určitě je tam odpověď na úrovní železa ale jak to z pohledu toho mněného nemám páru.

_________________
Ne všichni jsme měli z češtiny za jedna, aneb jsem dyslektik a dysgrafik.

http://www.sapi.cz/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Oživování PP01
PříspěvekNapsal: 14.09.2020, 18:53 
Offline
Profík

Registrován: 15.01.2014, 20:08
Příspěvky: 782
Bydliště: Šlapanice
Has thanked: 129 times
Been thanked: 97 times
Než vůbec 8080 něco přečte tak železo musí potvrdit, že na té adrese je co číst. Takže jakmile zabere dekodér na té přídavné RAM tak potvrdí, že je ta adresa po něj, a až pak dojde ke čtení. Finta je v tom že lze použít i pomalou RAM nebo obecně pomalé paměťové zařízení.

_________________
Ne všichni jsme měli z češtiny za jedna, aneb jsem dyslektik a dysgrafik.

http://www.sapi.cz/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Oživování PP01
PříspěvekNapsal: 14.09.2020, 19:24 
Offline
Ó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 už se trochu chytám. Signál /READY je dobrý pro zařízení typicky (hodně) pomalejší než CPU aby měly čas dodat data jako třeba nějaký EPROM nebo disketovka, případně nasynchronizovat DRAM. Ovšem ta SRAM je tu rychlostně z říše hvězdných válek, 1 cyklus paměti PP-01 trvá 500 ns a SRAM to dá za 15... Učiněný Speedy Gonzáles. Navíc je pořád připravená něco dělat, je jí jedno v jakém čase se po ní něco chce a fyzicky místo na 2 poběží na 8MHz - 4x rychleji než CPU. Tak jsem si řekl že by ten signál mohla mít vlastně nastavený pořád na /READY, tohle CPU nemá šanci ji zahltit a když dojde ke kolizi na sběrnici, VIDEO vyhrává, tak se to jen prodlouží. Mezi jednotlivými 2 cykly RAM by sama zvládla ještě dalších 30 cyklů a CPU to vůbec nepozná. Tak co si to návrhově zjednodušit a řešit jenom signály zápis/čtení, protože tady není chvíle kdy by nebyla reálně READY :-).

A protože ta SRAM má jen 17 adresových cest a slušných 128kB, tak jsem si řekl že na jakýsi prototyp s 1 kusem už vlastně vůbec nic není potřeba, že by se to prostě adresovalo napřímo a bylo by k dispozici 192kB paměti jako jakýsi proof of the concept. Na 2 a více čipů už by se musela ta destička patrně trochu vylepšit ale pořád si říkám že to PP si to naadresuje samo napřímo, že by se snad jen rozvedly datové cesty aby to odpovídalo a není tu potřeba nějaký sofistikovaný bankovač na destičce, ten je totiž součástí paměťového řadiče, který se jen musí správně nakonfigurovat programově.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Oživování PP01
PříspěvekNapsal: 14.09.2020, 19:44 
Offline
Profík

Registrován: 15.01.2014, 20:08
Příspěvky: 782
Bydliště: Šlapanice
Has thanked: 129 times
Been thanked: 97 times
To že ta SRAM dodá data řadově rychleji je úplně jedno, aneb ty data bude dávat tak dlouho jak bude signál /MR. A při zápisu zapíše, až skončí /MW. I tak musí potvrdit, že ta adresa je platná, v podstatě co bude vybírat tu SRAM bude zavedeno i na to /READY, toť vše aspoň co se tyče železa.

_________________
Ne všichni jsme měli z češtiny za jedna, aneb jsem dyslektik a dysgrafik.

http://www.sapi.cz/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Oživování PP01
PříspěvekNapsal: 14.09.2020, 19:53 
Offline
Radil
Uživatelský avatar

Registrován: 13.05.2013, 17:48
Příspěvky: 529
Bydliště: Košice
Has thanked: 423 times
Been thanked: 265 times
Už som o tu asi niekde dával, ale nevadí.
Je to nevyskúšaný návrh pripojenia externej pamäte 512 kB k PP 01. Pamäť je mapovaná ako bloky 00h až 7Fh. Mám navrhnutý aj plošný spoj, ale nedal som ho zatiaľ vyrobiť. V nevydanej verzii Emulátora PP 01 je možno pokusne túto pamäť pripojiť.

I41 je "potvrdozvacia" zbernica, čo znamená, že každé zariadenie pripojené na túto zbernicu musí potvrdiť signálom /XACK, že "reaguje" na adresu vystavenú na adresovej zbernici pre príslušnú operáciu čítanie/zápis | pamäť/IO. Ak sa na vystavenú adresu "nikto neprihlási", systém sa "zablokuje".

V prípade PP 01 a jeho interných zariadení (pamäť, IO obvody) sa o /XACK samozrejme stará interný adresový dekodér a príslušná logika. /XACK je samozrejme zviazané so signálom READY procesora a s LED diódou RUN.

Skúste si v BASICu zadať napríklad PRINT INP(0). Na počítači zhasne ledka RUN a počítač je zablokovaný, pretože port 0 neexistuje.


Přílohy:
Poznámka: PP 01 - Externá RAM 512 kB
pp01-extram.png
pp01-extram.png [ 158.69 KiB | Zobrazeno 6666 krát ]

_________________
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  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 196 ]  Přejít na stránku 1, 2, 3, 4, 5 ... 14  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 15 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