La difference est simple. Tu utilises les reg 12 et 13 du crtc faire scroller ton ecran. A chaque incrementation, l'ecran se deplace de 2 octets mode 1.
Notons que le reg 12 est le poids fort tandis que le reg 13 est le poids faible de l'adresse ecran.
Tu veux savoir autre chose ?
Petit complement : utiliser un scrolling hard necessite dans la plupart des cas, l'utilisation d'une rupture.
c'est vrai que nos derniers essai se sont fais avec la routine de rubi hard et fluide, qui en fait ne reproduit toujours que la même page écran horizontalement.
on a vu qu'on pouvais faire une map avec tile studio, enregistrer le résultat, mais là c'est encore un peu la découverte du que dois t'on faire maintenant. pour sa on a pris des notes par rapport aux autres post pour après.
c'est cette logique qui nous échappe, je pense que greg est d'accord avec moi.
ah j'adore les exemples merci david
Dernière édition par Maitrejoe le 17 Juil 2014, 21:44, édité 1 fois.
Inscription : 24 Mars 2011, 10:52 Message(s) : 35 Localisation : Vaison la Romaine
Merci pour les explications Ast, Une chose me triture le cervelet, tu peux pas incrémenter le registre infiniment ? Un moment tu te retrouve en dehors de la mémoire ecran non?
Sauf que donner des bouts de code, ça ne sert à rien si il n'a pas compris le principe d'un scrolling hard.
@Gregosvaison : Ta question n'est pas particulièrement compliquée, ce qu'il faut juste savoir c'est ton niveau de connaissance du CRTC et de son fonctionnement.
Le CRTC possède deux registres qui servent à fixer l'adresse RAM à partir de laquelle les octets seront lus pour être affichés à l'écran.
En gros un scrolling soft et un scrolling hard c'est à peu près l'inverse au niveau du principe.
Le scrolling soft, c'est très simple, tu brasses tout à la main, tu prends chaque élément de la partie d'écran à scroller et tu le réaffiches dans le sens que tu veux.
Le scrolling hard, le principe c'est de changer l'adresse RAM à partir de laquelle le CRTC va chercher les donner à afficher.
qu'il y ai une répétition c'est tout à fait normal.
Concernant le scroll hard de Rubi, si il boucle sur une seule page de 16k c'est qu'il a du faire boucler à la main, car pour un scroll hard, si tu décales l'adresse d'affichage au bout d'un moment tu changes de page et tu vas parcourir les 64Ko de RAM.
Pour bien comprendre le principe, allume ton CPC et amuse toi à changer le poids faible de la fameuse adresse.
out &bc00,13:out &bd00,x
la valeur x est à 0 par défaut, si tu l'incrémentes tu vas voir ton écran se décaler d'un mot (deux octets)
Merci pour les explications Ast, Une chose me triture le cervelet, tu peux pas incrémenter le registre infiniment ? Un moment tu te retrouve en dehors de la mémoire ecran non?
Non tu ne te trouveras jamais en dehors de la RAM vidéo car les 64Ko principaux du CPC peuvent faire office de RAM vidéo, donc si tu incrémentes indéfiniment, et bien tu feras défiler toute la RAM et ça rebouclera à la fin.
Inscription : 24 Mars 2011, 10:52 Message(s) : 35 Localisation : Vaison la Romaine
Tres bien. Je pensais que ça débordait en &0000 etc... Par contre j'aimerai comprendre le principe d'un scrolling comme "super cauldron" ou "préhistorique 2" . Car un scrolling multidirectionnel comme celui ci , ça doit être une autre pair de manches non? Je cherche pas de bout de code (même si c'est bien venu), mais des réponses, la logique.
Merci pour les explications Ast, Une chose me triture le cervelet, tu peux pas incrémenter le registre infiniment ? Un moment tu te retrouve en dehors de la mémoire ecran non?
Non tu ne te trouveras jamais en dehors de la RAM vidéo car les 64Ko principaux du CPC peuvent faire office de RAM vidéo, donc si tu incrémentes indéfiniment, et bien tu feras défiler toute la RAM et ça rebouclera à la fin.
Si tu regardes attentivement le code du scroll hard, tu te rendras vite compte que le "and #33" sert justement a ca.
Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 12 invité(s)
Vous ne pouvez pas publier de nouveaux sujets dans ce forum Vous ne pouvez pas répondre aux sujets dans ce forum Vous ne pouvez pas éditer vos messages dans ce forum Vous ne pouvez pas supprimer vos messages dans ce forum Vous ne pouvez pas insérer de pièces jointes dans ce forum