Quizás alguno de vosotros no conozcais el NeoPocott, ya que quizás aún sea eclipsado por R.A.P.E.? o NGPocket. Su autor es Julien Frelat, más conocido como Gollum, un francés ingeniero en ciencias computacionales que ha logrado emular la Neo·Geo Pocket sin nisiquiera tener una él, al menos para ver como de fiel era la emulación comparándola con la salida por la consola. En las líneas de abajo nos habla sobre él, sus estudios, sus pinitos en programación antes de empezar con los emuladores, las vicisitudes que pasó para empezar NeoPocott, y bastantes cosas más que hacen de esta una entrevista bastante interesante si quieres conocer más sobre el autor de NeoPocott, y de los pasos que hay que seguir para currarse uno... ;-)
Sitio Original de la Entrevista: RC
ROMs
Link a la Versión
Original de la Entrevista
HomePage del NeoPocott
Sección: Neo·Geo
Pocket
Fecha
de la Entrevista: 7 de Octubre de 2000
Entrevista con Gollum, emulador
de NGP
Entrevistador:
Rico & PnP
Traducción por MrNet
Entrevista con Gollum, de NeoPocott
P: Rico:
¿Puedes presentarte tú mismo para la gente que no sepa quién
eres?
R: Gollum:
Vale, soy Julien Frelat, también conocido como Gollum. Soy el autor
de Boycott, un emulador de Game Boy; de NeoPocott, un emulador de Neo·Geo
Pocket; de Pcott; de Mascott & webmaster de Emu5ever, una página
web de emulación general. Tengo 23 años y trabajo a jornada
completa. Cuando tengo timpo libre, trabajo en alguno de estos proyectos...
Además, soy francés y vivo en Paris.
P: PnP:
¿Puedes hablarnos de tus estudios y de tu actividad profesional?
R: Gollum:
¡Hice un "DUT" en ciencias de la computación después
del BAC! (Nota del traductor: BAC es el graduado general de los institutos
franceses, DUT es un título de postgrado del BAC, que se realiza
durante 2 años).
Más tarde,
entré en una escuela técnica de ingeniería de ciencias
computacionales: IIE (Institut d'Informatique d'Entreprise) y conseguí
mi título de graduado tras 3 años de estudio.
Después
de hacer mi servicio militar obligatorio, creé NeoPocott. Actualmente
trabajo en una casa de software que ofrece traducción dinámica
y en tiempo real para aplicaciones o para páginas web. Soy un ingeniero
de software en esta compañía y tengo algo de tiempo libre
para programar emuladores ;-)
P: Rico:
¿Cuando conociste la emulación?
R: Gollum:
Buena pregunta. Realmente, hace 3 años, cuando uno de mis amigos
me habló de un emu de Master System llamado Massage. Decía
que dicho software era capaz de hacer posible jugar a juegos antiguos en
un PC. No creía que fuera posibe, pero lo probé y después
de eso me metí en el mundillo de la emulación ;-)
Un año después,
estaba hablando con otros 2 amigos de un proyecto de programación,
cuando decidimos desarrollar un Emulador. Para tener un comienzo sencillo
y divertido, elegimos hacer un emu de Game Boy. Pensamos que sería
fácil de hacer. El tiempo pasó, y yo era la única
persona que quedaba en el proyecto, y este emu se convirtió en Boycott.
Lo programé durante mis estudios.
PnP:
Un año más después de descubrir la emulación,
¡decidiste desarrollar un emulador!
R: Gollum:
Así es, realmente hice un juego de carreras-3D con un amigo, pero
queríamos programar algo más. Y había probado ya tantos
emus que quería hacer el mío propio.
P: PnP:
¿Has programado antes?
R: Gollum:
Empecé a programar desde jovencito, como creo que mucha gente.Solía
hacer pequeños juegos o demos en C, PASCAL y BASIC.
P: PnP:
¿Podrías hablarnos de ese juego 3D?
R: Gollum:
¿Space Racer? Al principio fué un proyecto escolar para mi
primer año de escuela de ingeniería... Realmente, teníamos
que realizar un proyecto de tema libre (usando los temas del profesor,
como Rubikube o un traductor de PASCAL a C o... podíamos proponer
un proyecto personal).
Decidimos hacer
algo grande: un juego de carreras-3D que pudiera funcionar en Unix DEC
OSF/1 (condición necesaria). & nació Space Racer. Realmente,
es un juego de carreras espaciales, aunque no hay fondos y el camino parece
estar en el espacio, no podemos ver el coche, estamos dentro de él,
y el objetivo del juego era hacer la vuelta más rápida posible
al circuito. No era EL juego ;-)
PnP:
¡Estás obsesionado con la programación!
R: Gollum:
Mucha gente me lo dice ;-) Además es mi trabajo. En mi trabajo
hago además hacking de JAVA que es un lenguaje interpretado ejecutándose
en un sistema virtual (¿de nuevo emulación?).
Mi proyecto de
fín de carrera estuvo además relacionado con la emulación:
generar módulos de simulación para coprocesadores, es decir,
para que nos entendamos, un emulador de un coprocesador general.
Además trabajé
en un emulador de BHT Basic, un dispositivo portátil de reconocimiento
de códigos de barras usando BASIC.
Ejem ejem... muchos
de estos proyectos están relacionados con la emulación...
;-)
P: PnP:
¿Cuando empezaste el desarollo de NeoPocott?
R: Gollum:
Empecé a programar NeoPocott en Abril. Cada vez que el comandante
no veía lo que estaba haciendo, intentaba añadir un código
de operación a mi núcleo de emulación de CPU.
Rápidamente,
se emuló una demo (Napalm one !). Al principio, era sólo
por diversión, pero rápidamente más cosas empezaron
a emularse. Inicialmente quería hacer un proyecto de código
abierto ("open source"), pero decidó hacer algo como Boycott.
P: Rico:
¿Cuales fueron las principales dificultades durante la programación
del emu?
R: Gollum:
¿Dificultades? No tenía documentación, ¡nada
de nada! Comencé NeoPocott desde el principio, sólo tengo
las especificaciones (osea la cpu principal, los tamaños de memoria,
número de colores...).
P: PnP:
¿Y cómo lo hiciste?
R: Gollum:
Me descargué la documentación técnica de la CPU TLCS-900h
de Toshiba, disponible en una de sus páginas y empecé la
depuración. Después de eso, ¡encontré en la
Red un nuevo documento sobre el formato de las ROMs de NGP! A partir de
ese punto, fué más fácil emular mejor las cosas.
Después
de eso continué usando el pequeño documento de "Judge" sobre
el Mapa de Memoria de la consola. Usando mi propio visualizador de ROMs,
conseguí ver donde estaban situados los sprites... y así
fué más fácil saber cómo funcionaba la visualización
en pantalla. Esto me permitió dibujar sprites y otros gráficos
en pantalla.
Más tarde
la demo Napalm funcionó, lo cual me permitió hacer algunos
buenos progresos...
Una gran dificultad:
¡¡la depuración de la emulación CPU!! Incluso
ahora, no estoy seguro de que la emulación CPU sea perfecta y que
quedara un sólo error ¡sería una pena! Y muchos juegos
no funcionarás hasta que la emulación de CPU sea 100% Perfecta.
PnP:
En verdad, ¡lo único que falta en NeoPocott es el soporte
de sonido!
R: Gollum:
¿Sonido? No, no creo que sea lo importante por hacer ahora. No puedo
imaginarme como trabaja el chip de sonido, pero la Neo·Geo Pocket
usa un Z80 para manejar el sonido. Y emular un Z80 es bastante fácil...
PnP:
Pero, ¡los usuarios de NeoPocott están pidiendo soporte para
el sonido!
R: Gollum:
¡Sí y no! Hay usuarios que quieren soporte de sonido (y yo
también ya que es más divertido así), y otros que
quieren ver un mejor ratio de compatibilidad. Nunca he probado a hacer
algo de programación de sonido, y hecho de menos algún documento
técnico de ello, pero espero tenerlo funcionando algún día.
P: PnP:
Vale. ¿Pero para cuando será añadido el soporte de
sonido? ^^
R: Gollum:
Bueno, cuando la emulación estuviera más estable & añadida
la emulación de Z80. Recuerdo que hay una demo de Neo·Geo
Pocket que tiene sonido, es un buen comienzo para emular el sonido, y podría
contactar con (que no es el caso cuando se intenta con juegos comerciales).
¿Cuando? ¡No lo sé!
P: Rico:
¿Cuales son tus emuladores favoritos?
R: Gollum:
Bueno, Massage porque tengo una Master System y fué el primer emu
que usé, pero Zoop hizo un increible trabajo y publicó MEKA
antes de que pudiera empezar Mascott. En orden: ZSNES, SNES9X, CALLUS,
GENECYST, MAME.
P: PnP:
Mmmm, ¿por qué "cott"?
R: Gollum:
¿Cott? ¿cot? ¿cot? (sonido francés de pollo)
lol ;-)
PnP:
lol
R: Gollum:
Estaba buscando un nombre divertido para un emu de Game Boy. Boycott era
gracioso tanto en inglés como en francés. Más tarde
Mascott, como Mascotte (un pequeño animal para dar una imagen o
representación de un club o una asociación) que en francés
era además un nombre bueno para un emu de Master System.
Después de eso,
uso "cott" para todos los emus que hago (mi toque personal), el Biscotte
(broma francesa) está bueno, pero no tengo emu para ese nombre ;-)
P: Rico:
¿Cuál es tu configuración?
R: Gollum:
P3 733 + 128MB RAM + HD 30 GB
PnP:
¡Buen sistema! ;-)
R: Gollum:
^_^
P: PnP:
Gollum, si hiciste un emu de NGP, es porque te gusta la consola, ¿no?
R: Gollum:
Sí, pero no tengo ninguna.
PnP:
?!!
R: Gollum:
Realmente, probé una apllet Java que SNK publicó para probar
(antes de publicar) su consola.
Ya tengo una Game Boy y me siento
triste con ella, quería tener algo más, algo mejor. Y me
interesé en la Neo·Geo Pocket porque parecía ser una
buena alternativa a la portátil de Nintendo.
P: PnP:
Pero, después de hacer un emu para la consola, ¿por qué
no te la compraste?
R: Gollum:
Buena idea ;-) pero creo que la NGP no se vende en Europa ?
PnP:
¡Se podrá encontrar alguna!
R: Gollum:
Realmente, ya tengo: 2 PC's, 2 NES, 1 Game Boy y 2 Master System. Lo difícil
de hacer un emu es que, si no tienes el sistema original, no puedes imaginar
como debería de ser el aspecto de lo que se muestra por pantalla.
No puedes probar el emu...
PnP:
lol!
R: Gollum:
¿Por qué? Hice Boycott porque tenía una, pero NeoPocott
fué por pura diversión y porque esperaba mucho de esa consola.
P: PnP:
¿Realmente hiciste el emu más por diversión que porque
te gustara la consola?
R: Gollum:
No exactamente. Por la diversión de hacer algo (un proyecto) y esta
consola tenía algo más que una simple Game Boy que era lo
que me interesaba. ¡Aunque al hacer este emu, hago algo de publicidad!
Ya que... ¡¡¡nunca ví un auténtico cartucho
de NGP o una NGP con mis propios ojos!!!
PnP:
¡Increíble!
R: Gollum:
Por lo que a mí respecta, la NGP es mejor que la GBC pero SNK no
supo moverse bien en el mercado.
P: PnP:
¿Cuales son tus futuros proyectos de emulación para el futuro?
R: Gollum:
Mmm, ¿por qué no un emu de Game Boy Advance?, con la misma
arquitectura de código usada en NeoPocott. Como con NeoPocott, no
tengo documentos, sólo demos publicadas y un documento sobre la
CPU ARM. Si te digo la verdad, empecé BoycottAdvance... pero no
emula muchas cosas... muy pronto, debería funcionar con las demos
disponibles.
Otro proyecto más,
mezclar Boycott & NeoPocott para hacer Multicott, un emulador de múltiples
consolas portátiles. ¿Por qué no añadir soporte
para Game Gear?, y Wonderswan (¿¿¿alguien tiene documentación
técnica?? ;-), y Lynx, y Tiger, ...
...quizás
sueño un poco algunas veces...
Quizás,
me concentraré más de nuevo en Pcott/Mscott, mi emu de PC/MSDOS.
Y, si tengo tiempo, quizás un driver de Game Boy o Neo·Geo
Pocket para... MESS.
P: PnP:
¿Tienes algún proyecto futuro, aparte de los emuladores?
R: Gollum:
Mmm, re-hacer el sistema de votos de Emu5ver.
Hacer un compilador
de GB o NGP (Nota de PnP: como re-hacer un completo kit de desarrollo).
Como proyectos
no relacionados con los ordenadores, encontrar novia, casarme y visitar
la costa oeste de EEUU, y cosas así... ;-)
PnP:
lol
R: Gollum:
Además querría desarrollar unas cuantas tecnicidades con
el propósito de mejorar generalmente los emuladores de consolas.
The Virtual Hardware Components
(c) Emu5ever (pero creo que hablaremos más sobre ello otro día...)
PnP & Rico:
Gracias Gollum por pasar algo de tu tiempo con nosotros...
© MrNet