[VG5000µ] sprites multicolores pour le BASIC et l'assembleur

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 : Papy.G, fneck, Carl

Avatar de l’utilisateur
rendomizer
Messages : 413
Inscription : 17 juin 2016 21:00
Contact :

VG5000µ Nouvel éditeur de sprites 12 au total

Message par rendomizer »

Vous allez pouvoir gérer 12 sprites avec ce programme. N'est utilisable qu'en assembleur Z80.
Dernière modification par rendomizer le 03 sept. 2019 22:44, modifié 2 fois.
Je ne suis qu'un utilisateur pas un pro
Avatar de l’utilisateur
rendomizer
Messages : 413
Inscription : 17 juin 2016 21:00
Contact :

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

Message 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


Dernière modification par rendomizer le 03 sept. 2019 22:44, modifié 14 fois.
Je ne suis qu'un utilisateur pas un pro
Avatar de l’utilisateur
Mokona
Messages : 1040
Inscription : 17 déc. 2016 22:01
Localisation : Nord Est des Yvelines
Contact :

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

Message par Mokona »

Merci pour le partage.
Avatar de l’utilisateur
Papy.G
Modérateur
Messages : 3047
Inscription : 10 juin 2014 13:40
Localisation : Haute-Garonne/Gers

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

Message 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:
Soyez exigeants, ne vous contentez pas de ce que l'on vous vend.
Demandez-en plus, ou faites-le vous-même.
Avatar de l’utilisateur
rendomizer
Messages : 413
Inscription : 17 juin 2016 21:00
Contact :

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

Message 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:
Dernière modification par rendomizer le 03 sept. 2019 22:43, modifié 5 fois.
Je ne suis qu'un utilisateur pas un pro
Avatar de l’utilisateur
rendomizer
Messages : 413
Inscription : 17 juin 2016 21:00
Contact :

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

Message 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é 139 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.
Dernière modification par rendomizer le 01 déc. 2019 17:26, modifié 5 fois.
Je ne suis qu'un utilisateur pas un pro
Avatar de l’utilisateur
6502man
Messages : 12286
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

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

Message par 6502man »

Félicitations pour ta persévérance :D
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
Avatar de l’utilisateur
rendomizer
Messages : 413
Inscription : 17 juin 2016 21:00
Contact :

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

Message 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é.
Je ne suis qu'un utilisateur pas un pro
gotcha
Messages : 2759
Inscription : 30 mars 2017 11:39
Localisation : Isère
Contact :

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

Message 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
Amstrad CPC et Goupil power :mrgreen:
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Avatar de l’utilisateur
rendomizer
Messages : 413
Inscription : 17 juin 2016 21:00
Contact :

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

Message 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/
Je ne suis qu'un utilisateur pas un pro
Avatar de l’utilisateur
6502man
Messages : 12286
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

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

Message par 6502man »

J'avais crée un document pour expliquer comment programmer le VDP des Alice/VG5000/Minitel :
viewtopic.php?f=25&t=5731
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
Avatar de l’utilisateur
rendomizer
Messages : 413
Inscription : 17 juin 2016 21:00
Contact :

Re: [VG5000µ] sprites multicolores pour le BASIC

Message 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é 182 fois
Je ne suis qu'un utilisateur pas un pro
Avatar de l’utilisateur
rendomizer
Messages : 413
Inscription : 17 juin 2016 21:00
Contact :

Re: [VG5000µ] sprites multicolores pour le BASIC

Message par rendomizer »

dites moi les bugs siouplais j'ai pas testé toutes les couleurs encore mais il y a le sprite 6 qui merde :?
Je ne suis qu'un utilisateur pas un pro
Avatar de l’utilisateur
Mokona
Messages : 1040
Inscription : 17 déc. 2016 22:01
Localisation : Nord Est des Yvelines
Contact :

Re: [VG5000µ] sprites multicolores pour le BASIC

Message par Mokona »

J'ai lancé le programme... mais à chaque fois je suis perdu, je ne comprends pas comment il fonctionne... :=/
Répondre