Abraxas, una historia en 8 bits. 2ª Parte
ZAFIRO (1988-1989)

Mi andadura como programador profesional comenzó en Febrero de 1988, cuando entré a formar parte del grupo de desarrollo de Zafiro Software División.
Abro un paréntesis en mi historia para explicar brevemente cómo surgió la industria del videojuego en España, ya que es un tanto peculiar. Casi todas las distribuidoras importantes en España (Erbe, Dro o Zafiro) nacieron en el seno de la industria musical: Dro Soft y Zafiro Software eran divisiones de editoras de discos musicales y los fundadores de Erbe -Andrew Bagney y Paco Pastor- procedían de CBS, una multinacional discográfica; sólo Proein estaba fuera de la órbita musical. Zafiro fue probablemente la primera empresa en tener acuerdos de distribución para España de las compañías inglesas más importantes (Ocean, Elite), pero su falta de dedicación o visión comercial hizo que perdiera casi todos los contratos en favor de Erbe.

Publicidad Catálogo de juegos de Zafiro
Volviendo al tema que nos ocupa, el equipo de programación de Zafiro se formó a principios de 1988 y fue reclutado por Miguel Ángel Fernández -al que yo conocía previamente porque había sido cliente de One Way Software y porque él a su vez había regentado otra tienda de videojuegos en la Plaza de Celenque de Madrid y con el que habitualmente cambiaba juegos de Amstrad en disco- y estaba compuesto por Javier Fáfula (programador jefe), César Giménez (programador), Javier Cervera (grafista) -estos dos últimos también presentes en el fallido proyecto de Merlín Software- y por mí.

Mi puesto en Zafiro era el de programador de apoyo, y mi primer encargo fue la creación de una rutina para convertir los gráficos de la versión Amstrad de "Atrog" a Spectrum. Debido a las diferencias entre ambos sistemas, el resultado fue aceptable pero no lo suficientemente bueno para el nivel técnico exigible en esa época y hubo que contratar a un grafista de Spectrum para que retocara tanto los escenarios como los personajes.
Para ser un equipo modesto, los medios técnicos disponibles eran muy buenos. Los programadores disponíamos un ensamblador cruzado de Z80 llamado P.D.S. basado en Atari 1040 ST (había otra versión para PC, pero los Atari ST eran mucho más baratos), el cual permitía escribir el código ensamblador en un editor de textos en el Atari ST y compilarlo en el ordenador de destino –Spectrum +3 o Amstrad 6128- a través del puerto serie. La compilación era bastante rápida, por lo que se podían hacer todas las pruebas de jugabilidad, programación o gráficos sin necesidad de grabar el código y cargarlo en el ordenador. Todavía conservo el P.D.S. que utilizaba en Zafiro, y fue exhibido en el stand del GUA en el RetroMadrid ’09.

PDS Atari

Después del Atrog participé en El Equipo A, un clon del Operation Wolf de Ocean con licencia oficial de la serie de TV. La pantalla de carga del juego en la versión de Amstrad la hice yo mismo, utilizando un digitalizador de vídeo (VIDI) para capturar las caras de los protagonistas en varios episodios, que previamente había grabado en vídeo. El Equipo A fue el mejor juego propio que publicó Zafiro, y aunque no tenía la calidad de otros títulos de Dinamic o Topo, creo que fue menospreciado por la prensa especializada, especialmente por la del grupo Hobby Press (Miguel Ángel Fernández no tenía una buena relación con esta editorial, así que difícilmente nada de lo que publicara Zafiro tenía un tratamiento imparcial en sus revistas).
El único juego del que soy ‘autor’ es el Metropol. Este juego no fue desarrollado en Zafiro, sino que yo lo tenía hecho desde hacía años. Para ser honesto, el juego no es exactamente mío. La primera versión, la de Spectrum, fue una adaptación que hice de un juego del Monopoly en Basic publicado en una revista o un libro, no recuerdo bien; la versión de Amstrad sí fue íntegramente programada por mí también en Basic. La única aportación de Zafiro fue la de poner una pantalla de carga a la versión de Amstrad que dibujó Javier Cervera. El juego técnicamente no era ninguna maravilla, más bien al contrario, pero la verdad es que siempre estuvo en los primeros puestos de ventas de Zafiro.

