Gönderen Konu: Batman Forever by Batman Group  (Okunma sayısı 19934 defa)

Batman Forever by Batman Group

« : 21.03.2011 11:54:01 »
Hızlı düğmeleri aç

skate

İleti: 5.245

A Sinner Scener
Çevrimdışı
  • Administrator
  • *****
  • Hero Member
    • Profili Görüntüle
    • http://www.akaydin.com/
3 sene sonra ilk kez bir demoya Pouet'de CDC (Coup De Coeur) 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

Batman Forever by Batman Group

« Yanıtla #1 : 21.03.2011 12:05:00 »
Hızlı düğmeleri aç

skate

İleti: 5.245

A Sinner Scener
Çevrimdışı
  • Administrator
  • *****
  • Hero Member
    • Profili Görüntüle
    • http://www.akaydin.com/
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

Batman Forever by Batman Group

« Yanıtla #2 : 21.03.2011 13:16:54 »
Hızlı düğmeleri aç

spritus

İleti: 933

Çevrimdışı
  • *****
  • Hero Member
    • Profili Görüntüle
    • http://resident.tr-demoscene.info
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 :)

Batman Forever by Batman Group

« Yanıtla #3 : 21.03.2011 13:49:26 »
Hızlı düğmeleri aç

skate

İleti: 5.245

A Sinner Scener
Çevrimdışı
  • Administrator
  • *****
  • Hero Member
    • Profili Görüntüle
    • http://www.akaydin.com/
@spritus: bana bu demo tam c128 ya da dtv demosu tadı verdi. aynı kandan ama sadece c64 değil gibi yani. :)

Batman Forever by Batman Group

« Yanıtla #4 : 21.03.2011 16:43:49 »
Hızlı düğmeleri aç

ssg

İleti: 331

Çevrimdışı
  • ****
  • Sr. Member
    • Profili Görüntüle
oh beee nihayet! ahahah

Batman Forever by Batman Group

« Yanıtla #5 : 21.03.2011 17:24:30 »
Hızlı düğmeleri aç

ssg

İleti: 331

Çevrimdışı
  • ****
  • Sr. Member
    • Profili Görüntüle
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.

Batman Forever by Batman Group

« Yanıtla #6 : 23.03.2011 01:49:37 »
Hızlı düğmeleri aç

nightlord

İleti: 1.085

Çevrimdışı
  • Administrator
  • *****
  • Hero Member
    • Profili Görüntüle
    • http://www.nightnetwork.org
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.

Batman Forever by Batman Group

« Yanıtla #7 : 23.03.2011 02:05:25 »
Hızlı düğmeleri aç

skate

İleti: 5.245

A Sinner Scener
Çevrimdışı
  • Administrator
  • *****
  • Hero Member
    • Profili Görüntüle
    • http://www.akaydin.com/
Gerçek Amstrad CPC'den capture edilmiş versiyon.
 
[youtube]sRiz4thEwuc[/youtube]

Batman Forever by Batman Group

« Yanıtla #8 : 23.03.2011 12:11:22 »
Hızlı düğmeleri aç

ssg

İleti: 331

Çevrimdışı
  • ****
  • Sr. Member
    • Profili Görüntüle
@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.

Batman Forever by Batman Group

« Yanıtla #9 : 23.03.2011 15:55:43 »
Hızlı düğmeleri aç

skate

İleti: 5.245

A Sinner Scener
Çevrimdışı
  • Administrator
  • *****
  • Hero Member
    • Profili Görüntüle
    • http://www.akaydin.com/
@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?

Batman Forever by Batman Group

« Yanıtla #10 : 23.03.2011 20:08:28 »
Hızlı düğmeleri aç

ssg

İleti: 331

Çevrimdışı
  • ****
  • Sr. Member
    • Profili Görüntüle
@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 :)

Batman Forever by Batman Group

« Yanıtla #11 : 23.03.2011 20:55:02 »
Hızlı düğmeleri aç

skate

İleti: 5.245

A Sinner Scener
Çevrimdışı
  • Administrator
  • *****
  • Hero Member
    • Profili Görüntüle
    • http://www.akaydin.com/
@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.

Batman Forever by Batman Group

« Yanıtla #12 : 23.03.2011 21:36:50 »
Hızlı düğmeleri aç

hades

İleti: 214

Çevrimdışı
  • ***
  • Full Member
    • Profili Görüntüle
@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.
« Son Düzenleme: 23.03.2011 21:44:59 Gönderen: hades »

Batman Forever by Batman Group

« Yanıtla #13 : 23.03.2011 22:25:13 »
Hızlı düğmeleri aç

ssg

İleti: 331

Çevrimdışı
  • ****
  • Sr. Member
    • Profili Görüntüle
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

Batman Forever by Batman Group

« Yanıtla #14 : 24.03.2011 00:34:43 »
Hızlı düğmeleri aç

skate

İleti: 5.245

A Sinner Scener
Çevrimdışı
  • Administrator
  • *****
  • Hero Member
    • Profili Görüntüle
    • http://www.akaydin.com/
defs opcode değil 256 tane $e5 opcode'unu hafızaya dolduran bir compiler komutu falan mı?