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: C64 ASSEMBLER BLOG  (Okunma Sayısı 15602 defa)
0 Üye ve 1 Ziyaretçi konuyu incelemekte.
wizofwor
Genel Yönetici
*****
Mesaj Sayısı: 4.789


Gosub ile gidilen yerden goto ile dönen adam


Üyelik Bilgileri WWW
« Yanıtla #15 : Eylül 03, 2014, 18:00:51 ÖS »

Vallahi tebrikler. Kısa zamanda 9. yazıya gelmişsin. Blog oldukça hızlı gidiyor.

Yazdığın SID playerda $D012 istediğin değere gelene kadar bekliyorsun. Sanıyorum örneği basit tutmak için böyle bir yol izledin. Aynı işi bilgisayarı meşgul etmeden nasıl yaparım diyenler için ufak bir örnek de ben paylaşayım.

https://github.com/wizofwor/C64-assembly-examples/blob/master/muzik-in-basic/music.asm

Kod temel olarak seninkiyle aynı ancak zamanlama için IRQ kullanıyor. Data'yı include ederken bit skipping hadisesini swm değil sid dosyasına göre ayarladım. Aslında iki dosyanın headerları arasında fark var mı onu da bilmiyorum.

Player'ı hazırlarken amaç BASIC'i çalışır şekilde tutmak olduğundan, kodun başında zeropage'deki basic pointerlarda bazı değişiklikler yapıyorum. Sidreloc ile sid dosyasının başlangıç adresini değiştirmem de aynı sebepten.  Bunlar nedir diye merak edenler konu ile igili bir forum başlığı olacaktı. Onu bulabilirler.
« Son Düzenleme: Eylül 03, 2014, 18:02:53 ÖS Gönderen: wizofwor » Logged

emarti
Uzman
*****
Mesaj Sayısı: 2.592


Only Amiga Makes It Possible █


Üyelik Bilgileri WWW
« Yanıtla #16 : Eylül 03, 2014, 18:49:36 ÖS »

Vallahi tebrikler. Kısa zamanda 9. yazıya gelmişsin. Blog oldukça hızlı gidiyor.

Yazdığın SID playerda $D012 istediğin değere gelene kadar bekliyorsun. Sanıyorum örneği basit tutmak için böyle bir yol izledin. Aynı işi bilgisayarı meşgul etmeden nasıl yaparım diyenler için ufak bir örnek de ben paylaşayım.

https://github.com/wizofwor/C64-assembly-examples/blob/master/muzik-in-basic/music.asm

Kod temel olarak seninkiyle aynı ancak zamanlama için IRQ kullanıyor. Data'yı include ederken bit skipping hadisesini swm değil sid dosyasına göre ayarladım. Aslında iki dosyanın headerları arasında fark var mı onu da bilmiyorum.

Player'ı hazırlarken amaç BASIC'i çalışır şekilde tutmak olduğundan, kodun başında zeropage'deki basic pointerlarda bazı değişiklikler yapıyorum. Sidreloc ile sid dosyasının başlangıç adresini değiştirmem de aynı sebepten.  Bunlar nedir diye merak edenler konu ile igili bir forum başlığı olacaktı. Onu bulabilirler.


İlgin için teşekkürler.

Interrupt ve raster olayına girmeden rasterin bile ne olduğunu belirtmeden basit şekilde bekleme döngüsü demek istedim. Suyu çok bulandırmadan sade anlattım sanırım. Asıl iş zaten IRQ vektörlerinden geçecek onu anlatırsam yazı boğulacak gibiydi. İlerleyen zamanda zaten intro veya demo'da konulu final başlıkları atınca oradan çık buraya gir şu cycle bu raster beyin cimnastiği o zaman başlıyacak inşallah!
Logged

https://github.com/emartisoft My GitHUB | http://csdb.dk/scener/?id=26786 My CSDB | https://c64kernal.com Genesis

READY.
SYS(64767): EMARTI
wizofwor
Genel Yönetici
*****
Mesaj Sayısı: 4.789


Gosub ile gidilen yerden goto ile dönen adam


Üyelik Bilgileri WWW
« Yanıtla #17 : Eylül 03, 2014, 20:10:33 ÖS »

Merakla bekliyorum o zaman
Logged

emarti
Uzman
*****
Mesaj Sayısı: 2.592


Only Amiga Makes It Possible █


Üyelik Bilgileri WWW
« Yanıtla #18 : Eylül 11, 2014, 02:21:54 ÖÖ »

IRQ interrupt kısaca giriş
http://emarti.blogspot.com.tr/2014/09/irq-interrupt-raster.html
Logged

https://github.com/emartisoft My GitHUB | http://csdb.dk/scener/?id=26786 My CSDB | https://c64kernal.com Genesis

READY.
SYS(64767): EMARTI
joker_
Deneyimli
*****
Mesaj Sayısı: 2.120



Üyelik Bilgileri
« Yanıtla #19 : Eylül 11, 2014, 08:58:21 ÖÖ »



Eline sağlık, raster irq konusunu, çok anlaşılabilir şekilde anlatmışsın. Gerçekten çok sade olmuş. Yazılarını merakla takip ediyorum.
Logged
wizofwor
Genel Yönetici
*****
Mesaj Sayısı: 4.789


Gosub ile gidilen yerden goto ile dönen adam


Üyelik Bilgileri WWW
« Yanıtla #20 : Eylül 11, 2014, 11:58:26 ÖÖ »

Alıntı sahibi: emarti
Bizim bu elektron 8 piksel yol aldığında 1 cycle zaman geçer

Öğrenmenin yaşı yok. Bir cycle'da 8 piksel çizildiğini bilmiyordum. 63 Cycle'da burdan hesaplanıyor demekki. 504/8 = 63
Logged

Sayfa: 1 [2]   Yukarı git
Yazdır
Gitmek istediğiniz yer: