Resource centre for ZX Spectrum games
      using Manic Miner and Jet Set Willy game engines

 

Archive of the

Manic Miner & Jet Set Willy Yahoo! Group

messages

 

 

 

Message: 7086

Author: rushforthian

Date: 02/03/2017

Subject: Re: Mirror MM/JSW / MM - JSW Conversions

 

I wrote:

I noticed that the impossible triangle on the Title Screen of MirrorJSW (ylliW teS teJ) isn't quite right.

> However, this can be fixed by rearranging the graphic bytes of the components of the triangle, as stored at 
> #8431-#8450.

> Specifically, by transposing each pair of eight bytes: swap #8431-#8438 with #8439-#8440, and swap #8441-> #8448 with #8449-#8450.   In case that isn't sufficiently clear: swap the value stored at #8431 with the value stored at #8439, swap #8432 with #843A, etc.  Then swap #8441 with #8448... #8448 with #8450.
By way of an explanation, the 'Draw the title screen' routine decides which triangle UDG to draw at a particular position in the display file, partly based on the value stored at the corresponding position in the attribute file, but also taking into account whether the low byte of the attribute coordinate currently under consideration holds an odd or an even value.  (Due to the aforementioned AND #01 at #8872.)
Andrew's mirroring process inverted the positions of all the attribute values stored in the range #9800-#99FF.  However, in doing so, it switched the 'odd/even' status of each attribute (with respect to their coordinates, passed on to the routine via the E register).

 

 

arrowleft
arrowright