CODINGSOURCESGAMESLIST ★ SCROLL TEXT|DUFFY / NDC ) ★

Scroll TexT

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 "#"

★ GROUP: NDC
★ ANNÉE: 1990
★ AUTHOR: DUFFY

★ AMSTRAD CPC ★ DOWNLOAD ★

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

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 » Game - Maze (The Amstrad User)
» Coding Src's » Torus
» Coding Src's » End Demo (Logon System)
» Coding Src's » Hexadecimal revealed ...in decimal (Computing with the Amstrad)
» Coding Src's » Waves (Computing with the Amstrad)
» Coding Src's » Ah, Les vacances : Départ en Vacances

QUE DIT LA LOI FRANÇAISE:

L'alinéa 8 de l'article L122-5 du Code de la propriété intellectuelle explique que « Lorsque l'œuvre a été divulguée, l'auteur ne peut interdire la reproduction d'une œuvre et sa représentation effectuées à des fins de conservation ou destinées à préserver les conditions de sa consultation à des fins de recherche ou détudes privées par des particuliers, dans les locaux de l'établissement et sur des terminaux dédiés par des bibliothèques accessibles au public, par des musées ou par des services d'archives, sous réserve que ceux-ci ne recherchent aucun avantage économique ou commercial ». Pas de problème donc pour nous!

CPCrulez[Content Management System] v8.7-desktop/cache
Page créée en 202 millisecondes et consultée 1540 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.