Sgdk - Sega Megadrive / Genesis Development Kit

Page 13 sur 16 Précédent  1 ... 8 ... 12, 13, 14, 15, 16  Suivant

Aller en bas

Re: Sgdk - Sega Megadrive / Genesis Development Kit

Message par fourchette le Lun 8 Oct 2018 - 19:37

@Stef a écrit:De mémoire le bitmap engine utilise une résolution de 256x160 pixels, en double buffer ça te fait déjà plus de 40 Ko de bouffé en VRAM ! ensuite si tu retires les tables / tilemap / font, alors il te reste plus grand chose pour les tiles de plan B :-/ Il faudrait que j'optimise l'organisation VRAM car là je pense qu'il doit te rester 100 ou 150 tiles pour le fond :-/ tu peux écraser la font pour en gagner 96... en enlevant le double buffer tu gagnes beaucoup de VRAM (mais tu auras du tearing).
je voudrais éviter le tearing. en serrant un peu le fond devrait faire 100-120 tiles ça pourrait peut être le faire.

fourchette
Patient en incubation

Nombre de messages : 77
Date d'inscription : 10/10/2009

Revenir en haut Aller en bas

Re: Sgdk - Sega Megadrive / Genesis Development Kit

Message par fourchette le Lun 8 Oct 2018 - 23:21

Y a t il a une limite pour les tailles des images supportées par les fonctions BMP_drawBitmap et BMP_drawBitmapScaled ?

en testant avec une version simplifié du sample bench sgdk (bmp_test.c) , en remplaçant par une image 128x128 ou 172x172 j'ai un soit un illegal instruction soit un écran noir...

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 Mar 9 Oct 2018 - 10:02

@Tryphon a écrit:C'est pas une palette, ce sont des tiles pleines. Tu te sers souvent de celle pleine de 0. Les autres, si tu ne t'en sers pas, tu peux les écraser si tu veux...

J'ai essayé de les retirer dans une ancienne version de SGDK car effectivement à part le tile 0, les autres ne sont pas très utiles je trouve mais certains "utilisateurs" ont demandé à ce que je les ré-intègre... bon après ça ne coute que 15 tiles Wink Il y a aussi la 'font' qui devrait être optionnelle mais vu qu'il y a des fonctions drawText(..) intégrés, je la laisse par défaut (libre au développeur de l'écraser s'il souhaite gagner quelques tiles).


Dernière édition par Stef le Mar 9 Oct 2018 - 12:41, édité 1 fois
avatar
Stef
Infirmier

Masculin Nombre de messages : 4610
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 Stef le Mar 9 Oct 2018 - 10:06

@fourchette a écrit:Y a t il a une limite pour les tailles des images supportées par les fonctions BMP_drawBitmap et BMP_drawBitmapScaled ?

en testant avec une version simplifié du sample bench sgdk (bmp_test.c) , en remplaçant par une image 128x128 ou 172x172 j'ai un soit un illegal instruction soit un écran noir...

J'inspecte ça mais je pense que ce qui pose problème c'est la compression, si tu as le code de bmp_test.c, tu verras que je décompresse l'image de test en amont et ensuite je l'utilise pour l'affichage et la demo "bench" est déjà à la limite sur la mémoire (à cause du double buffer bitmap en RAM interne). Si tu testes avec une image non compressée ça devrait passer Wink
avatar
Stef
Infirmier

Masculin Nombre de messages : 4610
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 fourchette le Mar 9 Oct 2018 - 12:08

il me semble avoir testé avec et sans compression, pour un même résultat.

je réessayerai.

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 Mar 9 Oct 2018 - 14:36

En tout cas techniquement sur la méthode utilisée, rien n'empêche d'avoir une grosse image source... mais je viens de me rendre compte que je ne fais aucuns tests de limite, du coup si tu "sors" du buffer bitmap, alors ça tape n'importe où en mémoire  Confused Bon faudrait que j'améliore ça, en attendant tu dois t'assurer de ne pas dépasser la taille du buffer bitmap (256x160).
avatar
Stef
Infirmier

Masculin Nombre de messages : 4610
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 fourchette le Mer 10 Oct 2018 - 18:59

J'ai compris mon erreur. A priori on ne peut pas écrire en dehors de la zone du bitmap. Tant qu'aucune partie de mon image ne dépasse la zone, pas de soucis, mais dès que 1px dépasse ça plante d'une manière ou d'une autre. J'avais pas percuté, je pensais que la lib se démerdait pour couper la zone qui dépasse. De toute façon mon image fait 172x172 donc au-delà de 256x160...
Je pense que je vais stocker en ROM les étapes du zoom.

-edit-

Est-il possible de positionner verticalement le bitmap à l'écran ? je l'ai fait horizontalement avec VDP_setHorizontalScroll mais ça ne semble pas fonctionner verticalement.

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 Mer 10 Oct 2018 - 20:20

C'est exactement ce que je venais de dire, la méthode ne protège pas de l'écriture en dehors du buffer... je vais corriger ça car sinon effectivement ça va souvent poser problème Wink

Sinon le vertical scroll est utilisé en interne pour le double buffering donc non tu ne peux pas l'utiliser hélas :-/
avatar
Stef
Infirmier

Masculin Nombre de messages : 4610
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 fourchette le Jeu 11 Oct 2018 - 21:35

@stef

quel serait le meilleur mapping mémoire afin d'obtenir un maximum de tiles à disposition, avec comme contraintes
- résolution 320x240
- plan A et plan B en 64x32
- 80 sprites
tout le reste je ne l'utiliserais pas (pas de window, pas de scrolling)

est ce qu'il y un documentation quelque part qui précise la taille de vram nécessaire en fonction des différentes configurations/éléments utilisés ?

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 Ven 12 Oct 2018 - 11:44

Si tu utilise le mode bitmap alors tu es obligé de passer les plan en 64x64 à cause du double buffering ce qui consomme hélas pas mal de VRAM, sinon la config par defaut de SGDK est assez optimisé (64x32 et très peu de mémoire réservée pour la window qui est rarement utilisé).

Récupéré depuis le fichier vdp.c de SGDK :


Code:
#define WINDOW_DEFAULT          0xD000      // multiple of 0x1000 (0x0800 in H32)
#define HSCRL_DEFAULT          0xD800      // multiple of 0x0400
#define SLIST_DEFAULT          0xDC00      // multiple of 0x0400 (0x0200 in H32)
#define APLAN_DEFAULT          0xE000      // multiple of 0x2000
#define BPLAN_DEFAULT          0xC000      // multiple of 0x2000

Si tes plans sont en 64x64 (à cause du bitmap engine) alors tu n'as pas le choix :
Tu dois utiliser au moins 0xC000-0xDFFF et 0xE000-0xFFFF pour les 2 plans. Ensuite tu peux caser tout le reste de 0xB000-0xBFFF. Mais dans ce cas ça te laisse pas grand chose pour les tiles en dehors de ceux réservée pour le bitmap engine.
avatar
Stef
Infirmier

Masculin Nombre de messages : 4610
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 fourchette le Ven 12 Oct 2018 - 12:09

J'ai laissé de coté mon problème sur les bitmap. Ma question ne portait pas là dessus.

Je souhaites avoir un maximum de tiles disponibles. Et donc virer de la VRAM (si c'est possible) tout ce qui n'est pas nécessaire suivant les contraintes précisées soit résolution 320x240 avec seulement des plans A et B en 64x32.

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 TotOOntHeMooN le Ven 12 Oct 2018 - 12:19

En arcade, dans certains jeux c'est le level design qui est fait en fonction pour jouer d'astuce.
Par exemple dans Ghosts'N Goblins, il y a des zones de transitions in-game pour changer de set.
avatar
TotOOntHeMooN
Docteur *
Docteur *

Masculin Nombre de messages : 8014
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 Ven 12 Oct 2018 - 13:13

Dans Ghouls'n Ghosts aussi (ce qui est spectaculaire dans la version MD, c'est qu'en plus elles sont compressées).
avatar
Tryphon
Docteur *
Docteur *

Masculin Nombre de messages : 12667
Age : 41
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 22 Oct 2018 - 15:51

@Stef as-tu pensé à proposer des logos à intégrer dans la présentation ou le générique de fin des jeux ?
avatar
shingosama
Interne
Interne

Masculin Nombre de messages : 5146
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 Mar 23 Oct 2018 - 19:03

Y'a bien un logo dans la librairie SGDK mais il est désactivé par défaut car d'une part je ne veux l'imposer et d'autre part il n'est plus très représentatif on va dire Wink
Cela dit si tu veux l'activer, passe le define SHOW_LOGO (ou quelque chose dans ce genre) à 1 dans le fichier config.h de SGDK (répertoire 'inc') et recompile la lib, et hop tu as un logo qui claque :p
avatar
Stef
Infirmier

Masculin Nombre de messages : 4610
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 Mar 23 Oct 2018 - 19:04

C'est le Sonic gribouille ?
avatar
Tryphon
Docteur *
Docteur *

Masculin Nombre de messages : 12667
Age : 41
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 23 Oct 2018 - 20:09

Ouais, en plus le Sonic n'est même pas de moi (enfin je l'ai recopié on va dire ^^), je le trouvais trop chouette Very Happy
avatar
Stef
Infirmier

Masculin Nombre de messages : 4610
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 Lun 29 Oct 2018 - 9:09

@Stef ça marche super :)

Je voulais également te demander si tu envisages prochainement de créer un logo dédié à SGDK qu'on puisse l'imprimer sur des tshirt. Je serais très fier et content d'en porter !

Si ce n'est pas d'actualité, je vais prendre le temps de voir ce que je peux faire de ce coté là. Normalement, je devrais prochainement avoir le dessin du héro principal d'IRENA, je pourrais réaliser un logo SGDK avec le personnage, je pense que ça en jetterais !
avatar
shingosama
Interne
Interne

Masculin Nombre de messages : 5146
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 StudioVetea le Lun 29 Oct 2018 - 9:31

Et aussi lui faire un petit don sur sa page :
https://stephane-d.github.io/SGDK/

amoureux
avatar
StudioVetea
Patient contaminé

Masculin Nombre de messages : 719
Age : 47
Localisation : Hérault
Date d'inscription : 10/09/2018

http://www.rolango.fr

Revenir en haut Aller en bas

Re: Sgdk - Sega Megadrive / Genesis Development Kit

Message par Stef le Lun 29 Oct 2018 - 12:52

Heu.. en fait on m'a déjà fait des logos sympas pour SGDK c'est juste que je ne les ai pas intégré encore ^^
Je vais essayer de les retrouver et les mettre en ligne après mon retour !

@vetea> tu es mon premier donateur, et de loin, merci encore :-)
Prochainement j'envisage de mettre en place un patreon ou quelque chose dans ce style, je pense que ça sera mieux et plus officiel qu'un simple don PayPal, ça sera aussi peut-être un meilleur endroit pour communiquer sur mes projets :-)
avatar
Stef
Infirmier

Masculin Nombre de messages : 4610
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 30 Oct 2018 - 18:50

Dès que je serais en mesure de faire le don, je le ferais je vous le promets.

Je voudrais optimiser mon code pour le PAL et du coup j'ai besoin d'augmenter la vitesse, jusque-là pas de problème, mais quelle valeur utiliser ?

Quelqu'un à mesurer exactement la différence de vitesse entre le PAL et le NTSC ?

Si j'a un scrolling qui se met à jour à chaque frame, donc 1, faut-il passer ce nombre à 2 ?

Merci les lapins !
avatar
shingosama
Interne
Interne

Masculin Nombre de messages : 5146
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 Touko le Mar 30 Oct 2018 - 19:43

Non tu le laisses à la frame .
avatar
Touko
Docteur *
Docteur *

Masculin Nombre de messages : 13717
Age : 45
Localisation : LE MANS/MARSEILLE
Date d'inscription : 08/07/2010

Revenir en haut Aller en bas

Re: Sgdk - Sega Megadrive / Genesis Development Kit

Message par Hpman le Mar 30 Oct 2018 - 20:35

Faut tout multiplier par 1.2 si tu veux que le 50Hz aille à la même vitesse que le 60.

Hpman
Patient contaminé

Masculin Nombre de messages : 459
Age : 41
Localisation : Lille
Date d'inscription : 22/08/2014

Revenir en haut Aller en bas

Re: Sgdk - Sega Megadrive / Genesis Development Kit

Message par shingosama le Mar 30 Oct 2018 - 20:42

merci beaucoup :)
avatar
shingosama
Interne
Interne

Masculin Nombre de messages : 5146
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 Mar 30 Oct 2018 - 20:42

une règle de 3... wahou ^^

edit. désolé, ce soir, je suis en mode pseudo con.
avatar
ichigobankai
Patient incurable

Masculin Nombre de messages : 1583
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 StudioVetea le Mar 30 Oct 2018 - 20:55

💅
avatar
StudioVetea
Patient contaminé

Masculin Nombre de messages : 719
Age : 47
Localisation : Hérault
Date d'inscription : 10/09/2018

http://www.rolango.fr

Revenir en haut Aller en bas

Re: Sgdk - Sega Megadrive / Genesis Development Kit

Message par Zarnal le Mar 30 Oct 2018 - 20:56

20%
avatar
Zarnal
Patient incurable

Masculin Nombre de messages : 1515
Age : 44
Localisation : Tours
Date d'inscription : 27/06/2016

Revenir en haut Aller en bas

Re: Sgdk - Sega Megadrive / Genesis Development Kit

Message par fourchette le Mer 14 Nov 2018 - 21:33

Salut à tous.

J'ai un petit soucis avec l'arrêt de vgm avec XGM_stopPlay(), ça craque ou plutôt l'arrêt n'est pas très propre au niveau des canaux du PSG (du moins le SN4). Pas trop de soucis pour les canaux FM et PCM.

C'est assez gênant lors d'un sound test quand on mute par exemple ou lors d'un passage d'une musique à une autre...

Y aurait il une solution ou un contournement pour éviter cet effet ?

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 15 Nov 2018 - 10:31

C'est assez bizarre, normalement passer l'enveloppe à 0 est suffisant (ce que fait normalement le XGM_stopPlay()), est-ce que il y a une autre commande qui passe entre temps ? As tu essayé de faire un XGM_pausePlay() à la place voir si ça fait une différence ?
avatar
Stef
Infirmier

Masculin Nombre de messages : 4610
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 fourchette le Jeu 15 Nov 2018 - 19:00

ça semble plus propre avec la pause.

XGM_isPlaying renvoie quelle valeur quand la piste est en pause ?

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 Ven 16 Nov 2018 - 10:10

Il renvoie 0 (FALSE) normalement...
avatar
Stef
Infirmier

Masculin Nombre de messages : 4610
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 Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Page 13 sur 16 Précédent  1 ... 8 ... 12, 13, 14, 15, 16  Suivant

Revenir en haut


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