Retrojen Forum

Retro Sistemler => Commodore => Konuyu başlatan: Ref - 20 Ocak 2013, 22:50:40

Başlık: Commodore 64 vic çipi nasıl çalışır?
Gönderen: Ref - 20 Ocak 2013, 22:50:40
Soru çok genel gibi duruyor ama tam tersi, çok spesifik bir bilgiye ihtiyacım var, birşey yapacağımdan değil, zx spectrumdan bildiğim şeylerin c64 üzerinde alternatif bir düşünce kırıntısı üretebilir mi meraktayım.

Bana datasheet lazım değil çünkü onlar pek anlaşılır olmuyor. Bilen birinin basamak basamak anlatması daha iyi.

Ben tam olarak çizim anında neler olup bittiğini öğrenmek istiyorum. Örnek olarak spectrum ula'sını anlatayım kabaca:

1. Interrupt ile birlikte Ula içinde Border için 3 bitlik bir register var, ula o data kullanılarak üst border'ı çizmeye başlar. Bu sırada ram'e giriş yapılmaz. üst border 64 satır(not1) genişliğinde, 224*64=14336 ts'e vardık.
2. Ekranın bitmap alanının çizimi başlamadan 1ts önce ula CPU'nun alt bellek işlemlerini durdurur. (sadece alt bellek)
3. Ram'den renk bilgisini okur. (1ts)
4. Ram'den 8 pixellik bitmap datasını okur. (1ts)
5. 8 pixel genişliğinde çizim bir seferde yapılır. Bu çizim 2 ts sürer.
6. Ram'den renk bilgisini okur. (1ts)
7. Ram'den 8 pixellik bitmap datasını okur. (1ts)
8. CPU'yu serbest bırakır. (cpu bellek işlemlerine devam eder)
9. 8 pixel genişliğinde çizim bir seferde yapılır. Bu çizim 2 ts sürer.
10. Cpu tekrar durdurulur. 3 numaralı basamağa geri dönülür.
* Bu döngü 32 karakter için toplam 128ts tutar. Ardından 96ts genişliğinde border alanı çizilir. Border çizilirken cpu serbesttir. Böylece bir raster tamamlanır.
*Bu döngü 192 raster satırı için devam eder. 192 raster tamamlandığında 57344ts'deyiz.
*Ardından alt border çizime başlar. Bu border 56 satır genişliğinde. Toplam 12544ts.
*Alt border tamamlandığında 69888 ts'e vardık ve bir karenin çizimi tamamlandı(not2) ve Interrupt ateşlendi.

not1: bu 64 satırın son 48 satırı garanti border alanı. Diğer 16 satırlık zaman çizilm yerine -tv'nizin modeline göre- vertical retrace için kullanılıyor olabilir.
not2: 3.5MHz/69888=50.08 Hz zamanlanmış interrupt aralığı. Görüldüğü üzere bu hesap 50hz'lik elektriğe göre oturtulmuş.


Tabiiki vic ula'dan çok çok daha karmaşık bir çip. Ama c64 camiası vic'i çok iyi tanıyor gibi görünüyor. Var mı bu tip step-by-step guide?
Başlık: Ynt: Commodore 64 vic çipi nasıl çalışır?
Gönderen: ozayturay - 20 Ocak 2013, 23:12:18
Aklıma ilk Nightlord ustanın TV'ye seslenen VIC anlatımı geldi. :)

http://nightnetwork.org/writings_tr/c64_grafik_programlama/chunk/ch02s01.html (http://nightnetwork.org/writings_tr/c64_grafik_programlama/chunk/ch02s01.html)
Başlık: Ynt: Commodore 64 vic çipi nasıl çalışır?
Gönderen: Ref - 21 Ocak 2013, 10:47:31
vay anam vay :D BU kaynağın ingilizcede mevcut olacağından şüpheliyim, lakin google bana hiçbirşey döndürmemişti :D
Başlık: Ynt: Commodore 64 vic çipi nasıl çalışır?
Gönderen: nightlord - 22 Ocak 2013, 02:03:15
tesekkurler :)

eger cycle cycle ne oldugunu merak ediyorsan da su var:
http://www.zimmers.net/cbmpics/cbm/c64/vic-ii.txt (http://www.zimmers.net/cbmpics/cbm/c64/vic-ii.txt)
Başlık: Ynt: Commodore 64 vic çipi nasıl çalışır?
Gönderen: Ref - 22 Ocak 2013, 14:37:48
Alıntı yapılan: nightlord - 22 Ocak 2013, 02:03:15
tesekkurler :)

eger cycle cycle ne oldugunu merak ediyorsan da su var:
http://www.zimmers.net/cbmpics/cbm/c64/vic-ii.txt (http://www.zimmers.net/cbmpics/cbm/c64/vic-ii.txt)


şu bölüm güzelmiş:
Alıntı Yap
3.3. Color palette
------------------

The VIC has a hard-wired palette of 16 colors that are encoded with 4 bits:

  0 black
  1 white
  2 brown
  3 brown
  4 brown
  5 brown
  6 brown
  7 brown
  8 brown
  9 brown
10 light brown
11 dark brown
12 medium brown
13 light dark  brown
14 light milky brown
15 light medium  brown

Eheh, ilk ultra mini programım geliyor sıkı durun :D
Başlık: Ynt: Commodore 64 vic çipi nasıl çalışır?
Gönderen: nightlord - 22 Ocak 2013, 20:02:23
eh tabi speccy'nin (255,0,0), (0,255,0), (0, 0, 255), (255, 255,0), (255, 0, 255), (0, 255, 255), (255, 255,255), (0, 0, 0) seklindeki paletinden sonra sizin gozlerde ara ton algilama kabiliyeti azaliyo dogal olarak :D
Başlık: Ynt: Commodore 64 vic çipi nasıl çalışır?
Gönderen: Ref - 22 Ocak 2013, 21:25:43
Alıntı yapılan: nightlord - 22 Ocak 2013, 20:02:23
eh tabi speccy'nin (255,0,0), (0,255,0), (0, 0, 255), (255, 255,0), (255, 0, 255), (0, 255, 255), (255, 255,255), (0, 0, 0) seklindeki paletinden sonra sizin gozlerde ara ton algilama kabiliyeti azaliyo dogal olarak :D
yok, 192, 0, 0 olacak o :D Her rengin bir koyusu bir açığı var :)