OldComp.cz
https://oldcomp.cz/

PP-01 Slabikář
https://oldcomp.cz/viewtopic.php?f=47&t=10298
Stránka 23

Autor:  Czech Human [ 13.09.2021, 12:39 ]
Předmět příspěvku:  Re: PP-01 Slabikář

S komprimovanými obrázky by začalo i peklo že každý je jinak dlouhý a pokud nebude ta RAM dělená do bloků/sektorů ve stylu FAT tak bude problém pokud se má něco zapisovat. Teď je to vždy 6 bloků a hotovo. Nicméně když 8080 stejně tu komprimaci sám zvládá od řádu desítek hodin, tak se dá předpokládat že jednou spakované se už měnit nebude. Nebo si holt vystačit s těmi 32 obrázky to je taky dost a SD-ROM je datově "nekonečný," stačilo by jen dávat si pozor v jakém adresáři co je a dynamicky přemazávat kdyby bylo potřeba mít "rychlých" obrázků víc.

Jak rychle se vlastně zabalený obrázek rozbalí?

A interní RAM bych nechal jen pro program pokud by to bylo složité dělat, od toho ta externí RAM je aby se do ní dalo uložit víc balastu, ne? Stejně 99% lidí má k dispozici jen emulátor a ten tu SRAM obsahuje tak není problém. Modul si může každý majitel PP-01 jednoduše dodělat, je to velice simplistická záležitost.

Autor:  Busy [ 13.09.2021, 13:27 ]
Předmět příspěvku:  Re: PP-01 Slabikář

Czech Human píše:
S komprimovanými obrázky by začalo i peklo že každý je jinak dlouhý a pokud nebude ta RAM dělená do bloků/sektorů ve stylu FAT...
Pamet nie je blokove zariadenie ktore nevie presunut oblast mensiu nez nejaky pevne dany sektor, preto podla mna absolutne nema vyznam sa tu babrat s nejakou (sofistikovanou) FAT alebo cimkolvek inym typu filesystem. Do pameti mozeme pristupovat po jednotlivych bajtoch. Ovela jednoduchsie bude ulozenie podobne ako su TAPky na ZX Spektre - najprv idu dva bajty dlzka bloku a potom data samotneho bloku (v nasom pripade spakovaneho obrazku). A takto mozeme zaplnit cely temer megabajt ramky :) Podobnym sposobom som ukladal subory v kazetakovych kopirakoch - dlzka (dva alebo tri bajty, podla toho ci kopirak vedel kopirovat aj bloky nad 64kB) a potom data tak, ako idu z pasky.
Czech Human píše:
Nicméně když 8080 stejně tu komprimaci sám zvládá od řádu desítek hodin
Stale celkom nerozumiem preco treba pakovat obrazky priamo na PP01. Bude sucastou Slabikaru nejaky uzivatelom pouzitelny editor obrazkov a bude si uzivatel moct sam kreslit a pridavat obrazky ?
Czech Human píše:
Jak rychle se vlastně zabalený obrázek rozbalí?
Jadro depakera na Z80 je LDIR, na 8080 je to potom klasicka kopirovacia slucka:
Kód:
slucka:
ld a,(hl)
ld (de),a
inc hl
inc de
dec bc
ld a,b
or c
jp nz,slucka
Okolo slucky je nejaka pomocna rezia, ktora v podstate iba zabezpecuje parametre pre tuto slucku, takze ak su v datach velke pakovatelne bloky (co v obrazku su) tak sa rychlost depaku limitne blizi k rychlosti tejto slucky.
Czech Human píše:
Stejně 99% lidí má k dispozici jen emulátor a ten tu SRAM obsahuje tak není problém. Modul si může každý majitel PP-01 jednoduše dodělat, je to velice simplistická záležitost.
Suhlasim, aj za mna to kludne moze byt pre velku RAM a aspon v prvej verzii by som to nekomplikoval reziou s dohravanim pre zakladnu RAM.
A nikto netvrdi, ze nejaka dalsia verzia v buducnosti nemoze byt aj pre tu zakladnu RAM :)

