ROM hacks in The Quiet Levels

Discuss PoP1 for SNES here.
Post Reply
User avatar
spartacus735
Wise Scribe
Wise Scribe
Posts: 217
Joined: November 20th, 2011, 12:41 pm
Location: France

ROM hacks in The Quiet Levels

Post by spartacus735 »

I have several questions for Kaslghnoon, in particulary to quiet level mod.

1 - How do you change the start/end door in level 1 2 3 ? You have the door from prison set and have brown dungeon tileset.

2 - In level 7 how do you create the permanent slowfall effect ?

3 - How do you create the same animation of prince to shadow ? ( the combat animation are the same )

4 - In your mod a level have a blocked loose floor ( you need to fall on it 5 times to break the slabs ) what sort of hack it is ?

thx
best regard

Spartacus
>>>>>>>>>>>>>>>>>>>> http://www.youtube.com/user/spartacus735 <<<<<<<<<<<<<<<<<<<< the channel of prince of persia snes mod
David
The Prince of Persia
The Prince of Persia
Posts: 2846
Joined: December 11th, 2008, 9:48 pm
Location: Hungary

Re: ROM hacks in The Quiet Levels

Post by David »

(Moved this into a new topic, because this mod has quite a few interesting hacks.)
spartacus735 wrote: I have several questions for Kaslghnoon, in particulary to quiet level mod.
It seems he hasn't logged in since 2015 December, so I'll try to answer your questions instead.
spartacus735 wrote: 1 - How do you change the start/end door in level 1 2 3 ? You have the door from prison set and have brown dungeon tileset.
It seems to me that level 1 of the Quiet levels uses the brown dungeon level door. (Except with different colors.)

However, level 13 really does use a different level door.
Is this what you mean?

This is how it's done in the mod:
Spoiler: show

Code: Select all

Original:
check blue (level 15 room 15/18):
01:F91D: ad 79 05    LDA $0579 ; current level

01:F920: c9 0e       CMP #$0e


01:F935: 8d 7e 05    STA $057e ; object level type * 6


new part 1:
check blue (level 15 room 15/18):
01:F91D: 4c 50 fd    JMP $fd50

01:F920: c9 0e       CMP #$0e


new part 2:
01:FD50: ad 79 05    LDA $0579 ; current level
01:FD53: c9 07       CMP #$07 ; level 8
01:FD55: f0 2f       BEQ $fd86
01:FD57: c9 14       CMP #$14 ; unused level
01:FD59: f0 10       BEQ $fd6b
01:FD5B: c9 14       CMP #$14 ; unused level
01:FD5D: f0 0c       BEQ $fd6b
01:FD5F: c9 0c       CMP #$0c ; level 13
01:FD61: f0 08       BEQ $fd6b
01:FD63: ad 79 05    LDA $0579 ; current level
01:FD66: 4c 20 f9    JMP $f920

01:FD69: %D0%22 [unexplored]
; level 13
01:FD6B: ad 06 05    LDA $0506 ; shown room ; VisScrn
01:FD6E: c9 00       CMP #$00
01:FD70: f0 09       BEQ $fd7b
01:FD72: c9 15       CMP #$15
01:FD74: f0 05       BEQ $fd7b
01:FD76: 4c 63 fd    JMP $fd63

01:FD79: %D0%17 [unexplored]
; level 13 room 0,21 (level doors)
01:FD7B: 08          PHP
01:FD7C: c2 30       REP #$30
01:FD7E: a9 00 00    LDA #$0000 ; blue dungeon
01:FD81: 4c 35 f9    JMP $f935 ; set object level type

01:FD84: %D0%22 [unexplored]
; level 8
01:FD86: a9 25       LDA #$25
01:FD88: 8d 3e 08    STA $083e ; ??? torch pos?
01:FD8B: 4c 63 fd    JMP $fd63
spartacus735 wrote: 2 - In level 7 how do you create the permanent slowfall effect ?
This is how it's done in the mod:
Spoiler: show

Code: Select all

Original:
01:F8DB: ad 79 05    LDA $0579 ; current level
01:F8DE: c9 0c       CMP #$0c
01:F8E0: d0 24       BNE $f906
01:F8E2: ad 72 04    LDA $0472 ; Kid.room


new part 1:
01:F8DB: 4c 86 fa    JMP $fa86

01:F8DE: %00%00%00%00 [unexplored]
01:F8E2: ad 72 04    LDA $0472 ; Kid.room


new part 2:
01:FA86: ad 79 05    LDA $0579 ; current level
01:FA89: c9 07       CMP #$07 ; level 8
01:FA8B: f0 07       BEQ $fa94
01:FA8D: c9 06       CMP #$06 ; level 7
01:FA8F: f0 08       BEQ $fa99
01:FA91: 60          RTS

