Сайт управляется системой uCoz
Prince of Persia

Скачать генератор
Скачать дешифровщик
Генератор и дешифровщик подходят как для американской, так и для европейской версий игры.

Код игры для генерации пароля

Примечания:

По адресу FF0D5C содержится 4-хбайтовое значение оставшегося времени. Записано оно не
в минутах и не в секундах, а в "тактах", 60 тактов равно одной секунде. То есть
максимальное значение может быть 216000 (00034BC0h), минимальное - 0.

По адресу FF0F48 записано 2-хбайтовое значение номера уровня, причём нумерация
начинается с нуля, то есть для 1-го уровня значение 0, для последнего - 13 (000Dh).

По адресу FF1EB0 записано 2-хбайтовое значение количества жизней (от 1 до 8).

Левые три символа пароля зависят только от времени, правые - от всех параметров.

Значение регистра A7 в начале исполнения кода равно 00FF4632.


Левые три символа:
000009A6 2039 00FF0D5C            MOVE.L    $00FF0D5C,D0
000009AC 80FC 0E10                DIVU.W    #$0000E10,D0
000009B0 5240                     ADDQ.W    #1,D0
000009B2 3F00                     MOVE.W    D0,-(A7)
000009B4 41F9 00FF1E9A            LEA       $00FF1E9A,A0
000009BA 4EB9 0001F916            JSR       $0001F916

Правые три символа
000009C0 3039 00FF0F48            MOVE.W    $00FF0F48,D0
000009C6 C0FC 000D                MULU.W    #$000D,D0
000009CA D079 00FF1EB0            ADD.W     $00FF1EB0,D0
000009D0 0280 0000FFFF            ANDI.L    #$0000FFFF,D0
000009D6 C0FC 232980FC            MULU.W    #$2329,D0
000009DA 80FC 44A8                DIVU.W    #$44A8,D0
000009DC 4840                     SWAP.W    D0
000009E0 0280 0000FFFF            ANDI.L    #$0000FFFF,D0
000009E6 D05F                     ADD.W     (A7)+,D0
000009E8 80FC 44A8                DIVU.W    #$44A8,D0
000009EC 4840                     SWAP.W    D0
000009EE 0280 0000FFFF            ANDI.L    #$0000FFFF,D0
000009F4 41F9 00FF1E9D            LEA       $00FF1E9D,A0
000009FA 4EB9 0001F916            JSR       $0001F916


0001F916 C1FC 2931                MULS.W    #$2931,D0
0001F91A 81FC 44A8                DIVS.W    #$44A8,D0
0001F91E 4840                     SWAP.W    D0
0001F920 323C 0003                MOVE.W    #$0003,D1
0001F924 0280 0000FFFF            ANDI.L    #$0000FFFF,D0
0001F92A 80FC 001A                DIVU.W    #$001A,D0
0001F92E 2400                     MOVE.L    D0,D2
0001F930 4842                     SWAP.W    D2
0001F932 0642 0041                ADDI.W    #$0041,D2
0001F936 10C2                     MOVE.B    D2,(A0)+
0001F938 5341                     SUBQ.W    #$1,D1
0001F93A 66E8                     BNE       $0001F924
0001F93C 4E75                     RTS


Код игры для дешифровки пароля

Примечания:

В адресах FF1E9A-FF1E9F записаны ASCII-коды символов введённого пароля. Например,
пароль MTUQNM будет записан как 4D5455514E4D.

Значение регистра A7 в начале исполнения кода равно 00FF462E.


0001F726 41F9 00FF1E9A            LEA       $00FF1E9A,A0          (пароль)
0001F72C 4EB9 0001F8EA            JSR       $0001F8EA

0001F732 0C40 0000                CMPI.W    #$0000,D0
0001F736 6D00 0082                BLT       $0001F7BA(pc)
0001F73A 0C40 003C                CMPI.W    #$003C,D0
0001F73E 6E00 007A                BGT       $0001F7BA(pc)
0001F742 3F00                     MOVE.W    D0,-(A7)
0001F744 C0FC 0E10                MULU.W    #$0E10,D0
0001F748 5380                     SUBQ.L    #$1,D0
0001F74A 23C0 00FF0D5C            MOVE.L    D0,$00FF0D5C
0001F750 41F9 00FF1E9D            LEA       $00FF1E9D,A0
0001F756 4EB9 0001F8EA            JSR       $0001F8EA

0001F75C 0280 0000FFFF            ANDI.L    #$0000FFFF,D0
0001F762 905F                     SUB.W     (A7)+,D0
0001F764 80FC 44A8                DIVU.W    #$44A8,D0
0001F768 4840                     SWAP.W    D0
0001F76A 0280 0000FFFF            ANDI.L    #$0000FFFF,D0
0001F770 C0FC 3FA9                MULU.W    #$3FA9,D0
0001F774 80FC 44A8                DIVU.W    #$44A8,D0
0001F778 4840                     SWAP.W    D0
0001F77A 0280 0000FFFF            ANDI.L    #$0000FFFF,D0
0001F780 80FC 000D                DIVU.W    #$000D,D0
0001F784 0C40 0000                CMPI.W    #$0000,D0
0001F788 6D00 0030                BLT       $0001F7BA
0001F78C 0C40 000C                CMPI.W    #$000C,D0
0001F790 6E00 0028                BGT       $0001F7BA(pc)
0001F794 33C0 00FF0F48            MOVE.W    D0,$00FF0F48
0001F79A 4840                     SWAP.W    D0
0001F79C 0C40 0000                CMPI.W    #$0000,D0
0001F7A0 6D00 0018                BLT       $0001F7BA(pc)
0001F7A4 0C40 0008                CMPI.W    #$0008,D0
0001F7A8 6E00 0010                BGT       $0001F7BA(pc)
0001F7AC 4A40                     TST.W     D0
0001F7AE 6700 000A                BEQ       $0001F7BA(pc)
0001F7B2 33C0 00FF1EB0            MOVE.W    D0,$00FF1EB0
0001F7B8 4E75                     RTS


0001F8EA D0FC 0003                ADDA.W    #$0003,A0
0001F8EE 323C 0003                MOVE.W    #$0003,D1
0001F8F2 7000                     MOVEQ     #$00,D0
0001F8F4 7400                     MOVEQ     #$00,D2
0001F8F6 C1FC 001A                MULS.W    #$001A,D0
0001F8FA 1420                     MOVE.B    -(A0),D2
0001F8FC 0442 0041                SUBI.W    #$0041,D2
0001F900 D042                     ADD.W     D2,D0
0001F902 5341                     SUBQ.W    #$1,D1
0001F904 66F0                     BNE       $0001F8F6
0001F906 C1FC 16E1                MULS.W    #$16E1,D0
0001F90A 81FC 44A8                DIVS.W    #$44A8,D0
0001F90E 303C 0000                MOVE.W    #$0000,D0
0001F912 4840                     SWAP.W    D0
0001F914 4E75                     RTS