[hatari-devel] Pinball dream Falcon is working... but...

[ Thread Index | Date Index | More lists.tuxfamily.org/hatari-devel Archives ]


I've hacked a lot hatari and I've managed to get a fully working version of Pinball dream (I've played with it during the last hour).
The music is really nice (nearly perfect I would say).
There's just a little screen jumping sometimes, but it's very playable.

The problem is that I've really badly hacked hatari to obtain this :

I detect if there's a write into $ff8205, 07 or 09 (in video.c).
If yes, I fill 2 new  variables into videl.c

Uint32 newAddrScr; /* keeps the screen adress when one writes into the count registers */ Uint16 hblChange; /* keeps the hbl value when one writes into the count registers */

It's OK to do this for only one change during a VBL, but if there are more changes, it will only take the last one.
This could eventually be changed by an array of changes.

This part of the code is quite OK for me.

Then, I've changed a little VIDEL_ConvertScreenZoom() to take into account the change of the video address.

The problem is that video.c detect the change at HBL=89, but the real change should be at hbl = 83, so I've added :
                    if (hblChange > 0)
                        hblChange = 83;

Wich is OK for Pinball Dream, but not for any other program that would write into $ff8205, 07 or 09.

As long as Videl code is not rewritten, Pinball Dream won't work. And that's probably one of the best Falcon games.

Do you think I should propose this hack for those who would like to test, or should I publish nothing but when the Videl is correctly taken into account (this may take a while) ?

Would someone here be interrested to test ?

I return into Pinball dreams for more testing :)


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/