Lobo: El PC de 16 bits definitivo

Cuanto tiempo sin publicar una entrada por aqui 🙂

Aqui os presento a Lobo, mi ultimo montaje, y un intento de crear el PC de 16 bits mas potente posible… mientras que se hace homenaje a la saga de juegos que nacio en los PCs de 16 bits, los Wolfenstein 🙂

Lobo!

Sus caracteristicas son:

– 80286 a 27.2 mhz
– 4 mb de ram en placa base
– 2 mb de EMS
– VGA Cirrus Logic 1MB
– Sound Blaster 16
– Roland MT32 integrada
– Tarjeta de red ethernet
– Almacenamiento en CFs extraibles

Inspirado por el video del Highscreen 286 decidi ver de que manera podia montar un 286 para juegos llevandolo al limite, ver hasta donde podria llegar un PC de 16 bits… y este es el resultado.

Logo Wolfenstein

Montado en una caja Nox Hummer ZN, el equipo… en realidad son dos equipos en uno. La Roland MT32 no viene de una tarjeta LAPC-1, ya que estas tienen precios completamente prohibitivos. No, en realidad la MT32 es ‘emulada’, y lo digo con comillas porque se comporta como una real.

Dentro de Lobo hay dos PCs, el 286 que es el alma del equipo… y un P4 3000 cuya unica funcion es emular por software la MT32 a traves del emulador MUNT.

Fotos del montaje:

A medio montar, notese el gran disipador encima del 286, y otro encima del chipset, necesario por el gran overclocking.

Montaje preliminar, pero ya esta todo el sistema dentro de la carcasa.

MUNT originalmente se penso para ser usado con DosBox y ScummVM, generando un instrumento midi en el equipo en el que se ejecuta, y dosbox/scummvm se conectan a el generando el sonido. Yo le di una vuelta de tuerca a este concepto y pense… si tengo un equipo midi software en un PC… y conecto un adaptador midi usb y los enlazo… deberia de responder a los comandos midi que le entren por su interfaz serie, verdad?

Efectivamente, montando todo en un linux y haciendo este proceso… convertimos cualquier PC con un adaptador MIDI usb en una MT32 real.

El resto era trivial, simplemente tener un PC lo suficientemente potente para mover el emulador, conectarlo con el 286 a traves del puerto MIDI de la SB16… y funcionar…

Parte trasera

Parte trasera

Detalle de la parte trasera.

… Pero queria darle un toque mas a Lobo, y ya que tenia una caja bonita pense en dotarlo de un efecto de sonido en el arranque ‘a la Apple’:

Si, al encender el equipo suena un lobo aullando… Este si que es el autentico Lobo… 😀

Ahora, hay que automatizar todo para que los dos encendidos + el efecto de sonido se produzcan al pulsar el boton de encendido… hay que controlar el encendido y apagado de 2 PCs de coordinadamente y de formas diferentes: Uno es estandar AT, con lo que el encendido y apagado es simple, un interruptor que se enciende o se apaga… y otro ATX, tenemos un pulsador que hay que activar una vez y un momento solo para encender… y repetir el proceso para apagar.

Decidi montar todo con un Arduino UNO y una placa de reles para controlar esto, y ya de paso tambien para reproducir el sonido del lobo aullando usando la tecnica del PWM. Este Arduino alimentado por la linea de +5V de standby del ATX, de forma que cuando la fuente ATX tiene corriente el Arduino esta alimentado y monitorizando el boton de encendido… un pequeño amplificador de audio para el speaker y esta hecho 🙂

Aqui esta Lobo funcionando, continuacion del video donde se ve como lo enciendo:

* Los videos es conveniente verlos en 720p50

Nyan Cat!

Cuanto tiempo sin actualizar!

Aprovecho para mostraros lo ultimo que he programado, una minidemo que simula la famosa animacion del Nyan Cat en PCs clasicos:

Esta demo funciona en cualquier PC con unos 300kb de memoria libre y grafica CGA. El sonido se reproduce a traves del speaker clasico, no hace falta tarjeta de sonido.

Aqui os dejo un video rapido grabado en un portatil XT:

Algunos os preguntareis como es posible conseguir este framerate a pantalla completa reproduciendo sonido digital a 8000hz, si en la mayoria de juegos que usaron este efecto en su dia se limitaban a dejar la pantalla completamente quieta, ya que no habia tiempo de cpu para hacer otra cosa…

He aprovechado la organizacion de memoria de la tarjeta CGA, que en el modo texto 40×25 permite tener 8 paginas de texto, en los que he guardado los 8 fotogramas y en medio de la rutina de reproduccion de sonido digital he metido el codigo que cambia de pagina activa cada 100ms. Truco sencillo, pero efectivo 🙂

En unos dias pulire unos cuantos fallos y subire la version definitiva, de momento se puede probar esta version preliminar: NYAN, funciona perfectamente en dosbox o en cualquier PC compatible con tarjeta CGA o superior.

La Viejuteca [4]: Silpheed

Hoy vamos a comentar un juego bastante mas antiguo que cualquier otro que hayamos tratado antes en La Viejuteca, hoy hablaremos de Silpheed:

El Juego

Siglo 30 y pico. La humanidad ha colonizado el espacio y ha formado una liga espacial.

Desgraciadamente, el tirano de turno, Xacalite, ha robado la joya de la corona de la flota terricola, la supernave ‘Gloire’, con la que amenaza destruir toda vida humana. Solo el caza SA-08 ‘Silpheed’ es lo bastante avanzado como para hacerle frente.

Xacalite, el primo lejano de Doh?

Xacalite, el primo lejano de Doh?

¿Eres el piloto adecuado para acabar con la amenaza de Xacalite?

Desarrollo

Silpheed se nos presenta como un matamarcianos clasico. Los enemigos van apareciendo por la parte superior de la pantalla y nuestro objetivo es acabar con todos ellos. No obstante, pese a lo clasico de su mecanismo, el juego es realmente divertido, tanto por la variedad de enemigos, como de powerups.

Lucha en la orbita de un planeta

Lucha en la orbita de un planeta

El juego lleva este planteamiento clasico mas alla, pudiendo mejorar nuestras armas, nuestros escudos, cambiar la posicion de las mismas…

Graficos

Sin duda, uno de los puntos fuertes de Silpheed.

Los graficos del juego son todos vectoriales, consiguiendo asi efectos visuales muy atractivos a la vista. Asi podremos ver como todos los enemigos vienen rotando hacia a ti respecto a su eje; como su proyeccion respecto al plano cambia respecto a su posicion en la pantalla… y luego esa intro de pelicula.

Si a todo esto le sumamos que el juego es fluido hasta en un PC/XT 8088 veremos que tenemos ante nosotros una autentica joya de la programacion 🙂

Enemigos vectoriales!

Enemigos vectoriales!

Ademas, el juego (en su version EGA, que es la que comentamos aqui), esta desarrollado en el modo 640×200 en 16 colores. Un modo grafico no muy usado en videojuegos, pero que es perfecto para mostrar mayor nivel de detalle durante el juego 🙂

Sonido

He aqui el plato fuerte.

La musica en este juego es sencillamente ESPECTACULAR. De las mejores bandas sonoras que he podido escuchar, pero comencemos desde el principio.

El juego ya en su instalacion nos da a elegir entre virtualmente todo el abanico de sistemas de sonido para PC que existian cuando el juego se lanzó, alla por el año 1988:

Caso excepcional el de Silpheed, ya que en la mayoria de juegos solo se te dejaba elegir entre PC Speaker, Adlib y si acaso MT-32. Aqui ademas tenemos Tandy, IBM Music Feature, CMS… y cada version con sus propias ventajas, merece la pena ponerse a escuchar la banda sonora en todas y cada una de sus versiones 😉

En nuestro caso hemos optado por la version para Roland MT-32, que como vereis, es simplemente sublime:

Video

Hoy, por tratarse de un juego tan antiguo, he optado por grabar el video en un hardware de su epoca, simplemente por el gusto de verlo correr tal y como se vio en su dia. Para ello he usado un Amstrad 1640 con una Roland MT-32.

Ya sin mas preambulos, Silpheed:

Tambien aqui dejo otro video grabado con dosbox para ver con mas detalle el gameplay en si:

Star Fox y Silpheed, ¿Un homenaje?

Para terminar, he aqui un tema que se nos plantea.

Habiendo visto ambos juegos, no podemos si no darnos cuenta de ciertas similitudes. Ambos juegos son de naves, ambos tienen graficos vectoriales… y hasta la intro tiene enorme parecido:

Tambien el diseño de las naves es bastante similar, y hasta escenas dentro del juego, cuando una nave nos aparece por detras y nos ataca por sorpresa… una fase en la superficie de un planeta, un ataque a una fortaleza espacial…

Creo que esta bastante claro que los creadores de Star Fox usaron como inspiracion parte de su experiencia con Silpheed, ya que, al fin y al cabo, 5 años los separan 🙂

Comparativa de rendimiento de procesadores x86

Hoy presento un pequeño proyecto que inicié hace ya tiempo. Queria ver de forma grafica cuanto mas rapido era un 286 que un 8088. Y un 386 respecto a un 286? Y… un Pentium 4 respecto a un 386??

Con la ayuda de la gente de ViejuNET hicimos un pequeño estudio comparativo del rendimiento de varios procesadores x86 a lo largo de toda su historia, comenzando desde el primero, el 8088 a 4,77mhz hasta procesadores de hoy dia, como el Core2.

Todas las pruebas se han realizado usando el Landmark System Speed test Version 6.0, y se pueden verificar mediante capturas de pantalla hechas del mismo aqui.

Podeis consultar el estudio en esta pagina:
http://wiki.vieju.net/bench/index.php

Esperamos que os guste 😉

Mundo Viejuno: Restaurando un IBM PS/1

Hoy tenemos nueva entrada en Mundo Viejuno!

DistWave hizo en su dia un magnifico trabajo de restauracion y ampliacion de un IBM PS/1 y fue contando paso a paso todo el proceso en un hilo en Zona de Pruebas.

Ante la posibilidad de que este hilo se pierda en el tiempo hemos hecho un volcado del mismo.

Podeis acceder a el entrando en Mundo Viejuno, tecleando ‘cd blog’ y ‘blog’.

Esperamos que os guste!

La Viejuteca [3]: Line Wars 2

Hoy en la viejuteca tenemos un titulo realmente especial y bastante desconocido. Hoy hablaremos de Line Wars 2:

Line Wars 2 es un juego dificil de clasificar. No es un simulador de combate espacial, pero tampoco es un arcade. Digamos que esta a caballo entre ambos, mezclando caracteristicas de ambos generos, y precisamente por este motivo, hara las delicias de las personas a las que los simuladores les parecen demasiado complicados como para ser divertidos. Aqui simplemente se trata de apuntar y disparar 🙂

Video

El Juego

Frente a nosotros se nos presenta la vista desde la cabina de nuestra nave, teniendo tambien presentes todos los indicadores como velocidad, numero de misiles restantes, la pantalla del radar que nos muestra los objetos a nuestro alrededor, el estado de los escudos y la nave:

Nuestro objetivo es acabar con todos los objetos enemigos que aparezcan en el radar, mientras nos aseguramos de que los objetos amigos no sean destruidos. Con el raton podemos controlar la nave en todos sus ejes, su velocidad y el laser, solo nos hara falta el teclado para lanzar misiles y volver al menu principal.

Planteamiento sencillo, control sencillo: Diversion asegurada.

Las misiones

Las misiones aparte de ir sirviendo de tutorial y ser muy sencillas al principio nos van contando la historia del piloto, es decir, de nosotros. De como empieza en una base espacial perdida de la mano de dios a como va avanzando puestos hasta entrar en la elite del ejercito, con conspiraciones dentro de este de por medio.

La primera mision comienza en una base espacial bajo una lluvia de meteoritos. Nuestro objetivo es destruirlos todos antes de que acaben con la base. Mision un tanto aburrida pero necesaria para ver la dinamica del juego, el ver que hay IAs amigas, objetos que requieren de nuestra ayuda, y como destruir enemigos, en este caso casi estaticos, los meteoritos.

Una vez superada esta mision podemos pasar a misiones mas complejas, atacando bases piratas, o una de mis favoritas, la mision 3, proteger el crucero de la princesa en su viaje a traves de un campo de asteroides lleno de piratas 🙂

La tecnica

He aqui uno de los puntos sobresalientes del juego. Los graficos, su fluidez, su musica y la jugabilidad son extraordinarias.

Haciendo uso de rutinas de creacion propia, el programador lleva al maximo a los PCs de la epoca y consigue crear un mundo 3d a mas de 60fps en resoluciones de hasta 800×600 !

Esta fluidez era posible gracias a las rutinas que el propio programador fue optimizando a lo largo de los años, como ya veremos mas adelante. Una pena que no se pueda apreciar en los videos esta fluidez, pero el hardware de captura del que dispongo solo permite hasta 25fps 🙁

Otro punto a destacar del juego es el motor 3d. No solo los poligonos son renderizados rapidamente y el mundo tiene fisicas newtonianas completas (entre los planetas, en el juego no afectan), tambien se incluye un motor de iluminacion y sombreado dinamico no visto antes en la epoca. Asi podemos ver los poligonos iluminados en funcion de su posicion respecto al foco de luz, la estrella del sistema en el que nos encontremos.

Sobre el sonido, una banda sonora mas que correcta, llegando en puntos a pensar que la musica es hasta interactiva. Una coleccion de mods cedidos por Terry Butler al programador para el juego y que se puede descargar desde aqui: http://www.terrybutler.co.uk/misc/linewars-ii/.

Sobre el hard necesario para disfrutar del sonido con toda intensidad decir que… cualquiera. Desde el Pc Speaker, pasando por un Covox, Sound Blaster, GUS, MT32… cualquiera nos valia para poder disfrutar de esta banda sonora, asi era la pericia de este programador 🙂

Tambien comentar que el juego permite multiplayer via red, serial o modem; y que incluso podiamos escribir nuestro propio driver grafico, dejando esta puerta abierta para futuros adaptadores, o incluso pasados. El propio programador escribio un driver para las tarjetas EGA y Hercules, tal como nos comenta en el README.TXT que acompaña al juego.

Sobre la CPU necesaria para el juego, es recomendable un 486 rapido para alcanzar mas de 60 fps, sobre todo en los modos graficos de mas resolucion, pero se comporta realmente bien en un 386 a 33, sobre los 20 – 25 fps en 320×200. El juego tambien funciona en sistemas 286, pero el rendimiento ya no es tan bueno, aunque si desactivamos el sonido es mas que jugable (10 – 15 fps en 320×200 y con un 286 rapido).

La historia

Habiendo visto los graficos poligonales de Line Wars 2 habremos visto gran cantidad de similitudes con otro clasico: Elite.

Hemos visto que aparecen las mismas naves y bases espaciales, el Cobra Mk3 y la base Coriolis:


Esto no es accidental. Al autor del juego, Patrick Aalto, le encanto jugar a Elite en su PC, pero quedo un poco decepcionado por los graficos CGA 4 colores a 320×200 del mismo.

Teniendo un PC con EGA, capaz de mostrar graficos en 16 colores a 640×350, se puso manos a la obra, y en 1989 lanzo Line Wars 1:

Gracias a las tecnicas desarrolladas para este juego, en 1993 decidio retomar el codigo, adaptandolo a las capacidades graficas de la epoca. Asi surgio esta pequeña joya que hoy comentamos.

Por lo demas, el autor ha hecho hasta un port para Nintendo DS del juego, y este, junto con Line Wars 2 para PC, que hoy dia ya es completamente freeware, se pueden descargar desde su pagina:

http://linewars.patrickaalto.com/

Disfrutar del juego hoy

El juego es perfectamente jugable en dosbox, pero tiene un inconveniente… dado que el hardware que dosbox puede emular un pc de hoy en dia es equivalente a un pentium o incluso un pentium 2, este juego, que iba mas que perfecto en un 486 va excesivamente rapido.

En los modos VGA estandar (mcga y modo x, 320×200 y 320×480) se hace uso del vsync, pero en el modo vesa 640×480 no. Asi veremos que el contador de fps se pone en mas de 500 y el juego se comporta de forma extraña…

La solucion para jugarlo bien en dosbox (al menos la que yo he encontrado de momento) es usar uno de los modos VGA. No tiene tanta definicion como el modo vesa, pero funciona perfectamente.