[VG5000µ] Générateur de sprites multicolores (dernière version 12 sprites!)

Cette catégorie traite de développements récents pour nos vieilles machines, applications, jeux ou démos... Amis programmeurs, c'est ici que vous pourrez enfin devenir célèbres!

Modérateurs : Carl, Papy.G, fneck

Avatar du membre
rendomizer
Messages : 200
Enregistré le : 17 juin 2016 21:00
Contact :

VG5000µ Nouvel éditeur de sprites 12 au total

Message par rendomizer » 29 avr. 2018 23:46

Vous allez pouvoir gérer 12 sprites avec ce programme. N'est utilisable qu'en assembleur Z80.
Fichiers joints
12 sprites editor v7 pour assembleur.rar
(3.36 Kio) Téléchargé 16 fois
12 sprites maker.rar
(5.13 Kio) Téléchargé 17 fois
Modifié en dernier par rendomizer le 01 mai 2018 17:58, modifié 1 fois.
le mot de passe c'est quoi ? quoi.

Avatar du membre
rendomizer
Messages : 200
Enregistré le : 17 juin 2016 21:00
Contact :

Re: VG5000µ Nouvel éditeur de sprites 12 au total

Message par rendomizer » 01 mai 2018 09:02

pack 12 sprites générator plus sprites maker.
Correction plus precisions avec exemple en assembleur du 12 sprites générator.


Pour facilement utiliser le générateur de sprite, iL faut d'abord créer ses sprites avec l' editeur de sprites
" 12 sprite maker "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 les chargés dans en mémoire vous installez le " 12 sprites générator asm ".Puis votre programme s'implante entre 19000 et 24200 soit 5200 octets de libre...


Ici on à une démo en assembleur qui se nome "start, qui permet de déplacer un 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 $5EAA

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 on 1 ---- 1 ou 0 -------$67D0 1 affiche / 0 n'affiche pas
sprite color ------------------------$67D1
sprite x ----------------------------$67D2 0 -----------39
sprite y ----------------------------$67D3 5------------31

sprite on 2 ---- 1 ou 0 -------$67D4 1 marche / 0 arret
sprite x ----------------------------$67D5
sprite y ----------------------------$67D6 0------------39
sprite y ----------------------------$67D7 5------------31

sprite on 3 ---- 1 ou 0 -------$67D8 1 marche / 0 arret
sprite color ------------------------$67D9
sprite x ----------------------------$67DA 0-------------39
sprite y ----------------------------$67DB 5-------------31
etc ... jusqu'à 12.

Caractères alphanumériques

$6800 couleur de caractere
$6801 code caractere
$6802 position x (0 39)
$6803 position y(8 31)

La couleur du caractere est comme suit:

8*16+couleur(0 à 7) pour un fond noir

8*18+couleur(0 à 7) pour un fond rouge

8*20+couleur(0 à 7) pour un fond vert

8*22+couleur(0 à 7) pour un fond jaune

8*24+couleur(0 à 7) pour un fond bleu

8*26+couleur(0 à 7) pour un fond violet

8*28+couleur(0 à 7) pour un fond cyan

8*30+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


Fichiers joints
Ship move+sprites gen 12+sprite maker.zip
(9.56 Kio) Téléchargé 9 fois
pack 12 sprites gen + sprite maker v7.rar
(8.67 Kio) Téléchargé 22 fois
Modifié en dernier par rendomizer le 05 mai 2018 23:39, modifié 11 fois.
le mot de passe c'est quoi ? quoi.

Avatar du membre
Mokona
Messages : 292
Enregistré le : 17 déc. 2016 22:01
Localisation : Nord Est des Yvelines
Contact :

Re: VG5000µ Nouvel éditeur de sprites 12 au total

Message par Mokona » 01 mai 2018 13:22

Merci pour le partage.

Avatar du membre
Papy.G
Modérateur
Messages : 1729
Enregistré le : 10 juin 2014 13:40
Localisation : Nantes/La Roche sur Yon

Re: [VG5000µ] Générateur de sprites multicolores

Message par Papy.G » 01 mai 2018 14:18

Merci pour le partage, penses à ne pas créer un sujet à chaque mise à jour, mais juste à remonter le sujet du projet, et mettre à jour son titre, s'il ne te conviens plus. :wink:
Soyez exigeants, ne vous contentez pas de ce que l'on vous vend.
Demandez-en plus, ou faites-le vous-même.

Répondre