Sgdk - Sega Megadrive / Genesis Development Kit

Page 15 sur 16 Précédent  1 ... 9 ... 14, 15, 16  Suivant

Aller en bas

Re: Sgdk - Sega Megadrive / Genesis Development Kit

Message par Tryphon le Lun 26 Nov 2018 - 12:21

C'est quoi hard ?

main sur MD ne prend pas d'arguments. En C sur ordi, tu peux passer argv et argc qui permettent de récupérer des paramètres éventuellement passés en ligne de commande (donc superflu sur MD).

Tryphon
Docteur *
Docteur *

Nombre de messages : 13945
Date d'inscription : 23/07/2016

Revenir en haut Aller en bas

Re: Sgdk - Sega Megadrive / Genesis Development Kit

Message par shingosama le Lun 26 Nov 2018 - 12:23

hard permet de savoir si la console a redémarré au niveau du hard ou du soft.

1 = hard reset
0 = soft reset

Cela permet de faire une condition si des variables doivent être modifiées ou non par exemple :

Code:
// main function
extern int main(u16 hard);
shingosama
shingosama
Interne
Interne

Masculin Nombre de messages : 5199
Age : 32
Localisation : SEGA Toulouse
Date d'inscription : 02/11/2016

https://www.genku.net

Revenir en haut Aller en bas

Re: Sgdk - Sega Megadrive / Genesis Development Kit

Message par ichigobankai le Lun 26 Nov 2018 - 12:28

c'est quoi l'interet de la passer en param si c'est déjà dans une variable externe (globale tres certainement) ?
ichigobankai
ichigobankai
Patient incurable

Masculin Nombre de messages : 1591
Age : 39
Localisation : 49
Date d'inscription : 04/04/2011

http://www.mastersystem-france.com

Revenir en haut Aller en bas

Re: Sgdk - Sega Megadrive / Genesis Development Kit

Message par Tryphon le Lun 26 Nov 2018 - 12:30

@shingosama a écrit:hard permet de savoir si la console a redémarré au niveau du hard ou du soft.

1 = hard reset
0 = soft reset

Cela permet de faire une condition si des variables doivent être modifiées ou non par exemple :

Code:
// main function
extern int main(u16 hard);

Mais ce n'est pas standard !

La "fonction" main n'est pas une fonction normale, elle obéit au standard du C, tu ne peux pas lui passer de paramètres (pas plus que tu ne peux l'appeler d'ailleurs je crois) (en tout cas j'ai jamais essayé).
Tryphon
Tryphon
Docteur *
Docteur *

Masculin Nombre de messages : 13945
Age : 42
Localisation : Un peu plus à l'Ouest
Date d'inscription : 23/07/2016

Revenir en haut Aller en bas

Re: Sgdk - Sega Megadrive / Genesis Development Kit

Message par shingosama le Lun 26 Nov 2018 - 12:35

@Stef a écrit:Actually that is wanted, so you can preserve some information (as hi score) on soft-reset.
But i can understand it can be problematic...

You have a way to detect it so you can reset some variables.
If you declare the main method like this :

Code:
int main(int param)
{
  ...
}

the param value can be used to detect if you are on hard or soft reset.
1 = hard reset
0 = soft reset.

Je n'ai fais que reprendre ce qu'à dit @Stef sur gendev.spritesmind.net....
shingosama
shingosama
Interne
Interne

Masculin Nombre de messages : 5199
Age : 32
Localisation : SEGA Toulouse
Date d'inscription : 02/11/2016

https://www.genku.net

Revenir en haut Aller en bas

Re: Sgdk - Sega Megadrive / Genesis Development Kit

Message par ichigobankai le Lun 26 Nov 2018 - 12:46

je continue a dire que je ne vois pas l'interet d'y passer des param ^^

tu saves ton etat de hard/soft reset dans une var (globale), et ensuite au debut du main, tu clear tout ou en partie la ram (contenant score & cie) en esquivant celle de la var reset hard/soft.
Sinon tu peux aussi en avoir rien à scouer, utiliser une SRAM, sauvegarder quand c'est nécessaire et raz la ram au debut et recharger les données de la sram.
ichigobankai
ichigobankai
Patient incurable

