Jump to content
Jet Set Willy & Manic Miner Community

Norman Sword

Contributor
  • Posts

    596
  • Joined

  • Last visited

Reputation Activity

  1. Like
    Norman Sword got a reaction from MtM in Ropes & Arrows   
    The rope is very simple in operation. Matthews code does its best to obscure that simplicity.

    The rope data has offsets for x and y. - the data below is padded out to 256 bytes
     
    rope_table_X:
    DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
    DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
    DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
    DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
    DATA &H01,&H01,&H01,&H01,&H01,&H01,&H01,&H01
    DATA &H01,&H01,&H01,&H01,&H02,&H02,&H02,&H02
    DATA &H02,&H02,&H02,&H02,&H02,&H02,&H02,&H02
    DATA &H02,&H02,&H02,&H02,&H02,&H02,&H02,&H02
    DATA &H02,&H02,&H01,&H02,&H02,&H01,&H01,&H02
    DATA &H01,&H01,&H02,&H02,&H03,&H02,&H03,&H02
    DATA &H03,&H03,&H03,&H03,&H03,&H03
    ;==================
    DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
    DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
    DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
    DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
    DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
    DATA &H00,&H00

    ' y-coordinate shift
    rope_table_Y:
    DATA &H06,&H06,&H06,&H06,&H06,&H06,&H06,&H06
    DATA &H06,&H06,&H06,&H06,&H06,&H06,&H06,&H06
    DATA &H06,&H06,&H06,&H06,&H06,&H06,&H06,&H06
    DATA &H06,&H06,&H06,&H06,&H06,&H06,&H06,&H06
    DATA &H06,&H06,&H06,&H06,&H06,&H06,&H06,&H06
    DATA &H06,&H06,&H06,&H06,&H06,&H06,&H06,&H06
    DATA &H04,&H06,&H06,&H04,&H06,&H04,&H06,&H04
    DATA &H06,&H04,&H04,&H04,&H06,&H04,&H04,&H04
    DATA &H04,&H04,&H04,&H04,&H04,&H04,&H04,&H04
    DATA &H04,&H04,&H04,&H04,&H04,&H04,&H04,&H04
    DATA &H04,&H04,&H04,&H04,&H04,&H04
    ;===========
    DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
    DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
    DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
    DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
    DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
    DATA &H00,&H00

    simple logic for animation

    A pointer is set as an offset into the data (as above)
    The pointer has two other variables - side and step

    The step is added to the offset.
     
    if the offset is now 0 then reverse the step and reverse the side - simply negate the side and step.
    if the offset is maximum the reverse the step- Simply negate the step

    The above is the core logic for animation
    --------------------------

    To draw- start x=128; start y=0:
    loop
    draw point x,y
    Take the offset into the above data - find the x entry - delta x-  and if side is 1 add delta x to x ; if side is -1 deduct delta x from x
    Take the offset into the above data : find the y entry and add to the y
    add 1 to the offset
    loop for the length of the rope

    the above will need adjustments, with the size of steps and length of rope etc =but will draw the rope.
     
     


     
  2. Like
    Norman Sword got a reaction from jetsetdanny in Ropes & Arrows   
    Assuming you can draw the rope. Starting at the top we count the pixels drawn for the rope draw.  
    If Not attached to the rope. Each cell drawn is tested for collision. if collision then willy is attached to the rope at that point. 
    If attached to the rope. The cell that is assigned as the collision point (as above) is used as the x,y position to draw Willy - (slight shift adjustment needed in zx spectrum code)
    To move on the rope the point of collision is moved up or down the rope 
    To detach from the rope. A timer is set and Willy is cell aligned and exits from the rope.
  3. Like
    Norman Sword got a reaction from jetsetdanny in Ropes & Arrows   
    In zx spectrum JSw and JSW2 and JSW2+. When Willy is walking along he is always aligned to a character cell. When Willy is above a ramp/stair he is still aligned to a character cell, but is drawn with a displacement. When Willy appears to walk diagonally up or down a stair. He actually walks in steps of one char up and down the stairs. It is the displacement code the makes him appear to walk diagonally.
  4. Thanks
    Norman Sword got a reaction from jetsetdanny in Ropes & Arrows   
    The rope is very simple in operation. Matthews code does its best to obscure that simplicity.

    The rope data has offsets for x and y. - the data below is padded out to 256 bytes
     
    rope_table_X:
    DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
    DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
    DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
    DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
    DATA &H01,&H01,&H01,&H01,&H01,&H01,&H01,&H01
    DATA &H01,&H01,&H01,&H01,&H02,&H02,&H02,&H02
    DATA &H02,&H02,&H02,&H02,&H02,&H02,&H02,&H02
    DATA &H02,&H02,&H02,&H02,&H02,&H02,&H02,&H02
    DATA &H02,&H02,&H01,&H02,&H02,&H01,&H01,&H02
    DATA &H01,&H01,&H02,&H02,&H03,&H02,&H03,&H02
    DATA &H03,&H03,&H03,&H03,&H03,&H03
    ;==================
    DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
    DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
    DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
    DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
    DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
    DATA &H00,&H00

    ' y-coordinate shift
    rope_table_Y:
    DATA &H06,&H06,&H06,&H06,&H06,&H06,&H06,&H06
    DATA &H06,&H06,&H06,&H06,&H06,&H06,&H06,&H06
    DATA &H06,&H06,&H06,&H06,&H06,&H06,&H06,&H06
    DATA &H06,&H06,&H06,&H06,&H06,&H06,&H06,&H06
    DATA &H06,&H06,&H06,&H06,&H06,&H06,&H06,&H06
    DATA &H06,&H06,&H06,&H06,&H06,&H06,&H06,&H06
    DATA &H04,&H06,&H06,&H04,&H06,&H04,&H06,&H04
    DATA &H06,&H04,&H04,&H04,&H06,&H04,&H04,&H04
    DATA &H04,&H04,&H04,&H04,&H04,&H04,&H04,&H04
    DATA &H04,&H04,&H04,&H04,&H04,&H04,&H04,&H04
    DATA &H04,&H04,&H04,&H04,&H04,&H04
    ;===========
    DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
    DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
    DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
    DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
    DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
    DATA &H00,&H00

    simple logic for animation

    A pointer is set as an offset into the data (as above)
    The pointer has two other variables - side and step

    The step is added to the offset.
     
    if the offset is now 0 then reverse the step and reverse the side - simply negate the side and step.
    if the offset is maximum the reverse the step- Simply negate the step

    The above is the core logic for animation
    --------------------------

    To draw- start x=128; start y=0:
    loop
    draw point x,y
    Take the offset into the above data - find the x entry - delta x-  and if side is 1 add delta x to x ; if side is -1 deduct delta x from x
    Take the offset into the above data : find the y entry and add to the y
    add 1 to the offset
    loop for the length of the rope

    the above will need adjustments, with the size of steps and length of rope etc =but will draw the rope.
     
     


     
  5. Like
    Norman Sword got a reaction from Spider in Ropes & Arrows   
    Assuming you can draw the rope. Starting at the top we count the pixels drawn for the rope draw.  
    If Not attached to the rope. Each cell drawn is tested for collision. if collision then willy is attached to the rope at that point. 
    If attached to the rope. The cell that is assigned as the collision point (as above) is used as the x,y position to draw Willy - (slight shift adjustment needed in zx spectrum code)
    To move on the rope the point of collision is moved up or down the rope 
    To detach from the rope. A timer is set and Willy is cell aligned and exits from the rope.
  6. Thanks
    Norman Sword got a reaction from Spider in Ropes & Arrows   
    In zx spectrum JSw and JSW2 and JSW2+. When Willy is walking along he is always aligned to a character cell. When Willy is above a ramp/stair he is still aligned to a character cell, but is drawn with a displacement. When Willy appears to walk diagonally up or down a stair. He actually walks in steps of one char up and down the stairs. It is the displacement code the makes him appear to walk diagonally.
  7. Thanks
    Norman Sword got a reaction from SymbolShift in Ropes & Arrows   
    The rope is very simple in operation. Matthews code does its best to obscure that simplicity.

    The rope data has offsets for x and y. - the data below is padded out to 256 bytes
     
    rope_table_X:
    DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
    DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
    DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
    DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
    DATA &H01,&H01,&H01,&H01,&H01,&H01,&H01,&H01
    DATA &H01,&H01,&H01,&H01,&H02,&H02,&H02,&H02
    DATA &H02,&H02,&H02,&H02,&H02,&H02,&H02,&H02
    DATA &H02,&H02,&H02,&H02,&H02,&H02,&H02,&H02
    DATA &H02,&H02,&H01,&H02,&H02,&H01,&H01,&H02
    DATA &H01,&H01,&H02,&H02,&H03,&H02,&H03,&H02
    DATA &H03,&H03,&H03,&H03,&H03,&H03
    ;==================
    DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
    DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
    DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
    DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
    DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
    DATA &H00,&H00

    ' y-coordinate shift
    rope_table_Y:
    DATA &H06,&H06,&H06,&H06,&H06,&H06,&H06,&H06
    DATA &H06,&H06,&H06,&H06,&H06,&H06,&H06,&H06
    DATA &H06,&H06,&H06,&H06,&H06,&H06,&H06,&H06
    DATA &H06,&H06,&H06,&H06,&H06,&H06,&H06,&H06
    DATA &H06,&H06,&H06,&H06,&H06,&H06,&H06,&H06
    DATA &H06,&H06,&H06,&H06,&H06,&H06,&H06,&H06
    DATA &H04,&H06,&H06,&H04,&H06,&H04,&H06,&H04
    DATA &H06,&H04,&H04,&H04,&H06,&H04,&H04,&H04
    DATA &H04,&H04,&H04,&H04,&H04,&H04,&H04,&H04
    DATA &H04,&H04,&H04,&H04,&H04,&H04,&H04,&H04
    DATA &H04,&H04,&H04,&H04,&H04,&H04
    ;===========
    DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
    DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
    DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
    DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
    DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00
    DATA &H00,&H00

    simple logic for animation

    A pointer is set as an offset into the data (as above)
    The pointer has two other variables - side and step

    The step is added to the offset.
     
    if the offset is now 0 then reverse the step and reverse the side - simply negate the side and step.
    if the offset is maximum the reverse the step- Simply negate the step

    The above is the core logic for animation
    --------------------------

    To draw- start x=128; start y=0:
    loop
    draw point x,y
    Take the offset into the above data - find the x entry - delta x-  and if side is 1 add delta x to x ; if side is -1 deduct delta x from x
    Take the offset into the above data : find the y entry and add to the y
    add 1 to the offset
    loop for the length of the rope

    the above will need adjustments, with the size of steps and length of rope etc =but will draw the rope.
     
     


     
  8. Like
    Norman Sword got a reaction from IRF in Ropes & Arrows   
    In zx spectrum JSw and JSW2 and JSW2+. When Willy is walking along he is always aligned to a character cell. When Willy is above a ramp/stair he is still aligned to a character cell, but is drawn with a displacement. When Willy appears to walk diagonally up or down a stair. He actually walks in steps of one char up and down the stairs. It is the displacement code the makes him appear to walk diagonally.
  9. Like
    Norman Sword got a reaction from IRF in Manic Miner in 48k with 40 rooms   
    I basically redrew all the text. I started from scratch and drew all the text in a way that I would do. Then modified back some of the quirks from the original.

    Starting on MANIC 
    The start of the Leading M is adjusted and cleaned up to a consitant 1 pixel wide
    The A has a narrower left side upright.
    The C has the upper flick removed
    On MINER
    The strange indent on the M was fixed. To me it looked wonky
    The Start curve on the M of Miner duplicates the start M on Manic
    The tail of the R duplicates the initial curl on the M's
    On STARRING
    The A and R are better kerned
    On MINER WILLY
    The L's in Miner Willy are made Narrower

    on PRESS ENTER TO START
    The E's all have a longer middle
    The N has its middle kink removed
    The A has the lower bar moved up a pixel
    The T and the A in START are better kerned
     
     
    Changed the keyboard layout and also changed the length of the black keys relative to the white portion below.



     
  10. Thanks
    Norman Sword got a reaction from Spider in Pokes (Spectrum Version)   
    Clarification on those pokes

    The POKE to set the starting room to Room r is 34795,r.  (is for JSW)
    POKE 33824,r is a useful runtime POKE to teleport to Room r. (is for JSW)
  11. Thanks
    Norman Sword got a reaction from Spider in Pokes (Spectrum Version)   
    I will again state. It is possible to run Manic miner and return to basic. On returning to basic it will still be possible to poke the game and again enter MM ( and if needed keep on repeating the loop of running the game and returning to basic). All the basic that was in memory before running MM will still be there. Because certain members on here do not have the skill needed to do this does not preclude others from doing so. (e.g. I can if I wanted, do the modifications needed. But I have no intention of doing so. ) in the 30+ years since MM was written I have had no need to do so, and I still have no need to do so. 


     
  12. Like
    Norman Sword got a reaction from JianYang in Pokes (Spectrum Version)   
    Whilst it is possible to run MM and return to basic it is not as simple as a few pokes.
  13. Like
    Norman Sword got a reaction from JianYang in Pokes (Spectrum Version)   
    Clarification on those pokes

    The POKE to set the starting room to Room r is 34795,r.  (is for JSW)
    POKE 33824,r is a useful runtime POKE to teleport to Room r. (is for JSW)
  14. Like
    Norman Sword got a reaction from jetsetdanny in Pokes (Spectrum Version)   
    Clarification on those pokes

    The POKE to set the starting room to Room r is 34795,r.  (is for JSW)
    POKE 33824,r is a useful runtime POKE to teleport to Room r. (is for JSW)
  15. Like
    Norman Sword got a reaction from jetsetdanny in Manic Jet Set Willy.   
    A side track. The design of Nomen luni focuses on the crashed plane. Yet for some reason Matthew part obscured the design by flashing un needed graphics. So the next version of this screen I do, will be changed to this (picture below) which assigns nasty graphics to the un wanted flashing graphics on the right, and thus removes the flashing from those graphics. Which then forces the plane to take centre stage. 

  16. Like
    Norman Sword got a reaction from Spider in Manic Jet Set Willy.   
    A side track. The design of Nomen luni focuses on the crashed plane. Yet for some reason Matthew part obscured the design by flashing un needed graphics. So the next version of this screen I do, will be changed to this (picture below) which assigns nasty graphics to the un wanted flashing graphics on the right, and thus removes the flashing from those graphics. Which then forces the plane to take centre stage. 

  17. Thanks
    Norman Sword got a reaction from Spider in Manic Jet Set Willy.   
    The room exists as a void room. The room is drawn with no graphics no sprites and all exits are set to go to the "off licence".

    The code checks (in cheat)  for rooms 47/61/62 and 63 if found then the cheat code is ignored.

    If in playing the room 47/61/62 or 63 was entered, you would land either on the floor across the room at mid point or across the bottom. Nothing would be visible. On walking across the room you would enter the "off licence".

    So yes the room exists. But would be very difficult to edit by virtue of the data size being set to the smallest possible size.

    Looking at the data with a hex editor will not show much. The data and its structure are comparable to JSW2 in its layout. While JSW2 keeps all the rooms in continuous blocks of data . The room layouts all being together and the (sprite movement data ,the tile colours, the graphics and room name) being in another block. In ManicJetSetWilly the room graphics and the tile colours etc are mixed with no real indication of where one starts or finishes.  In JSW2 the room names can be seen alongside the appropiate room data. Giving an easy to see reference point.

    In ManicJetSetWilly the data for room names and the room data are vastly seperated and room data just flows from one rooms data set to the next for the room data.  

     
  18. Like
    Norman Sword got a reaction from jetsetdanny in Manic Jet Set Willy.   
    The room exists as a void room. The room is drawn with no graphics no sprites and all exits are set to go to the "off licence".

    The code checks (in cheat)  for rooms 47/61/62 and 63 if found then the cheat code is ignored.

    If in playing the room 47/61/62 or 63 was entered, you would land either on the floor across the room at mid point or across the bottom. Nothing would be visible. On walking across the room you would enter the "off licence".

    So yes the room exists. But would be very difficult to edit by virtue of the data size being set to the smallest possible size.

    Looking at the data with a hex editor will not show much. The data and its structure are comparable to JSW2 in its layout. While JSW2 keeps all the rooms in continuous blocks of data . The room layouts all being together and the (sprite movement data ,the tile colours, the graphics and room name) being in another block. In ManicJetSetWilly the room graphics and the tile colours etc are mixed with no real indication of where one starts or finishes.  In JSW2 the room names can be seen alongside the appropiate room data. Giving an easy to see reference point.

    In ManicJetSetWilly the data for room names and the room data are vastly seperated and room data just flows from one rooms data set to the next for the room data.  

     
  19. Wow
    Norman Sword got a reaction from Spider in Manic Miner in 48k with 40 rooms   
    I basically redrew all the text. I started from scratch and drew all the text in a way that I would do. Then modified back some of the quirks from the original.

    Starting on MANIC 
    The start of the Leading M is adjusted and cleaned up to a consitant 1 pixel wide
    The A has a narrower left side upright.
    The C has the upper flick removed
    On MINER
    The strange indent on the M was fixed. To me it looked wonky
    The Start curve on the M of Miner duplicates the start M on Manic
    The tail of the R duplicates the initial curl on the M's
    On STARRING
    The A and R are better kerned
    On MINER WILLY
    The L's in Miner Willy are made Narrower

    on PRESS ENTER TO START
    The E's all have a longer middle
    The N has its middle kink removed
    The A has the lower bar moved up a pixel
    The T and the A in START are better kerned
     
     
    Changed the keyboard layout and also changed the length of the black keys relative to the white portion below.



     
  20. Like
    Norman Sword reacted to Spider in Manic Miner in 48k with 40 rooms   
    1. "40" between the main title
    2. The car windscreen 'A Pillar' missing pixel fixed (as you know this was 'fixed' in the Software Projects release of the original whereas the Bug Byte version has it missing)
    3. Blank 'Final Barrier' cavern area fully populated with background
    4. Fixed piano key layout of black keys
    5. Bright cyan/red for indication a key is playing (something I tend to do anyway on some of my releases)
    6. Full key indication in cyan/red vs one attribute block
     
    I get the feeling I've missed one something ? 🙂
     
  21. Wow
    Norman Sword got a reaction from jetsetdanny in Manic Miner in 48k with 40 rooms   
    I basically redrew all the text. I started from scratch and drew all the text in a way that I would do. Then modified back some of the quirks from the original.

    Starting on MANIC 
    The start of the Leading M is adjusted and cleaned up to a consitant 1 pixel wide
    The A has a narrower left side upright.
    The C has the upper flick removed
    On MINER
    The strange indent on the M was fixed. To me it looked wonky
    The Start curve on the M of Miner duplicates the start M on Manic
    The tail of the R duplicates the initial curl on the M's
    On STARRING
    The A and R are better kerned
    On MINER WILLY
    The L's in Miner Willy are made Narrower

    on PRESS ENTER TO START
    The E's all have a longer middle
    The N has its middle kink removed
    The A has the lower bar moved up a pixel
    The T and the A in START are better kerned
     
     
    Changed the keyboard layout and also changed the length of the black keys relative to the white portion below.



     
  22. Like
    Norman Sword got a reaction from jetsetdanny in Manic Miner in 48k with 40 rooms   
    I wonder why the mapping picture of Manic 40 Miner uses the title screen picture from Manic Miner and not the title screen picture from Manic 40 Miner?

    The pictures are different enough that even the low res spoiler picture, is evidently the original Manic Miner. 
    Can you spot all the changes?


  23. Like
    Norman Sword got a reaction from Spider in Manic Miner in 48k with 40 rooms   
    I wonder why the mapping picture of Manic 40 Miner uses the title screen picture from Manic Miner and not the title screen picture from Manic 40 Miner?

    The pictures are different enough that even the low res spoiler picture, is evidently the original Manic Miner. 
    Can you spot all the changes?


  24. Haha
    Norman Sword got a reaction from jetsetdanny in Manic Jet Set Willy.   
    Thanks for the mention on jsw central.
    I must point out that when I wrote about cheat activation, I finished by adding:- 
    You must wear a mask, and take all the necessary Covid precautions.
    Sterilise the keyboard before usage to stop program code bugs. 
    Your socks must match, absence of socks or mismatch of socks will abort cheat.
    which I thought was sufficent to indicate, I was not being serious.

    Apart from the extra row of keys used. The cheat "type in" is accessed in the same way as the normal Jet Set Willy. Having odd socks is only a fashion statement. There being no restrictions in the Time/score/Clock time etc.

    Cheat is typed when standing on the lower floor in the "First Landing"
    The cheat is "heroJokerKilt"
    Cheat only works on legal Jet set willy room numbers
    Cheat will not work in Manic Miner
    Cheat will not work in any part of the toilet run sequence.
     
     
  25. Like
    Norman Sword got a reaction from jetsetdanny in JSW Central   
    The staggering count seems to be 130.5 

    Whilst mine is 0/20+
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.