Preparando el pc para la recreativa
Como ya dije, he comprado una máquina recreativa de videojuegos de segunda mano. Pensaba que me iba a llegar esta semana pero entre unas cosas y otras la cosa se ha retrasado.Mientras tanto para no perder el tiempo, he estado preparando el pc que va a ir dentro de ésta. Un pc montado a piezas que he bautizado como NeoEX.
En principio el pc iba a ser una vieja placa Asus P2B-F con un Pentium III Coppermine (slot 1) 700 Mhz ligeramente overclockeado a 733 Mhz, pero tras unas pruebas decidí usar otra placa con un Athlon para tener mejor rendimiento. En esta máquina van bien todos los juegos del Mame (escepto los 3D y los chd, que no van al 100% ni en un pc de última generación).



La placa es una Asus A7N8-VM de formato microAtx con chipset nForce 2 con gráficos GForce 4 integrados. La placa la reservaba para otro proyecto (un HTPC) pero le doy prioridad a la recreativa ;)
El micro es un AMD Athlon XP 2100+ (1730 Mhz) de mi antigua workstation. No es una maravilla (núcleo Palomino) pero cumple perfectamente su misión.
De momento la máquina cuenta con un módulo DDR de 256MB de RAM, tengo planeado comprar otro módulo idéntico para activar la función dual.
Finalmente la gráfica integrada queda sustituida por una Ati Radeon 9250 de 128MB DDR (35 euros en pcbox). La gráfica integrada en la placa no está mal pero usa memoria compartida (64MB de la memoria principal) afectando al rendimiento global del sistema. Con una gráfica dedicada la memoria principal queda totalmente libre para el micro sin interrupciones en el acceso a ésta.
La elección de esta gráfica no ha sido casual. Esta tarjeta puede modificarse preparando una bios específica (el proceso necesitaría un tutorial dedicado) que tras flashearla en la tarjeta ésta entrega todas las resoluciones a un rango de frecuencias adecuadas para la visualización en un monitor arcade (la pantalla de la recre). De hecho, la tarjeta modificada cuenta con resoluciones típicas de placas de juegos arcade (320x224, 256x256...), gracias a esto se podrán usar resoluciones nativas del juego original a emular aumentando tremendamente la calidad de imágen y evitando usar técnicas como el scaling y demás. Vamos, será la emulación perfecta a todos los niveles.
En el apartado de interfaz con el panel de mandos, monedero, etc, el equipo cuenta con el J-Pac de Ultimarc. Aunque está montado y conectado no he podido probar su funcionamiento ya que todavía no tengo la máquina.
En mis proyectos de hace años pensé en adaptar mandos de PlayStation al panel y conectarlos al pc mediante adaptadores que venden por ahí. Después comencé a diseñar una placa para hacerme mi propio controlador (con un PIC y 4 componentes más) pero como no soy animal paciente lo dejé correr y ahí se quedó en una carpeta de mi hd.
Finalmente me decidí por el J-Pac, que aunque quizás sea un poco caro, no deja de ser una maravilla. Más fácil no puede ser, solo tendré que conectar el conector estándar Jamma de la máquina al J-Pac y tener funcionando al instante los controles del Mame.
Todo el equipo va montado sobre un chasis metálico proveniente de una torre gigante que tenía en el trastero.
En el apartado software es en el que estoy más metido estos días. Tras pensar en opciones como DOS, Linux y Windows finalmente me decidí por el último.
El sistema elegido es Windows XP con ligeras y profundas modificaciones :)
Digamos que lo he modificado hasta tal punto que no se ve nada parecido a Windows. Quiero que realmente dé la sensación de una máquina para juegos y no la de un pc normal.
Todo esto está en fase preliminar, hay que poner todo a prueba. De momento arranca en menos de un minuto (desde que se pulsa el botón, bios, arranque, hasta que aparece el frontend del emulador). Durante el proceso de arranque no se muestra absolutamente nada, nada más que un texto: 'un momento...' (no se me ocurría otra cosa en ese en momento...).
En realidad tiene un logo de arranque que muestra una imagen bien chula con el logo NEO-EX pero tras las pruebas decidí desactivarlo. Arranca sin logo.
Al final del proceso de arranque del sistema no se carga ninguna interfaz gráfica ni shell (no hay barra de tareas, escritorio ni nada de nada), en su lugar se ejecuta un script que he creado en otra partición (la dedicada al soft de emulación) que se encarga de preparar el entorno (ocultar el ratón y otras cosas...) y lanzar el frontend (menú de juegos). También he tenido que desenpolvar Visual Basic para hacer rápidamente una pequeña utilidad (la que oculta el ratón).
Como ya he dicho el sistema arranca muy rápido (y eso que los discos duros son de bajísimo rendimiento) y se apaga en 5 segundos solamente. Todo esto es gracias a una noche entera haciendo optimizaciones en el SO ("sarna con gusto no pica" xD).
Todo el sistema es administrable a través de la red. Tengo que contar con que este pc va a estar dentro del mueble de la máquina y abrirla cada 2x3 para modificar algo no es muy práctico que digamos. De hecho el pc estará dentro tal cual, sin teclado, ratón, cdrom ni nada. Solamente la placa, dos discos duros y la fuente de alimentación.
Aquí podeis ver un vídeo de cómo marcha la cosa (está en fase muy preliminar...)
He dejado también aquí el video con un poco de más calidad.
En estos momentos estoy pensando en el método para encender y apagar el equipo y la máquina entera (monitor, fluorescente de la marquesina...). Apagar a saco con un interruptor que corte la corriente general no me parece buena idea (Windows se resentirá a pesar de haberle desactivado la caché de escritura y la memoria virtual).
Otra opción sería tener el interruptor para apagar la máquina (monitor y demás) y el pulsador de siempre para encender o apagar el pc como dios manda, pero no lo veo nada práctico.
Finalmente me estoy decantando por la posibilidad de instalar un relé alimentado por la misma fuente ATX del pc. Al encender el pc mediante el botón de siempre activará el relé y éste conmutará la corriente para el monitor y accesorios. Al apagar el pc el relé se desactivará y consecuentemente quitará la corriente a toda la máquina.
De esta manera podría dejar un conmutador general para quitar la corriente a todo el conjunto y el pulsador para encender o apagar en un sitio accesible pero no visible.
Bueno, ahora a seguir esperando a que llegue la máquina... espero que sea mañana lunes (ains...).
Seguiré informando :)