Copyright 2006 @ David Colmenero
http://david.dantoine.org - [ VOLVER ]
Este contenido:
NO puede ser usado para fines comerciales. NO puede ser modicado/suplantado el autor original de la obra.
Por favor visita mi página personal para un conocer el tipo de licencia actual.
Bienvenidos al tutorial sobre como tener tu maka funcionando usando software libre. Este se compondra en 3 capitulos bien diferenciados:
Nota: Las ventajas de usar software libre son muchas, y no las voy a relatar aqui, espero que el lector avispado entienda las razones de usar software libre en lugar de software privativo, y sino siempre puedes empezar a leer cositas sobre GNU/Linux e informarte un poco y asi hacerte tu propia opinion del asunto ;·)
Para seguir este tutorial al menos necesitaras una maquina tal que:
- CPU: 686 o mayor (es decir a partir de Pentium II y/o AMD K6)
- GRAFICA: AVGA tanto 7000 o superior (en concreto yo testeare en una AVGA casera basada en una 9250)
- RED: Cualquier cosa con la que nos podamos conectar a inet (Se necesita para al menos instalar el sistema)
- LECTORA: CDROM o > (Se necesita para al menos instalar el sistema)
- PANTALLA: TV o Monitor arcade (no coment xD)
- HD: Exclusivo 20gb o mayor ¡¡SACAD CUALQUIER OTRO!! (no me resonsabilizo si formateais vuestro zuindowz actual, por ello tened conectado solo el hd que vayais a usar y sacad/desconectad cualquier otro)
Nota respecto al Disco Duro: el sistema solo necesitara 100/200 megas, lo demas es para roms, vosotros mismos sabreis que lo que necesitais.
Este tutorial intenta que aproveches al 100% tu maquina, y por lo tanto el tutorial no va a usar entorno grafico (X11) en NINGUN momento, por ello vendria bien que no te asustaran los comandos y que tuvierais un manejo basico en MSDOS. Esto no quiere decir que no haya una forma mas amigable de hacer todo esto, claro que la hay, pero: requiere mas fotos, el "picha aqui"... que muchas veces es menos preciso que dar comandos y el por que de cada uno 
Consejos antes de entrar en faena:
- Si poneis vuestro router en modo DHCP, la configuracion en red es nula, solo tendreis que darle a OK, y poco mas
Sino seria necesario, minimamente saber lo que es una IP y/o como configurar una tarjeta de red (ip, dns, puerta de salida) para que tenga conexion a internet.
- Preparad cafe, os hara falta xDDD
Si despues de leer todo esto, no has corrido despavorido...
¡¡enhorabuena!! estoy seguro que vas a conocer algo donde el unico limite, lo pondras tu 
(si estas un poco asustadillo, tranquilo, no va a ser nada complejo y ademas yo os llevare de la manita)
Antes de comenzar necesitaremos una imagen del CD sistema, para este tutorial vamos a usar ubuntu:
http://www.ubuntu.com
Para este tutorial vamos a usar la version Breezy de ubuntu, que podeis conseguir en este mirror español:
http://old-releases.ubuntu.com/releases/5.10/ (recordad que es el Install CD para i386)
Grabad el CD con vuestro programa favorito a una velocidad maxima de 10x y marcad que revise los datos. Mientras se graba, para que os suenen luego, podemos aprovechar para hecharle un ojo a...
Nuestra pequeña lista comandos básicos Linuxeros
pwd : muestra el directorio de trabajo actual.
ls : lista todos los ficheros del directorio actual.
clear : limpia la pantalla (viene bien si usais TV y no veis las lineas inferiores)
cd [directorio] : entra en el directorio especificado.
cd .. : sale del directorio actual.
ps -aux : muestra los procesos lanzados con su número de identificación (pid)
kill -9 [pid] : mata un proceso según el número de pid indicado.
cp [fuente] [destino] : copia un fichero fuente sobre el nombre de destino (o en el directorio de destino si existe)
cp -r [dir_fuente] [dir_destino] : copia un directorio fuente sobre el nombre destino (o en el directorio de destino si existe)
tar xvfz : descompresión de un archivo tar en formato gz en el directorio actual.
tar xvfj : descompresión de un archivo tar en formato bz2 en el directorio actual.
rm [fichero] : eliminar el fichero en el directorio actual.
rm -rf [directorio]: elimina el directorio y todo su contenido.
wget [direccion] : permite bajar un fichero externo usando FTP o HTTP y te lo guarda en el directorio actual.
man [comando]: El manual de linux, totalmente en español os proporciona ayuda completa sobre cualquier comando.
[ALT]+[F1], [ALT+F2] ... [ALT]+[F6]: Cambia la consola actual de trabajo (multitarea).Un tutorial por si tienes mas curiosidad: http://www.debian.org/doc/manuals/referenc...utorial.es.html
Insertar el CD y reiniciad el ordenador, una vez arranque aseguraos de que teneis marcada la opcion de arrancar desde CDROM en la BIOS 
Empieza la fiesta chic@s!!
Comenzamos viendo al inicio una pantalla que nos muestra el logo de la distribucion, y debajo podeis leer un texto en ingles que, para el que no lo entienda, cuenta basicamente que en F1 tenemos la ayuda y que para instalar un servidor (es decir sin entorno grafico) escribamos "server".
Nuestra opcion va a ser esta ultima, pero antes de que escribais nada, debemos decirle al instalador que estamos usando una TV/Monitor arcade, para ello añadiremos "vga=771" para que nos permita instalar comodamente desde nuestra pantalla "poco comun" xD
Finalmente el comando quedaria:
server vga=771 (el simbolo igual lo teneis en la tecla [¿])
Pulsamos [ENTER] y comenzamos el proceso de instalacion, que vereis que no tiene mucho misterio 
Atencion si tienes problemas con el modo de 771 que es de 800x600 podeis probar a 640x480, con el modo 769. Aunque yo he probado en mi Hantarex 9110 y no he tenido problemas, aconsejo de todas formas mover los potenciometros de Sync Horizontal y Vertical, por que tiene que haber seguro un punto en el que se os vea, aunque quizas tengais que hilar fino y combinar posiciones...
En la instalacion nos moveremos con los [Cursores], [Tabulador], [Espacio], [Enter], [Inicio], [AvPag]...
Este sera el primer punto por el que nos preguntara la instalacion, abajo tenemos "Spanish - Español" que selecionaremos con [ENTER]. De nuevo nos pide confirmacion con "España", volvemos a pulsar [ENTER].
Una vez nos ha detectado el teclado, nos vuelve a preguntar por ultima vez, como antes pulsamos [ENTER].
Este paso es automatico, asi que no teneis que hacer nada mas que esperar 
Como explique antes si teneis la red configurada como DHCP, nos pedira confirmacion si los datos que ha encontrado son correctos, si lo son pulsad en [ACEPTAR], sino seleccionad la opcion de: "Configurar la red manualmente".
Direccion IP: Poned aqui la ip que querais que tenga la maka, recordad que tiene que estar dentro de vuestro rango, por ejemplo supongamos que uso el rango: 192.168.0.0, pues le pondremos una ip que sepamos que no esta ya ocupada por otra maquina... Pues, simplemente ponemos este numero; yo para el ejemplo voy a poner 192.168.0.200. (Como ves solo se cambia el numero final - 255 max.)
Mascara de Red: Tal y como esta por defecto esta bien.
Pasarela: Es la ip de vuestro router o del ordenador con la salida a internet. Yo por ejemplo voy a poner: 192.168.0.222.
Direcciones de Servidores de nombre: Normalmente los routers tambien dan DNS, yo pondre la misma, pero vosotros si preferis usar otras, todo vuestro
En esta ocasion repito mi: 192.168.0.222.
Nombre de la maquina: Poned el nombre que mas os guste, y os recomendaria ademas nada con "ñ" acentos, etc... con vuestro permiso yo usare "gauntlet", jejej
Bien aqui empieza la parte seria del primer capitulo, preparar nuestro disco duro para el trabajo diario al que le someteremos.
Vamos a ver, como Metodo de particionado selecionad la opcion: [Borrar el disco completo].
Niños, no hagais esto sin la supervision de un adulto xD
El proceso sera automatico y al final nos pedira confirmacion si todo esta correcto. Ahora teneis 2 opciones:
- Podeis seguir adelante, y por lo tanto tendreis un muy buen sistema de ficheros (ext3).
- Podeis decirle que [NO] y configuraremos ReiserFS que es un sistema, en mi opinion, perfecto para nuestros propositos; ya que maneja a la perfeccion diretorios con cientos, miles (¿millones? xD) de ficheros, directorios y subdirectorios.
Pues la decision es vuestra, sino quereis complicaciones marcad la casilla [SI] y pulsad [ENTER], si os va la marcha, dejadla en [NO] pulsad [Enter]....
Paso Opcional: Configurando ReiserFS
Teneis ahora un nuevo menu, poneros encima de la particion que pone "PRIMARIA [...] ext3", pulsad [ENTER] y aparecera un nuevo menu en el que deberiamos de estar marcando la opcion: "Utilizar como: sistema ext3...", pulsamos intro de nuevo y obtenemos un menu con todos los sistemas de ficheros disponibles. En la 3a opcion tenemos "ReiserFS" simplemente seleccionadla pulsando [ENTER].
Ahora pulsamos [Enter] sobre la opcion: "Se ha terminado de definir la particion" y de nuevo en el menu inicial pulsamos [Enter] sobre la opcion: "Finalizar el particionado y...". De nuevo una ultima pregunta nos asalta y la confirmamos seleccionando la opcion [SI] 
Este paso es automatico, es hora del cafe, seguro que lo tienes listo 
¿como lo has visto? ¿complicado? Espero que no...
Este proceso no suele durar mas de 5 o 10 minutos, el tiempo justo para relajarnos mientras llega la ultima tanda de preguntas 
Mas simple imposible, seleccionad vuestra zona horaria, lo normal sera "Madrid", pero si tu nick es Macarro pues "canarias" ;P
Ahora crearemos un usuario que nos valdra para instalar programas y para uso general, en principio solo vamos a tener ese, pero mas adelante podremos crear otros si lo necesitamos, es mas; cada usuario podria tener sus propias configuraciones y/o puntaciones y ello no estropearia la configuracion de los demas usuarios/jugadores.
Vamos a crear este usuario inicial, para empezar primero nos pregunta por el...
Nombre Completo del usuario
Podria ser algo como por ejemplo: "Pepe Lopez Garcia", pero como lo nuestro es para la maca, yo simplemente pondre "Mame"; vosotros poned lo que creais mejor, si os equivocais o lo pensais mejor, simple podreis darle a [RETROCESO] y empezar este paso de nuevo 
Usuario
Aqui debeis tener cuidado de no usar mayusculas, no es lo mismo poner como usuario: "Pepe" que "pepe". Yo usare "mame".
Contraseña
Pues alguna que recordeis y os la preguntara 2 veces 
De nuevo estos pasos son automaticos, os sacara el CD y reiniciaremos el sistema.
Este paso es automatico, esperaremos un rato a que termine y poco mas...
Tampoco fue para tanto, ¿no? 
Antes de que pasemos al siguiente tema necesitamos activar el administrador, que aunque podriamos usar "sudo" (super-user do) para administrarlo, no quiero liaros demasiado... ya teneis suficiente con lo vuestro xD
Bien entrad con vuestro usuario que hayais creado, por ejemplo yo cree "mame". y aparecera algo como:
mame@maka:~$ _
Este es el prompt del sistema y como en MSDOS, espera a que le demos ordenes!! pongamonos a ello 
Para activar la cuenta de root (administrador) haremos:
$ sudo passwd root
Nota: Cuando pulseis las teclas no se producira efecto en la pantalla.
Primero nos preguntara nuestra contraseña del usuario que creamos al comienzo de la instalacion y luego nos pedira (por duplicado) la del administrador.
Una vez activada saldremos del la sesion del usuario actual (en mi caso mame) pulsando [CTRL]+[D] o escribiendo logout. Para entrar como administrador usaremos como usuario: root y ya contraseña que escribisteis 

Bueno aqui teneis el que va a ser nuestro entorno de trabajo, vale la imagen es de Debian, pero es que son primas hermanas 
Finalmente los comandos para apagar y reiniciar el equipo, como root (administrador) son:
APAGAR
# halt
REINICIAR
# reboot
(Con CTRL+ALT+SUPR tambien reiniciais la cpu, si alguna vez lo necesitais :?)
Continuaremos ahora instalando los programas basicos para nuestra maka, que seran AdvanceMAME y AdvanceMENU, pero antes de poder instalarlos necesitaremos optimizar el nucleo del sistema, para que nos aproveche nuestra arquitectura 686 y preparar las librerias que permitiran a el emulador forzar los drivers para nuestro monitor arcade 
Para instalar programas necesitaremos entrar como administrador del sistema, asi que hacedlo como os explique anteriormente.
Una vez dicho... Continuamos!
Para tener todo el nucleo del sistema usando nuestra potente CPU, vamos a usar la excelente herramienta apt-get... Seguramente os suene a chino esta utilidad asi que como excepcion, vale la pena abrir un parentesis para explicar basicamente su uso:
Utilidades que todo buen linuxero debe manejar (I): apt-get
Esta es una potente utilidad que se encarga de bajar y configurar cada programa que instalemos. Cualquier programa de linux disponible para esa distribucion estara a vuestro alcance usando apt-get.
Su uso es muy simple:
apt-get COMANDO PROGRAMACOMANDO: puede ser muchas cosas pero nosotros solo usaremos: install y update.
PROGRAMA: el programa que deseas instalar. Conviene saber el nombre exactoSino lo sabes siempre puedes mirar en: http://packages.ubuntu.com
Por ejemplo:
# apt-get install zsnes¿Que haria este comando? Instalaria y configuraria zsnes en nuestro sistema, pero no solo eso; sino que si el programa necesita alguna libreria grafica especial (como SDL) tambien la bajaria (normalmente siempre nos pedira confirmacion si estas de acuerdo en instalarlas
).
Ademas, es bueno que antes de instalar ningun programa usemos:
apt-get updateQue actualiza la lista de paquetes disponibles.
La potencia de linux y de sus comandos nos permite por ejemplo instalar varios programas de una vez, por ejemplo:
# apt-get install zsnes dgenQue instalaria zsnes, y dgen ademas de todas las librerias que cada uno necesite ^^_
Para poder instalar svgalib necesitamos el fuente del nucleo de nuestro sistema (pero solo las cabeceras) asi que tambien las instalaremos 
Primero pondremos al dia la lista de ficheros:
# apt-get update
Y por ultimo instalaremos el nuevo nucleo disponible:
# apt-get install linux-686 linux-headers-686
Como necesita tambien instalar otros paquetes, nos pedira confirmacion le decimos que "si" y empezara a bajar todo lo necesario, nosotros esperaremos otro ratin 
Una vez este bajado necesitaremos reiniciar el sistema para que a partir de ahora use nuestro nuevo nucleo 686 
Lo haremos con un simple:
# reboot
Nota: Quizas añada un camino opcional que permita hacer una especie de instalacion simple con un kernel base y un SVGAlib tambien base. Luego ya si alguno quisiera actualizar que hiciera estos pasos :?
Para que advanceMAME vaya fino, cual mariposilla del bosque, necesitamos instalar las librerias svgalib que le permitiran un acceso directo a nuestra tarjeta AVGA y asi forzar los modos que nuestro monitor arcade requiere. Las librerias svgalib de windows en realidad son un port del "equipo advance" para windows y personalmente a mi me dieron muchos problemas, vereis que en linux van de perlas 
Empezaremos bajandonos el fichero comprimido con la libreria modificada:
# wget http://david.dantoine.org/ficheros/svgalib-1.9.20-4_modsky-src.tar.gz
Descomprimimos los ficheros:
# tar xvfz svgalib*.gz
Aclaracion: tar es un compresor que permite multiples formatos, por ahora sabed que existe xD
Antes de instalar las librerias necesitamos tener las utilidades basicas de programacion, para ello haremos:
# apt-get install build-essential gcc-3.4
Una vez instaladas pasamos a compilarlas e instalarlas:
# cd svgalib*
Entramos en el directorio
# make install
Compila e instala en nuestro sistema svgalib
Finalmente nos queda cargar el driver que SVGAlib ha compilado especialmente para nuestra arquitectura (686) y nucleo (2.6.12 cuando se creo este articulo). Recordad que si actualizais de nuevo vuestro nucleo (por ejemplo por uno mas nuevo) debereis de repetir estos pasos añadiendo "make clean" al inicio del proceso.
Para cargar el driver y la configuracion por defecto podemos reiniciar el pc o bien iniciar a mano el nuevo servicio. Iniciarlo estan simple como poner esta linea
# /etc/init.d/mame.sh start
Aclaraciones sobre el servicio mame.sh
Este es un pequeño script que he creado para este tutorial. Se os instala automaticamente al hacer el "make install" y lo podeis eliminar del arraque automaticamente haciendo "make clean" (que desinstalaria tambien todas las libs de SVGAlib).
Lo he creado por que el driver al estar aun en desarrollo, no tiene aun una forma simple de instalacion, y no os queria complicar mucho la vida, asi que este script basicamente inicia el driver y crea unos enlaces que necesita svgalib, es mas, tambien le dara un repasito los drivers de entrada (input) para que al inicio todo este preparado para jugar!
Nota para usuarios avanzados: He creado tambien una configuracion por defecto para SVGAlib pensada para monitores arcade y TVs. Si quereis hecharle un ojo o modificar algo la teneis en /etc/vga/libvga.config
Supongo que ya estareis hartos de tanto preambulo, os veo deseosos de ver como "tira" advmame en linux, bien pues vamos a ello! 
Empezamos instalando las librerias que necesita advancemame:
# apt-get install libsdl1.2debian-alsa # apt-get install libfreetype6
Bajamos la version precompilada que he preparado para nuestro tutorial:
# wget http://david.dantoine.org/ficheros/advancemame-686_0.104.0-1_i386.deb
Y la instalamos localmente usando dpkg:
# dpkg -i advancemame-686_0.104.0-1_i386.deb
Ahora vamos a configurar muy rapidamente advancemame, solo para comprobar que todo esta correcto. Para una configuracion e instalacion detalladas, teneis los tutoriales de DOS y Windowz de Lord, exceptuando los pasos de la instalacion previa, claro.
Antes de pasar al tema vamos a bajar una rom de mame, freeware por supuesto, que he subido a mi site:
# wget http://david.dantoine.org/ficheros/robby.zip -P /usr/local/share/advance/rom
Aclaracion: la opcion -P indica el directorio donde guardara el fichero, que es el directorio donde advancemame buscara nuestras roms.
Ahora lo que debemos de hacer es salir de la cuenta de administrador y entrar como usuario normal, esto es muy importante y debeis acostumbraros a usar las cuentas de usuario para el uso normal y la de root solo para tareas de mantenimiento y poco mas...
Ejecutamos por primera vez advancemame para que genere el fichero de configuracion...
$ advmame
Ahora vamos a crear una configuracion basica con advcfg diciendole que use como profundidad por defecto 16bits (esto es muy recomendable para nuestra ATI/AVGA).
advcfg -bit 16
Seleccionamos las opciones de monitor arcade o tv (segun el caso) y finalmente centramos y guardamos (para mas detalle mirad los tutoriales de advmame.
Aviso: Al terminar el programa advcfg, no deja escribir, esto parece un problema del advcfg cuando usa el driver svgalib, pero se soluciona facilmente saliendo de la sesion con CTRL+D y volviendo a loguear.
Finalmente probamos nuestro mame recien instalado con la rom freeware, que no es ninguna maravilla pero al menos nos vale de testeo grafico y sonoro 
# advmame robby
Consejo para usuarios que hayan hecho el Apendice A (y sino a que esperas!)
Recomiendo editar el "advance.rc" con el "Midnight Commander" el fichero lo podeis encontrar dentro del directorio ".advance" y hacerle al menos los siguientes cambios:
[...] device_color_bgr15 no device_color_bgr16 yes device_color_bgr24 no device_color_bgr32 no device_color_bgr8 no device_color_palette8 no device_color_yuy2 no [...] device_video_interlace no [...] misc_quiet yes misc_safequit noFinalmente para afinar tu advmame tendrias que empezar a currarte configuraciones con el advv para que algunos juegos no te hicieran barridos extraños y asi conseguir la perfecta emulacion que deseamos. Recomiendo leer el "modeline howto" que traduje.
Bueno estamos ya en el paso final para tener nuestra maquina operativa, al menos basicamente
Recordad que de nuevo tenemos que trabajar con el admin (root)
Me gustaria advertir que advanceMENU tiene algunos problemas bajo linux si este no esta correctamente configurado, pero una vez hecho, ira como la seda 
Bajaremos la version precompilada que he preparado para el tutorial.
Usuarios Avanzados: En principio no es necesario que compileis una version para vuestra CPU, mas que nada por que optimizar el menu, no nos va a servir de mucho, es mejor tener una version estable y poco mas
Empezamos bajando el paquete del menu:
# wget http://david.dantoine.org/ficheros/advancemenu-686_2.4.12-2_i386.deb
Y ahora lo instalamos simplemente haciendo:
# dpkg -i advancemenu-686_2.4.12-2_i386.deb
Listo, ya tenemos el advmenu disponible para nuestro usuario "mame" (en nuestro ejemplo) asi que logueamos con el y arrancamos el menu para que genere sus ficheros de configuracion:
$ advmenu
Bien ahora antes de arrancar el menu deberiamos de editar un par de lineas que por defecto estan mal configuradas y que colgarian el programa. Es recomendable hacer el apendice A para poder tener un editor decente, sino lo quereis hacer, usaremos nano, que tampoco es muy complicado de usar...
$ nano .advance/advmenu.rc
Y ahora con los cursores os moveis por el documento de texto y cambiad las opciones que os pongo para que aparezcan tal que asi:
[...] device_color_bgr15 no device_color_bgr16 yes device_color_bgr24 no device_color_bgr32 no device_color_bgr8 no device_color_palette8 no device_color_yuy2 no [...] device_joystick raw [...] device_sound none (si quereis sonido poned "oss", pero NUNCA AUTO) [...] device_video_interlace no [...]
Y ahora con [CTRL]+[O] guardamos (nos confirma el nombre, simplemente [ENTER]) y con [CTRL]+[X] Salimos.
Ahora ya podemos sin problema empezar a usar advcfg o advv para poner un modo correcto, de todas formas os dejo una mini seccion con una configuracion correcta para nuestra AVGA, por sino quereis pelearos con advcfg y demas xD
Configuracion TV/Arcade monitor by D_Skywalk
Simplemente volveis a editar el fichero anterior y añadis estas lineas:
device_video_clock 5-100 / 15.62 / 50-60 device_video_format 15620 0.727273 0.0454545 0.0909091 0.136364 0.915709 0.0114943 0.0114943 0.0613027 device_video_modeline standard_640x276 13.4563 640 664 744 856 276 278 282 303 -hsync -vsyncY finalmente buscamos la linea que dice "display_size" y cambiamos su valor por "640"
Listo, ya solo nos queda arrancar el menu!
$ advmenu
Para iniciar el frontend al inicio del sistema vamos a necesitar dos nuevas utilidades, aunque espero que cuando tenga mas tiempo pueda hacer algun programita simple que haga aun mas facil este ultimo paso. O bueno, si alguien se anima que avise 
Empezamos con agetty que nos permitira substituir a nuestro viejo login por el programejo que le indiquemos 
Asi que como root bajamos agetty:
# wget http://david.dantoine.org/ficheros/agetty_2.11z-2_i386.deb
Instalamos agetty con el ya conocido:
# dpkg -i agetty*.deb
Ahora os presentare a skymame mi pequeño script de inicio del advmenu
La verdad es que es muy simple y creo que no le vendria mal algunas features, pero bueno nos vale para lo imprescindible...
Arranca advmenu y nos permite apagar con pulsar intro al cerrar advmenu 
# wget http://david.dantoine.org/ficheros/skymame -P /sbin
Y le damos los permisos correctos para pueda ser ejecutado:
# chmod +x /sbin/skymame
Por ultimo editamos el inittab (/etc/inittab) para que al inicio en lugar de ejecutar el programita que pregunta el login, carge nuestro script...
Empezamos comentando la linea que substituiremos:
#1:2345:respawn:/sbin/getty 38400 tty1
(Podeis comentar tambien los terminales 4 5 y 6, sin problemas)
Y ahora añadimos despues de la primera linea comentada:
1:2345:respawn:/sbin/agetty -n -l /sbin/skymame 38400 tty1 linux
A mi me ha quedado algo asi:
#1:2345:respawn:/sbin/getty 38400 tty1 1:2345:respawn:/sbin/agetty -n -l /sbin/skymame 38400 tty1 linux 2:23:respawn:/sbin/getty 38400 tty2 3:23:respawn:/sbin/getty 38400 tty3 #4:23:respawn:/sbin/getty 38400 tty4 #5:23:respawn:/sbin/getty 38400 tty5 #6:23:respawn:/sbin/getty 38400 tty6
Finalmente nos queda configurar un parametro que tiene mi pequeño saltamontes y es el usuario que deseais que arranque advmenu y advmame, evidentemente ese usuario es en el que debeis tener configurado ya todos los emus ^_^
# nano /sbin/skymame
El usuario por defecto es "mame", con solo cambiarlo ya lo teneis!
Listo, ahora al iniciar la maquina automaticamente aparecera advmenu y una vez cerrado aparecera un menu de mantenimiento que os permite, por ahora, reiniciar el menu o apagar el sistema... pero es muy facilmente editable ya lo vereis!
No olvideis enviarme las mejoras que le hagais!!
Y llega el momento de la despedida... o nO?
La verdad para que engañaros aun nos faltan cosas que se iran ampliando en futuros tutoriales linuxeros y que ampliaran vuestros conocimientos para tener la perfecta maka que deseeis... Este tutorial solo ha pretendido poner unos buenos cimientos donde construir futuros tutoriales:
- soporte para LPT en Linux con OpenPPJOY,
- mas emuladores,
- Entornos graficos para cpus potentes,
- etc...
Espero que todo este tutorial os haya resultado util ya que: Muchos padawans han muerto para... eeh, bueno no
pero alguna neurona si que ha caido :P
Recordad enviarme vuestras impresiones, mejoras o sugerencias a mi correo:
dantoine (en) gmail (punto) com
En las siguientes secciones vamos a intentar afinar muchas cosas que no son totalmente imprescibles para tu maka, pero que no os vendran mal si quereis hacer un uso de: "no solo juego" e incluso lo pasareis como enanos si os gusta el "cacharreo informatico" ;D
Ubuntu nos configura el sistema en español, pero ciertas utilidades no soportan aun perfectamente la configuracion por defecto que ubuntu nos propone en principio, asi que la vamos a cambiar:
# dpkg-reconfigure locales
Aclaracion: este programa permite volver a configurar programas ya instalados
Primero nos aparecera una gran lista de idiomas, en principio solo deberiais de dejar marcadas estas dos:
es_ES.ISO-8859-1 es_ES.ISO-8859-15@euro
En la siguiente pantalla nos preguntara cual queremos usar, yo os recomiendo la del "euro" 
es_ES.ISO-8859-15@euro
Y listo ya tenemos nuestro idioma en un modo un poco mas compatible (aunque menos internacional). Para que los cambios tengan efecto reiniciad el sistema.
Si os apetece trastear un rato el linux y os sentis perdidos, un poco perdidos, vamos a instalar una utilidad que os ayudara en este nuevo mundillo linuxero: Midnight Commander. Esta utilidad nos permitara editar ficheros, copiar y demas operaciones muy facilmente ^^_
Para instalarla vamos a hacer 3 simples pasos:
En este primer paso vamos a añadir algunos nuevos lugares donde nuestro linux podra encontrar nuevas aplicaciones, para nuestro gozo y disfrute 
Vamos a empezar bajandonos mi lista recomendada de repositorios:
# wget http://david.dantoine.org/ficheros/repositorios.txt
Aclaracion: wget se encargara de bajar nuestros ficheros y guardarlos en el directorio que nos encontremos. Como veis su uso es muy simple.
Una vez bajado vamos substituir la informacion antigua, para que apt-get conozca los nuevos repositorios 
# cat repositorios.txt > /etc/apt/sources.list
Nota: si os fijais con que pongais "rep" y pulseis tabulador la el nombre del fichero se completara solo.
Nota 2: cat es un hermano mayor del type de msdos, por si alguno lo conoce.
De nuevo actualizamos apt-get con:
# apt-get update
Nota: Si algun repositorio os diera error, volved a ejecutarlo otra vez, a veces los servidores se saturan y pasan de nuestra peticion xD
Y por ultimo instalamos Midnight Commander:
# apt-get install mc
Para ejecutar el programa solo debeis teclear:
# mc

Seguro que a alguno le recuerda a cierta utilidad de norton...
Para acceder remotamente al sistema vamos a usar un protocolo seguro SSH. Nos permitira entrar y administrar la maquina remotamente, y esto es muy util sobretodo en nuestras maquinas que en principio no estan pensadas (ni acondicionadas) para un mantenimiento "in situ" 
Si usas Linux o MAC seguramente ya tendras instalado el software necesario en tu maquina, pero si usas Windowz puedes bajarte Putty o cualquier cliente ssh que encuentres por google. Simplemente poneis la IP del pc a conectar y marcais SSH 
Pero claro antes de todo esto, deberemos de instalarlo, vamos a ello!
# apt-get install ssh
Listo! ^^_
Nota: Antes de empezar se recomienda haber completado el Apendice A.
Con la intencion de que este tutorial valga para un futuro, no muy lejano la verdad, viendo la rapidez de versiones que publican el MAME-TEAM; voy a explicar como facilmente compilaros vuestras versiones de MAME, adaptadas a vuestras necesidades 
La verdad que uno oye la palabra compilar y ya se cree que esta puede ser una tarea compleja, y en parte llevaria razon quien lo pensara, pero eso seria si quisieramos hacer cambios en el codigo o añadir drivers... pero vereis como tener al dia vuestro MAME optimizado para vuestra CPU es poco menos que un paseo 
Empezaremos bajandonos la ultima version, cuando se hizo este tutorial teniamos disponible la release 0.104 de advancemame:
# wget http://ovh.dl.sourceforge.net/sourceforge/advancemame/advancemame-0.104.0.tar.gz
Nota: esto se podria hacer mas facil usando Lynx por ejemplo, un navegador web de consola ¿como lo veis?
Nota2: Cambiad el "104" por la version que desees usar de advanceMAME.
Ahora dejaremos a apt-get la tarea de instalarnos las librerias de desarrollo necesarias para llevar a buen puerto nuestra tarea 
# apt-get install nasm libsdl1.2-dev
Nota: Se instalaran unos 41 paquetes, pero no os asusteis por el espacio que os puedan ocupar, ya que no llega a mas 10megas, heheh.
# apt-get install libfreetype6-dev
El siguiente paso va a ser descomprimir advancemame y entrar en su directorio:
# tar xvfz advancemame*.gz # cd advancemame*
Ahora con un simple comando vamos a dejar que un script configure nuestro mame basicamente:
./configure
No se si se bien con esta letra, pero los dos primeros caracteres son: "punto" y "barra".
Una vez configurado el siguiente paso es opcional:
Para aquellos que quiera afinar su configuracion de CPU pueden editar con "mc" el fichero"Makefile" donde unas lineas mas abajo se puede leer:
CONF_CFLAGS_OPT= -march=....Aclaracion: Las CFLAGS es la forma que tenemos para activar las optimizaciones que como usuarios deseamos que tengan nuestros binarios.
Y la pregunta que os formulareis ahora ¿como sabemos cual es la mejor opcion para nuestra CPU?
Pues dadle las gracias a los chicos de gentoo por facilitarnos la vida (y no tener que marearnos por google) con su fantastico wiki, donde tienen una lista por CPUs y los flags recomendados: http://gentoo-wiki.com/Safe_Cflags
Nota: sino sabeis la familia exacta de vuestra cpu podeis hacer un "cat /proc/cpuinfo" como indica el wiki y ya tendreis todos los datos necesarios!Ademas tambien ganaremos un poco mas de velocidad si cambiamos -02 por -03, a costa de un pequeño aumento de tamaño en los binarios
Hay otro flag de optimizacion para los drivers que tengan partes en ASM (si es que aun queda algo en mame en ASM), es añadiendo en la linea de los flags ASM "-O9999".
Probadlo si quereis y luego nos contais si habeis notado alguna mejoria.Como ejemplo os dejo mi configuracion de CFLAGS para mi Celeron a 2ghz:
CONF_CFLAGS_OPT= -march=pentium4 -fomit-frame-pointer -O3 -fno-merge-constants -Wall -Wno-sign-compare -Wno-unusedNota: El -pipe solo tiene efectos al compilar, no tiene nada que ver con el propio ejecutable asi que, rara vez lo suelo usar.
Con estos CFLAGS y la configuracion por defecto de advmame (mas los cambios recomendados anteriormente) consigo 400fps de media en el Street Fighter II: Champion Edition (sf2ce). Para comprobar vosotros como de veloz os va, pulsad: F10 (throttle) y luego F11 (mostrar fps).
Una vez esta todo configurado ya solo queda teclear:
# make
Nota: durante este proceso os saldran algunos avisos, no os preocupeis es totalmente normal... :P
Una vez mas a ser pacientes ya que la compilacion puede durar facilmente mas de media hora, es un buen momento de tomarnos un respiro mientras el proceso finaliza 
Una vez haya terminado, solo nos queda instalarlo:
# make install
[ Esta seccion se queda para futuras investigaciones
]
Quizas algunas partes de este apendice requieren algo de experiencia linuxera, si metes la gamba xD
Voy a dar un par de mini consejos de como mejorar el arranque de la maquina, para que este sea mas veloz 
Primero vamos a quitar todo lo que no sea imprescindible para la maca del arranque...
# update-rc.d -f ntpdate # update-rc.d -f console-screen.sh remove # update-rc.d -f mdadm-raid remove # update-rc.d -f mdadm remove # update-rc.d -f pcmcia remove # update-rc.d -f lvm remove # update-rc.d -f evms remove # update-rc.d -f rsync remove
Podeis hacer lo mismo con ssh, y si alguna vez necesitais entrar remotamente lo iniciais manualmente con /etc/init.d/ssh start
Ahora para que el arranque de los ultimos servicios se carguen sin esperas, editamos el script de inicio:
# nano /etc/init.d/rc
Y buscamos la linea que pone
startup $i start
Y le añadimos al final "&" para que obtengamos:
startup $i start &
Tambien podemos darle cañita al sistema con hdparm, en principio comprobamos si tenemos el dma activo en nuestro disco duro...
# hdparm -d /dev/hda
Siendo "hda" la unidad de tu disco duro, normalmente es "hda" o "hdb".
Si no lo teneis activadlo:
# hdparm -d1 /dev/hda
podeis añadir este comando por ejemplo al mame.sh del inicio para que lo haga cada vez o si quereis hacerlo mejor, configurad el hdparm.conf que teneis en /etc.
¡E..E...E..Esto es todo amigos! 
WIP:
- Actualizarlo a la nueva Ubuntu Dapper!!! 
- Añadir el logo al inicio 
- Repositorios y downloads actualizados