OldComp.cz

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


Právě je 25.04.2024, 23:57

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 Předchozí  1, 2, 3, 4, 5 ... 14  Další
Autor Zpráva
 Předmět příspěvku: Re: Oživování PP01
PříspěvekNapsal: 14.09.2020, 19:58 
Offline
Óm Nejvyšší
Uživatelský avatar

Registrován: 07.07.2019, 22:14
Příspěvky: 3827
Has thanked: 280 times
Been thanked: 457 times
Hm škoda, pokud se to bez komunikace neobejde tak asi je lepší rovnou udělat desku na 8 kusů pamětí nebo tu 512kB SRAM. Je někdy v nejbližší pětiletce v plánu to PCB dotáhnout do fyzické podoby?


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Oživování PP01
PříspěvekNapsal: 15.09.2020, 10:43 
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
Czech Human píše:
Je někdy v nejbližší pětiletce v plánu to PCB dotáhnout do fyzické podoby?
Je to možné, ale neviem kedy... ;)

_________________
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: Oživování PP01
PříspěvekNapsal: 15.09.2020, 10:55 
Offline
Óm Nejvyšší
Uživatelský avatar

Registrován: 07.07.2019, 22:14
Příspěvky: 3827
Has thanked: 280 times
Been thanked: 457 times
Tak snad to nebude ve stylu Cimrmanovského "Ano, to je možné..." "Děkujeme, to nám stačí!" :P

Pokud se poštěstí tak bych poprosil napsat mě do jistě dlouhé fronty čekačů na nějakou tu destičku, PP01 přes drobné potíže s chodem mám a brzo budu mít i poslední komponenty na výrobu tohoto rozšíření, jen PCB bude scházet :-). Já si zkusím v KiCADu vyrobit i 128 kB verzi když už ty L2 cache jsou lehce k zakoupení, dají se dobře recyklovat v 486kách a hlavně - mám je už na stole.


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

Registrován: 07.07.2019, 22:14
Příspěvky: 3827
Has thanked: 280 times
Been thanked: 457 times
Mám technický dotaz - co znamenají zkratky MWTC a MRDC? Memory Write Command Line a Memory Read Command Line? Tedy požadavek na zápis a čtení?

Ptám se proto že ta 512kB SRAM má o něco jednodušší přepínání stavů čtení/psaní než ta o dost rychlejší 128kB cache SRAM, která má o řídící signál navíc pro nastavení úspor energie a při běhu musí být oba signály správně nastavené.

Zatímco 512kB si vystačí s CS LOW aby běžela, tak 128kB potřebuje CE1 LOW a CE2 HIGH. To asi bude chtít hradlíčko NAND na signál CE1 --> CE2 navíc, když bude ve ta CE1 funkci /CS, že?

A není trochu škoda použít 20 adresní bit jako /CS, nebyl by na to použitelný třeba signál /EXT? Byť chápu že u 512kB to není potřeba a asi je to tak konstrukčně nejjednodušší.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Oživování PP01
PříspěvekNapsal: 15.09.2020, 14:41 
Offline
Pan Štábní

Registrován: 12.05.2013, 22:24
Příspěvky: 1524
Bydliště: u Prahy
Has thanked: 44 times
Been thanked: 386 times
Jsou to paměťové ekvivalenty portových požadavků pro čtení a zápis /IORC a /IOWC (taky mají být negované, /MWTC a /MRDC. Aktivní když je adresa na sběrnici platná, shazuje je /XACK, ten posílá sama RAM.
RAM by ještě měla reagovat na /INH1 (neodpovídat, když je aktivní).
Použití A19 pro /CS by mělo být v pořádku, "aktivuj se, když hrabu do tvého adresového rozsahu".
Signál /EXT na Multibus sběrnici není vyveden.
http://bitsavers.trailing-edge.com/pdf/intel/_busSpec/9800683D_Intel_Multibus_Specification%20Jun82.pdf strana 2-8 a 2-9.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Oživování PP01
PříspěvekNapsal: 15.09.2020, 16:07 
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
MWTC - Memory WriTe Control
MRDC - Memory ReaD Control
IOWC - Input/Output Write Control
IORC - Input/Output Read Control

Signál INH1 je z pohľadu PP 01 iba vstupný, takže ním môže periféria zablokovať internú pamäť, ale zo schémy si nie som úplne istý, ako to zafunguje.

A19 je pre /CS použitá preto, že sa tým práve vyhradzujú dané štvor-kilobytové pamäťové bloky 00h až 7Fh, ktoré inak nie sú v PP 01 obsadené (čísla blokov určujú adresové bity A19-A12).

PP 01 žiadny signál /EXT nemá.

_________________
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: Oživování PP01
PříspěvekNapsal: 16.09.2020, 10:20 
Offline
Óm Nejvyšší
Uživatelský avatar

Registrován: 07.07.2019, 22:14
Příspěvky: 3827
Has thanked: 280 times
Been thanked: 457 times
Tak technická příručka zmiňuje signál EXT dost častokrát od strany 33 dál. Byť ho tedy značí EXT/ a závisí na něm zda externí zařízení bude přistupovat do RAM PP01 nebo naopak PP bude lézt do vnějšího zařízení. Aktivuje se se nepřímo pomocí aktivního MRDC a úrověň L/H závisí na tom z jaké strany ten signál přišel. Takže řídit se dá, byť ne generovat přímo a protože ta externí RAM je hloupá, nemá asi přímý velký význam. Ale při použití externího chytrého zařízení typu Master na I41 by měl význam značný - dovede paměťový systém PP01 zotročit dle potřeby Mastera, asi by takhle principiálně šlo do PP rychle nacpat data, řekněme snapshot :-).


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Oživování PP01
PříspěvekNapsal: 16.09.2020, 12:37 
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
Nuž, neviem, možnože mám vlčiu tmu, ale ja na systémovom konektore (K2 v malom techničáku, K6 vo veľkom techničáku) signál /EXT nevidím.
V schéme, ako interný signál je, ale nie na konektore.

