CODINGSOURCES ★ Scroll TexT ★

Scroll Text|Duffy / NDC )Coding Sources

Petit scroll text , provenant du fanzine NDC 3 car il est très bien commenté et c'est le plus simple qu'on puisses trouver ....
 

;
; Lancement par CALL &A000
;
         ORG  #A000
;
;
debut
;
         LD   a,1
         CALL #bc0e                     ;met écran en mode 1 (facultatif)
;
         LD   h,40                      ;locate 40,1 (mode 1)
;
; pour mode 2 LD h,80 / pour mode 0  LD h,20
;
         LD   l,1
;
; pour mettre le scrolling a un autre endroit sur l'ecran, changez le "LD l,1"
; ci-dessus par un "LD l,No de ligne", mais attention, ce n'est pas le seul
; truc a changer, tapez en BASIC   PRINT HEX$(&C000+&50*No de ligne-1)
; exemple PRINT HEX$(&C000+&50*12) pour la 13eme ligne...
; le cpc va vous repondre une adresse qu'il faudra mettre plus loin dans ce
; listing, (8 lignes apres SCROLL), je vous y attend...
;
         CALL #bb75                     ;locate !
         LD   hl,text1                  ;hl pointe sur debut du texte
;
prg      LD   a,(hl)                    ;prend lettre qu'il y a dans hl
         CP   "#"
         JR   nz,suite                  ;lettre prise = diese ? Si non, continu
         LD   hl,text1                  ;si oui, hl repointe sur le debut de la
         JR   prg                       ;phrase (le message tourne en rond)
;
suite    CALL #bb5a                     ;affiche la lettre
         LD   a,8                       ;revient d'un chr en arriere (comme ca
         CALL #bb5a                     ;le suivant chr est a la meme place)
;
         CALL scroll                    ;decale le tout !
         CALL scroll                    ;redecale (car mode 1= 2 pixels/lettre)
;
; pour le mode 1, faire 2 fois CALL scroll (c'est le cas ici),
; pour le mode 2, faire 1 fois CALL scroll,
; pour le mode 0, faire 4 fois CALL scroll.
;
         INC  hl                        ;hl pointe sur lettre suivante
;
         CALL #bb1b                     ;touche presse ??
         JR   nc,prg                    ;sinon alors recommence
;
         RET                            ;si oui alors Byyye ! (retour basic)
;
;
; routine qui scroll les huit lignes (un chr$=8 lignes)
;
scroll
;
         CALL #bd19                     ;pause pour pas que le scroll
         LD   bc,#105                   ;ne bave et aille trop vite
;
; Attention      suivant la ligne ou vous faites ce scrolling il se peut
; que le  scroll  bave,  dans ce cas changez la ligne ci - dessus par soit
; LD bc,#005 ou LD bc,#205 ou LD bc,#305 etc...Si les symptomes persistent
; appellez votre revendeur Noix De Croco...
;
tmp      DJNZ tmp                       ;comme je disais donc,
         DEC  c                         ;attend un peu
         JR   nz,tmp
;
         PUSH hl                        ;sauve hl car on va le modifier
;
         LD   b,8                       ;huit lignes a scroller
         LD   de,#c000                  ;point de deépart 1ere ligne
;
; VOILA ! C'est juste au-dessus que vous remplacez le "LD de,#C000" par
; l'adresse que vous avait donnee la ligne basic que j'ai cite.
; par exemple "LD de,#c050"
;
bcl      PUSH bc                        ;sauve compteur
;
         LD   hl,#0001                  ;hl = source = dest+1
         ADD  hl,de                     ;addition evite un Call #bc26
         LD   bc,79                     ;79 octets a decaler
         PUSH de                        ;sauve destination
         LDIR                           ;scroll !!
         POP  hl                        ;pop inverse evite un 'EX DE,HL'
;
         CALL #bc26                     ;ligne suivante
         EX   de,hl                     ;de=hl=dest
         POP  bc                        ;reprend compteur de ligne
         DJNZ bcl                       ;si pas derniere ligne alors recomm
;
         POP  hl                        ;reprend hl du debut
         RET                            ;fin scrolling
;
text1    Db "Salut les copains,c"
         Db "a va ??? Moi, je suis l"
         Db "e scrolling de N.D.C, j"
         Db "e suis la pour raconter d"
         Db "es anneries.... Ba-bye..."
         Db "......"
        Db "#"

★ GROUPE: NDC
★ LICENCE: FREEWARE
★ ANNÉE: 1990
★ AUTHOR: DUFFY

★ AMSTRAD CPC ★ DOWNLOAD ★

Other platform tool:
» NDC  scrollDATE: 2013-08-28
DL: 119 fois
TYPE: text
SIZE: 4Ko

Je participe au site:
» Newfile(s) upload/Envoye de fichier(s)
★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Coding Src's » Fraktalsee Plus
» Coding Src's » Pro - Safe
» Coding Src's » Rhythm Unit (Popular Computing Weekly)
» Coding Src's » Reaktion (CPC Amstrad International)
» Coding Src's » Execution d'une instruction BASIC en assembleur
» Coding Src's » Multiplication par 128

CPCrulez[Content Management System] v8.75-desktop/c
Page créée en 089 millisecondes et consultée 1003 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.