El sitio personal de David Colmenero (D_Skywalk)

Posts en la categoria 'proyectos'

dgFrontier

dgFrontier es un port para Dingoo del clásico de todos los tiempos Elite 2:Frontier.

Este, a diferencia de la mayoría de los ports para Dingoo, no proviene del código fuente liberado del mismo. Tom Morton cogió el código 68k de la versión de Atari ST y lo tradujo a C estándard.

Español

See the english version of this text below

Obviamente, es de lejos la manera menos eficiente de portarlo, algo así como una recompilación estática del mismo, pero permite disfrutar de grandes joyas como esta en nuestra Dingoo.

Lista de Cambios

  • 0.4 – Añade sonido y músicas del port de JoJo para Wiz. Código Fuente liberado.
  • 0.1 – Versión alfa sin música y sin fuentes disponibles.

English

dgFrontier is a Dingoo port from the classic Frontier: Elite 2 based on the work of Tom Morton FrontVM2

FrontVM2 has discarded the uae cpu core of hatari and instead compiles the frontier 68k crap to native assembly language. This is done either by generating a grotesquely huge C source file, or generating i386 asm directly.

Changelog

  • v0.4 – First version with source released, music and other features from Wiz port.
  • v0.1 – First release, no music and no src…

ScreenShots!!!

Imagen del articulo

Controls

 R   L   SELECT = EXIT
 START   SELECT = Options (for adjusting detail level, saving and loading games etc)
 SELECT         = swap between "Mouse mode", "Flight mode" and "Star Map Mode"

 Controls in Mouse Mode (Cursor Icon)
 ======================
 Dpad = move mouse
 A = Left Click
 B = Right Click
 Y = Hyperspace to Destination (F8)
 X = Eject from ship (if you have an escape pod) (x)
 R = use radar mapper (r)
 L = hyperspace cloud analyser (finally no binded... report me this key, pls)

 Controls in Flight mode (No Icon)
 =======================
 Dpad = yaw / pitch
 L = Decrease Thrust (RSHIFT)
 R = Increase Thrust (RETURN)
 A = Fire Laser (SPACE)
 B = Status Ship (F3)
 Y = ECM (e)
 X = Change View (F1)
 START = Motor (F7)

 Controls in Star Map mode (World Icon)
 =========================
 Dpad = move map

dgFrontier

Subido: 2010-08-19 04:47:22 dgFrontier 0.4 (Based on Wiz port by JoJo and Tom Morton FrontVM2)

dgFrontier (Source)

Subido: 2010-08-19 04:51:00 Source Code for Dingux - You need SDL and SDL_mixer compiled with static flag: http://www.dingoowiki.com/index.php/Development:Tutorials:SDLRecompile

dgREminiscence (with src)

Subido: 2010-08-19 04:53:47 dgREminiscence 0.2a - Source Included (Based on first zear release)

Dantoine: Final de un proyecto, final de una etapa.

Para que se entienda el por que del final de esta época, quizás tenga que empezar explicando como empezó todo, mi afición por los clásicos y los compañeros que me ayudaron a empezar esta aventura a principios del año 2000.

Aunque este tema hable de despedida los amigos del abandonware nos seguimos reuniendo en irc.vieju.net, canal #mundo_viejuno – (Puerto 6667)Enlace al WebChat.

Nota:
Las imágenes del presente artículo están pensadas para conexiones de banda ancha ya que ocupan entre uno y dos megas cada una

La primera Dantoine

Mi primer pasito en la escena abandonware fue impulsado desde el canal #abandonware por ^Morgoth^ y ^BuRZuM^, junto a ElPunky y Basler resolviendo mis dudas la primera versión de la web estuvo online a las pocas semanas:
Dantoine en Lycos (Temporada 1)
Imagen del articulo Imagen del articulo

Copy/paste del “De que va esta web”:

… tengo pensado q sea una pagina de AbandonWare en “comunidad” donde todos vosotros tengáis un punto de apoyo, y en la que por supuesto espero toda vuestra colaboración, e intentare tener mas o menos actualizada, esta, vuestra web…

¿Y los contenidos? pues de todo un poco desde Downs de Juegos pasando por manuales, artículos de revistas – para que sepais lo que os vais a bajar- con, y, cuando se pueda, mi opinión; o si os atrevéis y queréis, la vuestra por supuesto.

Supongo que se nota que el alma de Dantoine, estaba ya presente desde su más temprana versión. Pues con este afán de colaboración conocí a TANlS, cuya primera aportación fue el download más abanderado de la web Lands of Lore, junto con el parche inglés que hacía posible jugar la versión española del juego en Pentiums o superiores.

El ritmo de comentarios, visitas y emails de agradecimiento fue subiendo y entretanto el que se había convertido en mi nuevo compañero TANlS hacía las gestiones para lo que sería nuestra segunda época en Gran Avenida.

Dantoine se hace adolescente

Estar en un servidor como gran avenida en la época era un gran reto y una gran responsabilidad, teníamos que rehacer muchas cosas y tendría que aprender PHP para facilitar las actualizaciones de contenidos a TANlS. Esta época coincidió con el encuentro de la noticia de la muerte del gran GRAN: Paco Menéndez, al cual no dudé en dedicar mi primer trabajo serio:
Dantoine en GranAvenida (Temporada 2)
Imagen del articulo

De nuevo estaba hecha en html, pero incluía muchísimas referencias a la guerra de las galaxias, las letras volaban por el hiper-espacio, un tono más solemne en las noticias (o al menos lo intentaba) y pocos pero muy buenos juegos con ante todo mucho amor por el detalle. Cada juego tenía al menos un artículo personal o de micromanía, su manual y cualquier otra información que fuera necesaria para jugar adecuadamente.

Imagen del articulo Imagen del articulo

Esta época tuvo una renovación interna con la inclusión de un administrador bajo PHP, el cual fue mi primer trabajo online en este lenguaje. Con él además vino nuestro primer foro, donde seguramente los más viejos del lugar recordarán memorables temas de Ultima 7 entre Natreg y Bowie.

Imagen del articulo Imagen del articulo

Fue más o menos al final de esta época cuando se empezó a fraguar, para mi la mejor época de mi vida en la red.

A Dantoine se le cae el chupete

Una noche hablando con Natreg en el canal y entre bromas, se dieron los primeros brochazos de la idea que tenía rondando la cabeza desde hacía unos meses: una web donde se premiara igual que en un juego de rol a los usuarios con experiencia por mandar juegos, hacer artículos e incluso que llegado un nivel ellos mismo pudieran validar contenidos de otros nuevos allegados.

El reto era complicado y arriesgado, si cabe por que los comentarios alrededor vaticinaban un mal funcionamiento de la idea, era un concepto en el que el webmaster era un simple administrador y el protagonismo recaía en los usuarios. Cuando aun ni se nombraba la ahora tan manida web 2.0, una idea así hacía dudar a los webmasters más experimentados de la escena. Recuerdo por ejemplo un email de ElPeri (gracias compa) que me advertía que la gente podría enviar virus y/o contenidos peligrosos y aunque realmente ese peligro existía, un trabajo incansable y unos usuarios muy involucrados hicieron la “broma de una noche”, realidad.

Dantoine (Temporada 3)

Imagen del articulo

El diseño de la web se realizó a partir de un tema del sistema de foros que usé para el nuevo portal, la combinación de un phpbb (modificado para ser muy libiano), un portal programado y diseñado enteramente por mi, un gran servidor que mantenía mi compañero Writerman y unos fantásticos usuarios a los cuales hubo incluso que coartar sus libertades de envíos, porque uno no le podía sacar más horas al día, provocó la implosión de la web. Era casi como si un virus nos hubiera contagiado a todos, podías cronometrar lo que se tardaba en contestar una pregunta o como había usuarios que se pasaban el día (y la noche) en el portal, las estadísticas daban miedo. Además esta era una época donde el canal #abandonware era un ir y venir de amigos, proyectos, talento y risas.

Imagen del articulo

Pero como decía el proyecto se hacía cada vez más grande y entre todos convencieron para que eligiera a los mejores “Padawans” y convertirlos así en los primeros Jedis de Dantoine: Darkdante, Mirir, Picotto, rafesaes. Realizaron un gran e incansable trabajo en la web, la cual como no, seguía creciendo. Usuarios como eidan, sushe, Minicooper, ayaxtelamonida, gocho, Kitzel y curiosman se convirtieron en los más grandes padawanes de la historia del portal.

Imagen del articulo

Durante ese tiempo yo me dedicaba a seguir mejorando mis técnicas y crear nuevos proyectos para la escena como abandonsearch, que empezó como script de mirc para el canal #abandonware y terminó convirtiéndose en una página que se intentaba parecer a google (por aquello de hacerlo más amigable) y donde los webmasters asociados podían dar de alta urls donde el robot miraba su lista de juegos. Luego el usuario entraba en la web y sus búsquedas le llevarían directamente a webs que contenían los juegos deseados.

Llegado a este punto no tenía mucho más que aprender en PHP, ya no encontraba reto en seguir programando ahí asi que retomé mis apuntes en C y di mis primeros pasos en la escena de la GP32. Junto a esto pasaron dos cosas muy importantes en mi vida:
- Volví a casa de mis padres.
- Monté una empresa con unos compañeros.

Digamos que la combinación del estrés de una empresa junto con la vuelta a casa y mis múltiples proyectos (creo que llegue a abarcar unos 8/9 proyectos diferentes, sin contar el curro) me saturaron totalmente cayendo en una larga y complicada enfermedad.

Las cosas no terminan aquí ya que proyectos como abandonsearch, crearon envidias (sigo sin entender por que, ya que solo eran pruebas fútiles) y provocaron unos ataques continuos al servidor que terminaron por cerrar la web. Desde luego un servidor ni mucho menos estaba como para meterse a recuperar nada Smiley: guiño

Pero uno se va reponiendo y bueno nunca me cansaré de agradecer el apoyo de toda la comunidad abandonware y gepera en aquellos difíciles días, gracias fuisteis junto con mi novia y mi familia, mi aliento para salir de ese oscuro lugar.

Dantoine y los foros temporales

En este entretiempo, mientras uno tiene un día bueno y otro regulero, preparo varios foros donde poder ir preparando una nueva época, este tiempo va desde mediados de 2005 hasta finales de 2007. Dos años de puesta al día estudio de opciones y edición y reedición de diseños…

Unas muestras de estos pequeños foros preparados para dar cobijo a los amigos de la vieja dantoine, esta es la versión de 2007 ahora bajo SMF y añado algunas imágenes ya que lamentablemente archive, no suele guardar bien todos los iconos y fondos…

Imagen del articulo Imagen del articulo

¿Por que se tardó tanto?
Por que quería que fuera segura y resultó que cuando estaba el portal preparado de nuevo usando phpbb, aparecieron bugs que no terminaban de arreglar y entre Monthy y yo probamos a usar SMF, pero el sistema de módulos para programar el portal era algo escaso y mal documentado, así que me empecé a fijar en drupal, que con la ayuda de Macarro fue el que finalmente se llevó el gato al agua.

Dantoine Redux

Drupal tenía una gran documentación y permitía crear módulos para añadir nuestros artículos y juegos sin tocar la base del sistema que seguía siendo segura gracias al trabajo incansable de su GRAN comunidad. Fue casi un año de mucho leer, probar, diseñar y programar, pero el resultado me llenó de alegría. Por fin parecía que el portal tomaba de nuevo forma y aunque los foros iban a ser algo más simple de lo que los usuarios estaban acostumbrados, era más que suficiente para nuestras pequeñas discusiones.

Imagen del articulo Imagen del articulo

Cuando terminé la programación, empecé con el diseño, el cual creo que tuvo unas 8 versiones, la idea era que fuera ante todo ligera y cómoda de leer. Se ve que sólo me gustó a mi por que me harté de escuchar el comentario de “me gusta, pero la viejita era perfecta!!!”. Total que me aburrí de escucharlo y rehice, sacando tiempo de donde no había, un nuevo tema (sorpresa) con el antiguo diseño de la web.

Imagen del articulo Imagen del articulo

Total aunque la web no acababa de resurgir, con la ayuda de marcianitos podíamos ir dándole tiempo al tiempo, el trabajo de este largo camino había que dejarlo madurar Smiley: guay!

Y de pronto, este verano pasó lo peor…

Para que la ecuación funcionara era indispensable el apoyo de marcianitos, pero lo peor ocurrió y este verano la política de la empresa donde se alojan ambas webs cambió, declarando que cualquier web con contenidos con copyright (inclusive enlazados a redes P2P) sería borradas sin previo aviso. El servidor donde nos alojamos evidentemente no se podía permitir que todo él fuera eliminado aun a sabiendas el vacío legal que el abandonware supone. Total que no hay opción posible, para no perjudicar a marcianitos, dantoine debe salir de allí.

He tenido tiempo este verano para plantearme que hacer y os las expongo:

  • Tener la web en el servidor con marcianitos, me permitía compatibilizar trabajo y dantoine. Me es imposible llevar mantenimiento del servidor, subir contenidos, validar contenidos, participar en los foros -como he dicho antes por ahora hay una nula participación externa y hay que intentar animarlo-, etc…

  • Las vidas de los que un día más apoyaron una nueva salida de la web, ahora han cambiado substancialmente y es lógico que no dispongan del mismo tiempo que antaño tuvieron. Gracias a Mirir, rafesaes y Neuromante por su incansable ayuda estos últimos meses.

  • La escena está anulada. Las compañías ahora recuperan más clásicos haciendo menos necesaria nuestra labor. La web durante los meses que ha estado online, ha tenido muy poco movimiento, la mayoría de la gente bajando y los foros totalmente apagados a excepción de unos cuantos offtopics. La perdida del canal y de la gente de #abandonware también ha hecho mucha mella en la escena.

  • Y lo peor trabajar durante 2 años por sacar de nuevo adelante un proyecto y que todo se pierda en un mes…

Total, estoy cansado y todo esto ha terminado por quemarme.

Quiero agradeceros que me hayáis dado la oportunidad de ver crecer dantoine junto a vuestra compañía, vosotros la habéis hecho posible y sin vosotros nunca hubiera funcionado.

Finalmente os insto a que si queréis seguir hablando y compartiendo con nosotros vuestras inquietudes y/o dudas nos acompañéis en el canal #mundo_viejuno de irc.vieju.netEnlace al WebChat. El espíritu de dantoine cuanto menos seguirá allí vivo durante muchos años más Smiley: contento!

Un Saludo y buena suerte.

Actualización


Podcast - Pixelmanía (Test?)

Aquí dejo el primer episodio junto al guión que preparé, por ahora por falta de tiempo (y de internet) tengo que aparcarlo, pero me gustaría que me comentarais por mail o en los comentarios de la noticia que os parece…

¿se me entiende?
¿se explican las cosas bien?
¿la musica está muy fuerte? o no…
No se, lo que os parezcan esos casi 20 minutillos de podcast en general Smiley: burla

Guión del programa 0 en google-docs:

Espero que aunque se haya quedado en un avance/prueba os guste Smiley: contento!

Pixelmania - Loading Episode Block 0

Subido: 2010-05-15 01:11:46 Pixelmania - Loading Episode Block 0
- MP3 - Estéreo, 44Khz - 64kbits/s (Aprox 10MB)

libReadINI - reads your INI files!!

LibReadINI es librería que lee ficheros INI, hecha completamente en C, lo que permite ser usada en proyectos de GP32 sin problemas Smiley: Muy contento! Aunque evidentemente puede ser usada en cualquier otra plataforma que soporte C, como proyectos para programas en MSDOS u otros pequeños sistemas embebidos.

Español

See the english version of this text below

La librería no tiene dependencias externas de SDL, libxml o similares, como la librería “oficial” de lectura de INIs que por ejemplo se usa en GP2X. Y lo mejor pesa muy poquito -unos 6kb- y es bastante rápida, aunque seguro que se podría mejorar, así comparte tus mejoras Smiley: guiño

La librería lee dos tipos de ficheros INI tipo, M$ (los que todos conocemos), o tipo “conf” de linux.

Un fichero INI podría ser algo como esto:

[General]
    name = Junk Config File Test
    version = 2

[Mode]
    StrictMode = yes
    useflags = no
    phase = 5

[OtherSection]
    name = Hello

[AnotherSection]
    name = Bye

Ejemplo Práctico

Su uso es muy simple:
- Primero abrimos el fichero, que podría ser algo como:

if(!cfgOpen("./configs/ejemplo.ini", MS_STYLE))
    {
       //no encontre el fichero
    }else
    {
        //fichero leido!
    }
  • Una vez abierto, hay que elegir una sección que la librería se encargara de buscar. Para seleccionar una sección seria:

    if(cfgSelectSection(“General”)) { //haz lo que sea… }else { //pues se ve que no la encontro!!! xD }

  • Una vez seleccionada se pueden pedir datos de la misma usando funciones para cadenas, números y booleanos… unos ejemplos finales:

    currentVersion = (Uint8) cfgReadInt(“version”, 1);

Ex: Lee la variable versión del fichero INI y la almacena en nuestra variable, currentVersion.
(El numero del final es un valor por defecto, por si no lo encuentra, etc.)

Finalmente cuando hemos terminado de trastearla debemos hacer, simplemente:

cfgClose();

La ventaja de usar ficheros INI es que puede hacer cambios en las configuraciones de sus programas y ver los cambios sin que se requiera una nueva compilación. Y si luego lo necesita siempre podría encapsular todo el código “INI” en un fichero binario… Smiley: guiño

Para acceder a más ejemplos vea la documentación de la libreria


English

LibReadINI is a library to read INI files, developed in C code.

Now you can read your game/program INI files on your GP32 and other embeddeds platforms that can run a C code!! Smiley: Muy contento!

Dont have any external dependencies (SDL, libxml, etc…)
Little -6kb- and quick code, but if you can make a better code, share your changes Smiley: guiño

Examples and more info on the library`s documentation


Is used by… / usada por…

If you used this lib email me, thanks!
Si usas esta librería mándeme un email, gracias!

libReadINI

Subido: 2010-05-15 00:43:00 Primera versión publica para GP2x/Gp32 o su tostadora.
[b]libReadINI 0.8f[/b]

First Test release for GP2x/Gp32 or your toaster.
[b]libReadINI 0.8f[/b]

(License changed to LGPL, thanks Uncanny)