紫リンゴを見たくなったので、ちゃっくんぽっぷで遊んでみた。
紫リンゴは面クリア時に次の面で出すかどうかを判定してる。
出現条件は、6つのフルーツを取るか、3種のフルーツを取る。
で、判定部分がここ。
LD A,(0803BH) ;B494 3A 3B 80 CP 07H ;B497 FE 07 JR Z,0B4A2H ;B499 28 07 ; フルーツを3種類とも取った? LD A,(08038H) ;B49B 3A 38 80 CP 06H ;B49E FE 06 JR C,0B4A5H ;B4A0 38 03 ; 6個以上取った? LD A,01H ;B4A2 3E 01 ; 紫リンゴを出す LD B,0AFH ;B4A4 06 AF ; B4A4からならAは1、B4A5からならAは0 LD (0803AH),A ;B4A6 32 3A 80 |
LD A,(0803AH) ;B48E 3A 3A 80 OR A ;B491 B7 JR NZ,0B4A5H ;B492 20 11 ; 紫リンゴステータスが0でなければ出さない。 |
LD A,(0803AH) ;B456 3A 3A 80 CP 02H ;B459 FE 02 JR NZ,0B462H ;B45B 20 05 CALL 0B9FEH ;B45D CD FE B9 ; フルーツ結果サマリーを表示するサブルーチン JR 0B4A5H ;B460 18 43 ; 次の面は出さない処理へ |
DEC (IX+3D) ;A9FE DD 35 03 JP NZ,08DEEH ;AA01 C2 EE 8D |
NOP ;A9FE 00 NOP ;A9FF 00 NOP ;AA00 00 JP 08DEEH ;AA01 C3 EE 8D |
LD A,(0803AH) ;A41F 3A 3A 80 CP 02H ;A422 FE 02 JR Z,0A44BH ;A424 28 25 |
LD A,01H ;B4A2 3E 01 |
CALL 0916CH ;9834 CD 6C 91 ; 乱数取得 LD A,L ;9837 7D CALL 0C35DH ;9838 CD 5D C3 ; 0~8に丸める INC A ;983B 3C ; 1~9に LD (081FDH),A ;983C 32 FD 81 ; |
LD A,(08036H) ;9D14 3A 36 80 LD HL,08037H ;9D17 21 37 80 CP (HL) ;9D1A BE JR NZ,09D21H ;9D1B 20 04 |
LD A,(IX+11D) ;9CE1 DD 7E 0B CP 02H ;9CE4 FE 02 JR NC,09CFBH ;9CE6 30 13 |
LD A,(08035H) ;9D0E 3A 35 80 OR A ;9D11 B7 JR NZ,09D4BH ;9D12 20 37 |