Emulateur Thom to7/70 version Linux

Couvre tous les domaines de l'émulation logicielle ou de la virtualisation ainsi que les discussions sur les divers outils associés.

Modérateurs : Papy.G, fneck, Carl

Zaxxon
Messages : 402
Inscription : 22 mai 2013 01:10
Localisation : Paris / Eure

Emulateur Thom to7/70 version Linux

Message par Zaxxon »

Bonsoir,

Je ne sais pas si il est encore beaucoup utilisé (d'autant plus que dcmoto fonctionne sous linux très bien via wine), mais j'ai remarqué que l'émulateur thom ne se compilait plus avec les dernières versions de gcc (Même en compilant en mode c99).

Par ailleurs avec l'arrivée de Pulse audio, il ne peut (une fois modifié pour se compiler) donc émettre de son. Une des solutions est de passer via une commande padsp, qui redirige /dev/dsp vers pulse avec malheureusement un décalage (de plusieurs secondes).

J'ai donc modifié les sources pour qu'il puisse se compiler, et ajouté le support de pulse audio en natif dans le code.

Je mettrais récemment les sources modifiées sur sourceforge pour ceux qui voudraient en profiter (Même si le programme est en licence GPL, j'ai demandé l'accord à l'auteur).

Je compte m'attaquer aussi à la partie graphique (reposant sur X11) en la portant sur la SDL2 (plus portable et indépendant).
Note : pour la version windows, je n'y est pas touché.

bonne soirée,
Thomas
Thomas,
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Emulateur Thom to7/70 version Linux

Message par __sam__ »

C'est cool 8) Normalement EmuTO7/FunzzyTO7 compilait aussi sous unix: http://www.sylvain-huet.com/hacks/, mais la retro-compatibilité dans le monde Linux est une grosse illusion...
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Avatar de l’utilisateur
jb_jb_fr
Messages : 391
Inscription : 29 mars 2010 10:36
Localisation : Essonne (91)
Contact :

Re: Emulateur Thom to7/70 version Linux

Message par jb_jb_fr »

Cool

Ca peut m'interesser.
J'ai en effet adapté le code de FoolDuplex qui avait ecrit : XEmul5 et qui tournait sous Unix.
Il emulait seulement le MO5.

Je l'ai modifié pour émuler le MO5, MO5NR, MO6, TO9+, TO7

Mais le défaut c'est que le son ne marche pas du tout :(
Donc je suis fortement interessé pour avoir la gestion du son. :-)

Jacques
Zaxxon
Messages : 402
Inscription : 22 mai 2013 01:10
Localisation : Paris / Eure

Re: Emulateur Thom to7/70 version Linux

Message par Zaxxon »

Bonjour,

Je vais m'occuper de mettre bientôt donc la version modifiée qui tourne sur SourceForge :)

J'ai conservé la gestion /dev/DSP, je me demande si il y a encore des linux l'utilisant. Dans le code maintenant il essaie d'initialiser pulse, sinon /dev/DSP.

__sam__ : entièrement d'accord. Le problème des distributions linux et des mises à jour ce sont les logiciels tiers. Les librairies et compilateurs évoluent, et en conséquence ces derniers devraient être modifiés.

J'ai plusieurs vieilleries qui ne compilent plus :(

Jb_jb_fr :pour ton XEmul5, tu peux essayer avec padsp, ça redirigera le son vers pulse. Usage "padsp chemindelexe/exe". Par contre, sur fedora64, j'ai de gros décalages :/ . tu pourras réutiliser le code (très simple) de pulse audio dans Thom :)

Je viens de me rendre compte que j'avais aussi dcmo5 de Daniel qui maintenant posait soucis à la compilation.
J'avais du modifier les sources car conflit X11/sdl , mais là il ne compile plus.

Les joies de linux..
Thomas,
Zaxxon
Messages : 402
Inscription : 22 mai 2013 01:10
Localisation : Paris / Eure

Re: Emulateur Thom to7/70 version Linux

Message par Zaxxon »

Bonjour,

Avec un peu de retard (je suis débordé ces temps ci...), j'ai mis sur sourceforge la version modifiée de Thom pour linux (Version windows non testée ou modifiée).

Si quelqu'un souhaite tester je donne le lien en bas de ce message (Pour l'instant une archive tar.gz, postée vite fait), je mettrais à jour la page sourceforge dès que j'aurais un peu de temps :)

Les modifications effectuées :
- Modification du Makefile
- Modification des sources afin de pouvoir compiler (Thom ne se compilait plus)
- Suppression /dev/dsp pour le son, et implementation de Pulse audio (Api Simple pulse des package de développement Pulse).

Pour le compiler, suivant votre distribution, vous aurez besoin des paquets (noms des paquets pouvant varier selon votre distrib):
X11, gtk2 devel, pulse devel.

Taper make et voilà (copier les roms du to7/70 dans la racine si elles n'y sont pas).

Il y a quelques bugs repérés (et d'autres non repérés certainement)sur lequel il faudrait que je me penche :

Pulse audio : Si vous jouez de la musique avec pulse Audio, il se peut que l'utilisation de Thom la dégrade. C'est ce qui se passe chez moi, peut être que Pulse supporte mal plusieurs fréquences différentes (?! je ne connais pas bien pulse...)

Un bug vidéo remarqué sur le jeu "Classiques volume 1" lors du défilement des drapeaux. Une espèce de Tearing (déchirement) de ces derniers lorsqu'ils défilent (aucun impact sur les jeux par contre). N'ayant pas touché à la vidéo , j'ignore si c'était déjà le cas avant.

Pour le tester :
https://sourceforge.net/projects/thom/

Bon après midi à vous
Thomas,
nhoud
Messages : 4
Inscription : 07 oct. 2016 11:57

Re: Emulateur Thom to7/70 version Linux

Message par nhoud »

Bonjour,

j'ai vu ce post en cherchant des infos sur ce bon vieux TO7/70, (en fait je me demande si il n'y a pas des jeux introuvable en ligne dans les brocantes du coin), et je me suis dit :

"bien ! quelqu'un qui fait l'effort de rendre re-compilable un vieil emulateur"

comme mon dada c'est de "débianiser" autant que possible des sources linux qui m'interressent, pour les rendre un peu plus facile d'installation et les rendre d'une certaine façon plus perenne, (j'en met a disposition) je me suis dit que j'allais essayer pour thom

Si je poste ici, en fait, c'est pour signaler un problème dans la mise a jour.

En fait, les sources ne compilent pas sur un linux moderne.
Elles ont besoin de GTK 1.2, qui est obsolète.

J'ai bien tenté de mettre a jour en GTK 2.0 (qui le sera bientôt), cela compile, mais j'obtiens au lancement, une erreur de segmentation. (Il faut dire que j'essaye d'avoir un binaire 64 bit, peut-être que c'est la aussi que cela pêche.)
je ne suis pas allé plus loin pour le moment, mais le debbuger m'indique que c'est bien gtk a l'init qui plante.

il n’empêche que le source n'est pas adapté a GTK2.0, et que contrairement a ce que Zaxxon indique, il n'est pas modernisé sur ce point là. Je pense que c'est involontaire, bien évidemment, et qu'il dispose de GTK1.2 sur son poste et ne s'est pas aperçu que cela l'utilisait.

une des solutions les plus simple serait de fournir une installation avec toute les "dll" necessaires. Mais les packages flatpack et snap sont un peu trop récent pour le moment, et donc peu répandu chez les utilisateur et les packageurs.
Zaxxon
Messages : 402
Inscription : 22 mai 2013 01:10
Localisation : Paris / Eure

Re: Emulateur Thom to7/70 version Linux

Message par Zaxxon »

Bonsoir nhoud,

Merci du retour sur Debian.
En fait, les sources ne compilent pas sur un linux moderne.Elles ont besoin de GTK 1.2, qui est obsolète.
Il est vrai qu'elles reposent sur gtk 1.2, qui maintenant est obsolète, mais toujours disponible. Cependant, je te rassure elles se compilent sur un linux récent (que ce soit en 32 ou 64 bits), du moment que l'on a installé les librairies gtk 1.2.

Beaucoup de programmes tournent encore sur gtk 1.2, et beaucoup ne seront jamais portées sur gtk2. Porter l'application sur gtk2, demanderait une réccriture plus importante du code (enfin tout est relatif), à l'instar de la sdl et de la sdl2.

Je tourne sur Fedora 24 (64 bits) et 23, et je n'ai pas de soucis particulier, dans la mesure ou les différentes versions des librairies gtk sont présentes. Je n'ai plus de Debian (a part les dérivées Armbian et raspbian, mais que je n'ai pas avec moi ce soir), mais il devrait y avoir un paquet libgtk1.2-dev ou libgtk1.2-devel? Je vérifierais à l'occasion, mais cela m'étonnerait que Debian ait supprimé cette librairie nécessaire encore à certaines applications.

Tiens moi au courant, si tu ne trouves pas la lib, je pourrais regarder ce week-end sur Debian.

Bonne soirée,
Thomas,
Avatar de l’utilisateur
jice
Messages : 213
Inscription : 21 avr. 2014 15:08
Localisation : Madrid

Re: Emulateur Thom to7/70 version Linux

Message par jice »

Rhaa je voulais le tester sur Mageia (ma distribution ppale) mais ils ne fournissent pas GTK+1.2; du coup j'ai voulu le compiler, mais il faut GLIB. On verra si je me motive :p
MO5 - MO5 Platini - TO7 - TO7/70 - TO8 - TO9+
Avatar de l’utilisateur
jice
Messages : 213
Inscription : 21 avr. 2014 15:08
Localisation : Madrid

Re: Emulateur Thom to7/70 version Linux

Message par jice »

pour le moment, après installation des packages x86_64 de gtk+1.2 et glib-1.2.10 de fedora, je bloque là :

[fred@localhost thom]$ ./thom

Gtk-WARNING **: Failed to load module "libcanberra-gtk-module.so": libcanberra-gtk-module.so: Ne peut ouvrir le fichier d'objet partagé: Aucun fichier ou dossier de ce type
/usr/share/themes/oxygen-gtk/gtk-2.0/gtkrc:29: error: unexpected identifier `GtkPaned', expected character `}'
/home/fred/.kde4/share/config/gtkrc:10: error: unexpected identifier `gtk-theme-name', expected keyword - e.g. `style'
Voici Thom 1.6 (Linux/X11) l'émulateur Thomson TO7-70.
Copyright (C) 1996 Sylvain Huet, 1999-2003 Eric Botcazou.

Touches: [ESC] Panneau de contrôle

Initialisation de l'émulateur...ok
Création de la fenêtre principale...ok
Instruction non permise
MO5 - MO5 Platini - TO7 - TO7/70 - TO8 - TO9+
nhoud
Messages : 4
Inscription : 07 oct. 2016 11:57

Re: Emulateur Thom to7/70 version Linux

Message par nhoud »

Pour debian, gtk+1.2 a été enlevé de debian en 2009, et le dernier package date de 2007

https://tracker.debian.org/pkg/gtk+1.2

on ne le trouve même pas dans wheezy, ca me parait quand même assez chaud de mettre a jour un package qui a prêt de 10 ans.
bon, cependant, j'ai trouvé un ppa un peu plus recent, dans lequel on trouve un gtk1.2

https://launchpad.net/~gabriel1984sibiu ... /aplicatii

le gap est du coup moins important, je vais voir dans la soirée si en reprenant son package source, c'est recompilable pour du ubuntu 16, voir du debian 9
Avatar de l’utilisateur
petitjd
Messages : 2007
Inscription : 23 oct. 2007 11:50

Re: Emulateur Thom to7/70 version Linux

Message par petitjd »

Sinon sur un Linux moderne, on virtualise un ancien linux qui a gtk 1.2 sous virtualbox et c'est ok.
On peu même pousser le vice à faire du X11 forwarding entre la VM et la machine hôte ou un Windows :mrgreen:
PetitJD
Tortue Jeulin: www.tortue-jeulin.com
Nanoreseau: www.nanoreseau.net
Proteus III: www.proteus-international.fr
Avatar de l’utilisateur
jice
Messages : 213
Inscription : 21 avr. 2014 15:08
Localisation : Madrid

Re: Emulateur Thom to7/70 version Linux

Message par jice »

__sam__ a écrit :C'est cool 8) Normalement EmuTO7/FunzzyTO7 compilait aussi sous unix: http://www.sylvain-huet.com/hacks/, mais la retro-compatibilité dans le monde Linux est une grosse illusion...
Je viens de le compiler. Comme il n'utilise aucune bibliothèque (à part la standard et bas niveau Xlib) il fonctionne du premier coup :)
(juste un problème pour la gestion du clavier, ça va trop vite pour lui 20 ans après - la version date de 1996! - et les touches se répètent.)
MO5 - MO5 Platini - TO7 - TO7/70 - TO8 - TO9+
roadwolf
Messages : 171
Inscription : 25 déc. 2013 18:37
Localisation : SUD 77

Re: Emulateur Thom to7/70 version Linux

Message par roadwolf »

Voici un capture d'écran de thom téléchargé de http://nostalgies.thomsonistes.org/thom_home.html tournant sur ubuntu 12.04 LTS
thom_ubuntu12.04.png
thom_ubuntu12.04.png (296.47 Kio) Consulté 7219 fois
Voici la sortie des messages du terminal :

Voici Thom 1.5.5 (Linux/X11) l'émulateur Thomson TO7-70.
Copyright (C) 1996 Sylvain Huet, 1999-2003 Eric Botcazou.

Touches: [ESC] Panneau de contrôle

Initialisation de l'émulateur...ok
Création de la fenêtre principale...ok
Initialisation de l'interface...ok
Extension MIT-SHM utilisée.
Initialisation du son.../dev/dsp: No such file or directory
Lancement de l'émulation...

le problème de/dev/dsp est donc toujours présent

J'ai tenté la méthode du chroot que je n'avais jamais essayé avant.
Pour ne pas encombrer ma machine de bureau sous ubuntu 16.04, j'ai utilisé une machine virtuelle que j'avais déjà en ubuntu 12.04 sur laquelle j'ai installé un debian woody minimaliste en chroot.

En faisant un export display, on affiche le programme exécuté dans la debian sur le bureau de l'ubuntu, il n'y a pas de logiciel de virtualisation (comme virtualbox) qui intervient.
Avatar de l’utilisateur
jice
Messages : 213
Inscription : 21 avr. 2014 15:08
Localisation : Madrid

Re: Emulateur Thom to7/70 version Linux

Message par jice »

thom 1.5 (le binaire du site http://nostalgies.thomsonistes.org/thom_home.html) tourne bien ici sur Mageia 5 avec les paquets de glib et gtk+-1.2 de fedora 24. En effet le son ne fonctionne pas, même avec padsp.

@roadwolf: ce n'est pas cette version qui a été modifiée pour fonctionner avec pulse audio par Zaxxon, il a donné le lien plus haut vers sa version (https://sourceforge.net/projects/thom/).
MO5 - MO5 Platini - TO7 - TO7/70 - TO8 - TO9+
Avatar de l’utilisateur
jice
Messages : 213
Inscription : 21 avr. 2014 15:08
Localisation : Madrid

Re: Emulateur Thom to7/70 version Linux

Message par jice »

Emporté dans mon élan j'ai compilé xmo5 (https://www.ele.uva.es/~jesus/xmo5.html), et il fonctionne parfaitement (la dernière version date de 2003). Il n'utilise que X11 également. Il faut le lancer avec padsp (padsp ./xmo5).
J'ai juste dû modifier misc.c car la chaîne de caractère de l'aide en ligne (F1) ne compile pas : ajouter "\n\" à la fin de chaque ligne de la chaîne dans print_help() - ci-joint misc.c.
xmo5.png
xmo5.png (72.78 Kio) Consulté 7200 fois
Pièces jointes
misc.c
(546 octets) Téléchargé 58 fois
MO5 - MO5 Platini - TO7 - TO7/70 - TO8 - TO9+
Répondre