tr-demoscene

the scene => demoscene => Konuyu başlatan: skate - 21.03.2011 11:54:01

Başlık: Batman Forever by Batman Group
Gönderen: skate - 21.03.2011 11:54:01
3 sene sonra ilk kez bir demoya Pouet'de CDC (Coup De Coeur) (http://www.pouet.net/faq.php#2) verdim. Amstrad CPC scene'i hep Commodore 64 scene'inden çok çok zayıf olmakla, yayınlanmış 3-5 demoda da makinenin limitlerini zorlamamakla eleştirilirdi. Ahanda şimdi zorlamış ve Commodore 64 scene'ine taşı atmışlar demoda. :) şu açıdan haklı sayılabilirler. Commodore 64'cülerden epey bir taş yemişlerdi. Düşünsenize, elinizde Commodore 64'den daha üstün (SID v.s. detaylara girmiyorum, genelleme yapıyorum) bir bilgisayarınız var ve Commodore 64 demoları elinize veriyor. 2011 biraz geç oldu ama en azından hakkını veren ve izlemesi müthiş keyifli, tam anlamıyla bir MEGADEMO yayınladı sonunda birileri. Acayip keyif aldım. Disk 2 A yüzünün ilk partı (idi sanırım) olan hayvani Batman logosu çok etkileyici. Ortada küçük ve düşük FPS'de dönen hali gerçekten C64'de yapsak o hızlarda olur gibi geliyor insana realtime olduğu sürece. Tam ekran olan realtime mıdır bilmiyorum ama bu kadar hayvani bir şekilde yapması oldukça güç c64'de. REU gibi şeylerden bile faydalansan borderları da açmak gerekecek bu boyutta birşey yapmak için, işimiz zor. :)
 
Link aşağıdadır. Ben WinAPE isimli emülatör ile izledim. Amstrad CPC'den anlamayan arkadaşlara tavsiyem WinAPE'i çalıştırın, CTRL+F1'e basın, açılan pencereden .dsk uzantılı disk imajını seçtikten sonra aşağıdaki "Automatically Run Program" checkboxını seçip open/aç düğmesine tıklayın. Her yüzün sonunda demo sizden disketi çevirmenizi/değiştirmenizi istediğinde yine CTRL+F1'e basın, ancak bu defa checkbox'ı kaldırın ve space'e basarak demoyu izlemeye devam edin.
 
http://www.pouet.net/prod.php?which=56761
Başlık: Batman Forever by Batman Group
Gönderen: skate - 21.03.2011 12:05:00
Bende epey yavaşlıyor arada, çok tavsiye etmiyorum ama isteyenler bu linkten de online java emulator'ü üzerinden izleyebilirler.
 
http://retropower.eu/CPCInAJar/index.php?dsk=bf.zip&crtc=1&boot=DISC&large=true
Başlık: Batman Forever by Batman Group
Gönderen: spritus - 21.03.2011 13:16:54
güzel demo ama atari ve amstrad'tan bir türlü c64'ün verdiği tadı alamıyorum. c64 afacan, haşarı ve hiperaktif bir çocuksa, diğer denk platformlar saygılı, efendi abiler gibi geliyor bana nedense :)
Başlık: Batman Forever by Batman Group
Gönderen: skate - 21.03.2011 13:49:26
@spritus: bana bu demo tam c128 ya da dtv demosu tadı verdi. aynı kandan ama sadece c64 değil gibi yani. :)
Başlık: Batman Forever by Batman Group
Gönderen: ssg - 21.03.2011 16:43:49
oh beee nihayet! ahahah
Başlık: Batman Forever by Batman Group
Gönderen: ssg - 21.03.2011 17:24:30
cpc scene'ine yabanci olanlar icin soyle diyeyim: bu demo amstrad'da cikabilmis en iyi demodan yuzbin kat daha iyi. butun efektler overscan screen'de yapilmis. 3d rutinlerinin neredeyse tamami 50fps ve full screen overscan. cpcwiki'de bi yigin coder efektlerin nasil yapildigini anlamaya calisiyor.

ben acikcasi sadece video'sunu gorseydim "fake" diyecek kadar inanilmaz buluyorum bu demoyu. cpc kodlamadan anlayanlar biraz daha ilimli yaklasmislar "hmm texture twister etkileyici" demekle yetiniyorlar :)

