Mostrar feed RSS

JoJo_ReloadeD

[Mundo Viejuno] Wolfenstein 3D en un PC/XT

Calificar esta entrada
Wolfenstein 3d en un PC/XT

Como ya comentaba en el proyecto del Overcloking de un PC/XT , la mayoria de PC/XT estaban basados en el Intel 8088, y yo, de siempre habia querido tener un 8086, ya que la diferencia de rendimiento es mas que notable.

La cuestion no era tener 8086 para hacer funcionar juegos CGA, ya que no es necesario, cualquier 8088 a 4,77 o a 8mhz puede hacer funcionar estos juegos fluidamente de sobra. La cuestion era tirar a la EGA, y por que no, a la VGA directamente.

Siendo la VGA un adaptador que salio alla por el 1987, epoca en que los PC/XT ya empezaban a estar de capa caida, dando paso a sus sucesores, los 286, no es tan comun encontrarse con un XT con VGA, y mucho menos que este pueda hacer funcionar fluidamente los juegos.

En un principio estuve planteandome hackear la placa de un Amstrad pc1512, uno de los PC's XT con mas exito de todos los tiempos. El inconveniente es que lleva una CGA integrada en placa y que no se puede inhabilitar. Mas tarde estuve probando con una placa de un pc1640, el sucesor de este, que lleva en su modelo superior, una EGA integrada en placa, la cual es desactivable, para que pudieramos pinchar algo superior en las ranuras ISA. Desgraciadamente mi placa 1640 debia de estar defectuosa, o ser incompatible con mis VGA ISA 8 bit, pq no consegui hacerlo funcionar nunca, pese a que la tarjeta integrada estaba desactivada.

La cuestion era tirar a los ultimos modelos que Amstrad saco basandose en el XT, la serie X086. Esta, concretamente el modelo 2086, viene con un 8086 a 8mhz, 640kb de ram, VGA integrada y 4 bahias ISA libres. Una gozada para el cacharreo. Concretamente el mio lo tengo con una controladora MFM para el disco duro, una Sound Blaster 1, una tarjeta de red AUI y una hercules, para el monitor secundario. El procesador principal lo reemplace con el Nec V30, una version mucho mas rapida que el 8086 y de postre, le puse el coprocesador 8087 Lo que es tenerlo a tope, vaya xD

Bueno, pues ya tenemos un XT 'cargadito', ¿que hacer ahora con el?

Estuve planteandome el hacer algun tipo de demo vectorial con sonido soundblaster por aquello de usar el 8087 tambien, pero, tras ver que el wolf3d, un juego que pensaba que funcionaria de manera nativa, si habia suficiente ram libre, no funcionaba, decidi portarlo a esta plataforma.


Cachis...

Me hice con el codigo fuente del juego, junto con la version del compilador para hacerlo funcionar aqui , y me puse a ver si eso compilaria para el V30 directamente, ya que este chip es compatible con el juego de instrucciones 80186, el cual es identico al del 80286, quitando el tema de la multitarea, modo protegido y el modo de direccionamiento de memoria plana.


No es un V30 cualquiera, es el que tiene mi Amstrad 2086!

Pues no, no funcionaba, al parecer habia mas diferencias. Una de ellas eran las instrucciones de desplazamiento logico de bits. En 286 y superiores podias ejecutar

Código:
SLL AX,12
Y eso te desplazaba los bits de AX 12 posiciones a la izquierda. En 186 e inferiores habia que hacerselo a mano, ya que solo se permitia un desplazamiento por instruccion:

Código:
SLL AX
Asi, cambiando estas, y otras instrucciones del estilo que no existian en el juego del 80186 (y v20 y v30), y traduciendolas por otras que hicieran lo mismo y si fueran reconocidas, compile una version para esta plataforma, aprovechando tambien el 8087 y quitando la emulacion FPU por software.


Et voila! Wolf3d en un PC/XT!

Obviamente el rendimiento no es nada del otro mundo, pero ver un juego tan 'moderno' en un ordenador tan antiguo ya es suficientemente interesante

Como nota curiosa decir que entre el codigo fuente se veian notas de John Carmack quejandose de lo inutil que era programando.. si este hombre es inutil no se que sere yo..., y tambien un motor que al final no fue usado, no se porque, para reproducir las voces digitalizadas a traves del pc speaker. Supongo que decidieron no usarlo y dejar el sonido digital solo para soundblaster por el tema del rendimiento.

En fin, espero que os guste el video

[YTB]aX0cs7SR_n0[/YTB]





-- Articulo original en http://www.mundoviejuno.com

Enviar "[Mundo Viejuno] Wolfenstein 3D en un PC/XT" a ¡Menéame! Enviar "[Mundo Viejuno] Wolfenstein 3D en un PC/XT" a Technorati Enviar "[Mundo Viejuno] Wolfenstein 3D en un PC/XT" a Digg Enviar "[Mundo Viejuno] Wolfenstein 3D en un PC/XT" a del.icio.us Enviar "[Mundo Viejuno] Wolfenstein 3D en un PC/XT" a Google Enviar "[Mundo Viejuno] Wolfenstein 3D en un PC/XT" a Finclu Enviar "[Mundo Viejuno] Wolfenstein 3D en un PC/XT" a Copada Enviar "[Mundo Viejuno] Wolfenstein 3D en un PC/XT" a StumbleUpon Enviar "[Mundo Viejuno] Wolfenstein 3D en un PC/XT" a Reddit Enviar "[Mundo Viejuno] Wolfenstein 3D en un PC/XT" a FaceBook

