Instructions
Pour facilement utiliser le générateur de sprite, iL faut d'abord créer ses sprites avec l' editeur de sprites
" Editor v36 "qui se chargera d'enregistrer les data dans la k7 indiquant son emplacement en mémoire et
son code couleur.( précisez quand même dans le nom de votre sprite son code de couleur et son numero ça peut aider ).
Ensuite vous installez le " generateur de sprites.k7", puis "demo.k7" ou votre programme implanté
entre 19000 et 24200 soit 5200 octets de libre..., puis "start".
Ici on à une démo en assembleur qui se nome "ship move left right+Sprites gen+sprite maker+demo.k7 ", qui permet de déplacer un vaisseau avec 3 des 12 sprites.Il est possible de ne pas
utiliser tous les sprites en les désactivant pour gagner de la vitesse.Le graphisme de font ce fait en tronquand
des sprites. Vous implantez les codes caracteres des sprites qui sont construit à partir de 26670 jusqu'à 26670+(12*80)
à partir de l'adresse 29220 jusqu'à 29220+2590. Les adresses paire pour le code caractère et impaire pour la couleur
.ex: sprite 1 off codes caractères correspondant sont le 32,33,34,35,37,37,38,39
ex: sprite 2 off codes caracteres correspondant sont le 40,41,42,43,44,45,46,47
etc...
************************************************************************************************************************
Voici les adresses des commandes des sprites
************************************************************************************************************************
construction des sprites en -----call $5E88 à ne faire qu'une seule foiS.
adresse du programme en----------call $5ED5
adresse des sprites:
la couleur est fournit par l'éditeur le sprites maker lors de l'enregistrement de vos créations.
Pour les collisions il faut prendre le coin superieur gauche du sprite.
sprite 1 on /off-----------------------26576 1 affiche / 0 n'affiche pas
sprite color ------------------------26577
sprite x ----------------------------26578 0 -----------39
sprite y ----------------------------26579 5------------31
sprite 2 on /off-----------------------26580 1 affiche / 0 n'affiche pas
sprite color ------------------------26581
sprite x ----------------------------26582
sprite y ----------------------------26583
sprite 3 on /off-----------------------26584 1 affiche / 0 n'affiche pas
sprite color ------------------------26585
sprite x ----------------------------26586 0-------------39
sprite y ----------------------------26587 5-------------31
sprite 4 on /off-----------------------26588 1 affiche / 0 n'affiche pas
sprite color ------------------------26589
sprite x ----------------------------26590 0 -----------39
sprite y ----------------------------26591 5------------31
sprite 5 on /off-----------------------26592 1 affiche / 0 n'affiche pas
sprite color ------------------------26593
sprite x ----------------------------26594
sprite y ----------------------------26595
sprite 6 on /off-----------------------26596 1 affiche / 0 n'affiche pas
sprite color ------------------------26597
sprite x ----------------------------26598 x=0-------------39
sprite y ----------------------------26599 y=5-------------31
sprite 7 on /off-----------------------26600 1 affiche / 0 n'affiche pas
sprite color ------------------------26601
sprite x ----------------------------26602 0 -----------39
sprite y ----------------------------26603 5------------31
sprite 8 on /off-----------------------26604 1 affiche / 0 n'affiche pas
sprite color ------------------------26605
sprite x ----------------------------26606
sprite y ----------------------------26607
sprite 9 on /off-----------------------26608 1 affiche / 0 n'affiche pas
sprite color ------------------------26609
sprite x ----------------------------26610 0-------------39
sprite y ----------------------------26611 5-------------31
sprite 10 on /off-----------------------26612 1 affiche / 0 n'affiche pas
sprite color ------------------------26613
sprite x ----------------------------26614 0 -----------39
sprite y ----------------------------26615 5------------31
sprite 11 on /off-----------------------26616 1 affiche / 0 n'affiche pas
sprite color ------------------------26617
sprite x ----------------------------26618
sprite y ----------------------------26619
sprite 12 on /off-----------------------26620 1 affiche / 0 n'affiche pas
sprite color ------------------------26621
sprite x ----------------------------26622 x=0-------------39
sprite y ----------------------------26623 y=5-------------31
Caractères alphanumériques
26624 couleur de caractere
26625 code caractere
26626 position x (0 39)
26627 position y(5 31)
La couleur du caractere est comme suit:
8*16=128+couleur(0 à 7) pour un fond noir
8*18=144+couleur(0 à 7) pour un fond rouge
8*20=160+couleur(0 à 7) pour un fond vert
8*22=176+couleur(0 à 7) pour un fond jaune
8*24=192+couleur(0 à 7) pour un fond bleu
8*26=208+couleur(0 à 7) pour un fond violet
8*28=224+couleur(0 à 7) pour un fond cyan
">8*30=240+couleur(0 à 7) pour un fond blanc
exemple de programme en assembleur utilisant le logiciel.
Il deplace le sprite 1.C'est celui de la demo " START "..org $5000
Code : Tout sélectionner
ld a,19 ; positions du sprite 1
ld ($67d2),a ; x
ld ($67d3),a ; y
call $5E88 ; construction des sprites
_debut:
call $5Eaa ; entrée dans "Sprites gen 12" ( cette entrée permet d'écrire des caracteres alphanumeriques aux adresses indiquées si dessus ).
ld a,2
call $00B3 ; saisie touches de directions 2 clavier 0 manette gauche 1 manette droite
cp 255
jp z,_left
cp 1
jp z,_right
ld a,2
call $00B0
cp 255
jp z,_up
cp 1
jp z,_down
jp _debut
_right:
ld a,($67d2)
inc a
ld ($67d2),a ; x ship
jp _debut
_left:
ld a,($67d2)
dec a
ld ($67D2),a ; x ship
jp _debut
_down:
ld a,($67d3)
inc a
ld ($67d3),a ; Y ship
jp _debut
_up:
ld a,($67d3)
dec a
ld ($67d3),a ; Y ship
jp _debut
-------------------------------------------------------------------------------------------------------------------------------------------------
Dans le segond pack "Ship move +Srites gen 12 + Sprites maker+ demo" vous avez une autre demo d'un vaisseau s'inclinant à droite et à gauche avec 3 sprites . Implanté en $5000
Code : Tout sélectionner
.org $5000
ld a,19
ld ($67d2),a ; position initial x sprite 1
ld ($67d3),a ; position initial y sprite 1
ld ($67d6),a ; position initial x sprite 2
ld ($67d7),a ; position initial y sprite 2
ld ($67dA),a ; position initial x sprite 3
ld ($67dB),a ; position initial y sprite 3
ld a,$b1 ; color sprite 1
ld ($67D1),a
ld a,$b1 ; color sprite 2
ld ($67D5),a
ld a,$b1 ; color sprite 3
ld ($67D9),a
call $5E88
_debut:
ld a,193 ; 8*24+couleur(0 à 7) pour un fond bleu et caractere rouge = 192+1
ld ($6800),a
ld a,65 ; caractere " A "
ld ($6801),a
ld a,19 ;position x
ld ($6802),a
ld a,8 ;position y
ld ($6803),a
call $5Eaa ; réintroduit le caractere dans l'ef9345
ld a,194 ; 8*24+couleur(0 à 7) pour un fond bleu et caractere vert =192+2
ld ($6800),a
ld a,66 ; caractere " B "
ld ($6801),a
ld a,20 ;position x
ld ($6802),a
ld a,8 ;position y
ld ($6803),a
call $5Eaa ; réintroduit le caractere dans l'ef9345
ld a,1 ;sprite 1 on
ld ($67D0),a
ld a,0
ld ($67D4),a ;sprite 2 off
ld a,0
ld ($67D8),a ;sprite 3 off
ld a,2
call $00B3
cp 255
jp z,_left
cp 1
jp z,_right
ld a,2
call $00B0
cp 255
jp z,_up
cp 1
jp z,_down
jp _debut
_right:
ld a,0 ;sprite 1 off
ld ($67D0),a
ld a,0
ld ($67D4),a ;sprite 2 off
ld a,1
ld ($67D8),a ;sprite 3 on
ld a,($67d2)
inc a
ld ($67d2),a; x ship
ld a,($67d6)
inc a
ld ($67d6),a; x ship
ld a,($67dA)
inc a
ld ($67dA),a; x ship
jp _debut
;--------------------------------------------------------------------
_left:
ld a,0 ;sprite 1 off
ld ($67D0),a
ld a,1
ld ($67D4),a ;sprite 2 oN
ld a,0
ld ($67D8),a ;sprite 3 OFF
ld a,($67d2)
DEC a
ld ($67d2),a; x ship SPRITE 1
ld a,($67d6)
DEC a
ld ($67d6),a; x ship SPRITE 2
ld a,($67dA)
DEC a
ld ($67dA),a; x ship SPRITE 3
jp _debut
_down:
ld a,($67d3)
inc a
ld ($67d3),a; Y ship SPRITE 1
ld a,($67d7)
inc a
ld ($67d7),a; Y ship SPRITE 2
ld a,($67dB)
inc a
ld ($67dB),a; Y ship SPRITE 3
jp _debut
;--------------------------------------------------------------------
_up:
ld a,($67d3)
DEc a
ld ($67d3),a; Y ship SPRITE 1
ld a,($67d7)
DEc a
ld ($67d7),a; Y ship SPRITE 2
ld a,($67dB)
DEc a
ld ($67dB),a; Y ship SPRITE 3
jp _debut