OldComp.cz
http://oldcomp.cz/

Plasma efekt na PMD
http://oldcomp.cz/viewtopic.php?f=47&t=5946
Stránka 11

Autor:  mmartinka [ 06.02.2018, 18:28 ]
Předmět příspěvku:  Plasma efekt na PMD

Archiv obsahuje jak bin, ptp tak i zdrojový kód. :)
Příloha:
PlasmPMD.zip [10.61 KiB]
735 krát

phpBB [video]


Toto intro 256b pro ZX Spectrum od autora "g0blinish" se mi líbí a tím že autor většinou uvádí i zdrojový kód, pokusil jsem se o port pro PMD :).
Zachovat délku kódu nebyla má priorita, spíše mi šlo o to aby intro fungovalo na všech verzich PMD. Protože mám také pouze PMD 85-2. Samotný kód není dlouhý ale vygeneruje si další kód o delce cca 30kb. Nejdříve vygeneruje sprajty a na to padne rovných 16kb, toto předurčilo i adresní blok 0x0000-0x4000. Tato 16kb část paměti je na všech verzích PMD. Od adresy 0x4000 je samotný program o délce 844 bajtů a za program se generuje další kód, který pak vykresluje jednotlivé řádky obrazovky.
Pro kód vykreslení máme k dispozici necelých 14kb, na Z80 by to nebyl problém, ale kód pro 8080 značně nabobtná. Původní rutina pro vykreslení používá funkci LDI a 32x ji zopakuje, což nám zabere 70 bajtů na řádek. Pouhé přepsání do 8080 nám dá 134 bajtů na řádek (viz V1). a celková délká kódu je 25kb :(. Pak jsem to přepsal (V2) tak abych využil funkci POP, opticky je kód delší :), ale vygeneruje cca o 6kb krátší blok a rychlost vykreslení je rapidně rychlejší. Ještě je možno generovaný blok zkrátit asi na cca 15kb, ale je značně pomalejší.
Za tento blok s vykreslovacím kódem musíte ještě dostat dvě tabulky po 256 bajtech, pomocí kterých se vypočítá adresa spritu.

Proto vykresluji pouze 135 řádků 135x98 bajtů máme 13kb, ale zase si to uzijeme na všech strojích :). U Consul 2717 se v určité části obrazu vykreslují chybné linky, ale netuším proč.
Dle testovaní na emulatoru od Boriků, fungovaly všechny verze PMD, také Maťo, Alfa, Alfa2 i Consul.


Kód:
;---------- V1 ------------
DE - adresa video
HL - adresa dat

2a 0000         LHLD   0000      16T adresa dat
11 0000         LXI    D,0000    10T adresa video
7e              MOV    A,M        7T načíst data do reg A
12              STAX   D          7T vložit na adresu video
23              INX    H          5T zvýšit adresu HL o 1
1b              DCX    D          5T snížit adresu DE o 1

32 průchodů celkem 794T
134 bajtů na řádek
192 řádků * 134 bajtů = 25728

;---------- V2 ------------
DE - adresa dat
HL - adresa video

21 0000      lxi     h,0
39           dad     sp
22 0000      shld   sp_temp

2a 0000      lhld   adresa video      16T
f9           sphl
31 0000      lxi    sp, adresa dat   10T
d1           pop      d              10T
73           mov     m,e              7T
23           inr     l                5T   
72           mov     m,d              7T
23           inr     l                5T

2a 0000      lhld  sp_temp
f9            sphl

16 průchodů   570T
98 bajtů na řádek
192 řádků * 98 bajtů = 18816

Autor:  computerasylum [ 06.02.2018, 21:06 ]
Předmět příspěvku:  Re: Plasma efekt na PMD

no prima, ale k čemu je to v praxi užitečný, že se na obrazovce vlní zelená tapeta?

Autor:  tridé [ 06.02.2018, 21:39 ]
Předmět příspěvku:  Re: Plasma efekt na PMD

