OldComp.cz

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

Prijdte se bavit!

Právě je 19.10.2021, 08:20

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




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 40 ]  Přejít na stránku Předchozí  1, 2, 3
Autor Zpráva
 Předmět příspěvku: Re: PP-01 Slabikář
PříspěvekNapsal: 14.09.2021, 14:57 
Offline
Pan Generální
Uživatelský avatar

Registrován: 07.07.2019, 22:14
Příspěvky: 2432
Has thanked: 147 times
Been thanked: 242 times
Slepil jsem schémátko pevného dekodéru adresy co na signál /IORC a adresou portu BFh = 1011 1111 odpoví pomocí 74LS138 na datovou sběrnici jeden bit z 8. Dekodér 8 z 3 je ještě schovaný za oddělovač sběrnice aby to nedělalo čurbes do dat, který se otevírá pouze jedním směrem do PP - 01 jinak je ve stavu vysoké impedance.

Takhle je komunikace jednosměrná, nicméně dexova myšlenka bankované SRAM je zajímavá a drobná úprava schématu by jistě umožnila takové bankování udělat. Jen bych to pak viděl spíš na nějaký GAL, přeci jen celkem naskakuje potřebný počet obvodů pro takové hrátky :-).

Teď bych ale poprosil aby se na to ti co tomu rozumí koukli zda to není někde ideově pochybené. První řešení pracuje se signály MRDC a MWTC, ze kterých se na 74LS03 vytvoří XACK. Já si to zkusil zjednodušit že jsem předřadil hradlo OR, které signály MRDC a MWTC sloučí a zároveň umožní XACK vytvořit i dekodéru adresy portu. Trochu tu hapruje signál MREQ co ase vytvoří v obou případech a aktivuje jednu SRAM banku a když jsou oba signály v LOW, paměť by si asi mohla ten bajt s hodnotou kolik paměti je k dispozici zapsat. Tak nevím zda ne přidat ještě jeden obvod 74LS03 na separátní tvorbu XACK, nebo to dát do GALu...


Přílohy:
Port + 896kB RAM.pdf [96.12 KiB]
14 krát
Nahoru
 Profil  
 
 Předmět příspěvku: Re: PP-01 Slabikář
PříspěvekNapsal: 14.09.2021, 15:58 
Offline
Radil

Registrován: 26.11.2018, 16:59
Příspěvky: 297
Bydliště: Holešov
Has thanked: 9 times
Been thanked: 39 times
Zkusil jsem packer na jednom obrázku slabikáře (A), a dekomprese těch 24kB zabere na můj vkus docela dost času (odhadem 2s). Použitá komprese -tn98c5o5o8. No a jsme u otázky jak rychle načtu 27 obrázků versus dekomprese 27 obrázků... nic moc. Možná budou jiné komprese rychlejší na dekompresi, ale zde bych poprosil BUSYho o radu co vyzkoušet.


Přílohy:
test4.zip [3.56 KiB]
7 krát
Nahoru
 Profil  
 
 Předmět příspěvku: Re: PP-01 Slabikář
PříspěvekNapsal: 14.09.2021, 16:19 
Offline
Pan Generální
Uživatelský avatar

Registrován: 07.07.2019, 22:14
Příspěvky: 2432
Has thanked: 147 times
Been thanked: 242 times
Přesně toho jsem se bál, že to CPU bude žvýkat obrázek příliš dlouho, protože nic nemůže trhnout prosté překopírování dat z pozice na pozici.To i SD-ROM modul je už o poznání rychlejší, ten obrázek nakopíruje do videoram za cca 1,2-1,5 sekundy a čisté překopírování dat i se zobrazením z SRAM je s přehledem do půl sekundy - zmáčknete klávesu a obrázek se ihned zobrazí.

Navíc SD.ROM vůbec netrpí na nedostatek místa, naopak. Na PMD se hodí každý bajt co se v obrázku ušetří protože má jen RAM, ale tady je to imho zbytečné, časově kontraproduktivní a nahrání obrázku je pořád rychlejší.

Využití bych ale pořád viděl - plugin pro import zabalených obrázků do aplikace z jiných platforem.

