Jump to content
Jet Set Willy & Manic Miner Community

Free space and code optimisation in "JSW"


jetsetdanny

Recommended Posts

The version I have running has multiple title screens

 

It has collapsing floors

 

It has walls/floors that move

 

It has multiple tunes

 

It has as stated before 102 rooms

 

This was achieved by multiple optimisations throughout the code

 

All done in the space of four weeks.... This group has done what????

 

Apart from needless quotes, being obsessive over trivia. Not a lot

Link to comment
Share on other sites

I could point to numerous examples in various recent projects, where implementing a small code efficiency (sometimes a single byte) has facilitated the introduction of specific modifications, which otherwise couldn't be implemented without significant rejigging of the code.

 

Furthermore, as a novice programmer, I have often taken on the challenge of getting chunks of code to 'fit' into the available space, as puzzles to be solved in their own right. And the process has been very much of a learning curve for me, enhancing my knowledge of the workings of the JSW game engine and of the Z80 instruction set.

 

Another needless quote. You are clueless and still you quote.... Yes you have totally pissed me off

Link to comment
Share on other sites

In Matthews game there exists lots of clear logic flaws. Something that is missed, Probably because you are so busy worrying about the spelling of some room name.

 

 

I will let you get on with it... By the time you work out That ex hl,de is not an opcode you will be celebrating the groups 100th birthday 

Edited by Norman Sword
Link to comment
Share on other sites

No one knows what Matthew might or meant to achieve. Because he defined graphics does not indicate he was definitely going to use them. Conjecture on your part.

Is this a reference to my earlier post elsewhere, regarding the item in the Swimming Pool? I agree that it is conjecture to try to guess where the other unused item forms, defined by Matthew and buried in the JSW game code but never used, might have ended up being placed (if anywhere).

 

However, Matthew DID place an item at a specific location in the Swimming Pool, but it doesn't get seen during play because of a bug (white Air INK) causing it to be auto-collected upon entry to the room.

 

I made a humble suggestion that the Swimming Pool item could be included in what I thought was an ongoing project of yours. This was based on the observation that the starting point for JSW2 was to base it on the existing JSW room layouts. Were it not for the accident of history that the Swimming Pool item was subject to the aforementioned bug, I feel sure that you would have included it in JSW2 (I can't think of any other instances where you purposely removed an existing JSW item from the JSW2 layout?)

 

In making that suggestion, I certainly didn't intend to denigrate your wider efforts. Thinking back, I can only presume that you took umbrage at my suggestion, hence your curmudgeonly attitude towards me ever since?

 

However, you have taken some of my other suggestions on board:

 

- supplementing your 'Jagged Finger' patch with a fix for the (even more pronounced) 'Delayed Attributes' problem;

 

- and I notice that you have quietly edited a couple of typos which I pointed out in your substantive posts on this thread (presumably that was 'pedantry' on my part - yet if anyone had tried to implement the uncorrected code it could have caused a crash, so there's something to be said for being a pedant!)

 

Therefore some positive things have emerged from my bristly encounters with you.

 

P.S. I won't quote your messages again, since it appears to cause you such distress.

Edited by IRF
Link to comment
Share on other sites

Norman Sword,

 

In reply to your recent spate of messages, please note the following:

 

- The people active on this forum do what they enjoy. If we enjoy discussing the spelling of room names, finding little efficiencies in the code or speculating on what Matthew Smith may have meant to do, who are you to tell us we should not be doing this?

 

- We quote things because we react and refer to each other's posts. If everyone just posted things without referring to anything other people have written, this forum would be a collection of monologues. This is not what it is about.

 

- Your efficiency as a programmer - from what you claim, at least - is apparently very high. You deserve respect for this, and you can be a very valuable contributor here. There are many threads on this forum, and new ones can be started easily. You do not have to follow those threads which do not interest you. You are most welcome to follow those which do, or start new ones that you consider pertinent, and your technical contribution is and will certainly continue to be highly appreciated.

 

- The version you have running - 102 rooms, multiple tunes, walls that move, etc. - will you upload it here? Will you release it? Will you publish a disassembly, so that other people - we, who are only beginners at Z80 coding - can profit from your, perhaps professional, expertise?

 

- There is no need to be rude to people who have not done anything to you. This is a friendly forum. People try to be supportive and to appreciate each other's contributions and efforts. As mentioned above, your technical knowledge is and will be appreciated and welcome. However, if it comes accompanied with insults towards other members here or the forum itself, it will be hard to enjoy.

Link to comment
Share on other sites

I think that the three-byte command at #8926 may be superfluous, as DE will already hold the value #8100 by that point. (Having been incremented to that value by the preceding LDIR loop, at #8920.)

That would provide enough space in the Room Setup routine to CALL a Room Setup Patch Vector. (Although it wouldn't be the best place for it; better to shuffle it down to sit after the CALL to #8D33 at #8955.)

Edited by IRF
Link to comment
Share on other sites

without quoting others who have posted posting on this topic

 

JSW2:-     General ignorance posted by this group concerning this game.

 

JSW2 does not compress any of its code., and does not run with compressed code.

 

On the other hand JSW runs with compressed data. the same as JSW2

 

Your scope of ignorance on this subject is why as a group you miss the bigger picture. You are spending so much time on trivia, so much time on conjecture. No one knows what Matthew might or meant to achieve. Because he defined graphics does not indicate he was definitely going to use them. Conjecture on your part. 

You seem to be contradicting yourself here, on the one hand you are saying that JSW2 doesn't run with compressed code and in the very next sentence you're saying that it does so i am not entirely sure what you're trying to say here .. guess it doesn't really matter .. evidently you're experienced in Z80 machine language so i bow to your superior knowledge but just bear in mind before you berate others that you were not born with the knowledge, you had to learn it just like everybody else  

Link to comment
Share on other sites

I think that was the point: Data vs Code (routines)

 

A good example is probably JSW1 vs Manic Miner as the room data is squashed a bit in JSW1, as its 256 bytes per room whereas in MM each room/cavern is a full 1024 bytes.

 

I realise its a bit different and there's more to it than that as MM has other data in the cavern block such as the guardian graphics data but the 'room' data is still 512 bytes alone per cavern.

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.