APPLICATIONSPROGRAMMATION ★ SCROLLER (SIZIN AMSTRAD)

Scroller (Sizin Amstrad)Applications Programmation
★ Ce texte vous est présenté dans sa version originale ★ 
 ★ This text is presented to you in its original version ★ 
 ★ Este texto se presenta en su versión original ★ 
 ★ Dieser Text wird in seiner Originalfassung präsentiert ★ 

Scroller CPC tipindeki Amstradlar için hazırlanmış 10 makina kodunun tamamına verilmiş addır. Bu onlunun ikisi ekrandaki herhangi bir mesajı sağa veya sola kaydırmak için kullanılırken diğer 8 tane de ekranda belirlenenherhangi bir bölümün ya da ekranın tamamını yatay, dikey ya da diyagonal olarak kaydırılmasını sağlar.

Ekran kaydırıcı rutinler ekranın bir kısmını ya da tamamını kaydırmak için kullandığınız basit CLS komutunun yerine kullanılabilirler. Şüphesiz ki bu rutinlerin esas kullanım alanları özel efektleryaratılacak oyunlar olacaktır.

Rutinler her seferinde dikey olarak bir sıra yatay olarak da. bir byte kaydırma yeteneğine sahiptirler. Ekran modu ne olursa olsun ekran genişliği her zaman 80 byte'dır.

Bu durum her ne kadar mümkün olan en iyi değilsede yeterince hızlı olması ve mükemmel derecede düzgün çalışması bunu kapatır. Bytelar kaydırıldıkça fondaki renk istediğiniz herhangi bir renk ile kaplanabileceği gibi eğer özel bir tercih belirtmese-nizde PEN 0 ile kaplanacaktır.

Kullanımı kolaylaştırmak için bu rutinler bir BASIC programı içindeki RSX komutları olarak düzenlenmiştir ve buyüzdende makina kodu bilgisi gerektirmezler. Bununla birlikte nasıl çalıştıklarını anlamak isteyeceklerin olabileceğini düşünerek Program ll'de makina kodlarının assembler listesini veriyoruz.

Normal olarak ekranı kaydırabi-leceğiniz 4 ana yön sağ, sol, aşağı, yukarı olmasına rağmen birbirini izleyecek aşağı, yukarı kaymalar diyagonal kaydırma sağlar.

Assembler liste 3 afta bölümden oluşmaktadır. İlk bölüm yeni RSX komutlarını oluşturup yükleyecektir.

İkinci bölümde|Xformu ile girilen ve aşağıdaki parametreleri belirleyen 8 rutin bulunur:

|X+0 colon
|X+2 sıra
|X+4 genişlik
|X+6 yükseklik
|X+8 Pen

Bir A kaydıda girilen parametre değerlerini saklar. Rutinle yapılan ilk iş olan "Set Up" verilen parametrelerle yeni ekran adreslerini ve fon rengini saptamaktır. Eğer sadece 4 parametre tanımlanırsa fon rengi otomatik olarak penıO'a ayarlanacaktır.
Diyagonal kaymalar için tanımlanan kutunun genişlik ve yüksekliği karşılaştırılarak doğru sayıda döngü yapılması için bunlardan küçük sayaç olarak kullanılır.

Diğer bütün RSX'lerde dikey kaymalar için yükseklik, yatay kaymalar için genişlik kullanılır.

Üçüncü bölümde 4 ana yönden herhangi birinde tek bir kayma elde etmek için kullanılan 4 rutin bulunmaktadır. Bu rutinler kullanıldığında istediğiniz kutunun temizlenmesi için gerekli rutinin gerektiği kadar kullanılması lazımdır.

Bu RSX komutları ve ilgili parametreleri şunlardır.

|NORTH, |SOUTH, |EAST, |WEST, |NEAST, |NWEST, |SEAST, |SWEST.

Bunlardan sonrada p,h,w,r,c gelmelidir. Bu değişkenlerde;

P - Fonu kaplayacak pen rengi.
H - Kutunun yüksekliği.
W - Kutunun genişliği.
R - Kutunun üst colon numarası.
C - Kutunun üst sıra numarasıdır.

Örneğin ekranın tamamı kuzeybatı gününde kaydırmak için kullanılacak komut:

|NWEST,+,25,80,1,1 olacaktır.

Burada üzerinde durulması gereken önemli husus kutunun genişlik ve yüksekliğinin en az 1 olması ve tanımlanan kutunun ekran limitleri dışına taşması gerektiğidir.

