Jump to content


jetsetdanny

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

Topics I've Started

Multicolour guardians in JSW48

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 :).


Making games Vega-ready

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 :).

[File] Bugfixed, completable version of "Still Stealin' "

16 November 2019 - 11:25 PM

Posted Image

 

File Name: Bugfixed, completable version of "Still Stealin' "

File Submitter: jetsetdanny

File Submitted: 17 Nov 2019

File Category: Jet Set Willy [Remakes]

System: Sinclair
Original Author(s): the DrUnKeN mAsTeR!!!
Third Party Author(s): Daniel Gromann

 

"Still Stealin' " aka "Fahrenheit 2002" is a game by the DrUnKeN mAsTeR!!! (BaSe1 PrOdUcTiOnZ, 2002).

 

The last gamma-released revision of the game suffered from critical bugs which made the game impossible to complete properly. They have now been fixed and the game has been made toilet-completable.

 

The problems and the fixes:

 

1.

 

The problem: There was no way to pass through the room "Oh! Got the brickies in again?" (101) starting at the bottom and moving upwards to exit to "A chance to put things right!" (098), because of the uppermost Fire cell, which did not allow the player to cross the passage where it sat from right to left. This made the game incompletable.

 

The fix: A Water cell was removed, which made passing that particular spot possible.

 

Technical solution: The value of the address #E51D in bank 3 was changed from #06 to #02.

 

2.

 

The problem: After the game was made bed-completable with the modification of one byte described in point 1, it was not toilet-completable yet, because the code which should set the Game Mode to 3, showing Willy with his head inside the toilet and legs kicking wildly in the air, would not work. This was because the toilet had been moved from the original room 033 to room 100 "There's no place like home", but there was no corresponding change in the code which checks if Willy has reached the toilet.

 

The fix: The code was fixed to check for the correct room.

 

Technical solution: The value of the address #9588 in bank 0 was changed from #21 to #64.

 

No other changes were made to the original game file. The original game file and Readme are included in this ZIP package.

 

The game was modified using Claus Jahn's ZX-Blockeditor v. 2.4.3 after the proper values were figured out using John Elliott's JSWED v. 2.3.7 and SkoolKid's JSW disassembly. The bugfixed game was never loaded into JSWED. Therefore, it preserves the original Hacklevel 8 of the JSW128 game engine (which the current version of JSWED would have upgraded automatically had the game been loaded into the editor).

 

This bugfixed, toilet-completable version is released with the DrUnKeN mAsTeR!!!'s approval expressed in a message posted in the Contributor Lounge of this forum, where he wrote, "I give you the full blessing to bugfix the original games, and put them on JSW Central" (the message is only visible to those members who have Contributor status).

 

Enjoy!

 

Click here to download this file


[File] Bugfixed, completable version of "Willy the Rogue"

16 November 2019 - 11:25 PM

Posted Image

 

File Name: Bugfixed, completable version of "Willy the Rogue"

File Submitter: jetsetdanny

File Submitted: 16 Nov 2019

File Category: Jet Set Willy [Remakes]

System: Sinclair
Original Author(s): the DrUnKeN mAsTeR!!!
Third Party Author(s): Daniel Gromann

 

"Willy the Rogue" is a JSW128 game by the DrUnKeN mAsTeR!!! (BaSe1 PrOdUcTiOnZ) released in 2002.

 

The last gamma-released revision of the game, v. 1.2, suffered from critical bugs which made the game impossible to complete properly. They have now been fixed and the game has been made toilet-completable.

 

The problems and the fixes:

 

1.

 

The problem: There was no way to collect the top-right item in the room "Oh Globbits!" (078), which made the game incompletable.

 

The fix: A Water cell was added which allows access to this item.

 

Technical solution: The value of the address #CE6F in bank 3 was changed from #00 to #40.

 

2.

 

The problem: After the game was made bed-completable with the modification of one byte described in point 1, it was not toilet-completable yet, because the code which should set the Game Mode to 3, showing Willy with his head inside the toilet and legs kicking wildly in the air, would not work. This was because the toilet had been moved from the original room 033 to room 000 "Oops I did it again!!!", but there was no corresponding change in the code which checks if Willy has reached the toilet.

 

The fix: The code was fixed to check for the correct room.

 

Technical solution: The value of the address #9588 in bank 0 was changed from #21 to #00.

 

3.

 

The problem: After the above fix was applied, there was still no Willy with his head inside the toilet at the end of the toilet run, because the sprites of Willy in the toilet (or, to be precise, of Willy's legs kicking wildly in the air above the toilet), originally at #A640-#A657 and #A660-#A67F, had been modified to show the shower in "Oops I did it again!!!".

 

The fix: The proper sprites of Willy with his head inside the toilet and legs kicking wildly in the air were restored and used.

 

Technical solution: The sprites of the toilet (without Willy in it) were copied to #9700-#971F and #9720-#973F in bank 0 (into an area of unused code and free space). The sprites of Willy inside the toilet were created (the toilet in "Willy the Rogue" is slightly modified in relation to the one in the original "Jet Set Willy") and placed at #9740-#975F and #9760-#977F in bank 0 (previously free space). The value of the address #95B3 in bank 0 was changed from #A6 to #97 to point to the right place where the complete sprite toilets are.

 

4.

 

The problem: The bed in "Willy the Rogue" is one block longer than the one in the original "Jet Set Willy". However, the code which checks whether Willy has reached the bed was not adjusted, which meant that Willy wouldn't start the toilet run at the edge of the bed, but would have to move one block "into" the bed. While this issue was not critical at all, it seemed better to make the toilet run start at the edge of the bed, just like in the original "Jet Set Willy" and various JSW remakes.

 

The fix: The code was adjusted to check for the correct position within the room.

 

Technical solution: The value of the address #957C in bank 0 was changed from #06 to #07.

 

No other changes were made to the original game file. The original game file and Readme are included in this ZIP package.

 

The game was modified using Claus Jahn's ZX-Blockeditor v. 2.4.3 after the proper values were figured out using John Elliott's JSWED v. 2.3.7 and SkoolKid's JSW disassembly. The bugfixed game was never loaded into JSWED. Therefore, it preserves the original Hacklevel 8 of the JSW128 game engine (which the current version of JSWED would have upgraded automatically had the game been loaded into the editor).

 

This bugfixed, toilet-completable version is released with the DrUnKeN mAsTeR!!!'s approval expressed in a message posted in the Contributor Lounge of this forum, where he wrote, "I give you the full blessing to bugfix the original games, and put them on JSW Central" (the message is only visible to those members who have Contributor status).

 

Enjoy!

 

Click here to download this file


[File] Bugfixed, completable version of "Skint Willy"

16 November 2019 - 11:25 PM

Posted Image

 

File Name: Bugfixed, completable version of "Skint Willy"

File Submitter: jetsetdanny

File Submitted: 16 Nov 2019

File Category: Jet Set Willy [Remakes]

System: Sinclair
Original Author(s): the DrUnKeN mAsTeR!!!
Third Party Author(s): Daniel Gromann

 

"Skint Willy" is a JSW128 game by the DrUnKeN mAsTeR!!! (BaSe1 PrOdUcTiOnZ) released in 2002.

 

The last gamma-released revision of the game, v. 0.7, suffered from critical bugs which made the game impossible to complete properly. They have now been fixed and the game has been made toilet-completable.

 

The problems and the fixes:

 

1.

 

The problem: It was impossible to jump up into the room "Ding 'a' fuckin' ling" (138) from "Rescue Esmerelda" (014) and land on anything but Air. Consequently, the item in "Ding 'a' fuckin' ling" was unreachable, and the game - incompletable.

 

The fix: A Water cell was added in the lower right-hand corner of "Ding 'a' fuckin' ling", making both the entry to and safe exit from this room possible.

 

Technical solution: The value of the address #CA7F in bank 4 was changed from #02 to #06.

 

2.

 

The problem: After the game was made bed-completable with the modification of one byte described in point 1, it was not toilet-completable yet, because during the toilet run Willy would crash repeatedly into the green horizontal guardian in "Cramped Conditions" (128).

 

The fix: This issue was solved by making Willy bypass the guardian in "Cramped Conditions" (128) and jump over the guardian in "The worst toilet in the world" (063) during the toilet run.

 

Technical solution: The value of the addresses #89E7 and #89E8 was changed to #18 and #97 so that the routine at #9718 (rather than the one at #9584) is called to check if Willy has reached the toilet. The new code, allowing Willy's manoeuvres mentioned above, is at #9718 - #974B (in previously unused space). The original code at #9584 - #9599 remains in place unchanged, but it is unused by the game.

 

No other changes were made to the original game file. The original game file and Readme are included in this ZIP package.

 

The game was modified using Claus Jahn's ZX-Blockeditor v. 2.4.3 after the proper values were figured out using John Elliott's JSWED v. 2.3.7 and SkoolKid's JSW disassembly. The bugfixed game was never loaded into JSWED. Therefore, it preserves the original Hacklevel 8 of the JSW128 game engine (which the current version of JSWED would have upgraded automatically had the game been loaded into the editor).

 

This bugfixed, toilet-completable version is released with the DrUnKeN mAsTeR!!!'s approval expressed in a message posted in the Contributor Lounge of this forum, where he wrote, "I give you the full blessing to bugfix the original games, and put them on JSW Central" (the message is only visible to those members who have Contributor status).

 

Enjoy!

 

Click here to download this file