Jump to content
Jet Set Willy & Manic Miner Community

MM/JSW disassemblies: 20160511


SkoolKid

Recommended Posts

JSW disassembly 'Display the title screen...': the side comment at #8820-8827 - it might be worth pointing out that 'DE' isn't defined here, in advance of the LDIR command at #8826 - but that's because it has been left with an 'initial' value of '#5800 (pointing at the attribute file) by the operation of the previous LDIR loop (#8813-881F) that cleared the display file!

Edited by IRF
Link to comment
Share on other sites

  • 2 weeks later...

Just checking in to acknowledge the comments and see what new stuff I should be adding to my MM/JSW disassembly TODO lists! :)

 

I've been preoccupied recently with SkoolKit 5.3 and the Spectrum ROM Disassembly, but I'm going to take a break from those and concentrate on MM and JSW for a bit. Now, where were we the last time I was here...

Edited by SkoolKid
Link to comment
Share on other sites

Just checking in to acknowledge the comments and see what new stuff I should be adding to my MM/JSW disassembly TODO lists! :)

 

I've been preoccupied recently with SkoolKit 5.3 and the Spectrum ROM Disassembly, but I'm going to take a break from those and concentrate on MM and JSW for a bit.

 

Funny you should mention the Spectrum ROM, I've been experimenting recently and a familiar shape has popped up - see if you recognise it from the attached screenshot (the Black thing at the top-centre of the screen)...

 

Also, you might be able to answer a query I had a while ago about the area of the 'contended memory' #5B00-5BFF.  The 'top end' of it seems to be used for the stack addresses in JSW (starting at #5BFE-FF), but does it have any other use than that?  #4000-#57FF is the display file, #5800-#5AFF is the attribute file, and the JSW buffers begin at #5C00 - so 'page' #5B fits in between those.

 

 

Now, where were we the last time I was here...

 

 

I came round to your way of thinking on Willy's Jumping Animation Counter (when he makes a quirky jump 'Through the Wall') and the way the Rope Animation Table works (in calculating the offsets of each Rope segment) - although I had a couple of suggestions for 'clarifications' in the Trivia entry for the former, and the introductory text for the latter - and I've bombarded this thread with a host of other ideas since!

post-63-0-71235200-1469708913_thumb.png

Edited by IRF
Link to comment
Share on other sites

Richard, I've just noticed that neither of the two 'Kong Beast' screenshots in the MM disassembly display the Cyan horizontal guardian!?

 

Also, the comment at #91EE caused me momentary confusion; perhaps it should read: "The Kong Beast is drawn with Yellow Ink when he is falling"?

Edited by IRF
Link to comment
Share on other sites

Also, you might be able to answer a query I had a while ago about the area of the 'contended memory' #5B00-5BFF.  The 'top end' of it seems to be used for the stack addresses in JSW (starting at #5BFE-FF), but does it have any other use than that?  #4000-#57FF is the display file, #5800-#5AFF is the attribute file, and the JSW buffers begin at #5C00 - so 'page' #5B fits in between those.

 

As far as I know, the printer buffer (5B00-5BFF) is used only by the stack - the stack pointer being 5C00 when the game starts.

 

Richard, I've just noticed that neither of the two 'Kong Beast' screenshots in the MM disassembly display the Cyan horizontal guardian!?

 

Also, the comment at #91EE caused me momentary confusion; perhaps it should read: "The Kong Beast is drawn with Yellow Ink when he is falling"?

 

Regarding the cyan guardians in the Kong Beast caverns: well, well, well! My first thought is that because the third horizontal guardian in those caverns is unused, the fourth one (the cyan one) is erroneously skipped. I will look into it...

 

Regarding the comment at 91EE: the comment at the beginning of that section of code (at 91A3) says "The Kong Beast is falling", but I suppose you might have forgotten that by the time you reach 91EE. :)

Link to comment
Share on other sites

N.B. The Cyan 'Kong caverns' guardians are present when you play the game!

 

Oh, I know that - what I meant was that they are erroneously skipped by my cavern-drawing code.

 

I don't know if I've mentioned this before, but none of the images in my disassemblies are derived from in-game screenshots - they are all programmatically generated.

Link to comment
Share on other sites

The Encroaching Rope:

I believe that a Rope's data spilling beyond its alloted eight bytes in the Entity Buffer, falls firmly into the 'Bug' rather than 'Trivia' category.  Furthermore, placing a Guardian directly after a Rope in a room's Entity List can potentially cause corruption through the game code, in a similar way to the Attic Bug!

 

May I humbly suggest that your JSW disassembly could provide the POKEs that implement the Adjacent Ropes Patch (assuming the prior, kind permission of John Elliott for such, of course!)?

Ropes before Arrows:

This Trivia entry could perhaps point out that this scenario is sometimes, but not always, fatal to Willy. (Depending on whether the Arrow and Rope have sufficiently diverged in the next time-frame, when Willy's sprite is first drawn on the Rope.)

Also, if the Arrow's pixel y-coordinate is such that it passes between the Rope's segments, then a pixel-collision might not take place, in which case 'teleportation' would be avoided!

Edited by IRF
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.