MSX Village forum

La Place des Développeurs [RESOLU] VDP(27) le Scrolling hardware Horizontal Comment alimenter de nouveaux décors VDP (27)?

Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10348

Le 07/12/2015 à 10h52

Reprise du message précédent

@ Igal : tu parles bien de vrais sprites , blocs 8x8 ou 16x16 et non de "copy" d'une zone écran ?


:noel
Site web    
HDCORP Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 12/10/2013 à 10h39

Messages: 286

Le 07/12/2015 à 12h02
Salut super intéressant le topic même si je pige pas 90% du sujet

Ps: c'est la même technique dans cette vidéo ???

http://www.youtube.com/watch?v=w6WDb8ZenJE&sns=em
   
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10348

Le 07/12/2015 à 12h10
toni galvez utilise des tiles ( blocs graphiques ) et non des bribes comme Igal

avec les tiles les décors sont construits en temps réel a partir de la page 1 du screen 8
ils sont recopiés dans la page 0 bouts par bouts

igal lui copie des blocs a partir du lecteur de disquette ou hdd


:noel
Site web    
HDCORP Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 12/10/2013 à 10h39

Messages: 286

Le 07/12/2015 à 12h21
Merci maître jipe
   
ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5485

Le 07/12/2015 à 12h47
@igal oui on parle bien de la même chose.
Faite un bsave de la zone sprites ne me semble pas etre une technique extreme...

Moi je l'utilise pour éviter. D ´avoir des datas inutiles dans mon prog basic, et ainsi avoir plus de place pour les routines. Rien d'extravagant ! Tu peux utliser cette technique pour changer la forme de tes sprites à la volée aussi.


banniere-ericb59e
Site web    
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 07/12/2015 à 13h18
Merci Éric.

C'est exactement l'idée qui me trottait dans la tête.
Content de savoir que ça marche^^

@jipe: Éric a apporté la réponse :)

En fait, la difficulté est de créer les dizaines de Sprites msx sur un logiciel pc. Il me semble qu'un outil en ligne existe et permet de generer des DATAS.

Une fois les DATAS créés, il suffit d'aller sur msx, faire PUTSPRITE en ayant pris soin d'attribuer les DATAS aux Sprites en questions.

Une fois fait, il suffirait selon moi (il suffit selon eric ^^) de copier la fameuse zone réservée aux Sprites (ligne 212 à 255) pour voir attribuer comme par enchantement (reverse engeenering?!?) La forme et les couleurs des Sprites.

@eric: peux tu dire qu'elles lignes ru copies?
Comment tu fais? Ça m'éviterait d'y aller à tâtons :(
Ou encore si tu peux poster un sujet avec ta mathodologie?


Tiens... voila du boudin, voila du boudin, voila du boudin... :siffle
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10348

Le 07/12/2015 à 13h38
pour le screen 8 les sprites les adresses sont

de F000H a F7FFH 2048 octets pour la forme des sprites
de F800H a F9FFH 512 octets pour les couleurs des sprites

pour avoir un personnage multicolore il faut superposer plusieurs sprites et la c'est plus dur de gérer les formes ;)


:noel
Site web    
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 07/12/2015 à 14h08
Te souviens tu d'un site qui propose la création des sprite MSX en ligne.
Il me semble qu'on pouvait créer des spirte multicolore et générer soit un code en langage machine ou alors simplement un DATA exploitable en BASIC pour utiliser les sprites ainsi créés :)

Edit...

Je crois qu'il s'agit de celui ci :)
http://msx.jannone.org/tinysprite/tinysprite.html Edité par igal Le 07/12/2015 à 14h49


Tiens... voila du boudin, voila du boudin, voila du boudin... :siffle
ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5485

Le 07/12/2015 à 14h51
Je suis en deplacement 2 jours et n'ai pas mes listings avec moi, mais je pense que les adresses donnees par jipe sont les bonnes.
De memoire c'est la meme zone memoire pour les screen8 à 12

On peut creer des sprites msx2 avec plusieurs couleurs par ligne, mais la technique est difficile.
Il me semble qu'un outil est sorti il y a quelques mois pour faire a plus facilement, mais je ne me souviens plus du nom de cet outil. Peut être que GDX s'en souviendra..

Moi j'ai utilisé tiny sprite en ligne
http://msx.jannone.org/tinysprite/tinysprite.html

Mais il fait des sprites multicolores par superposition. Edité par ericb59 Le 07/12/2015 à 14h54


banniere-ericb59e
Site web    
Metalion Membre non connecté

Conseiller Municipal

Rang

Avatar

Inscrit le : 23/12/2009 à 15h32

Messages: 1487

