Jump to content

Norman Sword

Member Since 08 Mar 2017
Offline Last Active May 19 2019 01:45 PM

Topics I've Started

[File] Manic Miner By S.P. And Bug Byte

17 May 2019 - 02:51 PM

File Name: Manic Miner By S.P. And Bug Byte

File Submitter: Norman Sword

File Submitted: 17 May 2019

File Category: Manic Miner [Remakes]

System: N/A
Third Party Author(s): Norman Sword

When Matthew wrote manic Miner he released the game originally with Bug Byte. When he re-released the game with Software projects some small changes were made to the graphics.


This version is not a new version of the game and its main novelty is the ability to swap between the versions of the game.


Whilst I made minimal change to the games playing style or data I changed some of the ways that the game plays.
This is not a simple edit of the game it is a rewrite but leaves the basic data intact.


I have added :-
item collection sounds.
sound effects for being hit by the solar ray
sprite collision sound effects
heavy landing sound effects.
death collision graphic and sound effect
an extensive cheat.
an explanation to why you have died
an animation of the high score being added
a redraw of the title screen (fixing the keyboard graphics)
a title screen animation of a spectrum analyser
a credits screen
a title screen animation showing the version about to be played (Bug Byte graphic or S.P. graphic)
a sprite mask on the main character
a redesign on how the screens update (to stop sprite glitching)
the list of changes is extensive (Some listed above) the overall feel will still be that you are playing the original Manic Miner.


This file is listed elsewhere on this site, Having been asked by several people where this file is listed, I realise it needs to be placed in the Manic Miner Download section so it can be found easier.

Click here to download this file

Cheat Table in CPC amstrad version of JSW2

19 January 2019 - 02:51 PM

The original version of Jet set Willy written for the Amstrad, and was subtitled "the final frontier". It was only at a later date that this was reduced back into Jet Set Willy. (e.g. removal of around 77 rooms from the 137 rooms. And the reduction to the mere 60 of the original) The reason for the re-write was that is was going to be included in a compilation tape, and the original 60 room (short version) was deemed to be more in line with the original spectrum version.

The original Amstrad version was undertaken on a 464 and at that time the 664 and all the subsequent versions were not known about.

Weeks (perhaps days)  before the release of the Amstrad version of JET SET WILLY the 664 was released. A version of the 664 was obtained and the game was checked to see if it would run. It was found that Amstrad had moved the location of data concerning the keyboard. This change made the keyboard inoperative from a games perspective. This was easily solved by modifications to the games code made from basic. This is the reason that the question is asked before the game is run.    

The above is the time frame of the game game in relation to its release onto the market. The point of interest is the statement that the 664 was not available at the time of writing the game. This shows that discs and disc drives were not considered in the games writing.

*** The above (two paragraphs) was edited to be crossed out. The reason it was crossed out was the assumption I was incorrectly thinking about Manic Miner. Since then I have loaded the game and it does indeed ask for the machine type. 

The game, loads from tape and the tape version (original) has a full cheat code and cheat routine built into the game. When a disc drive is added to the operating system, The disc drive is allocated a chunk of memory just for disc operation. The allocation of the disc drives and the memory allocation of the game clash. The memory allocation that is overwritten by the disc drives and the disc routines (especially the loading from disc) is crucial to the cheat code and the way it works.

Unfortunately the memory overwritten seems to have no effect on the game. So every copy since the original tape version seems to work fine with the data missing. However the very extensive cheat code relies on the missing data, and it seems that for many the cheat code was a mystery, and therefore it's omission was not noticed.

The cheat data is a small table of values (around 150), whose purpose is to index into the data from the cartography room. Since this data is ommited from all disc and subsequent versions, when the cheat is invoked the translation from a position on the cartography room map into a real room number does not happen. This makes invoking of the cheat pointless. ( another reason most people do not know of its existence- once cheat is invoked, it does not seem to do anything worth having)

Anyone familiar with the Tandy and its operating system will be aware that a similar problem was occurring on that machine. Through its evolution and need to be backward compatible, the machine also needed to allow programs to load via tape, and run. But be able to load the same programs from Disc. The conflict in memory was overcome by the simple addition of another routine to the games loading routine. This routine would load the game into memory that was NOT occupied by the disc system. Once the game had loaded it would, shut the disc system down and then move the game into the area used by the disc system and then run the game.

The game Jet Set Willy could be fixed in a similar way. In this case it does not need the whole game moving, It needs just the data from the area that is missing from all the games since the original. 

If the game is loaded (as normal) from disc, and at the point of normally entering the machine code from basic, we instead load the missing data to the screen. The missing data around 150 bytes can have a very simple LDIR routine appended. The procedure then is to run the code and move the data over the area used by the disc operating routines and directly enter the game. The area overwritten by the LDIR copy will be corrupted by the game anyway, and doing this will have no impact on the machine. But it will fix the cheat. Loading such a small amount of data should be so rapid that it would hardly noticeable. 

In JSW Amstrad the cheat code is Invoked by typing   hiemmraidnaprrrtt. This will bring up the cartography room and from there you can select a room. Then you can select a position to start the room.

The finer details of the cheat invocation and usage are not listed here. It is such a long time since I have looked at the CPC Amstrad version, I can not even remember what exactly is done to invoke cheat, (it might be pressing the break key)   

It is a shame no has looked into doing this. At present I do not have the CPC set up and Emulated. (deleted many years ago) and the set up. emulation , modification, save etc needed to do this modification is not something I plan on doing.  


How Fast Can Willy Play

31 December 2018 - 01:49 PM

I have uploaded the Demo version of JSW 128 VL5.tap The slight name change is to JSW VL5 demo.tap. This is up loaded as a revision of JSW128 vl5.tap

This demonstrates a very very very fast version of Jet set willy.

This version also now plays music and not blips for the in game music. The tempo of the music is adjusted as the games speed is changed.. Since the basic music note is played twice, it was not possible to do step-less adjustment, for the faster versions. 

A large amount of extra graphics and routines added. All the graphics are displayed bit by bit in the extra title screens added. (over 21 variations on the title screen- based on the main five )

To see full speed, turn off the music. 

Since the option to upload is here (as well) I will attach the file here.



One note changed. Typing error.

The tune routine like most things was changed and speeded up. This meant all music data needed to go through a translation table to adjust its speed. The data had a misplaced digit. The note was only played once. 


I will attach the last version here (19th January 2019)

JSW VL5 DEMO revision 3b.tap


All the main screens. 

[File] JSW 128 VL5

13 October 2018 - 01:49 PM

Posted Image


File Name: JSW 128 VL5

File Submitter: Norman Sword

File Submitted: 13 Oct 2018

File Category: Jet Set Willy [Remakes]

System: Sinclair
Third Party Author(s): Norman Sword.


JSW 128 VL5


This was written just after JSW 128 VK3.


It is an extension of the game, which I pushed towards the feel of Manic Miner
In this version changed over a period of two weeks, I took the idea of game save status and changed the way JET SET WILLY plays. If you can play JET SET WILLY then this version might actually be a hindrance to you.
For the lesser player it adds the ability to keep on trying a sequence of the game until they master it.
The only constraint to finishing is the time limit. There are no lives to be decimated, you are totally free to roam, and free to try any action.
The catch is simply that for every instance that you would normally die and loose a life you transported back to the last portal that you visited. Infinite lives and lots of time, sounds easy to finish?
The double catch is that every time you die the game re-installs all the objects collected since the last portal, it also resets the ammo.
This makes collecting objects different from when you play with infinite lives, a death jump or leap to collect an object, will not collect the object but will transport you back to the last portal, which might be some distance away. You have to perfect all the paths that collect objects and manage to get to a portal and save them.
It also changes the way willy re-appears back in a room after death. In this version that simply does not happen, he is moved back to the last portal.


f you don't visit the portals then a death could take you back many many rooms and many, many objects collected. Those portals are the most important place to visit.
If the game was easy in the standard format, then this version will not have any change in how you play, its design is for the casual player to permit wandering without real consequence.
One technical change from JSW128 VK3 was that is Willy does not change colour when immune. This was changed to the room name changes colour when immune instead. This small change was to enable willy to jump on ropes when immune.
It has an inbuilt cheat mode, which uses a different cheat code from all other versions.




In this demo version I have pushed previous attempts at upping the games speed into oblivion.


The Title of the file is JSW VL5 demo.tap. Which has a lot more graphics than JSW 128 VL5.tap



It does however display the fact it is a demo version.


Click here to download this file

[File] JSW 128 VK3.Tap

01 July 2018 - 08:59 PM

Posted Image


File Name: JSW 128 VK3.Tap

File Submitter: Norman Sword

File Submitted: 01 Jul 2018

File Category: Jet Set Willy [Remakes]

System: Sinclair
Original Author(s): Norman sword


Altered Reality.


The basic Core of this game is Matthew Smiths original code.
Which although edited still runs in the original 48K


Due to extensive compression and rewrites of the original code this version.


Runs at double the original speed
Runs with up to 16 sprites per room
Runs with up to 32 arrows per room
Has diagonal sprites
Has mid sprite bounce
Has homing sprites
Has 128 rooms
and .....


I will leave the user/player to work out what has changed.


Uses "G" key- "H" key- and the "K" and "L" key


Technical addendum :- files needed to construct the game




These files are used to generate the game file


main files:-
mnjsw9.asm 15,264 lines in 423,867 bytes
manic_edit_copy.asm 342 lines in 10,576 bytes
fixed_page.asm 1,249 lines in 48,929 bytes
merged.asm 40 lines in 2,096 bytes


included data files when assembling
x0 1132 lines in 39k ; big data statements
x1 286 lines in 20k
x2 509 lines in 22k
x3 1103 lines in 41k


included binary files when assembling
edited-edit_3 6.75k


650 lines in 20k
game files
jsw0.tap 30.9k
jsw1.tap 30.9k


the files control.txt jsw0.tap and jsw1.tap are processed by saveab1.bas


this is 1651 lines of qbasic in 48.07k


The process's includes- read room layout, compress data -output room layout data
read sprite data and read control file, change sprite data compress and output
reconfigure the key data and output
read the room data, discard unwanted data compress and output
in essence the basic file is taking the two games and merging into a set of output files, needed to assemble


A sprite editor and a room editor, along with an assortment of checking data files
All in, around 790k of associated files and data for version "K".


Which is why old versions are discarded when I update the logic


I am currently on version "L" - which is a big change in game play


Click here to download this file