Skip to content

Publicado un MOD del clásico Atic Atac de Ultimate (ZX Spectrum)

septiembre 7, 2017
Hay usuarios que nos sorprenden sobremanera. Es el caso de este programador que ha tenido la valentía de modificar, ni más, ni menos, que el mismísimo Atic Atac creado por los hermanos Tim y Chris Stamper para su mítico sello Ultimate. Su MOD aplicado al videojuego se ha hecho príncipalmente para insertar una opción de definición de teclas para controlar desde el teclado a cualquiera de los tres personajes del juego. Los que hemos jugado no solo al Atic Atac sino a otros títulos de Ultimate, como Cookie, Pssst!, Sabre Wulf y Underwurlde, nos hemos visto en la tesitura de maldecir “por lo bajini” a sus creadores al utilizar la plantilla Q, W, E, R, T para controlar al personaje o protagonista del juego en cuestión.

Sin necesidad de traducción, publico el texto íntegro de los detalles de esta modificación, escrito por su autor:

“Ok, here’s how I did it. I will hopefully work this up into a https://spectrumforeveryone.com tutorial, eventually.

I pressed pause in Spectaculator first, then loaded up a z80 snapshot (perhaps it would have been better to start with the original .tap, but I didn’t).

Then (still paused) I made a note of all the registers in the emulator debugger and dumped memory from $4000-$FFFF (the entire 48K RAM) to a .bin file. Then I found some free space filled with zeroes at $E000 (only potentially free at this point, although that turned out to hold true).

Zeus lets you inject code into it’s integrated emulator instantaneously at assembly time without having to load from virtual tape, so I loaded in my .bin file at $4000 using the import_bin directive. Then wrote a small asm entrypoint program at $E000, that sets the SP, registers and alt registers to the original values, and jumps to the original PC.

This worked, making me feel pretty pleased with myself! Clicking Assemble Then Emulate ran the original, as yet unmodified game, in the Zeus emulator.

Now Zeus has a built in disassembled called Diana, but it requires some effort to set up for a game-sized project – mostly identifying the parts that are data rather than opcodes. I didn’t need to disassemble the whole game, so I took a shortcut.

Somebody on WoS had already said there were only a handful of IN instructions to read the keyboard. The SpecEmu emulator has a debugger that lets you break on IN and OUT, and also reads or writes to a specific addresses. So I used that to find the key handler routines: one each for move/fire, pickup/drop and pause.

I copied those very short routines into Zeus by hand (in the original.asm source file), and used the ORG directive to place them at the correct addresses. Because Zeus is brill, you can put breakpoints in the asm source file routines, and step through the source code while emulating in Zeus.

This works because Zeus assembles in order from the top to bottom of the first file, following all the includes as it goes. There’s nothing to stop you assembling different code to the same address twice (or in this case importing a binary then overlaying code afterwards). The last byte to get planted at an address always wins.”

La actualización que ha realizado Robin (Sevenfff) Verhagen, se limita a un par de añadidos: por un lado, incorporar al menú la opción de poder definir nosotros mismos los controles del juego desde el teclado, y de esta manera, evitarnos los auténticos quebraderos de cabeza con los predefinidos originalmente, con la configuración QWERT (izquierda, derecha, abajo, arriba, fuego – respectivamente). Se añaden otras tres funciones definibles más: recogida y suelta de objetos, pausa y abortar partida (interesante ésta última, por si queremos parar el juego en cualquier momento y empezar de nuevo desde el principio). Esta corrección ha podido ser posible con ayuda de ZEUS, un ensamblador cruzado de Z-80 para Windows.

Por el otro, la optimización del código completo para que el mismo videojuego pueda funcionar sin problemas en modo 128K, en los modelos superiores de ZX Spectrum, según palabras de su autor que había anunciado su MOD desde un grupo de usuarios del ZX Spectrum en Facebook.

Este MOD o actualización realizada sobre Atic Atac, pese a que sobre los juegos originales de Ultimate Play The Game (actualmente Rare Ltd.) para los ocho bits existe una expresa prohibición sobre su software original de ser distribuido libremente a través de la red, su autor asegura que lo publica en su página web sin ninguna clara intención de lucro por su parte. Y esperemos, por nuesta parte, hacer lo propio.

Página de descarga del MOD de Atic Atac

Anuncios
No comments yet

Publica aquí tu comentario

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: