OldComp.cz https://oldcomp.cz/ |
|
PP-01 Slabikář https://oldcomp.cz/viewtopic.php?f=47&t=10298 |
Stránka 1 z 3 |
Autor: | Czech Human [ 28.08.2021, 21:31 ] | ||||
Předmět příspěvku: | PP-01 Slabikář | ||||
Po delší době příprav jsem dokončil první tak trochu výukově-herně-grafickou aplikaci pro PP-01 pro děti, která je jednak didaktická, přitáhne děti k naší 8bitové technice a jednak coby současný unikát umí využít externí SRAM modul pro PP-01 pro o poznání rychlejší běh oproti verzi, kteá si vystačí jen s SD-ROM modulem. Velký dík tu patří Romborovi za vytvoření převodního prográmku grafiky, který vytváření grafických podkladů změnil z noční můry na osvěžující procházku rajskou zahradou a Lookovi, který napsal speciální zavaděč obrázků, co pracuje jak s SD-ROM modulem, tak s SRAM modulem. Bez jejich nástrojů by tento program-hra nevznikl. Budu se těšit na další vlaštovky co externí RAM využijí též. Program si nahrajte do SD-ROM modulu a spusťte odpovídající verzi programu *.PPB. Vzhledem k rozsahu se nedoporučuje pro nahrávání používat magnetofon . A upozornění - SRAM verze vám na PP-01 pojede pouze pokud máte na I-41 připojený 896 kB SRAM modul - ať už fyzický nebo v emulátoru. Pokud ne, počítač se vám vždy zakousne a pomůže jen tvrdý reset. Pro PP-01 s 64 kB paměti je určená základní verze programu, která jede všude, ale pomaleji načítá obrázky. Kdo ale vyzkouší svižnost změny obrázků s externí RAM, nebude už SD-ROM verzi chtít i když překopírovat těch 648 kB dat chvíli zabere. ( In your face, Bill! ) Přeji příjemnou zábavu ať už s dětmi vlastními, nebo s vnoučky .
|
Autor: | l00k [ 29.08.2021, 20:46 ] |
Předmět příspěvku: | Re: PP-01 Slabikář |
co k tomu říct... jako pokus o využití moooc ram dobrý, zdrojáky přenosu z a do EXRAM přidám kvalita obrázků je ale přímo děsivá (až na zebru, ta je naopak parádní), taktéž mi pořád vrtá v hlavě ta komprese a tím doba načítání Basic program je na kapitolu sám o sobě celkově pochybuju že by toto nějaké 5-6 leté dítě vůbec zaujalo |
Autor: | Czech Human [ 29.08.2021, 21:02 ] |
Předmět příspěvku: | Re: PP-01 Slabikář |
Vidíš a já mám naopak dvě pozitivní reference od 4 a 5 letých dětí co se klidně porvou o klávesnici . To imho z dospělého pohledu dospělý nemůže moc hodnotit pokud nejsi povoláním grafik pro dětskou tvorbu. Samozřejmě program i kvalita obrázků je kapitola sama pro sebe a nepovažuji je za kdoví co, nejsem profesionální grafik co dělá profi produkty a nehodlám půl roku zvažovat zda pixel zde přinese větší vizuálno než pixel tady a program jsem psal tak abych mohl připojovat obrázek za obrázkem jak jsem je dokončoval pro testovací účely a ve finále mi nepřišlo efektivní ho přepisovat když paměti je dost a funguje. Nikomu nezakazuji udělat sadu jiných/kvalitnějších obrázků, naopak. Můžeme to pak poskládat do verze 2.0 s hudbou a dalšími efekty, nebo to autor může uvolnit coby verzi vlastní, když bude chtít. Pokud ve finále vznikne lepší produkt tím lépe . Těch obrázků je 26 (se zebrou 25) tak si ten dotyčný na to musí podle mojí zkušenosti vyhradit poněkud delší dobu, práce na den to tedy rozhodně není a pokud ty obrázky mají mít úroveň tak už teprve ne. Navíc bude bojovat s rozlišením 256x256 což nepřeje detailům a s barvami, kterých je jenom 8 a opravdu silně mi scházela třeba šedá a půltóny. Se 16 barvami by se daly vyčarovat už mnohem realističtější obrázky ale to tak prostě je že víc barev je víc Adidas. Celé to byl takový můj okamžitý nápad ve stylu "jak zaplácat moře RAM jednoduše s Basicem, když se dají nyní už relativně snadno dělat fullscreen obrázky když look udělal kopírovač a nemám čas se vrtat v programování" a vypadlo mi z toho toto. Jeden důležitý poznatek je, že to jednak funguje a nic nestojí v cestě tu paměť používat a že ta RAM i na reálném PP-01 čte několikanásobně rychleji než SD-ROM, takže načítání dat je mnohem, mnohem svižnější. A druhý poznatek je, že díky SD-ROM modulu má PP-01 k dispozici prakticky hard disk s pro 8bit nekonečnou kapacitou a pořád dostatečnou rychlostí, takže se dá - když program vystačí s interní RAM nebo používá SD-ROM - fungovat i bez externí SRAM za cenu pomalejšího přesunu dat, tvůrci SD-ROM modulu odvedli skutečně perfektní práci a moc rád bych takovou vychytávku viděl i na PMD-85, tohle je mnohem "inteligentnější" periferie než PMD-32 SD a SD ROM Manažer naprosto bombový prográmek. |
Autor: | l00k [ 30.08.2021, 11:00 ] |
Předmět příspěvku: | Re: PP-01 Slabikář |
ber mou kritiku prosím jako námět pro další verzi ... já osobně bych se k tomu nikdy nedokopal navíc tím že to nepouštím na reálném stroji ale jen v emulaci mi chybí ten retro rozměr u těch obrázků jse strašná škoda nevyužití možností grafiky - na druhou stranu těch 8 barev asi bude opravdu hodně limitujících a dostat z toho něco rozumného nebude nic lehkého, prostě mi to přišlo že bych prakticky ty samé obrázky mohl mít na ZX Spectru s podstatně kratší délkou (viz demo na zobrazování ZXS obrázků) a s programem pomůžeme, zvukové efekty by se děckám určitě líbily |
Autor: | Czech Human [ 30.08.2021, 12:00 ] |
Předmět příspěvku: | Re: PP-01 Slabikář |
Jak řekl Kocour Listerovi když ten fňukal že chce zase žít a milovat se, "ze mě nevyrazíš víc než Malého rybáře!" Eskymáka udělám to je dobrý nápad, ale předělávat 25 obrázků s vágní definicí "jejich kvalita je děsivá?" To ani náhodou, komu se to nelíbí tak si to sám předělá Ostatně velkou část z nich mi schvalovaly děti předškolního věku, kam bych aplikaci marketingově cílil tak co . Možnosti grafiky PP-01 jsou třeba proti PMD-85 o hodně lepší díky definici samostatného pixelu - velká většina těch obrázků by nebyla na PMD možná zobrazit. A to samé platí i pro ZX Spectrum. Ale je třeba se držet při zemi, protože jen 8 barev je vážně málo a musel by to mít v rukách nějaký grafik-profík co by si hoodně vyhrál s ditheringem aby to vypadalo lépe. Takhle je to na úrovni 2D omalovánek s tím že si to uvědomuju a nezdá se mi moc efektivní dalších pár měsíců ty obrázky ručně upravovat aby to vypadalo přinejlepším jako 2,5D omalovánky. Víš kolik komunikace probíhá když grafik piluje návrh obrazu se zadavatelem co mu za to platí? Komprimace tu imho není nutná - i s 27 obrázky stále zbývá 248 kB volné paměti a jejich zobrazení je pouhé překopírování do videoRAM, což je nejrychlejší možný způsob. Taky to na živém PP-01 běhá moc pěkně. Jen poměrně dlouho trvá jejich překopírování do SRAM na začátku. Basicový program podle mě moc pilovat cenu nemá, hudbu zvládne stejně jen assembler a RAM je dost. |
Autor: | l00k [ 02.09.2021, 15:41 ] |
Předmět příspěvku: | Re: PP-01 Slabikář |
zkusil jsem BUSYho Lzxpack02, nejvíc obráků šlo kompresí -tn98c5o5o8 tak jsem jí projel všechny (aby byla jedna depack. rutina) a výsledek je - 27 obrázků 68kB namísto původních 648kB |
Autor: | Czech Human [ 02.09.2021, 16:07 ] | ||
Předmět příspěvku: | Re: PP-01 Slabikář | ||
To je pěkné, 90% sražení, to dělají ty velké plochy stejné barvy... Eskymáka už mám hotového viz příloha - stačí nakopírovat ke zbytku obrázků - a teď si škrábu hlavu zbytkem písmen. W by mohl být warťas (auto) nebo windows [i když jako zapřísáhlého linuxáře mě to zrovna netěší ] ale co dát na Q a Y, to tedy čerti vědí. Otestoval jsem i zkrácený Basic prográmek a běhá to též hezky i když tam už to nemá takový význam co se datového objemu týká.
|
Autor: | Busy [ 02.09.2021, 17:02 ] |
Předmět příspěvku: | Re: PP-01 Slabikář |
l00k píše: zkusil jsem BUSYho Lzxpack02, nejvíc obráků šlo kompresí -tn98c5o5o8 tak jsem jí projel všechny (aby byla jedna depack. rutina) a výsledek je - 27 obrázků 68kB namísto původních 648kB Iiiiiiha Ok, beriem to ako take podpichnutie, aby som co najskor depaker preportoval na 8080 Czech Human píše: teď si škrábu hlavu zbytkem písmen. W by mohl být warťas (auto)... Dalsie tipy:W ... world = zemegula), web = siet/pavucina, wedge = klin, well = studna, whale = velryba, wheel = koleso, whisky = (toto radsej nie), whistle = pistalka, whole = zname demo pre PP01 od Sindikatu, whore = (toto tiez radsej nie), wing = kridlo, witch = carodejnica, wire= drotik, wolf = vlk, wood = drevo/les, worm - cervik ... Y ... yacht = jachta, yager = polovnik, yellow = zlta farba, yeoman = rolnik/statkar/farmar, yet = dyza, yolk = zltok (z vajicka), yterbium = chemicky prvok, Q ... tu je to asi fakt problem, v slovniku su na Q temer len same abstraktne alebo matematicko/fyzikalne pojmy. Tak hadam aspon toto: quard = nahubok, quarrel = sip (cim sa striela z luku), quartz = krystal (kremen), quatrefoil = stvorlistok, queen = kralovna, quim = (ani toto by som radsej nekreslil) |
Autor: | Busy [ 12.09.2021, 21:27 ] |
Předmět příspěvku: | Re: PP-01 Slabikář |
Busy píše: l00k píše: zkusil jsem BUSYho Lzxpack02, nejvíc obráků šlo kompresí -tn98c5o5o8 tak jsem jí projel všechny (aby byla jedna depack. rutina) a výsledek je - 27 obrázků 68kB namísto původních 648kB Iiiiiiha Ok, beriem to ako take podpichnutie, aby som co najskor depaker preportoval na 8080 |
Autor: | Czech Human [ 12.09.2021, 22:51 ] |
Předmět příspěvku: | Re: PP-01 Slabikář |
Paráda, teď už jen kolik času zabere rozpakování dat. Každopádně je to moc šikovná věc, vrchol estetiky by byla utilitka co by dovedla "grabnout" obrazovku a zkomprimovat ji do souboru a zpět dost malá aby se vlezla v rámci programu do RAM - to by byl základ pro (ideálně myším ovladačem půjčeným z PMD) malování na PP-01 .Těším se až to budu moct vyzkoušet na živém železe jak se s tím rozbalováním časově 8080 popere . Když se komprese osvědčí, tak bych ještě ještě looka poprosil o rozšíření možností té kopírovací utilitky do SRAM, která aktuálně jak tomu rozumím podporuje přenos jen do 32 souborů. Takhle by se vešly v SRAM stovky obrázků (možná vhodná hodnota by byla 256 - sice by se fyzicky vešlo víc ale takhle se to počítadlo vejde do 1 bajtu) a pár by se jich asi vešlo i do RAM PP-01, když bude program poněkud datově šetrný . |
Autor: | dex [ 13.09.2021, 00:27 ] |
Předmět příspěvku: | Re: PP-01 Slabikář |
POKE 9E06H,FFH ? Já se v té literární činnosti trochu ztrácím. Diassembling rutiny neodpovídá zdrojáku http://oldcomp.cz/viewtopic.php?f=50&t=6218&hilit=pp01+sram&start=60#p129414. |
Autor: | l00k [ 13.09.2021, 09:42 ] |
Předmět příspěvku: | Re: PP-01 Slabikář |
zdroják vychází z původní rutiny, jsou tam vlastně 2 části... úschova do EXram a pak zobrazení, s tím že číslo obrázku se předává z Basicu Kód: cpu z80 org 9E00h start: jp ZobrazO ;jp DoExRam ;následuje rovnou rutina ;do EXRAM, volá se A=CALL(9E03h,x) kde x je číslo 0-31 ;obrázek musí být načten od 2000h (24kB po 7FFFh) ;----------------------------------------------------- ;parametr x vstupuje v BC (stačí C) DoExRam: di ;zákaz přerušení ld a,c and 31 ;maska 0001 1111 -> 0 - 31 - 32 obrázků add a,a ;2x ld b,a add a,a ;4x add a,b ;6x ld c,a ;číslo banky v EXRAM pro první blok obrázku ld b,6 ;6x4kB k přesunu ld hl,0 add hl,sp ;SP do hl ld (doe3+1),hl ;a na konec rutiny pro obnovení ld sp,2000h ;zásobník ukazuje na obrázek doe1: ld a,c ;vypočítaná hodnota pro poč. stránku v Ex.Ram out (0EFh),a ;přistránkuj od F000h ld hl,0F000h ;a tam ukazuje HL doe2: pop de ;vyzvedni data ld (hl),e ;vlož je do EXRAM inc hl ld (hl),d inc hl ld a,h ;už si na konci 4kB ? (přeteklo HL na 0000?) or l jp nz,doe2 ;opakuj pokud ne inc c ;další stránka dec b ;sniž počítadlo jp nz,doe1 ;opakuj 6x doe3: ld sp,0 ;obnov zásobník doe4: ld a,0FFh ;a přistránkuj zpět ROM out (0EFh),a ei ;obnov přerušení ret ;a vrať se ;z EXRAM zobrazit obrázek , volá se A=CALL(9E00h,x) kde x je číslo 0-31 ;---------------------------------------------------------------------- ZobrazO: di ld a,c and 31 ;0001 1111 -> 0 - 31 - 32 obrázků add a,a ;2x ld b,a add a,a ;4x add a,b ;6x ld c,a ;číslo banky v EXRAM pro první blok obrázku xor A out (0C0h),a ;scroll registr out (0CCh),a ;režim jednotlivých bitplánů ld de,0A000h ;zde je namapovaná VRAM ld hl,0F000h ;zde budeme mapovat obrázek push hl ld b,10h ;16x256=4096 bajtů pro každou stránku sm1: ld a,0E6h ;bitmapa R, první půlka od A000h out (0EAh),a ld a,c ;od F000h první 4kB R out (0EFh),a call sm256 ld a,0EAh ;bitmapa G, první půlka out (0EAh),a ld a,2 ;od F000h první 4kB G add a,c out (0EFh),a call sm256 ld a,0EEh ;bitmapa B, první půlka out (0EAh),a ld a,4 ;od F000h první 4kB B add a,c out (0EFh),a call sm256 inc h inc d dec b jp nz,sm1 ;opakuj 16x ld b,10h inc c pop hl ;=F000h sm2: ld a,0E7h ;bitmapa R, druhá půlka out (0EBh),a ld a,c ;od F000h druhé 4kB G out (0EFh),a call sm256 ld a,0EBh ;bitmapa G, druhá půlka out (0EBh),a ld a,2 ;od F000h druhé 4kB G add a,c out (0EFh),a call sm256 ld a,0EFh ;bitmapa B, druhá půlka out (0EBh),a ld a,4 ;od F000h druhé 4kB B add a,c out (0EFh),a call sm256 inc h inc d dec b jp nz,sm2 ;opakuj 16x ld a,0EAh out (0EAh),a ld a,0EBh out (0EBh),a jp doe4 ;obnov ROM a vrať se ;přenos 256 bajtů RAM->VRAM ;-------------------------- sm256: push hl ld a,c ;schovej si stránkovací hodnotu ld (aa1+1),hl ld hl,0 add hl,sp ld (aa3+1),hl aa1: ld sp,0 ld c,32 ex de,hl aa2: rept 4 pop de ld (hl),e inc l ld (hl),d inc l endm dec c jp nz,aa2 ex de,hl aa3: ld sp,0 ld c,a ;obnov stránkovací hodnotu pop hl ret to poke bych moc nedělal, obrázků sice může být až 37, ale trošku jsem si to zjednodušil, pokud by někdo dal číslo větší než 31 tak to nastránkuje nějakou blbost |
Autor: | l00k [ 13.09.2021, 10:04 ] |
Předmět příspěvku: | Re: PP-01 Slabikář |
Czech Human píše: Paráda, teď už jen kolik času zabere rozpakování dat. Každopádně je to moc šikovná věc, vrchol estetiky by byla utilitka co by dovedla "grabnout" obrazovku a zkomprimovat ji do souboru a zpět dost malá aby se vlezla v rámci programu do RAM - to by byl základ pro (ideálně myším ovladačem půjčeným z PMD) malování na PP-01 .Těším se až to budu moct vyzkoušet na živém železe jak se s tím rozbalováním časově 8080 popere . Když se komprese osvědčí, tak bych ještě ještě looka poprosil o rozšíření možností té kopírovací utilitky do SRAM, která aktuálně jak tomu rozumím podporuje přenos jen do 32 souborů. Takhle by se vešly v SRAM stovky obrázků (možná vhodná hodnota by byla 256 - sice by se fyzicky vešlo víc ale takhle se to počítadlo vejde do 1 bajtu) a pár by se jich asi vešlo i do RAM PP-01, když bude program poněkud datově šetrný . otázka do pléna zní: kolik z vás tady postaví/používá rozšířenou RAM (v emulaci asi můžou všichni) pokud by měla rutina na depakování obrázků běžet i na PP01 bez rozšířené RAM, tak by se musela výrazně předělat a buď předchystat (přeházet) data, nebo zobrazovat po jednotlivých 8 kB bitplánech (v obou případech zásah do depack. rutiny) pokud by to mělo být jen pro verzi s rozšířením, bude to o dost jednodušší protože pracovního prostoru je celkem dost a nebude třeba překopávat data ani depackovací rutinu a ještě poznámka k Citace: vrchol estetiky by byla utilitka co by dovedla "grabnout" obrazovku a zkomprimovat ji do souboru a zpět - ten packer je pro pomocný vícebit (těch 3000 variant komprese bys na PP01 dělal týden), takže to NENÍ možné...
|
Autor: | dex [ 13.09.2021, 10:37 ] |
Předmět příspěvku: | Re: PP-01 Slabikář |
Hm, takže i po zrušení té masky jde stejně jen 42 obrázků, protože se A násobí šesti (256/6=42,něco) bez přenosu do vyššího bajtu. Napevno se počítá s tím, že obrázek zabírá 6 bank? U pakovaných obrázků by byl potřeba mnohobitový ukazatel na začátek obrázku v 1 MB RAM (na stránku a adresu). |
Autor: | l00k [ 13.09.2021, 11:14 ] |
Předmět příspěvku: | Re: PP-01 Slabikář |
dex píše: Napevno se počítá s tím, že obrázek zabírá 6 bank? U pakovaných obrázků by byl potřeba mnohobitový ukazatel na začátek obrázku v 1 MB RAM (na stránku a adresu). ano, CzechHuman chtěl jen přenášet videodata bez komprese a to je 24kB=6bank na obrázek pro pakované věci by se musel přidat nějaký organizér (tabulka, 3 bajty na každý obrázek) kde by bylo řečeno kde jsou obrázky v paměti, ale jak říkám, pokud to má být jen pro rozšířenou ram tak to bude velmi jednoduché teoreticky by tam mohlo být více depack rutin (pak by se tabulka rozšířila o tuto informaci buď do nevyužitých bitů adresy bitů / dalšího bajtu) |
Stránka 1 z 3 | Všechny časy jsou v UTC + 1 hodina [ Letní čas ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |