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

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

★ AMSTRAD CPC ★ DOWNLOAD ★

Other platform tools:
» ndc  scrollDATE: 1970-01-01
DL: 87
TYPE: ASM
SiZE: 5Ko
NOTE:

» NDC  scrollDATE: 2013-08-28
DL: 403
TYPE: text
SiZE: 5Ko
NOTE:

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

Lien(s):
» Coding Src's » Patterns Mk II
» Coding Src's » ¿Que vienen los marcianos?
» Coding Src's » Division 16 bits
» Coding Src's » Xor Kaleidoscope (Computing with the Amstrad)
» Coding » 08
» Coding Src's » Graphic - Screen Roll Clear (Popular Computing Weekly)
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 230 millisecondes et consultée 2599 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.