[VG5000µ] sprites multicolores pour le BASIC et l'assembleur
Modérateurs : Papy.G, fneck, Carl
- rendomizer
- Messages : 413
- Inscription : 17 juin 2016 21:00
- Contact :
VG5000µ Nouvel éditeur de sprites 12 au total
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
- rendomizer
- Messages : 413
- Inscription : 17 juin 2016 21:00
- Contact :
Re: VG5000µ Nouvel éditeur de sprites 12 au total
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
-------------------------------------------------------------------------------------------------------------------------------------------------
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
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
- Mokona
- Messages : 1043
- Inscription : 17 déc. 2016 22:01
- Localisation : Nord Est des Yvelines
- Contact :
Re: VG5000µ Nouvel éditeur de sprites 12 au total
Merci pour le partage.
- Papy.G
- Modérateur
- Messages : 3054
- Inscription : 10 juin 2014 13:40
- Localisation : Haute-Garonne/Gers
Re: [VG5000µ] Générateur de sprites multicolores
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.
Soyez exigeants, ne vous contentez pas de ce que l'on vous vend.
Demandez-en plus, ou faites-le vous-même.
Demandez-en plus, ou faites-le vous-même.
- rendomizer
- Messages : 413
- Inscription : 17 juin 2016 21:00
- Contact :
Re: [VG5000µ] Générateur de sprites multicolores (dernière version 12 sprites!)
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:
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
- rendomizer
- Messages : 413
- Inscription : 17 juin 2016 21:00
- Contact :
Re: [VG5000µ] Générateur de sprites multicolores (dernière version 12 sprites!)
Je ne suis qu'un utilisateur pas un pro
- rendomizer
- Messages : 413
- Inscription : 17 juin 2016 21:00
- Contact :
Re: [VG5000µ] Générateur de sprites multicolores
le fichier est ici l'Editeur de sprite + generateur de 4 sprite pour le BASIC
ansi que l'éditeur fond noir la
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
Re: [VG5000µ] Générateur de sprites multicolores (dernière version 12 sprites!)
Félicitations pour ta persévérance
- rendomizer
- Messages : 413
- Inscription : 17 juin 2016 21:00
- Contact :
Re: [VG5000µ] Générateur de sprites multicolores (dernière version 12 sprites!)
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
Re: [VG5000µ] Générateur de lutins multicolores pour le BASIC (dernière version 4 lutins!)
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
Amstrad CPC et Goupil power
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
- 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!)
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
Re: [VG5000µ] Générateur de lutins multicolores pour le BASIC (dernière version 4 lutins!)
J'avais crée un document pour expliquer comment programmer le VDP des Alice/VG5000/Minitel :
viewtopic.php?f=25&t=5731
viewtopic.php?f=25&t=5731
- rendomizer
- Messages : 413
- Inscription : 17 juin 2016 21:00
- Contact :
Re: [VG5000µ] sprites multicolores pour le BASIC
L'editeur fond noir si dessus n'était pas le bon. Veuillez m'en excuser. Je vous donne le bon si dessous.
Je ne suis qu'un utilisateur pas un pro
- rendomizer
- Messages : 413
- Inscription : 17 juin 2016 21:00
- Contact :
Re: [VG5000µ] sprites multicolores pour le BASIC
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
- Mokona
- Messages : 1043
- Inscription : 17 déc. 2016 22:01
- Localisation : Nord Est des Yvelines
- Contact :
Re: [VG5000µ] sprites multicolores pour le BASIC
J'ai lancé le programme... mais à chaque fois je suis perdu, je ne comprends pas comment il fonctionne... :=/