Le 08/12/2015 à 09h52
A ma connaissance, il n'existe pas d'outil qui charge une image pour la transformer en sprites MSX, avec génération des données qui vont bien (cela dit c'est une idée intéressante que je retiens pour l'outil que je suis en train d'essayer de développer avec Visual Basic).

Ca n'existe pas mais ça peut se comprendre, car, la difficulté dans la création de sprites, c'est de générer des sprites multi-couleurs. Sur MSX1, c'est plus simple (un sprite = une couleur), mais sur MSX2, cela se complique franchement (une ligne du sprite = une couleur), avec l'utilisation des superpositions de sprites qui peuvent créer des couleurs supplémentaires par l'opérateur logique "OR". Le choix des couleurs utilisées et de leur résultat en superposition "logique" est largement un travail manuel.

C'est très bien expliqué ici : http://www.msx.org/wiki/The_OR_Color

En conclusion, si tu veux utiliser les sprites hardware, tu es (sauf erreur de ma part) condamné à les créer manuellement. Par contre, l'utilisation de sprites software se prête plus facilement à la création automatique, vu qu'il s'agit là de convertir des portions d'écrans, et qu'il existe des outils pour le faire.


MSX1: Daewoo DPC-200 / Yamaha CX5M
MSX2: Sony HB-F9P
MSXVR
Vidéo: V9990 (GFX-9)
Audio: MSX-Music (FM-PAC) / MSX-Audio (Audiowave) / OPL4 (Monster Sound FM Blaster) / OPNB (Neotron)
   
ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5485

Le 08/12/2015 à 10h35
Si ca existe metalion. Artrag le developpeur de Uridium à réalisé un outils de creation de sprites automatique. Je crois que sa derniere versiongere aussi les speites multicolore msx2.
Mais c'est un outils strictement interne qui n'est pas utilisable facilement par rout le monde


banniere-ericb59e
Site web    
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 08/12/2015 à 13h00
Je vais me lancer dans une série d'expérimentations et voir ce que l'on peut en déduire :)


Tiens... voila du boudin, voila du boudin, voila du boudin... :siffle
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 16/12/2015 à 14h52
Pour afficher des bribes verticales, COPY est bien la méthode la plus rapide.
J'avais besoin de faire le tour de la question et voir jusqu'ou l'on pouvait pousser les choses :)

Cette méthode est très simple et pratique puisque.
1) Il suffit de copier les fichiers bribes verticales sur l'écran visible.
2) incrémenter VDP(27)

Avec la méthode par BLOAD, il fallait contourner de nombreux problèmes dont:
1) charger les bribes Horizontales sur une page de travail.
2) copier les bribes horizontales de la page de travail par tranches verticales vers la page visible.
3) incrémenter VDP(27)

Voici le résulta le plus abouti que j'ai actuellement.
Nb: Il reste à mixer le fonctionnement simultané Scroll vers la doirte/ vers la Gauche pour se pencher sérieusement sur la zone des SPRITES :)


https://www.youtube.com/watch?v=zFEy6ZOJtTY&feature=youtu.be


Tiens... voila du boudin, voila du boudin, voila du boudin... :siffle
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10348

Le 16/12/2015 à 16h03
Igal as tu esseyé d'afficher un sprite pour voir si il reste dans ses coordonées ou bien si il scrolle en même temps que le décor

en gros VDP(27) affecte t'il les sprites ou juste la page d'écran

PS il va falloir tourner l'écran d'un quart de tour pour jouer a ton jeu ;)


:noel
Site web    
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 16/12/2015 à 16h47
VDP(27) ne déplace malheureusement pas les SPRITES automatiquement :(
Ca aurait été le top puisque sans le moindre effort, on aurait pu "Coller" les SPRITES sur le fond et hop...Ca avance tout seul.

VDP(24) par contre déplace tous les SPRITES selon sa variable.

Je profite de ta disponibilité pour te poser la question :p
J'essais de fusionner les SCROLL droite et gauche et pour se faire, de dois synthétiser certaines lignes de commandes.
Actuellement, j'ai les lignes de commandes suivantes:
Code TEXT :
 
444 COPY"1"TO(VA,0):VA=VA+2:SETSCROLLVA 
446 GOSUB800
450 '
452 COPY"2"TO(VA,0):VA=VA+2:SETSCROLLVA
454 GOSUB800
462 '
464 COPY"3"TO(VA,0):VA=VA+2:SETSCROLLVA
466 GOSUB800
470 '
472 COPY"4"TO(VA,0):VA=VA+2:SETSCROLLVA
474 GOSUB800
480 '
482 COPY"5"TO(VA,0):VA=VA+2:SETSCROLLVA
484 GOSUB800
488 '
490 COPY"6"TO(VA,0):VA=VA+2:SETSCROLLVA
492 GOSUB800
498 '
499 COPY"7"TO(VA,0):VA=VA+2:SETSCROLLVA
500 GOSUB800
504 '
506 COPY"8"TO(VA,0):VA=VA+2:SETSCROLLVA
508 GOSUB800

Les COPY vont donc des fichiers "1" à "8" inclus.

Comment faire pour automatiser COPY "X" en allant de 1 à 8 et que ca recommence?
On avait fait un truc du genre pour le SCREEN8 à la volée il me semble.

Ce sont les commandes pour scroller en dirigeant le héro vers la droite :)

Tourner l'écran est bien vu dans les salles d'arcade :top


Tiens... voila du boudin, voila du boudin, voila du boudin... :siffle
ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5485

Le 16/12/2015 à 17h21
le problème ici c'est que tu devrais faire de 0 à 7
plutot que de 1 à 8

Code TEXT :
 
 
100 a=0
120 copy mid$(str$(a),2,1) to (VA,0):VA=VA+2:SETSCROLL VA
130 a=(a+1)mod7
 
 
 
Edité par ericb59 Le 16/12/2015 à 19h33


banniere-ericb59e
Site web    
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie