Jump to content


Member Since 23 Aug 2015
Online Last Active Jul 17 2018 03:18 PM

#9731 [File] JSW 128 VK.Tap

Posted by IRF on 02 July 2018 - 04:33 PM


#9730 Free space and code optimisation in "JSW"

Posted by IRF on 02 July 2018 - 01:43 PM

For the record, in my code which optimises the horizontal guardian movement routine (by using shared code for both left and right movement), there is a further optimisation to be had by replacing:


LD A, (IX+$06) / LD A, (IX+$07)





LD B, (IX+$06) / LD B, (IX+$07)

#9617 "Thoroughly Modern Willy"

Posted by IRF on 12 June 2018 - 07:21 AM

A play on the name of the musical "Thoroughly Modern Millie", of course.  :)

#9616 Information for a book needed!

Posted by IRF on 12 June 2018 - 07:17 AM

I seem to recall an advert for the game which contained the phrase "But beware the Attic..." (part of the attempt to pass the bug off as a 'deliberate mistake').

#9557 Pokes (Spectrum Version)

Posted by IRF on 21 May 2018 - 11:47 PM

Makes Maria rather less formidable?

#9548 A total rewrite of JSW in 48k using Matthews core code

Posted by IRF on 11 May 2018 - 10:33 AM

In this version ropes can be specified for position and length. It will also be noted that the ropes do not pick up willy when they pass though an object. It is permissible for other sprites to cross the ropes path. It is also permissible for ropes to collide with each other.


I would hazard a guess that the way that was achieved was by modifying the rope-drawing code, so that collisions are detected in the same way as the arrow-drawing code. i.e. a pixel-collision has to take place when a segment of rope is drawn AND the attribute of the cell within which that rope segment is being drawn also has to have a white INK setting?

#9542 Some Manic Miner Remake

Posted by IRF on 05 May 2018 - 08:02 PM

Thanks for the update, Ligan! It's really great that you have finalised this project!  :D  :thumbsup:


(There are some great MM and JSW games which had almost-ready beta-releases, but have never made it to the stage of being declared final by their authors - what a shame!)


As mentioned before, I will do an update of JSW Central and I will re-record the RZX walkthrough, but it will probably a few weeks before it happens (due to real-life strain).


Danny, did you notice that Ligan uploaded a corrected version of the file to post #13 in this thread?

#9526 Free space and code optimisation in "JSW"

Posted by IRF on 02 May 2018 - 09:58 AM



The above approach may be more appropriate for optimising the horizontal guardian movement in Manic Miner (i.e. having a shared set of commands for both left and right movement), since the guardians 'face themselves' in their sprite pages rather than being 'back to back', and as a result there would not be a need to swap the two halves of each sprite page.  I haven't tried it out yet though.




Having thought about the above, I'm not sure if it's feasible to come up with an arrangement that's more byte-efficient than the current one.

Firstly, the direction of travel for horizontal guardians would have to be determined from Bit 2 of Byte 04. But there's no easy way of checking when the value in Byte 4 has spilled over past Bits 0-2, other than by checking for the individual values 08 or -01 (#FF). The Carry Flag wouldn't respond in these circumstances.

Maybe if all the values for animation frame were doubled (and the 'Draw the horizontal guardians' routine was amended accordingly, with an additional RRCA inserted at #8DD0), then the Half-Carry Flag could be used. But I don't think there are any Z80 instructions (conditional jumps etc) which are determined by the status of the H Flag.

You would need to fundamentally change the function of Byte 04 for horizontal guardians - edit all the horizontal guardian data, so that Bits 5-7 holds the animation frame (with Bits 0-4 unused, although perhaps they could be recycled for other purposes?), rewrite the 'Move the horizontal guardians' routine in accordance with my previous post, and then NOP out the three RRCA's in the 'Draw the horizontal guardians' routine at #8DCE-#8DD0.

Probably not worth the hassle.


To contradict myself again, I managed to get my suggested approach to work in Manic Miner. :)


I used three RRCA's at the start of the 'Move the horizontal guardians' routine to rotate the animation frame (loaded up to A) into Bits 5-7, and then three RLCA's at the end of the same routine to rotate the updated frame value back into Bits 0-2, before loading back into guardian Byte 04.  (No need to change 'Draw the horizontal guardians'.)


Even with all those additional rotate commands, there are still at least ten spare bytes left over because of the merging of the left-right movement commands!

#9525 Some Manic Miner Remake

Posted by IRF on 02 May 2018 - 09:48 AM

Thanks Ligan!


So is the official name for this project "Manic Miner: Back to the Mine"?


I should point out that the additional wording on the Title Screen actually says "Back to to the Mine"!

#9523 Free space and code optimisation in "JSW"

Posted by IRF on 01 May 2018 - 05:01 PM

Note to self: my shared code for left-right horizontal guardian movement could be optimised further.

e.g. Instead of having LD A, (IX+$06) then LD B,A - just do LD B, (IX+$06).

Also use a shared command at the end LD (HL),A to update the animation frame (i.e. an earlier jump destination).

(Temporarily posting this here because on the PC I'm currently using, I can't seem to edit earlier posts.)

#9463 Conservatory Roof Changes

Posted by IRF on 19 April 2018 - 04:55 PM

All of the little pink gremlins have lost their left arm in that version!

#9456 Spot the differences - part two

Posted by IRF on 19 April 2018 - 01:41 PM

Yes, the 'ghost' Fire cells and the 'bunch of grapes' items - both fitting in with the Pac-Man theme.

#9454 Spot the differences - part two

Posted by IRF on 19 April 2018 - 11:53 AM

I think Norman Sword drew my attention to this a while back, when he did his project that combines both versions into one file.

It is a notable absence from John Elliott's list of differences between the two versions:

#9380 MM and JSW patched versions...

Posted by IRF on 11 April 2018 - 09:56 AM

37708 = #934C

That's the large area of unused code in Manic Miner (soon to be put to better use in a forthcoming remix...), whereas I think Andy was referring to the unused region of JSW at #FD00 (64768)?

#9361 Spot the difference

Posted by IRF on 09 April 2018 - 03:25 PM

I've just noticed the Software Projects triangle rotating on the grassy area

Clarification: the above is sometimes the Software Projects triangle, but at other times it is the 'thresher' guardian. i.e. the sprite drawn in that position on the title screen depends on which version of the game you are about to play - corresponding to whichever vertical guardian appears in 'The Warehouse'.