Bienvenue dans ce petit logiciel permettant de créer des sprites pour ordinateurs 8bits Thomson (mais pas que... ça peut être pour MSX, Amstrad, C64, Atari ST ou Amiga). Le premier index de couleur (0 pour le mode bitmap 16c) a été choisi pour couleur de transparence.

Explication sur les codes des modes vidéo. Les sprites sont codés pour l'accès via les RAM vidéo écrans (même si accessibles par des fonction préexistantes). Il y a 2 affichages. Affichage avec utilisation de PSET (ou fonction se rapprochant), où vous verrez des valeurs comprises entre 0 et 15 correspondant au code couleur, et affichées de manière linéaire (de gauche à droite pour chaque ligne de pixel allant de haut en bas) et le mode "peek" et "poke" (utilisant des octets complets) utilisant la RAM écran dans ce cas. Il convient alors d'expliquer comment son agencés les octets dans la liste.

160x200 16c Thomson. Il faut comprendre que dans l'enchainement des pixels en RAM écran, chacun d'entre eux utilise 4 bits (la moitié d'un octet). Chaque duo de pixels de rang "impair" correspond à l'adresse A en RAMB et chaque duo de pixels de rang pair à l'adresse A en RAMA.
Afin d'optimiser le programme (éviter de faire beaucoup de bascule entre RAMA et RAMB), il a été choisi d'afficher les octets en 2 parties : ceux de la RAMA dans la première moitié et ceux de la RAMB en 2ème moitié de tableau. Pour un Sprite de 8x16, vous aurez 64 octets, les 32 premers octets correspondront aux duos de pixel pairs du Sprite et les 32 derniers aux duos de pixels impairs. Au niveau programmation, ça vous permet de ne faire qu'une fois le basculement en RAMA ou B (ou entre les adresse hautes et basses d'une banque mémoire des TO8/TO9/MO6) pour chaque affichage de Sprite.

Importation de données : dans le champ, vous entrez les données de couleurs (0 à 15 ou 0 à 3 etc) de tableaux tels que vous les avez déjà défini auparavant, séparé par des virgules (et pouvant contenir des espaces) et, lorsque vous validez, le Sprite sera automatiquement redessiné. Si des caractères étranger sont dans votre texte, la fonction vous le signale et ne fera rien.