Jump to content
Jet Set Willy & Manic Miner Community

Norman Sword

Contributor
  • Posts

    603
  • Joined

  • Last visited

Reputation Activity

  1. Wow
    Norman Sword got a reaction from crem in Neural network generated Jet Set Willy room images   
    To clear up any confusion on JSW2.

    yes I wrote JSW2,JSW2+
  2. Thanks
    Norman Sword got a reaction from MtM in Neural network generated Jet Set Willy room images   
    To clear up any confusion on JSW2.

    yes I wrote JSW2,JSW2+
  3. Thanks
    Norman Sword got a reaction from Spider in Neural network generated Jet Set Willy room images   
    I must be getting old.

    When I wrote JSW2 I do not remember calling one room "bacon rashers and corn cob"
  4. Like
    Norman Sword got a reaction from jetsetdanny in Neural network generated Jet Set Willy room images   
    I must be getting old.

    When I wrote JSW2 I do not remember calling one room "bacon rashers and corn cob"
  5. Haha
    Norman Sword got a reaction from SymbolShift in Neural network generated Jet Set Willy room images   
    I must be getting old.

    When I wrote JSW2 I do not remember calling one room "bacon rashers and corn cob"
  6. Thanks
    Norman Sword got a reaction from Spider in Neural network generated Jet Set Willy room images   
    Number 1 is bacon rashers and corn cob. 

     
  7. Haha
    Norman Sword got a reaction from jetsetdanny in Neural network generated Jet Set Willy room images   
    Number 1 is bacon rashers and corn cob. 

     
  8. Like
    Norman Sword got a reaction from jetsetdanny in Christmas card from long ago   
    The Thomas the tank engine graphic is from the Perils of Willy. Which at that time was a VIc 20 only game

    The 2nd picture shows about a 1/3 of what I disposed off (in magazines alone)- there are six stacks of magazines in this photo. 



     

  9. Sad
    Norman Sword got a reaction from MtM in Christmas card from long ago   
    The Thomas the tank engine graphic is from the Perils of Willy. Which at that time was a VIc 20 only game

    The 2nd picture shows about a 1/3 of what I disposed off (in magazines alone)- there are six stacks of magazines in this photo. 



     

  10. Thanks
    Norman Sword got a reaction from MtM in Christmas card from long ago   
    At present I am dumping tons and tons of magazines, disc,tapes, games. Most have already gone. Today I uncovered this. Nearly went in a skip.

    The doodle was by my daughter some time in the very distant past. At least she drew on the back



  11. Like
    Norman Sword got a reaction from jetsetdanny in Christmas card from long ago   
    This is 100% Roger Tissyman.  As is evident by the mouse, the boots and the games depicted + the SP logo
  12. Thanks
    Norman Sword got a reaction from jetsetdanny in Christmas card from long ago   
    At present I am dumping tons and tons of magazines, disc,tapes, games. Most have already gone. Today I uncovered this. Nearly went in a skip.

    The doodle was by my daughter some time in the very distant past. At least she drew on the back



  13. Thanks
    Norman Sword got a reaction from Spider in Christmas card from long ago   
    This is 100% Roger Tissyman.  As is evident by the mouse, the boots and the games depicted + the SP logo
  14. Thanks
    Norman Sword got a reaction from Spider in Christmas card from long ago   
    At present I am dumping tons and tons of magazines, disc,tapes, games. Most have already gone. Today I uncovered this. Nearly went in a skip.

    The doodle was by my daughter some time in the very distant past. At least she drew on the back



  15. Like
    Norman Sword got a reaction from JianYang in Christmas card from long ago   
    At present I am dumping tons and tons of magazines, disc,tapes, games. Most have already gone. Today I uncovered this. Nearly went in a skip.

    The doodle was by my daughter some time in the very distant past. At least she drew on the back



  16. Like
    Norman Sword got a reaction from jetsetdanny in Gribbly's Day Out! Part 2.   
    E-bay seems to have been cleared out - due to previous legal threats

    however 
    https://www.redbubble.com/shop/manic+miner+t-shirts 

    seems to supply whatever you want. - This is not an endorsement by me - I have never used this company.

     
     






  17. Like
    Norman Sword got a reaction from MtM in Gribbly's Day Out! Part 2.   
    E-bay seems to have been cleared out - due to previous legal threats

    however 
    https://www.redbubble.com/shop/manic+miner+t-shirts 

    seems to supply whatever you want. - This is not an endorsement by me - I have never used this company.

     
     






  18. Thanks
    Norman Sword got a reaction from Spider in source code for JSW   
    JET SET WILLY SOURCE CODE



    I mentioned a long time ago that I would eventually upload a source code for Jet Set Willy. This I have done and the code is in the download section, under "other resources".

    The version is Raw6jsw.asm but the 6 is just indicating that  6 steps were needed in its evolution from a disassembly

    Hope its of use to someone.

    The listing will assemble in Pasmo and output the game.... 
  19. Thanks
    Norman Sword got a reaction from Spider in [File] Raw6jsw.zip   
    Raw6jsw.zip
    View File This is just an assembly listing of Jet Set Willy, which is not the same as a disassembly.
     
    Since this uses the skoolkit disassembly as its basis, It has been placed here so it is not viewable to none members.
     

    The change from a disassembly makes the code a lot easier to understand and also a lot easier to edit.
    Submitter Norman Sword Submitted 06/21/2019 Category Other resources  
  20. Like
    Norman Sword got a reaction from jetsetdanny in Ropes & Arrows   
    For consistancy of timing states and logic flow, it is probably better to manipulate the bits into the appropiate position.

    The code I listed is manipulating bits to provide an answer, but the direct route is just as quick, but varies in timing depending on the path taken.
    (as listed above) 
    .
    L935E   ld hl,rope_status   
                  bit 7,(hl)     
                  jr z,L93xx 
                  inc (hl)     
                  RES ropebit,(IX+rope0B)
                  JR next_entity_draw
    L93xx  
                  BIT ropebit,(IX+rope0B) 
                  JR Z,next_entity_draw  
                  LD A,(willy_dir)  
                  BIT 1,A
                  JR Z,next_entity_draw  
                  cpl                                       ; in revision this is not needed                                                         
                  rrca           
                  xor (ix+rope01)         
                  rlca                                     ; in the revision the bit position is not shifted 
                  rlca
                  AND #02                           ; no need to isolate bit - a direct test is done      
                  DEC A        
                  ADD A,(HL)      
                  LD (HL),A
                  NOP 
                  NOP
                  NOP
                  NOP
                  NOP   
    revised:

    L935E    ld hl,rope_status   
                   bit 7,(hl)      
                   jr z,L93xx   
                   inc (hl)       
                   RES ropebit,(IX+rope0B)
                   JR next_entity_draw
     L93xx  
                   BIT ropebit,(IX+rope0B) 
                   JR Z,next_entity_draw  
                   LD A,(willy_dir)  
                   BIT 1,A
                   JR Z,next_entity_draw    ; 
                   rrca                                 ; move bit [0] to bit [7]
                   xor (ix+rope01)              ;  bit [7] 
                   inc  (hl)                           ; do a +1 change on rope_status
                   bit 7,a                              ; check the bit[7] status
                   jr z,skip_o                       ; branch if ok  with +1 
                   dec  (hl)                          ; else revise the +1 to 0
                   dec  (hl)                           ; and revise again to -1
    skip_o:
                  NOP
                  NOP
                  NOP
                  NOP 
                  NOP
                  NOP
     
     
    which removes the need to CPL the byte for testing and is also one byte shorter.
     
  21. Like
    Norman Sword got a reaction from jetsetdanny in Ropes & Arrows   
    This is not something new. It is the above code written differently, and it still leaves those 2 bytes alone (the relative jump to the next byte - which is redundant code at #93b1)
     
    ;Now that the entire rope has been drawn, deal with Willy's movement along it.
    L935E    ld hl,rope_status   
                   bit 7,(hl)        ;    ;   Has Willy recently jumped off the rope or dropped off the bottom of it (A>=0xF0)?
                   jr z,L93xx     ;    ;   Jump if not
                   inc (hl)        ;    ;     Update the rope status indicator at L85D6
                   RES ropebit,(IX+rope0B) ;         ;    Signal: Willy is not on the rope
                   JR next_entity_draw    ;         ;#93b3  Jump to consider the next entity
    L93xx  
                   BIT ropebit,(IX+rope0B) ;         ;    ropebit=0, Is Willy on the rope?
                   JR Z,next_entity_draw    ;         ; #93b3      If not, jump to consider the next entity
                  LD A,(willy_dir)    ;         ;       Pick up Willy's direction and movement flags from L85D0
                  BIT 1,A                 ;         ;    Is Willy trying to move up or down the rope?
                  JR Z,next_entity_draw    ;    ;#93b3
                  cpl            ;    ;    invert the bits - only intetest is in bit [0] the direction Willy wants to move
                  rrca             ;     ;    shift bit [0] > bit [7]
                  xor (ix+rope01)     ;    ;      direction of swing in bit [7]
                  rlca             ;     ;    from [7] to [0]
                  rlca             ;     ;    from [0] to [1]
                  AND #02         ;         ;    value is now 0 or 2
                  DEC A            ;         ;    value is now -1 or 1
                 ADD A,(HL)        ;         ;    add on the rope status
                 LD (HL),A        ;       ;    and save the new value
               nop            ;     ; a bit of space saved 5 bytes
               nop
               nop
               nop
               nop

    L938a:
  22. Like
    Norman Sword got a reaction from Spider in Neural network generated Jet Set Willy room images   
    I found the above (spoiler)  fine in Opera, edge, Chrome,Firefox 100.0.2, opera Gx, Ccleaner browser
    And can also confirm the Captcha works for all of the above.

  23. Confused
    Norman Sword got a reaction from SymbolShift in Neural network generated Jet Set Willy room images   
    I found the above (spoiler)  fine in Opera, edge, Chrome,Firefox 100.0.2, opera Gx, Ccleaner browser
    And can also confirm the Captcha works for all of the above.

  24. Thanks
    Norman Sword got a reaction from SymbolShift in Ropes & Arrows   
    This is not something new. It is the above code written differently, and it still leaves those 2 bytes alone (the relative jump to the next byte - which is redundant code at #93b1)
     
    ;Now that the entire rope has been drawn, deal with Willy's movement along it.
    L935E    ld hl,rope_status   
                   bit 7,(hl)        ;    ;   Has Willy recently jumped off the rope or dropped off the bottom of it (A>=0xF0)?
                   jr z,L93xx     ;    ;   Jump if not
                   inc (hl)        ;    ;     Update the rope status indicator at L85D6
                   RES ropebit,(IX+rope0B) ;         ;    Signal: Willy is not on the rope
                   JR next_entity_draw    ;         ;#93b3  Jump to consider the next entity
    L93xx  
                   BIT ropebit,(IX+rope0B) ;         ;    ropebit=0, Is Willy on the rope?
                   JR Z,next_entity_draw    ;         ; #93b3      If not, jump to consider the next entity
                  LD A,(willy_dir)    ;         ;       Pick up Willy's direction and movement flags from L85D0
                  BIT 1,A                 ;         ;    Is Willy trying to move up or down the rope?
                  JR Z,next_entity_draw    ;    ;#93b3
                  cpl            ;    ;    invert the bits - only intetest is in bit [0] the direction Willy wants to move
                  rrca             ;     ;    shift bit [0] > bit [7]
                  xor (ix+rope01)     ;    ;      direction of swing in bit [7]
                  rlca             ;     ;    from [7] to [0]
                  rlca             ;     ;    from [0] to [1]
                  AND #02         ;         ;    value is now 0 or 2
                  DEC A            ;         ;    value is now -1 or 1
                 ADD A,(HL)        ;         ;    add on the rope status
                 LD (HL),A        ;       ;    and save the new value
               nop            ;     ; a bit of space saved 5 bytes
               nop
               nop
               nop
               nop

    L938a:
  25. Like
    Norman Sword got a reaction from IRF in Ropes & Arrows   
    For consistancy of timing states and logic flow, it is probably better to manipulate the bits into the appropiate position.

    The code I listed is manipulating bits to provide an answer, but the direct route is just as quick, but varies in timing depending on the path taken.
    (as listed above) 
    .
    L935E   ld hl,rope_status   
                  bit 7,(hl)     
                  jr z,L93xx 
                  inc (hl)     
                  RES ropebit,(IX+rope0B)
                  JR next_entity_draw
    L93xx  
                  BIT ropebit,(IX+rope0B) 
                  JR Z,next_entity_draw  
                  LD A,(willy_dir)  
                  BIT 1,A
                  JR Z,next_entity_draw  
                  cpl                                       ; in revision this is not needed                                                         
                  rrca           
                  xor (ix+rope01)         
                  rlca                                     ; in the revision the bit position is not shifted 
                  rlca
                  AND #02                           ; no need to isolate bit - a direct test is done      
                  DEC A        
                  ADD A,(HL)      
                  LD (HL),A
                  NOP 
                  NOP
                  NOP
                  NOP
                  NOP   
    revised:

    L935E    ld hl,rope_status   
                   bit 7,(hl)      
                   jr z,L93xx   
                   inc (hl)       
                   RES ropebit,(IX+rope0B)
                   JR next_entity_draw
     L93xx  
                   BIT ropebit,(IX+rope0B) 
                   JR Z,next_entity_draw  
                   LD A,(willy_dir)  
                   BIT 1,A
                   JR Z,next_entity_draw    ; 
                   rrca                                 ; move bit [0] to bit [7]
                   xor (ix+rope01)              ;  bit [7] 
                   inc  (hl)                           ; do a +1 change on rope_status
                   bit 7,a                              ; check the bit[7] status
                   jr z,skip_o                       ; branch if ok  with +1 
                   dec  (hl)                          ; else revise the +1 to 0
                   dec  (hl)                           ; and revise again to -1
    skip_o:
                  NOP
                  NOP
                  NOP
                  NOP 
                  NOP
                  NOP
     
     
    which removes the need to CPL the byte for testing and is also one byte shorter.
     
×
×
  • Create New...

Important Information

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