Page 3 sur 5

VG5000µ Nouvel éditeur de sprites 12 au total

Publié : 29 avr. 2018 23:46
par rendomizer
Vous allez pouvoir gérer 12 sprites avec ce programme. N'est utilisable qu'en assembleur Z80.

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

Publié : 01 mai 2018 09:02
par rendomizer
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



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

Publié : 01 mai 2018 13:22
par Mokona
Merci pour le partage.

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

Publié : 01 mai 2018 14:18
par Papy.G
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:

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

Publié : 25 sept. 2018 06:41
par rendomizer
Ca fait un moment que je n'ai pas toucher à mon logiciel de "sprite editeur" et me suis aperçu qu'il n'était pas si simple que ça d'utilisation....

Alors j'ai décidé de le changer un peu, dont voici la mise à jour.

Ce que j'avais oublier de préciser, (pour moi c'était évident, bien sur c'est moi qui l'ai codé ) mais pour un érudit c'est pas si évident. Alors pour commencer il faut bien savoir manier les touches "<>".Pour commencer il faut d'abord aller choisit la palette de couleur en sélectionnant la touche "<" et choisir sa palette touche de "A" à "W" puis valider avec la touche "<"puis sur ">". Seulement apres ça vous pouvez choisir la couleur dans la palette sélectionné. Pour ce faire il faut à nouveau sélectionner la palette touche "<" et choisir sa couleur 1,2,3,4 puis valider avec la touche ">" et la en appuyant sur "espace" vous créez votre pixel de la couleur voulu. voici une mise à jour du 14.2.2019 de l'editeur de sprites.

Voici la mise à jour du Générateur de sprite avec un exemple en asm:

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

Publié : 14 févr. 2019 21:28
par rendomizer

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

Publié : 10 nov. 2019 13:36
par rendomizer
le fichier est ici l'Editeur de sprite + generateur de 4 sprite pour le BASIC
Editeur de lutins + generateur de 4 lutins.rar
Editeur de lutins + generateur de 4 lutins.rar pour le basic
(49.88 Kio) Téléchargé 142 fois
ansi que l'éditeur fond noir la
editor v43 fond noir.rar
(5.34 Kio) Téléchargé 121 fois
chargez en mémoire avec la foction cload les programme qui suivent: basic demo v6.k7, Sprites Gen v6.k7, briques blanche mousse 6 color 135 .k7, donkey mousse 5 color 23.k7, ninja 1 color 135.k7.

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

Publié : 10 nov. 2019 19:47
par 6502man
Félicitations pour ta persévérance :D

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

Publié : 10 nov. 2019 20:19
par rendomizer
Merci 6502man. Je m'améliore de plus en plus a l'assembleur pour vous offrir le meilleur d'une machine mal aimé.

Re: [VG5000µ] Générateur de lutins multicolores pour le BASIC (dernière version 4 lutins!)

Publié : 10 nov. 2019 20:49
par gotcha
Comment est organisée la mémoire vidéo du VG5000 ? Est-ce linéaire (une ligne après l'autre en mémoire) ou plus compliqué ? Sur Amstrad, ce n'est pas linéaire et j'y ai passé une journée complète à afficher un malheureux sprite de 8x8 n'importe où à l'écran en assembleur :D

Re: [VG5000µ] Générateur de lutins multicolores pour le BASIC (dernière version 4 lutins!)

Publié : 10 nov. 2019 20:55
par rendomizer
C'est beaucoup plus compliqué je te renvois a mon site qui explique comment procéder pour afficher un malheureux caractère: https://vg5000.webnode.fr/info-ef9345/

Re: [VG5000µ] Générateur de lutins multicolores pour le BASIC (dernière version 4 lutins!)

Publié : 10 nov. 2019 22:34
par 6502man
J'avais crée un document pour expliquer comment programmer le VDP des Alice/VG5000/Minitel :
viewtopic.php?f=25&t=5731

Re: [VG5000µ] sprites multicolores pour le BASIC

Publié : 24 nov. 2019 13:23
par rendomizer
L'editeur fond noir si dessus n'était pas le bon. Veuillez m'en excuser. Je vous donne le bon si dessous. :oops:
editor v44 pour generateur basic.rar
spécialement pour le générateur de sprites pour le basic
(5.38 Kio) Téléchargé 183 fois

Re: [VG5000µ] sprites multicolores pour le BASIC

Publié : 07 déc. 2019 09:02
par rendomizer
dites moi les bugs siouplais j'ai pas testé toutes les couleurs encore mais il y a le sprite 6 qui merde :?

Re: [VG5000µ] sprites multicolores pour le BASIC

Publié : 07 déc. 2019 16:26
par Mokona
J'ai lancé le programme... mais à chaque fois je suis perdu, je ne comprends pas comment il fonctionne... :=/