Za mě bych raději síly vrhnul na tvorbu manažeru paměti, co by SRAM programu prezentoval jako virtuálně jednolitou oblast větší velikosti než 4 kB (ideálně asi 32 kB když by to byla nejmenší jednotka kapacity pro externí SRAM) a staral by se o to základní stránkování takže by program měl k dispozici na 8bit už slušný rozsah paměti. Samozřejmě stejně jako to rozbalování by taková správa paměti nejspíš měla citelný vliv na výkonnost celého počítače oproti ručně optimalizovanému programu.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PP-01 Slabikář
PříspěvekNapsal: 14.09.2021, 17:14 
Offline
Pan Štábní

Registrován: 12.05.2013, 22:24
Příspěvky: 1164
Bydliště: u Prahy
Has thanked: 22 times
Been thanked: 257 times
Co porovnání rychlosti s Quidem?
Je sice dvou průchodový (dvě metody) a jeden průchod by mohl být rychlejší (to ale asi nejde v Quidovi nastavit), ale i tak by 24 kilo by mohlo být rozbalených do sekundy?
Pokud to bude s LZX nastejno, tak nezbyde než použít jen jednoduché RLE (ty obrázky jsou na to primitivní dost - velké plochy jedné barvy).


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PP-01 Slabikář
PříspěvekNapsal: 14.09.2021, 17:30 
Offline
Pan Generální

Registrován: 22.05.2013, 21:14
Příspěvky: 3192
Bydliště: Bratislava
Has thanked: 324 times
Been thanked: 637 times
Este je moznost skusit moje stare LZM / LZE packery, ktore sice nedosahuju tak dobre kompresne pomery, ale su optimalizovane na jednoduchost a rychlost depaku.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PP-01 Slabikář
PříspěvekNapsal: 14.09.2021, 17:35 
Offline
Pan Štábní

Registrován: 12.05.2013, 22:24
Příspěvky: 1164
Bydliště: u Prahy
Has thanked: 22 times
Been thanked: 257 times
Na správu paměti by se dala použít rutina, kterou měl Universum pro rozšíření Promethea na ZX Spectru 128.
Rutina obsluhuje 64 K blok (adresovaný klasicky dvojregistrem HL 0..65535).
Teoreticky by k tomu šlo přidat inicializaci pro přesunutí ukazatele na začátek tohoto bloku v paměti.

Resp. rutiny jsou dvě, nahrazující dvě instrukce - LD_A_HL a LD_HL_A (místo ld a,(hl) se použije call LD_A_HL).
Rozdíl časové náročnosti na Spectru je asi 199 taktů proti 7.
Viz ZX Magazín 1993/5, strana 29.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PP-01 Slabikář
PříspěvekNapsal: 14.09.2021, 18:36 
Offline
Pan Generální
Uživatelský avatar

Registrován: 07.07.2019, 22:14
Příspěvky: 2432
Has thanked: 147 times
Been thanked: 242 times
Díky za článeček, málem mě dostal Ernie nebezpečný šílenec :-). My na PP máme výhodu že nemusíme pozici v RAM přepočítávat ale jen přepínat řadič a přepínání bloků je velice rychlé.

V HW adresovém registru je 16 bloků po 4 kB. Pro pvních 8 bloků, tedy 32 kB RAM dokážeme registry snadno přepnout tak, že paměť v nich je pro program souvislá i bez přepočtů v adresním rozsahu 0000 - 9FFF s potřebnou 1 bajtovou konstantou začátečního čísla bloku 00h, 09h,10h,18h,20h,28h,30,38h atd.

Jen se musí hlídat tabulka v jakém bloku se nacházíme a kam se musíme odstránkovat. Do externí RAM se vejde 28 x 32 kB stránek.

Začínám mít optimistický pocit že třeba tu ten rozdíl ve výkonu nebude tak zásadní, na začátku se přepne řadič, to chvíli potrvá a na konci se přepne řadič, to chvíli potrvá. Ale mezi tím přistupujeme do RAM stejně rychle.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PP-01 Slabikář
PříspěvekNapsal: 14.09.2021, 20:01 
Offline
Radil

