commodore.gen.tr

Diğer Nostaljik Bilgisayarlar => Sinclair - Yazılım => Konuyu başlatan: hades üzerinde Şubat 16, 2008, 02:11:59 ÖÖ



Konu Başlığı: zx asm'de AT satır, sütun komutu karşılığı...
Gönderen: hades üzerinde Şubat 16, 2008, 02:11:59 ÖÖ
Spectrumda, aküde ascii kodu tutulan bir karakteri default çıkış kanalı olan ekrana "rst 10h" ile gönderebiliyoruz. Bunlardan başka ekrana basılacak textlerle ilgili olarak PAPER, INK, OVER, BRIGHT, FLASH, INVERSE, TAB ve AT komutlarını da kullanabiliyoruz.
Ancak yaptığım denemelerde "AT satır, sütun" komutunu kullanırken istediğim  "satır" da ekrana yazıyı basamıyorum.
Gerçekten böyle bir sorun mu var, yoksa ben mi beceriksizim?


Konu Başlığı: Ynt: zx asm'de AT satır, sütun komutu karşılığı...
Gönderen: Arda üzerinde Şubat 16, 2008, 03:42:33 ÖÖ
22 (desimal) numaralı karakter kodundan bahsediyorsan kullanabilmen lazım.

stream'e 22,11,15,.... yazdığın zaman, y11, x15 numaralı alana cursoru getirir.

bu arada y, 21'i geçemez.

tabii screen output'u da seçmen gerek,

Kod:
LD A,2
 CALL 5633     ;önce kanalı açmak gerek ($1601)
 LD a,22
 RST 16
 LD a,10 ;y
 RST 16
 LD a,20 ;x
 RST 16
 LD a,65 ;A harfi basarım ancak ben :)
 RST 16

edit: code tag'i nolmuş sapıtmış...
edit2:
bu arada PRINT USR kullanarak başlarsan stream Screen oluyor, yani $1601'den ekran seçmek zorunda kalmayabilirsin. RANDONIZE USR input kanalını seçer. LPRINT USR ile başlarsan printer kanalı default seçili kalır. Size coding yapıyorsan 5 byte kazanırsın.


Konu Başlığı: Ynt: zx asm'de AT satır, sütun komutu karşılığı...
Gönderen: Arda üzerinde Şubat 16, 2008, 04:47:05 ÖÖ
bu da spectrum rom disassembly.

http://www.wearmouth.demon.co.uk/zx82.htm#L1601



Konu Başlığı: Ynt: zx asm'de AT satır, sütun komutu karşılığı...
Gönderen: Arda üzerinde Aralık 29, 2008, 12:22:05 ÖS
dünden beri forumdaki sinclair yazılarını okuyorum en alttan üstte doğru epey bilgi edindim hemde eğlenceli. Son olarak geldiğim yerde bir örnek vermişin. spin de ve basin de denedim ikisindede en başa org 40000 yazdım yoksa çalışmadı ama çalıştığı zamanda bir an A harfi gözükyor sonra reset oluyor. Böyle reset olmak zorunda mı ?


 LD A,2
 CALL 5633     ;önce kanalı açmak gerek ($1601)
 LD a,22
 RST 16
 LD a,10    ;y
 RST 16
 LD a,20    ;x
 RST 16
 LD a,65    ;A harfi basarım ancak ben :)
 RST 16

RET'i ekliyorsun sonuna umarım?

evet print kanalı ekrana ayarlı olduğu için input kanalına geri dönmek lazım çıkmadan önce.

Spectrumda alt satırda input girdiğimiz kanal başka bir stream, üst kısma kullandığımız kanal başka.

son olarak kod şu olacak:

Kod:

 org 40000     ;assemble edilecek adres 40000

 LD A,2
 CALL 5633     ;önce kanalı açmak gerek ($1601)
 LD a,22
 RST 16
 LD a,10 ;y
 RST 16
 LD a,20 ;x
 RST 16
 LD a,65 ;A harfi basarım ancak ben :)
 RST 16

 RET            ;geri dön


Konu Başlığı: Ynt: zx asm'de AT satır, sütun komutu karşılığı...
Gönderen: ilkergorkem üzerinde Aralık 30, 2008, 10:51:04 ÖÖ
Açıklamalı cevabın için teşekkürler Arda "ret" yazınca oldu.