Autor:  Czech Human [ 13.09.2021, 14:46 ]
Předmět příspěvku:  Re: PP-01 Slabikář

Busy píše:
Stale celkom nerozumiem preco treba pakovat obrazky priamo na PP01. Bude sucastou Slabikaru nejaky uzivatelom pouzitelny editor obrazkov a bude si uzivatel moct sam kreslit a pridavat obrazky ?


V Slabikáři ne. Pro něj stejně není zásadní komprimace obrázků jako taková protože i 24 kB obrázky se všechny vejdou do SRAM a z SD-ROMu se také kopírují pořád ještě snesitelnou rychlostí. SRAM je samozřejmě o poznání rychlejší, ale ten rozdíl není jako 2 FPS Prince of Persia na 8088 a zcela plynulá hra na 386ce :-). Slabikář beru jako didaktickou pomůcku pro děti pro výuku čtení a psaní, editovat obrázky smysl nemá.

Tu kompresi jsem myslel ideově pro další SW výtvor, který by mohl rozšířit možnosti PP-01 aby se snížila jeho závislost na PC. 8 barevný editor obrázku s myšítkem přímo na PP-01. Když odpadne komprimace dat, dají se takové obrázky přímo použít pro další aplikace. Je to hodně velký cíl a vím že reálně to není potřeba ale PP-01 by se tak odstřihlo od potřeby mít PC v zádech a mělo by další zábavní funkci - dalo by se na něm kreslit a ukládat obrázky ve stylu DOSu a Windows 3.X. To samé v bledě modrém vzniklo pro PMD tak proč ne i PP :-).


Busy píše:
Suhlasim, aj za mna to kludne moze byt pre velku RAM a aspon v prvej verzii by som to nekomplikoval reziou s dohravanim pre zakladnu RAM.
A nikto netvrdi, ze nejaka dalsia verzia v buducnosti nemoze byt aj pre tu zakladnu RAM :)


Jo, byly by to spíš dva různé programy než jeden a stejně by to bylo plné kompromisů. Takhle bude k dispozici něco co využije plně nabízené možnosti. Mě logicky napadá právě editor obrázků co si pracovní data ukládá do SRAM a SD-ROM modulu takže vnitřní paměť PP-01 slouží čistě pro program, který může být slovy tuším EC1045.01 delší a tedy rychlejší :-).

Autor:  Busy [ 13.09.2021, 15:25 ]
Předmět příspěvku:  Re: PP-01 Slabikář

Czech Human píše:
Tu kompresi jsem myslel ideově pro další SW výtvor, který by mohl rozšířit možnosti PP-01 aby se snížila jeho závislost na PC. 8 barevný editor obrázku s myšítkem přímo na PP-01. Když odpadne komprimace dat, dají se takové obrázky přímo použít pro další aplikace. Je to hodně velký cíl a vím že reálně to není potřeba ale PP-01 by se tak odstřihlo od potřeby mít PC...
Potom su dve moznosti. Bud budu obrazky nepakovane a tym jednoducho pouzitelne (skonvertovatelne) kdekolvek, alebo budu pakovane. A pri pakovani mame zase dve moznosti - bud pouzijeme jednoduchu RLE kompresiu (zapakovane to bude prakticky hned) alebo LZ kompresiu. Pakovaci program ktory pakuje (aj) kompresiou LZ na ZX Spektre je napriklad TurboImploder alebo Pklite. Tymto programom trva zapakovat 16kB ZX romku temer tri minuty. Takze na 8080 beziacej na 2 MHz by to mohlo byt 6 az 7 minut. Co je asi dost neunosne.

Kedysi som robil experimenty s LZ komprimovanim priamo na ZX, len pre zaujimavost, aku rychlost by som vedel dosiahnut. Pouzil som jednoduchu kompresiu LZM (je popisana v LzxPack01) a podarilo sa mi zx romku zapakovat za tri a pol sekundy :) Takze odhadujem, ze taky 24kB obrazok na PP01 by sa mohol dat zapakovat povedzme do 20 sekund, pokial by bol jednoduchsi (velke jednofarebne plochy) tak aj do 5 az 10 sekund. A to by mozno uz stalo za uvahu.

Autor:  Czech Human [ 13.09.2021, 16:07 ]
Předmět příspěvku:  Re: PP-01 Slabikář

Pokud bysme se dostali na těch cca 10 sekund na obrázek, resp. 20-30 sekund na nějakou "silnou" komprimaci nebo strakatý obrázek, tak to by asi bylo únosné. Ukládat se pracovně může snadno nespakovaně v SRAM i s docela velkou cache na úpravy tam-zpět a až finální výstup teprve zabalit aby byl menší. Když bude unpack utilitka snadno dostupná i pro hry resp. třetí aplikaci, tak by to bylo fajn.

S dostupným SD-ROM modulem bych ovšem pořád řekl že jednodušší je nepakovat to. Rychlostně na načtení to je skoro jedno, úložného prostoru je dost a v Basicu je jednodušší používat rovnou surový obraz - frčí to rovnou do videoram bez té mezifáze rozbalování, není potřeba zapleskat ani bajt datové paměti v PP-01 tak je všechna k dispozici pro program (tedy samozřejmě primárně to lze nahrát natvrdo do SRAM, jen se pak každé PP-01 bez externí paměti zakousne ale s tím se může počítat a v emulátoru to je v pohodě všude).

Mě to přijde užitečné jako importní funkce obrázků ze Spectra do PP-01, při složitějším programu třeba i exportní funkci zase ven s omezením atributů pro Spectrum nebo na co se bude exportovat. Až sekundární přínos pro PP-01 a komprimaci do SD-ROMu. Výkon CPU bych primárně věnoval myši a grafickým nástrojům aby se s tím pěkně pracovalo. Protože CPU je pomalé, ale RAM je k dispozici opravdu hodně. Všechny obrázky taky budou stejně veliké a to zase zjednodušší práci s nimi - vždy bude 6 okýnek po 4 kB. Ta SRAM dává i nekomprimovaně prostor pro 37 obrazovek...

Autor:  dex [ 13.09.2021, 17:20 ]
Předmět příspěvku:  Re: PP-01 Slabikář

Hlavně by to chtělo vymyslet nějaký způsob, jak SRAM (či její velikost) detekovat bez zakousnutí počítače.
I kdyby to znamenalo si dodefinovat, že připojené zařízení musí někde vracet nějakou značku...

Autor:  Busy [ 13.09.2021, 20:00 ]
Předmět příspěvku:  Re: PP-01 Slabikář

dex píše:
Hlavně by to chtělo vymyslet nějaký způsob, jak SRAM (či její velikost) detekovat bez zakousnutí počítače.
Presne na toto som myslel aj ja. Ako si moze SW sam zistit, ci je dana banka osadena ramkou alebo pocitac zamrzne pri cakani na odpoved zbernice ?

Autor:  Czech Human [ 13.09.2021, 20:19 ]
Předmět příspěvku:  Re: PP-01 Slabikář

Přímo to sice nejde, protože jak paměť neodpoví XACK, tak PP čeká donekonečna a házet XACK na sběrnici kde není RAM taky není úplně vhodné. Ale je tu I-41 a adresa zařízení + řešení, která mě napadlo okopírovat, když jsem se vrtal v 286ce. Ta má totiž taky poněkud blbý BIOS a velikost RAM se nastavuje jen z několika málo kombinací. Pokud tam tedy dáme separé 74LS138 na desku paměti a vyčleníme jí jeden I/O adresní port (u PP je jich naštěstí dost), tak třemi jumpery/DIPy můžeme lehce nastavit 8 stavů kapacity SRAM a to nám stačí. Kapacita je maximálně 896 kB a myslím že 99,9% lidí použije 2 x 512 kB SRAM čipy ale pro blázny a šetřílky můžeme definovat 32 - 64 - 128 -256 - 384 - 512 -768 - 896 kB, což se dá SW lehce přečíst z bitu co se objeví na sběrnici a přitom do paměti sahat nebudeme, čili k zákusu ani chybnému čtení dojít nemůže. Tak pokryjeme všechny běžné kombinace kapacit SRAM modulů od 32 kB do 512 kB. Samozřejmě i ten adresní port se dá (pře)nastavit když se doplní odpovídající adresní přepínače.

