AccueilAccueil  -> Le site MSF  GalerieGalerie  Dernières imagesDernières images  RechercherRechercher  S'enregistrerS'enregistrer  ConnexionConnexion  ContactContact  
Le Deal du moment :
Coffret dresseur d’élite ETB ...
Voir le deal
56.90 €

 

 SMS_waitForVBlank() du devkitsms

Aller en bas 
+3
DrRotule
ichigobankai
Monos
7 participants
AuteurMessage
Monos
Sonic (Sonic)
Monos


Score : 124
Date d'inscription : 02/01/2018

SMS_waitForVBlank() du devkitsms Empty
MessageSujet: SMS_waitForVBlank() du devkitsms   SMS_waitForVBlank() du devkitsms Icon_minitime1Sam 6 Oct - 6:01

Plop, je ne sais pas trop ou placer la question qui peut intéressée d'autre gens mais je m'adresse particulièrement au personne qui programme en C sur la master system avec le devkitsms !

La question peu paraître contre mais a qu'elle moment on fout le SMS_waitForVBlank() ?

Dans ma boucle de jeu j'ai l'habitude de faire ce genre truc !

Code:
While(1)
{
  // (Tous ce qui se rapporte au calcule);
  SMS_waitForVBlank();
  // Affichage des graphismes;

}

Je ne sais pas si c'est la bonne idée !
Revenir en haut Aller en bas
ichigobankai
Alex Kidd (Alex Kidd)
ichigobankai


Score : 7174
Date d'inscription : 26/08/2009
Age : 44
Localisation : Near Angers ^^

SMS_waitForVBlank() du devkitsms Empty
MessageSujet: Re: SMS_waitForVBlank() du devkitsms   SMS_waitForVBlank() du devkitsms Icon_minitime1Sam 6 Oct - 8:52

c'est exactement comme ca (enfin de base ^^)

Dans la partie calcul, tout sauf les ecritures au VDP
-vblank-
ecritures dans le vdp

