Compilare AdvanceMame + Advancemenu

1. Download

Per compilare l' advanceMame (http://advancemame.sourceforge.net/) dovete avere:

a) I sorgenti dell'advanceMame http://advancemame.sourceforge.net/download.html

b) I sorgenti del mame (http://www.mame.net); non quelli gia' modificate per il dos o per linux, ma quelli 'puri' (il file si chiama mame-VER-s.zip per intenderci). Le potete trovare qui: http://www.mame.net/downmain.html -IMPORTANTE- la versione del mame e dell'advance mame devono coincidere, le versioni vecchie del mame sono comunque sempre reperibili sul sito (http://www.mame.net/oldmame.html).

c) L' advanceMenu (http://advancemame.sourceforge.net/menu-download.html).

d) Le librerie zlib 1.1.3 , per utilizzare i file compressi. Sono comprese nel pacchetto gzip (www.gzip.org)

e) Le svgalib 1.9.14 o successive (www.svgalib.org). Io utilizzo la versione 1.9.14 ...

f) S-Lang 1.4.3 o successivo (www.s-lang.org).

g) libSDL 1.2.4 o successive.

h) NASM 0.98.33 o successivo (http://nasm.sourceforge.net/).

i) Un kernel successivo al 2.4.5, il gcc ver. 3.2.1 ed il make 3.79.1 o successivo

2. Installazione svgalib

Assicuratevi di avere i sorgenti del kernel installati, unzippate le svgalib e, dalla loro dir, fate make install.
Per attivare le svgalib potete farvi un piccolo script tipo questo:

svgastar
#!bin/bash
insmod /DoveAveteLeSvgalib/svgalib-VER-/kernel/svgalib_helper/svgalib_helper.o

chmod +x svgastart da eseguire ovviamente da root...

oppure se non volete stare tutte le volte ad avviarle, editate il file etc/modules.conf ed inserite
dove volete :

alias char-major-209 svgalib_helper

3. Compilazione

Do per scontato che abbiate il kernel, il gcc, gzip, le librerie SDL, ed il make gia' installati e delle versioni richieste. Installate il NASM se non c'e' gia...
Scompattate S-Lang e installatelo, ./configure, make, make install ... Nella versione 0.63 dell' advance mame, il gcc va a cercare il file slang.h nella cartella include/slang, mentre il programma lo installa in include/.
Andate quindi nella dir dove e' installato slang.h (es. /usr/local/include/), create la dir 'slang' e copiateci il file slang.h.
Decomprimete l' advanceMame 0.63. Stessa cosa con il mame063s.zip ottenendo cosi' il file MAME063.ZIP, che sposterete nella dir dell' advmame. Da qui lanciate il comando 'unzip -aa MAME063.ZIP' che oltre ad unzippare i file converte i sorgenti dal formato winzoz CR/LF al formato Unix CR...
Ora che e' quasi tutto pronto dovete patchare i sorgenti del mame con il file advance/advmame.dif, andate dunque nella dir src/ e scrivete: 'patch -p1 < ../advance/advmame.dif '. Prima di lanciare ./configure cancellate il file 'makefile'.
Un ultimo appunto prima di compilare, a me durante il make dava il seguente errore:

advance/linux/vsvgab.c: In function `svgalib_init':
advance/linux/vsvgab.c:176: `PM2' undeclared (first use in this function)
advance/linux/vsvgab.c:176: (Each undeclared identifier is reported only once
advance/linux/vsvgab.c:176: for each function it appears in.)
make: *** [obj/menu/unix/blend/linux/vsvgab.o] Error 1

Non so, io l'ho risolto semplicemente commentando la riga 176 del file advance/linux/vsvgab.c

switch (chipset) {
case NV3 : /* TNT support interlace, but GeForge not */
case RENDITION : //righa 175
//case PM2 : //righa 176
case I740 : //righa 177
case I810 :
case APM :
log_std(("video:svgalib: disable interlace modes not supported by this driver\n"));
svgalib_state.flags &= ~VIDEO_DRIVER_FLAGS_PROGRAMMABLE_INTERLACE;
break;
};

Non ho ancora provato pero', riguardando ora il codice, dovrebbe essere un problema legato alle svgalib < 1.9.17

Completata la compilazione, da root, make install.

4. Configurazione Advancemame

Lanciate innanzitutto advmame che creera' il file advmame.rc.
Per configurare il monitor e la risoluzione dovete avviare il programma 'advcfg' (ovviamente non da X) ed inserire le specifiche del vostro monitor... Se non sapete cosa scrivere o cosa diavolo siano tutti i parametri che vi chiede inserite:
-Nella prima schermata PC Monitor (hehehe non l'avreste mai detto vero?).
-Nella seconda il discorso e' un po' piu' complicato... Scegliete Custom e inserite pclock=5-90, per il clock verticale ed orizzontale (vclock e hclock) invece guardate sul libretto del monitor altrimenti fate un po' di tentativi tenendo conto che per un svga 800x600 hclock=31.5-37.9 vclock=40-90 ...
Prima di terminate la configurazione apritevi un'altra console ed editate il file /etc/vga/libvga.conf
Troverete le seguenti righe:

# Monitor type:

# Only one range can be specified for the moment. Format:
# HorizSync min_kHz max_kHz
# VertRefresh min_Hz max_Hz

# Typical Horizontal sync ranges
# (Consult your monitor manual for Vertical sync ranges)
#
# 31.5 - 31.5 kHz (Standard VGA monitor, 640x480 @ 60 Hz)
# 31.5 - 35.1 kHz (Old SVGA monitor, 800x600 @ 56 Hz)
# 31.5 - 35.5 kHz (Low-end SVGA, 8514, 1024x768 @ 43 Hz interlaced)
# 31.5 - 37.9 kHz (SVGA monitor, 800x600 @ 60 Hz, 640x480 @ 72 Hz)
# 31.5 - 48.3 kHz (SVGA non-interlaced, 800x600 @ 72 Hz, 1024x768 @ 60 Hz)
# 31.5 - 56.0 kHz (high frequency, 1024x768 @ 70 Hz)
# 31.5 - ???? kHz (1024x768 @ 72 Hz)
# 31.5 - 64.3 kHz (1280x1024 @ 60 Hz)

HorizSync 31.5 37.9
VertRefresh 50 90

 

Cambiate le ultime due righe secondo i parametri che avete inserito nell' advcfg es. se avete inserito hclock=31.5-64.3 e vclock=55-130 cambiate:

HorizSync 31.5 64.3
VertRefresh 55 130

Fatto cio' salvate il file libvga.conf, tornate all'altra console e terminate la configurazione con
Easy centering che vi permette, magia, di centrare lo schermo...

Non vi resta che comprarvi le licenze dei giochi, scaricarvi le rom e piazzarle nella dir StradaPerCasaVostra/.advance/rom

5. Advancemenu

Per compilare l'advancemenu la procedura e' analoga a quella dell' advmame.
advmenu per creare il file di configurazione advcfg -advmenu per configurare il monitor...
I suoni e le immagini dei giochi vanno nella dir $HOME/.advance/snap
Tutti gli screenshot fino alla ver 0.60 li potete trovare sul sito del macmame http://www.calarts.edu/~nstrum/macmame/
Una ventina di Mb di suoni sono invece disponibili sul sito crashtest.retrogames.com/Mp3/advancemirror.htm

Bene ora e' tutto pronto per giocare in modo professionale, divertitevi...