Alco'nun tatmin olmaması üzerine bugün
aynı kodu asm ile yazdım, z80 ile ilgilenen arkadaşlar için buraya koyuyorum.
Kodun içindeki konu başlıklarını şöyle sıralayabilirim:
-LDIR
-IM2 yapılandırması
-Y ekseninde çizim için tablo kullanarak adresi hızlıca hesaplamak (bunu Jonathan Claudwell'in tutorial'inden modifiye ettim)
-Pasmo tekrar macro'su REPT
-Ekranı daha hızlı temizlemek için Stack pointer+PUSH komutu kullanımı
Kod 50 fps çalışıyor, 1 karede yapılan işlemlerin bitmesi yaklaşık 37500 cycle tutuyor, geriye de 30000 kadar cycle boşluk kalmış durumda. Yani işlemci zamanının %60'ını kullanıyor. Kod biraz dağınık, çok iyi düşünülmüş bir kod değil. Getaddr alt rutini bu efekte göre optimize edilebilir, şimdi genel kullanım için uygun.
Kodu hızlandırmak mutlaka mümkündür, her türlü geliştirme ve eleştiri kabul ederim :D
Kodu kafama göre satır satır yorumladım, merak edenler bakabilir.
Herkese iyi seneler!