Jump to content


Most Liked Content


#855 Willy in 3D

Posted by ZedEighty on 22 November 2015 - 12:28 PM

Hallo Everyone! 

 

I was directed here by Stuart Brady on the Spectrum 4 Ever Facebook group. I've been dabbling with 3D printed models and have designed a few based on characters from Matthew Smiths' classics. After I posted some pics on FB Stuart suggested that you folks here may also like to see what I've made:

 

2015-11-18%2000.26.37_e1_zpslr04sezx.jpg

 

2015-11-18%2000.06.29_e1_zpsvmhd7pdu.jpg

 

2015-11-19%2020.35.25_e1_zpsrf4bthex.jpg

 

2015-11-19%2001.45.42_e1_zpsmwamcsuv.jpg

 

2015-11-19%2001.53.00_e1_zps6jgiepk3.jpg

 

The models are printed in laser-sintered nylon, and are about 4 cm tall. The non-white model parts have been dyed. I designed the 3D models myself, and had them printed by Shapeways.

 

David :-)




#6997 A total rewrite of JSW in 48k using Matthews core code

Posted by Norman Sword on 07 September 2017 - 02:21 PM

I have resurrected this file By Derrick.P.Rowson. Which was on a crashed hard drive. 

 

This is Not finished, and never will be due to a catastrophic failure of the hard drive.

This is a few weeks work and alas there was no backup of the program.

 

This version does not have any of the new logic playing sprites.

E.g. sprites that followed willy around both vertically and horizontally, and were free roaming around the screen.

The logic had enough sense to move the sprite wherever it needed.

 

 

This version was a development towards having the full Manic Miner + Jet Set Willy in 48k

 

 

 

This game has inbuilt options. (password protected)

Attached Files




#6988 Manic Miner by Software Projects + BUG-BYTE

Posted by Norman Sword on 06 September 2017 - 02:52 PM

This is a modified version of Matthews Manic Miner. The core code has been edited extensively.

 

All data was left intact from #b000 onwards, but is modified at run time to swap between the Bug-byte version and the Software projects version of Manic Miner.

 

The list of changes is very long. Most of these changes are not evident, some are very evident.

 

keys

 

1) change the style of jumping and movement

 

after cheat invoke

 

4)  Immortality

3)  Platform rebuild - when invoked the "9" key rebuilds the platforms

 

Holding down the "9" key and pressing

1) move back a cavern 

2) move forward a cavern

 

 

 

Attached Files




#6857 Some Manic Miner Remake

Posted by Ligan on 06 August 2017 - 10:18 PM

I'm just gonna drop this here. It's an edited version of the original MM, like MM3 and MM5, the graphics and enemies haven't been modified. Attached File  MMHARD.z80   24.16KB   52 downloads

 

Cavern Names :

1. The Pyramid Entrance

2. The Melting Iceberg

3. The Collapsed Plains

4. The Dried-Up Aquifer

5. The Plumbing Store

6. The Cloning Facility

7. The VAT

8. United Kongdom Customs

9. The Germopharmacy

10. The Apple Orchard

11. Finding the Perfect Insurance

12. The Pronce's Palace

13. And Down the Trash Chute...

14. Space Game Tutorial Level

15. The Art Gallery

16. 

17. The Factory

18. Ameobological Site

19. Localizing Ray Deflector

20. The Pharaoh Gravestone




#5402 JSW As Manufacturer (probably) intended .. kind of...

Posted by IRF on 10 December 2016 - 12:06 AM

Looks good!

 

Regarding moving Esmerelda, that shouldn't pose any problems in this specific case, as it's the only instance of a guardian of the same class in the game.  :)

 

However, in general, if you're changing the parameters of guardians then you have to be careful as it can affect other guardians of the same class elsewhere within the mansion.  :ph34r:




#5299 The AND instruction

Posted by SkoolKid on 12 November 2016 - 03:01 PM

Is there any good reason (e.g. in terms of the effect on the Flags, perhaps?) why the original game engine uses an XOR command at #91FB, instead of an OR?

http://skoolkid.gith...y/asm/91BE.html

It's the instruction which merges a guardian's INK colour and BRIGHT value (Bits 0-2 and 6) with the PAPER colour (Bits 3-5) of its host cells.


No, there's particular reason to use XOR instead of OR here. As you've noted, there's no difference in the resulting value in the A register, and there's also no difference in the effect on the flags (which are not checked anyway).


#5007 Atari ST ( JSW )

Posted by SedricAndCharlie on 14 August 2016 - 10:22 AM

I wonder at what point Software Projects changed their mind and commissioned the Stephen McMaster MM/JSW games for the Amiga? Also this led me to reading about Boing! on the C64, the rejected Chris Lancaster conversion of JSW that was passed onto Bubble Bus Software and reworked to avoid copyright. Seems like Software Projects had a lot of odd stuff happening behind the scenes




#4947 Free space and code optimisation in "JSW"

Posted by IRF on 04 August 2016 - 10:35 AM

I'm probably missing the point here but why not just compress the entire code? I know people here are not a big fan of compression as it makes the code harder to read like with JSW2 for example but is that not because there is no decompressor available making editing a lot harder?

but what if you was the one doing all the compressing? might it be easier to edit the code then compress and decompress at will .. imagine the extra rooms and nasties you could cram in using the original JSW engine...

just a thought that's all


I suppose that's one option.

However, I've considered it a nice challenge to find 'efficiencies' in the existing code and therefore try and pack as much into the available space as possible, without compression.

And if nothing else, taking on the task has helped me get my head around how the Z80 machine code works. (I was clueless just a few months ago!!) :wacko:


#4751 JSW and MM Editors for other platforms

Posted by SedricAndCharlie on 02 July 2016 - 05:18 PM

I always wanted an editor either for the C64 version of JSWII (which for me was Jet Set Willy, as it was the one I grew up with) or for the Amiga version (which was the version I consoled myself with long after our C64 had died inside). To my knowledge neither exists, however




#4706 Free space and code optimisation in "JSW"

Posted by JohnElliott on 20 June 2016 - 06:41 PM

However, I've just had a look in JSWED, in the Game tab, and it looks like both of these boxes (as well as *all* of the other ones *except* for "Black Willy") *cannot* be either ticked or unticked - they are filled with blue, sort of. I'm not quite sure how to interpret this...

 

It means that at least one byte in a location touched by the patch is neither the original one from JSW, nor the modified one from the patch. So JSWED cannot safely apply or deapply the patch.




#4654 Complete List of bugs, quirks and anomalies

Posted by IRF on 13 June 2016 - 09:39 PM

Willy enters the 'toilet dash' as soon as he reaches the foot of the bed, regardless of whether he walks or jumps to reach that point.

His getting stuck on the bed is caused by the bed's Conveyor action 'cancelling out' Willy's automatic urge to run rightwards (there's an XOR command involved).  The fact that the 'P' key doesn't release him from this predicament is probably a 'bug' (although Danny might disagree!).

I guess the pillow is a Fire cell because there were no other cell types available when Matt Smith designed the room!




#4605 Complete List of bugs, quirks and anomalies

Posted by Metalmickey on 08 June 2016 - 12:15 AM

Firstly, apologies if a similar topic like this has already been created elsewhere feel free to delete it if there is a better one, i did have a look around and couldn't really find anything like it so i thought i'd create a thread where everyone can contribute to the list of all known oddities found in the game.

 

Secondly this is not a request for help in working around these bugs, more really a point of reference and maybe a source of information for newcomers and those who didn't play the game so much and don't already know about them all and one single place where they can be looked up

 

I thought i might start with the most obvious and well documented ones the first four of which prevent the game from being completed:

 

'The Attic' - The most famous and destructive of them all which of course is triggered when Willy ventures into the attic. A rogue arrow causes all manner of destruction around his house and ultimately renders the game unplayable.

 

'Conservatory Roof' which features the booby-trapped item, or maybe it's just a little too closely guarded by a 'fire-cell' 

 

'The Banyan Tree' with what looks like an out of place earth-cell right of the trunk meaning that Willy cannot make his way upwards to the Bit Of Tree above

 

'First Landing' with the phantom object which is neither seen nor collectible.

 

The rest of these are comparatively harmless or can be avoided

such as...

 

'The Nightmare Room' featuring the ugly green blob which, when i first encountered it i thought it was a fire-cell and so i spent many a long afternoon trying to work out how to collect the object without hitting it... turns out that it was just a conveyor belt ... who knew?

 

'Cuckoo's Nest' with the somewhat disorientated saw that doesn't change direction when it comes back the other way

 

'Under The Roof' with the phantom 'fire-cells' that prevent Willy from dropping out of the bottom of the screen to the right of the tree trunk, interestingly enough this one was even left in the 'Nightmare Edition' ... maybe Mr Smith deliberately left it there... who knows?

 

'The Beach' and 'The Roof' both feature a rope that Willy can jump from and reappear at the bottom of the screen

 

'Rescue Esmeralda' has, in all probability, an unintentional secret passage to 'Ballroom East' when jumping from the conveyor belt at the top right of the screen

 

'The Watchtower' also has one which takes Willy all the way to the 'Off Licence'

 

'The Swimming Pool' has an object which Willy needs to make no effort whatsoever to collect, he merely needs to enter the room and it's his

 

'The Orangery' Here Willy has been endowed with a magnetic head when jumping up and hitting the ledge from the stairs at the bottom left of the screen - not so much a bug, more of a quirk

Apparently i never knew this but there is also a bug which means that the conveyors in rooms such as the West of Kitchen and Tool Shed are not drawn properly .. and the one in the Wine Cellar is not supposed to be there at all.

 

Finally there's that 'halo' effect where a nasty as a 'bright' blue background following it around, this is evident in 'I'm sure I've Seen This Before', the Emergency Generator and On A Branch Over The Drive

 

There's probably a few that i have missed, feel free to contribute!




#3557 'Guardian Aura' Bug Fix

Posted by IRF on 02 April 2016 - 12:30 PM

Update: for an optimised solution, see this post on page 3 of this thread:
http://jswmm.co.uk/t...-fix/#entry5587

 

******

Here is a patch for the bug that is seen in Jet Set Willy in non-Black rooms, if a Guardian is present that has a different Brightness setting to the Air cells in that room. e.g. The Flying Pig in Emergency Generator.

The following 'new' code should be added - I suggest you locate it between #96f4 and #970b:

7e e6 38 c2 f1 91 dd 7e 01 e6 0f c6 38 e6 47 4f 7e e6 38 a9 4f c3 fd 91

Then the existing code at #91ee to #91fc should be edited as follows (this is based on the suggested starting address for the new code listed above):

c3 f4 96 dd 7e 01 e6 07 4f 7e e6 78 a9 4f 00

(The last byte is a NOPped out spare byte in the guardian-drawing routine.)

The above patch is an amalgamation of two routines in the original Jet Set Willy code (one of which was previously unused, except in Manic Miner). It eliminates the 'Guardian Halo/Shadow' bug in non-Black rooms, whilst allowing a wider range of guardian colours (Bright and non-Bright) in rooms with Black screens).

N.B. There is a simpler fix for the Guardian Halo/Shadow Bug that uses fewer bytes, but it would limit the colour palette of guardians throughout the game. i.e. with the simpler fix in place, all guardians on a given screen must be either Bright or non-Bright - even on Black screens where the Guardian Halo/Shadow Bug doesn't manifest itself. So for example, you would no longer see a Bright Red AND a non-Bright Red Monk in The Forgotten Abbey.

Note also that the way the alternative guardian-drawing routine (a remnant from the Manic Miner code) is implemented, avoids the following bug from occurring:

http://skoolkit.ca/d...#attributeCrash

So the above fix really provides the 'best of both worlds'!




#3137 Pokes for Fixing the Cell Graphics Bug in JSW

Posted by IRF on 25 February 2016 - 11:51 AM

I thought it would be good to have a standalone topic for easy reference, containing the Pokes in Hex (EDIT: and in Decimal) that fix the Cell Graphics Bug.  The credit for most of these goes to Stuart Brady (AKA Zub), although I had a bit of input into fixing the ramp/conveyor pixel patterns and conveyor attribute byte in The Nightmare Room.

 

I'm not sure if this should be in the 'Remakes' section of the forum or elsewhere; I can relocated it if necessary.  However, I thought this might be the best place as it is highly advisable for anyone developing a game/remake using the JSW game engine to apply these Pokes, to prevent their intended cell graphics from being corrupted in an erratic manner!

 

The Cell Graphics Bug fix (a generic patch to the game engine) is achieved using the following sixteen Pokes:

 

POKE 8d54, 06

POKE 8d55, 06

POKE 8d56, cd

POKE 8d57, bb

POKE 8d58, 93

POKE 8d59, 59

 

POKE 93bb, 11

POKE 93bc, 08

POKE 93bd, 00

POKE 93be, be

POKE 93bf, 23

POKE 93c0, c8

POKE 93c1, 19

POKE 93c2, 10

POKE 93c3, fa

POKE 93c4, c9

 

EDIT: The above, in decimal:

 

POKE 36180, 6

POKE 36181, 6

POKE 36182, 205

POKE 36183, 187

POKE 36184, 147

POKE 36185, 89

 

POKE 37819, 17

POKE 37820, 8

POKE 37821, 0

POKE 37822, 190

POKE 37823, 35

POKE 37824, 200

POKE 37825, 25

POKE 37826, 16

POKE 37827, 250

POKE 37828, 201

 

An additional fix, specific to The Nightmare Room (where we believe Matthew Smith's intended attribute byte for the conveyor was misplaced in the code, as the bottom pixel row of the ramp cells; this had a knock-on effect on the colour scheme and pixel pattern of the conveyor, even with the Cell Graphics Bug fix in place), can be achieved using the following five Pokes:

 

POKE ddcc, ff

POKE ddcd, 02

POKE ddce, a5

POKE ddcf, ff

POKE ddd0, 5a

 

EDIT: The above, in decimal:

 

POKE 56780, 255

POKE 56781, 2

POKE 56782, 165

POKE 56783, 255

POKE 56784, 90




#2 Welcome

Posted by Spider on 09 August 2014 - 06:17 PM

Welcome! :)

 

This site is not intended to take any traffic away from other existing sites, its simply a place we have to discuss the range JetSet Willy and Manic Miner games along with editing them to make more games. Its fair to say these games have stood the test of time very well even now.

 

Although primarily aimed at the Spectrum versions, we welcome contributions and thoughts on other platform variants of these games too, both standard and edited.

 

Feedback (both good and bad) and suggestions are always appreciated, simply start a new topic in this area (News/Feedback) if you have any suggestions.




#8248 Free space and code optimisation in "JSW"

Posted by Norman Sword on 08 December 2017 - 05:14 PM

Space saving

 

The code from $8aab to $8ac6    

     
8AAB LD BC,$FEFE   Read keys SHIFT-Z-X-C-V
8AAE IN A,©
8AB0 LD E,A              Save the result in E
8AB1 LD B,$7F          Read keys B-N-M-SS-SPACE
8AB3 IN A,©
8AB5 OR E                Combine the results
8AB6 AND $01           Are SHIFT and SPACE being pressed?
8AB8 JP Z,$87CA      If so, quit the game

8ABB LD A,($85E0)   Increment the inactivity timer at 85E0
8ABE INC A
8ABF LD ($85E0),A
8AC2 JR Z,$8AD1      Jump if the inactivity timer is now 0 (no keys have been pressed for a while)
8AC4 LD B,$FD         Read keys A-S-D-F-G

The code from 8AAB to 8ac6 can be replaced by

    CALL $1F54
    JP NC,$87CA
    LD HL,$85E0
    INC (HL)
    JR Z,$8AD1
; c has not been set up yet, so the next instruction sets c 
    LD BC,$FDFE  ;


 
 

;in all the versions of Manic miner or JSW I have posted, I tend to not use BC for the ports

Tendency is
 
    ld a,port_? ;port_? is assigned to the row or even multiple row of keys that will be read
    in a,($fe)
 
The code I actually use is defined in a MACRO, so I will type and see

 

    Read_Port      port_a+port_k  ; this sets up and scans both keyboard rows.  e.g.   row a-s-d-f-g  and row h-j-k-l-enter

 

The reason I do this is to ensure the port is fully assigned when addressed.
It also frees the BC register pair




#8207 A test file for JSW

Posted by Norman Sword on 05 December 2017 - 12:54 PM

Re Game Over.

In JSW their are a multitude of sound effects.

The title tune and in game tune plays their notes in a differing method to all the other sound FX's.
Both the title tune and in game tune attempt to play the note over a fixed period of time.

Your simple demo routine plays the tune, were each notes length is dictated by its pitch. The overall length of each note is the product of a fixed length and a pitch variable. This has several repercussions. The obvious visual one is the speed change in the boot as it descends. The obvious audio effect would be shifting tempo.

Your routine might benefit from using a routine more similar to the in game tune routine. Whereby the length of each note is fixed (sort of). 

;in game tune
;Pitch of note held in D which should be copied to E before playing
;a=border colour
8B60 LD BC,$0003                 ;length of the note overall
8B63 OUT ($FE),A
8B65 DEC E
8B66 JR NZ,$8B6B
8B68 LD E,D
8B69 XOR $18
8B6B DJNZ $8B63
8B6D DEC C
8B6E JR NZ,$8B63

Since this plays slower, this would also require new music data

 

 

 




#8162 A test file for JSW

Posted by Norman Sword on 29 November 2017 - 04:49 PM

Data for the arrows.

 

In the normal set up of an arrow. It uses half of its allocated eight byte slot

 

(after deleting the unnecessary data used at offset 5) 

 

 

e.g

 

0= direction and type (arrow)

1=

2=y position 

3=

4=x position

5=

6=graphic

7=

 

It is relatively easy to make the arrow, use the alternate spaces as the data for a second arrow.

 

I did not go further with this idea, simply because in the games present format. It is difficult to actually define the second arrow to do much.

I simply positioned the sprite to have the same Y-position as the first, and left it at that.

 

This means every arrow in the game is paired with another arrow.

 

If a method of changing the y-position of the second arrow (in the same guardian slot) was incorporated, and also a method of changing the default arrow timing. (A Major Change)  Then this would allow 16 arrows in a room.  

 

The BLOB bouncing across the Bathroom was another Guardian type. That I rapidly lost interest in. It had many versions, some of which became floors that moved etc.  Since none of the effects took my interest, the BLOB is all that remains. 




#8160 A test file for JSW

Posted by Norman Sword on 29 November 2017 - 02:14 PM

This file serves no purpose, apart from toying with an idea, and showing the results of that toying.

 

 

For years the baddies have dominated this game, and they think they have Willy on the ropes and scared.

 

Take back control.

 

In addition to the normal movement keys I have added (actually reassigned) two more keys.

 

Press "F" for the first effect ----  part restricted in usage.

 

whilst holding down "F" press "G" for the second effect.

 

 

The room will reset after each visit. (so no sprites were harmed in allowing this effect to happen)

 

When I wrote this I was aware of the BUG caused by stairs which affected the bullet  sprite alignment. I was not going to fix it, but since then I have become aware of another problem concerning the time over data. (which was over written). So reluctantly I have rewritten some of the code.

 

Willy 007.tap     original File

Willy 007a.tap   stair fix - sound fx fix - time over fix 

Attached Files




#7985 Emulator key scanning

Posted by Metalmickey on 19 November 2017 - 11:59 PM

There seems to be a significant difference between a desktop PC and a laptop. Using Norman's program on my laptop i can get it to register up to 8 simultaneous keys on any given row using Spectaculator 8.0, i had the same results with FUSE and SPIN, when i connect a USB keyboard i can only get about 4, however because it's a wireless one i can probably understand why.

 

owing to the fact that my little rubber-keyed friend is on loan at present i have not yet been able to try it out on a real spectrum

 

My theory is that laptops the ZX Spectrum have one thing in common and that is their keyboards are connected to the motherboard via a multi-way membrane  as opposed to a 5 pin PS2 connector or in the case of the modern PC a single data channel (2 if you count data coming out of the system)

 

pressing combinations of keys across the rows such as QW and GH also work but not in every case for example IO and DE won't work, only 3 of the four keys will register