El último juego que editó el equipo de programación fue El Juego de la Oca, en el que yo no tuve ninguna participación, lo mismo que en el Xilen War, un juego que se empezó en Zafiro y del que conservo el código fuente original. Este juego finalmente se publicó con el nombre de Sideral War a través de Delta Software, empresa montada por el propio Miguel Ángel Fernández tras el cierre de la división de software de Zafiro. También Javier Fáfula comenzó un proyecto de un juego de piratas en tres dimensiones cuyo título provisional creo recordar era Maracaibo, pero me parece que nunca lo llegó a terminar.

Sideral War Su nombre original era "Xilen War"

Aparte de mi faceta de programador, en Zafiro también me ocupaba de otras tareas: copiar discos de 3” -se utilizaba un Amstrad 6128 con disquetera externa y el Discology-, probar los juegos que iban a salir a la venta y hasta adaptar al castellano un juego de Amstrad, el Pepe Bequilles (Pepe Muletas). La adaptación fue muy laboriosa porque no se hizo mediante programación, sino editando los textos del juego en versión disco con el Discology, y había que encajar las largas palabras españolas en el espacio destinado a las palabras francesas, mucho más cortas en general, de ahí que tuviera que utilizar muchas abreviaturas.
El equipo de programación de Zafiro estuvo en activo hasta mediados de 1989; cada uno de nosotros siguió un camino separado, y el mío fue pasarme a Erbe Software.
REVISTAS AMSTRAD ACCIÓN – ATARI USER (1989)
Ya he comentado que la relación entre Miguel Ángel Fernández y la editorial Hobby Press no era buena, pero con la editorial de la revista Amstrad Acción era justo lo contrario, hasta el punto de que era colaborador habitual de la revista. En cierta ocasión me comentó que en la revista buscaban colaboradores, y de esa forma ejercí algún tiempo de ‘periodista’. Mi contribución a la revista se puede observar en el último número que se editó, el 13, donde comenté varios de los juegos bajo el seudónimo M.A. y elaboré numerosos cargadores para juegos (Comando Tracer, Rex Martech, Barbarían Psygnosis, El Equipo A, Fire and Forget, Wec Le Mans, Pac-Mania, Victory Road, Netherworld, Frontiers, Game Over y Mutan Zone). También escribí algunos artículos para otra revista de la editorial, el Atari User.
Mi participación fue de apenas de unos meses, hasta el verano de 1989.

Amstrad Accion nº 13 Uno de los artículos interiores (review) de la revista, en el que se incluyen cargadores de ayuda para el juego Frontiers, creados por Abraxas.
Archivo descargable relacionado.
Programa Fuente del programa Xilen War, comercializado por Delta Software como Sideral War.
Código fuente de Xilen War (Amstrad CPC) [30 KB]
Relacionados:
Discusiones sobre este artículo en nuestros foros
Este artículo ha sido leído 857 veces.
Comentarios
26.12.2014 - Enes
(1laSNS30XXAv)
My first encounter with a Atari 2600 was<a href="http://ereykseeuic.com"> aunord</a> 1980 or 81, at the house of my uncle, and me at the age of 5-6. He had one game i remember, break-out. On its cover the game showed a demon-like head throwing silver balls at a spaceship, and i remember how much frustrated i was when i realized that the graphics of the game weren't much close to the image on the cover :-P hahaha :D Nowdays its the opposite i guess, games do look better than their cover photos :D Oh, Great video Harry, thanks
23.12.2014 - Jefferson
(S5pw8XLv)
My first encounter with a Atari 2600 was aornud 1980 or 81, at the house of my uncle, and me at the age of 5-6. He had one game i remember, break-out. On its cover the game showed a demon-like head throwing silver balls at a spaceship, and i remember how much frustrated i was when i realized that the graphics of the game weren't much close to the image on the cover :-P hahaha :D Nowdays its the opposite i guess, games do look better than their cover photos :D Oh, Great video Harry, thanks
22.12.2014 - Ivan
(BnmLZVfws)
Hi Shahid, glad to see you back again. The hidden game “a deenirfft kettle of fish†actually has 32 bytes of code overwritten by the VTOC directory which prevents it from running. Do you perhaps still have your source code for the Atari version? It could then be patched and fixed!The missing overwritten code is at locations $5080 $509F5080: 43 00 00 00 00 57 52 49 54 45 42 49 4E 4D 41 43 C .WRITEBINMAC5090: 43 00 00 00 00 42 4F 4F 54 57 52 49 54 4D 41 43 C .BOOTWRITMACI've done a partial disassembly (I hope you don't mind) slightly before and after the missing section in case it helps you to identify the code in your notes. (I've not labeled this short disassembly so it includes fixed addresses).502E: ldx #$805030: lda #$335032: sta $3180,X5035: dex5036: cpx #$315038: bne $5032503A: ldx #$80503C: lda #$0C503E: ora $3180,X5041: sta $3180,X5044: dex5045: dex5046: dex5047: cpx #$315049: bcc $503E504B: rts504C: lda PTRIG0504F: bne $50695051: lda $4CDC5054: cmp #$405056: beq $50835058: lda #$FF505A: sta $0101505D: dec $4CDC5060: lda $4CDC5063: sta HPOSP05066: jmp $50835069: lda PTRIG1506C: bne $5083506E: lda $4CDC5071: cmp #$B85073: beq $50835075: lda #15077: sta $0101507A: inc $4CDC507D: lda $4CDC5080: * MISSING CODE * . . .509F: * END OF MISSING CODE *50A0: sta AUDCTL50A3: adc #$5050A5: sta AUDF250A8: ldx #050AA: lda $010150AD: bmi $50BC50AF: lda $4C64,Y50B2: sta $3214,X50B5: iny50B6: inx50B7: cpx #950B9: bne $50AF50BB: rts50BC: lda $4C76,Y50BF: sta $3214,X50C2: iny50C3: inx50C4: cpx #950C6: bne $50BC50C8: rts50C9: lda $4CD550CC: bne $510B50CE: lda $010450D1: bne $50E850D3: lda STRIG050D6: beq $50D950D8: rts50D9: lda #$0150DB: sta $010450DE: lda $4CDC50E1: sta HPOSP250E4: sta $010550E7: rts
19.07.2013 - Vikashprashant
(9S7Oea5GJL)
Hi Shahid, glad to see you back again. The hidden game “a dreiffent kettle of fish†actually has 32 bytes of code overwritten by the VTOC directory which prevents it from running. Do you perhaps still have your source code for the Atari version? It could then be patched and fixed!The missing overwritten code is at locations $5080 $509F5080: 43 00 00 00 00 57 52 49 54 45 42 49 4E 4D 41 43 C .WRITEBINMAC5090: 43 00 00 00 00 42 4F 4F 54 57 52 49 54 4D 41 43 C .BOOTWRITMACI've done a partial disassembly (I hope you don't mind) slightly before and after the missing section in case it helps you to identify the code in your notes. (I've not labeled this short disassembly so it includes fixed addresses).502E: ldx #$805030: lda #$335032: sta $3180,X5035: dex5036: cpx #$315038: bne $5032503A: ldx #$80503C: lda #$0C503E: ora $3180,X5041: sta $3180,X5044: dex5045: dex5046: dex5047: cpx #$315049: bcc $503E504B: rts504C: lda PTRIG0504F: bne $50695051: lda $4CDC5054: cmp #$405056: beq $50835058: lda #$FF505A: sta $0101505D: dec $4CDC5060: lda $4CDC5063: sta HPOSP05066: jmp $50835069: lda PTRIG1506C: bne $5083506E: lda $4CDC5071: cmp #$B85073: beq $50835075: lda #15077: sta $0101507A: inc $4CDC507D: lda $4CDC5080: * MISSING CODE * . . .509F: * END OF MISSING CODE *50A0: sta AUDCTL50A3: adc #$5050A5: sta AUDF250A8: ldx #050AA: lda $010150AD: bmi $50BC50AF: lda $4C64,Y50B2: sta $3214,X50B5: iny50B6: inx50B7: cpx #950B9: bne $50AF50BB: rts50BC: lda $4C76,Y50BF: sta $3214,X50C2: iny50C3: inx50C4: cpx #950C6: bne $50BC50C8: rts50C9: lda $4CD550CC: bne $510B50CE: lda $010450D1: bne $50E850D3: lda STRIG050D6: beq $50D950D8: rts50D9: lda #$0150DB: sta $010450DE: lda $4CDC50E1: sta HPOSP250E4: sta $010550E7: rts