MAIS on peut aussi ecrire dans le VDP pendant la partie active de l'affichage, c'est juste un probleme de timing (et que c'est bcp plus lent == prend plus de temps)

En chose essentiel, c'est surtout qu'il faut connaître si ta charge pendant l'affichage actif ne dégueule pas sur le vblank et si la charge du vblank ne dépasse pas pendant l'affichage actif, car cela va avoir pour effet de ralentir le programme ou faire apparaitre des glitchs/corruptions graphiques.

Avec Vingazole on a notre propre lib SMS (full asm), mais le principe du devkit est similaire.

Tu peux ajouter ca dans ton code :

void set_border_color(unsigned char color){
__asm
      ld      hl,#2
      add     hl,sp
      ld      a,(hl)
      or      #0xF0
      out     (#0xBF),a
      ld      a,#0x87
      out     (#0xBF),a
      ret
__endasm;
}

ensuite en debut de code, tu mets
set_border_color(numero de couleur de la palette2);
//avant le vblank (cad apres ta derniere routine)
set_border_color(autre numero de couleur de la palette2);
/juste après le vblank
set_border_color(autre numero de couleur de la palette2);
//juste apres la derniere routine de ton code qui est dans le vblank
set_border_color(autre numero de couleur de la palette2);

Juste faire attention, ca ne prend en compte QUE les couleurs de la palette 2 (celle des sprites)

Tu peux aussi mettre
#define DEBUG 1 //a placer en haut du code

#ifdef DEBUG
#define BORDER(x) (set_border_color(x));
#else
#define BORDER(x)
#endif

pour appeler juste indiquer
BORDER(numero de couleur pal2)

pour que ce soit plus facile a activer/virer à la compilation (juste a masquer la ligne debug pour inhiber)

Cela te donnera quelque chose comme ca,
uniquement visible sous Emulicious et sur le vrai hard.
SMS_waitForVBlank() du devkitsms Captur12

Dans ma capture, je sais que le "jaune" est ce qu'il me reste en temps d'affichage actif et le vert la taille des données dans le vblank (le temps de vblank max étant tout ce qui au dessus et au dessous du jeu; donc en l'état je n'en utilise que 50%)

Edit. Je ne l'ai pas indiqué mais dans ta boucle (pour un système à 60hz)
- 1 vblank = 60fps
- 2 vblank consécutifs = 30 fps
- 3 vblank consécutifs = 20 fps
...etc.
Revenir en haut Aller en bas
Monos
Sonic (Sonic)
Monos


Score : 124
Date d'inscription : 02/01/2018

SMS_waitForVBlank() du devkitsms Empty
MessageSujet: Re: SMS_waitForVBlank() du devkitsms   SMS_waitForVBlank() du devkitsms Icon_minitime1Sam 6 Oct - 12:04

Merci ichigo, je vais tester ça. Upsilendre avait parlé de cette technique de couleur.
Revenir en haut Aller en bas
DrRotule
Admin
DrRotule


Score : 26980
Date d'inscription : 11/06/2009
Age : 44
Localisation : Lille

SMS_waitForVBlank() du devkitsms Empty
MessageSujet: Re: SMS_waitForVBlank() du devkitsms   SMS_waitForVBlank() du devkitsms Icon_minitime1Dim 7 Oct - 0:14

Ç est le meilleur titre de topic de l histoire du forum
Revenir en haut Aller en bas
http://www.mastersystem-france.com
ichigobankai
Alex Kidd (Alex Kidd)
ichigobankai


Score : 7174
Date d'inscription : 26/08/2009
Age : 44
Localisation : Near Angers ^^

SMS_waitForVBlank() du devkitsms Empty
MessageSujet: Re: SMS_waitForVBlank() du devkitsms   SMS_waitForVBlank() du devkitsms Icon_minitime1Dim 7 Oct - 7:37

SMS_waitForVBlank() du devkitsms P-elu_10

Laughing
Revenir en haut Aller en bas
fixoid
Billy Lee (Double Dragon)
fixoid


Score : 1254
Date d'inscription : 07/11/2018
Age : 45
Localisation : Pontus

SMS_waitForVBlank() du devkitsms Empty
MessageSujet: Re: SMS_waitForVBlank() du devkitsms   SMS_waitForVBlank() du devkitsms Icon_minitime1Jeu 27 Déc - 17:39

Bonjour,

Moi en tout cas je n'ai pas compris.

A mais ou c'est vrai,  je ne code pas , donc logique  que je ne comprend rien  Laughing


Du coup, vous auriez des liens pour débuter en Dev pour le kit SMS ?


Juste pour voir de quoi cela a l'air ?
Revenir en haut Aller en bas
vingazole
Ax Battler (Golden Axe)
vingazole


Score : 932
Date d'inscription : 28/04/2011
Age : 49
Localisation : Saintes (17)

SMS_waitForVBlank() du devkitsms Empty
MessageSujet: Re: SMS_waitForVBlank() du devkitsms   SMS_waitForVBlank() du devkitsms Icon_minitime1Dim 30 Déc - 10:49

Salut fixoid,

pour te faire une idée, tu peux regarder la série de vidéos de Monos sur la programmation de la SMS avec le devkit :

Revenir en haut Aller en bas
Ax battler
Kevin (Home Alone)
Ax battler


Score : 54
Date d'inscription : 09/03/2022
Age : 44
Localisation : monster land

SMS_waitForVBlank() du devkitsms Empty
MessageSujet: Re: SMS_waitForVBlank() du devkitsms   SMS_waitForVBlank() du devkitsms Icon_minitime1Ven 11 Mar - 18:39

Je plussoie! Super séries de vidéos! SMS_waitForVBlank() du devkitsms 1f600 Mais j'ai (presque) pas réussi à aller plus loin, perso. Genre comment animer un sprite ou afficher un nouvel écran...

Sans compter que le bmp2tiles donne des résultats pour un code en asm, donc pas réussi à l'appliquer en c, du coup je dois tout recalculer à la main à chaque fois.

Mais monos explique très bien et ça permet de se faire plaisir en découvrant la master system sous un autre angle.

Revenir en haut Aller en bas
Schmurz
Psycho Fox (Psycho Fox)
Schmurz


Score : 1506
Date d'inscription : 14/03/2021
Age : 41

SMS_waitForVBlank() du devkitsms Empty
MessageSujet: Re: SMS_waitForVBlank() du devkitsms   SMS_waitForVBlank() du devkitsms Icon_minitime1Ven 11 Mar - 20:11

il est bien monos mais 90% des vidéos sont sur le qui-vive, rien que cette video il fait une erreur et si tu es complément paumé tu piges plus rien.

Mais il avait commencé des tutos sur un blog, me semble, qui doivent être encore trouvable.
Revenir en haut Aller en bas
Schmurz
Psycho Fox (Psycho Fox)
Schmurz


Score : 1506
Date d'inscription : 14/03/2021
Age : 41

SMS_waitForVBlank() du devkitsms Empty
MessageSujet: Re: SMS_waitForVBlank() du devkitsms   SMS_waitForVBlank() du devkitsms Icon_minitime1Ven 11 Mar - 20:38

https://www.youtube.com/watch?v=IqPyWYPBwNE en incrustion vidéo pendant que je surf sur le web et je tombe sur un truc que j´avais pas fait gaffe pour le pad sms.

j´avais pas capté que le tir A et B sont différents dans leurs adresses pour les touches 1 et 2, sans avoir un pad MD la SMS peut donc gérer de base 5 boutons = 1 + 2 + A + B + reset.

De plus si on met un pad MD on peut sans doute utiliser tir A et B pour faire des touchent similaire à L et R.  

en gros un truc comme ça avec X/Y/Z

SMS_waitForVBlank() du devkitsms 3do-1010
Revenir en haut Aller en bas
Ax battler
Kevin (Home Alone)
Ax battler


Score : 54
Date d'inscription : 09/03/2022
Age : 44
Localisation : monster land

SMS_waitForVBlank() du devkitsms Empty
MessageSujet: Re: SMS_waitForVBlank() du devkitsms   SMS_waitForVBlank() du devkitsms Icon_minitime1Dim 13 Mar - 13:34

Oui, ça m'avait fait tilter, aussi,  mais je sais pas si y'a des jeux qui gèrent ça... Pas ceux que j'ai, en tout cas.
D'ailleurs j'avais fait un petit test de tous mes jeux pour voir certaines particularités, et je voulais partager ça car j'ai pas vu de topic à ce sujet.
Je vais en ouvrir un.

T'as pas l'adresse du blog en question à tout hasard?
Revenir en haut Aller en bas
Schmurz
Psycho Fox (Psycho Fox)
Schmurz


Score : 1506
Date d'inscription : 14/03/2021
Age : 41

SMS_waitForVBlank() du devkitsms Empty
MessageSujet: Re: SMS_waitForVBlank() du devkitsms   SMS_waitForVBlank() du devkitsms Icon_minitime1Dim 13 Mar - 14:04

Revenir en haut Aller en bas
Ax battler
Kevin (Home Alone)
Ax battler


Score : 54
Date d'inscription : 09/03/2022
Age : 44
Localisation : monster land

SMS_waitForVBlank() du devkitsms Empty
MessageSujet: Re: SMS_waitForVBlank() du devkitsms   SMS_waitForVBlank() du devkitsms Icon_minitime1Dim 13 Mar - 21:28

Super! c'est plus détaillé et plus facile à comprendre que les vidéos... mais ça n'a pas l'air de permettre d'aller plus loin malheureusement...

Le 2ème lien, c'est un logiciel simplifié pour créer des jeux master system, c'est ça? Ca a l'air sympa, mais ce qui m'intéresserait vraiment, c'est de tâter du code pur.
En tout cas c'est une super initiative! Very Happy
Revenir en haut Aller en bas
Schmurz
Psycho Fox (Psycho Fox)
Schmurz


Score : 1506
Date d'inscription : 14/03/2021
Age : 41

SMS_waitForVBlank() du devkitsms Empty
MessageSujet: Re: SMS_waitForVBlank() du devkitsms   SMS_waitForVBlank() du devkitsms Icon_minitime1Dim 13 Mar - 21:44

Oui pour l´instant l´auteur doit être occupé, voir le projet est mort, mais y avait vraiment du boulot derrière.
Revenir en haut Aller en bas
Contenu sponsorisé





SMS_waitForVBlank() du devkitsms Empty
MessageSujet: Re: SMS_waitForVBlank() du devkitsms   SMS_waitForVBlank() du devkitsms Icon_minitime1

Revenir en haut Aller en bas
 
SMS_waitForVBlank() du devkitsms
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Master System France :: Communauté :: Questions-réponses-
Sauter vers: