Gamoover

[move]Vous aimez le couscous-boulettes, le chorizo, la Force 4, et la mimolette ? Alors soyez les bienvenus sur Gamoover ! [/move]

[WIP] Netboot guncab Naomi Confidential Mission

Démarré par f4brice, Jeudi 08 Octobre 2020, 22:06:37 PM

f4brice

Bonjour.

Voici un WIP inhabituel pour moi, puisqu'il concerne une borne Naomi, donc d'une génération très récente pour moi.
J'ai plus l'habitude des transistors et des circuits TTL, mais bon...

Je possède depuis octobre 2009 (purée, ça fait 11 ans !!!) une borne Naomi Confidential Mission.
C'est une borne de tir, et je possède trois jeux qui compatibles avec cette borne :

  • Confidential Mission (GD-ROM + security chip)
  • The Maze of the Kings (GD-ROM + security chip)
  • The House of the Dead 2 (ROM board + BIOS spécifique sur une mobo dédiée)

Le problème avec cette config, c'est que ça me gave grave de switcher entre les divers jeux.
Soit je dois changer le GD-ROM, qui est bien sûr totalement inaccessible, soit je dois débrancher la mobo Naomi pour rebrancher l'autre mobo avec son bios spécifique et sa ROM board HOTD2.
Dans tous les cas, ça me gonfle...

Ayant appris que HOTD2 était désormais compatible netboot, je me décide à basculer à 100% en netboot avec un Raspberry PI.
J'ai déjà le Raspberry PI (un vieux modèle 1B) + le petit LCD Adafruit que j'ai assemblé et jamais testé...
Le problème, c'est que nous sommes en 2020 et les netdimm sont devenues assez rares à trouver à un prix raisonnable.
Je me renseigne, je guette à droite et à gauche, je surveille...
Finalement, j'en trouve une sur eBay à Hong Kong (!) en achat immédiat. C'est la dernière et le vendeur semble avoir des retours très positifs...
Hop ! Go ! Je clique, je paye, et j'attends...

Environ 2 à 3 semaines plus tard, je trouve ça dans ma boîte à lettre :






Ayéééé, j'ai une netdimm 256 MB en firmware 4.02.  8)
Je sais qu'il existe des 512 MB, mais c'est inutile pour les jeux que je cible !

Je la teste sur ma borne :


Donc cette netdimm est OK. Ouf.
Je vais pouvoir continuer ce WIP !

À suivre : configuration du Raspberry PI

olschool

Winner's Don't Use Drug mais ça aide quand même pour finir Ghost & Goblins.



Citation de: ducatman1098 le Lundi 05 Novembre 2018, 22:45:37 PM
En rentrant le camion au garage,  je me suis aperçu que j avais récupérer une after burner  ;D

zebassprophet

hotd compatible netboot?

c'est vraiment cool ca :p

j'ai les roms qui trainent quelque part au besoin (surtout rythm tengoku  =:))

hell_onslaught

Citation de: zebassprophet le Vendredi 09 Octobre 2020, 01:32:13 AM
hotd compatible netboot?

c'est vraiment cool ca :p

j'ai les roms qui trainent quelque part au besoin (surtout rythm tengoku  =:))

A mon avis le HOTD2 ne doit pas être sans bug graphique
Rythm tengo elle est fifou la borne, j'espère quelle sera présente au HFS winter  8)

Iro

"Jet set 2, c'est avec Robert Garcia ?" Kaneda, Lapsus de sac Vol.1
Peter Shou Owner' Club

WIPs : Naomi - SEGA Rally - AB Cop - Lethal Enforcers - COMPUMI - Terminator 2 - Space Invaders - Artworks pour Boitiers K7 Naomi CF - Ma collec' de panels

LES TUTOS DE GAMO   

el_nino

Citation de: zebassprophet le Vendredi 09 Octobre 2020, 01:32:13 AM
hotd compatible netboot?

c'est vraiment cool ca :p

j'ai les roms qui trainent quelque part au besoin (surtout rythm tengoku  =:))

effectivement une nouvelle version d'hotd a été mise en ligne il y a qq mois sur arcade project je crois.
Le jeu semble fonctionné correctement désormais.
Mes blogs :
Vide grenier, Import, Arcade - http://doudougomgom.blogspot.fr/
Système Lindbergh : http://sega-lindbergh.blogspot.fr/
Système NAOMI : http://arcade-sega-naomi.blogspot.fr/

f4brice

Je vais faire l'essai détaillé, je vous dirai s'il fonctionne correctement.
Ce qui est sûr, c'est qu'il démarre en netboot avec un multi bios configuré en Export.

zebassprophet

ouf heuresement que quand ca coutait 60 balles, j'avais pas regardé a la depense  :D :?

ca se trouve des accessoires genre panel monkey ball ou gun hotd, ou y'a des hacks (gun2naomi notament)

f4brice

Bonjour.

Voilà, j'ai fait un peu à l'arrache une vidéo de The House of the Dead 2 lancé en netboot.

La config :

  • netdimm 4.02
  • multibios configuré Export
  • avant d'enregistrer la vidéo, j'ai calibré les 2 guns + activé le sang rouge (il est vert par défaut)
  • free play

Sélection du jeu sur le PI :


Chargement en cours :


Chargement réussi :


Démarrage du jeu :


Et voilà :


Notez que d'une main je tiens le téléphone, tandis que de l'autre main j'essaie de viser et de sulfater les vilains.
D'un œil j'essaie de maintenir le téléphone cadré, de l'autre œil j'essaie de viser...
S'pas facile, et les méchants m'ont bien esquinté la couenne !  ;D

À priori, je n'ai observé aucun bug graphique durant ce 1er niveau !  :-)=

flip28

Trop cool  ^-^

J'ai la meme borne que toi et une netdimm 4.02 qui traine. Je vais la tester de suite

Problème je n'ai jamais trop fourré le nez dedans mais je crois que c'est le moment 

Peux tu me dire la liste des jeux qui fonctionnent sur ton systeme et pourrais tu m'aiguiller pour la partie multibios et adafruit ?

f4brice

Bonsoir.

Il ne s'agit pas de "mon" système, mais d'un netboot + multibios que d'autres ont mis au point et je mets en œuvre !

Il y a 5 jeux qui fonctionnent sur une guncab Naomi Confidential Mission :

  • Confidential Mission (évidemment)
  • The Maze of the Kings (testé OK)
  • The House of the Dead 2 (testé OK)
  • Death Crimson OX (pas encore testé)
  • Lupin III: The Shooting (testé OK)

Ne fonctionne pas :

  • Ninja Assault (testé KO : nécessite une gun board différente)

Michel Maeva

Sauvegardons notre patrimoine arcade !!!
Président du Celtic Arcade Museum (Musée de l'arcade à Quimperlé (29))
https://www.facebook.com/CelticArcadeMuseum

f4brice

Bonsoir.

Voici la suite de ce WIP : la configuration du Raspberry PI !

Tout d'abord, il faut récupérer la dernière version de Raspberry PI OS là : lien.
Prendre la version "Lite", car il n'y a absolument aucun besoin de toute la partie graphique, bureau, etc...
C'est un zip qu'il fait extraire.

Pour copier le système d'exploitation sur la sd-card, c'est vraiment facile quand on utilise Linux (mais je reconnais que je ne suis pas du tout objectif) :

  • insérer la sd dans le PC, éventuellement avec un adaptateur USB
  • attendre 2 à 3 secondes
  • regarder quel device a été instancié pour la sd : dmesg | tail -15
  • confirmer l'info avec la liste des block devices : lsblk ; sur mon PC, il s'agit du device /dev/sdd
  • démonter toutes les partitions : sudo umount /dev/sdd?
  • copier le système d'exploitation sur la sd : sudo dd if=2020-08-20-raspios-buster-armhf-lite.img of=/dev/sdd bs=4M
  • attendre la fin de la copie
  • par sécurité, flusher le cache disque : sync

Si vous utilisez Zindoz, bah ma fois je n'ai sincèrement aucune idée de comment procéder !
Ça fait des années que j'ai banni ce système d'exploitation de mon foyer et je ne suis pas près de revenir en arrière !

Une fois le système d'exploitation copié sur la SD, je prépare le Raspberry PI.
J'ai assemblé la petite carte LCD 2 lignes de 16 caractères de chez AdaFruit, et je la connecte sur le Raspberry PI.
Il est maintenant temps de booter le Raspberry PI.
Je l'ai connecté via HDMI à la TV du salon, et j'ai utilisé un chargeur de téléphone portable pour apporter le +5V via la prise micro-USB.
J'ai également connecté un câble réseau Ethernet ainsi qu'un clavier USB. Pas besoin de souris.

Le Raspberry PI boote une 1ère fois et modifie la table de partitions pour s'étendre à 100% sur la carte sd.
Lors du 2e boot, il est prêt.

Je mets à jour le système d'exploitation :

  • login : pi, mot de passe : raspberry
  • mise à jour des dépôts logiciels : sudo apt update
  • mise à jour des paquets logiciels : sudo apt upgrade

Ensuite, comme l'afficheur LCD de chez AdaFruit utilise l'intrerface I2C et qu'elle est désactivée par défaut, il faut l'activer :

  • sudo raspi-config
  • aller dans "5 Interfacing Options"
  • activer le bus I2C
  • je ne suis pas sûr que ce soit nécessaire, mais j'ai redémarré

Une fois rebooté et re-loggué, il est possible de vérifier que le bus I2C est présent :

  • ls -al /dev/i2c*

Pour copier piforcetools, je fais la grosse faignasse :

  • installation de l'outil git : sudo apt install git
  • clonage du dépôt git de piforcetools : git clone https://github.com/travistyoj/piforcetools
  • abracadabra, j'obtiens une copie de piforcetools dans le répertoire piforcetools !

Le fichier "driver" Adafruit_I2C.py a besoin d'un module python nomé "smbus" qui n'est pas installé par défaut.
Il est très simple de l'installer avec pip :

  • installation de l'outil pip : sudo apt install python3-pip
  • installation du module python smbus : sudo pip3 install smbus

Ensuite, il y a quelques retouches à faire :

  • dans le fichier piforcetools.py :

    • vu que je n'ai qu'une seule Naomi, j'ai changé la ligne ips = ["192.168.1.2", "192.168.1.3", ..] pour ne conserver que la 1ère adresse IP : ips = ["192.168.1.2"]
      je change aussi la ligne commands = ["Ping Netdimm", "Change Target"] en : commands = ["Ping Netdimm"] car je n'ai pas besoin de changer la cible du netboot
    • la ligne rom_dir = "/boot/roms/" est vraiment dégeulasse ; les roms n'ont absolument rien à foutre là !
      je pense que c'est un dommage collatéral de cette saloperie de Zindoze qui ne sait pas lire nativement les partitions ext4, alors quelqu'un a collé ça dans une partition fat ou fat32... pouah !
      je bosse sous Linux et mon PC sait lire nativement les partitions ext4 ; donc je change cette ligne en : rom_dir = "/home/pi/piforcetools/roms/"
  • création du répertoire où seront placées les ROMs : mkdir /home/pi/piforcetools/roms
  • dans le fichier triforcetools.py :

    • il reste un reliquat de debug que je préfère supprimer ; je mets en commentaire la ligne 123 : je change sys.stderr.write("%08x\r" % addr) en #sys.stderr.write("%08x\r" % addr)
  • dans le fichier gamelist.py :

    • j'ajoute le jeu "The House of the Dead 2" : après la ligne 114, j'ajoute une nouvelle ligne : "The House of\nthe Dead 2": "hotd2.bin",
  • dans le fichier piforcetools.service :

    • il y a un gros bug : le service est mal déclaré ; il est déclaré en Type=notify ce qui nécessite que le process notifie son démarrage (voir cette page), ce qui n'est pas fait par piforcetools.py
      le plus simple, c'est de le passer en type "simple" ; je change la ligne Type=notify en Type=simple
    • je change la ligne WorkingDirectory=/boot/piforcetools/ en WorkingDirectory=/home/pi/piforcetools/
    • je change la ligne ExecStart=/boot/piforcetools/piforcetools.py en ExecStart=/home/pi/piforcetools/piforcetools.py
    • au cas où, j'ajoute dans la section [Service] les lignes suivantes :

      • StandardOutput=syslog
      • StandardError=syslog

Après avoir copié les dumps des jeux dans /home/pi/piforcetools/roms/, je peux maintenant tester manuellement piforcetools :

  • cd ~/piforcetools
  • ./piforcetools.py

J'ai le backlight du LCD qui s'allume et le 1er jeu apparaît :


Note : si le backlight du LCD s'allume, mais qu'on ne lit rien, il faut régler le contraste du LCD avec le petit potard situé sur la carte AdaFruit !

Je quitte piforcetools comme un chacal en faisant control-c sur le clavier !

Maintenant, il est temps d'ajouter piforcetools comme service, qui sera démarré lors du boot du Raspberry PI :

  • sudo cp piforcetools.service /etc/systemd/system/
  • sudo systemctl enable piforcetools.service

Un p'tit reboot pour vérifier que le service démarre correctement :

  • sudo reboot

TADAAAAAA :


Maintenant je débranche le câble réseau (pour éviter les conflits d'IP) et je configure le Raspberry PI en IP statique :

  • à la fin du fichier /etc/dhcpcd.conf, j'ajoute les lignes suivantes :

    • interface eth0
    • static ip_address=192.168.1.1/24
    • static routers=192.168.1.3
    • static domain_name_servers=192.168.1.3

Et voilà !
Le Raspberry PI est prêt pour démarrer sa vie de netboot !  :-*

À suivre : installation du Raspberry PI dans la borne

f4brice

Citation de: michel29 le Dimanche 11 Octobre 2020, 21:29:35 PM
Tu as pris une rom spécifique HOD2 ?

Oui, c'est une version patchée pour accepter le netboot.
Je tire mon chapeau à la personne qui a réalisé ce travail !  <:)

f4brice

Bonsoir.

Suite de ce WIP : préparation de la borne + test du multibios

Pour pouvoir WIPer sereinement sur la borne Confidential Mission, je veux pouvoir la déplacer facilement et librement.
Or elle dispose d'une partie posée au sol spécifique où sont les 2 guns + la porte monnayeur + la porte tirelire (entouré en vert sur la photo):


Contrairement à la partie "Naomi", cette partie "avant" ne dispose pas de roulettes.
Quand elle est mécaniquement solidaire de la Naomi (assemblage normal du guncab), l'ensemble n'est pas déplaçable.
Quelques coups de scie circulaire, des vis par-ci par-là et 6 roulettes, je fabrique une planche à roulettes sur mesure pour la dame :


Vu que l'OSB de grande dimension est vite hors de prix, j'ai pris 2 morceaux de taille intermédiaire que j'ai légèrement recoupés et ré-assemblés avec les chutes.
Ensuite (use the Force, Luke), j'ai installé la borne sur sa planche. Je peux maintenant la déplacer très facilement :


J'ai pas trop mal travaillé durant la prise de mesure et les découpes : la borne va pile-poil sur sa planche, et les 6 roulettes sont placées au endroits stratégiques juste en-dessous de là où la borne appuie le plus.

Je peux maintenant tester facilement le multibios, car l'accès à la borne est plus facile...
Rien de très compliqué : je programme une EPROM 27C160 à partir du binaire kivabien trouvé sur le net.
J'installe l'EPROM à la place du bios de la carte-mère Naomi.

Mode JAPAN :


Hop ! Changement de dip-switch sur la carte-mère, et on est en région USA :


Voilà, le multibios est validé, je vais pouvoir continuer !
J'ai décidé que le Raspberry PI serait installé sur la partie avant de la borne.
En effet, sur cette guncab, on n'a pas besoin d'aller tout contre la Naomi. Les guns, les boutons start, etc..., tout est sur cette partie spécifique guncab, beaucoup plus accessible que la partie "Naomi".

Et on démonte :


Voici le dessous de la partie "avant" de la borne.
On voit une gaine noire annelée qui protège correctement tous les câbles entre cette partie "avant" et le reste de la borne :


Cette grosse gaine débouche sous la tirelire ; les câbles vont ensuite dans une goulotte métallique verticale :


C'est dans cette gaine annelée et cette goulotte que je veux passer mon câble réseau, reliant le Raspberry PI à la netdimm.
Je vais utiliser une chute de câble CAT6 (bien trop luxueux, mais au moins je n'ai rien à acheter) qui m'avait servi lorsque j'avais cablé en prises Ethernet 3 chambres de la maison.
Ce câble était vendu au mètre, sans prise RJ45 montée. Je dispose des prises RJ45 "nues" + la pince à sertir qui va bien.
N'ayant pas réussi à passer le câble "à la main" (les anneaux de la gaine bloquent la progression du câble), je dois utiliser un tire-fil d'électricien :


Voilà, le câble est passé !

Il entre là :


Il passe par là :


Et il ressort là :


Sur la photo ci-dessus, on voit 1 paire de bottes et 2 cartes importantes :

  • à gauche l'I/O board, assez classique dans une borne Naomi
  • à droite la gun board, spécifique aux guncabs
La paire de bottes, c'est mon aide de camp qui est dans la place comme d'habitude :  :-*


À suivre : montage des prises RJ45, alimentation électrique du Raspberry PI

flip28

J ai pensé faire la même chose que toi pour passer le câblage du pi.
Tu as une idée de la longueur de cable que tu as utilisée
Tu ne fais pas passer un cable pour l alimentation du pi?

Par contre la configuration du pi tu m'as semé