Blog Home  Home Feed your aggregator (RSS 2.0)  
More World Rally news - Manuel Abadia's ASP.NET stuff
 
# Wednesday, 07 May 2008

This post is first in English and then in Spanish
Esta noticia está primero en inglés y luego en español

The Dallas DS5002FP core is complete. The additions to the 8051 core are:

- Extra Special Function Registers
- Byte-wide Bus Support
- Memory Partition and Memory Range
- Bootstrap Configuration
- Power Fail Interrupt
- Timed Access
- Stop Mode
- Idle Mode

I didn’t bother to add support for Peripherals, the Reprogrammable Peripheral Controller or CRC-16 support because it isn’t used by the game.

The communication between the Dallas and the main CPU seems to be working, however, the game writes some bytes to the encrypted Video RAM, it reads them back and then makes some calls based on the decrypted data. As the current decryption is wrong, the game doesn’t work yet and never uses the dallas for anything interesting right now.

The decryption of the Video RAM is in the same state as it was. However, ElSemi asked Javier for information about the decryption and he is trying to help us. He didn’t remember how it was performed but we send him the information we got about it in 2002 (when Mike connected the PCB to the fluke) to refresh a bit his memory. Thanks to that, he gave us another point of view about how the encryption may work. Even if he is right, we still need to get data from the original PCB. Hopefully, somewhere in the process we end up with a clean decrypt function that uses no tables.

Understanding some code I was able to guess some decrypted values and get this:

 

It looks really ugly as the colors for the tiles aren’t decrypted properly but this finally confirms that World Rally uses the same Video Hardware as Target Hits. The only change seems to be the additional palette entries for the night races. I have seen how the palette was configured in a night race and I have an idea of how the palette works for the night races (not very different from World Rally 2), but we’ll have to wait until the game works to implement it.

So, the current status is that if the Video RAM is decrypted properly and we are lucky, the game should work without the light effects (and maybe some priority problems) and be playable. If we are not that lucky, hopefully the problems are not difficult to find and fix.

Update: more progress has been made. You can read about it here


El emulador del Dallas DS5002FP está completado. Lo que se ha añadido al emulador del 8051es:

- Registros de funciones especiales (SFRs) extra
- Soporte del Byte-wide bus
- Partición y Rango de memoria
- Configuration de arranque
- Interrupción por falta de energía
- Acceso temporizado
- Modo Stop
- Modo Idle

No he añadido soporte de periféricos ni el Controlador Reprogramable de Periféricos, porque no son usados por el juego.

La comunicación entre el Dallas y la CPU principal parece estar funcionando correctamente. Sin embargo, el juego escribe algunos bytes a la memoria de Video encriptada, luego los lee desencriptados y hace unos saltos dependiendo del valor desencriptado. Como la desencriptación actual es incorrecta, el juego sigue sin funcionar todavía y no utiliza el dallas para nada interesante todavía.

La desencriptación de la memoria de Video sigue igual. Sin embargo, ElSemi le ha pedido a Javier información sobre la encriptación y nos está tratando de ayudar. Javier no recordaba cómo funcionaba la encriptación por lo que le hemos mandado la información que obtuvimos en 2002 (cuando Mike conectó la placa al fluke) para refrescar su memoria. Gracias a ello, Javier nos ha dado otro punto de vista de cómo podría funcionar la encriptación. Aún si está en lo cierto, con lo que nos ha dicho aún necesitamos obtener datos de la placa original. Con un poco de suerte, en algún momento terminaremos con una función de desencriptación clara que no usa tablas.

Entendiendo un poco de código he podido intuir unos cuantos valores desencriptados y obtener esto:

 

Se ve realmente feo porque los colores de los bloques no están desencriptados correctamente pero esto confirma finalmente que el World Rally utiliza el mismo hardware gráfico que el Target Hits. El único cambio son unas entradas adicionales de la paleta para las carreras nocturnas. He podido ver como se configuraba la paleta en una carrera nocturna y tengo una idea de cómo va (parecido al World Rally 2), pero habrá que esperar a que el juego funcione para poder implementarlo.

Por lo tanto, el estado actual es que si la RAM de Video se desencripta correctamente y tenemos un poco de suerte, el juego debería funcionar sin los efectos de luz (y quizás con algún problema de prioridades), pero sería jugable. Si no somos tan afortunados, con un poco más de trabajo encontraremos y arreglaremos los problemas que surjan.

Actualización: se ha avanzado un poco más. Puedes leer sobre ello aquí

Wednesday, 07 May 2008 08:18:05 (Romance Daylight Time, UTC+02:00)  #    Comments [3]   Games | MAME  | 
Copyright © 2017 Manuel Abadia. All rights reserved.
DasBlog 'Portal' theme by Johnny Hughes.