トルネコの大冒険3 (GBA) > 確率


乱数

  • 32-bit 疑似乱数生成器を用いており、その状態は 0x0200090C に格納されています。
  • 状態 x は次の式で更新されます: x ← (x × 0x5d588b65 + 1) mod 2^{32}
    • 乱数 0〜(n-1) は ((x / 2^{16}) * n) / 2^16 によって生成されます。

ソース

+ ...
;
; 0〜998 の乱数取得
;
808DECC  00 B5          PUSH {LR}
808DECE  02 48          LDR R0, [PC, #$02] ; 999
808DED0  FF F7          BLL #$07FF
808DED2  AE FF          BLH #$07AE
808DED4  02 BC          POP {R1}
808DED6  08 47          BX R1
808DED8  E7 03 00 00
 
;
; 0〜(R0-1) の乱数取得
;
808DE30  10 B5          PUSH {R4,LR}
808DE32  04 1C          ADD R4, R0, #$00
808DE34  FF F7          BLL #$07FF        
808DE36  F0 FF          BLH #$07F0        ; 乱数 0〜65535 取得
 
808DE38  01 1C          ADD R1, R0, #$00
 
808DE3A  08 2C          CMP R4, #$08
808DE3C  06 D1          BNE $0808DE4C
808DE3E  02 48          LDR R0, [PC, #$02]
808DE40  08 40          AND R0, R1
808DE42  40 13          ASR R0, R0, #$0D
808DE44  21 E0          BAL $0808DE8A
808DE46  00 00          
808DE48  FF FF 00 00
 
808DE4C  04 2C          CMP R4, #$04
808DE4E  05 D1          BNE $0808DE5C
808DE50  01 48          LDR R0, [PC, #$01]
808DE52  08 40          AND R0, R1
808DE54  80 13          ASR R0, R0, #$0E
808DE56  18 E0          BAL $0808DE8A
808DE58  FF FF 00 00
 
808DE5C  02 2C          CMP R4, #$02
808DE5E  05 D1          BNE $0808DE6C
808DE60  01 48          LDR R0, [PC, #$01]
808DE62  08 40          AND R0, R1
808DE64  C0 13          ASR R0, R0, #$0F
808DE66  10 E0          BAL $0808DE8A
808DE68  FF FF 00 00
 
808DE6C  00 2C          CMP R4, #$00
808DE6E  0B D0          BEQ $0808DE88      ; 除数が 0
808DE70  04 48          LDR R0, [PC, #$04]
808DE72  08 40          AND R0, R1
808DE74  60 43          MUL R0, R4
808DE76  00 28          CMP R0, #$00
808DE78  01 DA          BGE $0808DE7E
808DE7A  02 49          LDR R1, [PC, #$02]
808DE7C  40 18          ADD R0, R0, R1
 
808DE7E  00 14          ASR R0, R0, #$10
808DE80  03 E0          BAL $0808DE8A
808DE82  00 00         
808DE84  FF FF 00 00
 
808DE88  00 20          MOV R0, #$00
808DE8A  10 BC          POP {R4}
808DE8C  02 BC          POP {R1}
808DE8E  08 47          BX R1
 
;
; 乱数更新
;
808DE18  03 4A          LDR R2, [PC, #$03]
808DE1A  11 68          LDR R1, [R2, #$00]
808DE1C  03 48          LDR R0, [PC, #$03] ; R0 <- 0x5d588b65
808DE1E  48 43          MUL R0, R1
808DE20  01 30          ADD R0, #$01
808DE22  10 60          STR R0, [R2, #$00] ; x <- (x * 0x5d588b65 + 1)
808DE24  00 0C          LSR R0, R0, #$10
808DE26  70 47          BX LR
 
808DE28  0C 09 00 02 
808DE2C  65 8B 58 5D
 

モンスターが仲間になる確率

  • モンスターは約 ( (ポポロの LV) + (武器補正値) + (モンスター補正値) ) / 999 の確率で仲間になります。

ソース

+ ...
8029068  00 24          MOV R4, #$00
802906A  00 2D          CMP R5, #$00
802906C  08 D0          BEQ $08029080
 
802906E  1A 4A          LDR R2, [PC, #$1A]
8029070  0E 20          MOV R0, #$0E
8029072  29 5E          LDSH R1, [R5, R0]
8029074  C8 00          LSL R0, R1, #$03
8029076  40 1A          SUB R0, R0, R1
8029078  80 00          LSL R0, R0, #$02
802907A  14 32          ADD R2, #$14
802907C  80 18          ADD R0, R0, R2
802907E  04 68          LDR R4, [R0, #$00] ; 武器補正値
 
8029080  16 48          LDR R0, [PC, #$16] ; 0x080EA0F4
8029082  08 22          MOV R2, #$08
8029084  B9 5E          LDSH R1, [R7, R2]
8029086  49 00          LSL R1, R1, #$01
8029088  09 18          ADD R1, R1, R0
802908A  00 22          MOV R2, #$00
802908C  88 5E          LDSH R0, [R1, R2]
802908E  24 18          ADD R4, R4, R0 ; モンスター補正値
 
8029090  13 4D          LDR R5, [PC, #$13] ; 0x080EA284
8029092  40 46          MOV R0, R8
8029094  00 21          MOV R1, #$00
8029096  11 F0          BLL #$0011
8029098  51 FF          BLH #$0751
802909A  63 21          MOV R1, #$63
802909C  81 42          CMP R1, R0
802909E  00 DD          BLE $080290A2
80290A0  01 1C          ADD R1, R0, #$00
80290A2  00 20          MOV R0, #$00 ; 
80290A4  8E 42          CMP R6, R1
80290A6  00 DA          BGE $080290AA
80290A8  08 1C          ADD R0, R1, #$00
80290AA  40 00          LSL R0, R0, #$01
80290AC  40 19          ADD R0, R0, R5
80290AE  00 21          MOV R1, #$00
80290B0  40 5E          LDSH R0, [R0, R1]
80290B2  24 18          ADD R4, R4, R0     ; LV 補正値
 
80290B4  0B 48          LDR R0, [PC, #$0B] ; 080A6BC0
80290B6  21 1C          ADD R1, R4, #$00
80290B8  66 F0          BLL #$0066
80290BA  F6 FF          BLH #$07F6
 
80290BC  0A 4D          LDR R5, [PC, #$0A]
80290BE  2E 60          STR R6, [R5, #$00]
80290C0  64 F0          BLL #$0064
80290C2  04 FF          BLH #$0704 [$808DECC] ; R0 <- 乱数 0〜998
 
80290C4  A0 42          CMP R0, R4
80290C6  C8 DA          BGE $0802905A
 
80290C8  2F 60          STR R7, [R5, #$00]
80290CA  01 20          MOV R0, #$01
80290CC  08 BC          POP {R3}
80290CE  98 46          MOV R8, R3
80290D0  F0 BC          POP {R4-R7}
80290D2  02 BC          POP {R1}
80290D4  08 47          BX R1
 
80290D6  00 00          LSL R0, R0, #$00
 
80290D8  F4 07 0E 08 F4 A0 0E 08
80290E0  84 A2 0E 08 C0 6B 0A 08
80290E8  E8 00 00 02
 
;
; モンスター補正
;
80EA0F4 
 
    00 00 64 00 32 00 01 00 01 00 64 00 64 00 0A 00
    0A 00 64 00 32 00 64 00 32 00 1E 00 14 00 64 00
    32 00 30 FF 32 00 1E 00 1E 00 FA 00 C8 00 01 00
    05 00 01 00 91 00 1E 00 1E 00 32 00 32 00 64 00
    64 00 14 00 14 00 64 00 32 00 94 FF 64 00 64 00
    64 00 64 00 1E 00 05 00 01 00 64 00 32 00 32 00
    28 00 14 00 0A 00 14 00 1E 00 50 00 46 00 3C 00
    32 00 14 00 32 00 28 00 1E 00 0A 00 0A 00 1E 00
    1E 00 01 00 01 00 64 00 96 00 01 00 14 00 4E FF
    4E FF 64 00 64 00 64 00 32 00 1E 00 01 00 64 00
    64 00 1E 00 64 00 46 00 28 00 64 00 32 00 64 00
    05 00 64 00 64 00 32 00 0A 00 0A 00 64 00 32 00
    64 00 64 00 64 00 64 00 64 00 28 00 64 00 32 00
    14 00 64 00 94 FF 64 00 30 FF 01 00 32 00 64 00
    64 00 32 00 64 00 64 00 64 00 14 00 14 00 1E 00
    0F 00 0F 00 32 00 32 00 32 00 32 00 38 FF 28 00
    28 00 94 FF 30 FF 01 00 64 00 46 00 46 00 58 FF
    58 FF 58 FF 46 00 46 00 3C 00 01 00 01 00 01 00
    28 00 28 00 64 00 64 00 64 00 64 00 0A 00 0A 00
    64 00 64 00 64 00 30 FF 01 00 01 00 64 00 64 00
    64 00 28 00 50 00 14 00 94 FF 30 FF 14 00 64 00
    64 00 64 00 64 00 64 00 64 00 01 00 46 00 46 00
    46 00 64 00 05 00 05 00 05 00 05 00 05 00 05 00
    05 00 05 00 00 00 00 00 CE FF 00 00 00 00 00 00
    00 00 00 00 58 FF 58 FF 64 00 32 00 00 00 00 00
 
;
; レベル補正
;
80EA284
 
    00 00 01 00 02 00 03 00 04 00 05 00 06 00 07 00
    08 00 09 00 0A 00 0B 00 0C 00 0D 00 0E 00 0F 00
    10 00 11 00 12 00 13 00 14 00 15 00 16 00 17 00
    18 00 19 00 1A 00 1B 00 1C 00 1D 00 1E 00 1F 00
    20 00 21 00 22 00 23 00 24 00 25 00 26 00 27 00
    28 00 29 00 2A 00 2B 00 2C 00 2D 00 2E 00 2F 00
    30 00 31 00 32 00 33 00 34 00 35 00 36 00 37 00
    38 00 39 00 3A 00 3B 00 3C 00 3D 00 3E 00 3F 00
    40 00 41 00 42 00 43 00 44 00 45 00 46 00 47 00
    48 00 49 00 4A 00 4B 00 4C 00 4D 00 4E 00 4F 00
    50 00 51 00 52 00 53 00 54 00 55 00 56 00 57 00
    58 00 59 00 5A 00 5B 00 5C 00 5D 00 5E 00 5F 00
    60 00 61 00 62 00 63 00
 

アイテム出現率

ソース

+ ...
800A726  19 48          LDR R0, [PC, #$19]
800A728  02 68          LDR R2, [R0, #$00]
800A72A  48 46          MOV R0, R9
800A72C  51 46          MOV R1, R10
800A72E  8A F0          BLL #$008A
800A730  35 FA          BLH #$0235
 
800A732  80 46          MOV R8, R0
800A734  01 68          LDR R1, [R0, #$00]
800A736  80 20          MOV R0, #$80
800A738  80 03          LSL R0, R0, #$0E
800A73A  01 40          AND R1, R0
800A73C  48 46          MOV R0, R9
800A73E  01 30          ADD R0, #$01
800A740  66 90          STR R0, [SP, #$CC]
800A742  00 29          CMP R1, #$00
800A744  00 D1          BNE $0800A748
800A746  0A E1          BAL $0800A95E
 
800A74A  83 F0          BLL #$0083
800A74C  BF FB          BLH #$03BF
800A74E  04 1C          ADD R4, R0, #$00    ; R4 ← 乱数 0〜998
 
800A750  41 46          MOV R1, R8
800A752  08 7A          LDRB R0, [R1, #$08]
800A754  FF 28          CMP R0, #$FF
800A756  00 D0          BEQ $0800A75A
800A758  01 E1          BAL $0800A95E
 
800A75A  09 68          LDR R1, [R1, #$00]
800A75C  01 20          MOV R0, #$01
800A75E  08 40          AND R0, R1
800A760  00 28          CMP R0, #$00
800A762  15 D1          BNE $0800A790
 
800A764  63 9B          LDR R3, [SP, #$C6] ; 発掘
800A766  64 9A          LDR R2, [SP, #$C8]
800A768  69 92          STR R2, [SP, #$D2]
800A76A  1D E0          BAL $0800A7A8
 
800A790  80 20          MOV R0, #$80
800A792  00 05          LSL R0, R0, #$14
800A794  08 40          AND R0, R1
800A796  00 28          CMP R0, #$00
800A798  03 D0          BEQ $0800A7A2
800A79A  61 9B          LDR R3, [SP, #$C2] ; 店
800A79C  62 9F          LDR R7, [SP, #$C4]
800A79E  69 97          STR R7, [SP, #$D2]
800A7A0  02 E0          BAL $0800A7A8
 
800A7A2  5F 9B          LDR R3, [SP, #$BE] ; 床落ち
800A7A4  60 98          LDR R0, [SP, #$C0]
800A7A6  69 90          STR R0, [SP, #$D2]
 
800A7A8  00 26          MOV R6, #$00
800A7AA  00 22          MOV R2, #$00
800A7AC  98 5E          LDSH R0, [R3, R2]  ; 累積値
800A7AE  4F 46          MOV R7, R9
800A7B0  01 37          ADD R7, #$01
800A7B2  66 97          STR R7, [SP, #$CC]
800A7B4  00 28          CMP R0, #$00
800A7B6  03 D0          BEQ $0800A7C0
 
800A7B8  00 22          MOV R2, #$00
800A7BA  98 5E          LDSH R0, [R3, R2]
800A7BC  A0 42          CMP R0, R4
800A7BE  0A DA          BGE $0800A7D6      ; 累積値 >= 乱数 の場合
 
800A7C0  01 36          ADD R6, #$01
800A7C2  0D 2E          CMP R6, #$0D
800A7C4  07 DC          BGT $0800A7D6
 
800A7C6  70 00          LSL R0, R6, #$01
800A7C8  C2 18          ADD R2, R0, R3
800A7CA  00 27          MOV R7, #$00
800A7CC  D0 5F          LDSH R0, [R2, R7]  ; 累積値
800A7CE  00 28          CMP R0, #$00
800A7D0  F6 D0          BEQ $0800A7C0
 
800A7D2  A0 42          CMP R0, R4
800A7D4  F4 DB          BLT $0800A7C0      ; 累積値 < 乱数の場合 ループ
 
800A7D6  0E 2E          CMP R6, #$0E
800A7D8  00 D1          BNE $0800A7DC
800A7DA  01 25          MOV R5, #$01
 
800A7DC  33 1C          ADD R3, R6, #$00
800A7DE  0C 2B          CMP R3, #$0C     ; 0x0c: 石像
800A7E0  0B D1          BNE $0800A7FA    ; 石像ではない
 
800A7E2  40 20          MOV R0, #$40
800A7E4  08 40          AND R0, R1
800A7E6  00 28          CMP R0, #$00
800A7E8  00 D0          BEQ $0800A7EC
800A7EA  01 25          MOV R5, #$01
 
800A7EC  22 49          LDR R1, [PC, #$22] ; 0x2005f2c
800A7EE  42 46          MOV R2, R8
800A7F0  90 7A          LDRB R0, [R2, #$0A]
800A7F2  09 78          LDRB R1, [R1, #$00]
800A7F4  88 42          CMP R0, R1
800A7F6  00 D1          BNE $0800A7FA
800A7F8  01 25          MOV R5, #$01
 
800A7FA  00 2D          CMP R5, #$00
800A7FC  2D D1          BNE $0800A85A
 
800A7FE  68 93          STR R3, [SP, #$D0]
800A800  83 F0          BLL #$0083
800A802  64 FB          BLH #$0364
800A804  04 1C          ADD R4, R0, #$00    ; R4 ← 乱数 0〜998
800A806  00 25          MOV R5, #$00
800A808  69 9F          LDR R7, [SP, #$D2]
 
800A80A  00 21          MOV R1, #$00
800A80C  78 5E          LDSH R0, [R7, R1]   ; 累積値
800A80E  68 9B          LDR R3, [SP, #$D0]
800A810  00 28          CMP R0, #$00
800A812  07 D0          BEQ $0800A824
 
800A814  19 48          LDR R0, [PC, #$19]
800A816  00 78          LDRB R0, [R0, #$00]
800A818  B0 42          CMP R0, R6
800A81A  03 D1          BNE $0800A824       ; 種類が異なる
 
800A81C  00 22          MOV R2, #$00
800A81E  B8 5E          LDSH R0, [R7, R2]
800A820  A0 42          CMP R0, R4
800A822  16 DA          BGE $0800A852       ; 累積値 >= 乱数
 
800A824  01 35          ADD R5, #$01
800A826  16 48          LDR R0, [PC, #$16]
800A828  85 42          CMP R5, R0
800A82A  12 DC          BGT $0800A852
 
800A82C  68 00          LSL R0, R5, #$01
800A82E  69 9F          LDR R7, [SP, #$D2]
800A830  C2 19          ADD R2, R0, R7
800A832  00 21          MOV R1, #$00
800A834  50 5E          LDSH R0, [R2, R1]   ; 累積値
800A836  00 28          CMP R0, #$00
800A838  F4 D0          BEQ $0800A824
 
800A83A  10 48          LDR R0, [PC, #$10]
800A83C  E9 00          LSL R1, R5, #$03
800A83E  49 1B          SUB R1, R1, R5
800A840  89 00          LSL R1, R1, #$02
800A842  09 18          ADD R1, R1, R0
800A844  08 78          LDRB R0, [R1, #$00]
800A846  B0 42          CMP R0, R6
800A848  EC D1          BNE $0800A824       ; 種類が異なる
 
800A84A  00 27          MOV R7, #$00
800A84C  D0 5F          LDSH R0, [R2, R7]
800A84E  A0 42          CMP R0, R4
800A850  E8 DB          BLT $0800A824       ; 累積値 < 乱数
 
800A852  B9 20          MOV R0, #$B9
800A854  40 00          LSL R0, R0, #$01
800A856  85 42          CMP R5, R0
800A858  14 D1          BNE $0800A884       ; ID が 0x0172(範囲外)でない
;
800A85A  65 98          LDR R0, [SP, #$CA]
800A85C  91 21          MOV R1, #$91
800A85E  49 00          LSL R1, R1, #$01    ; 0x122: 雑草
800A860  01 22          MOV R2, #$01
800A862  73 F0          BLL #$0073
800A864  15 FC          BLH #$0415
800A866  00 20          MOV R0, #$00
800A868  00 90          STR R0, [SP, #$00]
800A86A  65 98          LDR R0, [SP, #$CA]
800A86C  49 46          MOV R1, R9
800A86E  52 46          MOV R2, R10
800A870  00 23          MOV R3, #$00
800A872  09 F0          BLL #$0009
800A874  7B F8          BLH #$007B
800A876  72 E0          BAL $0800A95E
 
800A878  2C 5F 00 02 F4 07 0E 08
800A880  71 01 00 00
 
800A884  2C 1C          ADD R4, R5, #$00
800A886  68 93          STR R3, [SP, #$D0]
800A888  F7 F7          BLL #$07F7
800A88A  68 FA          BLH #$0268
800A88C  00 06          LSL R0, R0, #$18
800A88E  68 9B          LDR R3, [SP, #$D0] ; 種類
800A890  00 28          CMP R0, #$00
800A892  09 D0          BEQ $0800A8A8
 
800A894  8A 20          MOV R0, #$8A
800A896  40 00          LSL R0, R0, #$01   ; 0x114: 世界樹の葉
800A898  85 42          CMP R5, R0
800A89A  01 D1          BNE $0800A8A0
800A89C  91 25          MOV R5, #$91
800A89E  6D 00          LSL R5, R5, #$01   ; 0x122: 雑草
 
800A8A0  C2 2D          CMP R5, #$C2       ; 0x0c2: リレミトの巻物
800A8A2  01 D1          BNE $0800A8A8
800A8A4  0F 4D          LDR R5, [PC, #$0F] ; 0x155: ゴールド
800A8A6  0D 23          MOV R3, #$0D
 
800A8A8  0F 48          LDR R0, [PC, #$0F] ; 0x14d: ビッグモアイの石像
800A8AA  85 42          CMP R5, R0
800A8AC  05 D0          BEQ $0800A8BA
 
800A8AE  04 38          SUB R0, #$04       ; 0x149: ルーラの石像
800A8B0  85 42          CMP R5, R0
800A8B2  02 D0          BEQ $0800A8BA
 
800A8B4  05 30          ADD R0, #$05       ; 0x14e: 場所替えの石像
800A8B6  85 42          CMP R5, R0
800A8B8  0C D1          BNE $0800A8D4
 
800A8BA  41 46          MOV R1, R8
800A8BC  88 7A          LDRB R0, [R1, #$0A]
800A8BE  27 28          CMP R0, #$27
800A8C0  08 D8          BHI $0800A8D4
 
800A8C2  80 00          LSL R0, R0, #$02
800A8C4  68 44          ADD R0, SP
800A8C6  04 30          ADD R0, #$04
800A8C8  00 68          LDR R0, [R0, #$00]
800A8CA  63 28          CMP R0, #$63
800A8CC  02 DD          BLE $0800A8D4
 
800A8CE  91 25          MOV R5, #$91
800A8D0  6D 00          LSL R5, R5, #$01   ; 0x122: 雑草
800A8D2  0A 23          MOV R3, #$0A
 
800A8D4  0C 2B          CMP R3, #$0C
800A8D6  09 D1          BNE $0800A8EC
800A8D8  48 46          MOV R0, R9
800A8DA  51 46          MOV R1, R10
800A8DC  22 1C          ADD R2, R4, #$00
800A8DE  3D F0          BLL #$003D
800A8E0  89 F8          BLH #$0089
800A8E2  3C E0          BAL $0800A95E
800A8E4  55 01 00 00 
800A8E8  4D 01 00 00
 
800A8EC  29 AC          ADD R4, SP, #$A4
800A8EE  20 1C          ADD R0, R4, #$00
800A8F0  29 1C          ADD R1, R5, #$00
800A8F2  01 22          MOV R2, #$01
800A8F4  73 F0          BLL #$0073
800A8F6  CC FB          BLH #$03CC
 
800A8F8  22 48          LDR R0, [PC, #$22]
800A8FA  85 42          CMP R5, R0
800A8FC  01 D1          BNE $0800A902
 
800A8FE  26 20          MOV R0, #$26
800A900  20 82          STRH R0, [R4, #$10]
800A902  42 46          MOV R2, R8
800A904  10 68          LDR R0, [R2, #$00]
800A906  80 21          MOV R1, #$80
800A908  09 05          LSL R1, R1, #$14
800A90A  08 40          AND R0, R1
800A90C  00 28          CMP R0, #$00
800A90E  0B D0          BEQ $0800A928
 
800A910  20 1C          ADD R0, R4, #$00
800A912  00 21          MOV R1, #$00
800A914  01 22          MOV R2, #$01
800A916  73 F0          BLL #$0073
800A918  E3 FE          BLH #$06E3
800A91A  00 28          CMP R0, #$00
800A91C  04 D0          BEQ $0800A928
 
800A91E  20 68          LDR R0, [R4, #$00]
800A920  80 21          MOV R1, #$80
800A922  C9 05          LSL R1, R1, #$17
800A924  08 43          ORR R0, R1
800A926  20 60          STR R0, [R4, #$00]
800A928  47 46          MOV R7, R8
800A92A  38 68          LDR R0, [R7, #$00]
 
800A92E  08 40          AND R0, R1
800A930  00 28          CMP R0, #$00
800A932  0C D0          BEQ $0800A94E
 
800A934  14 48          LDR R0, [PC, #$14]
800A936  00 68          LDR R0, [R0, #$00]
800A938  14 49          LDR R1, [PC, #$14]
800A93A  40 18          ADD R0, R0, R1
800A93C  00 22          MOV R2, #$00
800A93E  80 5E          LDSH R0, [R0, R2]
800A940  00 28          CMP R0, #$00
800A942  04 D1          BNE $0800A94E
800A944  20 68          LDR R0, [R4, #$00]
800A946  80 21          MOV R1, #$80
800A948  C9 02          LSL R1, R1, #$0B
800A94A  08 43          ORR R0, R1
800A94C  20 60          STR R0, [R4, #$00]
 
800A94E  00 20          MOV R0, #$00
800A950  00 90          STR R0, [SP, #$00]
800A952  20 1C          ADD R0, R4, #$00
800A954  49 46          MOV R1, R9
800A956  52 46          MOV R2, R10
800A958  00 23          MOV R3, #$00
800A95A  09 F0          BLL #$0009
800A95C  07 F8          BLH #$0007
 
800A95E  66 9F          LDR R7, [SP, #$CC]
800A960  B9 46          MOV R9, R7
800A962  48 46          MOV R0, R9
800A964  37 28          CMP R0, #$37
800A966  00 DC          BGT $0800A96A
800A968  DD E6          BAL $0800A726
 
;
; へんげの壺
;
80815F4  2C 68          LDR R4, [R5, #$00]
80815F6  A4 0C          LSR R4, R4, #$12
80815F8  01 20          MOV R0, #$01
80815FA  04 40          AND R4, R0
80815FC  02 20          MOV R0, #$02       ; offset 2
80815FE  88 F7          BLL #$0788
8081600  6B FE          BLH #$066B
 
;
; モノカの杖
;
800CE50  03 20          MOV R0, #$03       ; offset 3
800CE52  21 1C          ADD R1, R4, #$00
800CE54  00 22          MOV R2, #$00
800CE56  FD F7          BLL #$07FD
800CE58  25 FB          BLH #$0325
800CE5A  00 04          LSL R0, R0, #$10
800CE5C  01 14          ASR R1, R0, #$10
800CE5E  09 48          LDR R0, [PC, #$09] ; 0x015d: お墓
800CE60  81 42          CMP R1, R0
800CE62  01 D1          BNE $0800CE68
800CE64  91 21          MOV R1, #$91
800CE66  49 00          LSL R1, R1, #$01   ; 0x0122: 雑草
 

モンスター出現率

ソース

+ ...
80326C0  F0 B5          PUSH {R4-R7,LR}
80326C2  47 46          MOV R7, R8
80326C4  80 B4          PUSH {R7}
80326C6  00 06          LSL R0, R0, #$18
80326C8  05 0E          LSR R5, R0, #$18
80326CA  09 06          LSL R1, R1, #$18
80326CC  09 0E          LSR R1, R1, #$18
80326CE  88 46          MOV R8, R1
80326D0  12 06          LSL R2, R2, #$18
80326D2  17 0E          LSR R7, R2, #$18
80326D4  00 26          MOV R6, #$00
80326D6  5B F0          BLL #$005B
80326D8  F9 FB          BLH #$03F9
 
80326DA  04 1C          ADD R4, R0, #$00   ; R4 ← 乱数 0〜998
80326DC  08 48          LDR R0, [PC, #$08]
80326DE  00 68          LDR R0, [R0, #$00]
80326E0  08 4A          LDR R2, [PC, #$08] ; 0x8186e34
80326E2  00 28          CMP R0, #$00
80326E4  00 D1          BNE $080326E8
80326E6  08 4A          LDR R2, [PC, #$08] ; 0x8148e3c
 
80326E8  08 48          LDR R0, [PC, #$08]
80326EA  01 78          LDRB R1, [R0, #$00]
80326EC  89 00          LSL R1, R1, #$02
80326EE  89 18          ADD R1, R1, R2
 
80326F0  07 48          LDR R0, [PC, #$07]
80326F2  00 78          LDRB R0, [R0, #$00]
80326F4  09 68          LDR R1, [R1, #$00]
80326F6  80 00          LSL R0, R0, #$02
80326F8  40 18          ADD R0, R0, R1
80326FA  02 68          LDR R2, [R0, #$00]
80326FC  0B E0          BAL $08032716
80326FE  00 00       
8032700  8C 4F 00 02 34 6E 18 08
8032708  3C 8E 14 08 F0 4F 00 02
8032710  F1 4F 00 02
 
8032714  04 32          ADD R2, #$04
8032716  11 68          LDR R1, [R2, #$00]
8032718  88 05          LSL R0, R1, #$16
803271A  83 0D          LSR R3, R0, #$16   ; モンスター ID: bit 0-9
803271C  00 2B          CMP R3, #$00
803271E  01 D1          BNE $08032724
 
8032720  41 24          MOV R4, #$41       ; 0x41: ミミック
8032722  06 E0          BAL $08032732
 
8032724  08 03          LSL R0, R1, #$0C
8032726  80 0D          LSR R0, R0, #$16   ; 累積値: bit 10-19
8032728  00 28          CMP R0, #$00
803272A  F3 D0          BEQ $08032714
803272C  84 42          CMP R4, R0
803272E  F1 DC          BGT $08032714      ; 乱数 > 累積値 の場合ループ
 
8032730  1C 1C          ADD R4, R3, #$00
8032732  00 2F          CMP R7, #$00
...
 

モンスターデータ

ソース

;
; アイテムドロップ率
;
80311E6  9C 7A          LDRB R4, [R3, #$0A]
80311E8  5C F0          BLL #$005C
80311EA  6A FE          BLH #$066A          ; R0 ← 乱数 0〜98
80311EC  84 42          CMP R4, R0
80311EE  07 DD          BLE $08031200       ; 設定値 <= R0 の場合、落とさない
 
;
; 初期睡眠率
;
8031164  5C F0          BLL #$005C
8031166  AC FE          BLH #$06AC          ; R0 ← 乱数 0〜98
8031168  02 9B          LDR R3, [SP, #$04]
803116A  12 22          MOV R2, #$12
803116C  99 5E          LDSH R1, [R3, R2]
803116E  88 42          CMP R0, R1
8031170  0C DA          BGE $0803118C
 
8031172  05 48          LDR R0, [PC, #$05]  ; R0 < 設定値 の場合
8031174  38 80          STRH R0, [R7, #$00]
8031176  0B E0          BAL $08031190
 

ダンジョン設定値

ソース

+ ...
;
; 店
;
804CAE2  38 49          LDR R1, [PC, #$38]
804CAE4  43 46          MOV R3, R8
804CAE6  18 79          LDRB R0, [R3, #$04]
804CAE8  08 80          STRH R0, [R1, #$00]
 
805081A  3D F0          BLL #$003D
805081C  51 FB          BLH #$0351 ; R0 ← 0〜98
805081E  84 42          CMP R4, R0
8050820  00 DC          BGT $08050824
8050822  6D E1          BAL $08050B00
 
;
; モンハウ
;
804CAEA  37 49          LDR R1, [PC, #$37]
804CAEC  58 79          LDRB R0, [R3, #$05]
804CAEE  08 80          STRH R0, [R1, #$00]
 
8050B30  3D F0          BLL #$003D
8050B32  C6 F9          BLH #$01C6 ; R0 ← 0〜98
8050B34  84 42          CMP R4, R0
8050B36  00 DC          BGT $08050B3A
8050B38  CB E0          BAL $08050CD2
 
;
; アイテム
;
8052016  A1 7B          LDRB R1, [R4, #$0E]
8052018  00 29          CMP R1, #$00
805201A  00 D1          BNE $0805201E
805201C  8D E0          BAL $0805213A
805201E  88 1E          SUB R0, R1, #$02
8052020  02 31          ADD R1, #$02
8052022  35 4E          LDR R6, [PC, #$35]
8052024  6E 44          ADD R6, SP
8052026  33 60          STR R3, [R6, #$00]
8052028  3B F0          BLL #$003B
805202A  32 FF          BLH #$0732
 
;
; 壁中のアイテム
;
805218A  26 26          MOV R6, #$26
805218C  A1 5F          LDSH R1, [R4, R6]
805218E  00 29          CMP R1, #$00
8052190  5D D0          BEQ $0805224E
8052192  88 1E          SUB R0, R1, #$02
8052194  02 31          ADD R1, #$02
8052196  32 4F          LDR R7, [PC, #$32]
8052198  6F 44          ADD R7, SP
805219A  3B 60          STR R3, [R7, #$00]
805219C  3B F0          BLL #$003B
805219E  78 FE          BLH #$0678
80521A0  01 1C          ADD R1, R0, #$00
 
;
; 呪い
;
807E604  04 7A          LDRB R4, [R0, #$08]
807E606  0F F0          BLL #$000F
807E608  5B FC          BLH #$045B ; R0 ← 0〜98
807E60A  A0 42          CMP R0, R4
807E60C  1E DA          BGE $0807E64C
 
;
; 祝福
;
807E676  14 21          MOV R1, #$14
807E678  44 5E          LDSH R4, [R0, R1]
807E67A  0F F0          BLL #$000F
807E67C  21 FC          BLH #$0421 ; R0 ← 0〜98
807E67E  A0 42          CMP R0, R4
807E680  04 DA          BGE $0807E68C
 
;
; ひとくい箱
;
800A6BA  56 30          ADD R0, #$56
800A6BC  00 78          LDRB R0, [R0, #$00]
800A6BE  08 80          STRH R0, [R1, #$00]
 
807E4B8  0F F0          BLL #$000F
807E4BA  02 FD          BLH #$0502 ; R0 ← 0〜98
807E4BC  14 49          LDR R1, [PC, #$14]
807E4BE  00 22          MOV R2, #$00
807E4C0  89 5E          LDSH R1, [R1, R2]
807E4C2  88 42          CMP R0, R1
807E4C4  11 DA          BGE $0807E4EA
 
;
; ゴールド
;
807E414  16 21          MOV R1, #$16
807E416  40 5E          LDSH R0, [R0, R1]
807E418  C4 0F          LSR R4, R0, #$1F
807E41A  04 19          ADD R4, R0, R4
807E41C  64 10          ASR R4, R4, #$01
807E41E  20 1C          ADD R0, R4, #$00
807E420  0F F0          BLL #$000F
807E422  06 FD          BLH #$0506
807E424  00 19          ADD R0, R0, R4
 
;
; ワナ
;
805248C  E1 7B          LDRB R1, [R4, #$0F]
805248E  48 08          LSR R0, R1, #$01
8052490  5F 4E          LDR R6, [PC, #$5F]
8052492  6E 44          ADD R6, SP
8052494  33 60          STR R3, [R6, #$00]
8052496  3B F0          BLL #$003B
8052498  FB FC          BLH #$04FB
 
;
; トゲトゲ床
;
804CE2C  10 22          MOV R2, #$10
804CE2E  99 5E          LDSH R1, [R3, R2]
804CE30  05 F0          BLL #$0005
804CE32  EC FD          BLH #$05EC
 
8052A1A  0C 1C          ADD R4, R1, #$00
8052A1C  E0 0F          LSR R0, R4, #$1F
8052A1E  20 18          ADD R0, R4, R0
8052A20  40 10          ASR R0, R0, #$01
8052A22  3B F0          BLL #$003B
8052A24  35 FA          BLH #$0235
 
;
; 水晶
;
804CE36  12 20          MOV R0, #$12
804CE38  19 5E          LDSH R1, [R3, R0]
804CE3A  10 20          MOV R0, #$10
804CE3C  05 F0          BLL #$0005
804CE3E  E6 FD          BLH #$05E6
 

テーマ別モンハウ

ソース

+ ...
;
; テーマ別モンハウ選択処理
;
8034A70  F0 B5          PUSH {R4-R7,LR}
8034A72  57 46          MOV R7, R10
8034A74  4E 46          MOV R6, R9
8034A76  45 46          MOV R5, R8
8034A78  E0 B4          PUSH {R5-R7}
8034A7A  82 B0          ADD SP, #-$0008
8034A7C  00 90          STR R0, [SP, #$00]
8034A7E  01 91          STR R1, [SP, #$02]
8034A80  15 1C          ADD R5, R2, #$00
8034A82  01 21          MOV R1, #$01
8034A84  49 42          NEG R1, R1
8034A86  08 1C          ADD R0, R1, #$00
8034A88  00 9A          LDR R2, [SP, #$00]
8034A8A  10 80          STRH R0, [R2, #$00] ; -1: 通常ハウス
 
8034A8C  00 24          MOV R4, #$00
8034A8E  01 98          LDR R0, [SP, #$02] ; パターン(またはランク)を 0 に設定
8034A90  04 80          STRH R4, [R0, #$00]
8034A92  00 2D          CMP R5, #$00
8034A94  05 D0          BEQ $08034AA2 ; (文字列処理をスキップ)
 
8034A96  1A 49          LDR R1, [PC, #$1A]
8034A98  28 1C          ADD R0, R5, #$00
8034A9A  1E 22          MOV R2, #$1E
8034A9C  61 F0          BLL #$0061
8034A9E  84 FF          BLH #$0784
8034AA0  6C 77          STRB R4, [R5, #$1D]
 
8034AA2  59 F0          BLL #$0059
8034AA4  0D FA          BLH #$020D          
8034AA6  04 1C          ADD R4, R0, #$00     ; R4 ← 乱数 0〜98
8034AA8  16 49          LDR R1, [PC, #$16]
8034AAA  8A 46          MOV R10, R1
8034AAC  16 4A          LDR R2, [PC, #$16]
8034AAE  91 46          MOV R9, R2
8034AB0  10 68          LDR R0, [R2, #$00]
8034AB2  80 00          LSL R0, R0, #$02
8034AB4  50 44          ADD R0, R10
8034AB6  15 49          LDR R1, [PC, #$15]
8034AB8  88 46          MOV R8, R1
8034ABA  09 78          LDRB R1, [R1, #$00]
8034ABC  00 68          LDR R0, [R0, #$00]
8034ABE  89 00          LSL R1, R1, #$02
8034AC0  09 18          ADD R1, R1, R0
8034AC2  13 4F          LDR R7, [PC, #$13]
8034AC4  38 78          LDRB R0, [R7, #$00]
8034AC6  09 68          LDR R1, [R1, #$00]
8034AC8  54 26          MOV R6, #$54
8034ACA  70 43          MUL R0, R6
8034ACC  40 18          ADD R0, R0, R1
8034ACE  00 22          MOV R2, #$00
8034AD0  80 5E          LDSH R0, [R0, R2] ; テーマ別モンハウ境界値
8034AD2  A0 42          CMP R0, R4
8034AD4  63 DB          BLT $08034B9E     ; - 境界値 < 乱数 の場合、通常ハウス
                                          ; - 乱数 ≦ 境界値の場合、テーマ別モンハウ
;
8034AD6  59 F0          BLL #$0059
8034AD8  F9 F9          BLH #$01F9        
8034ADA  04 1C          ADD R4, R0, #$00  ; R4 ← 乱数 0〜998
8034ADC  00 23          MOV R3, #$00
8034ADE  49 46          MOV R1, R9
8034AE0  08 68          LDR R0, [R1, #$00]
8034AE2  80 00          LSL R0, R0, #$02
8034AE4  50 44          ADD R0, R10
8034AE6  42 46          MOV R2, R8
8034AE8  11 78          LDRB R1, [R2, #$00]
8034AEA  00 68          LDR R0, [R0, #$00]
8034AEC  89 00          LSL R1, R1, #$02
8034AEE  09 18          ADD R1, R1, R0
8034AF0  38 78          LDRB R0, [R7, #$00]
8034AF2  09 68          LDR R1, [R1, #$00]
8034AF4  70 43          MUL R0, R6
8034AF6  40 18          ADD R0, R0, R1
8034AF8  04 21          MOV R1, #$04
8034AFA  40 5E          LDSH R0, [R0, R1]
8034AFC  21 E0          BAL $08034B42
8034AFE  00 00          
8034B00  78 90 0D 08 68 90 0D 08
8034B08  8C 4F 00 02 F0 4F 00 02
8034B10  F1 4F 00 02
 
8034B14  01 33          ADD R3, #$01
8034B16  13 2B          CMP R3, #$13
8034B18  17 DC          BGT $08034B4A
 
8034B1A  25 4A          LDR R2, [PC, #$25]
8034B1C  25 48          LDR R0, [PC, #$25]
8034B1E  01 68          LDR R1, [R0, #$00]
8034B20  89 00          LSL R1, R1, #$02
8034B22  89 18          ADD R1, R1, R2
8034B24  24 48          LDR R0, [PC, #$24]
8034B26  02 78          LDRB R2, [R0, #$00]
8034B28  08 68          LDR R0, [R1, #$00]
8034B2A  92 00          LSL R2, R2, #$02
8034B2C  12 18          ADD R2, R2, R0
8034B2E  23 48          LDR R0, [PC, #$23]
8034B30  01 78          LDRB R1, [R0, #$00]
8034B32  12 68          LDR R2, [R2, #$00]
8034B34  54 20          MOV R0, #$54
8034B36  48 43          MUL R0, R1
8034B38  80 18          ADD R0, R0, R2
8034B3A  99 00          LSL R1, R3, #$02
8034B3C  40 18          ADD R0, R0, R1
8034B3E  04 22          MOV R2, #$04
8034B40  80 5E          LDSH R0, [R0, R2] ; 境界値
;
8034B42  00 28          CMP R0, #$00
8034B44  E6 D0          BEQ $08034B14     ; 境界値が 0 の場合スキップ
8034B46  84 42          CMP R4, R0
8034B48  E4 DA          BGE $08034B14     ; 乱数値 >= 境界値 の場合スキップ
 
8034B4A  14 2B          CMP R3, #$14
8034B4C  27 D0          BEQ $08034B9E     ; (テーマ別モンハウの登録がない場合、通常ハウス)
 
8034B4E  00 98          LDR R0, [SP, #$00]
8034B50  03 80          STRH R3, [R0, #$00]
8034B52  17 49          LDR R1, [PC, #$17]
8034B54  17 4C          LDR R4, [PC, #$17]
8034B56  20 68          LDR R0, [R4, #$00]
8034B58  80 00          LSL R0, R0, #$02
8034B5A  40 18          ADD R0, R0, R1
8034B5C  16 49          LDR R1, [PC, #$16]
8034B5E  09 78          LDRB R1, [R1, #$00]
8034B60  00 68          LDR R0, [R0, #$00]
8034B62  89 00          LSL R1, R1, #$02
8034B64  09 18          ADD R1, R1, R0
8034B66  15 48          LDR R0, [PC, #$15]
8034B68  02 78          LDRB R2, [R0, #$00]
8034B6A  09 68          LDR R1, [R1, #$00]
8034B6C  54 20          MOV R0, #$54
8034B6E  50 43          MUL R0, R2
8034B70  40 18          ADD R0, R0, R1
8034B72  99 00          LSL R1, R3, #$02
8034B74  40 18          ADD R0, R0, R1
8034B76  C0 88          LDRH R0, [R0, #$06]
8034B78  01 99          LDR R1, [SP, #$02]
8034B7A  08 80          STRH R0, [R1, #$00]
8034B7C  00 2D          CMP R5, #$00
8034B7E  0E D0          BEQ $08034B9E ; (文字列処理をスキップ)
;
8034B80  0F 49          LDR R1, [PC, #$0F]
8034B82  20 68          LDR R0, [R4, #$00] 
8034B84  80 00          LSL R0, R0, #$02
8034B86  40 18          ADD R0, R0, R1
8034B88  01 68          LDR R1, [R0, #$00] 
8034B8A  2C 20          MOV R0, #$2C
8034B8C  58 43          MUL R0, R3
8034B8E  40 18          ADD R0, R0, R1
8034B90  01 68          LDR R1, [R0, #$00]
8034B92  28 1C          ADD R0, R5, #$00
8034B94  1E 22          MOV R2, #$1E
8034B96  61 F0          BLL #$0061
8034B98  07 FF          BLH #$0707
8034B9A  00 20          MOV R0, #$00
8034B9C  68 77          STRB R0, [R5, #$1D]
;
8034B9E  02 B0          ADD SP, #$0008
8034BA0  38 BC          POP {R3-R5}
8034BA2  98 46          MOV R8, R3
8034BA4  A1 46          MOV R9, R4
8034BA6  AA 46          MOV R10, R5
8034BA8  F0 BC          POP {R4-R7}
8034BAA  01 BC          POP {R0}
8034BAC  00 47          BX R0
8034BAE  00 00         
 
8034BB0  68 90 0D 08 8C 4F 00 02
8034BB8  F0 4F 00 02 F1 4F 00 02
8034BC0  70 90 0D 08
 
;
; モンスター決定処理
;
8034BC4  30 B5          PUSH {R4-R5,LR}
8034BC6  05 1C          ADD R5, R0, #$00
8034BC8  09 04          LSL R1, R1, #$10
8034BCA  12 04          LSL R2, R2, #$10
8034BCC  12 0C          LSR R2, R2, #$10
8034BCE  0B 0C          LSR R3, R1, #$10
8034BD0  00 29          CMP R1, #$00
8034BD2  04 DA          BGE $08034BDE      ; テーマ別モンハウの場合
;
8034BD4  18 48          LDR R0, [PC, #$18]
8034BD6  00 68          LDR R0, [R0, #$00]
8034BD8  18 49          LDR R1, [PC, #$18]
8034BDA  40 18          ADD R0, R0, R1
8034BDC  03 88          LDRH R3, [R0, #$00] ; $0202D2B0: その階層のモンハウのテーマ
;
8034BDE  10 04          LSL R0, R2, #$10
8034BE0  00 28          CMP R0, #$00
8034BE2  04 DA          BGE $08034BEE      ; テーマ別モンハウのパターンが既に決まっている場合
8034BE4  14 48          LDR R0, [PC, #$14]
8034BE6  00 68          LDR R0, [R0, #$00]
8034BE8  15 4A          LDR R2, [PC, #$15]
8034BEA  80 18          ADD R0, R0, R2
8034BEC  02 88          LDRH R2, [R0, #$00] ; $0202D2B2: その階層のテーマ別モンハウのパターン(#)
;
8034BEE  18 04          LSL R0, R3, #$10
8034BF0  03 14          ASR R3, R0, #$10
8034BF2  00 2B          CMP R3, #$00
8034BF4  14 DB          BLT $08034C20      ; 通常ハウスの場合
 
8034BF6  13 49          LDR R1, [PC, #$13]
8034BF8  13 48          LDR R0, [PC, #$13]
8034BFA  00 68          LDR R0, [R0, #$00]
8034BFC  80 00          LSL R0, R0, #$02
8034BFE  40 18          ADD R0, R0, R1
8034C00  01 68          LDR R1, [R0, #$00]
8034C02  2C 20          MOV R0, #$2C
8034C04  58 43          MUL R0, R3
8034C06  40 18          ADD R0, R0, R1
8034C08  11 04          LSL R1, R2, #$10
8034C0A  89 13          ASR R1, R1, #$0E
8034C0C  04 30          ADD R0, #$04
8034C0E  40 18          ADD R0, R0, R1
8034C10  04 68          LDR R4, [R0, #$00]
8034C12  59 F0          BLL #$0059
8034C14  5B F9          BLH #$015B  
8034C16  01 1C          ADD R1, R0, #$00   ; R1 ← 乱数 0〜998
;
8034C18  00 22          MOV R2, #$00
8034C1A  A0 5E          LDSH R0, [R4, R2]  ; モンスター ID
8034C1C  00 28          CMP R0, #$00
8034C1E  15 D1          BNE $08034C4C
;
8034C20  00 20          MOV R0, #$00       ; 通常ハウス処理
8034C22  00 21          MOV R1, #$00
8034C24  00 22          MOV R2, #$00
8034C26  FD F7          BLL #$07FD
8034C28  4B FD          BLH #$054B
8034C2A  04 1C          ADD R4, R0, #$00
8034C2C  FC F7          BLL #$07FC
8034C2E  24 FC          BLH #$0424
8034C30  28 60          STR R0, [R5, #$00]
8034C32  20 1C          ADD R0, R4, #$00
8034C34  15 E0          BAL $08034C62
8034C36  00 00          
8034C38  0C 00 00 02 98 97 01 00
8034C40  9A 97 01 00 70 90 0D 08
8034C48  8C 4F 00 02
 
8034C4C  02 22          MOV R2, #$02
8034C4E  A0 5E          LDSH R0, [R4, R2] ; 境界値
8034C50  81 42          CMP R1, R0
8034C52  01 DB          BLT $08034C58     ; 乱数 < 境界値 の場合、モンスターを確定
 
8034C54  08 34          ADD R4, #$08
8034C56  DF E7          BAL $08034C18     ; ループする
 
8034C58  04 21          MOV R1, #$04
8034C5A  60 5E          LDSH R0, [R4, R1]
8034C5C  28 60          STR R0, [R5, #$00] ; モンスターの LV
8034C5E  00 22          MOV R2, #$00
8034C60  A0 5E          LDSH R0, [R4, R2]
 
8034C62  30 BC          POP {R4-R5}
8034C64  02 BC          POP {R1}
8034C66  08 47          BX R1
 

まものの壺

ソース

+ ...
;
; まものの壺 モンスター選択処理
;
803C1E4  F0 B5          PUSH {R4-R7,LR}
803C1E6  47 46          MOV R7, R8
803C1E8  80 B4          PUSH {R7}
803C1EA  80 46          MOV R8, R0
803C1EC  09 06          LSL R1, R1, #$18
803C1EE  0F 0E          LSR R7, R1, #$18
803C1F0  00 26          MOV R6, #$00
803C1F2  11 4D          LDR R5, [PC, #$11]
 
803C1F4  00 21          MOV R1, #$00
803C1F6  68 5E          LDSH R0, [R5, R1]
803C1F8  00 28          CMP R0, #$00
803C1FA  04 DA          BGE $0803C206      ; テーマ別モンハウの場合飛ぶ
 
803C1FC  28 1C          ADD R0, R5, #$00
803C1FE  0F 49          LDR R1, [PC, #$0F]
803C200  00 22          MOV R2, #$00
803C202  F8 F7          BLL #$07F8
803C204  35 FC          BLH #$0435         ; 通常モンハウ or テーマ別モンハウ抽選処理
 
803C206  00 23          MOV R3, #$00
803C208  E9 5E          LDSH R1, [R5, R3]
803C20A  0C 48          LDR R0, [PC, #$0C]
803C20C  00 23          MOV R3, #$00
803C20E  C2 5E          LDSH R2, [R0, R3]
803C210  40 46          MOV R0, R8
803C212  F8 F7          BLL #$07F8
803C214  D7 FC          BLH #$04D7
 
803C216  04 1C          ADD R4, R0, #$00    ; R4 ← モンスター ID
803C218  00 2F          CMP R7, #$00
803C21A  04 D0          BEQ $0803C226
 
803C21C  22 F0          BLL #$0022
803C21E  28 FD          BLH #$0528 [$0805EC70] ; 一部モンスターは出現させない
803C220  00 06          LSL R0, R0, #$18
803C222  00 28          CMP R0, #$00
803C224  0E D1          BNE $0803C244
 
803C226  06 48          LDR R0, [PC, #$06]
803C228  00 68          LDR R0, [R0, #$00]
803C22A  4C 30          ADD R0, #$4C
803C22C  00 21          MOV R1, #$00
803C22E  40 5E          LDSH R0, [R0, R1]   ; ニフラム対象?
803C230  A0 42          CMP R0, R4
803C232  07 D0          BEQ $0803C244
 
803C234  20 1C          ADD R0, R4, #$00
803C236  09 E0          BAL $0803C24C
 
803C238  68 01 00 02 6A 01 00 02
803C240  0C 00 00 02
 
803C244  01 36          ADD R6, #$01
803C246  09 2E          CMP R6, #$09
803C248  D4 DD          BLE $0803C1F4
 
803C24A  15 20          MOV R0, #$15       ; (デフォルト設定)0x15: スライム
;
803C24C  08 BC          POP {R3}
803C24E  98 46          MOV R8, R3
803C250  F0 BC          POP {R4-R7}
803C252  02 BC          POP {R1}
803C254  08 47          BX R1
 
;
; 対象外モンスター
;
805EC70  00 B5          PUSH {LR}
805EC72  1C 28          CMP R0, #$1C  ; ようがんまじん
805EC74  07 D0          BEQ $0805EC86
805EC76  1B 28          CMP R0, #$1B  ; ひょうがまじん
805EC78  05 D0          BEQ $0805EC86
805EC7A  07 28          CMP R0, #$07  ; マドハンド
805EC7C  03 D0          BEQ $0805EC86
805EC7E  08 28          CMP R0, #$08  ; ブラッドハンド
805EC80  01 D0          BEQ $0805EC86
805EC82  00 20          MOV R0, #$00
805EC84  00 E0          BAL $0805EC88
805EC86  01 20          MOV R0, #$01
805EC88  02 BC          POP {R1}
805EC8A  08 47          BX R1
 
最終更新:2024年06月09日 21:35