Autor:  rombor [ 14.09.2021, 08:12 ]
Předmět příspěvku:  Re: PP-01 Slabikář

Czech Human píše:
Přímo to sice nejde, protože jak paměť neodpoví XACK, tak PP čeká donekonečna a házet XACK na sběrnici kde není RAM taky není úplně vhodné. Ale je tu I-41 a adresa zařízení + řešení, která mě napadlo okopírovat, když jsem se vrtal v 286ce. Ta má totiž taky poněkud blbý BIOS a velikost RAM se nastavuje jen z několika málo kombinací. Pokud tam tedy dáme separé 74LS138 na desku paměti a vyčleníme jí jeden I/O adresní port (u PP je jich naštěstí dost), tak třemi jumpery/DIPy můžeme lehce nastavit 8 stavů kapacity SRAM a to nám stačí. Kapacita je maximálně 896 kB a myslím že 99,9% lidí použije 2 x 512 kB SRAM čipy ale pro blázny a šetřílky můžeme definovat 32 - 64 - 128 -256 - 384 - 512 -768 - 896 kB, což se dá SW lehce přečíst z bitu co se objeví na sběrnici a přitom do paměti sahat nebudeme, čili k zákusu ani chybnému čtení dojít nemůže. Tak pokryjeme všechny běžné kombinace kapacit SRAM modulů od 32 kB do 512 kB. Samozřejmě i ten adresní port se dá (pře)nastavit když se doplní odpovídající adresní přepínače.
Ale to nerieši situáciu, či daná externá pamäť je pripojená.
Samozrejme, môže tam byť nejaký I/O port, ktorým sa bude dať zistiť veľkosť SRAM, ale ak ten modul nebude pripojený, tak ani ten port nebude existovať a počítač sa pri "zisťovaní" veľkosti SRAM, teda čítaní z toho portu, zasekne.
Ak niekto nepríde s nejakým "geniálnym" riešením (čomu veľmi neverím), tak budú musieť programy, ktoré sú schopné bežať s aj bez externej SRAM, požiadať užívateľa, či tú pamäť má pripojenú a podľa toho sa zariadiť.

Autor:  Czech Human [ 14.09.2021, 08:51 ]
Předmět příspěvku:  Re: PP-01 Slabikář

Když je PP HW udělané tak, že se prostě zakousne když port neodpoví s konečným časovým limitem, tak co jiného s tím dělat? Ano, není to ideální ale pořád je to na půl cesty kam se potřebujeme dostat - program si takhle velmi jednoduše načte, kolik RAM je nainstalováno, když je RAM nainstalovaná. Jen si proklepne 1 port a načte odpovídající bit s tou nepříjemnou vlastností, že když RAM a logika obsluhy portu není přítomná, počítač se zakousne tak jako tak.

Na druhou stranu tohle není sestava BFU sekretářky, tady bych předpokládal že naprosto každý kdo náhodou má živé funkční PP-01 z těch asi 20 co se zachovaly dodnes, a navíc ještě vybavené funkčním SD.ROM modulem, bude velmi dobře vědět co tam přidělal když si to stejně spájel doma sám. Přidává nám to flexibilitu že si takhle může vyrobit SRAM modul s řekl bych širokou kapacitní flexibilitou a program se s tím lehce vyrovná.

Další varianta je neudělat nic a na zájemce aplikovat RTFM, tedy program se zeptá uživatele ať už přímo, nebo nějakým konfiguračním souborem a případná bolest je plně zasloužená :-).

Autor:  Busy [ 14.09.2021, 10:33 ]
Předmět příspěvku:  Re: PP-01 Slabikář

Jasne, ale aj som myslel nejake riesenie, ktore by fungovalo automaticky aj na povodnom neupravenom originalnom PP01.

Pokial to naozaj nie je nijak mozne, tak nezostava nic ine, len take to moje "stop-reset" pseudoriesenie: Program vypise nieco v style "Tento program potrebuje tolko a tolko kB RAM ktoru zial nemate osadenu", nasledne sa pokusi pristupit do tejto ramky. Ked pri tom zamrzne, tak uzivatel uvidi napis, ale ked test prejde, tak sa napis rychlo zmaze (idealne este skor nez ho luc zobrazi na obrazovke) a program moze pokracovat dalej a pouzivat ramku.

Autor:  Czech Human [ 14.09.2021, 11:12 ]
Předmět příspěvku:  Re: PP-01 Slabikář

Hádám že tehdy nikdo moc nepředpokládal že se to bude osazovat na plnou kapacitu, je to učitě hlavně důsledek implementace sběrnice Multibus do PP-01. Takový prográmek ve stylu BSOD by to mohl trochu odlehčit že se uživatel alespoň dozví co PP schází :-). Opět ale - když máte živé hardwarové PP-01 a chcete si pouštět program co má na sobě několikeré varování že potřebujete SRAM nebo se to kousne, tak si tu SRAM prostě pořídíte. A pro majitele emulátoru toto nic neznamená, ti si tu SRAM snadno připojí :-).

Udělám rozšířené schémátko do kicadu pro SRAM + dekodér aby se dala ta kapacita snadno SW vyčítat z destičky na portu BFh - 191d, ale s případem neosazené RAM je to prostě v pasti, já to beru jako vlastnost tohoto stroje a jsem schopný s tím žít - zejména když takhle už je možné spolehlivě přečíst instalovanou kapacitu SRAM.

Autor:  l00k [ 14.09.2021, 11:23 ]
Předmět příspěvku:  Re: PP-01 Slabikář

Czech Human píše:
Udělám rozšířené schémátko do kicadu pro SRAM + dekodér aby se dala ta kapacita snadno SW vyčítat z destičky na portu BFh - 191d, ale s případem neosazené RAM je to prostě v pasti, já to beru jako vlastnost tohoto stroje a jsem schopný s tím žít - zejména když takhle už je možné spolehlivě přečíst instalovanou kapacitu SRAM.

za mne zbytečnost, proč by proboha někdo dneska dělal zozšíření s menší než maximální možnou kapacitou

Autor:  Czech Human [ 14.09.2021, 12:12 ]
Předmět příspěvku:  Re: PP-01 Slabikář

Co já vím, kolik je oldcomp nadšenců tolik je typů bláznů :lol:. Proč by dnes někdo chtěl 8bit s 64 kB RAM když může mít 64bit se 128 TB :-).

Smysl je v tom, že nyní není možné programově bezpečně otestovat jaká kapacita je nainstalovaná a každá chyba = zákus počítače. Takhle se dá kapacita RAM lehce načíst ať už si modul vyrobíš skoro ze všeho co jde najít v šuplíku, je to pro případné výrobce víc flexibilní a programátor má klidnější spánek. Jinak samozřejmě máš pravdu, nejlepší je dělat jednu maximální kapacitu a hotovo ale takhle to v OC komunitě úplně nefunguje co jsem už měl možnost si všimnout. Nazvěme to aplikované empirické poznatky :-D.

Autor:  dex [ 14.09.2021, 12:57 ]
Předmět příspěvku:  Re: PP-01 Slabikář

Hlavně je mi divné, že by to neměl ošetřeno originální Multibus, že by počítač schválně zamrzl, když neodpoví nějaká periferie nebo paměť.
Není tady v PP01 chyba?

A ještě jedna věc - ono by totiž mohlo být klidně možné mít i rozšířenou RAM bankovanou (někde na adrese nebo portu nastavovat, která banka 800 K RAM má být aktivní), a tam už je opravdu potřeba mít možnost osahat, jak se paměťový prostor chová.

Stránka 23 Všechny časy jsou v UTC + 1 hodina [ Letní čas ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/