[VG5000µ] sprites multicolores pour le BASIC

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 du membre
rendomizer
Messages : 255
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.
Modifié en dernier par rendomizer le 03 sept. 2019 22:44, modifié 2 fois.
le mot de passe c'est quoi ? quoi.

Avatar du membre
rendomizer
Messages : 255
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

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


Modifié en dernier par rendomizer le 03 sept. 2019 22:44, modifié 14 fois.
le mot de passe c'est quoi ? quoi.

Avatar du membre
Mokona
Messages : 435
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 : 1929
Enregistré le : 10 juin 2014 13:40
Localisation : Haute-Garonne/Gers

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.

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

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

Message par rendomizer » 25 sept. 2018 06:41

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:
Modifié en dernier par rendomizer le 03 sept. 2019 22:43, modifié 5 fois.
le mot de passe c'est quoi ? quoi.


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

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

Message par rendomizer » 10 nov. 2019 13:36

le fichier est ici
Editeur de lutins + generateur de 4 lutins.rar
(49.88 Kio) Téléchargé 3 fois
ansi que l'éditeur fond noir la
editor v43 fond noir.rar
(5.34 Kio) Téléchargé 3 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.
Modifié en dernier par rendomizer le 10 nov. 2019 20:35, modifié 1 fois.
le mot de passe c'est quoi ? quoi.

Avatar du membre
6502man
Messages : 9444
Enregistré le : 12 avr. 2007 22:46
Localisation : VAR
Contact :

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

Message par 6502man » 10 nov. 2019 19:47

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

www.6502man.com

To bit or not to bit.
1 or 0.

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

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

Message par rendomizer » 10 nov. 2019 20:19

Merci 6502man. Je m'améliore de plus en plus a l'assembleur pour vous offrir le meilleur d'une machine mal aimé.
le mot de passe c'est quoi ? quoi.

gotcha
Messages : 439
Enregistré le : 30 mars 2017 11:39
Localisation : Grenoble

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

Message par gotcha » 10 nov. 2019 20:49

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 addict :mrgreen:

Avatar du membre
rendomizer
Messages : 255
Enregistré le : 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 » 10 nov. 2019 20:55

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/
le mot de passe c'est quoi ? quoi.

Avatar du membre
6502man
Messages : 9444
Enregistré le : 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 » 10 nov. 2019 22:34

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.

Répondre