Actualizado 10/11/2007 a las 18:11 por JoJo_ReloadeD

Categorías
Sin categoría

Comentarios

  1. Avatar de capzo
    Madre mia, que pasada, seguro que más de uno hubiera matado por esta versión en su tiempo.
    Estás seguro que no salian las voces por el pc speaker? Igual era otro juego ID, pero me suena.
  2. Avatar de JoJo_ReloadeD
    Y tan seguro, tengo la version 1.0 del binario del wolf3d, y la ultima que salio, la 1.4,y en ninguna de las dos sale sonido digital por el speaker. Habia que rascarse el bolsillo y comprar una sb
  3. Avatar de K-teto
    Si me lo hubieras dicho justo antes del verano, tire una soundblaster pro que si no recuerdo mal era isa.
  4. Avatar de nazca
    Que caña de blog ^^
  5. Avatar de Jurk
    I-n-c-r-e-i-b-l-e!!
  6. Avatar de xenon
    Que bueno

    PD: Pinball Dreams, si os acordais si que sacaba la musica digital por el speaker, hablando del tema.
  7. Avatar de BeaR
    Eres un makineta jojo ^^
  8. Avatar de Yataran
    ¿Qué disco duro tienes? Es que veo que te sobran unos 2 megas, ¿no? Por otro lado, tenías el F29 Retaliator instalado, si no veo mal

    ¡Ah! Mi Amstrad PC1640 con 32 megas de disco duro... Que tiempos de felicidad ordenadoril me dio. Y me encantaba la calidad de esos gráficos EGA. Recuerdo poner un juego, salir y luego ejecutar el Tetris y esta ya iba lento... Había que apagar y encender el ordenador, con lo que tardaba en iniciar el desgraciado.

    Una de las cosas buenas que tenía era el control de volumen del speaker, cosa que no he visto después en ningún otro PC.
  9. Avatar de Rivroner
    Tas loco Jojo, ¿te lo ha dicho alguien alguna vez?
  10. Avatar de eToiAqui
    ¿Una Sound Blaster 16 ISA con "controladora" ide para poner un cdrom te interesaría?
  11. Avatar de Marcus
    Increíble el curro...

    Si no fuera porque mi sinclair PC200 "sólo" tiene 512Kb de RAM y no tiene el 8087, te pediría el código para intentar rularlo en él...

    Enhorabuena por el resultado.
  12. Avatar de JoJo_ReloadeD
    Cita Iniciado por K-Teto
    Si me lo hubieras dicho justo antes del verano, tire una soundblaster pro que si no recuerdo mal era isa.
    Cita Iniciado por eToiAqui
    ¿Una Sound Blaster 16 ISA con "controladora" ide para poner un cdrom te interesaría?
    Gracias a los dos, pero estoy bien surtido de tarjetas ISA de 16 bits (las dos que me deciis lo son), pero gracias por el ofrecimiento

    Cita Iniciado por Rivroner
    Tas loco Jojo, ¿te lo ha dicho alguien alguna vez?
    Entonces de mis planes futuros de portar el DOOM a un XT no hablamos, no ?

    Cita Iniciado por Yataran
    ¿Qué disco duro tienes? Es que veo que te sobran unos 2 megas, ¿no? Por otro lado, tenías el F29 Retaliator instalado, si no veo mal

    ¡Ah! Mi Amstrad PC1640 con 32 megas de disco duro... Que tiempos de felicidad ordenadoril me dio. Y me encantaba la calidad de esos gráficos EGA. Recuerdo poner un juego, salir y luego ejecutar el Tetris y esta ya iba lento... Había que apagar y encender el ordenador, con lo que tardaba en iniciar el desgraciado.

    Una de las cosas buenas que tenía era el control de volumen del speaker, cosa que no he visto después en ningún otro PC
    Es un 32 megas, parecido al que tu usarias en tu 1640, salvo que aquel era un MFM / RLL y este es un IDE/XT. De los primeros discos de 3 1/2 que salieron...

    Y si, el 1640 es una gran maquina, de hecho, estuve trasteando con uno hace poco, como comentaba en el post, y si, lo del control de volumen es la caña, viene de serie con todos los Amstrad PC

    Cita Iniciado por Marcus
    Increíble el curro...

    Si no fuera porque mi sinclair PC200 "sólo" tiene 512Kb de RAM y no tiene el 8087, te pediría el código para intentar rularlo en él...

    Enhorabuena por el resultado.
    Por eso no te preocupes, compile una version con emulacion de FPU (para no necesitar 8087), si quieres te lo mando.. ahora con solo 512kb de ram.. lo veo chungo...