[Thomson] Emulateur TO8D pour tous systèmes d'exploitation
Modérateurs : Papy.G, fneck, Carl
[Thomson] Emulateur TO8D pour tous systèmes d'exploitation
DCTO8D version 2009.05 vient tout juste d'être diffusé à dcto8.free.fr
Logiciel libre, pour tous les systèmes d'exploitation compatibles avec SDL
Logiciel libre, pour tous les systèmes d'exploitation compatibles avec SDL
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
http://lazyfoo.net/SDL_tutorials/lesson01/mac/index.phpjvernet a écrit :Après, j'ai le même genre de soucis qu'avec le precedent (DCMO5): problèmes SDL...
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
Merci, c'est sympa, ça m'aide beaucoup. Mon environnement SDL pour MacOsX est depuis longtemps opérationnel, d'autres emulateurs que je porte ou build sur MacOsX fonctionnent très bien (Hatari, par exemple).
Les problèmes: messages SDL Error 31/Surfaces must not be locked during blit.
Apparaissent pendant que l'on manipule les ecrans de config, par exemple. Vraisemblablement parceque l'emulateur n'est pas en pause pendant ce temps là (ce qui lui fait faire un peu n'importe quoi, d'ailleurs).
La redefinition du clavier n'est pas parfaite. S'il reconnait bien toutes les touches du clavier du MB, il refuse d'assigner Shift à Shift, par exemple.
Retailler la taille de l'écran fait planter l'emulateur quelque part, de même que le plein ecran. Soit exactement les mêmes symptômes que pour dcmo5
Pourquoi mon post a disparu, tiens ?
Les problèmes: messages SDL Error 31/Surfaces must not be locked during blit.
Apparaissent pendant que l'on manipule les ecrans de config, par exemple. Vraisemblablement parceque l'emulateur n'est pas en pause pendant ce temps là (ce qui lui fait faire un peu n'importe quoi, d'ailleurs).
La redefinition du clavier n'est pas parfaite. S'il reconnait bien toutes les touches du clavier du MB, il refuse d'assigner Shift à Shift, par exemple.
Retailler la taille de l'écran fait planter l'emulateur quelque part, de même que le plein ecran. Soit exactement les mêmes symptômes que pour dcmo5
Pourquoi mon post a disparu, tiens ?
Dernière modification par jvernet le 20 mai 2009 15:29, modifié 2 fois.
- fneck
- Site Admin
- Messages : 17531
- Inscription : 01 avr. 2007 12:03
- Localisation : Drôme Provençale (26)
- Contact :
C'est pas dans ce topic que tu avais répondu la citation reprise par Daniel ci-dessus
Fabien https://www.system-cfg.com
Les bonnes pratiques de l'utilisateur du forum viewtopic.php?f=14&t=3
Les bonnes pratiques de l'utilisateur du forum viewtopic.php?f=14&t=3
Remarque, c'est normal que ça ne marche pas sur Mac . Y'a quelques trucs comme ça dans le code:
Quelques contournement de bugs windows ou SDL pour windows, et y'a pas de code alternatif .
Bon, ben, je sais ce qu'il me reste à essayer de faire. Peut être.
Code : Tout sélectionner
//Dans Windows, si une touche majuscule droite ou gauche est enfoncee
//l'evenement SDL_KEYDOWN n'est pas envoye par l'autre.
Bon, ben, je sais ce qu'il me reste à essayer de faire. Peut être.
- fneck
- Site Admin
- Messages : 17531
- Inscription : 01 avr. 2007 12:03
- Localisation : Drôme Provençale (26)
- Contact :
Il est là ton post, il n'a pas disparu il est dans un autre topicjvernet a écrit :??
http://forum.system-cfg.com/viewtopic.php?p=21704#21704
Fabien https://www.system-cfg.com
Les bonnes pratiques de l'utilisateur du forum viewtopic.php?f=14&t=3
Les bonnes pratiques de l'utilisateur du forum viewtopic.php?f=14&t=3
- fneck
- Site Admin
- Messages : 17531
- Inscription : 01 avr. 2007 12:03
- Localisation : Drôme Provençale (26)
- Contact :
Non je ne peux pas déplacer un message d'un topic dans un autre, du moins pas avec la console d'administration.
Je vais faire un essai, en touchant directement dans la base, résultat non garanti.
[edit] Yes ça marche
Je vais faire un essai, en touchant directement dans la base, résultat non garanti.
[edit] Yes ça marche
Fabien https://www.system-cfg.com
Les bonnes pratiques de l'utilisateur du forum viewtopic.php?f=14&t=3
Les bonnes pratiques de l'utilisateur du forum viewtopic.php?f=14&t=3
La distinction shift-droit/shift-gauche est un problème dans Windows, c'est pourquoi j'ai ajouté ce code. Dans d'autres systèmes, en particulier Linux, ce n'est pas nécessaire. Pour Mac je ne sais pas.jvernet a écrit :Quelques contournement de bugs windows ou SDL pour windows, et y'a pas de code alternatif .
Le code d'erreur 31 de SDL n'apparaît pas dans Windows ni dans Linux. Sur mac il faut probablement mettre lock/unlock autour de chaque blit. C'est peut-être l'indice d'une absence d'accélération matérielle sur Mac. Il me semble avoir déjà lu des commentaires sur ce sujet. Pour résumer je dirais que SDL fonctionne très bien dans Linux (je crois qu'il est développé sur cette plateforme), assez bien dans Windows car il y a beaucoup d'utilisateurs et ils font corriger les bugs, moins bien sur Mac car c'est une machine un peu confidentielle et mal connue des développeurs de SDL. Mais il doit y avoir des contournements à tous ces problèmes. S'il existe, comme pour Linux, une communauté passionnée et réactive, les solutions devraient pouvoir se trouver.
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.
Sous MacOsX, c'est bien detecté, et ton prog affiche bien Left Shift ou Right Shift, par contre le code affiché est 0x00 pour ces touches. Faut que je creuse la manière dont ce code est recupèrè, il me semble qu'il faut aller lire d'autres codes pour ces touches. Pour l'instant contourné avec les touches de fonctions.Daniel a écrit : La distinction shift-droit/shift-gauche est un problème dans Windows, c'est pourquoi j'ai ajouté ce code. Dans d'autres systèmes, en particulier Linux, ce n'est pas nécessaire. Pour Mac je ne sais pas.
SDL marche aussi pas trop mal sur Mac, mais effectivement ne profite de l'accélération materielle qu'en mode plein écran, la manière dont sont géré les buffers graphiques ne sont pas compatibles avec SDL (qui utilise une ancienne couche graphique, et pas la nouvelle, Quartz).Le code d'erreur 31 de SDL n'apparaît pas dans Windows ni dans Linux. Sur mac il faut probablement mettre lock/unlock autour de chaque blit. C'est peut-être l'indice d'une absence d'accélération matérielle sur Mac. Il me semble avoir déjà lu des commentaires sur ce sujet.
Oui. J'ai enlevé les SDL_error(31) et 32, je relance SDL_BlitSurface(dialogbox, NULL, screen, &dialogrect) jusqu'à ce qu'il retourne un code>0. Et ça marche. Le problème apparent est sans doute qu'il se passe des trucs en dessous de l'interface (rafraichissement de l'écran emulé).Mais il doit y avoir des contournements à tous ces problèmes.
Le dernier truc, le problème sur la taille de l'écran est plus compliqué. Ca se passe dans une de tes fonctions, sur la recopie du buffer vidéo vers SDL. Ca plante dans ResizeScreen, sur l'appel à la fonction SDL_SetVideoMode.
J'ai repris dcmo5, dcto9 et dcto8D en ajoutant mes quelques hacks sur sdl_error, legerment changé le VIDEOMODE en l'adaptant plus au hard du MacBook, et ça marche, sauf le retaillage de l'écran, qui ne plante plus mais n'affiche pas correctement (on relance l'émulo et c'est bon). Si tu veux qu eje mette ça dispo quelque part et que je passe le mot sur le forum emulation Mac...
Il faudrait regarder si tu peux utiliser OpenGL pour l'affichage, c'est beauucoup plus rapide, sur Mac, en tout cas.
Jerome
Il faudrait regarder si tu peux utiliser OpenGL pour l'affichage, c'est beauucoup plus rapide, sur Mac, en tout cas.
Jerome
C'est une excellente nouvelle, car c'est la première fois qu'un de mes programmes fonctionne sur Mac. Il faut dire que je n'ai jamais vu un mac de ma vie Mais inutile de faire de la publicité pour des programmes qui ne fonctionnent pas parfaitement. J'ai peur que sans accélération matérielle l'utilisation du processeur soit très élevée. Normalement dans Windows ou Linux, je tourne aux alentours de 5% de CPU avec un pentium 4. J'ai fait, il y a quelques années, des versions OpenGL avec l'interface utilisateur AntTweakBar. Mais j'ai eu trop de problèmes d'incompatibilité, ce qui m'a fait abandonner définitivement OpenGL.
Merci pour les tests, dans la prochaine version j'ajouterai l'îcône Mac OS X à la suite de Linux et Windows dans la liste des systèmes compatibles. Si tu peux me faire un petit screenshot de dcto8d sur Mac (dans le style de celui de ma page d'accueil) je l'ajouterai aussi en citant l'auteur.
Merci pour les tests, dans la prochaine version j'ajouterai l'îcône Mac OS X à la suite de Linux et Windows dans la liste des systèmes compatibles. Si tu peux me faire un petit screenshot de dcto8d sur Mac (dans le style de celui de ma page d'accueil) je l'ajouterai aussi en citant l'auteur.
Daniel
L'obstacle augmente mon ardeur.
L'obstacle augmente mon ardeur.