Jump to content


Member Since 11 Apr 2014
Offline Last Active May 29 2020 08:46 PM

#4995 Free space and code optimisation in "JSW"

Posted by Spider on 10 August 2016 - 12:44 PM

any idea why when compressed down to 18K you couldn't get it to work?

This is JSW1. It does work. But you have to uncompress it before running the code. The compression in this case is just to reduce the 'saved' file size down. :)

#4978 Free space and code optimisation in "JSW"

Posted by Spider on 07 August 2016 - 02:43 PM

but the end user wouldn't need to unpack it, JSW 2 seems relatively bug-free running in it's compressed state ... when developing it you could just save it in stages or just emulate bigger memory ... if that's in any way possible.


Well I guess that's true. But you'd need some kind of 'on the fly' decompression to 'test' it as you'd not really be able to reliably edit a compressed file. Think of this as trying to edit say a .zip file "directly" with a hex editor. At least that's how I see it, I could be completely wrong. :)


Any idea why? 


This saves quite a bit of loading time on a 'real' machine or emulated for 'tape emulation freaks' (such as me!)


Yes i'm trying to learn assembly language but my aging brain isn't quite able to take it in, i need to see if i can find something on YouTube or somewhere as i can't learn from reading books, i can see your point about making the existing code more efficient, from the info here it would seem that Matty really had to rush the game through .. i've always wondered what those missing 4 rooms would have looked like and where they would have been


From various bits of research ( ! ) they were going to be part of the MegaTree. There was something he said once (well, so I read) along the lines of the fact the tree was meant to be a lot bigger, so I'd assume that is where at least two if not more of them would of been.

#4949 Random thought on Rope/Crumbly interaction

Posted by Spider on 04 August 2016 - 12:55 PM

The only use of this I can think would be where you need to climb up a rope to avoid say a row of floor nasties then climb down and exit the rope to run across some crumblies.


The rope would have to be not central in most cases, say starting at 4 to 8 blocks in from the left.




Its an interesting thought though, but I would think once he'd landed on the crumbly, the 'reduce the floor!' part would start it may just take another game tick or two before the main loop 'saw' where he was standing and started this.

  • IRF likes this

#4948 Free space and code optimisation in "JSW"

Posted by Spider on 04 August 2016 - 12:42 PM

The issue with compression is when its unpacked it takes the same size as the original did, unless I'm missing something ? :)


I can compress JSW down to about 18K in some cases ( ! ) but it won't run in that state. :D

#4920 MM/JSW disassemblies: 20160511

Posted by Spider on 28 July 2016 - 05:03 PM

Slightly off topic but I like the ROM Disassembly. :) Having read the book about it, the info you've provided (from what bits I've looked at so far) are very helpful.

#4869 Free space and code optimisation in "JSW"

Posted by Spider on 21 July 2016 - 06:42 PM

To clarify this a bit:


Sinclair Joystick on Interface2 (left socket)







Sinclair Joystick on Interface2 (right socket) this is the one most used:







'Cursor' interface Joystick: I don't think these were too common







Kempston: Not 'directly' mapped to any keys so its popular. Can be read from Basic too with IN 31 such as:

10 PRINT AT 0,0;"   "

20 PRINT AT 0,0;IN 31

30 GOTO 10

#4868 Free space and code optimisation in "JSW"

Posted by Spider on 21 July 2016 - 05:40 PM

I do not use them either.


Bear in mind part of the reason for those keys to control him was for the Sinclair joystick option (which used 67890 or 12345) but that's not of much practical value these days, emulation tends to use Kempston anyway


The only caveat would be someone on a real machine (a +2 / +2A / +3) using the built in joystick ports as these *are* those key combinations. :)

#4858 Studying Willy's Jumping Animation in Detail

Posted by Spider on 18 July 2016 - 04:47 PM

POKE 35681,255 / #8B61,#FF

POKE 35682,255 / #8B62,#FF

POKE 35683,0 /  #8B63,#00

POKE 35684,0 / #8B64,#00


Tested. That is very slow :) Its about a frame a second.

I think #FF is slow enough!

I was not sure why you were bumping the topic. :) Hence the post above this one with a 'retest' of the values, all four.

  • IRF likes this

#4844 'Long Distance Nasties' Bug Fix

Posted by Spider on 15 July 2016 - 06:11 PM

The appropriate topics were moved. :)

#4718 'Long Distance Nasties' Bug Fix

Posted by Spider on 23 June 2016 - 05:30 AM

:) That's quite a neat fix.

  • IRF likes this


Posted by Spider on 22 June 2016 - 06:33 PM

As title ( ! )


I found this amongst my collection. Its actually dated 19th Jan 1995 in my files but that does not really mean a great deal.


Offers some features it seems. note the game is not properly patched for safety (the four bugs) though.


Example1. Keep Objects

Attached File  k_o..z80   28.28KB   78 downloads

This is very strange. :) Collect any objects you like (suggest you grab 3 or more) then kill Willy off by usual means. Now restart the game. you do not need to re-collect those objects you collected.


Example2. Keep Room

Attached File  k_r.z80   28.28KB   78 downloads

Safe start ? Best way to explain this. Head to the First Landing and climb down the stairs a little bit, now turn around and jump up, aim to hit the guardian in Top Landing when Willy 'appears' in the room above to cause an IDS. When the game finishes, restart it and you'll start in the room Willy died in, aka Top Landing.


Example3. No Instant Death

Attached File  no_i_d.z80   28.27KB   86 downloads

Best way to show this one: Go to Ballroom West on the right hand side of the screen. Now jump right so you'd enter the screen mid-air and normally it would be an IDS as you'd repeatedly hit the vertical guardian. This time you lose one life (on hitting it) then you restart safely on the left of Ballroom East.


Example4. All

Attached File  ko_kr_nid.z80   28.27KB   77 downloads

This is just all three options above selected.


Here is a 'menu' screenshot:

Attached File  JETSETHK.png   162.51KB   44 downloads


Finally here is the file, its a .z80 unfortunately I do not have tape files. Note from looking at it, even without any options selected its semi pre-patched to some degree. Does not display properly (basic listing) in Spin, OK in Spectaculator. Start it with GOTO 15 if needed (attached file is already running and is 'as found')


I'm aware 'safe start' is possible in JSWED though but the others are a bit of a mystery. :)


Attached Files

#4662 The Attic Bug Seen In Action

Posted by Spider on 14 June 2016 - 03:07 PM

Room list:



  • IRF likes this

#4632 The Attic Bug Seen In Action

Posted by Spider on 12 June 2016 - 06:42 PM

There was also an invisible and impossible to reach item in First Landing. The Software Projects fix relocated the item to The Hall — although some fixes relocated the object to The Bathroom where it became visible as another tap item, by poking value 33, instead of 11.

I can't say I've seen that 'fix it by moving it to The Bathroom' before... :unsure:
  • IRF likes this

#4631 The Attic Bug Seen In Action

Posted by Spider on 12 June 2016 - 06:38 PM

I think you could be right. An experiment is needed, moving the invisible object down to where it can be reached by simply walking over it (to be sure!)


79 'normal' objects but 83 present (2x Beach, 1x Swimming Pool, 1x Top Landing)

  • IRF likes this

#4608 Alternative Banyan Tree/Bit of Tree Layout

Posted by Spider on 08 June 2016 - 11:58 AM

I agree its nice to give it a bit of an 'airing' as such. :)


The original 'builder' did not have a game at all, it was merely an almost empty tape file with just a small bit of assembly to print a message.

  • IRF likes this