Batman Forever (CPC demo)

Başlatan Alco, 21 Mart 2011, 12:49:55

« önceki - sonraki »

0 Üyeler ve 7 Ziyaretçi konuyu incelemekte.

Alco

Matahari bu demoyu epey detaylı şekilde inceliyor. Bu esnada da Rhino'nun dedikleri ile bazı şeylerin çeliştiğini farketmiş.

Misal:

Alıntı yapılan: Rhino - 25 Mart 2011, 19:18:03
And about how 3d objects are filled, I was inspired on how the Amiga blitter fill vectors but using the CRTC instead. In this way, we can say that z80 only draw the object borders and CRTC do the rest.Rhino.

http://cpcwiki.eu/forum/index.php/topic,2085.msg21179.html#msg21179

Demiş Rhino CPCWiki'deki mesajında. Gelgelim CRTC'nin tüm satırı boyama dışında bu türden bir nokta detect etme/fill etme/boyama gibi bir özelliğini bilmiyoruz.

http://www.grimware.org/doku.php/documentations/devices/crtc

Bu konuda bir fikri/teorisi olan var mı?

www.facebook.com/groups/AmstradCpcCom
www.facebook.com/groups/MSXTurkiyeCom
www.facebook.com/groups/retrojen
www.facebook.com/SizinAmstrad
www.facebook.com/Retro3D
www.amstradcpc.com
Retrojen Youtube

Ref

Alıntı yapılan: Alcofribas - 26 Mart 2011, 15:15:41

Alıntı yapılan: Rhino - 25 Mart 2011, 19:18:03
And about how 3d objects are filled, I was inspired on how the Amiga blitter fill vectors but using the CRTC instead. In this way, we can say that z80 only draw the object borders and CRTC do the rest.Rhino.

Bu konuda bir fikri/teorisi olan var mı?

Crtc hakkında en ufak bir fikrim yok elbette :) Ama rhino z80 obje çerçevesini çiziyor dediğine göre, sen de crtc'nin tek bir raster satırını boydan boya doldurduğunu söylediğine göre, tahminen bir timing tutarak obje çervesinin yatay düzlemde giriş ve çıkış noktalarını hesaplayıp, sadece o noktalarda crtc'ye işi bırakıyorlardır, böylece ekranı doldurma, byte shift vs. gibi işleri yapmayarak, tstate saymak ve objenin şeklini hesaplamak için z80'e zaman yaratmak mümkün oluyordur.

Bilmiyorum amstrad'da double buffer var mı? Varsa aynı şey buffer swap ile de yapılabilir mesela.

Alco

CRTC yardımıyla Filled Vector nasıl yapılabilir konusunda ufak bir kod matahari tarafından CPCWiki'ye yollandı.

http://www.cpcwiki.eu/index.php/CRTC_change_colour_(fill)_test_with_precise_timing

Bakalım bu ipucundan kaç kişi yakalayacak Filled Vector Batman Logo olayını. Birkaç güne kadar ses çıkmazsa biz açıklarız CPCWiki'ye.

Rhino her ne kadar Blitter'a benzetse de, matahari bunun Copper mimarisine daha yakın olduğunu düşünüyor. Ama neden Blitter'a benzetildiği konusunda da detaylı bir açıklaması var.
Kodu Winape ile çalıştırmak ve test etmek isterseniz:

----------------------------------
WinApe'i aç
F3
File->New
Yukarıdaki linkten kodu kopyala
Paste
CTRL+F9
CPC ekranına geç
Call &3000
----------------------------------
www.facebook.com/groups/AmstradCpcCom
www.facebook.com/groups/MSXTurkiyeCom
www.facebook.com/groups/retrojen
www.facebook.com/SizinAmstrad
www.facebook.com/Retro3D
www.amstradcpc.com
Retrojen Youtube

Ref

Alıntı yapılan: Alcofribas - 28 Mart 2011, 10:33:12
Rhino her ne kadar Blitter'a benzetse de, matahari bunun Copper mimarisine daha yakın olduğunu düşünüyor.

Blitter ile de alakası yok işin evet, kopyalanan bir veri yok ki. Copper demek istemiştir bence Rhino. Fakat copper bir işlemci, buradaki efekt "copper ile yapılan raster satırı başında palet değiştirme tricki"ne benziyor.

Büyük olasılıkla rhino kenarları yuvarlatmak için (görünüşe göre crtc tıpkı ula gibi buffer'ı 1 byte olarak okuyor ve 8 pixellik alanı tek seferde boyuyor) oralara pixel çiziyordur.Hatta ekranı 4x4'lük chunklar halinde önceden checker board ile doldurursanız böylece raster satırının uçlarını 4 pixel eninde *kolayca* detaylandırmak mümkün. Olacaktır. Ya da raster satırının ucunu siz çizeceksiniz piksel piksel.