Jump to content

Photo

Pitfall!x256 (was: Pitfall!x16)

Pitfall! Hack

53 replies to this topic

#51 Cafeman OFFLINE  

Cafeman

    Quadrunner

  • 6,332 posts
  • Hungry
  • Location:Pennsylvania, 3 rights after the Mulberry tree

Posted Sun Aug 13, 2017 2:50 PM

You can still play difficulty B and do the mapping there. A is only for the very brave. :)

 

Oh yeah, I was forgetting there is a more vanilla difficulty B! 



#52 AlwaysOnPlanetPatrol OFFLINE  

AlwaysOnPlanetPatrol

    Star Raider

  • 56 posts
  • Location:Markham. Ontario. Canada.

Posted Mon Aug 14, 2017 11:32 AM

I had thought about a spreadsheet doing the work, but then I got lazy. icon_smile.gif

 

Funny, I was thinking of doing exactly that. 

 

Are you sharing your code for your new LFSR routine?

 

BTW, this is outstanding.  I should be working now and just spent 45 minutes playing the game!  Excellent mod.

 

Someone should Mr Crane about this, I'm sure he would be impressed.  Well done!



#53 Thomas Jentzsch OFFLINE  

Thomas Jentzsch

    Thrust, Jammed, SWOOPS!, Boulder Dash, THREE·S, Star Castle

  • Topic Starter
  • 22,582 posts
  • Always left from right here!
  • Location:Düsseldorf, Germany

Posted Mon Aug 14, 2017 12:25 PM

Sure! 
 
; seeding:
    lda     gameIdx     ; selected game variation number - 1
    and     #$0f
    tay
    eor     gameIdx         
    eor     NextRndTbl,y
    eor     #%10100101 
    sta     random      
    ...

; retrieve number of random loops:
; Y = gameIdx & $0f
    lda     gameIdx
    and     #$0f
    tay
; X = iterTbl[gameIdx >> 4]
    eor     gameIdx
    lsr
    lsr
    lsr
    lsr
    tax
    lda     IterTbl,x
    tax 
    ...

; going right:
    lda     random
.loopRandom:
    lsr
    bcc     .skipEor
    eor     NextRndTbl,y
.skipEor
    dex                    
    bne     .loopRandom    
    sta     random
    ...

; going left:
    lda     NextRndTbl,y
    sec
    rol
    sta     temp
    lda     random
.loopRandom:
    asl             
    bcc     .skipEor
    eor     temp
.skipEor
    dex                  
    bne     .loopRandom  
    sta     random
    ...

NextRndTbl
    .byte   $8e, $95, $c6, $a6, $af, $b1, $b2, $b4
    .byte   $b8, $c3, $96, $d4, $e1, $e7, $f3, $fa

IterTbl
    .byte  1,  2,  4,  7,  8, 11, 13, 14
    .byte 16, 19, 23, 26, 28, 29, 31, 32
Please let me know if something is missing. I am really looking forward to your mapping and hope you can detect passages.

#54 AlwaysOnPlanetPatrol OFFLINE  

AlwaysOnPlanetPatrol

    Star Raider

  • 56 posts
  • Location:Markham. Ontario. Canada.

Posted Today, 1:12 PM

Sure! 

 
; seeding:
    lda     gameIdx     ; selected game variation number - 1
    and     #$0f
    tay
    eor     gameIdx         
    eor     NextRndTbl,y
    eor     #%10100101 
    sta     random      
    ...

; retrieve number of random loops:
; Y = gameIdx & $0f
    lda     gameIdx
    and     #$0f
    tay
; X = iterTbl[gameIdx >> 4]
    eor     gameIdx
    lsr
    lsr
    lsr
    lsr
    tax
    lda     IterTbl,x
    tax 
    ...

; going right:
    lda     random
.loopRandom:
    lsr
    bcc     .skipEor
    eor     NextRndTbl,y
.skipEor
    dex                    
    bne     .loopRandom    
    sta     random
    ...

; going left:
    lda     NextRndTbl,y
    sec
    rol
    sta     temp
    lda     random
.loopRandom:
    asl             
    bcc     .skipEor
    eor     temp
.skipEor
    dex                  
    bne     .loopRandom  
    sta     random
    ...

NextRndTbl
    .byte   $8e, $95, $c6, $a6, $af, $b1, $b2, $b4
    .byte   $b8, $c3, $96, $d4, $e1, $e7, $f3, $fa

IterTbl
    .byte  1,  2,  4,  7,  8, 11, 13, 14
    .byte 16, 19, 23, 26, 28, 29, 31, 32
Please let me know if something is missing. I am really looking forward to your mapping and hope you can detect passages.

 

First, thank you for this.

 

Now I need to brush up on my assembly ;)







Also tagged with one or more of these keywords: Pitfall!, Hack

0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users