Demoscena - je realtime umenie... Ukazuje to moznosti pocitaca.

Autor:  Lisiak4 [ 07.02.2018, 00:23 ]
Předmět příspěvku:  Re: Plasma efekt na PMD

computerasylum píše:
no prima, ale k čemu je to v praxi užitečný, že se na obrazovce vlní zelená tapeta?
Chci se ti omluvit za to, že třeba já zde na tomhle fóru mám jiné zájmy než Ty.

Autor:  Busy [ 07.02.2018, 12:22 ]
Předmět příspěvku:  Re: Plasma efekt na PMD

computerasylum píše:
no prima, ale k čemu je to v praxi užitečný, že se na obrazovce vlní zelená tapeta?
A k comu je dobre ked nejaky maliar umiestni na platno nejake farby ?

Autor:  misticjoe [ 07.02.2018, 12:25 ]
Předmět příspěvku:  Re: Plasma efekt na PMD

2 mmartinka: hustě ty!
Existuje vůbec nějaké demátko pro PMD?

Autor:  vanthomas [ 07.02.2018, 12:30 ]
Předmět příspěvku:  Re: Plasma efekt na PMD

taková neznalost :twisted:
[youtube]https://www.youtube.com/watch?v=CCyflo2o4aA[/youtube]

Autor:  computerasylum [ 07.02.2018, 12:35 ]
Předmět příspěvku:  Re: Plasma efekt na PMD

Busy píše:
computerasylum píše:
no prima, ale k čemu je to v praxi užitečný, že se na obrazovce vlní zelená tapeta?
A k comu je dobre ked nejaky maliar umiestni na platno nejake farby ?


Tak záleží jak se ty barvy umístí že. Někdo je umístí, že to je patlanice, jiný je umístí tak, že vznikne MonaLisa a celé generace lidí na to zírají.

Stejné to je s uměleckým projevem přes počítač. Pokud má být max. schopnost počítače vlnit zelený pixlíky na obrazovce, tak je to trochu málo i na 8080 :suicide: Pokud si pamatuju z dob PMDčka, tak tahle věc dokáže daleko více a byla také navržena na daleko větší možnosti. Zkuste se zamyslet na tím hardwarem u PMDčka.

Autor:  misticjoe [ 07.02.2018, 12:40 ]
Předmět příspěvku:  Re: Plasma efekt na PMD

Když je to podle tebe taková trivialita, tak ukaž, co PMD umí. Chop se nějakého programovacího jazyka a makej. Čekáme...

Autor:  misticjoe [ 07.02.2018, 12:42 ]
Předmět příspěvku:  Re: Plasma efekt na PMD

vanthomas píše:
taková neznalost :twisted:


Jo, to znám. Ano, dobře. Tak demátko s efekty. Ne jen slideshow :-)

Autor:  mmartinka [ 07.02.2018, 12:48 ]
Předmět příspěvku:  Re: Plasma efekt na PMD

Borikovci jedno již zmíněné.
Busy udělal tři dema pro PMD85 a dvě jsou s podporou MIF
Sil 1k
phpBB [video]


x3D 1k
phpBB [video]


Unlimited
nemohu najít na trubce

Autor:  misticjoe [ 07.02.2018, 13:17 ]
Předmět příspěvku:  Re: Plasma efekt na PMD

Hezký! Tak to jsem vůbec neznal!

Autor:  tridé [ 07.02.2018, 23:52 ]
Předmět příspěvku:  Re: Plasma efekt na PMD

Neviem preco takto hned reagujete.Malokto vie co to je demoscena...

Autor:  mborik128 [ 08.02.2018, 02:44 ]
Předmět příspěvku:  Re: Plasma efekt na PMD

mmartinka píše:
Unlimited
nemohu najít na trubce

Unlimited sprites som si dovolil ja, ako pripadovu studiu toho, ze z PMDcka nebude demo masina, kym nebude mat synchronizaciu s lucom. :dro:
phpBB [video]

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