Jump to content


Member Since 23 Aug 2015
Offline Last Active Jan 18 2019 09:38 AM

Topics I've Started

[File] Jet Set Willy - The Mr Noseybonk Edition

06 January 2019 - 10:34 AM

Posted Image


File Name: Jet Set Willy - The Mr Noseybonk Edition

File Submitter: IRF

File Submitted: 06 Jan 2019

File Category: Jet Set Willy [Remakes]

System: Sinclair
Original Author(s): Matthew Smith
Third Party Author(s): Ian Rushforth


For this special version of Matthew Smith's classic ZX Spectrum game 'Jet Set Willy', the Retro Factor has been doubled by the introduction of Mr Noseybonk - a recurring* character from the early 1980's BBC children's TV show 'Jigsaw' - as the main protagonist.


(* By 'recurring' I mean that he made regular appearances in the programme - but also that he formed the basis of recurring nightmares for a whole generation of British children!)


The title screen music for the project is an adaptation of the theme tune from 'Jigsaw', whilst Noseybonk's theme ('A Hippo Called Hubert' by Joe Griffiths) is collectively represented by the in-game music and the coda that plays during the 'Game Over' sequence.


My thanks go to Richard Hallas for inspiring the concept for this project during an email exchange last year, and for his 'A Miner Triad' document (http://hallas.net/Software/music.htm) with its very useful tone chart and general advice on scoring music for the 'Jet Set Willy' game engine. I would also like to thank Andy Ford (administrator of the host site jswmm.co.uk) for his assistance with compiling the BASIC loader, and Richard Dymond for his invaluable 'Jet Set Willy' disassembly (hexadecimal format available at http://skoolkid.gith...ly/index.html).


Enjoy - and don't have nightmares!!!
Ian Rushforth


UPDATE: One week after first releasing this game as 'Jet Set Willy - The Mr Noseybonk Version', a bug came to light which caused corruption of the scrolling message on the Title Screen, and which also caused ropes to behave in strange ways during play. I have corrected this error (caused by a single errant byte), and reissued the game as 'Jet Set Willy - The Mr Noseybonk Edition' (to distinguish it from the first, erroneous release). I also took the opportunity to address a couple of bugs that were present in the original game, namely that the item in the Swimming Pool was automatically collected upon entry (so you never got the opportunity to see it), and one of the items in the Conservatory Roof couldn't be collected without sacrificing a life. It is now possible to complete the game without loss of life.


FURTHER UPDATE: Sinclair ZX Vega support files added to the download folder.


Click here to download this file

Free space and code optimisation in Manic Miner

21 November 2018 - 01:17 PM

I thought I might create a similar 'optimisation' thread to the JSW one.


I implemented a lot of code optimisations of the MM game engine in the recent release 'Manic Mixup'.  However, this one slipped through the next (I've only just thought of it):


It involves a rewrite of the routine at #92DC which plays the theme tune (Blue Danube).  I think this saves around 12 bytes.  EDIT: It actually saves eight bytes.  (I forgot to count the CALL to test the Enter key, and the RET back to the Title Screen routine if Enter is pressed.)



       LD A, (IY+$00)

       INC A

       RET Z

       LD BC, #5028

       CALL update_piano_keys

       LD B, #00

       LD C, (IY+$00)

       LD H, D

       LD L, E


       OUT (#FE), A

       DEC D

       JR NZ, not_time_for_note_1

       LD D, H

       XOR #18


       DEC E

       JR NZ, not_time_for_note_2

       LD E, L

       XOR #18


       DJNZ tune_loop

       DEC C

       JR NZ, tune_loop

       LD BC, #3838

       CALL update_piano_keys

       CALL #9337                            Check whether ENTER or the fire button is being pressed

       RET NZ

       LD DE,#0003

       ADD IY, DE

       JR start



       LD A, (IY+$01)

       LD D, A

       CALL #932B

       LD (HL), B

       LD A, (IY+$02)

       LD E, A

       CALL #932B

       LD (HL), C


Opening Walls in JSW64

10 November 2018 - 05:35 PM

I was looking at the code which implements opening walls in the JSW64 game engine.


The way the existing code works, the pixel-rows disappear from top to bottom, and then the attributes of the blocks are turned from Earth to Air.  However, if you have a opening wall which is several blocks high, none of the blocks get turned to Air until the whole wall has had its pixels cleared.  So you can temporarily have an INKless wall, several blocks high, before the whole lot turns to air.


Having scrutinised the pertinent code, and thinking out loud, I wonder if the original intention was for each block in turn (from the top one down) to turn to Air as the eight pixel-rows of each are cleared.  A simple single POKE can be used to achieve this - and it involves reversing the conditionality of a relative jump (so a simple mistake by John Elliott when writing the code might explain the way the feature ended up, if my hunch is right that they were intended to disappear one-by-one).


Have a look at the two test files attached.  They illustrate the difference between the two variants of opening wall mechanics.  The opening wall in the 'unfixed' file behaves exactly the same as in the unpatched JSW64 game engine.  In the 'fixed' file, I've changed the value of address #FFD9 from #20 (JR NZ) to #28 (JR Z).


Willy starts off in the Off Licence.  Collecting the single item in the room causes the wall to start opening.  I've come up with a little challenge based on the different behaviour of the opening wall - only in one of this pair of files is it possible for Willy to leave the room and access The Bridge.


EDIT: Both files have been updated, with the addition of an extra Fire cell to prevent an (unintended) loophole.

[File] Manic Mixup

26 October 2018 - 10:25 AM

Posted Image


File Name: Manic Mixup

File Submitter: IRF

File Submitted: 26 Oct 2018

File Category: JSWMM Releases

System: Sinclair
Original Author(s): Matthew Smith / Andrew Broad
Third Party Author(s): Ian Rushforth & Andy Ford


"Times are tough for poor old Willy. Decades of excessive partying have taken their toll on his finances. Despite already having downsized his mansion in 'Jet Set Mini', he is finding it increasingly difficult to afford the cost of maintaining his home, and keeping his formidable housekeeper Maria in the style to which she has become accustomed!


And so, after dusting down his trusty hard hat, Miner Willy descends back into the subterranean realm where he first made his fortune 35 years ago. Emerging into the Central Cavern, he soon notices that things have changed somewhat since the last time he ventured down here..."




'Manic Mixup' is a remix of Matthew Smith's classic ZX Spectrum 48K game 'Manic Miner', and is released in 2018, 35 years after the original game. It can be played on a real Spectrum, on the Sinclair ZX Spectrum Vega/Vega+ or on a computer, games console or another device using a ZX Spectrum emulator.


The starting point for 'Manic Mixup' was an amalgamation of two projects by Dr Andrew Broad: his laterally-inverted version of 'Manic Miner' ('reniM cinaM') and Andrew's 2008 remix of 'Manic Miner'. Into this melting pot was poured a cluster of newly-designed special features, making 'Manic Mixup' quite unique amongst games based on the MM game engine.


Thematically, 'Manic Mixup' is a sequel to the authors' previous game 'Jet Set Mini', which was a modified version of 'Jet Set Willy' - that in itself being Matthew Smith's sequel to 'Manic Miner'. What a mixup!


All of the original caverns (and their perilous occupants) have had an overhaul in 'Manic Mixup', and the in-game music has been significantly enhanced. Furthermore, nearly all of the routines in the 'Manic Miner' game engine have been rewritten or redesigned for this project, for various reasons: to provide additional functionality (such as new sound and visual effects, and additional gameplay elements - including putting Willy's hard hat to good use!); to increase the efficiency of the code; and to fix various bugs in the original game engine.


However, the essence of this 8-bit, 48K game will be very familiar to devotees of 'Manic Miner'. We hope it gives you 'unalloyed pleasure'!




UPDATE: A minor visual bug during the title screen sequence has just come to light, which crept in because of a tweak to the routine which plays the title tune ('The Blue Danube' by Johann Strauss II).
When a single note is played, only one piano key is supposed to be lit up (whereas two keys are highlighted simultaneously whenever a chord of two notes is played). The rewritten routine caused two adjacent piano keys to light up when a single note was played.
This bug during the title screen sequence has now been fixed, and the corrected game file re-uploaded. This change does not alter the gameplay of 'Manic Mixup' in any way.


Click here to download this file

Post number 10000!

03 October 2018 - 08:56 AM

Another significant milestone for the site!  (Unless you're a hexadecimaphile like myself!!)