Merhaba, Ziyaretçi. Lütfen giriş yapın veya üye olun.

Kullanıcı adınızı, parolanızı ve aktif kalma süresini giriniz

  Gelişmiş Arama
insanın içinde varsa, commodore.gen.tr açığa çıkarır bunu.. bir nevi retro olaylarının dolunayıyız.(Arda)
Sayfa: [1] 2   Aşağı git
Yazdır
Gönderen Konu: CPC - C64 kapışması?  (Okunma Sayısı 14702 defa)
0 Üye ve 1 Ziyaretçi konuyu incelemekte.
hades
Üye
****
Mesaj Sayısı: 332



Üyelik Bilgileri
« : Ağustos 27, 2010, 00:17:20 ÖÖ »

Biraz önce Alco'nun sitesinde  bahsettiği iki CPC demosunu seyrettim.
Renk konusunda CPC zaten C64'ü eziyor. Ancak izlediğim demolarda CPC'nin video çipi bana VIC'ten daha üstün gibi geldi. VIC'in sprite desteğini hesaba katmıyorum.

Ses konusunda ise SID daha iyi.

Kısaca CPC - C64 kapışmasında kazan taraf hangisi olur?

« Son Düzenleme: Ağustos 27, 2010, 00:27:52 ÖÖ Gönderen: hades » Logged
longbow75
Üye
***
Mesaj Sayısı: 170



Üyelik Bilgileri
« Yanıtla #1 : Ağustos 27, 2010, 01:10:52 ÖÖ »

Evet renkler gercekten guzel. Ama cogu oyun oynanabilirlik acisindan C64'de daha guzeldi. CPC'si olan bir arkadas devamli bize gelirdi Winter Games oynamaya hehehe

Flimbo's quest'i karsilastirmislar burada:
http://www.retrogamer.net/forum/viewtopic.php?f=2&t=14296&start=0

Buradada benzer bir tartisma:
http://www.lemon64.com/forum/viewtopic.php?t=28767&postdays=0&postorder=asc&start=25&sid=0719b4ffe65ce2fc666be46d2afc6aba
Logged

Commodore Forever!
witchdoktor
Uzman
*****
Mesaj Sayısı: 5.140



Üyelik Bilgileri
« Yanıtla #2 : Ağustos 27, 2010, 01:23:31 ÖÖ »

C64

Kişisel olarak her iki platformda sevdiklerim;

C64: multicolor char mode, sprite'lar, raster interrupt'ları, hardware scrolling, SID, memory mapped I/O

CPC: çözünürlük ve renk sayısı, CPU gücü, BASIC

Sonuçta 'arcade' oyun platformu olarak C64 daha üstün bence.

CPU olarak ise Z80 tabi ki üstün. Ancak 65XX CPU da, RISC mimarisinin bir tür 'atası' şeklindeki minimalistik yapısı ve komut başına düşük ortalama cycle oranı vb ile 'arcade' oyunlar için fazla sorun teşkil etmiyor.
Logged
nightlord
Uzman
*****
Mesaj Sayısı: 558



Üyelik Bilgileri WWW
« Yanıtla #3 : Ağustos 27, 2010, 02:52:28 ÖÖ »

ben de cpc platformunu yeni yeni inceliyorum.

- z80, 6510'a nazaran anormal guclu bir cpu. bir ton register var, birsuru 16 bitlik islem mumkun. 6510'dan cok daha hizli.
- cpc ekran bellegi dizilimi c64'ten daha kullanisli
- c64'te ise VIC hem speccy hem cpc'ye oranla, Cooooook cooook daha guclu. sprite support deyip gecmemek lazim. Oyun yapimini sonsuz kere daha kolaylastiriyor bence. ilave olarak bitmap modundan bagimsiz olarak monokrom ve renkli karakter modlari olmasi da cok kullanisli. yine oyunlarda tile-based grafikler olmasini sagliyor. ayrica raster interrupt yapisi da cpc'ninkinden daha ileride.
- Grafik olarak cpc'nin ustun oldugu iki alan var bana gore: programlanabilir palet. bu pekcok gorsel efekti (mesela fade'ler) cok kolaylastiriyor. ikincisi cozunurluk ve renk (gerci renk pixel dizilimi de bi garip).
- cia cipleri de sagladiklari timer interruptlari ile cpc'ye gore bazi avantajlar sagliyor. ozellikle hem timer hem raster interruptlarini beraber kullanarak cok abuk seyler yapilabiliyor c64'te.
- bu komik bi kiyaslama olacak ama, 1541 de c64'e avantaj sagliyor. 1541'in kendi bellek ve cpu'su olmasi sayesinde, bir c64 arti bir 1541 beraber cok iyi seyler yapabiliyor (dual core cpu gibi ) cpc 6128'deki floppy controller'in ise gunumuzde medya transferini kolaylastiriyor olmasi avantaji var.
- hades'in de dedigi gibi gerek speccy gerek cpc'deki ses cipi, ses kalitesi acisindan sid'e yaklasamiyor bile. Bunda en onemli faktorun o ciplerde sid'deki bgibi programlanabilir filtreler ve kare dalga duty cycle ayari icermemesi oldugunu saniyorum.

ozetle:
- z80 > 6510
- vic >crt controller , ULA
- CIA, 1541 > 6128 + FDD
- SID > AYxxxx
Logged
wizofwor
Genel Yönetici
*****
Mesaj Sayısı: 4.313


Gosub ile gidilen yerden goto ile dönen adam


Üyelik Bilgileri WWW
« Yanıtla #4 : Ağustos 27, 2010, 08:25:54 ÖÖ »

Z80 çok yetenekli bir mikroişlemci olmasına rağmen ev bilgisayarlarında 6502 kullanan sistemler hep daha başarılı. Commodore, NES, Apple bunun örnekleri. Sanıyorum Z80'in diğer donanım arayüzleriyle beraber kullanımında problemler olmalı. Veya ikinci bir ihtimal Z80 pahalı olduğu için diğer yardımcı arayüzler maliyeti kısmak amacıyla basit tutuluyordu, bilemiyorum.

Ama arcade sistemlere bakarsanız 68000 çıkana kadar, Z80 kullanan oyunlar çoğunluktatır. Değişik bir durum.
Logged

witchdoktor
Uzman
*****
Mesaj Sayısı: 5.140



Üyelik Bilgileri
« Yanıtla #5 : Ağustos 27, 2010, 10:06:45 ÖÖ »

Z80 çok yetenekli bir mikroişlemci olmasına rağmen ev bilgisayarlarında 6502 kullanan sistemler hep daha başarılı. Commodore, NES, Apple bunun örnekleri. Sanıyorum Z80'in diğer donanım arayüzleriyle beraber kullanımında problemler olmalı. Veya ikinci bir ihtimal Z80 pahalı olduğu için diğer yardımcı arayüzler maliyeti kısmak amacıyla basit tutuluyordu, bilemiyorum.

Ama arcade sistemlere bakarsanız 68000 çıkana kadar, Z80 kullanan oyunlar çoğunluktatır. Değişik bir durum.

Z80 zamanının pahalı CPU'larından biri. CBM'in ciddi bir avantajı da 65XX çiplerini üreten MOS Technology şirketinin de sahibi olması. O zamanın oyunlarının kompleks matematik işlemler gerektirmemesi, 65XX CPU makine dilinin kolay öğrenilebilmesi, komutlarının basit, hızlı ve kompakt (opcode'lar tek byte, çoğu komut 2-3 cycle, toplam 56 legal komut mevcut) yapıda olması, memory mapped I/O kullanımı vb görece avantajları mevcut. Burada CBM'in 8bit şirketlerden bir başka farkı olan çip üreticiliği de öne çıkıyor. Diğer şirketler (Amstrad, BBC vb) CPU, grafik, ses, I/O vb çipleri hep dış üreticilerden almışlar, kendi 'custom' çip üretimleri pek yok. Ev bilgisayarları öncesinde 8080 ve Z80 kullanan sistemler genelde CP/M çalıştıran "iş" bilgisayarları olmuşlar.
Logged
Skate
Uzman
*****
Mesaj Sayısı: 1.464


A Sinner Scener


Üyelik Bilgileri WWW
« Yanıtla #6 : Ağustos 27, 2010, 13:00:41 ÖS »

kıyaslamada bir hata var göze çarpan. C64 ile CPC... C64 = Commodore 64 di mi? 128 falan değil yani. CPC ne peki? 464? 664? 6128? plus? siz belli bir seri ile belli bir modeli karşılaştırmış oluyorsunuz. ben CPC 464 ile Commodore 64 kıyaslanmasında açık ara C64 önde olur derim, tüm dezavantajlarına rağmen. Ama Plus ile kıyaslarsanız sprite avantajı v.b. şeyleri de ne yazık ki çöpe gidiyor C64'ün ve Plus modelleriyle yarışamaz kolay kolay. Ama Commodore 128, Plus ile bir nebze daha iyi kapışabilir.
Logged
nightlord
Uzman
*****
Mesaj Sayısı: 558



Üyelik Bilgileri WWW
« Yanıtla #7 : Ağustos 27, 2010, 20:58:46 ÖS »

dogru ben sahsen c64 ile cpc6128 karsilastirmasi yapiyordum
Logged
nightlord
Uzman
*****
Mesaj Sayısı: 558



Üyelik Bilgileri WWW
« Yanıtla #8 : Ağustos 27, 2010, 21:14:13 ÖS »

65XX CPU makine dilinin kolay öğrenilebilmesi, komutlarının basit, hızlı ve kompakt (opcode'lar tek byte, çoğu komut 2-3 cycle, toplam 56 legal komut mevcut) yapıda olması, memory mapped I/O kullanımı vb görece avantajları mevcut.

Bu konuda Z80'de hic fena degil aslinda. her iki cpu'da adresleme modlarinin getirdigi kombinasyonlari saymazsak z80'da sanirim ogrenilecek daha az komut var. bizim 6510daki, lda, ldx, ldy, sta, stx, sty, tax, txa, tay, tya yerine z80 de tek komut var ld. Buna karsilik bazi ilave aritmetik komutlar (add ve sub) ve bazi 6510
da olmayan ekstra ozelliklere yonelik komutlar var (exx, loop, search, copy vs komutlari). Ama toplamda komut basitligi acisindan iki cpu da baya basit sayilir.

lakin daha cok register olmasi programlama modeli acisindan daha cok secenek sundugu icin, ayni isi yapan en optimum kodu yazmayi ogrenmek z80'de daha zor gibi. ornegin kucuk bir matematik islemi yapmanin yolu 6510'da cok cesitli degilken z80 de bir sure degisik sekilde yapilabiliyor. Bu yuzden boyle tikir tikir optimum kod yazmaya alismak sanirim z80'de cok daha zor ( en azindan benim icin)

Bu arada memory mapped i/o aslinda cpu'dan cok sistemin bir dizayn karari. ornegin birinin kalkip z80 cpu kullanip, bellek duzeni olarak da d000'a bir vic cipi koyarak bilgisayar dizayn etmemesi icin hic bir sebep yok. z80'in ayrica out komutu ile memory mapped olmayan io desteklemesi ilave bir esneklik, bir dezavantaj degil aslinda.

Ama bu platformlar arasindaki en can alici fark bence de witch doctor'in da dedigi gibi custom cip dizayn yetisi.
Logged
hades
Üye
****
Mesaj Sayısı: 332



Üyelik Bilgileri
« Yanıtla #9 : Ağustos 27, 2010, 21:50:04 ÖS »

Skate'nin mesajına göre soruyu şu şekilde değiştirebiliriz.
CPC 464(664) - C64  (464 ile 664 arasındaki tek fark tape/flopy olması sanırım)
CPC 6128 - C128

CPC'lerde sprite özelliği bildiğim kadarıyla yok. (Alco neredesin. Bizi bilgilendir.)

---------------------------------
Nightlord;

Senden bir adet CPC demosu bekliyoruz. Boyut sınırlaması yok. 128b bile işimizi görür.
Skate senden de 800XL için birşeyler alalım.
---------------------------------
Bir ara Speccy'de VIC ve SID çipi olsa nasıl olurdu diye kafa patlatmıştım. Expansion porta -aynı C64 memory mape karşılık gelecek şekilde I/O adreslemeli- VIC ve SID çipi takılabilir mi diye düşündüm. SID ilavesi daha kolay gibi gözüküyordu. Sonradan vazgeçtim tabiiki.


Konuyu saptırmadan yazarsak genel olarak CPC 464 (664) CPU hızından dolayı üstün durumdayken, C64 ses konusunda kimseyi yanına yaklaştırmıyor.
CPC'ler renk paleti ve çözünürlükte iyi durumdayken, VIC sprite desteği ve buna bağlı olarak CIA'larla beraber oldukça güzel işler başarıyor.

Ancak CPC'nin görüntü çipi 6845'in yeteneklerini, neler yepıldığını CPC scene takip etmediğim(iz)den dolayı yeterince bilmiyoruz.

Hazır CPC konusu açılmışken biraz CPC demosu izleyeyim.
Logged
witchdoktor
Uzman
*****
Mesaj Sayısı: 5.140



Üyelik Bilgileri
« Yanıtla #10 : Ağustos 27, 2010, 21:51:48 ÖS »

@nightlord
Klasik ev bilgisayarlarında Z80 tabanlı olup da memmapped i/o kullanan var mı, merakımdan soruyorum. Mimari olarak 65XX tabanlı cihazlarda hep memmapped i/o, Z80 tabanlılarda ise port tabanlı i/o görüyorum. Bunun devamı 8080 ardılı olarak x86'da da böyle sürdü. Amiga'da da memmapped olarak devam ettiği için kendimi bu sisteme daha yakın hissettim. Acaba her CPU mimarisi için uygulamada nasıl zorluklar bulunuyor? Bunun dışında C128'deki VDC çipi ile olan iletişim (videoram dahil) 2 register üzerinden bir tür dolaylı iletişim olduğundan memmapped sistemlere alışkın biri olarak başlangıçta yadırgamıştım.
Logged
Skate
Uzman
*****
Mesaj Sayısı: 1.464


A Sinner Scener


Üyelik Bilgileri WWW
« Yanıtla #11 : Ağustos 27, 2010, 22:35:14 ÖS »

@hades: plus modellerinde hardware sprite desteği var CPClerin. bunlar sonradan üretilmiş modeller.
Logged
witchdoktor
Uzman
*****
Mesaj Sayısı: 5.140



Üyelik Bilgileri
« Yanıtla #12 : Ağustos 27, 2010, 23:28:17 ÖS »

@hades
O zamanlar ses olarak SID ile başa çıkabilecek ayarda bir çip yoktu. Ama Amstrad'ın ses çipinin(AY-3-8912) SID'e göre en büyük avantajları stereo ses desteği ve her kanala volüm ayarı imkanı sunmasıydı diye hatırlıyorum, yanlışım olabilir. SID çipinde tek bir master volüm ayarı olması can sıkıcıydı (volüm envelope'larıyla üstesinden gelmeye çalışılan bir sıkıntı). Bunun dışında C64'den sonra en iyi ses kalitesi sunan cihazlar Amstrad ve BBC Micro'ydu. SID'in başka bilgisayarlara (Speccy dahil) bağlanmasında sorun çıkmasa gerek, çünkü tasarlanırken kullanım alanlarından biri de basit synthesiser'larddı (paddle desteği sunması da bu tarz cihazlara yönelikti).
Logged
nightlord
Uzman
*****
Mesaj Sayısı: 558



Üyelik Bilgileri WWW
« Yanıtla #13 : Ağustos 30, 2010, 05:26:53 ÖÖ »


@witchdoctor: ben de memory mapped i/o 'ya daha alisigim tabii ama temelde ikisi arasinda cok buyuk fark yok.

sonucta z80 tarzi cpu'lar iki bus destekliyorlar diye dusunebiliriz. memory ve io buslari. memory bus uzerine mem-mapped bir cihaz konulmasini engelleyen birsey yok. ancak sistem tasariminda bunu pek kimsenin tercih edecegini sanmiyorum. cunku memmapped io cihazlari bellek adresleri ile cakistiklari icin daha dolambacli bank-select falan mantikli bus yonetim logic gerektiriyor. onun yerine hazir harici bir io bus varsa falanca io adres alani filanca bellegin ustune geldi kaygisi olmadan sistem tasarlamak mumkun

programci acisindan memmapped io'nun bazi avantaj ve dezavantajlari var. en onemli dezavantaji dedigim gibi o adres araliklariyla kesisen bellege ulasmak icin ekstra birseyler yapmak gerekmesi (ornegin c64'te d000 e000 arasi bellege erismek icin $01 adresinde iki bit'i 0 layip io'yu devre disi birakmak gerekmesi gibi) bu asilmaz bir problem olmamakla beraber bazen can sikintisi olabiliyor

avantaj olarak ise aklima tek gelen avantaji var. o da bir hayli abuk bir avantaj: memmapped io cihazlarinin okunabilir registerleri cpu'ya bellek gibi gorundugu icin o registerlere opcode'lar koyarak komut calistirabiliyoruz. Bu ultra abuk olayin bir ornegi Ninja/Dreams'in kesfettigi benim de Snapshot/Glance de birkac yerde kullandigim fli rutini. burada cia timerlarindan birinde timer okuma registerinin oncesindeki iki registere 4c (jmp opcode) ve 0 yaziyoruz. fffe'deki irq vectoru de buraya bakiyor. boylece bir interrupt oldugunda cpu once bu registerlere atliyor ardindan bu registerlerdeki ardisik uc degeri bir jmp code olarak yorumluyor (birinci byte 4c ikinci byte 0 ucuncu byte timer'in degerine bagli olarak 27 2f arasi birsey; cpu bunu jmp $2700 veya jmp $2800 veya jmp $2900 vs) gibi gorup istedigimi yere atliyor. Bu sekilde cok hizli stable-interrupt elde etmis oluyoruz. eger memory mapped io olmasa io bustan okudugu seyleri komut zannetmeyecegi icin ayni triki cpc'de yapamazdik mesela. Ne kadar anlatabildim konuyu kisa bir yaziyla bilmiyorum ama cok ender bazi avantajlari var memmapped io nun. ama bu ornek de hayli "scene-isi" bir avantaj. normalde profesyonel bi yazilim boyle yazilmazdi mesela.

Logged
witchdoktor
Uzman
*****
Mesaj Sayısı: 5.140



Üyelik Bilgileri
« Yanıtla #14 : Ağustos 30, 2010, 09:02:25 ÖÖ »

@nightlord
I/O bölgesinde kod çalıştırılması (tek komut dahi olsa) oldukça ilginç olmuş.

Bunun dışında port komutları (in/out) bana cycle kaybı gibi geliyor ama doğrudan ulaşımla port komutlarının getirdiği kaybı araştırmadım.
Logged
Sayfa: [1] 2   Yukarı git
Yazdır
Gitmek istediğiniz yer: