Amstrad Plus Index du Forum

Amstrad Plus
Découverte de la gamme Old et Plus des Cpc d'Amstrad.

 FAQFAQ   RechercherRechercher   MembresMembres   GroupesGroupes   S’enregistrerS’enregistrer 
 ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 

un peut d'aide sur un scroll

 
Poster un nouveau sujet   Répondre au sujet    Amstrad Plus Index du Forum -> Bienvenue sur ce forum -> Programmation
Sujet précédent :: Sujet suivant  
Auteur Message
RaVe


Hors ligne

Inscrit le: 12 Fév 2015
Messages: 253

MessagePosté le: Sam 28 Fév - 11:15 (2015)    Sujet du message: un peut d'aide sur un scroll Répondre en citant

salut a tous 


je poste ici  la routine pour mon scroll par contre j'ai un soucis je voulais partir sur un sinus scroll au depart mais je but un peut 
Code:
      ORG  #A000
;
;
debut
;
         LD   a,1
         CALL #bc0e                     
;
         LD   h,40                     
;
;
         LD   l,1
;
;
         CALL #bb75                     
         LD   hl,text1                  
;
prg      LD   a,(hl)                    
         CP   "#"
         JR   nz,suite                  
         LD   hl,text1                  
         JR   prg                       
;
suite    CALL #bb5a                     
         LD   a,8                       
         CALL #bb5a                     
;
         CALL scroll                    
         CALL scroll                   
;
;
         INC  hl                       
;
         CALL #bb1b                     
         JR   nc,prg                    
;
         RET                         
;
;
;
scroll
;
         CALL #bd19                     
         LD   bc,#105                   
;
tmp      DJNZ tmp                       
         DEC  c                         
         JR   nz,tmp
;
         PUSH hl                        
;
         LD   b,8                      
         LD   de,#c000                  
;
bcl      PUSH bc                        
;
         LD   hl,#0001                  
         ADD  hl,de                     
         LD   bc,79                    
         PUSH de                        
         LDIR                           
         POP  hl                        
;
         CALL #bc26                     
         EX   de,hl                     
         POP  bc                        
         DJNZ bcl                       
;
         POP  hl                        
         RET                            
;
text1    Db "premier test le scroll est fonctionnel mais tres rapide "
        Db "......"
        Db "#"



Revenir en haut
Publicité






MessagePosté le: Sam 28 Fév - 11:15 (2015)    Sujet du message: Publicité

PublicitéSupprimer les publicités ?
Revenir en haut
Ast
Administrateur

Hors ligne

Inscrit le: 05 Sep 2014
Messages: 1 956

MessagePosté le: Sam 28 Fév - 13:30 (2015)    Sujet du message: un peut d'aide sur un scroll Répondre en citant

Essayer de faire un sinus scroll en utilisant les vecteurs systèmes, bon courage.Ce qu'il te faut, c'est déjà savoir se passer du #bb5a, voire du #bc26 et pour cela rien de plus simple.
Le principe, ta fonte est située par exemple en #2000 et fait 2 octets sur 8 lignes (mode 1, par exemple)
Tu vas chercher les données de ta fonte et les poker à l'adresse écran que tu auras choisi.


Ca te donne un truc comme :


Code:
...
      Ld hl,#c000
      Ld de,font
      Ld c,8 
      Ld b,c ; hauteur de la fonte (8 lignes)
Bcl  ld a,(de) ; recupere data de la fonte 
      Ld (hl),a ; poke ta fonte en #c000
      Inc hl     ; on ajoute 1 a l'adresse ecran pour y poker la suite
      Inc de    ; prochain data de la fonte
      Ld a,(de) ; recupere 2eme octet
      Ld (hl),a ; on poke la fonte en #c001
      Inc de    ; prochain data de la fonte
      Dec hl    ; hl=#c000 pour permettre le calcul rapide du vecteur #bc26
      Ld a,h    ; a=#c0
      Add a,c  ; a=a+c soit #c0+8, #c8, puis #d0, #d8, #e0, #e8, #f0 et #f8.
      Ld h,a    ; h=#c8
      Djnz Bcl  ; on refait ca sur 8 lignes
      Ret
....





_________________
Ast/iMP4CT

"Par le pouvoir du crâne ancestral...."


Dernière édition par Ast le Dim 1 Mar - 17:05 (2015); édité 1 fois
Revenir en haut
RaVe


Hors ligne

Inscrit le: 12 Fév 2015
Messages: 253

MessagePosté le: Sam 28 Fév - 23:16 (2015)    Sujet du message: un peut d'aide sur un scroll Répondre en citant

j'avoue que je suis perdu avec ton exemple 

Revenir en haut
Ast
Administrateur

Hors ligne

Inscrit le: 05 Sep 2014
Messages: 1 956

MessagePosté le: Sam 28 Fév - 23:20 (2015)    Sujet du message: un peut d'aide sur un scroll Répondre en citant

A quel niveau? Mon exemple affiche 1 caractère de 2 octets sur 8 lignes en #c000. Le caractère est défini à l'adresse pointée par le registre 16 bits de, à l'adresse font que tu auras défini. Il ne te reste qu'à faire, le calcul pour aller d'un caractère à l'autre.
_________________
Ast/iMP4CT

"Par le pouvoir du crâne ancestral...."


Revenir en haut
RaVe


Hors ligne

Inscrit le: 12 Fév 2015
Messages: 253

MessagePosté le: Dim 1 Mar - 16:27 (2015)    Sujet du message: un peut d'aide sur un scroll Répondre en citant

Shocked  la limite est de combien en hauteur sachant que si l on passe à 16

Revenir en haut
Ast
Administrateur

Hors ligne

Inscrit le: 05 Sep 2014
Messages: 1 956

MessagePosté le: Dim 1 Mar - 16:43 (2015)    Sujet du message: un peut d'aide sur un scroll Répondre en citant

La limite dépends de ce que tu veux faire... C'est juste une routine pour afficher un caractère x.
_________________
Ast/iMP4CT

"Par le pouvoir du crâne ancestral...."


Revenir en haut
RaVe


Hors ligne

Inscrit le: 12 Fév 2015
Messages: 253

MessagePosté le: Dim 1 Mar - 16:45 (2015)    Sujet du message: un peut d'aide sur un scroll Répondre en citant

Je cherche à faire un peut de variation au niveau du sinus scrolling mais tout se que j essaye n est pas coordonner avec le reste du scrolling 

Revenir en haut
Ast
Administrateur

Hors ligne

Inscrit le: 05 Sep 2014
Messages: 1 956

MessagePosté le: Dim 1 Mar - 16:54 (2015)    Sujet du message: un peut d'aide sur un scroll Répondre en citant

Le probleme c'est qu'avant de commencer une routine de sinus scroll, il faut d'abord bien comprendre les routines d'affichage. De plus, pour faire un sinus scroll, le mieux est aussi de precalculer toutes les adresses ecran en y dont tu as besoin, et surtout d'utiliser le pile pour récupérer ces données.
Ca en fait des choses à savoir... Commence soft avant de vouloir faire trop compliqué. 
Essai d'afficher simplement un message avec la routine que je t'ai fait. Ce sera deja un bon depart. Ensuite tu pourra voir pour plus compliqué, et ainsi de suite...


Edit : si ca peut t'aider, il y a un exemple avec un code source de Rubi qui vient de la rubrique RubiDouille de feu Amstrad 100%. Amen !
_________________
Ast/iMP4CT

"Par le pouvoir du crâne ancestral...."


Revenir en haut
RaVe


Hors ligne

Inscrit le: 12 Fév 2015
Messages: 253

MessagePosté le: Dim 1 Mar - 19:37 (2015)    Sujet du message: un peut d'aide sur un scroll Répondre en citant

Oui effectivement cela ressemble a se que j'avisage de faire .
Pour avoir une idee je sais pas si tu connais la gozeur demo 4  le scrolling je cherche a faire la meme chose 


Revenir en haut
Ast
Administrateur

Hors ligne

Inscrit le: 05 Sep 2014
Messages: 1 956

MessagePosté le: Dim 1 Mar - 20:26 (2015)    Sujet du message: un peut d'aide sur un scroll Répondre en citant

Oui je connais. Comme je t'ai dis avant de maîtriser un tel scroll, apprends d'abord à maitriser un simple affichage. Il y a aussi des petites optimisations que tu dois connaitre.

1-Eviter le plus possible les boucles


Par exemple, remplace autant que tu le peux (espace mémoire)


Code:



....
            ld b,4
bouc      ld a,(hl)
             ld (de),a
             inc hl
             inc de
             djnz bouc
...



par 


Code:



         ldi
         ldi
         ldi
         ldi





Tu peux aussi éviter d'utiliser des Ldir et les remplacer par des LDI


si tu as :


Code:



....
       ld bc,10
       ldir
....





remplace par :


Code:



          ldi
          ldi
          ldi
          ldi
....
          ldi ; 10 x





A propos, je parle depuis le début de Ldi, mais sais-tu seulement ce que fait cette instruction?


Si non, se reporter au debut!  Smile
_________________
Ast/iMP4CT

"Par le pouvoir du crâne ancestral...."


Revenir en haut
Ast
Administrateur

Hors ligne

Inscrit le: 05 Sep 2014
Messages: 1 956

MessagePosté le: Dim 1 Mar - 20:29 (2015)    Sujet du message: un peut d'aide sur un scroll Répondre en citant

Je viens de t'envoyer un mail. Bon courage !
_________________
Ast/iMP4CT

"Par le pouvoir du crâne ancestral...."


Revenir en haut
RaVe


Hors ligne

Inscrit le: 12 Fév 2015
Messages: 253

MessagePosté le: Dim 1 Mar - 23:19 (2015)    Sujet du message: un peut d'aide sur un scroll Répondre en citant

Merci 

Revenir en haut
Contenu Sponsorisé






MessagePosté le: Aujourd’hui à 04:02 (2017)    Sujet du message: un peut d'aide sur un scroll

Revenir en haut
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Amstrad Plus Index du Forum -> Bienvenue sur ce forum -> Programmation Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1

 
Sauter vers:  

Index | Panneau d’administration | Creer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com