Jump to content
Jet Set Willy & Manic Miner Community

Manic Miner: The Lost Levels


The-Red-Bayron

Recommended Posts

6 hours ago, Rev. Stuart Campbell said:

PS Eddie's Forest isn't an original DS level, it's actually taken from the Acorn Archimedes port.

That’s interesting. In which case, the Eddie in question is Eddie Edwards, who wrote the original Archimedes ports of MM and JSW. (He’s still a Facebook friend of mine.) It’s a long time since I played them, so my memory is a bit hazy (and I don’t remember Eddie’s Forest at all, off the top of my head), but they were good ports. (Eddie later went on to write the Acorn 32-bit conversions of Wolfenstein 3D and Doom. He also worked with Jon Ritman of Head Over Heels fame.) Eddie started out on a Dragon 32, which explains why his Archimedes version of JSW contains conversions of the extra screens from the Dragon version of the game.

Just thought you people here might be interested in these anecdotal details… 🙂

By the way, Darren Salt also ported MM and JSW to RISC OS (his own original implementation of JSW with inbuilt level editor, and a straight conversion of Andy Noble’s PC remake of MM), but these came later; Eddie Edwards’ versions were first, and had some unique features (including memorably good in-game background music in JSW).

Link to comment
Share on other sites

19 hours ago, Rev. Stuart Campbell said:

It is a mark of how HUGELY chuffed I am about this that I ploughed through through the forum's MONUMENTALLY BROKEN signup process to post a comment. The original idea for The Lost Levels was in fact to do it on the Speccy, so it's absolutely brilliant to see it finally come home all these years later. The DS version is my favourite gaming-related thing I've ever been involved with, and now the journey feels complete. Great work 🙂

 

PS Eddie's Forest isn't an original DS level, it's actually taken from the Acorn Archimedes port.

Was on my 'todo' list as well which still grows , but its one to remove now.

Signup = Will investigate in a few days when I am able to. I -think- I can guess the likely causes.

Link to comment
Share on other sites

Hey, @The-Red-Bayron, well done!

I've often thought it a pity that there was no version of The Lost Levels for the Spectrum. I've just been having an initial look and it appears that you've made a pretty good job of converting these levels. Yes, it would be nice if some of the special features from other versions could have been preserved (such as the fancy intermittent barriers that are unique to the BBC version, for example), but we can't expect miracles! For a conversion to the 'straight' Spectrum engine, this is as good as we could hope for, I think, and really nice to have.

I've just got three points of feedback about what exists so far, though – two for you as author, and one for whoever maintains this site (@Spider?)

1. There's a typo in the DS version. Eddie's Forest is spelt EDDIE'S FORREST in the game – i.e. one R too many in Forest. It'd be nice if you could fix that, and it'd alleviate my OCD about such things! 🙂

2. There may be a good reason why you've done this (e.g. to match some of the other versions), but I'd personally MUCH prefer it if you could change all the room names to use "Title Case" rather than "ALL UPPER CASE". Some machines had to be in all upper case because that's all they could do, but the Spectrum original – and many other conversions – used mixed case names for all the rooms, and it really does look much better. So I for one would greatly appreciate it if you could adjust all the room names to match the approach used in the Spectrum original.

3. At present, only the original non-DS version appears to be linked in the Downloads section of this site. Unless I've missed something obvious…? And only that version has an RZX file by @Spider. The DS version really needs equal treatment to the non-DS version, so I'd suggest either adding it separately to the Downloads section, or perhaps instead combining the two games into a single download (with just the updated PDF ReadMe and cassette inlay files). That'd be the more efficient option, and one only really needs one set of documentation for both games. (And perhaps @Spider could do an RZX of the other version, too?)

Oh, and a PS: The version of the cassette inlay that contains both DS and non-DS inlays is missing the DS spine with the blue telephone. It's there in the single-page-only PDF, but needs to be brought across to the two-page version.

I hope that's all helpful.

Anyway, thanks again for your great work! I'm really pleased that someone has done this at last!

Link to comment
Share on other sites

BTW if we're doing requests, would love to see these POKEs added which provide a sound effect when you collect an object, as per other versions.

POKE 36742 , 82
POKE 36743 , 147
POKE 37714 , 58
POKE 37715 , 115
POKE 37716 , 128
POKE 37717 , 14
POKE 37718 , 128
POKE 37719 , 211
POKE 37720 , 254
POKE 37721 , 238
POKE 37722 , 24
POKE 37723 , 95
POKE 37724 , 62
POKE 37725 , 144
POKE 37726 , 145
POKE 37727 , 71
POKE 37728 , 123
POKE 37729 , 16
POKE 37730 , 254
POKE 37731 , 13
POKE 37732 , 13
POKE 37733 , 32
POKE 37734 , 240
POKE 37735 , 195
POKE 37736 , 254
POKE 37737 , 144

 

(I've added them myself and they work, but it'd be nice to have them in the proper TAP file, not just a snapshot.)

Edited by Rev. Stuart Campbell
Link to comment
Share on other sites

6 hours ago, Richard Hallas said:

At present, only the original non-DS version appears to be linked in the Downloads section of this site

Yes (as I write this) that's correct. 🙂 

6 hours ago, Richard Hallas said:

The DS version really needs equal treatment to the non-DS version, so I'd suggest either adding it separately to the Downloads section, or perhaps instead combining the two games into a single download (with just the updated PDF ReadMe and cassette inlay files). That'd be the more efficient option, and one only really needs one set of documentation for both games

I'm slightly pushed towards having them as one submission rather than two however I'll reply to the submitters PM in a moment regarding this, along with some other information too.

6 hours ago, Richard Hallas said:

And perhaps @Spider could do an RZX of the other version, too?

The first .rzx was not published , the second one was in the topic as you've seen. I did not play to my best it was more a case of I wanted to explore and share.

I can attempt the other version (the DS one) over the weekend I should think.

Link to comment
Share on other sites

On 5/2/2024 at 5:07 PM, Rev. Stuart Campbell said:

BTW if we're doing requests, would love to see these POKEs added which provide a sound effect when you collect an object, as per other versions.

POKE 36742 , 82
POKE 36743 , 147
POKE 37714 , 58
POKE 37715 , 115
POKE 37716 , 128
POKE 37717 , 14
POKE 37718 , 128
POKE 37719 , 211
POKE 37720 , 254
POKE 37721 , 238
POKE 37722 , 24
POKE 37723 , 95
POKE 37724 , 62
POKE 37725 , 144
POKE 37726 , 145
POKE 37727 , 71
POKE 37728 , 123
POKE 37729 , 16
POKE 37730 , 254
POKE 37731 , 13
POKE 37732 , 13
POKE 37733 , 32
POKE 37734 , 240
POKE 37735 , 195
POKE 37736 , 254
POKE 37737 , 144

 

(I've added them myself and they work, but it'd be nice to have them in the proper TAP file, not just a snapshot.)


The above pokes - demystified into actual Z80 code

 


opcode                    address                 address                  comment
                                hex #8F85             decimal 36741    ; note:- listed one byte earlier
call #90fe               ;#cd,#fe,#90                                      ; the original call to the score routine
changed to
call #9352              ;#cd,#52,#93         ;205,82,147         ; note:- the call opcode is included here


this routine is a copy of the Item collect sound in Jet Set Willy

opcodes                ;address              ;address
;                             ; hex                     ; decimal
;                             ;#9352                 ;37714


ld a,(#8073)          ;#3a,#73,#80      ;58,115,128              ; get border colour
ld c,#80                 ;#0e,#80              ;14,128                   ; set loop counter (duration)
sfx:
out (#fe),a             ;#d3,#fe              ;211,254                  ; set border + ear + mic
xor #18                  ;#ee,#18              ;238,24                   ; toggle ear + mic bits
ld e,a                      ;#5f                     ;95                          ; save the border + ear + mic state in {e}
ld a,#90                 ;#3e,#90             ;62,144                    ; calculate a pitch
sub c                      ;#91                    ;145
ld b,a                      ;#47                   ;71                            ; the calculated pitch to {b}
ld a,e                      ;#7b                   ;123                          ; restore border + ear + mic back from {e} to  {a}
sfx_loop: 
djnz sfx_loop          ;#10,#fe             ;16,254                   ; loop (delay) for the pitch
dec c                       ;#0d                  ;13                           ; decrease the time counter
dec c                       ;#0d                  ;13
jr nz,sfx                   ;#20,#f0           ;32,240                    ; keep looping till out of time, {c}=0


jp #90fe                 ;#c3,#fe,#90     ;195,254,144            ; jump to the score routine

 

Addendum.
the JSW sound routine uses absolute address's for picking up the border colour. The actual routine uses relative jumps thoughout. This means this routine can be placed at any address, without having to change any of the routines data. The only change would be calculating the actual address that the routine sits at.

Addendum 2
A re-write can shorten the above 24 byte routine by 3 bytes. (I have not listed the re-write)
 

Edited by Norman Sword
Being chased by a robot.
Link to comment
Share on other sites

I -think- I provided those pokes 'as is' in both SP and BB versions as a "quickfix" to a request on Spectrum Computing, without thinking too much about how to make it better. Having said that I can also recall one of Andrew Broad's games (At least one) having the item collect sound added too.

EDIT... Ah, yes it was here > https://spectrumcomputing.co.uk/forums/viewtopic.php?p=115680#p115680

Considered adding it to the 'slightly faster' MM version but as that was only to 'demo' the speed increase I did not really want to do anything other than bugfix with that.

Edited by Spider
Link to comment
Share on other sites

23 hours ago, Norman Sword said:

Addendum 2
A re-write can shorten the above routine by 3 bytes. (I have not listed the re-write)

I take it that isn't just to have the score routine follow on straight afterwards (sparing the need for a jump), but instead a more profound rewrite?

Could it be applied to every bit of the game code which creates a sound? If so, that could save quite a few bytes overall.

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.