Strider's Headquarters - Nostalgeek2023-09-05T23:07:56+02:00Striderurn:md5:14c23c7ceb2b7e04c84367154fcc6063DotclearComment copier ses originaux Neo Geo CDurn:md5:ae03c1f5bab3b9963b8f33352e57c9772009-01-10T18:36:00+01:002009-01-10T21:11:04+01:00StriderNostalgeek<p>Tout comme pour <a href="http://strider.untergrund.net/blog/index.php?post/2009/01/03/Les-protections-sur-Neo-Geo-CD">le billet précédent</a>, cette procédure n'est valable qu'avec le modèle CDZ car les modèles plus anciens de Neo Geo CD n'ont pas de protection anti-copie.<br />
Je vais détailler la procédure de copie : l'extraction des pistes des CD originaux, l'application du crack et la gravure.</p> <p>Comme pour le billet précédent, je vais prendre Samurai Shodown 4 en exemple. Il va falloir créer une copie du CD, virer la protection et graver l'image du CD.</p>
<h3>Extraction des pistes</h3>
<p><em>Objectif : obtenir la piste de données au format ISO, les pistes audio au format Wave et un fichier Cuesheet.</em></p>
<p>Il existe plusieurs logiciels pour le faire. Après des heures de tests, je n'ai trouvé aucun logiciel capable d'extraire à la fois la piste de données et les pistes audio. CDRWin et Nero ne savent pas extraire la piste de données et me signalent une erreur (probablement une erreur de lecture à cause de la protection).</p>
<p>Commençons par les pistes audio. On peut les extraire avec Nero ou <a href="http://www.exactaudiocopy.de/" hreflang="en">Exact Audio Copy</a> qui a l'avantage d'être gratuit.</p>
<p><strong>Pistes audio avec Nero</strong></p>
<p>Dans le menu "Extras", sélectionner "Enregistrement des pistes audio..." (le menu est différent selon les versions).</p>
<p><img src="http://strider.untergrund.net/blog/public/nostalgeek/neo_geo/01_nero_enregistrer_pistes.png" alt="01_nero_enregistrer_pistes.png" title="01_nero_enregistrer_pistes.png, jan 2009" />
<br />On peut choisir le format des noms de fichiers qui vont être créés. Je recommande de ne pas mettre d'espace dans ces noms si vous voulez utiliser Nero pour graver l'image par la suite.</p>
<p><img src="http://strider.untergrund.net/blog/public/nostalgeek/neo_geo/02_nero_enregistrer_pistes_erreur.png" alt="02_nero_enregistrer_pistes_erreur.png" title="02_nero_enregistrer_pistes_erreur.png, jan 2009" />
<br />Voici la fameuse erreur qui se produit lorsque l'on demande à Nero d'extraire la piste de données.</p>
<p><strong>Pistes audio avec Exact Audio Copy</strong></p>
<p>Choisir le bon lecteur et cliquer sur l'icône d'extraction Wave <img src="http://strider.untergrund.net/blog/public/nostalgeek/neo_geo/03_exact_audio_copy.png" alt="03_exact_audio_copy.png" title="03_exact_audio_copy.png, jan 2009" /></p>
<p><strong>Extraction de la piste de données</strong></p>
<p>Il faut utiliser un autre logiciel comme <a href="http://www.magiciso.com/" hreflang="en">MagicISO</a> ou <a href="http://www.poweriso.com/" hreflang="en">PowerISO</a>.<br />
J'ai une préférence pour MagicISO qui me paraît plus performant.</p>
<p>Dans le menu "Tools", choisir "Make ISO from CD/DVD-ROM".</p>
<p><strong>Création du Cuesheet</strong></p>
<p>Le fichier Cuesheet (extension .cue) indique la structure du CD. Il est utilisé par certains logiciels de gravure.</p>
<p>Avant tout, je recommande la création d'un fichier pour la première piste, car on a pour l'instant que les pistes audio. Copier la première des pistes audio et la renommer. En profiter également pour renommer les fichiers Wave afin de ne pas laisser d'espace. J'utilise <a href="http://www.ghisler.com/accueil.htm" hreflang="fr">Total Commander</a> pour renommer en masse des fichiers. Ca donne ceci :</p>
<p><img src="http://strider.untergrund.net/blog/public/nostalgeek/neo_geo/05_totalcommander.png" alt="05_totalcommander.png" title="05_totalcommander.png, jan 2009" /></p>
<p>C'est plus pratique pour créer le fichier Cuesheet, ça évitera d'y faire du rechercher/remplacer.</p>
<p>Ensuite, pour créer le fichier .cue, j'utilise Exact Audio Copy. Dans le menu "Tools", cliquer sur "Write CD-R". Dans le menu "Layout", choisir "Append files as new tracks" puis sélectionner tous les fichiers Wave. Dans le menu "File", sauver le Cuesheet et voilà !</p>
<p>Il faut maintenant l'ouvrir et remplacer la première piste (qui est la copie de la seconde piste en fait) par la piste de données.<br />
Changer le nom du fichier, remplacer le type WAVE par BINARY, remplacer le type de piste de AUDIO par MODE1/2048 et virer la ligne contenant le PREGAP.</p>
<p>Avant :</p>
<pre>
FILE "F:\NeoGeoCD\samurai_shodown_piste_01.wav" WAVE
TRACK 01 AUDIO
PREGAP 00:02:00
INDEX 01 00:00:00
FILE "F:\NeoGeoCD\samurai_shodown_piste_02.wav" WAVE
TRACK 02 AUDIO
PREGAP 00:02:00
INDEX 01 00:00:00
</pre>
<p>Après :</p>
<pre>
FILE "F:\NeoGeoCD\samurai_shodown_piste_01.iso" BINARY
TRACK 01 MODE1/2048
INDEX 01 00:00:00
FILE "F:\NeoGeoCD\samurai_shodown_piste_02.wav" WAVE
TRACK 02 AUDIO
PREGAP 00:02:00
INDEX 01 00:00:00
</pre>
<p>Vraiment rien de bien compliqué !</p>
<h3>Application du crack</h3>
<p>Il s'agit tout simplement d'ouvrir l'image ISO et d'y copier le ou les fichiers crackés (<a href="http://strider.untergrund.net/blog/index.php?post/2009/01/03/Les-protections-sur-Neo-Geo-CD">cf ce billet</a>). Samurai Shodown 4 possédant une double protection (CD + dans le jeu), il faut remplacer deux fichiers : CPY.TXT et l'exécutable. MagicISO fait ça très bien.</p>
<h3>Gravure du CD</h3>
<p>Là aussi rien de bien compliqué, mais c'est assez délicat.</p>
<p>Le lecteur de la Neo Geo CDZ est en 1x. Les CD ne doivent pas être gravés trop vite sinon la console aura du mal à les lire. D'après ce que j'ai lu sur le net, il faut graver le plus lentement possible pour éviter de fatiguer le bloc optique de la console. J'ai aussi lu qu'une gravure trop lente sur un CD pourrait cramer celui-ci car les CD actuels sont conçus pour être gravés très vite. Sur mes Verbatim certifiés 52x, je n'ai aucun souci en gravant en 1x.</p>
<p>Le graveur de mon PC ne peut pas descendre en-dessous de 4x, ce qui n'empêche pas les jeux gravés de marcher correctement sur la CDZ. Pour graver en 1x, j'ai trouvé une solution simple mais bourrin : j'ajoute une carte SCSI dans mon PC et je me sers du graveur de mon Atari. C'est un graveur Yamaha qui n'a aucun souci pour descendre en 1x.</p>
<p>Côté logiciels, on peut utiliser Nero. Lorsque l'on sélectionne le fichier Cuesheet, choisir la vitesse de gravure la plus basse possible et lancer la gravure. Si Nero gueule en ouvrant le fichier Cuesheet, c'est peut-être parce qu'un nom de fichier ou un chemin contient des espaces.</p>
<p>On peut aussi utiliser <a href="http://www.slysoft.com/fr/clonecd.html" hreflang="fr">CloneCD</a> qui est très bon. Choisir le mode "CD de jeux". Il ne permet pas de graver à partir d'un fichier Cuesheet. Peu importe, il suffit de monter l'image CD avec un lecteur virtuel comme <a href="http://strider.untergrund.net/blog/index.php?post/2009/01/10/[" title="en">Daemon Tools</a>|en].</p>
<h3>Et les tests ?</h3>
<p>C'est simple : si la CDZ refuse de lancer le jeu et reste bloquée sur la page du lecteur audio, il y a eu un problème et le CD est bon pour la poubelle. La protection n'a pas été enlevée ou le CD n'est pas bon.</p>
<p>Ensuite on peut tester les pistes audio (il m'est arrivé d'avoir des problèmes sur les dernières pistes d'un CD), c'est plus rapide directement sur le PC.</p>
<p>Et voilà, on peut enfin faire des copies de sécurité de tous ses jeux Neo Geo CD protégés !</p>http://strider.untergrund.net/blog/index.php?post/2009/01/10/Comment-copier-ses-originaux-Neo-Geo-CD#comment-formhttp://strider.untergrund.net/blog/index.php?feed/atom/comments/44Les protections sur Neo Geo CDurn:md5:04d76f6ffa0183744e9dc020902e0a332009-01-03T18:32:00+01:002009-10-04T21:01:15+02:00StriderNostalgeekneo geo cd<p>Pour bien commencer cette année 2009, j'ai voulu faire des copies de sécurité de mes jeux Neo Geo CD. Hélas, j'ai gaspillé pas mal de CD car je n'arrivais pas à créer des copies lisibles sur ma CDZ. Après quelques recherches sur le net, je me suis rendu compte que la CDZ, contrairement aux deux autres modèles plus anciens de Neo Geo CD, ne permet pas de faire fonctionner des copies. Par curiosité, je me suis penché sur le système de protection.</p> <p>Après quelques recherches, j'ai trouvé les explications d'un hacker nommé Fakk2. Il existe en réalité deux protections, qu'il nomme "CDZ protection" et "in-game protection". La première est assez facile à désactiver, la seconde demande des connaissances en 68000 car il faut carrément trafiquer un exécutable. Seuls 33 jeux sont protégés, j'ai mis un tableau récapitulatif ici, fourni par Fakk2 :</p>
<pre>
----------------------------------------------------------------------------------
[ NOM DU JEU ][ CDZ Protection ][ In-Game Protection ]
----------------------------------------------------------------------------------
[ Art of Fighting 3 ][ YES ][ YES ]
[ Art of Fighting 3 Japan Box Set ][ YES ][ YES ]
[ Breakers ][ YES ][ NO ]
[ Brikin ' Ger / IronClad ][ YES ][ NO ]
[ Fatal Fury 3 ][ NO ][ YES ]
[ Fatal Fury Real Bout ][ YES ][ YES ]
[ Fatal Fury Real Bout Special ][ YES ][ YES ]
[ Fatal Fury Real Bout 2: Newcomers ][ YES ][ YES ]
[Futsal / Pleasure Goal 5 on 5 Soccer][ YES ][ NO ]
[ King of Fighters '95 ][ NO ][ YES ]
[ King of Fighters '96 ][ YES ][ YES ]
[ King of Fighters '96 NG Coll. ][ YES ][ YES ]
[ King of Fighters '97 ][ YES ][ YES ]
[ King of Fighters '98 ][ YES ][ YES ]
[ King of Fighters '99 ][ YES ][ YES ]
[ Last Blade 1 ][ YES ][ YES ]
[ Last Blade 2 ][ YES ][ YES ]
[ Magical Drop II ][ YES ][ NO ]
[ Metal Slug ][ YES ][ NO ]
[ Metal Slug 2 ][ YES ][ NO ]
[ Neo Drift Out! ][ YES ][ NO ]
[ Neo Geo CD Special ][ NO ][ YES ]
[ Neo Turf Masters ][ YES ][ NO ]
[ Ninja Masters ][ YES ][ NO ]
[ Ragnagard ][ YES ][ NO ]
[ Robo Army ][ NO ][ YES ]
[ Samurai Shodown 3 ][ YES ][ YES ]
[ Samurai Shodown 4 ][ YES ][ YES ]
[ Samurai Spirits R.P.G. ][ YES ][ YES ]
[ Soccer Brawl ][ NO ][ YES ]
[ Stakes Winner ][ YES ][ NO ]
[ Super Sidekicks 3 ][ NO ][ YES ]
[ Twinkle Star Sprites ][ YES ][ NO ]
==================================================================================
</pre>
<h3>1. Protection CD</h3>
<p>Mettre le CD du jeu dans le lecteur du PC et chercher le fichier CPY.TXT. Lorsque le jeu possède une protection CD, la taille de ce fichier doit être de 2048 octets. Si le fichier est bien plus petit (29 octets par exemple), le CD n'est pas protégé.</p>
<p>Avec un éditeur hexadécimal, il faut repérer la chaîne "NEO-GEO" puis remplacer les deux premières occurrences de "g" par "f". En général on les trouve aux offsets $34 et $40. Sauver le fichier et le mettre de côté pour remplacer celui qui se trouve dans l'image ISO.</p>
<p>C'est tout ? Ben oui !</p>
<h3>2. Protection dans le jeu</h3>
<p>Dans mon cas, je possède l'original de Samurai Shodown 4. Il se trouve dans la liste ci-dessus, il va falloir se creuser les méninges pour virer la protection.</p>
<p>Encore faut-il savoir quel fichier modifier. Sur le CD du jeu, ouvrir le fichier IPL.TXT. Il contient la liste de tous les fichiers chargés au démarrage du jeu. Repérer le premier dont l'extension est PRG, c'est l'exécutable 68000. Dans le cas de Samurai Shodown 4, c'est P222.PRG.</p>
<p>Ouvrir ce fichier avec un éditeur hexadécimal (je recommande le très puissant WinHex). Il faut maintenant chercher le message d'erreur qui s'affiche lorsque la CDZ exécute une copie. Sauf erreur de ma part, il existe deux types de message :</p>
<pre>
WARNING
THIS CD SOFTWARE IS A COPY AND CAN
NOT BE PLAYED FURTHER.
COPIED SNK SOFTWARE INFRINGES
SNK'S COPYRIGHTS AND TRADEMARKS.
WE RECOMMEND THAT YOU PURCHASE
ORIGINAL SNK SOFT WARE.
</pre>
<p>et l'autre :</p>
<pre>
DISK I/O ERROR
( ID = 0003 )
PLEASE POWER OFF
</pre>
<p>Sur Samurai Shodown 4 c'est le premier message. Chaque message est entouré d'espaces (caractères $20). Il faut noter l'adresse de début du message, et donc remonter jusqu'au premier espace. Dans mon cas le début se trouve à l'adresse $924.</p>
<p>Le plus dur est de savoir où se trouve la routine qui fait référence à ce texte. L'exécutable du jeu appelle une sous-routine qui va tester la protection, laquelle va afficher, le cas échéant, ce message d'erreur. Comme je n'ai aucun désassembleur 68000 sur le PC, je me suis amusé à analyser le code sur... un Atari ;-)</p>
<p>Bien entendu, on peut se contenter de n'utiliser que WinHex puisque l'on va faire principalement de la recherche hexadécimale.</p>
<p>N'étant pas un pro du désassemblage, j'utilise Adebug sur Atari. J'ai essayé avec Desert Drain, TT Digger et Easy Rider : ils ne savent pas désassembler un binaire qui n'est pas un exécutable Atari.</p>
<p>Sous Adebug, je charge le fichier binaire avec la touche "b" et je tape "E:\P222.PRG,100000". Je décide de placer le programme à l'adresse $100000 car cela me permet de m'y retrouver plus facilement. En effet, le début du message d'erreur se trouvant à l'offset $924, je peux donc me rendre directement en $100924.</p>
<p><img src="http://strider.untergrund.net/blog/public/nostalgeek/neo_geo/atari_adebug_loadbinary.gif" alt="atari_adebug_loadbinary.gif" style="display:block; margin:0 auto;" title="atari_adebug_loadbinary.gif, jan 2009" /></p>
<p>D'après Fakk2, le code qui fait appel au message d'erreur se trouve juste au-dessus, environ 200 à 250 octets plus haut. L'adresse du message d'erreur est chargée relativement au PC (Program Counter). Mais ce n'est pas tout le temps le cas, parfois on peut voir l'adresse elle-même dans le code : c'est le cas de l'offset absolu.</p>
<blockquote><p><strong>L'offset absolu</strong></p>
<p>
Dans ce cas particulier, l'adresse est directement dans le programme. Avec WinHex, on peut rechercher une valeur hexadécimale (raccourci : CTRL + ALT + X). C'est le cas de King of Fighters '98 : le message d'erreur se situe à l'offset $A09E6. La recherche permet de voir que cette adresse est écrite en dur dans le code à l'offset $1E2F (à l'adresse $101E2C sous Adebug).</p>
<p>
<img src="http://strider.untergrund.net/blog/public/nostalgeek/neo_geo/atari_adebug_absolute.gif" alt="atari_adebug_absolute.gif" style="display:block; margin:0 auto;" title="atari_adebug_absolute.gif, jan 2009" /></p>
<p>
cf. la ligne : MOVEA.L #$A09E6,A0</p>
<p>
Comme pour le cas de l'offset relatif, il suffit de remonter un peu plus haut dans le code pour voir la sous-routine de protection.</p></blockquote>
<p>Revenons à nos octets. Il faut chercher un bout de code au-dessus du message d'erreur qui fait référence à l'adresse $100924. En montant d'une dizaine de lignes on peut lire ceci :</p>
<pre>
001008FE LEA ($100924,PC),A0
</pre>
<p>On a déjà fait la moitié du boulot !</p>
<p>A partir de cette adresse $1008FE il faut remonter plus haut dans le code jusqu'à trouver ceci :</p>
<pre>
MOVE.B $10FE85,D0
</pre>
<p>Ce qui nous donne, en hexadécimal : 10 39 00 10 FE 85</p>
<p>Il vaut mieux utiliser WinHex. Désassembler le code n'est pas obligatoire pour dégager la protection, mais ça permet de mieux comprendre ce que l'on fait. Il est possible que WinHex trouve plusieurs occurrences, dans ce cas il faut prendre la première à partir du début du fichier.</p>
<p>Juste après, on devrait voir quelque chose du genre : 81 39 00 10 xx xx (où "10 xx xx" est en fait une adresse).</p>
<p>Ce qui correspond à cette ligne de code :</p>
<pre>
OR.B $10xxxx
</pre>
<p>C'est le début du code de la protection.</p>
<p>Quelques octets avant "10 39 00 10 FE 85" on devrait voir "2F 00", ce qui correspond au début de la routine :</p>
<pre>
MOVE.L D0,-(A7)
</pre>
<p>(une bête sauvegarde du contenu de D0 sur le sommet de la pile)</p>
<p>C'est précisemment ce bout de code qu'il faut désactiver. Comment ? En appelant un instruction qui n'a aucun effet au lieu d'appeler la routine de protection. Il s'agit du mnémonique NOP (No OPeration). Le programme continue comme si de rien n'était, la Neo Geo étant persuadée d'avoir appelé le programme de vérification anti-copie. Le code hexadécimal de NOP est "4E 71".</p>
<p><img src="http://strider.untergrund.net/blog/public/nostalgeek/neo_geo/atari_adebug_protec.gif" alt="atari_adebug_protec.gif" style="display:block; margin:0 auto;" title="atari_adebug_protec.gif, jan 2009" /></p>
<p>On note donc l'adresse où l'on trouve "2F 00", dans Adebug c'est $100800, ce qui nous donne tout simplement l'offset $800 dans WinHex. On remplace "2F 00" par "4E 71" et on sauve l'exécutable, il sera à placer dans l'image ISO.</p>
<p>Et si l'on ne trouve pas de "2F 00" ? C'est le cas de certains jeux (King of Fighters '98 par exemple). Il faut revenir sur l'adresse qui contient "10 39 00 10 FE 85" et remplacer "10 39" par "4E 71".</p>
<p>Voilà, vous savez tout sur la protection des jeux Neo Geo CD. A noter que seule la Neo Geo CDZ est concernée car les copies passent très bien sur ma Neo Geo CD modèle 2.</p>
<p>Dans un prochain billet j'expliquerai comment faire une extraction des pistes des CD originaux, comment remplacer les fichiers d'origine par ceux qui permettent de faire sauter la protection et comment graver tout ça.</p>http://strider.untergrund.net/blog/index.php?post/2009/01/03/Les-protections-sur-Neo-Geo-CD#comment-formhttp://strider.untergrund.net/blog/index.php?feed/atom/comments/59Amstrad : copier un fichier depuis WinAPE vers une image disqueurn:md5:a14d493817dbd8f6d4d1ba30aaf8d2422008-11-23T22:42:00+01:002008-11-23T23:45:29+01:00StriderNostalgeekamstrad<p>Voici un petit pense-bête pour copier un fichier depuis l'émulateur WinAPE vers une image disque Amstrad.<br />
En effet, WinAPE ne propose pas d'exporter dans un fichier binaire les exécutables obtenus avec l'assembleur interne.<br />
Il faut donc transférer ces exécutables vers une image disque ou une disquette.<br />
N'ayant pas trouvé grand chose sur le net, je me suis débrouillé avec les moyens du bord. Il existe sûrement d'autres solutions, celle-ci reste relativement simple.</p> <ul>
<li>1/ Préparation du code source</li>
</ul>
<p>Dans l'assembleur de WinAPE, j'utilise la directive ORG suivie de l'adresse à laquelle je souhaite loger mon programme. Ensuite, j'ajoute un point d'arrêt sur la première instruction. Pour une raison que j'ignore, le fait d'assembler mon programme ne suffit pas à le placer dans la mémoire du CPC. Il faut exécuter le programme d'abord. Je mets donc un point d'arrêt sur la première instruction pour éviter de tout dérouler (c'est pas demain la veille que je ferai du code auto-modifiable sur CPC, mais on sait jamais).</p>
<p><img src="http://strider.untergrund.net/blog/public/nostalgeek/amstrad/dsk/01_assemblage.png" alt="01_assemblage.png" title="01_assemblage.png, nov 2008" /></p>
<ul>
<li>2/ Assemblage</li>
</ul>
<p>Maintenant je peux assembler le bousin. Je note l'adresse de départ quelque part ($0170) et l'octet contenu à cette adresse ($F3). Ca me permet juste de vérifier que le programme est bien présent dans la RAM du CPC.</p>
<p><img src="http://strider.untergrund.net/blog/public/nostalgeek/amstrad/dsk/02_adresse_depart.png" alt="02_adresse_depart.png" title="02_adresse_depart.png, nov 2008" /></p>
<ul>
<li>3/ Adresse de fin</li>
</ul>
<p>Ensuite, un rapide coup d'oeil à la fin du code assemblé pour noter l'adresse de fin et son contenu. Ici, c'est $A66F et on y trouve la valeur $6F. Les amateurs du CPC noteront que le programme donné en exemple occupe pratiquement les 42 Ko de la zone utilisateur du CPC (elle se termine à l'adresse $A679).</p>
<p><img src="http://strider.untergrund.net/blog/public/nostalgeek/amstrad/dsk/03_adresse_fin.png" alt="03_adresse_fin.png" title="03_adresse_fin.png, nov 2008" /></p>
<ul>
<li>4/ Exécution</li>
</ul>
<p>Voilà, maintenant je peux lancer le programme avec un modeste "call &170". WinAPE reprend tout de suite la main puisqu'il y a un point d'arrêt sur la première instruction. Dans le debugger, je me rends à l'adresse $0170, je vérifie qu'elle contient l'octet $F3.</p>
<p><img src="http://strider.untergrund.net/blog/public/nostalgeek/amstrad/dsk/04_execution_breakpoint.png" alt="04_execution_breakpoint.png" title="04_execution_breakpoint.png, nov 2008" /></p>
<ul>
<li>5/ Sauvegarde de la RAM</li>
</ul>
<p>Je sélectionne la zone de la RAM à sauver, donc depuis l'adresse $0170 jusqu'à $A66F. Comme convenu, je trouve bien $6F à l'adresse de fin. Tranquille Emile, il ne me reste plus qu'à faire un clic droit -> Save. Je lui choisis un joli nom (ym.bin) avant de l'insérer dans une image disque.</p>
<p><img src="http://strider.untergrund.net/blog/public/nostalgeek/amstrad/dsk/05_sauver_ram.png" alt="05_sauver_ram.png" title="05_sauver_ram.png, nov 2008" /></p>
<ul>
<li>6/ Importation du binaire</li>
</ul>
<p>Puisque j'ai un SDiskEmul à la place du lecteur de disquettes sur mon 6128, je dois créer une image disque et copier mon programme dedans.
Pour cela, j'ai choisi ManageDsk (dispo ici : <a href="http://amstrad.cpc.free.fr/download.php?op=geninfo&did=8" hreflang="fr">http://amstrad.cpc.free.fr/download.php?op=geninfo&did=8</a>), un utilitaire bien sympatoche pour gérer ses images disques.
Lors de l'import, je précise qu'il s'agit d'un fichier binaire et que l'adresse de début est 0x0170. N'étant pas spécialiste des exécutables Amstrad, je renseigne le point d'entrée avec la même valeur que précédemment.</p>
<p><img src="http://strider.untergrund.net/blog/public/nostalgeek/amstrad/dsk/06_import_bin_dans_dsk.png" alt="06_import_bin_dans_dsk.png" title="06_import_bin_dans_dsk.png, nov 2008" /></p>
<ul>
<li>7/ Enregistrement de l'image disque</li>
</ul>
<p>L'image disque est prête, je la sauve au format DSK. Relax Max, c'est bientôt prêt.</p>
<p><img src="http://strider.untergrund.net/blog/public/nostalgeek/amstrad/dsk/07_sauvegarde_dsk.png" alt="07_sauvegarde_dsk.png" title="07_sauvegarde_dsk.png, nov 2008" /></p>
<ul>
<li>8/ Test sous émulateur</li>
</ul>
<p>Avant d'aller copier le DSK obtenu sur la SDCard du SDiskEmul, je fais un test rapide avec WinAPE.</p>
<p><img src="http://strider.untergrund.net/blog/public/nostalgeek/amstrad/dsk/08_cat_run.png" alt="08_cat_run.png" title="08_cat_run.png, nov 2008" /></p>
<p>En général tout se passe bien... ça roule Raoul !</p>http://strider.untergrund.net/blog/index.php?post/2008/11/23/Amstrad-%3A-copier-un-fichier-depuis-WinAPE-vers-une-image-disque#comment-formhttp://strider.untergrund.net/blog/index.php?feed/atom/comments/54Amstrad et SDiskEmul (partie 2)urn:md5:d939b3a91a99caf9f5c9372c9ec3326b2008-09-04T21:02:00+02:002008-09-04T21:02:00+02:00StriderNostalgeekamstradsdiskemul <p>La suite de mes "geekeries" avec, comme promis, une photo du boîtier fermé contenant le SDiskEmul, toujours relié au CPC 6128.
<br />
<a href="http://strider.untergrund.net/blog/public/nostalgeek/amstrad/cpc_et_sdiskemul.jpg"><img src="http://strider.untergrund.net/blog/public/nostalgeek/amstrad/.cpc_et_sdiskemul_m.jpg" alt="cpc_et_sdiskemul.jpg" style="display:block; margin:0 auto;" title="cpc_et_sdiskemul.jpg, sep 2008" /></a>
<br />
Cette semaine, j'ai eu des problèmes avec le SDiskEmul car il refusait d'afficher le contenu des répertoires de la SDCard après avoir chargé une image disque. C'est embêtant...
<br />
Visiblement, il s'agirait d'un bug dans le firmware et je remercie son auteur, Sundance, car il est très réactif.
<br />
Dans un prochain billet je parlerai des démos sur CPC, certaines sont très sympas et méritent le détour.
<br />
J'en ai fini avec l'Amstrad. Il me reste à terminer le boîtier externe : fixer le SDiskEmul à l'intérieur, fabriquer une façade, reporter tous les connecteurs à l'arrière. Vaste programme !
Parallèlement à cela, je vais brancher mon Mega STe et mon 1040 STe sur le boîtier. Ensuite, ce sera au tour de l'Amiga 1200 et je garde le plus dur pour la fin : l'Atari 800 XL.</p>http://strider.untergrund.net/blog/index.php?post/2008/09/04/Amstrad-et-SDiskEmul-partie-2#comment-formhttp://strider.untergrund.net/blog/index.php?feed/atom/comments/35Amstrad et SDiskEmul (partie 1)urn:md5:c5bbdc71e0e1147ed73e50e3330408af2008-09-02T00:08:00+02:002008-09-04T19:53:43+02:00StriderNostalgeekamstradsdiskemul<p>Séance bricolage ce dimanche : la remise en état de mon CPC 6128 et le recarrossage du SDiskEmul dans un boîtier externe.<br />
L'objectif est simple : faire revivre cet ancêtre de la micro et retrouver les sensations d'antan. Rien que ça :-)</p> <p><br /></p>
<h4>Amstrad : la résurrection</h4>
<p><br />
Une fois n'est pas coutume, j'ai fait tout ce que j'avais dit dans mon billet précédent : la fabrication d'un cable péritel, l'utilisation d'une alim externe, le raccordement du CPC au SDiskEmul et, bien entendu, le nettoyage de la bête.
<br />
<br />
J'ai commencé par le plus important : ouvrir la machine et vérifier si tout est en bon état à l'intérieur. Mon CPC est impeccable, mis à part le clavier jauni, tout le reste est en très bon état. Il a fallu ouvrir le clavier pour chasser la moindre poussière.<br />
<a href="http://strider.untergrund.net/blog/public/nostalgeek/amstrad/carte_mere_demontee.jpg"><img src="http://strider.untergrund.net/blog/public/nostalgeek/amstrad/.carte_mere_demontee_m.jpg" alt="carte_mere_demontee.jpg" title="carte_mere_demontee.jpg, sep 2008" /></a>
<br />
Sur la photo, on peut voir la carte mère, relativement petite car elle occupe les deux-tiers de la largeur totale. La carte mère est propre, pas de straps comme sur l'Atari ST (il faut cliquer pour agrandir les photos).
<br />
<br />
Pour l'alim, j'ai recyclé un boîtier SCSI externe. Il fournit 0,8 ampères, ce qui est suffisant pour alimenter un CPC 6128 puisqu'il n'a besoin que de 0,4 ampères (d'après ce qu'il est écrit sous la machine). C'est à ce moment que j'ai eu l'idée de mettre le SDiskEmul en externe dans ce boîtier, ce qui me permettrait de le brancher sur plusieurs de mes machines. Pour ce faire, il faut souder deux fils sur la carte mère afin de permettre l'incrustation vidéo. Grâce aux indications <a href="http://atariamiga.free.fr/installation_sdiskemul_cpc_int.php" hreflang="fr">sur le site de Sundance et Rvs</a>, ce fut un jeu d'enfant. En cherchant des connecteurs RCA femelles, je suis tombé sur un double connecteur, probablement récupéré d'un appareil électro-ménager par mon père. Ni une ni deux, même pas besoin de souder ou percer le moindre trou : je me suis contenté de placer ce connecteur entre deux ports à l'arrière du CPC. Pour l'instant, il tient bien car il est bloqué, je verrai avec l'usage s'il faut le fixer quelque part.
<br />
<br />
<a href="http://strider.untergrund.net/blog/public/nostalgeek/amstrad/incrustation_video.jpg"><img src="http://strider.untergrund.net/blog/public/nostalgeek/amstrad/.incrustation_video_m.jpg" alt="incrustation_video.jpg" title="incrustation_video.jpg, sep 2008" /></a>
<br />
Entre le port parallèle et le port d'extension, on peut voir les connecteurs RCA.
<br />
<br /></p>
<h4>SDiskEmul en lecteur externe</h4>
<p><br />
C'est la partie qui m'a pris le plus de temps, et pour l'instant ce n'est qu'un prototype, je suis encore loin de la version finale. En réalité, je ne connais pas tous les connecteurs à utiliser car j'ai l'intention d'utiliser le SDiskEmul sur toutes mes vieilleries : Mega STE, 1040 STE, CPC 6128, Amiga 1200 et 800 XL. Pour ce dernier, il me manque des infos sur la connexion entre la machine et le SDiskEmul.
<br />
<br />
<a href="http://strider.untergrund.net/blog/public/nostalgeek/amstrad/sdiskemul_externe_1.jpg"><img src="http://strider.untergrund.net/blog/public/nostalgeek/amstrad/.sdiskemul_externe_1_m.jpg" alt="sdiskemul_externe_1.jpg" title="sdiskemul_externe_1.jpg, sep 2008" /></a> <a href="http://strider.untergrund.net/blog/public/nostalgeek/amstrad/sdiskemul_externe_2.jpg"><img src="http://strider.untergrund.net/blog/public/nostalgeek/amstrad/.sdiskemul_externe_2_m.jpg" alt="sdiskemul_externe_2.jpg" title="sdiskemul_externe_2.jpg, sep 2008" /></a>
<br />
Je prévois de faire une façade afin de reporter les leds et le bouton reset. A l'arrière il y aura tous les autres connecteurs : lecteur de disquettes, incrustation vidéo (2 prises RCA femelles), port joystick, sortie +5v spécialement pour l'Amstrad ainsi qu'une sortie spéciale pour l'Atari 800 XL (à déterminer).
<br />
<br /></p>
<h4>Bon, et il marche tout ton bordel ?</h4>
<p><br />
Ca roule, même ! Voici les premières photos du "prototype" du SDiskEmul externe branché sur le CPC 6128. J'ai pas mal galéré pour trouver la nappe qui va bien. De plus, le fait d'utiliser une rallonge nécessite de brancher la nappe sous le SDiskEmul, ce qui n'est pas pratique du tout. Donc la prochaine étape consistera à faire en sorte que la nappe se branche sur le dessus. En attendant, quelques photos du couple infernal CPC/SDiskEmul :
<br />
<br />
<a href="http://strider.untergrund.net/blog/public/nostalgeek/amstrad/prototype_2.jpg"><img src="http://strider.untergrund.net/blog/public/nostalgeek/amstrad/.prototype_2_m.jpg" alt="prototype_2.jpg" title="prototype_2.jpg, sep 2008" /></a>
<br />
Gros plan sur le boîtier du SDiskEmul, les tripes à l'air (comme d'hab, quoi)
<br />
<br />
<a href="http://strider.untergrund.net/blog/public/nostalgeek/amstrad/prototype_1.jpg"><img src="http://strider.untergrund.net/blog/public/nostalgeek/amstrad/.prototype_1_m.jpg" alt="prototype_1.jpg" title="prototype_1.jpg, sep 2008" /></a>
<br />
Le CPC est alimenté en +5 volts par le boîtier. On branche l'incrustation vidéo, on allume la bécane : comme dirait Bonaldi, ça marche !
<br />
<br />
<a href="http://strider.untergrund.net/blog/public/nostalgeek/amstrad/prototype_3.jpg"><img src="http://strider.untergrund.net/blog/public/nostalgeek/amstrad/.prototype_3_m.jpg" alt="prototype_3.jpg" title="prototype_3.jpg, sep 2008" /></a>
<br />
Allez hop, je ne résiste pas à une petite partie de Bubble & Bobble, comme 15 ans en arrière chez mon cousin ! ;-)
<br />
<br />
Côté image c'est la claque : rien à voir avec les écrans verts Amstrad, ici sur mon SC1425 les couleurs sont éclatantes et les pixels bien gras. Dommage qu'il n'y ait pas d'entrée péritel sur mon moniteur SC1435, car sa qualité d'image est supérieure à celle du SC1425 (le tube fatigue légèrement). Un de ces quatre, je me ferai un adaptateur péritel pour le SC1435.<br />
Côté audio, je n'ai pas encore branché le CPC sur l'ampli. Ce qui est étonnant, c'est la sortie stéréo du soundchip, les voies sont séparées contrairement au ST.
<br />
<br />
Les prochains épisodes dans les jours qui viennent : des photos de l'ensemble CPC/SDiskEmul avec le boîtier fermé et une petite rétrospective des démos CPC.</p>http://strider.untergrund.net/blog/index.php?post/2008/09/02/Amstrad-et-SDiskEmul#comment-formhttp://strider.untergrund.net/blog/index.php?feed/atom/comments/46Un Amstrad et ca reparturn:md5:9fa1794e5fb804904537f5aaf6b9616f2008-08-21T23:01:00+02:002008-08-21T23:01:00+02:00StriderNostalgeek<p>Petit coup de folie la semaine dernière. Comme si je n'avais pas assez de vieilleries, en voici une de plus : un Amstrad CPC 6128.</p> <p>Après quelques semaines de recherches, je tombe sur un CPC 6128 sans écran ni périphériques, pile poil ce qu'il me fallait.<br />
Avant de découvrir (ou redécouvrir) les jeux et démos qui ont fait la gloire de cette machine, il me faut bricoler quelque peu cette vénérable grand-mère de la micro :</p>
<ul>
<li>bricoler un cable péritel pour le connecter sur mon moniteur Atari</li>
<li>adapter une alim de PC</li>
<li>brancher le SDiskEmul du Mega STe dessus, en attendant d'en acheter un deuxième</li>
<li>et bien sûr nettoyer l'extérieur et l'intérieur de la bête</li>
</ul>
<p><br />
Quelques photos du monstre, fraîchement déballé de son carton :<br />
<a href="http://strider.untergrund.net/blog/public/nostalgeek/amstrad/vue_de_face.jpg"><img src="http://strider.untergrund.net/blog/public/nostalgeek/amstrad/.vue_de_face_m.jpg" alt="vue_de_face.jpg" title="vue_de_face.jpg, aoû 2008" /></a> <a href="http://strider.untergrund.net/blog/public/nostalgeek/amstrad/cpc_vue_de_trois_quarts.jpg"><img src="http://strider.untergrund.net/blog/public/nostalgeek/amstrad/.cpc_vue_de_trois_quarts_m.jpg" alt="cpc_vue_de_trois_quarts.jpg" title="cpc_vue_de_trois_quarts.jpg, aoû 2008" /></a></p>http://strider.untergrund.net/blog/index.php?post/2008/08/21/Un-Amstrad-et-ca-repart#comment-formhttp://strider.untergrund.net/blog/index.php?feed/atom/comments/4Redécouverte de l'Amigaurn:md5:0974a3276f62229751bd04e2137d0a942008-06-12T00:52:00+02:002008-06-12T00:52:00+02:00StriderNostalgeekamiga <p>Ca fait un petit moment que je n'avais rien écrit ici.<br />
Puisque j'ai enfin fini mes articles pour STMag 144, j'ai mis mes Atari de côté.<br />
Ce fut l'occasion de ressortir le 1200 du garage, où il était stocké depuis... heu... trop longtemps.</p>
<p>Il s'agit d'un Amiga 1200 de base, avec seulement une extension mémoire de 4 Mo, un adaptateur Compact Flash sur le port PCMCIA et un disque dur 2"1/2 d'environ 800 Mo.</p>
<p>Par chance, j'avais configuré la bête pour qu'elle démarre sous Directory Opus, avec les pilotes qui vont bien pour échanger des fichiers avec le PC grâce à une carte Compact Flash. J'ai récupéré quelques démos sur <a href="http://ada.untergrund.net/" hreflang="en">ADA</a> (Amiga Demoscene Archive), bien entendu j'ai pris un peu n'importe quoi et ça ne marchait pas très bien. Par exemple je me suis laissé tenter par Shaft 7 du groupe Bomb. Hélas, ça rame trop sur un 020 ! Et puis la démo a crashé en plein milieu avec un retour brutal sur le bureau. J'ai essayé quelques intros AGA récentes, sans succès : soit ça partait en Guru Meditation, soit un message m'indiquait un manque de RAM. Vu l'heure tardive, je remettrai ça à une autre soirée...</p>
<p>Il me reste à configurer le Workbench pour qu'il démarre en mode RGB, faire en sorte que le système arrête de chercher constamment une disquette dans le lecteur, arriver à booter sur des images disquettes (ADF, DMS...), bref que du bonheur.</p>
<p><a href="http://strider.untergrund.net/blog/public/nostalgeek/amiga/a1200.jpg"><img src="http://strider.untergrund.net/blog/public/nostalgeek/amiga/.a1200_m.jpg" alt="Amiga 1200" style="display:block; margin:0 auto;" /></a></p>
<p>Comme j'ai un petit problème de place, le 1200 squatte l'écran RGB du Mega STe. Je crois que je vais installer un commutateur péritel, car j'ai aussi une Neo Geo CD qui aimerait bien se brancher sur l'écran Atari.</p>http://strider.untergrund.net/blog/index.php?post/2008/06/12/Redecouverte-de-lAmiga#comment-formhttp://strider.untergrund.net/blog/index.php?feed/atom/comments/7Atari Connexion 2008urn:md5:92a7e0ad592139bfe728453c0f75bda92008-04-27T17:27:00+02:002008-09-01T23:21:19+02:00StriderNostalgeek <p>L'Atari Connexion 2008 s'est déroulée le week-end dernier en région parisienne. C'est le genre de réunions que je guette plusieurs mois à l'avance car on y croise des passionnés des machines de la marque, qu'il s'agisse de consoles (VCS, Lynx, Jaguar) ou d'ordinateurs (ST, Falcon et 8 bits). D'autant plus que je connais pas mal de monde là-bas
<br />
<br />
Une bonne ambiance, comme d'habitude, malgré le temps qui ne nous permettait pas de prendre l'apéro dehors comme l'an dernier. Sur la cinquantaine de participants, certains sont venus de Belgique, Allemagne et Angleterre. Motivés, les gars ! Sur ST, on retiendra la présentation du <a href="http://strider.untergrund.net/blog/index.php?tag/SDiskEmul">SDiskEmul</a> et de PicrossST, un excellent jeu de réflexion qui va faire parler de lui lors de sa sortie (imminente). Côté Falcon, Kradd a présenté une preview de son prochain jeu (jeu de réflexion, également), Patrice Mandin a montré les premières images de son portage de Resident Evil. Sans oublier les parties endiablées du clone de Tron à 8 joueurs, c'est l'oeuvre de Kradd qui est décidemment très actif sur Falcon.
Il y avait aussi des nouveautés sur consoles mais je ne suis pas assez calé pour en parler.
<br />
<br />
Il y a pas mal de liens vers des <a href="http://www.yaronet.com/sujets.php?f=801" hreflang="fr">photos sur le forum Yaronet</a>.<br />
Un bon week end entre geeks, ça faisait longtemps. Et puis ça change de ma mission sur Paris (qui se termine bientôt). La semaine prochaine on remet ça avec la <a href="http://www.demoparty.net/outline2008/" hreflang="en">Outline</a> aux Pays-Bas, ça va être énorme ! ;-)</p>http://strider.untergrund.net/blog/index.php?post/2008/04/27/Atari-Connexion-2008#comment-formhttp://strider.untergrund.net/blog/index.php?feed/atom/comments/3DTV : Commodore 64 en kiturn:md5:b12be06f99c1bea69df55b0f3ba7f61a2007-10-28T20:02:00+01:002007-10-28T20:17:22+01:00StriderNostalgeekc64dtv <p>Séance bricolage ce dimanche avec le <a href="http://en.wikipedia.org/wiki/C64_Direct-to-TV" hreflang="en">DTV</a> : il s'agit d'un <a href="http://fr.wikipedia.org/wiki/Commodore_64" hreflang="fr">Commodore 64</a> miniaturisé dans une seule puce. L'objectif est de reconstruire un Commodore 64 pleinement fonctionnel.</p>
<p><a href="http://strider.untergrund.net/blog/public/nostalgeek/dtv/dtv_original.jpg"><img src="http://strider.untergrund.net/blog/public/nostalgeek/dtv/.dtv_original_m.jpg" alt="dtv_original.jpg" /></a></p>
<p>J'ai passé pas moins de trois heures pour ajouter quatre malheureuses résistances !<br />
Elles sont minuscules et m'ont donné du fil à retordre malgré l'utilisation d'une panne fine. Pendant toute l'opération, j'ai dû utiliser une loupe montée sur un bras articulé. Pas évident de souder au millimètre près, à ce niveau-là ce n'est plus du bricolage, c'est de la torture ;-)</p>
<p>Le plus dur est fait, reste maintenant à faire du cablage, beaucoup de cablage...<br />
Je mettrai des photos lorsque ça ressemblera à quelque chose.</p>http://strider.untergrund.net/blog/index.php?post/2007/10/28/DTV-%3A-Commodore-64-en-kit#comment-formhttp://strider.untergrund.net/blog/index.php?feed/atom/comments/33Mon premier jeu vidéourn:md5:9ba521a91f2c609d4cb56baea7b8f6b52007-10-13T23:32:00+02:002007-11-21T00:24:48+01:00StriderNostalgeekjeux vidéo <p>Il était une fois une époque où les jeux vidéo laissaient davantage de place à l'imagination.<br />
Les piètres performances technologiques étaient compensées par l'atmosphère du jeu, parfois envoûtante et mystérieuse.</p>
<p>Je crois pouvoir résumer tout ça avec une seule capture d'écran :</p>
<p><img src="http://strider.untergrund.net/blog/public/nostalgeek/ordi_jeux_tv/ordi_jeux_2.gif" alt="Labyrinthe" style="display:block; margin:0 auto;" /></p>
<p>Cette capture provient d'un <a href="http://amigan.classicgaming.gamespy.com/" hreflang="en">émulateur</a> de <a href="http://en.wikipedia.org/wiki/Elektor_TV_Games_Computer" hreflang="en">l'Ordinateur pour jeux TV</a>, une machine dont les plans furent publiés par Elektor au début des années 80.</p>
<p>Il s'agit de l'un de mes jeux préférés sur ce vénérable ordinateur : Layrinthe. Le joueur démarre devant son château blanc et doit délivrer une princesse retenue dans le château rouge. Ce dernier nécessite une clé de la même couleur et, de plus, il est gardé par un dragon particulièrement féroce. Deux autres châteaux (vert et rose) doivent être ouverts à l'aide de leur clé respective afin d'obtenir la clé rouge. En chemin on peut ramasser une épée, seul moyen de terrasser les immondes bêtes, et un tapis volant qui permet de voyager à travers les murs. Facile, il suffit de ramasser l'épée et les clés avec le tapis volant ! Ah non, ça serait trop simple ! On ne peut utiliser ou prendre qu'un objet à la fois. C'est bien là que se situe la principale difficulté du jeu, le labyrinthe en question n'étant pas très compliqué.</p>
<p>Avec un <a href="http://amigan.classicgaming.gamespy.com" hreflang="en">émulateur</a>, j'ai pu revivre les sensations d'antan. Quand je suis entré dans le chateau rose, j'ai sursauté sur mon siège car mon perso s'est fait dévorer tout cru en une fraction de seconde. Cela fait bien longtemps que je n'avais pas flippé en jouant à un jeu vidéo ! Rigolez, mais c'est vachement dur, à peine la herse est-elle levée que le dragon me fonce dessus. Et comme il y a un changement d'écran à ce moment-là, je n'arrive pas à réagir assez rapidement. Rageant !</p>
<p>Tiens, je me ferai bien une petite partie, histoire de montrer aux dragons qui est le maître ;-)</p>http://strider.untergrund.net/blog/index.php?post/2007/10/11/Mes-premiers-jeux-video#comment-formhttp://strider.untergrund.net/blog/index.php?feed/atom/comments/18Making of d'Another Worldurn:md5:2d8c66691ec7112001519714971fc5182007-10-12T19:59:00+02:002007-10-12T19:59:00+02:00StriderNostalgeek <p>Selon un message de <a href="http://www.yaronet.com/posts.php?s=103366" hreflang="fr">KyleReese95 sur Yaronet</a>, une vidéo du making of d'Another World est <a href="http://www.dailymotion.com/video/x35eyr_making-of-another-world" hreflang="fr">disponible sur Dailymotion</a>.</p>
<p>Sans oublier <a href="http://www.anotherworld.fr/" hreflang="fr">le site officiel</a>, avec les commentaires d'Eric Chahi sur l'histoire du jeu, les techniques utilisées, les différents portages, etc. Que du bonheur !</p>
<p>Lorsque l'on voit la technologie de l'époque, on se rend compte que ce gars est un génie !</p>http://strider.untergrund.net/blog/index.php?post/2007/10/12/Making-of-dAnother-World#comment-formhttp://strider.untergrund.net/blog/index.php?feed/atom/comments/37