Jump to content


Member Since 23 Aug 2015
Offline Last Active Jul 23 2019 07:11 PM

Topics I've Started

New tune

19 May 2019 - 12:13 AM

Just a bit of fun... See if you can recognise the in-game tune in the attached file...


EDIT: I've made a slight tweak to the second half of the tune in the additional attachment 'rev1', for a bit of variety.

[File] Maria vs. Some Bastards 2019 Bug-Fixed Edition

15 April 2019 - 08:29 AM

Posted Image


File Name: Maria vs. Some Bastards 2019 Bug-Fixed Edition

File Submitter: IRF

File Submitted: 13 Apr 2019

File Category: JSWMM Releases

System: Sinclair
Original Author(s): Vidar Eriksen (Erix1) [Manic Miner Technologies]
Third Party Author(s): Ian Rushforth, Andy Ford, Daniel Gromann [The Jet Set Willy & Manic Miner Community Team]


Maria vs. Some Bastards is a beautiful game by Vidar Eriksen (Erix1). It uses a modified JSW48 game engine that has come to be known as 'Erix1 Mode'. Its first short demo version was released in October 2001. The game was gamma-released on 6th March 2003, with four bug-fixed revisions (called Rev B, C, D and E) released within the next few weeks.


A menu screen implemented by the BASIC loader allows the player to choose one of the three modes: Easy, Normal or Hard. According to the message which shows in the opening room, you need to collect 120 items to complete the game if you choose the Easy mode, 240 items if you choose the Normal mode and 246 items if you choose the Hard mode.


Daniel Gromann raised the question of the game’s completability on the Manic Miner & Jet Set Willy Yahoo! Group in June 2007, when he pointed out that Maria did not disappear after he had collected 251 items in the Hard mode.


In March 2012, Vidar Eriksen promised to look into the problem and check whether some ‘end-game corrections’ he had done in Rev D were not left out in Rev E. He mentioned that a Rev F might be necessary, but it did not materialise in the following years.


Ian Rushforth investigated the item-collecting code in Maria vs. Some Bastards and discovered the cause of the bug which made the game non-completable. He announced his findings on Manic Miner & Jet Set Willy Yahoo! Group in February 2019, offered a bug-fix for the problem and also showed the way to collect one of the items Daniel had not been able to reach.


After some further discussions, the Jet Set Willy & Manic Miner Community Team produced a 2019 Bug-Fixed Edition of the game, with the following changes in relation to Rev E:


- Ian’s solution to the bug in the item-collecting code was applied.


- A way was provided to collect the rightmost item in the room "Stinking sewer" (27), which seems impossible to collect in Rev E.


- Three items located in the very same (non-)rooms which are used by the Softricks game engine (on which Erix1 Mode is based) to store the item table - which are thus invisible and unreachable in Rev E - were moved to other locations so that they became present in the game and collectable.


- As the total number of items possible to collect has now reached 256, the number required to complete the Hard mode was set to 256, with the corresponding changes in the BASIC loader and the message in “Master Bedroom”, where the game starts.


- An item placed in the same location as another item (as happens in “The Beach” in the original JSW) in the room “Afterliving” (46) was moved within the same room to make its collection more demanding and make the player use a route they might not use otherwise.


- A minor change to the layout of “Alien inferno 2" (49) was applied to force the player to press the special button in that room if they want to complete it without losing a life.


- The middle item in the room “Bubbles and Bob” (41) was moved to make its collection more meaningful.


- The up exit from "That slimy room" (11) was changed to itself instead of "The dungeon" (00), in order to prevent the protagonist from potentially getting perpetually stuck at the bottom-right corner of the latter room.


- The spellings of the room names “Flooding sewer” (15), “Seagull corner” (36) and “Deadly descent” (54) were corrected.


- A typo in the scrolly for Manic Mining Robot's Day Out, the ‘secret bonus crap game' attached to Maria vs. Some Bastards was corrected.


- Information about this being the 2019 Bug-Fixed Edition was added on the loading screen and in the REM statements in the BASIC loader.


- The Readme was also updated with the info that this is the 2019 Bug-Fixed Edition.


All of the above changes were applied to the actual game file by Ian Rushforth, after some deliberations with Andy Ford and Daniel Gromann.


We hope you will enjoy this Bug-Fixed Edition and the ability to complete Maria vs Some Bastards at long last. Have a go at it - it’s worth it! :)


Click here to download this file

[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.