Registrován: 26.11.2018, 16:59
Příspěvky: 297
Bydliště: Holešov
Has thanked: 9 times
Been thanked: 39 times
zásadní otázka, k čemu to má být dobré... v Basicu delší program těžko napíšeš, tam to nepůjde nijak využít pro program, horko těžko pro proměnné ale bude to zdechlé
a ve strojáku si ten manažer napíšeš namíru aplikaci, nepotřebuješ univerzální a opět, co by si chtěl napsat za program který by tu paměť využil?

ani na dobových strojích se toto stránkování paměti prakticky nijak moc neujalo, DEX ať mně opraví kolik 8-bit počítačů nějakou takovou paměť mělo nebo využilo (např. kolik editorů umí dlouhé texty na Spectru 128k? Lamačovo rozšíření paměti se chovalo jako RAMDISK... o Didakticích nemluvě), CP/M si vystačilo s 64kB , verze 3 a výše to sice nějak podporovaly ale to přišlo pozdě a rozhodně na to nevznikly tisíce programů, na vícebitech to pak už šlo bez problémů


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PP-01 Slabikář
PříspěvekNapsal: 14.09.2021, 21:34 
Offline
Pan Generální
Uživatelský avatar

Registrován: 07.07.2019, 22:14
Příspěvky: 2432
Has thanked: 147 times
Been thanked: 242 times
Je to dobré pro data obecně, text, čísla, obrázky apod. Jasně že pro malý prográmek co vykreslí kružnici v Basicu to je k ničemu ale textový editor je jiný příběh (nezapomínejme že PPčko má normální LPT port), ten zmiňovaný grafický editor obrazovky také, hudbu přehrávající aplikace, na 8bit velké datové soubory, ramdisk... Představivosti se meze nekladou. Primárně jde o zábavu a cíl dokázat něco navíc, žádná aplikace pro 8bit dnes není nic jiného než zábava a chuť autora dokázat že to jde. Takový 8bitový Prince of Persia by na PP-01 neměl vůbec problémy běžet, protože by měl dostatek paměti na hlavně rychlý a tedy delší program i všechna data. Naproti tomu na PMD to bude boj o každý bajt paměti, protože žádný odkladný prostor není k dispozici.

Nerozšířilo se to hlavně právě proto že už přišly znatelně rychlejší počítače s dostatkem adresovatelné paměti na větší úlohy a přestalo tak být potřeba škrábat se levou rukou za pravým uchem přes záda obrazně řečeno. I když ještě na 286ce to bylo vcelku běžné - viz EMS paměť se svými 16 až 64 kB stránkami. Ale to už byla jen labutí píseň, se kterou zametly 386ky se svým už vymáklým memory managementem a 4 GB adresovatelné RAM.

Pokud bude manažer ve formě relativně kratičkého strojáku co bude na žádost programu přestránkovávat banky tak ať je raději univerzálně použitelný a odladěný dobrými programátory - urychlí to vývoj takových aplikací i jejich běh. Je lepší když mají k dispozici všichni takový dobrý nástroj než třeba jen jeden výborný programátor, vznikne víc aplikací.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PP-01 Slabikář
PříspěvekNapsal: 15.09.2021, 14:02 
Offline
Pan Generální
Uživatelský avatar

Registrován: 07.07.2019, 22:14
Příspěvky: 2432
Has thanked: 147 times
Been thanked: 242 times
Dívali jste se někdo na to schémátko co jsem tu dal? Není v něm ideová chyba co se týká signálu MREQ, který se teď aktivuje i při dotazu na port (oba hlavní signály /MRDC a /MWTC jsou v té chvíli H)? Podle datašítu k té SRAM když oba signály jsou H, je output disabled ale raději se blbě zeptám než pak zahazovat peníze na nefuknční pcb.

Udělal jsem si cvičně i návrh pcb v Kicadu ale zatím tomu dávám čas "uzrát."


Přílohy:
Port + 896 kB RAM.jpg
Port + 896 kB RAM.jpg [ 116.82 KiB | Zobrazeno 213 krát ]
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ů: 40 ]  Přejít na stránku Předchozí  1, 2, 3

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 0 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