OldComp.cz

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

Sokolovna Slavonn

Právě je 18.05.2022, 04:34

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




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 18 ]  Přejít na stránku Předchozí  1, 2
Autor Zpráva
PříspěvekNapsal: 06.05.2022, 21:17 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 09.10.2013, 19:04
Příspěvky: 1200
Has thanked: 120 times
Been thanked: 48 times
Mikes21 píše:
Milsa: nevim presne jestli to chapu dobre. Podle me smichavas docela hodne veci do sobe a, priznam se, ja je neumim asi spravne rozklicovat. Snad jen nekolik poznamek:
- prikaz OUT posila data na port, takze to s pameti nesouvisi

Áno viem, mapa pamäti by bola rýchlejšia, preto tá zmienka o pomalom OUTe.
Mikes21 píše:
- unikarta nemuze cist z pameti Sharpa, protoze by musela 'odstavit' Z80. Ale muze monitorovat cteni/zapis z/do pameti a vytvaret si vlastni obraz pameti nebo VRAM. Urcite unikarta nemuze zapisovat do RAM/VRAM

Presne to som myslel monitorovanie. A išlo mi o to, že cez API sa pošle adresa, kde sú doradu zapísané dáta (niečo ako DATA v BASICu a Unikarta by ich postupne spracovávala. Keďže by mala mapu pamäte, tak by sa vynechal pomalý OUT.
Mikes21 píše:
- prikazy LINE, PATTERN apod. jsou v BASICu, takze pokud by unikarta mela spolupracovat s patricnymi prikazy, znamenalo by to doplnit API unikarty o predavani parametru, vypocet hodnota a
predavani hodnot zpet.

Až také divoké predstavy som nemal. Moja predstava je toto:
Unikarte pošlem $01,$00,$00,$00,$00,$01,$3f,$00,$cf a Unikarta bude vedieť, že:
$01 - LINE
$00,$00 - x1
$00,$00 - y1
$01,$3f - x2
$00,$cf - y2
No a takto by boli implementované všetky príkazy. Pracovali by aj s rozsahom mimo 640x200, aby nebol problém pri konečných bodoch mimo obrazovky.
Mikes21 píše:
- unikarta muze kreslit do sveho framebufferu, dokonce by mohla vyrobit nejakou vrstvu navic a tam pracovat s obrazovymi daty, ktere jsou na jejim vystupu. O tom ale Sharp nic nevi a ani se to nema jak dozvedet, pokud to nebude podporeno nejakym sw v Sharpovi samotnem.

Presne o to mi ide. A ak by Sharp potreboval ten výstup, príkazom by oň požiadal a Unikarta by posielala dáta, či už nejako komprimované alebo len ČB, ak by to stačilo alebo plnú 32 kB grafiku. Ideálne by to bolo hlavne pri vykresľovaní príkazom "PAINT", ktorý je extrémne pomalý.
Mikes21 píše:
- GDG nema zadnou podporu pro sprite. Tedy pokud vychazim z definice, co to presne je sprite. Pokud by je mel, muselo by se to vyresit bud na urovni sw v Z80 nebo pridat funkcionalitu do GDG. Jen na okraj: tohle ani neni dobove, ale to nevadi.

To bol len nápad, ktorý nie je nutné realizovať. Viem, že Sharp ich nemá a nahrádzajú ich predefinované znaky v CGRAM.
Mikes21 píše:
Vsechno neco stoji ;-) Treba kdyz si proctes diskuze okoli APU (matematickem koprocesoru), tak se da zjistit jakou rezii to vse ma a kolik se timto zpusobem da ziskat vykonu. A tam vidim fakt velky problem. Na nizke urovni to vypada jako velice dobry napad, ze clovek/stroj usetri hodne casu, ale kdyz zapoctes celou tu rezii okolo tak zjistis, ze celkovy benefit se pohybuje v cca 5-15%. Navic tyhle algoritmy vyzaduji opravdu hodne dobre znalosti a fakt hodne casu na programovani a vyladeni.
Takze na me - "Zvažovali ste niečo podobné?" ano zvazovali. Dokonce se toho hodne zkouselo a to i na jinych platformach. Zaver si z toho udelej sam.

Poznamka: odpovidali jsme sice k veci, ale myslel jsi to jinak. Prosim te, napis to priste tak, aby tve dotazy byly tak, jak jsi to myslel doopravdy a ne tak jak jsi to napsal, kdyz je to tedy 'jinak' :-). Diky.

Ospravedlňujem sa. Nebolo to preto, že by som to myslel inak, ale mne to nejakú dobu chodí v hlave a neuvedomil som si, že som to popísal dosť obecne a do svojej hlavy si vidím len ja. Takže na to, čo som napísal ste napísali k veci, ale v mojej hlave som mal niečo iné. Proste som si neuvedomil, že som sa nevyjadril dostatočne jasne, nie, že by som nechcel.

_________________
Sharp MZ-821
Milsa MZ-841


Nahoru
 Profil  
 
PříspěvekNapsal: 07.05.2022, 19:43 
Offline
Profík

Registrován: 11.11.2013, 10:29
Příspěvky: 992
Has thanked: 255 times
Been thanked: 255 times
Ja ti v podstate rozumim. Take casto o necem premyslim a nakonec me to zavede nekam jinam. Kdyz se potom chci k dane veci vyjadrit, tak tomu chybi ty souvislosti. Ale to je v poradku.

Pokud by jsi chtel vyzkouset nekterou funkci na 'akceleraci', tak zkus treba LINE
Kód:
;   Vykresleni cary
;
A46CC:   LD   A,-1      ;'caru vykreslit'
;
;   LINE (A=1SET/-RESET, DE'=x1, HL'=y1, DE=x2, HL=y2)
;         sluzba 73
;
      A46CE:   CALL   A466B      ;nastavit WFR podle A
         PUSH   DE      ;X1
         PUSH   HL      ;Y1
         EXX         ;
         LD   (S11A4),DE   ;X2
         LD   (S11A9),HL   ;Y2
         EXX         ;
Ve zdrojacich BASICu je docela dobre zdokumentovana. Da se pomerne snadno zjistit, jak to funguje a jak dlouho to trva. Pokud vymyslis misto, kde predas parametry pro unikartu a druhe, kde je prevezmes zpet, tak aby jsi to nahral do VRAM, muzes navrnout rutiny, ktere to udelaji. I kdyz by jsi je zatim nemel v unikarte, nevadi, i tak uz se da zjistit, jak to cele bude fungovat a orientacne, jaky to bude mit casovy benefit/usporu. Pak je tu samotna rutina ukladani do VRAM, tam uz to neumim tak snadno odhadnout, to uz chce vyzkouset a spocitat.
Nasledne muzes pridat sluzbu do unikarty, neni to az tak slozite, a zase, je to zdokumentovane a muzu ti s tim poradit.
K tomu OUT, ten trva 11 cyklu. Oproti tomu "ld (*),r" trva 7, tzn. uspora 4 cykly, krat 9 parametru je 40 taktu. Jednou OUT a nekolikrat IN, to je 40+n*4 taktu. To je na zacatku toho kodu vyse videt.
Zatim asi vse k jednomu z tech bodu, ktere jsi IMHO myslel k te akceleraci. Popremyslej, neco zkus a napis. Budu se tesit na nejaky nazor/napad/zkusenost ;-)

_________________
Sharp MZ-800++, MZ-1500++, MZ-2500++, SM-B-80T, MK-14_replica, HP-85, ZX-80+replica, ZX81, ZX-Spectrum+replica++, PMI-80+replica, SAM coupe++, PMD-85-2A+3, Didaktik-M, SORD-M5, TI-57, TI-59+PC-100, TI99/4A, ZetaV2+ppp, ZX-uno, Petr


Nahoru
 Profil  
 
PříspěvekNapsal: 08.05.2022, 13:44 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 09.10.2013, 19:04
Příspěvky: 1200
Has thanked: 120 times
Been thanked: 48 times
Ja som to myslel bez prepisu do VRAM. Jednoducho Unikarta by to emlovala u seba a posielala na výstup. Samozrejme na štandardnom výstupe by nebolo nič. Výhodu by to malo pre budúci vývoj zložitejších hier. Napr., taký Driller je dosť pomalý, podstatne by ho to zrýchlilo.

Ale tým, že si spomenul BASIC, tak ma napadlo, že v spojení s Unikartou by sa takto dali spraviť ďalšie grafické režimy, napr. 640x400x16 farieb a podobne. To by už ale nebol Sharp MZ-800, ale niečo iné.

V tejto súvislosti ma ale napadlo, že by sa takto dali previesť nejaké hry z MZ-1500 tak, aby boli použiteľné na MZ-800, keďže ten pracuje v "textovom" režime a grafický režim MZ-800 by ich spomalil. Samozrejme, výstup by bol len na Unikarte, lebo klasický výstup by to nezobrazoval. Ale toto sú už len také dohady, na čo by sa to dalo využiť.

Na MZ-800 mám nejaké plány, len je to horšie s časom a niekedy chuťou. Rozhodne niečo už rozrobené mám, takže skúsim hlavne to dotiahnuť do konca a potom budem skúšať ďalšie veci. Akcelerátor na karte ale nie je podmienka pre dokončenie mojich plánov. Rozhodne sa na to ale niekedy pozriem, lebo je to pre mňa zaujímavé.

_________________
Sharp MZ-821
Milsa MZ-841


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ů: 18 ]  Přejít na stránku Předchozí  1, 2

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 1 návštěvní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:  
cron
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz