-
Posts
3,354 -
Joined
-
Last visited
Everything posted by jetsetdanny
-
Today marks the fifth anniversary of the publication of the first videos—starting with walkthroughs of Manic Miner, Jet Set Willy and Jet Set Willy II—on the JSW Central YouTube channel, initially launched as a companion to my JSW Central website. Five years after that modest beginning, the channel now showcases more than 200 videos with walkthroughs of MM and JSW games and variants. As of now, walkthroughs of *all* MM and JSW games for the ZX Spectrum released until June 2025 have been presented on the channel, as well as walkthroughs of the most visually interesting entries among what I classify as “versions and minor mods” of the original MM and JSW. A big thank you to everyone who has subscribed to the JSW Central YouTube channel (close to 500 people now—amazing! 😁). As mentioned in my previous post (sorry for the repetition!) all videos are listed in the “JSW Central videos” section of JSW Central. For each entry, two links are provided: one leading to the YouTube upload, and another to the Internet Archive, where the video can be downloaded in its original Full HD quality or in an AI-upscaled 4K version. These links are also included on each game’s individual page, where the YouTube videos are embedded. While the content of the walkthroughs is the same as in the YouTube uploads, the downloadable versions may include minor refinements, such as adjusted title screens or improved audio synchronisation. Therefore, if you wish to download a JSW Central video, I strongly recommend obtaining the final version from the Internet Archive rather than from YouTube. You can see the whole collection at a glance here. My plans for further development of the JSW Central YouTube channel and of the Internet Archive video collection are as follows: – presenting new MM/JSW games a few months after each release (these will, of course, be very rare, as new games don’t appear that often); – presenting the remaining “versions and minor mods” of the original MM and JSW (from time to time, as showcasing various nearly identical versions in a row wouldn’t be very exciting); – presenting ZX Spectrum platform games that may be of interest to MM/JSW fans (I started with Monty on the Run, as it’s one of my non-MM/JSW favourites). In the future, the presentations on this channel *might* also include MM/JSW and related games for platforms other than the ZX Spectrum, but I’m *not* making a firm promise at this point. And again, to repeat what I posted very recently: I hope this growing collection of videos—based on my RZX walkthroughs, which are also available for download on each game’s page on JSW Central—will serve as a valuable resource for any fans of MM/JSW who are struggling with a game or simply want to see how it can be completed. I also hope it will help promote Miner Willy’s multiple universes to a wider audience 🙂 .
-
I don't think there is any "problem" as such, it's just a question of someone producing a final file in a "release" form, I would say with a Readme with proper credits, etc. I will be happy to prepare such a file when time permits. I haven't had time to do it so far, even though I have been spending most of my spare time on JSW - please have a look here and here for details. Adding some extra touches to Hervé "Willy in the Islands of Mystery (Part II: The Temple)" before its release is my top priority now, so side projects like this one will have to wait for their turn. When I am finally able to work on this (hopefully, early next year), I'm thinking of doing the following: inserting Norman Sword's code (from his file "INVISIBLE.TAP") into an official release of the original "Jet Set Willy" (with Software Projects POKEs added and the colour-code protection removed), adding a custom loading screen and possibly a custom title screen, and creating a Readme where the history of the project will be described and all due credit will be given. Oh, and I'm thinking of calling this variant either "Invisible Willy" or "Willy the Invisible" - I would be interested in hearing your opinion on these options for the title, especially how they sound to native English speakers 🙂 .
-
Thank you so much for the update, Hervé! 👍It all sounds very exciting and I look forward very much indeed to each and every one of your JSW projects! 🙂
-
Willy in the Islands of Mystery : part II : The Temple
jetsetdanny replied to Hervé AST's topic in Remakes
Thank you for this info, Hervé, and, most of all, for letting me add some special effects and music to your wonderful game 🙂. I have indeed been working on it quite intensely in recent months, adding Patch Vector-based extra elements to various rooms. This task hasn't been completed yet, and I still need to code much of the music intended for the game. I do hope to be able to do it in the coming weeks (during which I should have some time off from work if all goes well) and to make the game ready for a pre-Christmas release by Hervé. I wouldn't want to mention any deadlines right now, but I will certainly do my best for the release to happen soon. Once again, thank you so much, Hervé, for letting me enhance "Willy in the Islands of Mystery (Part II: The Temple)" a little bit, and please bear with me while I complete the envisaged additions 🙂 . -
The number of JSW Central videos available to the public has now reached 200 😁. All of the videos are listed in the "JSW Central videos" section of JSW Central. For each video, two links are provided: one leading to YouTube, where the video was originally posted, and another leading to the Internet Archive, where the video can be downloaded in its original Full HD quality or in an AI-upscaled 4K version. These links are also available on each game's individual page, where the YouTube videos are embedded. All videos are available for download, and the final versions are hosted on the Internet Archive. While the content of the walkthroughs remains the same as in the YouTube uploads, the downloadable versions may include minor improvements, such as adjusted title screens or better audio synchronization. Therefore, if you wish to download a JSW Central video, I strongly recommend obtaining the final version from the Internet Archive rather than from YouTube. I hope this growing collection of videos—based on my RZX walkthroughs of the games, which are also available for download on each game's page—will serve as a valuable resource for anyone who is struggling with the game or simply wants to see how it can be completed. I also hope it will help promote Miner Willy's multiple universes to a wider audience. 🙂
-
Thank you so much, Norman Sword! 👍 I would definitely like to record a variant of JSW with an invisible Willy. However, I'm not sure how to proceed now. Lee Prince's "The Invisible Man" is incompletable. You have provided the code that allows to achieve the idea that Lee came up with. With this, I'm tempted to try to fix Lee's version with your code and make it available to anyone who might be interested as "The Invisible Man" - Bugfixed Version, with all due credit given to you in the accompanying Readme file, on this variant's page on JSW Central, in the JSW Central YouTube video description and in any announcements I would make about it. Would you be OK with this solution?
-
Thank you for the code, Norman Sword! I will work on applying it to an actual game file when time permits, hopefully soon.
-
Thank you for taking the time to reply, Norman Sword! 👍 My current coding skills unfortunately aren't enough to write the code you've mentioned (simple as it may be). I did give the issue some more thought, though, and came up with a suggestion for an alternative solution that apparently doesn't work, but I will present it here because I don't understand some of the results of what I've tried to do and would be happy to have some answers. So I thought of the following solution looking at this part of the Main Loop: I thought that after everything that needs to be done with Willy is done (Willy is moved, the items that he is touching are collected), the Screen buffer (room + Willy + entities + items) at #6000 gets copied to the display file at #89F5. My idea was to, at this point, draw Willy to the #6000 Screen buffer again - before the buffer is copied to the display file - but this time using an empty sprite of Willy's. At #89F5, I inserted a call to #9700 where I copied the code from #95C8 ("Check and set the attribute bytes for Willy's sprite in the buffer at 5C00") and the code from #9637 ("Draw Willy to the screen buffer at 6000"), but (at #9772 and #977B in case of "The Nigthmare Room") pointing to an empty sprite instead of Willy's regular sprite. My idea was to erase Willy from the #6000 Screen buffer (by printing him again, but this time using an empty, pixelless sprite) right before the buffer was copied to the display file. The result is that my additional code prints Willy (or whatever sprite I point the instruction to) once again on top of the already printed Willy. It doesn't erase the already printed Willy, it ads pixels on top of him, so to speak, preserving the filled pixels that are already in place. Attached below are three experimental files that illustrate it, called TTMWI (trying to make Willy invisible). In the file "TTMWI (empty)" my additional code at #9700 prints an empty sprite. This results in the game looking normal (as if nothing has changed), because an empty (pixelless) sprite is printed on top of the regular Willy, so all you see is the regular Willy. In the file "TTMWI (bird)" my additional code prints the bird sprite from #BD00. What you see is a mixture of the regular Willy and the (backwards walking) bird, or, in "The Nightmare Room", of the flying pig and the bird (the latter is quite cool, actually). In the file "TTMWI (inverted)" my additional code prints a sprite from #9F00 where I placed an inverted set of Willy's sprites. The result is a solid white block, which demonstrates clearly that the code prints the original Willy's sprite and, on top of it (without erasing it though) an additional sprite selected by my additional code. What I don't understand is why the original Willy's sprite doesn't get erased - why its filled pixels stay in place instead of being wiped out by the empty pixels of the second sprite that is printed by my additional code. An answer to this enigma would be appreciated, as well as an opinion on whether this approach to making Willy invisible could work and, if so, what should be changed in my code to make it work 🙂 . TTMWI (inverted).tap TTMWI (bird).tap TTMWI (empty).tap
-
The Invisible Man is JSW hacked by Lee Prince in 2002 so that that you play as an invisible sprite and guardians cannot therefore collide with you (but precision jumps are very difficult). It was an entry in the comp.sys.sinclair Crap Games Competition 2002. The game has a custom BASIC loader and loading screen, and a modified title screen and scrolling message. The rooms are unmodified. The game is impossible to complete due to the same bugs which make the original JSW incompletable. The official Software Projects POKEs take care of that, so it's not a problem. I would like to record an RZX walkthrough of the game and make a video of it to be placed on the JSW Central YouTube channel. I've started the recording and got as far as "The Beach". However, I've come across a problem I don't seem to be able to solve satisfactorily. Apparently - that's a general remark, concerning all games - Willy has to have some pixels in order to be able to land on a rope. If all frames of Willy's sprite are pixelless - as is the case in The Invisible Man - Willy cannot get hold of a rope, he goes right through it. Hence, rooms where Willy has to use the rope are impossible to complete/pass through. I've had a look at SkoolKid's disassembly and as far as I can tell, the check in the code to see if Willy has landed on the rope is at #92C6 - #92D5: I *think* that the problem must be that the code checks if a given segment of the rope is touching anything else that's been drawn so far, e.g. Willy, but since Willy hasn't been "drawn" (because he has no pixels), the check is negative and so the signal that Willy is on the rope is not set as it should. Please correct me if this explanation is inaccurate. Now the question is: would anyone be able to suggest how to modify the original code so that Willy, while remaining invisible, would be able to get hold of the ropes as usual?
-
I look forward very much to your own game, Byron! 🙂
-
Thanks for this question, SymbolShift. I will have to defer the answer to Andy (Spider) as he is the admin that knows all about the technical side of things here.
-
I am thrilled to announce that a complete archive of the messages once posted on the defunct Manic Miner & Jet Set Willy Yahoo! Group is now available on JSW Central. The Manic Miner & Jet Set Willy Yahoo! Group was founded by Dr Andrew Broad on 20 December 1999 (initially as the Yahoo! MM/JSW Club until March 2002). It existed for over 20 years until 15 December 2020, when Yahoo! shut down all Yahoo! Groups. The Group, which offered a message board, picture galleries and file hosting, quickly became a focal point for the MM/JSW community. Over the years nearly 7,300 messages were posted and by the end of its existence the Group had 742 members. Dr Andrew Broad remained its Owner throughout its entire lifespan. The early 2000s marked the heyday of the Group’s activity while the number of messages declined sharply after 2010. Following a period of near-inactivity in 2013–2014 the Group experienced a modest revival. However Yahoo! first deleted user-created content from its Groups in December 2019 and then closed the service entirely in 2020. The Group’s messages form an important part of the history of the development of MM and JSW games for the ZX Spectrum. They contain insights and information that remain useful even today for those interested in creating such games. For this reason the complete archive of the Group’s messages is preserved on JSW Central. The messages, archived before the Group’s closure, were converted into HTML format for presentation on JSW Central by Michał Gromann. I am very grateful for his assistance in this endeavour 🙏. The archive contains all 7,186 messages that still existed when the Group went offline (the last message visible online was #7256; in total 70 earlier messages had been deleted either by their authors or by the Owner while the Group was still active). In addition the archive includes 37 messages (#7257-#7293) that were never published online and existed only as emails sent to members after December 2019 but before Yahoo! terminated its Groups altogether in December 2020. Some edits were made to this final batch to protect email addresses and conceal certain restricted content. This archive does not preserve the original message threads. Nor does it preserve emoticons (with the exception of the last 37 messages), which appear only as missing image placeholders. You can browse the archive by moving from message to message or by entering a specific message number. Errors will appear if you input a number outside the 0–7293 range, a non-numerical character or the number of a message deleted while the Group was still active. I will be grateful for feedback if you discover any problems such as messages cut off prematurely. I do know that a lot of links in the older messages are messed up (I believe that's due to the original HTML code) and I will correct these progressively. However, if you discover anything else that needs correcting, please let me know here or by email.
-
This sounds great 🙂 . However, I have playtested the game today and my attention was caught by what I consider a significant structural problem. I have engineered a solution to it that I have privately described to Byron and I hope he accepts it. If he does, I will provide him with a modified file tomorrow. He might then want to work on it a little further (e.g. to change some of the things I will propose according to his own taste) and more playtesting will be in order, but this weekend's release will still be on the cards (Byron is a fast worker!). So, to repeat after him: Hopefully available for download soon 🫰
-
Great news! I would be happy to playtest before the release, just in case 🙂 .
-
That sounds great, Byron, thank you for doing this and for sharing info about your progress! 🙂 The name of the room "HELLO GUYS I'M MR PERKINS" is missing a comma after "GUYS" and a full stop after the R in "MR". I would be happy to compare the other room names to check if the spelling is the same as in the original rooms, but for that, I would need screenshots of the original rooms.
-
Great stuff, Byron! I wish you excellent progress in this interesting and valuable work and do keep us updated! 🙂
-
OK, I wasn't quite sure what you meant by "the Caveman way", but Lemmy has explained it to me since. For those who may still fail to grasp the meaning: Lemmy called creating a JSW128/JSW64 music file using a text editor and decimal-to-hex converter "the Caveman way", as he felt it was not an efficient way of doing it. All right, so I coded the title-screen and in-game music for Herve's Welcome to Willy’s Fun Park! also in a very "primitive" way, pretty much inputting a value after value into the Hex editor, after figuring out what they should be by using piano keys and a reference table. A possible improvement was that I didn't use a decimal-to-hex converter but rather a ready-made reference table with Hex value that correspond to specific music notes. I will include that table in the text I'm going to write about coding the 128K music. Now, regarding this bit: "I think the multi-channel ingame tune was too long to ever fit in if it was tried to be made the "Caveman way"" - I believe this is misleading or at least not logical in that it doesn't matter how you code the music - "the Caveman way" or any other way - it will either fit into the spaces allowed by the JSW128/JSW64 game engine or not. In other words, whether it will fit or not doesn't depend on what way you code it, but rather how long the resulting tune will be (how many bytes it will occupy). As John Elliott explains, the title-screen tune can occupy up to 2774 bytes (that's all three channels plus 6 bytes of header) and the in-game tunes can occupy up to 256 bytes (again, three channels plus the header). I would say it's actually too much for the title-screen tune - who would want to listen to the initial music for a few minutes before hitting ENTER to start playing the game and, in fact, before being able to see the scrolling message? (the scrolly kicks in once the title-screen tune has stopped playing). Conversely, 256 bytes is too little for the in-game tune. I mean, you can fit a decent tune into this space, but one would wish to have more room, especially taking into account the fact that the title-screen tune has so much space that is not really needed. I *think* (please correct me if I'm wrong) that the reason for this imbalance is the fact that the space for the title-screen tune is located in contested memory, which can be used safely before the game starts but not while it's running. You are certainly right that it will be easier for an in-game tune to fit into the 256 bytes of space it has allocated if only has one channel than if it has more than one channel. That is, of course, if the data for each channel is to be different. If you wanted to have a tune that would play the same music over two or even three channels, the length of space needed for it would be the same as the length of space needed for a tune that plays over only one channel and has silence in the other two channels*. That's because in the header you still need to indicate where each channel starts, and so you can indicate for two or even three channels to start at the same spot, and in case you want to have silence over one or two channels, you still need to point to the address where the data for each channel starts. I'll explain it better when I write the post about coding the music I've promised. OK, I'll do my best to do it sooner than I had planned, but I don't want to promise any specific ETA - I'll just do it when circumstances permit 🙂 . * As I think about it now, to be precise, I believe that in this hypothetical case you would *theoretically* need one byte less for the same music over three channels than for music over a single channel and silence in the other two. That's because in the case of the latter you would need to sacrifice one byte to hold a value of FF to let the program know, concerning the two silent channels, that they are supposed to be silent. You wouldn't need this in case of all three channels playing the same tune. However, that's theoretical, because I guess you could point to the FF value anywhere else in the code and so spare yourself the one byte.
-
I'm definitely interested! 🙂 Thanks for developing this project, Byron! 👍
-
No, the title-screen and in-game music weren’t made with Lemmy’s “Caveman way.” They were coded manually – first in ZX-Blockeditor, and later in JSWED (which makes inputting the values easier). The title-screen music is “Sobre las olas” (“Over the Waves”), a waltz by Juventino Rosas, and the in-game music is “Itsy Bitsy Teenie Weenie Yellow Polka Dot Bikini” by Paul Vance and Lee Pockriss, first performed by Brian Hyland. Both the title-screen and in-game tunes use three channels. The first and third channels both carry the melody, while the second channel plays the accompaniment. So all three channels are active, but two of them play the same line (the melody). I’m not sure if your post was suggesting changes to the music in Welcome to Willy’s Fun Park!. If so, the answer is no — there are no plans to alter it. I do intend to write a post explaining how to code music in the format used in JSW128/JSW64 games (to make the process easier for anyone interested). But this will have to wait until I finish coding the music for Hervé’s The Temple and have the time and energy to do it. I can’t give a firm date, but hopefully it will happen later this year.
-
Thanks for releasing v. 1.2, Byron! 👍
-
[File] Manic Miner: The Lost Levels
jetsetdanny replied to The-Red-Bayron's topic in Download Discussions
Thanks for releasing v. 1.2, Byron! 👍 -
Fantastic! Do keep us updated on your progress 🙂
-
Thank you for your kind words, Hervé! It's the same feeling for me, and I swear that I thought many times over the years how great it would be if you came back to the JSW scene. So your comeback is a dream come true for me, and I'm very happy that we can continue working together and that I can offer some small contributions to your excellent games 🙂 . I want to thank YOU for letting me playtest "Welcome to Willy's Fun Park!" and add some small enhancements to it. It was both an honour and a great pleasure for me, and I couldn't imagine a better use for my vacation time 😁. I look forward to working on my small - and I can't stress this word enough! - contribution to "The Temple" 🙂 .
-
Thanks for sharing your ideas, Willie! 🙂It's good to know that you are thinking about creating more games 👍 Here's the upper part of SymbolShift's image converted to the Spectrum .scr format to be used for the loading screen: sprucelee.scr