rhino, batman vuelve'de amiga coder'iyken 15 yil sonra scene'e amstrad demosu yapmak icin donmeye karar vermis. boyle bir scene comeback gorulmedi.
Başlık: Batman Forever by Batman Group
Gönderen: nightlord - 23.03.2011 01:49:37
ben batman logosunun realtime olmadigini dusunuyorum. sadece tek eksende donuyor. tek eksende donen bir vektor hicbir zaman realtime degildir :D
 
Dolayisiyla sadece rendering goz onune alinirsa c64'te 50 fpsde sanirim bu demodaki kucuk versiyonun 1.5-2 kati buyuklugunde yapilabilir.
Başlık: Batman Forever by Batman Group
Gönderen: skate - 23.03.2011 02:05:25
Gerçek Amstrad CPC'den capture edilmiş versiyon.
 
[youtube]sRiz4thEwuc[/youtube]
Başlık: Batman Forever by Batman Group
Gönderen: ssg - 23.03.2011 12:11:22
@nightlord: bence de realtime degil ama overscan cozunurlugun 384x280 oldugunu dusunursen 16k vram kullanarak baya buyuk bir alanda double/triple buffering'le vector fill yapiyor yapiyor o muthis.
Başlık: Batman Forever by Batman Group
Gönderen: skate - 23.03.2011 15:55:43
@ssg: peki amstrad'da hızlı memfill/memcopy için donanım desteği var mı? asıl merak ettiğim acaba bufferları temizlemekle uğraşıyor mu yoksa bir tür delta algoritması mı kullanmış, ne dersin?
Başlık: Batman Forever by Batman Group
Gönderen: ssg - 23.03.2011 20:08:28
@skatE: z80'de block copy instruction'lari var (x86'daki "rep movsb" muadili) (sozkonusu instruction'lar: ldir, lddr). bunlari kullanarak block set de yapabiliyosun (destination = source + 1, diyerek). ama hatirladigim kadariyla bunlar esdegeri assembly kodundan daha yavas calisiyordu. bunun otesinde cpc'nin video memory layout'u o kadar karisik ki block instruction'lardan ne kadar istifade edebileceginden de emin degilim. (normal ekranda ikinci line ilk line + 2048'den basliyor, overscan'de de ayni mantik sozkonusu, o yuzden bi kere tek renge gecince gerisini yardir gitsin yapamiyosun, illa ki her satirda tekrar sonraki satirin nereden baslayacaginin hesabi gerekiyor)