01:FA92: %D0%24 [unexplored]
; level 8
01:FA94: 4c e2 f8    JMP $f8e2

01:FA97: %D0%24 [unexplored]
; level 7
01:FA99: ad 01 05    LDA $0501 ; ???
01:FA9C: f0 17       BEQ $fab5
01:FA9E: a2 00       LDX #$00
01:FAA0: 3a          DEC
01:FAA1: 8d 00 05    STA $0500 ; slow fall remaining time
01:FAA4: f0 0c       BEQ $fab2
01:FAA6: a2 ff       LDX #$ff
01:FAA8: c9 0f       CMP #$0f
01:FAAA: b0 06       BCS $fab2
01:FAAC: ad 40 05    LDA $0540 ; slow fall blue
01:FAAF: 49 ff       EOR #$ff
01:FAB1: aa          TAX
01:FAB2: 8e 40 05    STX $0540 ; slow fall blue
01:FAB5: 60          RTS
spartacus735 wrote: 3 - How do you create the same animation of prince to shadow ? ( the combat animation are the same )
This is how it's done in the mod:
(Note that this part contains a few other shadow-related hacks.)
Spoiler: show

Code: Select all

Original:
level 15: UNHOLY: Special event: killed the shadow:
01:CFAD: ad 79 05    LDA $0579 ; current level

01:CFB0: c9 0e       CMP #$0e


new part 1:
level 15: UNHOLY: Special event: killed the shadow:
01:CFAD: 4c b0 fe    JMP $feb0

01:CFB0: c9 0e       CMP #$0e


new part 2:
01:FEB0: ad 79 05    LDA $0579 ; current level
01:FEB3: c9 0b       CMP #$0b ; level 12
01:FEB5: f0 11       BEQ $fec8
01:FEB7: c9 0c       CMP #$0c ; level 13
01:FEB9: f0 08       BEQ $fec3
01:FEBB: ad 79 05    LDA $0579 ; current level
01:FEBE: 4c b0 cf    JMP $cfb0

01:FEC1: %D0%0D [unexplored]
; level 13
01:FEC3: 4c 17 fd    JMP $fd17 ; this leads to a different hack, not shown here

01:FEC6: %D0%0D [unexplored]
; level 12
01:FEC8: ad 62 04    LDA $0462 ; Char.room ; CharScrn
01:FECB: c9 02       CMP #$02
01:FECD: f0 05       BEQ $fed4
01:FECF: 4c bb fe    JMP $febb

01:FED2: %D0%0D [unexplored]
; level 12 room 2
01:FED4: 20 60 84    JSR $8460 ; mirror music/stun
01:FED7: ad c5 04    LDA $04c5 ; offguard
01:FEDA: c9 01       CMP #$01
01:FEDC: f0 16       BEQ $fef4
01:FEDE: ad 6b 04    LDA $046b ; Kid.col
01:FEE1: c9 04       CMP #$04
01:FEE3: f0 05       BEQ $feea
01:FEE5: 4c bb fe    JMP $febb

01:FEE8: %D0%0D [unexplored]
; level 12 room 2 column 4 (closer button)
01:FEEA: a9 00       LDA #$00 ; look like kid
01:FEEC: 8d 84 04    STA $0484 ; Shad.chtype
01:FEEF: 4c bb fe    JMP $febb

01:FEF2: %D0%0D [unexplored]
; level 12 room 2 offguard
01:FEF4: a9 00       LDA #$00
01:FEF6: 8d dd 04    STA $04dd ; ???
01:FEF9: 4c bb fe    JMP $febb
spartacus735 wrote: 4 - In your mod a level have a blocked loose floor ( you need to fall on it 5 times to break the slabs ) what sort of hack it is ?
Where is that? (which level, which room?)
On level 8, in room 3, I found a blocked loose floor, but it won't break no matter how many times I fall on it.

However, on level 10 there is a button that works just as you described.
More precisely, you can press buttons on that level only if you have at least 5 empty HP bottles.
Is this what you mean?

This is how it's done in the mod:
Spoiler: show

Code: Select all

Original:
01:AD75: ad bf 04    LDA $04bf ; current frame[4] flags ; Fcheck

01:AD78: 29 40       AND #$40


new part 1:
01:AD75: 4c e0 fd    JMP $fde0

01:AD78: 29 40       AND #$40


new part 2:
01:FDE0: ad 79 05    LDA $0579 ; current level
01:FDE3: c9 09       CMP #$09
01:FDE5: f0 08       BEQ $fdef
; allow
01:FDE7: ad bf 04    LDA $04bf ; current frame[4] flags ; Fcheck
01:FDEA: 4c 78 ad    JMP $ad78

01:FDED: %D0%0D [unexplored]
; level 10
01:FDEF: ad 0a 05    LDA $050a ; kid max HP
01:FDF2: c9 05       CMP #$05
01:FDF4: f0 10       BEQ $fe06
01:FDF6: c9 06       CMP #$06
01:FDF8: f0 1d       BEQ $fe17
01:FDFA: c9 07       CMP #$07
01:FDFC: f0 2e       BEQ $fe2c
; disallow
01:FDFE: ad bf 04    LDA $04bf ; current frame[4] flags ; Fcheck
01:FE01: 4c 43 fe    JMP $fe43

01:FE04: %D0%0D [unexplored]
; maxhp = 5
01:FE06: ad 08 05    LDA $0508 ; kid current HP ; KidStrength
01:FE09: c9 00       CMP #$00
01:FE0B: f0 05       BEQ $fe12 ; allow
01:FE0D: 4c fe fd    JMP $fdfe ; disallow

01:FE10: %D0%0D [unexplored]
; 0 HP of 5
01:FE12: 4c e7 fd    JMP $fde7 ; allow

01:FE15: %D0%0D [unexplored]
; maxhp = 6
01:FE17: ad 08 05    LDA $0508 ; kid current HP ; KidStrength
01:FE1A: c9 01       CMP #$01
01:FE1C: f0 09       BEQ $fe27 ; allow
01:FE1E: c9 00       CMP #$00
01:FE20: f0 05       BEQ $fe27 ; allow
01:FE22: 4c fe fd    JMP $fdfe ; disallow

01:FE25: %D0%0D [unexplored]
; 0,1 HP of 6
01:FE27: 4c e7 fd    JMP $fde7 ; allow

01:FE2A: %D0%0D [unexplored]
; maxhp = 7
01:FE2C: ad 08 05    LDA $0508 ; kid current HP ; KidStrength
01:FE2F: c9 02       CMP #$02
01:FE31: f0 0d       BEQ $fe40 ; allow
01:FE33: c9 01       CMP #$01
01:FE35: f0 09       BEQ $fe40 ; allow
01:FE37: c9 00       CMP #$00
01:FE39: f0 05       BEQ $fe40 ; allow
01:FE3B: 4c fe fd    JMP $fdfe ; disallow

01:FE3E: %D0%0D [unexplored]
; 0,1,2 HP of 7
01:FE40: 4c e7 fd    JMP $fde7 ; allow

01:FE43: 29 40       AND #$40
01:FE45: f0 33       BEQ $fe7a
01:FE47: 20 21 b3    JSR $b321 ; getunderft
01:FE4A: 80 03       BRA $fe4f

01:FE4C: +v%B3 [unexplored]
01:FE4F: eb          XBA
01:FE50: c9 03       CMP #$03
01:FE52: f0 04       BEQ $fe58
01:FE54: c9 03       CMP #$03
01:FE56: d0 0b       BNE $fe63
; object type 3 (unassigned)
01:FE58: ad 66 04    LDA $0466 ; Char.alive? ; CharLife
01:FE5B: 30 03       BMI $fe60
01:FE5D: 4c 08 d4    JMP $d408 ; press button dead ; jampp

01:FE60: 4c c3 d3    JMP $d3c3 ; press button alive ; PUSHPP

01:FE63: c9 02       CMP #$02
01:FE65: d0 13       BNE $fe7a
; object type 2 = loose floor
01:FE67: a9 01       LDA #$01
01:FE69: 8d 20 05    STA $0520 ; alertguard
01:FE6C: 4c 26 dd    JMP $dd26 ; press loose ; breakloose

01:FE6F: +v%B3%EB%C9%02%D0%03L%26%DD [unexplored]
01:FE7A: 60          RTS
User avatar
spartacus735
Wise Scribe
Wise Scribe
Posts: 217
Joined: November 20th, 2011, 12:41 pm
Location: France

Re: ROM hacks in The Quiet Levels

Post by spartacus735 »

Thank a lot ! It's exactly what I need for my mod ! Otherwise you right for the level 10 it was a open floor not a loose floor I made a mistake.

Thank again , all this work made by you is amazing. If someday you come to France it will be a pleasure to invite you at home hah :p

Edit : It is possible to have different floor from other level set like the door hack ? exemple have the floor of Ruins ( 16 17 18 ) for the level 19 ( red carpet ) ?
>>>>>>>>>>>>>>>>>>>> http://www.youtube.com/user/spartacus735 <<<<<<<<<<<<<<<<<<<< the channel of prince of persia snes mod
Post Reply