ASMtrad CPC

Apprenez l'assembleur Z80

Création d'une fonte:

Afin de réaliser notre scrolling nous aurons besoin d'une fonte où chaque lettre sera un sprite.

Nous aurons donc dessiné tout ça et le but sera en fonction d'un texte d'afficher la bonne lettre à droite de l'écran puis de faire scroller le tout vers la gauche.

Pour commencer, je vous conseille de faire une fonte pas trop haute.
Un scrolling soft ça consomme du cpu (ça prend du temps à la machine pour l'afficher).
Plus votre fonte sera haute; plus vous aurez de lignes à scroller.
Moins vous aurez de temps machine et plus vous risquez d'avoir un scroll moche.

Donc, 8 pixels de haut c'est bien; 16 pixels c'est bien aussi, mais pas plus !!!

Voici une fonte:

fonte

Comme suis sympa je vous l'ai mise en .SCR et l'ai mise dans un .DSK (Cliquez ici pour télécharger la fonte.)

Comme vous pouvez le voir, la fonte ne contient que les lettres (vous pourrez ajouter chiffres et ponctuation si vous le désirez.).
Pour la palette: 0,0 : 1,3 : 2,15 : 3,24
Le tout en mode 1.

Il faut maintenant capturer cette fonte et on va utiliser le logiciel Font Catcher (il existe plein de logiciels même sur pc, mais je ne peux tous les présenter)

Cliquez ici pour télécharger Font catcher

On lance donc le logiciel avec un run"-catch"
on arrive au menu:

font catcher menu

Choisissez "D - disk operations" et insérez le DSK contenant la fonte.

Choisissez "Load screen" et selectionnez votre .scr de la fonte

font catcher load screen menu

Votre fonte apparait à l'écran, appuyez sur espace puis choisissez "Back To Main Menu"

On se retrouve donc à nouveau sur le menu de base.
Notez la présence de "font type" avec comme choix: "horizontal" ou "vertical".
Le type horizontal signifie simplement que le logiciel va capturer les octets les un à la suite des autres dans le sens horizontal.
Vertical signifiant qu'il le fait dans le sens vertical...
On pourrait donc se servir de vertical pour notre exemple, mais comme je veux que tout soit bien compris ... on ne va pas le faire !!!

Mettez donc ce que vous voulez: horizontal ou vertical, peu importe, car nous on va capturer des colonnes d'un octet de large.

Sélectionnez "S - Set font parameters"

Puis "Size and position"

Avec la flèche du bas, sélectionnez 16 lignes (et restez à 1 octet en large). Puis validez avec espace.

font catcher sélection 16 pixels de haut

On se retrouve au menu et choisissez cette fois si "Char grid".

Augmentez la largeur au maximum puis appuyez 1 fois en bas pour couvrir toute la taille de la fonte.

font catcher sélection longueur fonte

Appuyez a nouveau sur espace pour valider et choisissez "Number of chars"

Cette fois appuyez à gauche pour choisir uniquement les gfx de votre fonte.

font catcher sélection nombre caractère

Ne reste plus qu'à la sauvegarder notre fonte. Appuyez donc sur espace une fois de plus pour valider

"D- Disk operations" puis "save font" et vous lui donnez un petit nom (perso ca sera "fonte.fnt")

Allons maintenant voir comment tout cela est organisé en RAM.

On reboot et on charge notre fonte en #4000:
Tapez sous basic:
memory &3fff:load"fonte.fnt",&4000

ou si vous avez une rom type utopia:
ùload,"fonte.fnt",&4000

Bien, maintenant allons voir en #4000 ce qu'on y trouve avec le find gfx de winape:
Il suffit de mettre winape en pause et de cliquer sur l'icône représentant un petit homme

Youpi c'est bien notre fonte.

Notez que j'ai mis: 1 octet de large pour 16 lignes de haut.

La RAM est ici présentée de haut en bas. C'est à dire que pour la colonne de gauche, les octets se suivent de haut en bas puis on passe à la deuxième colonne.
Notre fonte est donc bien découpée en colonnes.