eger "read + compare + branch" uclusu "read + write"'tan hizliysa tabi delta daha iyidir. ama ben neticede z80'de bir sprite basma kodunu bile bitiremedigimden (hatirlarsaniz gectigimiz bolumde register'lari tuketmistim) bu konuda kendimi otorite gormuyorum :)
Başlık: Batman Forever by Batman Group
Gönderen: skate - 23.03.2011 20:55:02
@ssg: block fill olayını çizim değil silme işlemi için sormuştum. bir sonraki satır nerden başlarsa başlasın, herhalde araya başka datalar girmiyordur di mi? yani diyelim ki 16k'lık bir alan grafik hafızası. 16k'yı da 0'la (ya da başka birşeyle) filllediğimde tüm ekranı silmiş olmaz mıyım? derdim sıralı olarak silmek ya eor(xor) fill türü birşey değil.
Başlık: Batman Forever by Batman Group
Gönderen: hades - 23.03.2011 21:36:50
@skate

Spectrumda bu şekilde

LD HL,16384
LD DE,16385
LD BC,6143 ;Renk belleği işin içine girerse 6911 olacak.
LD (HL),0 ;Fill byte
LDIR

ekran belleği tertemiz.
Eğer cpc'lerin ekran belleği I/O adreslemeli değilse aynı şekilde olması lazım.
Başlık: Batman Forever by Batman Group
Gönderen: ssg - 23.03.2011 22:25:13
aslinda video memory'de her 2048 byte'lik blok arasinda bir de 32 mi 64 byte mi ne overflow byte serisi var ama oralarda bir sey tutmak icin hafizanin geri kalaninin tamamen dolu olmasi lazim. onun icin gerek yok evet. ekran silmek kolay. ama dedigim uzere su @hades'in kodundan daha hizli olabilir mesela aklima gelen bir yontem:

Kod: [Seç]

ld    hl,0  ; video memory #ffff'te bitiyor normalde
ld    sp,hl
ld    b,#20 ; #40 / 2
.loop:
defs #100,#e5 ; 256 tane push hl
djnz loop
Başlık: Batman Forever by Batman Group
Gönderen: skate - 24.03.2011 00:34:43
defs opcode değil 256 tane $e5 opcode'unu hafızaya dolduran bir compiler komutu falan mı?
Başlık: Batman Forever by Batman Group
Gönderen: Alcofribas - 24.03.2011 00:56:45
Retrojen'de matahari'nin Amstrad ekran hafızası ve adresleme yöntemiyle ilgili detaylı bir yazısı var. Ayrıca bugün bana Batman logosunun pre-rend oluşu ve diğer bölümlerin trikleri hakkında detaylı birşeyler anlattı. Bunları toparlayıp birkaç güne kadar blogda ve/veya forumda yazacağım.

Hepsi bir yana, bugün CPC'de izledim demoyu. Muhteşemdi. Size de elinizin altında varsa böyle yapmanızı tavsiye ederim. Bazı bölümlerde çok fark var.
Başlık: Batman Forever by Batman Group
Gönderen: ssg - 24.03.2011 01:03:32
@skate: evet assembler directive.
@alco: daha 3.5" takamadigimdan bakamadim cpc'de :(
Başlık: Batman Forever by Batman Group
Gönderen: Alcofribas - 24.03.2011 13:49:31
Alıntı yapılan: ssg;27946
@alco: daha 3.5" takamadigimdan bakamadim cpc'de :(

Yahu neden olmadı bu iş. Ne lazımsa söyle halledelim. Beni bu Commodore müritleri karşısında yalnız bırakma. Zaten toplam 2 kişiyiz. :)
Başlık: Batman Forever by Batman Group
Gönderen: skate - 24.03.2011 15:15:33
@Alcofribas: O zaman seni sevindirecek bir haber vereyim. şu anda bir 6128'in izini sürüyorum. :) şimdilik kod yazmak, direk scene'e dalmak gibi hiçbir hedefim yok. Çünkü sıradaki makine Amiga, Amstrad değil. Ancak Amstrad'ın da sırası gelir diye ümit ediyorum. Özetle Amstrad'a oldukça saygı duyuyorum. Bir tane CPC 464 de var elimde birkaç senedir, Vigo hediye etmişti. Amstrad ile ilgili ilk hedefim bu demoda kırılmamış olan bob rekorunu kırmak. Hatırlarsanız birkaç sene önce böyle bir challenge olmuştu. Hem cihazı tanımam açısından çok iyi olur, hem de ssg'nin bahsettiği şu register yetmemesi gibi durumları kendim yaşamış olurum. :)
 
Diğer platformlarla ilgili hedeflerim:
 
* Windows demom ile Ragnor'un Linux demosunun eline vermek. :)
* Amiga coding, artık nereye kadar giderse...
* Amstrad ve Atari 800 XL aynı seviyede sırada bekliyor.
 
Commodore 64 ile ilgili projelerim her zaman öncelikli olacaktır. Ancak arkaplandaki hedeflerim bunlar. Ne de olsa 2015'e daha 4 sene var. :)
Başlık: Batman Forever by Batman Group
Gönderen: ssg - 24.03.2011 21:43:05
@alco: 3.5" drive ve 5.25" slotlu kablo bulamadim :(

@skate ahahah 6502'de 3 tane register'la kod yazabilen birinin z80'deki 5 tane 16-bit register + 1 akumulator + ve tum bunlarin evil twin'leri (mirror register'lar) ile is yapmamasi imkansiz bence :) benimki biraz "ne kadar az memory'ye ulasirsam o kadar hizli olur" gibi garip bir cikis noktasindan geliyor ama tamamen batil. yoksa mesela ix, iy register'larina erisim instruction'lari memory'ye erisim kadar vakit alabiliyor. ote yandan register'larla dalasmak instruction set'i tanimak acisindan da iyi bir pratik. her instruction her register'i operand olarak almiyor her register'i birbirine yukleyemiyosun falan. o tur seyler icin. aksi halde manyaklik benimki.
Başlık: Batman Forever by Batman Group
Gönderen: endo - 24.03.2011 22:56:56
ya 7dx'e Amstrad getirin hatta ara kablo vs. varsa batman demosunu dev ekranda izleyelim. olmadi gercek hardware'de izlemis oluruz.
Başlık: Batman Forever by Batman Group
Gönderen: skate - 25.03.2011 00:56:49
@ssg: benim eskiden yazdığım bazı kodlar başta çok yavaş çalışırdı, sonrasında da yavaş çalışırdı. :) son zamanlar başta yavaş, sonrasında gayet hızlı çalışan kodlar yazmaya başladım. tabii zaman zaman köklü değişiklikler oluyor. örneğin senin takıldığın 3-5 cycle fazla kazanayım olayına hiç takılmadan öküzleme yazıyorum. efektin ekranda görünmesi 4-5 saat, son halini bulması üzerine 20-50 saat sürebiliyor. :)
 
not: PC tarafında geliştirmek zorunda kaldığım ek toollar, kodlar, scriptleri dahil etmiyorum bu sürelere. ;)
Başlık: Batman Forever by Batman Group
Gönderen: ssg - 25.03.2011 10:31:18
@skate senin yaklasimin ideal olan bence zaten. benimki "premature optimization" denen yanilgi. ama dedigim gibi bunu genel gecer bir pratik olarak degil z80 instruction set'e adapte olma pratigi olarak yapiyorum :) kendime bir challenge belirliyorum "hic memory kullanmadan sprite basma kodu yazabilir miyim" diye onu puzzle gibi cozmeye calisiyorum :)
Başlık: Batman Forever by Batman Group
Gönderen: Alcofribas - 25.03.2011 13:12:54
Alıntı yapılan: skate;27961
@Alcofribas: O zaman seni sevindirecek bir haber vereyim. şu anda bir 6128'in izini sürüyorum.

 ızi sürülecek kadar gizemli ve rare bir cihaz değil :) Screen'e bir  mesaj at, yollasın sana da tavuk tüylüsünden. CPC 464 elinde dursun ama bir  işine yaramaz.
 
 CPC'nin sırada olması bile güzel. Ama sanırım Amiga'dan ona sıra gelmez. Yine de umut CPCcinin ekmeği diyelim :)
 
 
Alıntı yapılan: ssg;27972
@alco: 3.5" drive ve 5.25" slotlu kablo bulamadim :(

Slotlu kabloyu anladım da 3.5" drive i niçin bulamadın onu anlamadım. Migros'a falan mı sordun :D

Kabloyu ve 3.5" drive ı ben yapar yollarım sana. Sen CPC'yi çalışır hale getir ve PC power  supply veya benzeri birşey ayarla. PC power supply'ı da aynı yere sorma  ama :D


Alıntı yapılan: endo;27981
ya 7dx'e Amstrad getirin hatta ara kablo vs. varsa batman demosunu dev ekranda izleyelim. olmadi gercek hardware'de izlemis oluruz.

7D8'deki gazımızı bulursak elbette getiririz. Ama o senenin keyfi bambaşkaydı. Neden bilmiyorum ama öyleydi. Kaç kişi ile konuştum hepsi benzer şeyler söylüyor.

CPC sadece analog RGB çıkış veriyor. Projeksiyona bağlamak için benim bir composite çıkış devresi falan yapmam lazım. En kötü ihtimal 1084'e scart ile bağlar daha kısıtlı bir kitleye izletiriz.
Başlık: Batman Forever by Batman Group
Gönderen: ssg - 25.03.2011 19:47:36
@alco yok migros'ta vardi ama cok pahaliydi. online bulamadim. yoksa mecidiyekoy'de tavuk donerciler arasinda oldugu kesin de oyle gidip mecidiyekoy'de hazine avciligina vakit ayirmak zor geldi. pc power supply'i kolay. hatta var galiba bi tane. cpc calisir halde zaten. muthis calisiyor :)
Başlık: Batman Forever by Batman Group
Gönderen: ssg - 19.04.2011 01:19:30
biri c64'te spin yapmis ama komik olmus zira cpc'de kucuk logonun yavas ve dandik gorunmesi zaten c64'le dalga gecmek icin (kaynak: interview). c64 implementasyonunun kucuk logoyu hizli dondurup buyugunu yavas dondurmesi ironiyi tamamlamis :)

[ame]http://www.youtube.com/watch?v=Yv-_iEs5ksc&feature=player_embedded[/ame]
Başlık: Batman Forever by Batman Group
Gönderen: skate - 19.04.2011 01:57:40
bunun yaklaşık 2 kat daha fazla framelisini yapabilirim, hesapladım. ama hız bundan daha iyi olmaz. özetle smooth olması için gerekeni (daha çok frame) biliyorum ancak ne trick kullanırsam kullaniim zaman yetmiyor. özellikle iki renk olması kullanabileceğim birkaç trick'i öldürüyor.
 
