Bon, et bien apres avoir bien galéré , je vous propose ce tit how to de advancemame DOS pour :
1 assembler son compilateur (gjdpp) et configurer l'environnement winxp.
2 créer son advancemame pour DOS uniquement.
3 modifier les sources pour inclure des jeux
Note: PRENDRE EXACTEMENT LES FICHIERS pour compiler 0.77, inferieur et supérieur !
il faut winzip 8.1 que l'on utilise sur winxp tout betement , winxp (ou DOS) connaitre les commandes de navigation DOS (cd cd.. cd\) pour pouvoir comprendre les chemins d'acces sous DOS ou invite de commande de winxp qui n'EST PAS du DOS mais qui peut se configurer pour que le compilateur fonctionne !
--------------------------------------------------------------------------------------
Partie 1
Assembler les fichiers....
aller http://www.delorie.com/pub/djgpp/current/
Dans le repertoire V2 prendre:
djdev203.zip
puis ds le repertoire GNU
bnu214b.zip http://www.delorie.com/pub/djgpp/current/v2gnu/bnu214b.zip
fil41b.zip http://www.delorie.com/pub/djgpp/current/v2gnu/fil41b.zip
gcc333b.zip http://www.delorie.com/pub/djgpp/current/v2gnu/gcc333b.zip
gpp333b.zip http://www.delorie.com/pub/djgpp/current/v2gnu/gpp333b.zip
mak3791b.zip http://www.delorie.com/pub/djgpp/current/v2gnu/mak3791b.zippat21b.zip http://www.delorie.com/pub/djgpp/current/v2gnu/pat21b.zip
shl2011b.zip http://www.delorie.com/pub/djgpp/current/v2gnu/shl2011b.zip
a ce stade decompressé le tout ds un repertoire DJGPP que vous placez dans c:\
ensuite recupéré cela:
all403.zip (librairie allegro) http://www.delorie.com/pub/djgpp/current/v2tk/allegro/all403.zip
mamesealnew.zip http://www.mame.net/compile.html le prendre ici
nasm-*.zip (j'en ai recupéré plusieurs http://members.cox.net/mame1/files/NASM98BD.ZIP
upx190d.zip http://upx.sourceforge.net/download/unstable/upx190d.zip
il faut a ce stade decompresser LES FICHIERS nasm et upx ds le repertoire djgpp\bin . bien verifier de trouver nasm.exe dans le repertoire BIN de djgpp
ET mameseal se decompresse lui ds c:\djgpp
on va installer la librairie ALLEGRO maintenant!
On decompresse all403.zip ds c:\djgpp
a ce stade on pva tester notre compilateur!
il faut soit DOS soit windows donc ^^
on va prendre le cas de winxp et passer via la ligne de commande pour compiler ^^
on va ds propriété de poste de travail
(http://laurent.henard.9online.fr/image/djgppenv.gif)
on choisit "avancé"
(http://laurent.henard.9online.fr/image/djgppenv1.gif)
Juste au dessus de OK, on va cliquer sur "variables d'environnement"
(http://laurent.henard.9online.fr/image/djgppenv2.gif)
ici on ajoute pour les "variables utilisateurs" 2 nouvelles lignes:
ligne 1
variable: djgpp
valeur de variable: C:\DJGPP\DJGPP.ENV
ligne 2
variable: path
valeur de variable: C:\DJGPP\BIN;%PATH%
pour les "variables system"ligne a ajouter:
variable: djgpp
valeur de variable: C:\DJGPP\DJGPP.ENV
ET 1 ligne a modifier celle du PATH.....
qui doit ressembler a cela apres modif'!
variable: path
valeur de variable: %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem\;DJGPP\BIN;
(on ajoute juste ";DJGPP\BIN;")
voila, on applique le tout
on ouvre une invite de commande grace a "executer" dans le menu demarrer (touche windows + R) et on tape cmd
voila de la taper juste make
si vous avez cela c bon:
C:\Documents and Settings\XXX>make
make.exe: *** No targets specified and no makefile found. Stop.
now, votre invite de commande et voter compilateur doivent faire bon menage on revient a ALLEGRO...
sous invite de commande.. on fais cd\ pour retourner a la racine de c:
puis
cd \djgpp\allegro (entrer)
make lib (qq ligne pas de message d'erreur)
make install (qq lignes...ET vous devez lire: optimized djgpp library has been installed)
(http://laurent.henard.9online.fr/image/comp6.gif)
well done c ok !
il nous reste zlib a utiliser !
decompresser ZLIB114S.ZIP ds c:\zlib
Puis passer sous invite de commande
rendez vous ds ce repertoire
c:\
cd zlib
edité par Max : C:\zlib\contrib\zlib-1.14
make -fmsdos\makefile.dj2 (vous pouvez copier et coller ds la pseudo fenetre dos)
Quand ceci est terminer on copie 3 fichiers ds djgpp pour cela
xcopy libz.a c:\djgpp\lib\
xcopy zlib.h c:\djgpp\include\
xcopy zconf.h c:\djgpp\include\
n'oubliez pas de copier coller chaque ligne c plus simple !
WIN 95 98 :
on peut aussi utiliser un fichier batch pour win95.98.me
créer un fichier txt avec
set DJGPP=C:\DJGPP\DJGPP.ENV
set PATH=C:\DJGPP\BIN;%PATH%
et enregistrer ds tout fichier djgpp.BAT et rebooter la machine (important )
(il faut etre sur que djgpp soit bien ds c:\) et passer via le vrai DOS de win98
-------------------------------------------------------------------------------------
partie 2
creer son advmame.exe!
goto http://prdownloads.sourceforge.net/advancemame/advancemame-0.77.0.tar.gz?download
ceci sont les sources de advmame 0.77et de mame 0.77 incluse donc rien a faire..
PS: à ce jour j'ai testé la 0.79 et la 0.77 et seul la 0.77 marche , mais je crois que c'est une question de temps et de fichier makefile, si qq un sait pourquoi la 0.79 ne compile pas, merci d'aider ! )
on decompresse le fichier dans c:\adv, on va y trouver un fichier makefile.in, on le renomme en makefile (ceci est le fichier de configuration de advancemame pour l'optimiser par rapport a son processeur je crois voir tout en bas de ce how to)
on ouvre une invite de commande,
c:\
cd adv (entrer)
make emu (entrer)
la ca va compiler et prendre un certain temps !
si tout ce passe bien , un joli advmame.exe va apparaitre ! Good GAME !
GROSSE PARENTHESE:
j'ai un amis msnien qui m'a dit:
tu copies les fichiers .c qui sont dans tes sources et tu les deplace dans c:\djgpp\lib
chose que j'ai faite... et cela a marché par contre j'ai effacé les même fichiers pour voir et cela compile pareil , l'erreur a disparu.... aller savoir lol (j'ai bien fait le fête aussi 27 ans cela se fête^^ alors j'etais pas clair surement lol)
en cas de plantage genre"Argument list too long", voila la solution
stubedit c:\djgpp\bin\gcc.exe bufsize=32k
stubedit c:\djgpp\lib\gcc-lib\djgpp\3.33\collect2.exe bufsize=32k
PS noté bien que si une ligne deconne ds celle donné au dessus, et bien ,verifié bien le chemin d'acces
en cas d'errror -1 , peut etre recommencer a l'installation de NASM upx et seal (la version de nasm est peut etre pas la bonne je refais de tete...)
--------------------------------------------------------------------------------------3eme partie
modifier son makefile:
on clik dessus et on choisit notepad:
(http://laurent.henard.9online.fr//makefile.gif)
on regarde la photo et on "uncomment" la ligne pour optimiser par rapport a son processeur:
(http://laurent.henard.9online.fr//makefile2.gif)
modifier ses sources et ajouter des jeux
il y a d'abord 2 choses a savoirs
1 je suis super novice alors, je propose juste de modifier ses sources pour la neogeo
2 je suis claqué alors je vais faire simple lol et a vi, sauvegarder deja driver.c et neogeo.c (o cas ou lol)
(http://laurent.henard.9online.fr/image/obj.gif)
---> il faut des roms , bon cela, vouv vous debrouillé...
ensuite il faut savoir que advmame utilise le fichiers drivers.c pour lister ses jeux et un fichier neogeo.c pour configurer les drivers necessaires au jeu (son gfx etc etc) ces 2 fichiers se trouve ds le repertoire c:\djgpp\src (pour le driver.c) et c:\djgpp\src\drivers (neogeo.c) on peut les editer avec notepad, ce sont les codes sources....
alors que nebula utilise des DAT mame utilise donc des codes sources...
aller ici
http://www.micmano.net/source_mame.htm
et regarder comment ajouter des codes sources (je note que pour kof2003 par exemple.... ba j'ai utiliser autre chose de plus simple...^^)
vous pouvez aussi aller la pour recuper une archive
http://personal.telefonica.terra.es/web/klaxnek/mame32plus-src-lamer.rar
(merci a codex de www.toudy.com (http://www.toudy.com) pour ce post )
si vous decompresser l'archive , il y a un src en repertoire lequel est composé d'un driver.c, et ds le repertoire driver..d'un neogeo.c... (ce repertoire ce decompose en 3 partie a regarder , la premiere sont les romstart, la deuxieme est drivers_init et la 3 eme est le denomination des jeux, chercher une occurrence comme rotd (rage of the dragon) signifie qu'elle sera presente 2 fois ds la premiere partie (et vi rotd et rotdd) peut etre ds la partie driver_init aussi (certain jeux necessite d'autre opas....) et forcement ds la 3 eme partie la denomination quoi .. logique)
pour faire simple: f3 = rechercher lol
donc f3 rotd
j'ai trouvé ds le fichier driver.c de mame32plus-src-lamer.rar
les lignes
Citation
DRIVER( rotd ) /* Rage of the Dragons */
DRIVER( rotdd ) /* Rage of the Dragons (Decrypted) */
copie colle ceci ds le driver.c de ton repertoire c:\adv\src\ (ensuite on le ferme ce driver.c)
partie 1 du neogeo.c:
ensuite on va dans neogeo.c de mame32plus-src-lamer.rar, hop on appuis sur f3 on marque rotd. il trouve le romstart de rotd on copie colle ds SON neogeo.c à la suite du dernier roms END,
Citation
ROM_START( rotd )
ROM_REGION( 0x800000, REGION_CPU1, 0 )
ROM_LOAD16_WORD_SWAP( "264-p1.bin", 0x000000, 0x800000, CRC(b8cc969d) )
ROM_REGION( 0x20000, REGION_GFX1, 0 )
ROM_FILL( 0x000000, 0x20000, 0 )
ROM_REGION( 0x20000, REGION_GFX2, 0 )
ROM_LOAD( "sfix.sfx", 0x000000, 0x20000, CRC(354029fc) SHA1(4ae4bf23b4c2acff875775d4cbff5583893ce2a1) )
ROM_REGION( 0x40000, REGION_USER4, 0 )
ROM_LOAD( "264-m1.bin", 0x00000, 0x10000, CRC(9abd048c) ) /* encrypted, we load it here for reference and replace with decrypted ROM */
NEO_BIOS_SOUND_64K( "264-m1d.bin", CRC(e5f42e7d) ) /* decrypted */
ROM_REGION( 0x1000000, REGION_SOUND1, ROMREGION_SOUNDONLY )
/* encrypted */
ROM_LOAD( "264-v1.bin", 0x000000, 0x800000, CRC(fa005812) )
ROM_LOAD( "264-v2.bin", 0x800000, 0x800000, CRC(c3dc8bf0) )
NO_DELTAT_REGION
ROM_REGION( 0x4000000, REGION_GFX3, 0 )
ROM_LOAD16_BYTE( "264-c1.bin", 0x0000000, 0x800000, CRC(4f148fee) )
ROM_LOAD16_BYTE( "264-c2.bin", 0x0000001, 0x800000, CRC(7cf5ff72) )
ROM_LOAD16_BYTE( "264-c3.bin", 0x1000000, 0x800000, CRC(64d84c98) )
ROM_LOAD16_BYTE( "264-c4.bin", 0x1000001, 0x800000, CRC(2f394a95) )
ROM_LOAD16_BYTE( "264-c5.bin", 0x2000000, 0x800000, CRC(6b99b978) )
ROM_LOAD16_BYTE( "264-c6.bin", 0x2000001, 0x800000, CRC(847d5c7d) )
ROM_LOAD16_BYTE( "264-c7.bin", 0x3000000, 0x800000, CRC(231d681e) )
ROM_LOAD16_BYTE( "264-c8.bin", 0x3000001, 0x800000, CRC(c5edb5c4) )
ROM_END
on rebascule sur neogeo.c de mame32plus-src-lamer.rar, on reappuis sur f3 pour voir s'il y a un autre... on trouve le romstart de rotdd.. on refait la même manip..
f3.. on arrive ds la partie 2
Citation
DRIVER_INIT( rotd )
{
data16_t *rom;
int i,j;
neogeo_fix_bank_type = 1;
kof2000_neogeo_gfx_decrypt(0x3f);
init_neogeo();
/* thanks to Elsemi for the NEO-PCM2 info */
rom = (data16_t *)(memory_region(REGION_SOUND1));
if( rom != NULL )
{
/* swap address lines on the whole ROMs */
for( i = 0; i < 0x1000000 / 2; i += 16 / 2 )
{
data16_t buffer[ 16 / 2 ];
memcpy( buffer, &rom[ i ], 16 );
for( j = 0; j < 16 / 2; j++ )
{
rom[ i + j ] = buffer[ j ^ 4 ];
}
}
}
}
voila la 2 eme partie on surligne bien la partie qui nous concerne cele de rotdd (on peux aussi mettre rotd mais il faut des lors rajouter la ligne rotd ds driver.c (on commence a comprendre? ) et on colle ds la 2eme partie de VORE neogeo.c ^^
f3...voila la 3eme partie ^^
Citation
/* Evoga */
GAMEB( 2002, rotd, neogeo, neogeo, neogeo, neogeo, rotd, ROT0, "Evoga / Playmore Corporation", "Rage of the Dragons" )
/* Evoga */
GAMEB( 2002, rotdd, rotd, neogeo, neogeo, neogeo, rotdd, ROT0, "Evoga / Playmore Corporation", "Rage of the Dragons (decrypted V,decrypted C)" )
on copie colle toujours ^^ ds la 3eme partie ^^ de votre neogeo.c
a ce stade on a donc placer nos drivers rotd et rotdd ds le fichier driver.c ET neogeo.c (car c des jeux neogeo lol )
et bien on va REcompiler !
invite de commande,
(http://laurent.henard.9online.fr/image/compilok.gif)
cd adv
make emu
il va rechanger driver.c et neogeo.c et recréer tres vite un advmame.exe qui accepte rotd et rotdd ^^
libre a vous d'ajouter ce que vous voulez ^^
ça ne marche pas pour vos roms?
probleme de crc? incompatibilité de noms? il vous faut:
ceci (http://pagesperso.neuf.fr/webftp/explorer/download.php3?fichier=hashcalc.zip&chemin=%2Fapplis%2Fwebperso%2Fdata%2Fweb%2Fh%2Fe%2Fn%2Fa%2Frd%2Flaurent.henard.9online.fr%2Fpublic_html)
qui est un calculateur de crc et de sha1..ca parait chinois mais c'est tres pratique car vous decompacter votre rom, vous ouvrez le neogeo.c regarder le romstart:
il y a des roms v, m1, C etc etc , il y a des crc entre parenthese et des sha1 ..regarder votre rom DEZIPPE, vous aller retrouver les même fichiers sauf que le nom de la roms peut varier OU son extension.. *.rom ou *. bin..
le plus simple c de prendre fichier par fichier, de remplacer les noms par ceux de voter rom.., de calculer crc et sha1 et remplacer tout betement par copier coller dans le fichier neogeo.c
une photo pour aider ^^
(http://laurent.henard.9online.fr//modifcrc.gif)
je peux modifier toute les données a ma guise en fonction de ma ROM!
(http://laurent.henard.9online.fr//hcalucl.gif)
le programme vous donne tout vive le copier coller ^^
d'ou l'interet de compiler soit même pour avoir 100% de good resultat avec SES roms
pour le reste sachez que votre compilation est la votre, ne pas la distribuer ^^ par respect pour mame et ses developpeurs
si vous obtenez des messages d'erreurs a la suite de modifications, reprener vos fichiers driver et neogeo.c (que vous avez sauvegarder) et recommencer la manip pour un seul jeux ^^
l'erreur est indiqué via des lignes pour ce faire regarder la ligne qui bug ds le fichier correspondant..
si driver.c y a une erreur a la ligne 7565
ba on ouvre son driver.c, on fait CTRL-G et on marque le nom de la ligne et on regarde ce qui cloche ^^ (j'ai reussi a tout integré en neogeo ss probleme )
voila en gros ceque j'ai fait, cela marche bien , il reste le fichier makefile a decouvrir car c lui qui doit causer le probleme pour la 0.79....
sinon voici des liens utiles :
http://advancemame.sourceforge.net/doc-build.html//
http://www.powerstrike.net/Tehkan/mameforever.html%20(merci%20rico!)%20
[url]http://www.mame.net/compile.html
http://members.cox.net/mame1/enhance.htm
www.hammerhead.be
bonne chance a tous
j'espere avoir apporté une pierre a l'edifice!
voilà, j'ai tout réparé, pas la peine de s'affoller ... on peut plus partir en vacances :lol: ;)
Pour télécharger les fichiers nécessaires à l'installation, allez sur ce site : http://www.delorie.com/djgpp/.
Cliquez sur Zip Picker et suivez les instructions.
Créez un répertoire (par exemple "C:\DJGPP"). Décompactez y tous vos fichiers.
Il faut maintenant éditer des variables d'environnement. La méthode dépend un peu du système d'exploitation.
!!!Attention!!! : Si vous avez installé DJGPP dans un répertoire différent, pensez à modifier les chemins.
Sous Window 98 :
-Editez autoexec.bat
-Ajouter la ligne : set DJGPP=C:\DJGPP\DJGPP.ENV
-A la ligne set PATH=..., rajouter à la fin C:\DJGPP\BIN, en n'oubliant pas de séparer les chemins par des points virgules
-Redémarrez l'ordinateur
Sous Windows ME :
-Cliquez sur Démarrer, Exécuter, tapez msconfig.exe puis validez
-Cliquez sur l'onglet Environnement
-Modifiez la variable PATH en ajoutant le chemin : C:\DJGPP\BIN, en n'oubliant pas de séparer les chemins par des points virgules
-Créez une nouvelle variable d'environnement DJGPP et attribuez lui la valeur : C:\DJGPP\DJGPP.ENV
-Redémarrez l'ordinateur.
Sous Windows 2000/XP :
-Faites un clic droit sur "Mon ordinateur", puis sélectionnez "Propriétés"
-Sélectionnez l'onglet "Avancé", puis cliquez sur le bouton "Variables d'environnement"
-Modifiez la variable PATH en ajoutant le chemin : C:\DJGPP\BIN
-Créez une nouvelle variable d'environnement DJGPP et attribuez lui la valeur : C:\DJGPP\DJGPP.ENV
Si vous avez installé DJGPP dans un répertoire différent, pensez à modifier les chemins.
Pour vérifier que DJGPP est bien installé, allez dans DJGPP/bin et exécutez rhide.exe. S'il n'y a pas de message d'erreur, c'est que DJGPP est correctement installé.
voila pour le complement o k ou ^^
Je viens de me lancer dans la modification / compilation de MAME32, faut bien avouer que c'est nettement plus facile que advmame :oops: :!:
enfin un tuto qui ma fait compiler advmame.
trop dla balle atomqieu
nikel
A tout hasard, il ne manquerait pas un fichier de déclaration de constantes (ou un chemin incorrect vers ce fichier) ?
Sinon, en fouinant sur Google, j'ai trouvé ça (http://www.gnu-darwin.org/www001/ports-1.5a-CURRENT/emulators/advancemame/work/advancemame-0.106.0/advance/osd/glueint.h) ...
de mon côté j'arrive à compiler jusqu'à la 106 ... je peux eventuellement uploader mon dossier 'djgpp' complet quelque part ...si ça peut aider du monde ?
Honnêtement je ne comprends pas.
J'ai repris une version compile.
A savoir la .72
j'ai deux 2 dossiers de sources, un qui fonctionne et un autre non.
L'un de dossiers est issu de la source du bundle complet d'advancemame incluant les sources mame pré-patchée.
L'autre dossier est le montage de la source d'advancemame avec le source de mame que j'ai patché moi-même.
Évidemment c'est celle du bundle qui passe correctement, pourtant en passant WinMerge dessus pour détecter les différences, il me dit que tout
est identique... ;D
note : en fait je coche l'option 'ignorer les différences de fin de ligne (Windows/Unix/Mac)'
note 2 : Les fichiers qui fonctionnent semblent sont spécifiés comme étant au format DOS au moment de les charger dans ultraedit
Si vous pouviez me donner votre avis là dessus ou bien quel manip effectuer pour trouver le loup qui se cache là dessous.
J'ai fini par trouver.
le problème était que les erreurs générées n'étaient pas très parlante.
Okay : excuses de sac.
En fait ce brave patch.exe patche correctement les fichiers des sources de mame,
seulement il les renomme aussi, à savoir il met les noms en majuscule.
ceci explique que je ne voyait pas de différences entre le bon et le mauvais dossier.
Seulement make, au moment de compiler, lui, attendait le nom de fichier en minuscule.
Du coup, en renommant les fichiers modifiés par le dif, tout est rentré dans l'ordre ^-
A moi la recompilation des vieilles versions...
chiotte de chiotte.
pas moyen de faire fonctionner ces versions recompilées.
j'ai droit à des dysfonctionnement ou carrément des stack errors.
j'avoue que je sais pas trop d'où çà peut venir >:(
surement une histoire de version des programmes...