_________________
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: Oživování PP01
PříspěvekNapsal: 16.09.2020, 12:52 
Offline
Óm Nejvyšší
Uživatelský avatar

Registrován: 07.07.2019, 22:14
Příspěvky: 3827
Has thanked: 280 times
Been thanked: 457 times
Ano, je to interní signál, ovlivnitelný z konektoru jen nepřímo typem požadavku a slouží automaticky k určení směru toku dat. Přímo na konektoru fyzicky vyvedený není.

Pokud to vypadalo že si myslím že je vyvedený ven tak to byla taková napůl řečnická otázka zda by se ten signál nedal nějak využít, když jsem ještě nevěděl že se nastavuje automaticky dle zdroje signálu MWTC/MRDC pro aktivní import dat do PP01 přes sběrnici I41, což ale není samozřejmě případ této rozšiřující SRAM, ovládané jen zevnitř PP-01..

Nicméně by to mohla využít třeba konstrukce inteligentního RAM disku, který by takto dovedl uložit/nahrát třeba obsah celé paměti RAM PP01 nebo obecně nějaká data někam podle jeho nastavení. Jak tuším Clouseau psal o svém Mega ROM modulu pro PMD 85: "Zapisovat data? Jasně že by to šlo, ale proč?" No a tady bych viděl docela dobrý důvod proč zápis jo :-). I ta EEPROM má celkově 1 MB, tedy kapacitně víc než dost na 16 snapů, resp. 15 a nějaký ten ovládací softík v poslední části.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Oživování PP01
PříspěvekNapsal: 16.09.2020, 12:56 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 25.05.2014, 12:29
Příspěvky: 1673
Bydliště: Praha
Has thanked: 319 times
Been thanked: 372 times
Asi je myšlen signál /EXT k ovládání MH3226/IC4.Viz výkres sm3103_7

_________________
Atari 65XE, 600XL, 400, 800, 800XL/XE, 130XE, 1200XL, XEGS
Commodore C64, C64C, C128, Plus/4
Amiga A600, A1200+Blizzard 060/50
ZX Spectrum, +2


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Oživování PP01
PříspěvekNapsal: 16.09.2020, 13:09 
Offline
Pan Štábní

Registrován: 12.05.2013, 22:24
Příspěvky: 1524
Bydliště: u Prahy
Has thanked: 44 times
Been thanked: 386 times
Citace:
Nicméně by to mohla využít třeba konstrukce inteligentního RAM disku

To využíval i původní diskový řadič (SBC202/iSBC208) - PP01 jen poslalo požadavek na soubor, řadič si zavzal paměť PPčka pro sebe, nacpal mu obsah souboru od správné adresy a zas paměť PPčku přepustil.
(Jen je asi blbost ho replikovat, protože je to obří deska se spoustou švábů, vlastní inteligencí a DMA. Šlo by asi nahradit připojením nějakého Atmelu či čeho čtoucího SD kartu přes Multibus, ale proč, když už jedno jednodušší řešení připojení SD karet máme?)


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

Registrován: 07.07.2019, 22:14
Příspěvky: 3827
Has thanked: 280 times
Been thanked: 457 times
Jo jo, stačila by malá destička napájená z PP-01 s SD kartou na data, naformátovaná malou částí jako floppy co PP-01 zná a zbytek by mohl být třeba "hard disk" nebo virtuální floppy jako u PMD 32SD. PP-01 totiž umí taky bootovat na jednom z konektorů kam se dala připojit disketovka (příkaz monitoru "Y") a takto by se dal vvyrobit i bootovací hard disk protože z disku se načte prvních 18 sektorů 0 stopy a od adresy 3000h spustí a může tam být CP/M nebo něco více či méně sofistikovaného :-). Výhoda by byla rychlost a volný ROM slot i V.24 port, PP v ROM slotu může mít třeba i RTC nebo další zajímavé kousky. Z mé strany se ale jedná jen o duševní cvičení, nápady, kterými se někdo zdatnější třeba může inspirovat. A nebo taky ne, můžou to být i blbosti :-).

A mimo /EXT - zabývám se ještě variantou SRAM rozšíření co používá jinou cache po 128kB místo 512. Jenže tato používá jen 17bitů (A0 - A16), na její velikost to tak stačí. Dalo by se nějak připojit více kusů naráz bez nějakého komplikovaného řídícího prvku co by to podle rozsahu připojoval? Asi moc ne, co? Jeden kus ano ale dva a více už by byl problém. Napadá mě coby laika 20 bit stejně jako rombor použít pro /CS ať je to kompatibilní a bity 18 a 19 by na základě kombinací přepínaly na jednotlivé správné banky v počtu 4, mělo by to 512 kB taky. tedy 00 = bank1, 01 = bank2, 10 = bank 3 a 11 = bank 4. No a do PP by pak lítalo 17+2bity. Případně 20bitů a kapacita 1MB s 8 banky a třemi bity 18,19,20. Jen mi to přijde už dost komplikované dosáhnout pomocí hradel, tedy bylo by jich potřeba hodně.


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

Registrován: 07.07.2019, 22:14
Příspěvky: 3827
Has thanked: 280 times
Been thanked: 457 times
Trochu jsem se inspiroval romborovým schématem (v čínském slova smyslu :lol:) a vytvořil jsem v Kicadu modul z jednoho 128 kB L2 cache :-). Víc než jeden modul cache bez výrazné modifikace adresovací části patrně není možné osadit, mají málo adresovatelných bitů :-). Ten malý zoubek tam je aby se to jistě vešlo do PP-01, nemám ho v rukách tak si nemůžu přesné rozměry oměřit. Možná by to nebylo potřeba a pcb by tak bylo levnější na výrobu...


Přílohy:
SRAMB.png
SRAMB.png [ 359.44 KiB | Zobrazeno 2993 krát ]
SRAMA.png
SRAMA.png [ 401.26 KiB | Zobrazeno 2993 krát ]
Nahoru
 Profil  
 
 Předmět příspěvku: Re: Oživování PP01
PříspěvekNapsal: 17.09.2020, 08:46 
Offline
Óm Nejvyšší
Uživatelský avatar

Registrován: 07.07.2019, 22:14
Příspěvky: 3827
Has thanked: 280 times
Been thanked: 457 times
Padlo tu slovo o nevydané verzi emulátoru, kde se už dá externí RAM virtuálně připojit. Kdy je možné očekávat, že bude vydaná uživatelstvu v plen a bude i nějaký testovací prográmek co bude třeba jen zapisovat a číst do externí paměti aby se totéž dalo následně aplikovat i na živé železo že funguje korektně? :-). A bude to natvrdo jen 512kB nebo se bude moct rozsah takto "přidané" paměti i změnit?

Edit:
Ten paměťový subsystém je poměrně kouzelný. Existuje přímo CPU adresovaný 12bitový rozsah 000-FFF, tedy po 4 kB. Pak je tu 2x4bitový organizátor paměti se 16 registry, které mohou mít hodnotu 00 až FF. Tyto banky se dají dynamicky softwarově měnit i za běhu. Mým hrubým odhadem je k dispozici jen jeden pár registrů, protože potřebujete 4 na ROM, 6 na video RAM a nějaký rozumný objem paměti ve vnitřní RAM PP-01, řekněme 4=16kB. Takže stránkovat se dá po cca 8kB v párech, pokud tedy nevyužíváte externí ROM modul. Když se nebude používat Basic ale čistě jen Monitor, mohly by ty registry asi být až 4, tedy opět 16 kB. Hodnota nastavení registru se dá normálně číst, ale je inverzní :-).

Takže mé strachy s různou kapacitou RAM jsou asi poněkud zbytečné, software používající externí paměť musí znát maximální hodnotu kam dosahuje RAM a kde začíná, tedy teoreticky od 00 do maximální velikosti děleno 4kB. Tedy u 128kB RAM to je 32, u 512kB to je 128 stránek. 00 - 20 a 00 - 80.

No a výsledek je třeba pro registry 13,14,15,16 u 128 kB postupně po 4 kB (binárně čteno zleva doprava stoupá hodnota bitu, druhá část adresy je takto vyjádřena jako inverze toho co leze do RAM, nechtělo se mi to překlápět udělal bych nejspíš chybu).

000000000000|00000000 - 111111111111|00100000 tedy 00h - 20h

a u 512kB

000000000000|00000000 - 111111111111|10000000 tedy 00h - 80h

Což mě přivádí k myšlence ohledně použití 20 bitu coby signálu /CS, který využívá právě ten poslední 20 bit. Protože fyzicky ta 512kB SRAM končí na 19bitu, je to tedy namapované z pohledu PP-01 vlastně od 512 do 1024kB, nemýlím-li se:

000000000000|10000000 - 111111111111|11111111 tedy 80h - FFh

To by sice jako cenu za toto řešení odstřihlo půlku dostupného rozsahu, ale na druhé straně je to velice jednoduché na technické řešení. Pak by i těch 128kB začínalo od 128 banku, pouze s čtvrtinovým rozsahem do délky, tedy 512+128kB čili na hodnotu co musí stačit všem :-).

000000000000|10000000 - 111111111111|10100000 tedy 80h - A0h

Asi by to chtělo nějaký malý OS co bude tu paměť trochu hlídat přes stránkovací tabulku :jump: Testovacímu prográmku bude stačit projet rozsah a zapisovat 4 kB a pak je zase číst a porovnávat. A když narazí na nuly, došel na konec RAM a když na mišmaš, na vadnou RAM. Jen bude v mezidobí suše o jedno zvyšovat číslo banky v organizátoru paměti.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Oživování PP01
PříspěvekNapsal: 17.09.2020, 13:57 
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
Aktuálne je v pracovnej verzii Emulátora externá pamäť pevne 512 kB a je mapovaná na bloky 00 až 7F, ktoré nie sú v PP 01 obsadené (ako som tu už uviedol).
Vo vyššie pripojenej schéme je výber SRAM (signál /CS) pomocou /A19 cez invertor, takže v prípade, že je A19=0 (pozor na to, dátové a aj adresové signály sú na I41 zbernici invertované!).
Nie je problém, aby bolo možné v Emulátore zvoliť veľkosť externej pamäte a aj jej umiestnenie v rámci neobsadených blokov. Avšak softvér na PP 01 NEMÁ ako zistiť, kde sa tá pamäť nachádza a koľko jej je. Ako som tu už vyššie okrajovo spomínal, akýkoľvek pokus pristúpiť do pamäte, ktorá neexistuje, zablokuje počítač (zhasne RUN LED). Takže nejaké pokusy so zaradením bloku do adresného priestoru a potom zápis/čítanie, či tam tá pamäť fyzicky je, sú nemožné.
Rovnako tak úvaha, že by mal daný externý modul pamäte nejaký vlastný I/O port, ktorým by bolo možné zistiť napr. veľkosť pamäte, je zbytočná. Ak by ten modul nebol k počítaču pripojený a program by pristúpil na ten I/O port, počítač sa zablokuje, lebo ten port bez modulu neexistuje.
Podškrtnuté / zrátané, softvér, ktorý by sa prispôsobil veľkosti dostupnej pamäte sa pre PP 01 napísať nedá.

= K tým kúzelným úvahám. =
Pamäťový priestor CPU v PP 01 je rozdelený na 16 štvor-kilobytových oblastí, do ktorých je možné priradiť/namapovať ľubovoľný z 256-tich štvor-kilobytových blokov (fyzického) priestoru o celkovej (potenciálnej) veľkosti 1 MB. To mapovanie sa robí zápisom na príslušné porty 0E0h až 0EFh organizátora pamäte.
Časť čísel blokov je pevne priradená (viď napr. malý techničák) pre internú ROM, internú RAM a externú ROM (ROM Modul). Ostatné bloky nie sú obsadené a možno ich obsadiť prostredníctvom systémovej zbernice I41. Ako tu bolo spomenuté, číslo bloku je dané adresnými bitmi A19-A12. Ak externé zariadenie nezablokuje internú pamäť zrejme pomocou signálu /INH1, tak môže použiť iba bloky, ktoré nie sú interne využité.

_________________
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 Předchozí  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 14 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