Jump to content


Member Since 07 Mar 2015
Offline Last Active Jan 20 2020 03:32 PM

#11532 [File] Jet Set Willy - The Softricks editor version

Posted by jetsetdanny on 14 January 2020 - 12:57 AM

John, going back to the decription of the Softricks game engine you present on your website (as mentioned above), the following questions arises:


You say, "The major change, then, is that the guardian table doubles in length. The data that were in the range A400h-A7FFh (the object tables and a couple of sprite pages) have been relocated."


The item (object) tables are relocated to #FE00 - #FFFF. It takes away two rooms, that's why in the Softricks mode in JSWED you cannot edit rooms 62 and 63.


Do you know where the "couple of sprite pages" are relocated by the Softricks engine? Are they really relocated or are they simply lost (i.e. the player has fewer sprite pages to use than in a standard JSW48 game engine)?


If it's the latter, a correction might be in order on your website.


Thanks to Ian for drawing this issue to my attention.

#11527 Text source of Original 'POKES' to fix JSW ?

Posted by jetsetdanny on 11 January 2020 - 06:52 AM

Interesting, Andy! :)


There must have been some kind of announcement from Software Projects. I suspect it may have been both about the winners of the competition and the POKES they had come up with at the same time.


I don't know how they announced things back in those days. Today there would be info on their website and social media accounts, I am sure. Back then perhaps they wrote an announcement and sent it to various editorial offices of magazines related to computing, and the magazines published the content of the announcement, but in their own way, without citing it. 


It's an interesting question whether the original text of the announcement survives in some archive...

#11524 Multicolour guardians in JSW48

Posted by jetsetdanny on 10 January 2020 - 04:21 AM

Thanks, Ian! It sounds very interesting. I will need to look at it again with a fresh mind to fully appreciate it :) .



No worries! I might use the 'initially different' one myself at some point. ☺


Please do so, by all means! Or perhaps it'll find its way into a collaborative project of ours one day :) .

#11519 Multicolour guardians in JSW48

Posted by jetsetdanny on 08 January 2020 - 06:51 PM

I actually think it would show much more interesting and quirky behaviour if you revert back to a value of #03 for the second byte.  (In my humble opinion. :) )


EDIT: Actually I would go further (and be less humble in the process! :P )  The fact that you chanced upon the value #7F for the eighth byte by accident, and you happened to choose #03 for the second byte, means that you inadvertently came up with the most convoluted pattern of colours it is possible to achieve via this method (which is itself based upon an unintended oddity of Matthew's original game engine)!  I think serendipity suggests that you should go for a starting value of #03 for the second byte!


Ian, I will make a note of this inadvertent discovery and will try to remember to place such a guardian in some future game project :).


However, for the current one (the nature of which will be revealed soon, I know this assertion is probably becoming boring at this point ;) ), the only thing that is important is that the flashing/flickering be as close to the one in JSW128 game engine as possible.


The flickering in the JSW128 game engine is regular, there are no changes to it. It happens in the same way all the time, at least that's the impression I have without really analysing it frame by frame.


Therefore, a solution that is more regular is closer to what happens in JSW128 than a solution which has more irregularities in the flashing cycle, no matter how attractive, quirky or inventive that other solution may be. 


And whichever solution is closer to JSW128 has to be chosen for this project.


Nevertheless, as I said at the beginning, there will be future opportunities to apply this discovery, hopefully :)

#11516 Multicolour guardians in JSW48

Posted by jetsetdanny on 08 January 2020 - 03:49 PM

My replies are in green below:


In the test file which I looked at last night ('quite good'), the eighth byte (at address #A007) was set to #7F, whereas the one you've just provided that goes through just three colours has the eighth byte set to #7E.  Presumably that's also the case in your 'proper' project?  (Remember, JSWED will try to be 'helpful' and fix certain bytes to even numbers to avoid 'Attic Bug' style corruption - I suspect that may have happened in this case?)


So I think using #7F for the eighth byte (setting it that way in the Hex Editor rather than the GUI) should resolve it - that worked when I just tried editing #A007 in your '3 colours only!' test file, so it should work on your 'proper project' as well.  EDIT: Notwithstanding what I said about only using even numbers for the eighth byte, which is not important unless you want a guardian which also (with the same definition) moves normally in JSW128.


Thanks for spotting the difference and thus determining what the problem was, Ian! Indeed changing the value of the last byte to #7F in my "proper project" did the trick - the guardian is now flashing in 4 colours! I also changed the value of the second byte from #03 to #FF - I'm not quite sure what the difference is, but I *think* the flashing is more regular, at least in the first few seconds.


To sum up, your assistance has allowed me to achieve what I wanted, i.e. that the guardian in the JSW48 game engine not be too different from the one in the JSW128 engine. I mean, it is different, but flashing in four colours is much closer to the original guardian flashing in 5 colours in JSW128 - it's a definite improvement over the two-colours-only cycle I was initially facing - thank you! :)



I'm glad you made sense of them, despite some rather dodgy 'auto-correct' choices by my Tablet!  ('Direction of swing' got changed to something very odd - I can't remember what now, having edited the original post last night - but it was 'Direction of sewer's or something like that!)


Sewers are a very legitimate JSW subject! :) They have appeared in various games. The rooms that come to my mind immediately are: Paul Equinox Collins's room "The Sewer" from his unfinished "JSW '96 Remix" which found its place, as room 079, in "JSW: The 2010 Megamix", as well as the rooms in The Megamix I designed using Paul's excellent graphics: "Entrance to the Sewer" (076) and "Below the Bathroom" (075).

#11514 Multicolour guardians in JSW48

Posted by jetsetdanny on 08 January 2020 - 05:30 AM

Thanks for your involvement in this subject, Ian! :)



Let's get this question out of the way first:


P.P.S. Have you tested whether this guardian 'behaves' in the JSW128 game engine?  (It should do, I think.)


No, it's beyond my scope of interest. I am only interested in being able to insert into my current project a guardian that will flash satisfactorily.



Now as a preamble:


Incidentally, the test file has a bug whereby if you pause (using the A-G keys) and then unpause it, my emulator crashes and resets!




*I just fixed the pause bug in your test file (...)


Thanks. This test file, however, has nothing to do with the project I am working on, it's just a file I created to present the guardian issue outside of the proper project.



Our posts just crossed!


As I explained in my previous post, I think your guardian does cycle through four* colours for most of the time - it just has regular (but brief) periods where it only cycles through two colours.  That's unavoidable since it is behaving like a rope, which speeds up in the mid-point of its oscillations.


When I read you saw it cycling through fours colour for most of the time, I thought you were wrong. Then I looked at it and I could see you were right.


However, when I looked at the guardian in my proper project, with the values ef 03 00 d0 00 9e d0 7e inserted, I could still see it was, after a short while, flashing in white, cyan and blue only. Definitely no magenta. 


I thought I was going crazy.


I couldn't understand how it was possible, as I saw no difference between the two files in the guardian definition. Why would the same guardian behave differently in two JSW48 files?


Then I realised that the guardian in my proper project was using a sprite from page 9f, not 9e. This was adjusted, so its definition was really ef 03 00 d0 00 9f d0 7e.


I checked and yes - it makes a difference! Please find attached a file in which the guardian's sprite page has been changed to 9f.


Look at the guardian, please. After a few cycles involving magenta, where the flickering seems slower, the guardian starts flashing faster, in white, cyan and blue only. No magenta whatsoever and it's not coming back at any time AFAICT. And please don't tell me you see magenta there, or I'll really go crazy! ;)


Here's the file:


Attached File  MC sprite page 9f - 3 colours only!.tap   32.09KB   4 downloads


Now, I was really glad about this, because I thought I would swap the sprites around in my proper project and put the flashing one at 9e instead of 9f and I'll have it flashing in four colours.


However, I tried it without swapping the sprites (just using the sprite which already sits at 9e), and it doesn't seem to work, I don't see magenta there after the initial few cycles.


Weird, weird, weird...  :unsure:



#11502 Multicolour guardians in JSW48

Posted by jetsetdanny on 07 January 2020 - 03:14 AM

I am writing this as I'm experimenting with the last (eighth) byte of the guardian's definition:


value 00 - first cycles through blue, magenta, cyan and white various times, then flickers irregularly a couple of times and then starts flickering in magenta and white only!


value 01 - can't be set in JSWED's GUI. When you set it manually in JSWED's GUI, it reverts to 00.


value 02 - flashes in white and magenta only


value 03 - can't be set in JSWED's GUI. When you set it manually in JSWED's GUI, it reverts to 02.


value 04 -  flashes in white and magenta only


value 05 -  can't be set in JSWED's GUI. When you set it manually in JSWED's GUI, it reverts to 05.


value 06 - value 04 -  flashes in white and magenta only