size bir fikir vereyim. logonun ekranı hemen hemen kapladığı framelerde hız kazanmak için yapılması gereken belli raster bloklarında çizimin reversed yapılması. dolu alan background rengi olacak, boşluklar çizdirilecek. ama bu ve bunun gibi onlarca aklıma gelen trick 50 FPS'yi bırak 25 bile olmasına izin vermiyor. herşeyi unrolled yazarsak da bu defa da hafıza yetmiyor frameler için. CPC'de 128k olması da büyük avantaj tabii. Commodore 128 kullanarak 50 FPS'ye ulaşılabilir.
Başlık: Batman Forever by Batman Group
Gönderen: Hydrogen - 19.04.2011 02:03:35
Bu tarz platform gondermeleri genelde, kendinden sonra cikan makinelere yapildiginda anlamlidir. Misal c64'culer Atari 2600'u efektlerini degil, Amiga 500 efektlerini falan yapmaya calisirlar. (Daha da abartildi bu tabi)
O durumda dahi, c64'de Desert Dream yapildigi icin, Amiga'dakinin degeri dusmez. Sonucta buyuk kredi gene orjinal demoya gider.
Buradaki durumda ise, gonderme biraz garip kacmis:) Tersine olmus.

Scene' genel olarak platformlar degil, insan yetenekleri, yani scenerlar etrafinda donen bir yaris herkesin bildigi gibi.
Burada Batman Forever'in bu gondermelerini daha ziyade, Amstrad'da duzgun bir scene olusamamasina bagliyorum ki, zaten daha super gondermeleri Amstrad camiasinin kendisine yapmislar. (Zira biz bile, ulan ugrassak, Amstrad'da su an olan demolardan cok daha iyi birsey kesin yapariz gibi bir geyik dondurmustuk vakti ile)

Pouet gibi portallarda bazi kisiler, "Best 8bit demo" gibi tuhaf cumleler de kurmuslar. Ilk kez duydum best 8 bit demo kriterini:) Best 32 bit demo hangisi acaba:)
Bu da genel olarak, Amstrad scenerlarinin, kisitli Amstrad scene'inden dolayi, demoyu daha genis bir rekabet alanina tasima cabasinin bir sonucu.

Batman forever demosunu genel olarak ise, begendim. Amstrad speclerini bilmesem de, diger amstad demolarindan oldukca farkli. Seyif zevki yuksek efektler sunuyor. Cok az sayida stuff cikan bir platformda bence cok cok daha iyilerinin de yapilabilecegine yesil isik yakiyor.

Ayrica bu demo c64 Demoscene'in olgun demo standartlarina gore degerlendirildiginde de guzel bir demo. Ancak c64'un top demo standartlari bu demonun sahip olduklarindan cok daha yuksek bunu da belirtmek lazim. C64 demoscene'de asla affedilmeyecek hatalar, burada platformun ilgincligi ile bayagi kurtarilmis. Eger Amstrad'da da inanilmaz sayida demo olsaydi, standartlarin Batman Forever duzeyinde kalmayacagina adim gibi eminim.

Edit: En son paragrafi destekleyecek minik bir info

Bunlar pouet'deki platformlara gore demo sayilari. Her sayfada 25 demo var.

pc windows     130 sayfa
amiga ocs     95 sayfa
pc msdos    79 sayfa
amiga aga     43 sayfa
zx specturm    21 sayfa
amstrad cpc    8 sayfa

Commodore 64 463 sayfa
C64 icin cikan diskmag sayisi baska bir ornek 91 sayfa.
Başlık: Batman Forever by Batman Group
Gönderen: ssg - 19.04.2011 09:59:09
bu acidan demoyu ayrica basarili buluyorum. zira cpc scene'ini de silkindirecek hatta baska platformlarda takilanlari dahi cpc'ye cekebilecek kiskirticilikta olmus. iste "bugune kadar aletin %6 kapasitesini kullandiniz", "cpc scene bugune kadar akliniz nerdeydi?", "vanity birden fazla axis'te vektor ceviremiyor musun?", "bu da senin rotozoomer'ina takke olsun", "c64'te bu yaziyi okuyamazsiniz" vb super.