Attract Mode & MAME pour jeux Amstrad CPC dans une MameCab

Translate with gogole

Ce tuto a initialement été posté sur le forum de CPC Rulez !

Je vais décrire ici un cas concret pour utiliser Attract Mode en front end pour lancer des jeux Amstrad CPC 6128 sur Windows (testé sur 7 et 10 en 64 bits). Mon but est de rajouter, à ma Mame Cab (2 joueurs de 3 boutons), une section Amstrad. Mon cas est très précis et ne s’applique sans doute qu’à ma situation mais ceci pourra peut-être aider d’autres.


Préparation des programmes

Il existe énormément de très bon émulateurs CPC WinApe, CPCe, PC-CPC, SugarBox, Caprice, …
mais j’ai choisis MAME.

Mon choix a été guidé par :

  • La ligne de commande permet de faire beaucoup, y compris le lancement de jeux
  • Il permet une configuration clavier/émulateur par jeu
  • En plein écran, il permet des résolutions natives (en 15khz avec Groovy Mame)
  • Il ne fonctionne pas si mal en mode CPC 6128 et jeux basiques
Par contre :
  • Son émulation reste basique (pas de +, ni trop de subtilités)




Concernant Attract Mode, c’est un front end que j’utilise depuis plusieurs années et je l’aime bien, notamment à cause de la facilité pour créer des thèmes … C’est donc un choix purement personnel !


La première chose à faire est de télécharger l’ensemble de ce dont on a besoin :


On va créer des répertoires pour accueillir tout ça : un répertoire Tuto qui contient deux sous répertoires Amstrad et Attract Mode


On va décompresser dans son répertoires Attract Mode puis Mame dans AMSTRAD.
Enfin, pour que MAME puisse fonctionner, il faut aller chercher les roms du CPC6128 et les y coller.


Paramétrage d’Attract Mode

Dans le sous répertoire Attract Mode/Emulators, copier-coller le fichier mame.cfg et renommez le en amstrad.cfg

Puis éditez-le :

Voilà les éditions que je vous propose :

  • Commençons par l’accessoires : nous commençons par rediriger les répertoires des artworks vers notre répertoire Amstrad.
  • En remontant, on va aussi changer le nom du système et préciser que les extensions des disques Amstrad sont bien .dsk :
  • Ensuite, on va préciser le chemin de l’exécutable de Mame dédié à l’Amstrad :
  • Puis des fichiers dsk :
  • Il ne nous reste donc plus qu’à préciser celui des arguments :


Ça se complique un peu donc voici un peu d’explications :

  • cpc6128 : indique à MAME qu’on emule un Amstrad CPC 6128
  • -flop1 "dsk\[name].dsk" : permet de dire à MAME que le 1er disque est dans le lecteur 1. On utilise le nom du jeu pour qu’il trouve le bon disque.
  • -ui_active : cet argument dit à MAME que nous ne souhaitons pas le clavier naturel du CPC mais un clavier emulé (qui permet de reconfigurer les touches)
  • -autoboot_command "run\"[name]\n" : celui-ci indique à MAME de lancer automatiquement la commande de run en se basant sur le nom du disque
  • -autoboot_delay 2 : on ajoute un petit délai pour que MAME attente l’initialisation avant de lancer la commande précédente.
  • -cfg_directory "cfg\[name]" : indique à MAME d’utiliser un répertoire de configuration spécifique situé dans un répertoire spécifique du nom du jeu. L’astuce est là car on va lui forcer, grâce au sous répertoire à avoir des configurations différentes par jeu (mappage du clavier notamment).

L’étape suivante sera de définir la liste des jeux. Attract Mode gère ceci à base de romlists.
Lancer Attract Mode et choisir sa langue puis aller dans émulateur, sélectionnez Amstrad puis « Générer la liste des roms ».
Un fichier Amstrad.Txt vient d’être crée dans le (nouveau) répertoire « romlists ».
Les jeux seront dans ce fichier (mais on verra comment les ajouter après.


Préparation des jeux

Ensuite, nous allons choisir un jeu et aller le chercher. Pour ce doc, on prend Chuckie Egg ( http://cpcrulez.fr/GamesTest/chuckie_egg_1.htm).
Il est important que le disc soit le plus clean possible … c’est-à-dire un crack propre en mode fichier, idéalement sans trainer et, dans mon ça, quelque chose qui s’adapte aux jeux avec des boutons.
Dans le répertoire Amstrad, on va créer un sous répertoire dsk et on glisse le dsk dedans (le hfe ne nous sert à rien ici).

On va ensuite le renommer avec un nom court (moins de 8 caractères standards) : chkiegg.dsk

Pour terminer, nous allons nous assurer que, pour lancer le jeu, la commande soit la même que le nom du disque.

En pratique, le disque s’appelle chkiegg.dsk : il nous faudra donc lancer le jeu par :



Pour ça, utiliser WinApe, charger le disc puis éditer le. Renommer alors le fichier avec le bon nom :

Devient :


On le teste et on se rend compte que le jeu a un trainer. On le supprime en chargeant le basic chkiegg.bas, le listant

et éditant la ligne 40 avec un goto 130 entre le Call &A400 et le LOCATE :


Un petit hors sujet et c’est là que je me dis que c’est la croix et la bannière pour trouver des jeux avec des cracks clean et sans trainer : bref un jeu simplement le plus accessible possible..



Notre jeu est maintenant prêt et au bon endroit.

Il faut donc l’ajouter au fichier Amstrad.txt de tout à l’heure, qui liste les jeux.

Editer ce fichier puis rajouter les 3 premières colonnes comme suit :


La 1ere est le nom du dsk et du fichier à lancer sur le disque Amstrad (qui je rappelle doivent être identiques).
La 2eme colonne (séparé par ; ) est le nom du jeu propre et la 3eme amstrad (nom de l’émulateur dans Attract Mode)
Compléter avec des ; (il en faut 14)

Lancer Attract Mode et après la video de présentation, le jeu doit s’afficher


Un clic sur entrer ou control va lancer le jeu … et là, surprise, ça doit fonctionner !!!
Mais ce n’est pas fini car on n’a pas mappé les touches pour (dans mon cas) la manette et les boutons de la borne.
Une fois le jeu lancé dans MAME, appuyer sur TAB pour afficher le menu (on peut faire ceci grâce à l’option -ui_active de la ligne de commande tout à l’heure).
Aller dans Input (This Machine) et l’interface de mappage s’affiche.

Pour Chuckie Egg, les touches sont :
  • Z pour le haut
  • A pour le bas
  • , pour la gauche
  • . pour la droite
  • ESPACE pour sauter (Control pour moi, le 1er bouton)
  • S pour commencer (Alt pour moi, le2eme bouton)
Il est à noter que le jeu demande aussi le nombre de joueurs : j’ai donc laissé 1 et 2 mappé tel quel pour les boutons 1 joueur et 2 joueur de ma borne).
Enfin le jeu demande de taper son nom au clavier et de le valider par ENTREE. J’ai donc mappé mon 3eme bouton (ESPACE) sur entrée.