-
Posts
3,341 -
Joined
-
Last visited
Everything posted by jetsetdanny
-
Thank you for information about the progress of your project, UncleWan! It's exciting to know that it is so advanced! 😁 While I personally enjoy difficult challenges, I think that's perfectly fine. In fact, I have a strong feeling that the "general audience" (if one can talk about such a thing) prefers easy games. When new games are released, those that are *very* easy (particularly from the point of view of a person who always plays using the Rollback feature, like myself) seem to get far more attention (in terms of comments) than the more challenging ones. So I think it's a good choice to make your first JSW game easy 🙂 . Absolutely! I'll be very happy to playtest it and give you feedback 😊.
-
Thank you for this post, UncleWan! Yes, we are aware of the existence of this site. In the Links section of JSW Central I've had the following link for some years now: https://nitta.sakura.ne.jp/jsw/jsw.main.html, described as "Nittamituaki's ranking of difficulty of JSW and similar games". This link doesn't work (hasn't worked for some time), but the content of that page is preserved on the Internet Archive, e.g. here: https://web.archive.org/web/20220429132532/http://nitta.sakura.ne.jp/jsw/jsw.main.html (the author quotes me regarding the most difficult JSW games in existence 🙂). I hope one day he will continue that analysis of the games' difficulty, it sounded interesting. In any case, it's good to know that there's someone also in Japan interested in JSW 😊 .
-
You are welcome. I will just add that, according to the information I have received from his father, Aaron unfortunately passed away in 2013, aged only 37.
-
Hi UncleWan, It's great that you have resumed work on your game! 🙂 Regarding the problem with the items, I haven't ever come across it. The item placement works well for me with the Item option selected (I'm using JSWED v. 2.3.7). When I left-click a point on the screen where there is no item, an item is added. When I left-click an existing item, it's deleted. When I hold the SHIFT key and left-click a point on the screen where there is no item, an item is added. When I hold the SHIFT key and left-click on an existing item, another item is added on top of the existing one. Using the Space key works in the same way as using the left click on the mouse, as far as I can tell. So I couldn't explain what was happening to you. In any case, I understand your problem has been solved and it doesn't prohibit you from continuing the creation of your game - is this correct? I wish you good luck with the creation of the game and I will be happy to playtest it before the release and try to help if you run into any problems 🙂 .
-
UncleWan, how is the creation of your first JSW game going? Is there any chance we will see its release in the Year of the Fire Horse? 🙂
-
The JSW Central YouTube channel has just reached the milestone of 500 subscribers! 😁 Thank you SO MUCH to everyone who has subscribed - it feels good to know that this way of promoting JSW and MM games reaches more and more people 😊.
-
“Willy on a Transatlantic Cruise” is a beautifully atmospheric game with a great deal of varied scenery, stretching from the underwater kingdom of Atlantis to… Mars, with different real-world locations in between. You’re going to enjoy it! 😊 Just take your time and rest if it starts to feel a bit long. You can still finish it comfortably before the 20th anniversary of its release, which falls on 10 March 😉.
-
Hello, Pasquale, welcome to the forum! 😁 I'm glad you have been able to register and a big thank you to Andy for fixing the registration process! 👍
-
Thanks for playing and finishing The Temple, Mike, and for telling us about it! I believe you are the first person in the world other than Hervé or myself that is known to have completed The Temple! 👍😁 I would kindly suggest that you have a go at "Jet Set Willy in Paris" next, as "Jet Set Willy in London" is... still on Hervé's side of the screen. It will be released later this year, hopefully 😊. Oh, and what is this genuinely wonderful moment that made you laugh out loud in surprise? 🤔
-
The current number of posts on the forum, as of this moment (before posting this one 😉) is 17,304. I have just established, by counting back along the All Activity line, that post # 17,000 was published back on 4 May, 2025. Should anyone try to verify my counting, please don't hesitate to do so and publish the result here. If no-one questions my result in the next week or so, it will become the official date of passing the 17,000 posts milestone in the Chronology section on JSW Central 🙂 .
-
Mike, I wrote about the game being "relatively easy", and I owe you an explanatory note here: There is a huge difference in the perception of the difficulty of games depending on whether one plays them using some kind of "assistive tools" - like an Infinite Lives POKE or saving and loading snapshots, or using the Rollback feature while recording. The latter two are more powerful than an Infinite Lives POKE, because that POKE only protects you from "simple" loss of life, but not from Multiple Death Scenarios (when you keep losing lives continuously, e.g. like falling down to "Entrance to Hades" in the original JSW). These days I always play using the Rollback feature (which allows you to roll back to a previously marked cue point, so an earlier moment in the game, before you ran into trouble). If I lose a life, I roll the game back to an earlier point, no worries. Because of this, my estimation of the difficulty level of games varies drastically from the opinions of people who play without this or even without infinite lives: they often describe as very difficult what seems very easy to me. Well, you'll judge for yourself how much my description matches your reality 🙂. And do you use any "assistive tools" when you play JSW games, by the way? P.S. *Really* difficult games are difficult even if you play using Rollback or saving and loading snapshots. They would be absolutely impossible for a human to solve with 7, 70 or perhaps even 700 spare lives.
-
Thank you, Steve! 🙏
-
Hi Mike, Thank you so much for posting here and for your kind words! 😊 Your post is really exceptional, because it’s not often that we get this kind of elaborate testimony related to the MM and JSW games. I am particularly thrilled to learn that you appreciate the homebrew games that have kept the scene going, as I have spent a lot of time and effort over the years emphasising their value and fighting the concept — sometimes found outside the MM/JSW community — that a game is “just another MM/JSW clone” and, for that reason, not even worth taking a look at. I have always argued that there are many *new games*, made using the exquisite game mechanics and some concepts of the original games, but new titles in their own right, to which their authors dedicated a great deal of time, effort and skill — in many cases probably hundreds of hours of work — with excellent results. I am also very pleased, of course, that you have found JSW Central and the related YouTube channel useful 😁. Your post reminds me of that time back in the early 2000s when I first discovered the existence of ZX Spectrum emulators for PC computers, and then the existence of numerous fan-made MM and JSW games. It was still a couple of years before I started playing them one by one, and before I started work on my first JSW game, but the seed of interest had already been sown by then, and I had it at the back of my mind that I should check out those games that seemed to compensate “with interest” for the earlier lack of more rooms in JSW and JSW II. In case you might be interested, my personal testimony about my involvement with the MM and JSW games is available here. If your trajectory should happen to be similar to mine, the next stage of it will be a desire to actually design some new JSW rooms… or an entire new JSW game! JSWED makes this very easy (v. 2.3.7 is recommended; John Elliott’s calling it the “Latest Unstable Version” is false modesty). CAUTION: It’s addictive! 😉 And meanwhile, it will be a pleasure to hear more from you, or to discuss any aspect of the MM and JSW games you may be interested in 🙂.
-
There have been various interviews with Matthew Smith over the years. I wonder if he has ever been asked the questions that were asked in this thread. I can't recall any such interview, but that doesn't mean there wasn't one; I've always been more interested in new MM and JSW games than in details concerning the original ones. Back in 2008, Andrew Broad created Manic Miner: Matthew Smith 2008 Remix, based on an interview with Matthew Smith in the Load 48 issue of Retro Gamer magazine. Here's an excerpt from its Readme regarding level 16 (or rather 15, since the first level is traditionally numbered as 0). This is just Andrew's interpretation, not Matt's "source knowledge". I highlighted the most relevant parts in bold. [15] "Flag Bugs": '"I'd run out of names. Or maybe I was thinking in hexadecimal and thought it didn't need one," says Matt. And what are those enemies? "Flag bugs! In the code. If flag bug equals..."' I have put Water-cells in the portal to stop you simply dropping down to collect the item, although it does remove the need for a jump over the portal to collect the top-left item. I think it is more important to force the player to jump over the yellow flag-bug, which is obviously the route that Matthew Smith intended. I have added Fire 2 cells in the top row, just to show them. The Water 2 cells that I put in the portal actually look like switches, so it doesn't make much sense to make them visible. There is a hidden item in the room-definition, as the fifth item has a colour-attribute of 255, which terminates the sequence. So I have undeleted this item.
-
Thanks for mentioning this. Yes, I still need to update Manic Miner: The Lost Levels 128K's page on JSW Central. The update of the download files will come with the update of the page. Thank you for this interesting story, JianYang! 😊 Your story was a pleasure to read and time well spent 🙂. It was this post. Such moments make me glad that I did manage to - with an enormous and decisive help from my son - to bring the Yahoo! message archive back online 😁.
-
I AM SO SORRY! I did confuse you with another person, namely UncleWan. He is Chinese, apparently the first Chinese in the world creating a JSW game! My question was really directed at him, but your nickname sounds Chinese to me and I got confused. Sorry about that! And in reality, is your nickname Chinese? It certainly seems to be meant to sound Chinese. Any relation to him?
-
There's no point arguing with your personal criteria and I have no intention of doing it, but just as food for thought: - You can have a game using the JSW64 game engine where there are 20 single screen levels and 20 connected screens. Would this qualify as a MM game? - You can have a game using the JSW64 game engine where there are 10 single screen levels and 50 connected screens. Would this qualify as a MM game? - You can have a game using the JSW64 game engine where there is 1 single screen level and 127 connected screens. Would this qualify as a MM game?
-
I've just made it available for download, so no, I wouldn't object 🙂 .
-
Ethical - for me, no. Legal - if I do decide to publish it, I will do it with an understanding that my action is legal. That's all I can say. Does that mean "no problem" or "no, that's not okay?" It means "no problem". "Ethical - for me, no" was my reply to the question "would there be legal or ethical problems with publishing such a thing?". So my full reply would have been "No, for me there would be no ethical problem with publishing such a thing" 🙂 .
-
Posted December 22, 2025 · IP You can now download it from https://we.tl/t-Fy10shHs1m . I have added some PC-based games from my archive as well. I did mean to do it first for the Boxing Day and then as a New Year's gift, but I was too busy working on other JSW-related things. So here it is now 🙂 . The download will expire in three days, so grab it as soon as you read this message 🙂 . However, if you read this and it's too late to download, post your request here and I will re-up the ZIP file.
-
Coding music in JSW128 and JSW64 games
jetsetdanny replied to jetsetdanny's topic in Designer's Lounge
Thank you for your kind words, Willie! I'm very glad my "essay" may be useful for you 😊. Thank you also for your further comments! I would like to add that if anyone would like to use in their games the music I've coded for Herve's games, please feel free to do so, while I would appreciate your mentioning somewhere (in the Readme or release notes or wherever appropriate/possible) that it was coded by me (Daniel Gromann, for credits I prefer my real name than any possible nicknames). Most of the tunes I coded (with the exception of one, well, perhaps 'one and a half') are tunes composed in real life by someone other than myself. I'm curious if those who have played Willy in the Islands of Mystery. Part II: The Temple have recognised any of them. I would prefer not to reveal their identity for the time being (to give people some time to play the game without this spoiler), but I will gladly do so later on, after more time has passed since the release. Should anyone need to know the identity of any tune right now or in the near future, do let me know here at the forum or by e-mail and I will let you know what it is 😊. If anyone should want to use any of the tunes I've coded, as described above, you can identify where an in-game tune starts by looking at the value of the offsets #B6 and #B7 of the first page of the room data (in other words, what would normally be the first two characters of the room name) and you will know where the header is. Then you would need to look at the header and see where the data for each of the three channels is placed. And then copy it to your game (probably manually, or however you manage to transfer these bytes) and adjust the header in your game to show correctly show the addresses of the three channels where their data will end up in your game. For the title-screen tune and the tunes placed where the in-game tune and cheat-mode tune reside by default (the latter two starting at #F700 and at #F902, respectively, in both cases in Memory Bank 0), you could try using the JSWED Music editor to export them. I wouldn't be quite sure if it would work though. Without checking it, I would *think* that if JSWED generally works well in this respect, it *should* work for the title-screen tune and the in-game tune in Welcome to Willy's Fun Park! because in that game new music was coded in place of the default tunes and nothing else was modified (I'm not mentioning the cheat-mode tune because it wasn't modified there, it should be the default one). In case of Willy in the Islands of Mystery. Part II: The Temple, the modifications were more far-reaching. A part of the space in memory meant for the title-screen tune is occupied by other data (the title-screen tune does not occupy the whole length of that space, so the rest of it was used for other data). Where the in-game and cheat-mode tune normally are there may be more than one tune, I used that space to the maximum as well. So I'm not sure what the JSWED music editor would do about these, whether it would be able to export these tunes successfully or not. In any case, they can always be copied manually, which would be my preferred solution, actually. -
Coding music in JSW128 and JSW64 games
jetsetdanny replied to jetsetdanny's topic in Designer's Lounge
Conclusion This concludes my write-up on coding the 128K music. I hope it will be useful to those who wish to code their own tunes 😊. I also look forward to any questions, comments, or suggestions for improving what I have presented here 🙂. -
Coding music in JSW128 and JSW64 games
jetsetdanny replied to jetsetdanny's topic in Designer's Lounge
Expanding the in-game music Now, something I really wanted to do in Hervé’s games (and only had time to work on it for Willy in the Islands of Mystery. Part II: The Temple) was to “install” different tunes in different groups of rooms, much like I did in a number of 48K JSW games that I collaborated on over the last few years. I managed to achieve it in The Temple, and I will now describe my solution, which could certainly be applied (as-is or with modifications) to other games if the authors so wish. The address of the in-game tune in The Temple is defined in offsets #B6 and #B7 of the first page of the room data. In other words, the address of the tune occupies the first two characters of the room name. You can see this if you open the game in JSWED. This obviously means that these first two characters cannot be used for the room name. The code that prints the room names is adjusted accordingly: it prints the room name starting at the third (not first) column of the line where it appears, and the length of the room name it prints is 29 characters, not 32 (it could be 30, but the last character of each room name is used for the colour of the room name in this room). So, offsets #B6 and #B7 of the first page of the room data hold the address of the in-game tune for this room. For example, the data for room 00, “The Comet”, starts at #C000 in Memory Bank 1. At #C0B6 and #C0B7, you’ll find #08 and #DB. This means that the in-game tune in this room starts at #DB08. This is an example of a tune that resides in Memory Bank 0. The space at #DB00–#DBFF was free, and I used it for in-game tunes. Now, let’s have a look at room 02, “The Grail”, whose data starts at #C800 in Memory Bank 1. The values at #C8B6 and #C8B7 are #E0 and #81, so the in-game tune for this room starts at #81E0. In JSW64 games (at least in the variant that The Temple uses), each room occupies four pages of data (4 × 256 bytes). When the room is initiated, these pages are copied to the current-room buffer in Memory Bank 0 from #8000 to #83FF. So, when The Grail is initiated, its data from #C8.. in Bank 1 is copied to #80.. in Bank 0, its data from #C9.. in Bank 1 is copied to #81.. in Bank 0, and so on for the remaining two pages. This means that while the two bytes in the room names show the address of the start of the in-game tune as #81E0, this effectively corresponds to #C9E0 in Bank 1, because data from #C9.. in Bank 1 gets copied to #81.. in Bank 0 when this room is initiated. I hope this is clear. The Grail is also a good example of how the tune data can be divided. Let’s look at the header of its in-game tune at #C9E0–#C9E5: #E6 81 C9 DB E6 81. This means that the data of the first and third channels start at #81E6, while the data of the second channel starts at #DBC9 (all in Memory Bank 0). The reason for this arrangement is that there wasn’t enough room in the room data for The Grail to store the whole in-game tune. So I put the (identical) data for the first and third channels in the room data, starting at #C9E6 in Bank 1 (when the room is initiated, this data gets copied to #81E6 in Bank 0), while the data for the second channel starts at #DBC9 in Bank 0 (there was spare space there). All right, so the offsets #B6 and #B7 in the room name show where the header of the tune is, and the actual tune data can either follow the header or be located elsewhere, according to what the header indicates. The in-game music in The Temple also has the following feature: when the player enters a new room (either coming from a previous room or respawning in the same room after losing a life), there is a check for which tune was playing before the player entered this room. If the same tune was playing, it continues from the note where it stopped. If a different tune is playing, it always starts from the first note. All this is achieved as follows. There is a call from the “Initialise the current room” routine at #8965 (in Memory Bank 0) to #FAFE (also in Bank 0), where the following code is placed (to quote the actual opcodes): 2A C9 FE ED 5B B6 80 7D D6 06 6F A7 ED 52 28 04 EB CD C6 FE That translates to: LD HL,(&FEC9) LD DE,(#80B6) LD A,L SUB A,06 LD L,A AND A SBC HL,DE JR Z,04 EX DE,HL CALL #FEC6 Most of this code was kindly provided by John Elliott. I added one part, which I will explain in a second. This code checks the value of addresses #FEC9–#FECA against the value at #80B6–#80B7, to see if the tune in the current room was already playing before entering this room. #FEC9–#FECE is the address to which the game engine (the built-in music player) copies the 6-byte header of the last tune selected. This means that addresses #FEC9–#FECA hold the address of the first channel of the tune (the first two bytes of the tune’s header). Since addresses #80B6–#80B7 hold the address of the header (not of the first channel), I added the instruction SUB A,06 to subtract 6 bytes from the value of #FECA. Thus, the value compared against #80B7 is the header address, not the address of the first channel. If the values checked match, the program jumps four bytes to the code that follows (unrelated to music). If the values do not match, the routine at #FEC6 is called, which changes the in-game tune (and the new tune starts playing from the first note). Thanks to the subtraction I added, the code works, but this solution introduces one serious limitation: the first channel of the tune always has to follow immediately after the tune’s header (so that the difference between the lower bytes in their addresses is exactly 6). So, while in general the tune’s header and the data for each of the three channels could be stored in completely different locations, for this solution to work, the data of the first channel only must follow immediately after the tune’s header (the data for the other two channels can be placed elsewhere in memory). -
Coding music in JSW128 and JSW64 games
jetsetdanny replied to jetsetdanny's topic in Designer's Lounge
Default tunes in JSW128 and JSW64 games Games using the JSW128 and JSW64 game engine have three tunes by default: The title-screen tune It can occupy up to 2774 bytes (the total length, including the 6 bytes of the header and the data of all three channels). By default, JSWED saves it as the last code block of the TAP file, called “title.tun”, which gets loaded from the address 29994 (#752A). If you want to edit the title-screen tune in JSWED’s Hex Editor, it starts at #F52A in Memory Bank 7. The in-game tune It can occupy up to 256 bytes (the total length, including the 6 bytes of the header and the data of all three channels). By default, JSWED saves it as a code block called “main.tun”, which gets loaded from the address 63232 (#F700). If you want to edit the in-game tune in JSWED’s Hex Editor, it starts at #F700 in Memory Bank 0. The cheat-mode tune (for info about how to activate the cheat mode, have a look here) It can occupy up to 254 bytes (the total length, including the 6 bytes of the header and the data of all three channels). By default, JSWED saves it as a code block called “cheat.tun”, which gets loaded from the address 63746 (#F902). If you want to edit the cheat-mode tune in JSWED’s Hex Editor, it starts at #F902 in Memory Bank 0. Here’s what it looks like in ZX-Blockeditor: JSWED has functionality in its “Music” section for importing and exporting these three tunes: This can be useful if you want to use tunes that already exist, either in another game file or saved as separate files in the .TUN format. When this subject was discussed back in October 2005 on the MM&JSW Yahoo! Group, John Elliott gave the following information about the .TUN format tunes that existed back then: To this, Andrew Broad added: I did try using SPECSAISIE to convert 48K tunes to 128K tunes, but I was not satisfied with the results. It is certainly able to convert the basic chart values, but it can’t cope with the length of the notes, in my opinion. If you try it and have a different experience, do let us know. For what it’s worth, attached to this message are some of the .TUN format tunes mentioned above. I did try to extract the tunes coded by Andrew Broad for Party Willy (JSW128 version) using JSWED's export/import functionality mentioned above, but continued to get an error message when trying to import the exported tunes. tunes.zip