Ekrandaki herhangi bir mesajı kaydırmak için kullanılacak 2 rutinde yine RSX komutu şeklindedir. Ayrıca sadece iki parametreye gereksinim duyduklarından daha öncekilere göre kullanımları daha kolaydır.

Komutlar; mesajı soldan sağa kaydırmak için |MESRIT sağdan sola kaydırmak için |MESLFT şeklindedir. Tabi bu komutlar kullanılmadan önce bir mesajın tanımlanması gereklidir. Bu mesaj aynı zamanda bizem a$ dediğimiz ilk parametremiz olacaktır.

ikinci parametrede mesajın ne kadar kaydırılmasını istediğinizi belirtmeniz içindir. Program 1 de bu iki komutun kullanımları gösterilmiştir.

10 a$="Sizin Amstrad"
20 |MESLFT,@a$,1
30 a$="1234567890"
40 |MESRIT,@a$.25

Tekrar assembler listesine dönelim. Program III - Buradaki rutinler satırı sağa veya sola kaydırmak için LFTSCL ve RITSCL'yi string tanımlayıcının adresini bulmak içinde FNDSTR'yi kullanmaktadır. String tanımlayıcı üç byte dan oluşmaktadır. Bunlardan byte + string uzunluğu byte 1 ve byte 2 ise Stringin saklandığı adresi gösterir.

Byte 0 m içeriği String'e doğru sayıda karakter yazılması için kullanılacaktır. DE registeri karakterlerin &BB5A' da TXT OUTPUT rutini ile yazılabilmesi için kullanılmıştır.

Burada komuttan önce mesajın tanımlandığına ve komutta iki parametrede a$'den önce kullanıldığına dikkat etmelisiniz. Bu kullanımın sebebi işletim sistemine değişkenin adresini dikkate almamasını belirtir.

Birmesajın ktaydırılması üç aşamada gerçekleşmektedir. İlk olarak ekranda bir karakter basılır sonra bu karakter genişliği kadar kaydırılır son olarak da yeni pozisyonda karakter tekrar basılır. Bu işlem tekrar başa dönerek devam eder.

Mesaj kaydırılırken herhangi bir-tuşa basmak suretiyle yeni bir işleme geçemezsiniz. Ancak yeni bir değişken tanımlama yoluyla buna da bir çözüm bulunabilir. Bu sayede de her karakterin kayışından sonra klavye okunabilir.

Tabii bu olay kaydırmalar arasında tekrar BASIC'e dönüleceği için iş yavaşlayacaktır. Bu yüzden testi, makina kodu içinde kullanılacak RITMES veya LTFTMES ile yapmak daha mantıklıdır.

Artık programı girebilirsiniz. Programın tamanını girip hatasız olarak çalıştığından emin olduktan sonra SAVE "scroller.bin ",b,40000,800 şeklinde kaydedin.

Bunu kendi programlarınızda kullanabilmek için önce HIMEN'i 39999 atayın ve code 40000 de yüklemeyi yapın. Sonra da RSX komutlarını çalıştırmak için sadece CALL 40000 yapmak yeterli olacaktır.

Demonstrasyon programı olan Program IV bu rutinlerin neler yapabileceğini göstermektedir. Bundan sonra sizi kısıtlayabilecek tek şey kendi hayal gücünüz olacaktır.

Sizin Amstrad

★ PUBLISHER: Sizin Amstrad
★ ANNÉE: 1989
★ CONFIG: 64K + AMSDOS
★ LiCENCE: LISTING
★ LANGAGE:
★ AUTEUR(S): ???
 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» Scroller    (Sizin  Amstrad)    TURKISH    LISTINGDATE: 2022-07-08
DL: 109
TYPE: PDF
SiZE: 726Ko
NOTE: 6 pages/PDFlib v1.6

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » Magic Vertical Scroll (CPC Magazin)
» Applications » Interrupt Driven Scroller (Computing with the Amstrad)
» Applications » Rock N Scroll (AM-Mag)
» Applications » Alpha Scroll (Amstrad Computer User)
» Applications » Scroll Text (Amstrad Computer User)
» Applications » RSX Scroll (Schneider Aktiv Special)
Je participe au site:
» Vous avez des infos personnel, des fichiers que nous ne possédons pas concernent ce programme ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop/c
Page créée en 825 millisecondes et consultée 522 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.