Jump to content
Jet Set Willy & Manic Miner Community

Cheat Table in CPC amstrad version of JSW2


Norman Sword

Recommended Posts

Reply2. I missed your detailed reply above sorry. :)

 

I'll skip the ZX versions out for now then, as I think I basically covered the 'full vs snapshot' save of them in a previous post and if necessary I can always have a new topic about that subject.

 

The 'dual format' tape I have the Amstrad side of it is the 're-release' version of JSW2 minus colour code, or more accurately (if it was done the same way as the ZX) either a snapshot or a bypass.

Edited by Spider
Link to comment
Share on other sites

Norman,

 

I tried what I suspect was the 'original' versions of JSW2 via emulated Amstrad. I suspected it was reasonably intact as the game froze on V1 completely when trying to run on a 6128 so I was forced to use 464 mode, both V1 and V2 were loaded via emulated tape, complete with working keypad/code entry page. I did not bother with disk versions.

 

I was unable to invoke the cheat despite several efforts on both the title screen, during play and then actually while being in the Cartography Room itself (not necessary I know) , I also tried with the COPY key held down and with and without shift too, just incase.

 

I do think it may well be present in V1 at least still, however its activation I think there is a little bit more to it. I can recall reading something quite a while back about it I'll have to look into it a bit more.

 

EDIT...

 

 

One thing is that on the Amstrad, the Cartography room, as well as being a fun little screen in the game, was actually used by Derrick and I as a debug mode. We have a cheat code, that went:
Edited by Spider
Link to comment
Share on other sites

Amsrad CPC Jet Set Willy.

Cheat invocation. Any room and stood on the lower floor. This will be reset by any key that is not part of the cheat code.

I have invoked this several times recently. All done in the bathroom. The easiest way to invoke. (but it will freeze the game) is to make the assumption that it could be either of the cheat codes I have mentioned. 

press <space> this will clear the cheat buffer

 

then type in the longer of the two cheat codes-   <HIEMMRAIDNAPRRRTT>

 

From this point onward, game abort, will take you to the cartography room. This was designed as a cheat, To actually abort the game you need to loose all your lives. Break while playing the game will draw the cartography room.

A big if here. If the cheat mode worked, the cursor on the screen can be moved around the map. When over a room on the map that is the target/designated room that it is desired to go to, press <enter>

 

The cartography room will disappear and the selected room will be displayed.

 

The cursor will again be flashing and again it can be moved. The cursor this time is indicating the position Willy will be drawn in the room. Press <ENTER> and the game will resume with Willy at the designated position.

--------------------------------------------------------------------------------------------------------------
The above is what is supposed to happen.  (after invocation of the cartography room and its cheat)

The first problem concerns the inaction of the keyboard to input. This could be just configuration problems. But since I could not on my brief test get the cursor in the cartography room to move, the game was locked onto that screen. (so progress to the next part did not happen) 

The next problem, one I did not get as far as testing. Is that table of corrupt data. The code in the cartography room uses the data to find what room you are selecting as you move around the map. Very simple code. The little squares on the map are simply counted off (the squares indicating rooms) by starting in the top left hand corner and scanning each line to find a room square. If it finds a square it then steps one byte through the cheat table. If the cursor is flashing over the square picked and <enter> is pressed, it takes the value in the cheat table, and uses that as the new room number. Otherwise it just keeps scanning through the cartography room and stepping each time it finds a marked square indicating a mapped room. When it reaches the end of the screen, it knows you did not select a room, and loops through the movement code again.

The cheat table is a list of the rooms as defined in the cartography room. Without that table, the data is random. What happens is the room is selected and the selected room should be drawn. The code looks up the room number and (in most cases) draws a pile of junk on the screen. Which indicates to me that the room number extracted from the cheat table is higher than the room count. So in most cases the cheat table must have values over 140ish , which are room numbers outside of the game data.

At other times if it finds data that is within the room number total it draws the room that corresponds to that number. Since this is basically a random room number. We get shown a random room in the game. This mismatch between the map and the room shown, makes the cheat worthless. 


The problems I am encountering now, seem to be greater than the problems encountered five of six years ago. Which is why I assume that the inability to move in the cartography room is a configuration problem only.

--------------------------------------------------------------------------

 

Its not Escape that quits to the title screen! :D , will retest with various other keys although the fact he says "another key or two" is going to make it more difficult. Praise for snapshots for quick reloading!

 

As an aside there is talk of memory constraints, although it would potentially only save a 'few bytes' both the AMS and ZX versions with keypad intact have a blank page with a 'Press enter to continue' line, rather than like say other games with keypad protection (ZX at least) that immediately take you to the entry page. All I'm saying here is a few precious bytes *could* of been saved by not having this slightly un-needed page/pause before code entry ? :)

 

The only sensible next test I can think of is to try it on my real CPC464 although I'd need to sort out the tape image (tzx/cdt to mp3/wav or something) and use that rather than use my original but re-release tape, mind you that would be quicker. This way I can rule out key mapping concerns, as its not ESC it may be CLR but that does not  work either.

 

 As stated above it is indeed the break key, that invokes the cheat jump into the cartography room.

One of the many flaws of Matthew Smith's game  (spectrum) is the way it asks for a colour code. If you run the game in an emulator you will find that it will ask for the same code on every single game that is played. It will even ask for the same code on the second attempt. Every time the game is played. This is due to usage of one of the spectrum's variables as its random number seed. Since this is fixed on every load of the game when using an emulator, that is why you get asked the same input code. This problem is not a new problem, it existed back in the 80's. You can save a snapshot of the game. If the snapshot saves the system variable, then the game will ask for the same code every time it is loaded via a snapshot.

The simplest method of stopping that simple problem is to force the user to have some interaction with the game before asking for the input code. So to update the variable it would have been better if the simple question/statement had been presented to the game player. Which is <Press enter to continue> or something similar. To stop this question being negated by pressing enter as the game is loading,. Which would immediately upon completion of loading  bypass the question, because the <enter> key is being pressed. You set up the loop to wait for its release as well. The wait for key and wait for key release will generate a better random number, and a snapshot will still ask for a new colour code on every run. Even the modern versions run on an emulator would give a new number on each run of the game...

The above is why the Amstrad version asks for the user to press a key. All the time the question is on the screen the games code is changing the value of the code to ask. If the end user has enough skill to bypass this code  (asking for enter to be pressed), you can assume that he is or she is already delving into the code. 


------------------------------------------------------


Searching for the cheat code activation text. Derrick thinks that the code might be written backwards, and even have a simple addition of setting bit 7 on the letters. Any decent debug/monitor allows the toggling of ASCII in its output display. The setting of bit 7 on ASCII is a common practice, and the debug/monitor should  permit you to see the ASCII from values over 128 by toggling the display output.  


--------------------------------------------------



footnote:-

The hacking of the game for infinite lives will also make it impossible to exit the game once cheat is invoked.
(if it worked)













 

Link to comment
Share on other sites

None of my versions appear to accept the code :unsure: , I find that slightly odd as V1 especially appears to be 'all there' as you'd expect it to be. I will obtain another copy from elsewhere.

 

By "all there" I simply mean it retains the keypad code entry and also does not run on a 6128!

Actually ignore that!

 

Tested my disk version (without keypad entry as supplied) and it works:

 

HIEMMRAIDNAPRRRTT.png

 

Tested V2 of the tape version on a 464 and that worked too. The only issue I have noted is some of the rooms, particularly if you look at the Cartography Room cheat page, try the two I have changed/highlighted in red in this pic for ease of location:

 

HIEMMRAIDNAPRRRTT_fault.png

 

Results in this 'room' being shown, its playable too although any exit results in a life loss or as happened once (in the slightly 'not right' release tape) a machine reset. The real tape/disk images result in a life loss however. The combi pic explains:

 

invalid_room.png

 

By rights the lower red block should be 'drinking water' and the upper right red block part of 'secret passage' if memory serves correctly. :unsure: :)

Link to comment
Share on other sites

  • 2 years later...

Recently, I was starting to wonder if the BBC version of JSW2 (the 'full' version that loads rooms in chunks as you progress, not the much cut-down and trimmed 'tape'*** version) had something similar added.

Because they seem to have done a reasonable job with it all in all, and it plays decently.

Norman, (or anyone else here) I'm not sure if you've used 6502 ? I can't for sure, I did try it a bit 'way back' but it was a bit too fiddly compared to Z80 to use 😞 , if yourself or anyone else has any input on this perhaps... No issues at all if not though. 😄

 

*** Unfortunately, most 'copies' of this are disc based as its easy to transfer. The reason why there are two JSW2 variants is simply because the machine could not hold it all in one go (there is a vague attempt in the loader to use sideways ram with the 'full disc' version if present to preload things) hence the 'tape' version (which could be tape or disc) is 90% of the Space Station and Planet 'rooms' and about 25% of the Mansion only. The 'disc' version is the whole game almost identical to the AMS and ZX versions of JSW2 in its rooms.

Link to comment
Share on other sites

  • 2 weeks later...
  • 2 years later...

I wanted to revisit this, as a lot of the tape/disk images had been modified so a fresh start as it were.

I had the opportunity to test this on a real machine properly, and then I fed my original tape into an emulator to do this.

The .wav is available if required of this tape, did not see an immediate need to upload it. Some emulators do support a .wav input instead of the more regular tape formats.

 

(This is a rare pic, it does not often see daylight!) 😉 

464.jpg

 

Sampled my original tape:

tape.jpg

 

With this:

player.jpg

 

One code sheet later ( in the inlay, all ten pages of it! ) I was back in business...


A hidden message too:

 

Well, here is a little message to those of you who dare to HACK into other peoplÎes programs! I cannot be bothered to put line feeds or carriage returns into all this, so there. Interesting thing, the Z80. Did you know, for example, about the conditional RST 38 instruction? Just try doing a JR Z,-1. Any condition will work. Not much use on the Amstrad! What do you mean you use it all the time!?!?!? Bye, and good luck with the game (tee hee!!)

 

 

For reasons unknown, the video won't play due to the codec its used as I had to convert it from a huge 1GB avi to a sane 5mb .mp4 , note there's no audio on it. Attaching as a .zip and yes the filename does have a purpose.

HIEMMRAIDNAPRRRT.zip

Edited by Spider
Photo's edited down to a sane size
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.