value 07 (skipping, I'm sure it would revert to 06)


value 08 -  flashes in white and magenta only


value 0a - flashes in white and magenta only


value 80 - flashes in white and magenta only


I don't think any higher values would yield any different results, especially that the original value #D0 is a multiple of four (208 in decimal) and it doesn't do anything else but flicker in white and magenta.





value 01 (inserted in JSWED's Hex Editor, not GUI) - first cycles through blue, magenta, cyan and white various times, then flickers irregularly a couple of times and then starts flickering in magenta and white only! - so it has the same behaviour as value 00.


So values 00 or 01 would be best for my purposes if they maintained cycling through the four colours - blue, magenta, cyan and white - but they stop after a while and revert to flashing in white and magenta only!


Weird, weird, weird...  :unsure:

#11497 Multicolour guardians in JSW48

Posted by jetsetdanny on 06 January 2020 - 06:54 PM

John Elliott's JSWED's manual states (starting at the bottom of page 22) that "In JSW48, there are four guardian types - horizontal, vertical, arrow and rope. In JSW128 there are ten; the four mentioned earlier, two diagonal types, and flashing versions of all except the arrow and the rope."


The "flashing" versions are called "multicolour" in JSWED itself, e.g. in JSW128 games when choosing the guardian type you can choose "Vertical multicolour", "Horizontal multicolour", "NW/SE multicolour" and "NE/SW multicolour" (the latter two being diagonal ones, of course).


Judging by the description in SkoolKid's disassembly, it looks to me like bits 0-2 in the first byte of the 8-bit-long definition of each guardian class define what type of guardian it is (please correct me if I'm wrong on this). In practical terms, it looks to me that vertical multicolour guardians have #07 in the first byte of their definition (again, please correct me if this is not entirely accurate).


Please find attached two experimental files. The first one, "MC guardian 128K.tap", features a stationary (unmoving) multicolour vertical guardian in a JSW128 game file.


The second file, "MC guardian 48K.tap", features the same guardian copied to a JSW48 game file.


Even though there are no multicolour guardians in the JSW48 game engine, as per the JSWED manual, this guardian is still multicolour, or, to be precise, bicolour. If flickers in white and magenta only, which makes the way it flickers (glints? glitters? glows? shimmers? - I'm not sure what verb is best here) less elegant than in the case of the same guardian in the JSW128K game file: the flickering is much faster and less colourful in JSW48 than in JSW128; it does not look as good.


In the JSW128 game file the same guardian flickers in five colours: red, magenta, green, cyan and  yellow. Its flickering is much nicer to the eye than in the JSW48 game engine (although I suspect that if white and blue were added to the cycle, it would be even better).


The question I have is this:


Would it be possible to tweak the JSW48 game engine easily (like changing a couple of bytes or adding a little bit of some additional code, I'm not talking about any serious rewriting of the engine) to make this stationary bicolour guardian multicolour, i.e. to make it flicker at least in the five colours that it flickers in in the JSW128 game engine?


I only need it to flicker in a nicer way, I don't need it to move.


Any help on this would be appreciated :).

Attached Files

#11496 Making games Vega-ready

Posted by jetsetdanny on 05 January 2020 - 07:26 AM

Thanks for your reply, guys! :)

#11493 Making games Vega-ready

Posted by jetsetdanny on 04 January 2020 - 04:26 AM

A project I am currently working on involves an additional options screen, on which the player has to press either "1" or "2". Other than that, it just uses the regular keys any JSW48 game uses.
Is it worth creating a ZXK file to map the Vega control buttons to the ZX Spectrum keys used by the game in this case?
Your thoughts and suggestions would be appreciated :).

#11492 [File] JSW128vM

Posted by jetsetdanny on 27 December 2019 - 06:59 PM

Yes, thank you for sharing it, Norman, and for describing the development history!  :thumbsup:


In view of your statement:


> Version M is version "K" and Version "L" combined. So in essence it supersedes both of the earlier versions.


when I next work on JSW Central (which may be a couple of months from now, as I am engrossed in another project right now, albeit JSW-related), I will delete the pages for JSW 128 VK3 and JSW 128 VL5 and create a new page for JSW 128 VM, with references to the other two former versions - unless you would like me to leave the individual pages already in existence and add a new one, which I can also do. Please let me know what your preference is.


I look forward to exploring JSW VM! :)

#11489 [File] JSW128vM

Posted by jetsetdanny on 27 December 2019 - 04:10 AM

Thanks for uploading it, Norman Sword!  :thumbsup:


From your earlier comments, I did not have a feeling that JSWVL was a further development of JSWVK in the sense of improving the former; I understood that it was not *better*, but *different*, an alternate take, so to speak.


If JSW128VM is the "final" version, does it mean that it supersedes both JSWVL and JSWVK? Or only one of them, perhaps? (if so, which one?)


Please kindly elaborate on the classification of your versions, so that we know how to describe them on JSW Central and elsewhere.

#11483 Jswed2 Suggestions

Posted by jetsetdanny on 23 December 2019 - 06:51 AM

I would "like" this message were it not for the last sentence  :o

#11475 Yahoo Groups going away

Posted by jetsetdanny on 21 December 2019 - 03:46 AM

I'm afraid I cannot endorse archiving the Group's content, because it raises some thorny issues around copyright, confidentiality, and the ability of users to delete their own content.


Thank you for your view on this issue, Andrew.

#11465 Yahoo Groups going away

Posted by jetsetdanny on 20 December 2019 - 03:46 AM

Could you not post as Kari Krisnikova, perhaps? You used to do it in the past...


While we're on the subject of the Yahoo! Group, how would you feel about the Group's content being archived on JSW Central?


It's a very tentative question, I am not saying I will definitely do it if you approve, because it might be a very time-consuming task to modify the saved messages to be hosted over there (particularly if I wanted to host each message as an individual page), but your approval would certainly make me consider it very seriously :).