Masculin Nombre de messages : 1591
Age : 39
Localisation : 49
Date d'inscription : 04/04/2011

http://www.mastersystem-france.com

Revenir en haut Aller en bas

Re: Sgdk - Sega Megadrive / Genesis Development Kit

Message par shingosama le Lun 26 Nov 2018 - 12:52

Ah oui, c'est vrai que ça peut fonctionner dans ce sens :p
shingosama
shingosama
Interne
Interne

Masculin Nombre de messages : 5199
Age : 32
Localisation : SEGA Toulouse
Date d'inscription : 02/11/2016

https://www.genku.net

Revenir en haut Aller en bas

Re: Sgdk - Sega Megadrive / Genesis Development Kit

Message par TotOOntHeMooN le Lun 26 Nov 2018 - 13:22

@ichigobankai a écrit:je continue a dire que je ne vois pas l'interet d'y passer des param ^^
tu saves ton etat de hard/soft reset dans une var (globale)
Bah les param, c'est pour limiter l'usage de variables globales... ^^
TotOOntHeMooN
TotOOntHeMooN
Docteur *
Docteur *

Masculin Nombre de messages : 8413
Age : 49
Localisation : France
Date d'inscription : 18/04/2013

Revenir en haut Aller en bas

Re: Sgdk - Sega Megadrive / Genesis Development Kit

Message par ichigobankai le Lun 26 Nov 2018 - 13:31

je ne pense pas qu'il soit a qq bytes de ram près Wink
ichigobankai
ichigobankai
Patient incurable

Masculin Nombre de messages : 1591
Age : 39
Localisation : 49
Date d'inscription : 04/04/2011

http://www.mastersystem-france.com

Revenir en haut Aller en bas

Re: Sgdk - Sega Megadrive / Genesis Development Kit

Message par Tryphon le Lun 26 Nov 2018 - 13:36

Ca reste pas standard il me semble.. Ca m'étonnerait que GCC accepte ça. Peut-être que le vieux GCC qu'utilisait Stef le prenait, mais plus la version actuelle (la 5 je crois) ?

De toutes façons il faudrait un type dans la déclaration :

int main(int hard)
Tryphon
Tryphon
Docteur *
Docteur *

Masculin Nombre de messages : 13945
Age : 42
Localisation : Un peu plus à l'Ouest
Date d'inscription : 23/07/2016

Revenir en haut Aller en bas

Re: Sgdk - Sega Megadrive / Genesis Development Kit

Message par TotOOntHeMooN le Lun 26 Nov 2018 - 13:43

@Tryphon a écrit:Ca reste pas standard il me semble.. Ca m'étonnerait que GCC accepte ça. Peut-être que le vieux GCC qu'utilisait Stef le prenait, mais plus la version actuelle (la 5 je crois) ?
De toutes façons il faudrait un type dans la déclaration : int main(int hard)
Si je m'abuse, en C, main() n'est pas la fonction de départ d'un programme, mais plutôt _start() voir même execute() ... Du coup, Stef à peut-être réimplémenté main() pour son usage, vu qu'on ne va pas passer de paramètres à une ROM sur Megadrive.
TotOOntHeMooN
TotOOntHeMooN
Docteur *
Docteur *

Masculin Nombre de messages : 8413
Age : 49
Localisation : France
Date d'inscription : 18/04/2013

Revenir en haut Aller en bas

Re: Sgdk - Sega Megadrive / Genesis Development Kit

Message par Tryphon le Lun 26 Nov 2018 - 13:52

@TotOOntHeMooN a écrit:
@Tryphon a écrit:Ca reste pas standard il me semble.. Ca m'étonnerait que GCC accepte ça. Peut-être que le vieux GCC qu'utilisait Stef le prenait, mais plus la version actuelle (la 5 je crois) ?
De toutes façons il faudrait un type dans la déclaration : int main(int hard)
Si je m'abuse, en C, main() n'est pas la fonction de départ d'un programme, mais plutôt _start() voir même execute() ... Du coup, Stef à peut-être réimplémenté main() pour son usage, vu qu'on ne va pas passer de paramètres à une ROM sur Megadrive.

C'est intéressant. Je farfouille dans les spécifications du langage (c'est aride tongue )
Tryphon
Tryphon
Docteur *
Docteur *

Masculin Nombre de messages : 13945
Age : 42
Localisation : Un peu plus à l'Ouest
Date d'inscription : 23/07/2016

Revenir en haut Aller en bas

Re: Sgdk - Sega Megadrive / Genesis Development Kit

Message par Stef le Lun 26 Nov 2018 - 15:48

@TotOOntHeMooN a écrit:
@Tryphon a écrit:Ca reste pas standard il me semble.. Ca m'étonnerait que GCC accepte ça. Peut-être que le vieux GCC qu'utilisait Stef le prenait, mais plus la version actuelle (la 5 je crois) ?
De toutes façons il faudrait un type dans la déclaration : int main(int hard)
Si je m'abuse, en C, main() n'est pas la fonction de départ d'un programme, mais plutôt _start() voir même execute() ... Du coup, Stef à peut-être réimplémenté main() pour son usage, vu qu'on ne va pas passer de paramètres à une ROM sur Megadrive.

C'est exactement ça...
main(..) c'est un point d'entrée pour les programme type "ligne de commande" mais ça n'a rien de standard sur l'execution d'un binaire Wink  Par défaut le point d'entrée c'est _start en effet, et c'est SGDK qui va ensuite appeler la fonction 'main' (que j'ai formaté selon "mes besoins") pour que ça soit plus simple pour l'utilisateur lambda qui a l'habitude d'avoir une fonction 'main' comme point d'entrée Wink
Si vous êtes intéresser par le vrai point d'entrée du code, il faut regarder le fichier boot.s (dans le répertoire src/boot aui est automatiquement créé par SGDK). SGDK le génère car il fait tout un tas de chose avant d'appeler 'main(..)' :p
Stef
Stef
Infirmier

Masculin Nombre de messages : 4687
Age : 39
Localisation : Sevres
Date d'inscription : 04/04/2007

Revenir en haut Aller en bas

Re: Sgdk - Sega Megadrive / Genesis Development Kit

Message par Tryphon le Lun 26 Nov 2018 - 15:57

T'as une référence là-dessus ? J'ai rien trouvé dans les spécifications du C ANSI...
Tryphon
Tryphon
Docteur *
Docteur *

Masculin Nombre de messages : 13945
Age : 42
Localisation : Un peu plus à l'Ouest
Date d'inscription : 23/07/2016

Revenir en haut Aller en bas

Re: Sgdk - Sega Megadrive / Genesis Development Kit

Message par shingosama le Lun 26 Nov 2018 - 16:55

Donc on peut ignorer cette alerte ?
shingosama
shingosama
Interne
Interne

Masculin Nombre de messages : 5199
Age : 32
Localisation : SEGA Toulouse
Date d'inscription : 02/11/2016

https://www.genku.net

Revenir en haut Aller en bas

Re: Sgdk - Sega Megadrive / Genesis Development Kit

Message par Tryphon le Lun 26 Nov 2018 - 16:57

Je dirais que oui, du coup...
Tryphon
Tryphon
Docteur *
Docteur *

Masculin Nombre de messages : 13945
Age : 42
Localisation : Un peu plus à l'Ouest
Date d'inscription : 23/07/2016

Revenir en haut Aller en bas

Re: Sgdk - Sega Megadrive / Genesis Development Kit

Message par Stef le Mar 27 Nov 2018 - 9:52

Oui complètement :p
Stef
Stef
Infirmier

Masculin Nombre de messages : 4687
Age : 39
Localisation : Sevres
Date d'inscription : 04/04/2007

Revenir en haut Aller en bas

Re: Sgdk - Sega Megadrive / Genesis Development Kit

Message par shingosama le Mar 27 Nov 2018 - 20:59

thumleft
shingosama
shingosama
Interne
Interne

Masculin Nombre de messages : 5199
Age : 32
Localisation : SEGA Toulouse
Date d'inscription : 02/11/2016

https://www.genku.net

Revenir en haut Aller en bas

Re: Sgdk - Sega Megadrive / Genesis Development Kit

Message par drludos le Ven 7 Déc 2018 - 22:50

Une petite question technique sur le driver XGM: comment peut-on modifier, via le code, le volume de la musique ?

J'ai vu dans le doc la possibilité de pouvoir changer le tempo, mais pas le volume.

Je précise que je n'ai que le fichier musical au format ".vgm", donc à priori pas moyen de le modifier (sauf si vous connaissez un outil pour changer le volume d'un fichier vgm directement).

Merci pour vos lumières !
avatar
drludos
Patient contaminé

Masculin Nombre de messages : 212
Age : 39
Localisation : 34
Date d'inscription : 12/10/2017

Revenir en haut Aller en bas

Re: Sgdk - Sega Megadrive / Genesis Development Kit

Message par shingosama le Mar 11 Déc 2018 - 22:31

Moi j'en ai une autre de question :

Serait-ce possible d'avoir une version native de SGDK pour Linux, car je commence à en avoir ras le cul profond de Windows 10.
shingosama
shingosama
Interne
Interne

Masculin Nombre de messages : 5199
Age : 32
Localisation : SEGA Toulouse
Date d'inscription : 02/11/2016

https://www.genku.net

Revenir en haut Aller en bas

Re: Sgdk - Sega Megadrive / Genesis Development Kit

Message par Stef le Mer 12 Déc 2018 - 11:22

@drludos a écrit:Une petite question technique sur le driver XGM: comment peut-on modifier, via le code, le volume de la musique ?

J'ai vu dans le doc la possibilité de pouvoir changer le tempo, mais pas le volume.

Je précise que je n'ai que le fichier musical au format ".vgm", donc à priori pas moyen de le modifier (sauf si vous connaissez un outil pour changer le volume d'un fichier vgm directement).

Merci pour vos lumières !

Je n'avais pas vu cette question mais tu ne peux pas changer le volume avec le driver XGM. C'est une feature qu'il ne supporte pas hélas (peut être dans une prochaine version du driver, mais c'est quelque chose d'assez compliqué à faire).
Et si tu as le fichier VGM alors ça sera compliqué de changer le volume (il n'existe pas d'outils pour ça autant que je connaisse).


Serait-ce possible d'avoir une version native de SGDK pour Linux, car je commence à en avoir ras le cul profond de Windows 10.

Dans le README tu as un lien vers une version linux de SGDK :
https://github.com/kubilus1/gendev

Par contre je ne sais pas à quel point elle est à jour par rapport à la version windows (bon après c'est juste les binaires qui changent, pour le reste c'est identique à la version windows)...
Stef
Stef
Infirmier

Masculin Nombre de messages : 4687
Age : 39
Localisation : Sevres
Date d'inscription : 04/04/2007

Revenir en haut Aller en bas

Re: Sgdk - Sega Megadrive / Genesis Development Kit

Message par Tryphon le Mer 12 Déc 2018 - 11:57

Il est assez vraisemblable que la version Windows tourne avec wine.

Perso, je développerais pas sur MD avec Linux. Y'a de très bons outils, c'est incontestable, mais je teste avec plusieurs émulateurs, et certains tournent pas, ou mal (version obsolète, config chiante...) sous Linux.
Tryphon
Tryphon
Docteur *
Docteur *

Masculin Nombre de messages : 13945
Age : 42
Localisation : Un peu plus à l'Ouest
Date d'inscription : 23/07/2016

Revenir en haut Aller en bas

Re: Sgdk - Sega Megadrive / Genesis Development Kit

Message par Stef le Mer 12 Déc 2018 - 12:18

Oui je suis un peu d'accord (pour ça que je reste sous windows même si c'est chiant pour plein de raisons). Mais à partir du moment où tu arrives à faire tourner Genesis Plus GX correctement, alors c'est bon :) C'est un excellent émulateur et pour le coup c'est assez difficile de le faire marcher sous windows (ou alors en version dépouillée et incomplète) :)
Stef
Stef
Infirmier

Masculin Nombre de messages : 4687
Age : 39
Localisation : Sevres
Date d'inscription : 04/04/2007

Revenir en haut Aller en bas

Re: Sgdk - Sega Megadrive / Genesis Development Kit

Message par shingosama le Mer 12 Déc 2018 - 19:48

Il est disponible dans RetroArch non ?!

Le problème avec cette version de Linux, c'est que comme tu la souligné, c'est pas souvent mis à jour et bien avant de développer sur SGDK, j'avais tenté X fois de la compiler sous Debian 9 sans succès, car j'avais une sale erreur du compilateur.

Je reconnais que sur Windows t'as énormément d'outils pour travailler, mais cet OS me gonfle sérieusement, surtout le 10. J'ai fais la mise à jour October lundi soir, depuis plus rien ne marche correctement. Quand je veux venir sur gamopat, le site se charge une fois sur trois, YouTube rame et plante etc.

Alors du coup, je pense retourner sur Windows 7, bien que ça me fait chier, car du coup je ne profite pas des dernières nouveautés.
shingosama
shingosama
Interne
Interne

Masculin Nombre de messages : 5199
Age : 32
Localisation : SEGA Toulouse
Date d'inscription : 02/11/2016

https://www.genku.net

Revenir en haut Aller en bas

Re: Sgdk - Sega Megadrive / Genesis Development Kit

Message par shingosama le Mer 12 Déc 2018 - 20:23

@Stef tu pourrais m'expliquer comment se compile SGDK ? Étant donné que je m'y connais plutôt sur Linux, je me demande si je ne pourrais pas moi-même le compiler pour ce système et tenir à jour un repo.
shingosama
shingosama
Interne
Interne

Masculin Nombre de messages : 5199
Age : 32
Localisation : SEGA Toulouse
Date d'inscription : 02/11/2016

https://www.genku.net

Revenir en haut Aller en bas

Re: Sgdk - Sega Megadrive / Genesis Development Kit

Message par drludos le Mer 12 Déc 2018 - 20:45

@Stef a écrit:
@drludos a écrit:Une petite question technique sur le driver XGM: comment peut-on modifier, via le code, le volume de la musique ?

J'ai vu dans le doc la possibilité de pouvoir changer le tempo, mais pas le volume.

Je précise que je n'ai que le fichier musical au format ".vgm", donc à priori pas moyen de le modifier (sauf si vous connaissez un outil pour changer le volume d'un fichier vgm directement).

Merci pour vos lumières !

Je n'avais pas vu cette question mais tu ne peux pas changer le volume avec le driver XGM. C'est une feature qu'il ne supporte pas hélas (peut être dans une prochaine version du driver, mais c'est quelque chose d'assez compliqué à faire).
Et si tu as le fichier VGM alors ça sera compliqué de changer le volume (il n'existe pas d'outils pour ça autant que je connaisse).

Merci pour ta réponse Stef!

Pour compenser, j'ai mis tous les effets sonores à fond, du coup ça règle mon problème de différence de volume entre la musique et les effets :). C'est vrai que le changement de volume serait pratique ceci dit, mais bon, je ne me plaint pas, car le driver XGM est vraiment excellent : le fait de pouvoir jouer 4 sons en simultané plus la musique, avec gestion de priorité des sons, et le tout avec deux fonctions toutes simples à appeler, c'est génial, surtout comparés aux autres consoles :).
(cf mes galères avec le driver SNESmod :))

En plus, j'ai finalement eu une réponse du musicien (j'utilise un VGM en Creative Commons, mais je l'avais contacté par courtoisie) et il m'a carrément fourni le fichier deflemask!
avatar
drludos
Patient contaminé

Masculin Nombre de messages : 212
Age : 39
Localisation : 34
Date d'inscription : 12/10/2017

Revenir en haut Aller en bas

Re: Sgdk - Sega Megadrive / Genesis Development Kit

Message par fourchette le Mer 12 Déc 2018 - 21:38

Code:
le fait de pouvoir jouer 4 sons en simultané plus la musique, 

A confirmer, mais il me semble que tu ne peux jouer que 3 sons et non 4 si ton VGM utilise du PCM la piste FM6. En ce qui me concerne je n'utilise pas le CH1 pour les sons avec ce genre de VGM car j'ai constaté quelques soucis du genre : quand je coupe le son pour CH1, ça coupait aussi la piste FM6 du VGM...
avatar
fourchette
Patient en incubation

Masculin Nombre de messages : 77
Age : 49
Localisation : L'ion
Date d'inscription : 10/10/2009

Revenir en haut Aller en bas

Re: Sgdk - Sega Megadrive / Genesis Development Kit

Message par Stef le Jeu 13 Déc 2018 - 11:16

Pour jouer le PCM ça utilise le canal FM6 donc soit tu as du FM sur le canal FM6, soit tu as du PCM. En réalité tu as tout intérêt à ne pas utiliser de FM du tout sur le canal FM6 et le dédier à 100% au PCM (surtout qu'avec le driver XGM ça te donne 4 canaux PCM).
Souvent la musique utilise aussi du PCM (pour les beats en général) du coup je conseille de n'utiliser que 3 canaux pour les bruitages (les canaux 2, 3 et 4) et ainsi laisser le premier canal PCM libre pour la musique. Mais rien ne t'empêche d'utiliser les 4 canaux PCM pour les bruitages, c'est juste que ça coupera le PCM de la musique si il y en a au même instant. Tu as aussi une gestion de priorité qui peut t'aider pour ça..
Stef
Stef
Infirmier

Masculin Nombre de messages : 4687
Age : 39
Localisation : Sevres
Date d'inscription : 04/04/2007

Revenir en haut Aller en bas

Re: Sgdk - Sega Megadrive / Genesis Development Kit

Message par shingosama le Dim 16 Déc 2018 - 17:21

SGDK + LINUX rambo
shingosama
shingosama
Interne
Interne

Masculin Nombre de messages : 5199
Age : 32
Localisation : SEGA Toulouse
Date d'inscription : 02/11/2016

https://www.genku.net

Revenir en haut Aller en bas

Re: Sgdk - Sega Megadrive / Genesis Development Kit

Message par Stef le Lun 17 Déc 2018 - 13:39

@shingosama a écrit:@Stef tu pourrais m'expliquer comment se compile SGDK ? Étant donné que je m'y connais plutôt sur Linux, je me demande si je ne pourrais pas moi-même le compiler pour ce système et tenir à jour un repo.

En fait je n'ai pas bien compris ce que tu voulais dire, plus haut j'ai posté ce lien :
https://github.com/kubilus1/gendev

Qui permet d'avoir SGDK sous linux. Il me semble (car je ne l'ai jamais utilisé à titre perso) que ça te permet d'installer (ou compiler) facilement GCC avec un target 68k (voir le contenu de https://github.com/kubilus1/gendev/tree/master/gen_gcc), et de compiler les différents outils de SGDK. Ensuite la lib SGDK se compile comme sous windows (avec GCC) dés que ton GCC est fonctionnel Wink
Stef
Stef
Infirmier

Masculin Nombre de messages : 4687
Age : 39
Localisation : Sevres
Date d'inscription : 04/04/2007

Revenir en haut Aller en bas

Re: Sgdk - Sega Megadrive / Genesis Development Kit

Message par pckid le Lun 31 Déc 2018 - 16:13

J'ai une question de résolutions sur sgdk

Si j'ai bien compris la Megadrive en Pal affiche 320x240
Et 320x224 en 60hz, je pensais le contraire du aux bandes noires.

Aujourd'hui il faut partir sur le 60hz soit 320x224, que se passe t'il si on passe en 50hz ?

Quelle résolution choisissez vous pour vos jeux. ?
Merci
pckid
pckid
Infirmier

Masculin Nombre de messages : 3724
Age : 42
Localisation : ile de france (94)
Date d'inscription : 29/09/2011

Revenir en haut Aller en bas

Re: Sgdk - Sega Megadrive / Genesis Development Kit

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Page 15 sur 16 Précédent  1 ... 9 ... 14, 15, 16  Suivant

Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum