Installer UAE4ARM (Emulateur Amiga) en 1 Click !!
-
J'avais effectivement posté un petit script qui pouvait prendre en paramètre soit un fichier ADF ou un HDF. Le script se chargeant de créer un fichier de config adapté. Mais la solution d'Ironic me semble bien pertinante et proche de l'idée ReclaBox/EmulationStation. Seul hic, on perds le côté instantané du copier-colé d'une rom ou d'un folder. La solution pourrait peut-être résider dans un script qui prend un fichier de config spécifique à un jeu ou , s'il n'est pas présent, le fichier de config par défaut (réglé sur un A500 ou A1200). Si j'ai un peu de temps, j'essaierais de m'y coller. L'idéal serait qu'emulationstation puisse lancer une commande lorsque l'on sélectionne un folder et qu'il ne cherche pas à l'ouvrir. Cela permettrait d'appliquer facilement ma proposition.
-
Oui et c'est vrai que le côté 100÷ instantané avec les ordinateurs comme l'Amiga on n'y arrivera pas de toute façon...
-
J'avais vu ton script, du bon boulot. En même temps, pour trouver la bonne config uae4arm, il faut faire pas mal d'essais et de tests et deviner déterminer build utiliser de Uae4Arm. Mais comme le dis Voljega, avoir une seule config pour émuler correctement l'ensemble des jeux/démos sur A500 & A1200, c'est très difficile (impossible en fait). Moi et Voljega, on propose une base de données de jeux Amiga 500 (et après 1200) testés avec différents paramètres. - Une config de base (mais puissante) est utilisée pour ceux qui veulent utiliser Tiny Launcher. et - Une config par jeux est attribuée pour émuler au mieux le jeu. (Certains jeux/demos necessitent de baisser le CPU, de passer le blitter a immediate ...).
Seul hic, on perds le côté instantané du copier-coler d’une rom ou d’un folder.
Ça dépends de quoi tu parles, ça dépend de la source du jeu. Pour ajouter un jeux, si le dossier du jeux est déjà préparé (sinon, c'est 30 secondes de taf maxi). Il me suffit de copier dans /roms/amiga, par exemple pour Apypia : - Apidya (le dossier du jeu) - Apidya.uae (La config optimisée uae a lancer avec le jeu) -> EmulationStation recherche : (uniquement) les .uae et les affichent dans la liste. -> Emulatorlauncher.sh se charge de : (Bon, j'ai passé outre Configgen mais ya surement un truc a faire avec) if [[ "$emulator" == "amiga" ]]; then cd /emulateurs/amiga/uae4arm/ (Si je retire cette ligne, je revient sous ES en appuyant sur la touche Ctrl Gauche/Menu Uae4Arm). /recalbox/scripts/runcommand.sh 7 "/emulateurs/amiga/uae4arm/uae4arm -f /recalbox/share/roms/amiga/$filename" fi On peux modifier ça pour prendre un uaeconf.uae (config de base, la plus commune, celle utilisée sous Tiny Launcher, si le .uae du jeu n'est pas présent.). Très bonne idée ça !!
L’idéal serait qu’EmulationStation puisse lancer une commande lorsque l’on sélectionne un folder et qu’il ne cherche pas à l’ouvrir. Cela permettrait d’appliquer facilement ma proposition.
Je sais pas si c'est possible (Je connais pas bien ES, mais ce serait une solution) - Si on rajoute un If Not Exist... Apidya.uae... a ma solution dans Emulatorlauncher.sh, ça fera exactement ça.Quoi que, on verrait pas le nom du jeux. - Faudrait autoriser ES a afficher les .uae et les (par exemple, un fichier vide portant le nom du jeu) .base. Si l'extension est un .uae, lancement d'Uae4Arm avec la config existante, si l'extenstion est un .base, il lance Uae4Arm avec uaeconf.uae. Mince, le chemin du dossier a booter dessus est dans le .uae (Ah mais c'est la que ton script peut créer un .uae pour le jeu...) Bon, y a matière a faire quelque chose de pas mal... Faut déjà voir que qui est prévu pour la 4.0.0, je sais pas qui s'occupe de l’émulation Amiga ici.
-
Quand je parlais du côté instantané, c'était, pour les fichier disquette ou les folder WHDLoad, facilement trouvable et généralement sous le même "format". Je dirais plutôt un côté "ready-to-use". Dans le même ordre d'idée, quelques pistes: - Recalbox permet l'execution de script au démarrage. Pourquoi ne pas en profiter pour faire une indexation et générer les. uae pour les nouveaux folder, .hdf et .adf? Reste à les modifier si la config n'est pas bonne. - Tester la notion d'alias sur un folder. EmulationStation ne parcourerais pas le folder mais lancerais une commande avec le nom du folder comme paramètre (à dégrossir, je l'avoue)
-
Le folder a mon avis ça va pas marcher... Oui il faut pas oublier les adf aussi... Pas mal l'idée au démarrage mais pas génial pour la sd... Mieux vaut coder un truc pour windows qui le fera pour une liste de jeux et après on copie le tout sur le pi. Ce serait même facile de générer la conf a la volée a partir du excel passé en csv
-
Les idées fusent, c'est cool Je pensait que Uae4Arm serait pénible a intégrer a Recalbox mais avec toutes ces idées, on va surement trouver quelques choses de sympa pour les adf, hdf, whd... Un petit récapitulatif des jeux WHD : - C'est un dossier compressé qui ne contient que les fichiers du jeu et un driver (xxx.Slave) -Il faut utiliser également le bon Kickstart. -Les fichiers de WHDLoad (le programme WHDLoad) n'est pas inclus dans le jeu WHD. - Si l'on créé un dossier (comme je fais) contenant le jeux, le KS et WHDLoad, il faut créer/modifier le fichier texte 'Startup-Sequence'. C'est le script de démarrage au boot de la partition. Par exemple : 'WHDload CannonFodder.Slave Preload' Ça oblige donc (comme je l'ai déjà dis) d'avoir un KS et WHDLoad dans tous les dossiers de jeux. Pour transformer un jeu WHDLoad en Partition (dossier en fait) près a booter dessus, il faut : 1) Décompresser le jeux (.zip ou .lha) [Pour info, le LHA/LZX c'est le ZIP/RAR de l'Amiga] 2) Copier dans le dossier du jeu, 3 dossiers : 'C' 5 fichiers, 181Ko au total. (des fichiers de commande) 'Devs' 2 fichiers, 259Ko au total. (le Kickstart) 'S' 5 fichiers, moins de 3Ko au total. (WHDLoad et le Startup-Sequence ) 3) Modifier le fichier S/Startup-Sequence (fichier texte) pour ajouter/modifier le nom du .Slave 4) Modifier les 2 lignes de la fin du .uae associé au jeu, celui qui sera lancé par Uae4Arm.
_filesystem2=rw,DH0:WORKBENCH:$(FILE_PATH)/**Another_World_Fr**/,0_ _uaehf0=dir,rw,DH0:WORKBENCH:$(FILE_PATH)/**Another_World_Fr**/,0_
C'est pas si complexe que ça et ça va vite des lors qu'on a déjà un jeu de fait et qu'il n'y a plus qu'a faire du copier/coller. Sinon, pour éviter d’écrire sur la SD, on peut pas utiliser un RamDrive ? mount -t tmpfs -o size=32M tmpfs /media/montmpfs Après, on peut faire un script qui : - Créé un Ramdrive de 32Mo (par exemple). - décompresse et copie le dossier du jeu dedans - Copie également le KS, WHDLoad et le .uae (modifié ou pas par un script). - Lance le tout !! (MAIS, il y a toujours le probleme des quelques jeux qui sauvegardent sur la disquette...) Une solution approche... -
Le ramdrive semble parfait pour ce qu'on veut, effectivement le seul souci reste les saves qui nous empecheraient peut etre d'utiliser le zip du jeu et qui nous oblige donc à avoir ce répertoire... A voir si les 32 mo ne seraient pas trop lourd pour le pi avec tout le reste de chargé déjà ? (Mais je pense pas)
-
Pour les jeux Amiga, un petit Ram Drive suffit. Le plus gros jeux fait 15 disquettes (sans inclure les jeux hdd). 15*880ko = 13.2Mo (on va dire 15Mo voir 20Mo suffisent). Si je tape 'free' dans la console, j'ai en gros 512Mo de Ram dont 256Mo de libre. Si je passe le GPU a 256Mo au lieu de 512Mo ça me laisse 512Mo de libre. Je pense que c'est suffisant pour tout faire, non ? Quel est l'utilité d'avoir 512Mo de Ram dédié au GPU ??? Petit test : - Création du Ramdrive de 24Mo.
mount -t tmpfs -o size=24M tmpfs /ram
- Copie dans le RamDrive du jeux project X (3 disquettes). - Copie dans le RamDrive de WhdLoad, du KS, de Uae4Arm et du .uae - Lancement de UAe4arm (Le jeu se lance sans probleme) en ligne de commande. On passe de 467Mo de libre a 433Mo, soit environ 34Mo de Ram utilisé. (+ un peu plus de 6Mo dans le RamDrive). Bref, sans entrer dans les détails (inutile d’être précis a l'octet près), ça bouffe rien en mémoire, toute est possible. -
Génial !! Ben ça semble être parfait comme solution Par contre est ce nécessaire de copier uae4arm et le uae dans le ramdrive ? accessoirement le problème à régler est de faire l'association entre le uae et le répertoire et sur lequel des deux 'cliquer' dans le menu es... (sachant que le répertoire c'est surement pas possible pour ES) enfin il suffit d'avoir un uae du même nom que le répertoire j'suis bête
-
On fait se qu'on veut avec le RamDrive, pas obligé de copier Uae4Arm. Donc, il y a plein de possibilités, je vais proposer la mienne, qui est (a mes yeux) pas forcement la plus simple mais la plus efficace.
-
Donc, l'émulation Amiga ne sera pas intégrée a Recalbox 3.3.0 car la 4.0.0 est en route. Je vous propose donc d'intégrer l’émulateur UAE4ARM dans Recalbox. Ma solution utilise uae4arm v4 de Chips (on peut utiliser d'autres builds). Cette solution utilise uniquement les jeux préparés pour WHDLoad (jeux WHD). C'est a dire qu'il n'y a pas besoin de gérer les changements de disquettes, que les temps de chargement sont extrêmement réduits, qu'il n'y a pas d'intro pirate... Mais, tous les jeux n'existe,t pas dans ce format (Quoi que jusque maintenant, j'ai trouvé tout ce que je voulais). Objectif : - Pouvoir lancer directement chaque jeu/démo depuis EmulationStation. - Ne plus avoir à utiliser les changements de disquettes (peu de jeux sont compatible plus de 2 lecteurs de disquettes) et donc ne pas devoir régulièrement entrer dans le menu de Uae4Arm pour changer de disquette. - Avoir des temps de chargement très rapide. - Ne pas avoir d'intros Pirates (même si c'est une partie de l’âme de l'Amiga) et pas de trainers non plus.. Pour cela. Il faut utiliser un dossier par jeu, dans lequel il y aurait le jeu sous forme WHD ainsi que le programme WHDLoad lui même et bien sûr, le kickstart. La taille finale du jeu est un peu supérieur au jeu en .ADF mais le résultat vaut bien cette petite perte de place. Alors, est-ce que j'entre dans des explications poussées ou est-ce que je survole le sujet ? Je pense que quelque chose de simple, et a la porté de tous est plus important pour les utilisateurs de Recalbox. On commence par récupérer un jeu Amiga 500 préparé sous forme de jeux WHD. Pennons Jim Power. Après décompression, on peut trouver dans le dossier JimPower, les fichiers suivants : Disk.1 (L'image de la disquette 1 de Jim Power). Disk.2 (L'image de la disquette 2 de Jim Power). JimPower.info (L'icône du driver JimPower.Slave). JimPower.Slave (Le driver WHD du jeu JimPower). ReadMe (Le lisez-moi du jeu, avec un tas d'infos/solutions). ReadMe.info (L'icône du fichier lisez-moi). Les fichiers importants sont les 2 images de disquettes et le driver. Mais on va quand même tout garder. Maintenant que l'on a le jeu, il faut ajouter les fichiers WHDload ainsi que le script de lancement du jeu (le fichier s'appelle Startup-Sequence et est exécuté au boot). Les fichiers nécessaires de WHDload sont : Dans le dossier 'C' - DIC - Patcher - RawDIC - WHDLoad Dans les dossiers 'Devs/Kickstarts' - kick34005 - kick34005.A500.RTB Dans le dossier 'S' - Startup-Sequence - WHDLoad.prefs - WHDLoad-Cleanup - WHDLoad-Startup Au final, ça donne : C/ .DIC .Patcher .RawDIC .WHDLoad Devs/Kickstarts/ .kick34005 .kick34005.A500.RTB S/ .Startup-Sequence .WHDLoad.prefs .WHDLoad-Cleanup .WHDLoad-Startup Disk.1 Disk.2 JimPower.info JimPower.Slave ReadMe ReadMe.info Il ne reste plus qu'à modifier le Startup-Sequence. C'est un fichier texte sans extension. Il faut l'éditer avec un éditeur type Notepad++ Ce fichier doit contenir la ligne : WHDload JimPower.Slave Sans retour à la ligne, étrangement, j'ai un problème (sous Windows) à éditer le Startup-Sequance, même avec Notepad++. Si je fais un retour a la ligne, la ligne est mal interprétée par le CLI (Le Shell ou DOS de l'Amiga). Un fois ce dossier terminé, il faut le copier (le dossier sera nomé Jim_Power) dans le dossier amiga de roms Maintenant, il faut créer le fichier .uae associé au jeu. Le plus simple est d'en récupérer un et de le modifier. Il suffira de récupérer un de mes jeux préparé et vous aurez tout ce qu'il faut. le .uae doit s'appeler Jim Power.uae (C'est le nom qu'on vera apparaitre sous EmulationStation).Il faut éditer ce fichier et modifier les 2 dernières ligne comme ceci : filesystem2=rw,DH0:WORKBENCH:$(FILE_PATH)/Jim_Power/,0 uaehf0=dir,rw,DH0:WORKBENCH:$(FILE_PATH)/Jim_Power/,0 --[Tout ce que je viens de détailler est inutile si vous récupérez un jeu déjà préparé]-- Donc, dans le dossier Amiga du dossier roms, il y aura : - Le dossier du jeu : Jim_Power - Le fichier de config du jeu : Jim Power.uae Maintenant, il faut modifier quelques peu des scripts de EmulationStation et Recalbox. Modifiez le fichier : /root/.emulationstation/es_systems.cfg et modifier la partie Amiga : <system> <fullname>COMMODORE AMIGA</fullname> <name>amiga</name> <path>/recalbox/share/roms/amiga</path> <extension>.uae</extension> <command>/recalbox/scripts/emulatorlauncher.sh %ROM% "amiga"</command> <platform>amiga</platform> <theme>amiga</theme> </system> Modifiez le fichier : /recalbox/scripts/emulatorlauncher.sh et modifier la partie Amiga : if [[ "$emulator" == "amiga" ]]; then cd /emulateurs/amiga/uae4arm/ /recalbox/scripts/runcommand.sh 4 "/emulateurs/amiga/uae4arm/uae4arm -f /recalbox/share/roms/amiga/$filename" fi Lien du pack Uae4Arm Il ne faut donc pas oublier de : - Copier le dossier du jeu (ici Jim_Power mais ça peut être un autre jeu comme Apidya par exemple) dans le dossier /recalbox/share/roms/amiga/ - Copier le fichier de configuration (ici Jim Power.uae mais ca peut etre un autre jeu comme Apidya.uae par exemple) dans le dossier /recalbox/share/roms/amiga/ - Copier le dossier emulateurs a la racine de la SD. - Copier les fichiers du dossier LIBRARIES dans le dossier /usr/lib/ - Modifier le script es_systems.cfg comme expliqué au dessus.- Modifier le script emulatorlauncher.sh comme expliqué au dessus. Reste plus qu'a rebooter Recalbox et a profiter... CTRL est la touche pour afficher le menu uae4arm pour modifier des paramètres ou pour quitter. Pour Activer le mode 16/9, dans le menu eae4arm, section Miscelaneous, cochez : 4/3 ratio shrink. Je pense ne pas avoir dis ou fais de connerie, si vous avez des problèmes, n’hésitez pas a poser des questions. Je me permet de poster cette modification, même si je shunt toute la partie configgen. C'est juste pour les impatients, bidouilleurs et curieux de l'Amiga.
-
Coucou ! Sinon, sans vouloir faire de la pub pour une autre distribution (je n'échangerai surtout pas mon baril de recalbox), il y a une distribution dédié basé sur la distrib' Happy, au doux nom de Happiga Je ne l'ai pas testé mais, je me dis que c'est aussi l'intérêt d'un raspberry : on peut aussi changer de carte SD en fonction des besoins https://www.youtube.com/watch?v=t2V0Qed2Zwg En tout cas je suis très tenté! Bizou à tous les amigaïstes de la terre (et ils sont nombreux!)
-
Ouais, Happiga c'est pas mal pour celui qui veut pas mettre les mains dans le cambouis. Par contre, on boot directement sur un Workbench donc pas forcement utilise pour celui qui ne connait pas ou veut seulement jouer. Lancer les jeux d'un Tiny Laucher ou de EmulationStation c'est plus rapide, intuitif. Sinon, j'aime bien ce que fait erwan jestin, on voit qu'il maitrise le sujet. Et pas que l'Amiga !! 2 des 3 meilleurs distribs retro-gaming sont Frenchy, la classe.
-
@Ironic yes merci de la mise a jour vais tâter ça dans la journée ! Et sympa aussi ce Happiga mmmh vais me trouver une 2e SD hehe avoir un beau workbench 256 col avec les lucas installés sur le DD... Piouf ! Jvais faire des cycles de couleur sous DPaint
-
Tu peux avoir un Workbench (Appelé Scalos) en 800*600 en 65535 couleurs si tu veux. et même mieux. Pas besoin d'Happiga pour avoir un Workbench, ça fonctionne parfaitement depuis Recalbox/EmulationStation. Depuis EmulationStation tu peux lancer : - TinyLauncher - Plusieurs Workbench... - Les jeux/demos ADF - Les jeux/demos WHD - ... Deluxe Paint, j'ai passé une partie de ma jeunesse a poser du pixel...
-
Bon béh je m'y suis frotté today au sieur UAE4ARM, mais ce ne fut pas un succès... Après quelques tatonnements (car j'ai préféré ranger l'émulateur dans /usr/lib/emulators/UAE4ARM/ mais avais oublié de corriger le chemin partout) je pensais enfin y être maaaais au lancement d'Apidya fourni en exemple : écran noir ! A la console en tentant de stop emulationstation j'obtiens : [root@RECALBOX ~]# /etc/init.d/S31emulationstation: line 17: 961 Terminated HOME=/root LANG="en_US.UTF-8" SDL_VIDEO_GL_DRIVER=/usr/lib/libGLESv2.so SDL_NOMOUSE=1 /usr/bin/emulationstation ... Oups j'ai mal fait quelque chose ? EDIT: Ha oui aussi j'ai du - sûrement dû au transfert momentané sous windows - remettre le droit d'exécution a UAE4ARM ! J'avais un retour console : Permission denied
-
Oui c'est vrai, pour les droits d’exécution, ne pas oublier le chmod 755 sur uae4arm. Si t'as changé le chemin de uae4arm. (c'est pas utile, un dossier /emulateurs a la racine de la SD pour une distributions spéciale émulation, rien de choquant) Vérifie : - Le fichier adfdir.conf dans /usr/lib/emulators/UAE4ARM/conf/ (si c'est ton chemin).
path=/recalbox/share/roms/amiga/ config_path=/usr/lib/emulators/UAE4ARM/conf/ rom_path=/usr/lib/emulators/UAE4ARM/kickstarts/ ... ROMName=KS ROM v3.1 (A1200) rev 40.68 (512k) ROMPath=/usr/lib/emulators/UAE4ARM/kickstarts/kick31.rom
-
Le fichier emulatorlauncher.sh
if [[ "$emulator" == "amiga" ]]; then
cd /usr/lib/emulators/UAE4ARM/
/recalbox/scripts/runcommand.sh 7 "/usr/lib/emulators/UAE4ARM/uae4arm -f /recalbox/share/roms/amiga/$filename"
fi
Je sais que ma procédure n'est pas très claire et surtout ma mise en page chaotique n'aide pas à la compréhension mais c'est relativement simple une fois qu'on a compris le principe. Sur ce post, j'essaie de faire des efforts
-
-
Owight merci du retour je check ça tout vite ! En effet ça doit être le fichier de conf de UAE4ARM car je n'ai pas regardé dedans. Pour le script emulatorlauncher j'avais adapté. Et SI ta procédure est très claire no worry ! Merci pour la précision du chemin, j'avais juste vu le dossier existant emulators de la recalbox et m'étais dit : ma foi allons-y !
-
Bon bon bon... Je commence à croire que c'est pas qu'une histoire de chemins ! Toujours écran noir au lancement d'Apidya, aucun retour console spécialement, si je tente de stop emulationstation dans un terminal, toujours cette même erreur :
/etc/init.d/S31emulationstation: line 17: 1976 Terminated HOME=/root LANG="en_US.UTF-8" SDL_VIDEO_GL_DRIVER=/usr/lib/libGLESv2.so SDL_NOMOUSE=1 /usr/bin/emulationstation
-
Tu lances bien Apydia depuis EmulationStation ? Pas en ligne de commande ? Si tu lances uae4arm en ligne de commande et que depuis uae4arm, tu charges le Apydia.uae, ça fait quoi ? J'ai bien envie de faire un script "Installation en un click" pour tout configurer. Le souci, c'est que si quelqu'un a modifié certain scripts, ça va tout écraser. Faudrait que je fasse un backup des scripts et tout et blablabla...