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: 7166
Author: ian.rushforth
Date: 02/02/2018
Subject: Re: Mirror MM/JSW / MM - JSW Conversions
Further to my post below, I've just noticed that in the version of MirrorJSW contained within the Special Edition of Party Willy, Andrew did indeed ensure that the Title Screen is rendered correctly. I believe he used the former method listed below. i.e. swapping pairs of graphic bytes for the components of the impossible triangle, or in Andrew's own words from the accompanying readme: a "mirroring operation [on] the title-screen lookup-table (33841-33872)".
I can confirm that the latter approach that I mentioned below also works, and avoids having to shift the data bytes around.
---In manicminerandjetsetwilly@yahoogroups.com, wrote :
---In manicminerandjetsetwilly@yahoogroups.com,
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.
Alternatively, you could insert a CPL command (or an INC A or DEC A would do the trick) immediately prior to the AND #01 at #8872 in the 'Draw the title screen' routine. However, that would involve quite a bit of code-shifting code in order to fit it in. (The nearest one-byte efficiency I can see which could facilitate that, is to replace the LD A, #01 at #88A3 with an INC A, which has the same effect on the A register in the context.)
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.
Alternatively, you could insert a CPL command (or an INC A or DEC A would do the trick) immediately prior to the AND #01 at #8872 in the 'Draw the title screen' routine. However, that would involve quite a bit of code-shifting code in order to fit it in. (The nearest one-byte efficiency I can see which could facilitate that, is to replace the LD A, #01 at #88A3 with an INC A, which has the same effect on the A register in the context.)
