Gönderen Konu: 6502, 6510 ve Zero Page  (Okunma sayısı 6970 defa)

6502, 6510 ve Zero Page

« : 17.05.2007 12:20:38 »
Hızlı düğmeleri aç

atiflz

İleti: 246

Çevrimdışı
  • ***
  • Full Member
    • Profili Görüntüle
    • http://izleyenkisi.blogspot.com/
şimdi iki tane sorum olacak. ılki, 6510 ve 6502 arasında ne fark var. 6510 6502'nin bir gelişmişi ama ben teknik olarak nasıl bir şey farkediyor bilmiyorum.

Esas sorumsa şu: Abi Zero Page denen şeyin olayı nedir, neden güzel bir şey bu? Tamam, sıfırıncı sayfa olunca tek bayt ile adresi yazarsın da.Tek byte ile adresleme imkanını kullanan komutlar mı var 6502/10 'un makine dilinde?

6502, 6510 ve Zero Page

« Yanıtla #1 : 17.05.2007 12:34:51 »
Hızlı düğmeleri aç

GnoStiC


  • Ziyaretçi
ben duydugum kadarini soyliyeyim;
zero page'de islem yaparken (load?) islemi biraz (1 cycle?) daha hizli?

6502, 6510 ve Zero Page

« Yanıtla #2 : 17.05.2007 12:54:52 »
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/
zeropage'in en büyük kazancı gnostic'in de söylediği 1 cycle kazanma olayıdır. ayrıca aynı zamanda komut parametre uzunluğundan da 1 byte kazanç sağlanır. dolayısıyla bir komutta hem hafızadan 1 byte, hem de 1 cycle kazanmış oluyoruz. diyelim ki bir loopun içersinde 4 tane zeropage adresi kullandık ve loopumuz 256 kere tekrar ediyor. Kazanç 4*256 = 1024 cycle ~= 16.25 raster satırı. Hiç fena değil yani. Bu kadar alanda müzik çaldırabiliriz mesela.
 
Commodore 64'de kullanılan CPU olan 6510, 6502'nin akrabasıdır. Aynı aileden ama aynı şey değil. 6510'da desteklenmeyen ancak 6502 tasarımında yer alan op codelar var örneğin.

6502, 6510 ve Zero Page

« Yanıtla #3 : 17.05.2007 18:46:07 »
Hızlı düğmeleri aç

nightlord

İleti: 1.085

Çevrimdışı
  • Administrator
  • *****
  • Hero Member
    • Profili Görüntüle
    • http://www.nightnetwork.org
@atiflz: 6510 ile 6502 arasindaki en onemli fark 6510da ilaveten bir giris cikis portu olmasidir. 0 ve 1. adreslerdeki bir adet veri yon registeri ve veri deger registeri ile kontrol edilen bu port (yani disari bagli 6 veya 8 pin) C64'te RAM, ROM ve I/O ciplerinden hangilerinin adres ve data buslarina baglanacagini programlama yoluyla kontrol eder. Ayni portun bazi pinleri teyp ile data alis verisinde de kullaniliyor.
 
@skate: 6502 ile 6510 arasinda birinde olup digerinde olmayan opcode oldugundan emin misin? Ben boyle bir fark oldugunu bilmiyordum. Hatta olmamali diye biliyordum bir check edelim emin olalim.

6502, 6510 ve Zero Page

« Yanıtla #4 : 17.05.2007 22:02:44 »
Hızlı düğmeleri aç

atiflz

İleti: 246

Çevrimdışı
  • ***
  • Full Member
    • Profili Görüntüle
    • http://izleyenkisi.blogspot.com/
Olayı kaptım, sağolun arkadaşlar.

6502, 6510 ve Zero Page

« Yanıtla #5 : 17.05.2007 23:51:45 »
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/
@nightlord: örneğin lda($00),x gibi komutlar 6502'de olduğu halde 6510'da desteklenmiyor diye biliyorum. ben de bakıcam şimdi netten. zamanında bir 6502 dökümanı okumuştum. onda c64'de çalışmayan opcodelar görmüştüm. ordan yola çıkarak söyledim.

6502, 6510 ve Zero Page

« Yanıtla #6 : 18.05.2007 00:06:27 »
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/
az önce o dökümanı aradım ama bulamadım. diğer okuduğum dökümanlarda da opcode farklılığından bahsetmemiş. büyük olaslıkla 65c12, 65816 v.s. birşeyle karşılaştırma okumuşumdur oradan aklımda kalmıştır. ben hep 6502'de olan ve 6510'da olmayan opcode olduğunu sanıyordum. yıllardır da "ulan 6502 daha eski, niye tüm opcodeları kullanmamışlar ki 6510'da" diyordum. demek kullanmışlar da ben kullanmadıklarını sanıyormuşum :)