・前読みのSTとDFの追加処理 06:9198:AD 0B 65 LDA $650B = #$32 1桁目 06:919B:C9 32 CMP #$32 1桁目が2か? 06:919D:B0 03 BCS $91A2 06:919F:4C F2 91 JMP $91F2 06:91A2:AD 0D 65 LDA $650D = #$39 3桁目 06:91A5:C9 39 CMP #$39 3桁目が9か? 06:91A7:F0 03 BEQ $91AC 06:91A9:4C F2 91 JMP $91F2 06:91AC:AD 14 65 LDA $6514 = #$35 9桁目 06:91AF:C9 35 CMP #$35 9桁目が5か? 06:91B1:F0 03 BEQ $91B6 06:91B3:4C F2 91 JMP $91F2 06:91B6:AD 12 65 LDA $6512 = #$39 7桁目 06:91B9:C9 30 CMP #$30 7桁目が0か? 06:91BB:D0 0C BNE $91C9 06:91BD:AD 27 65 LDA $6527 = #$14 ST 06:91C0:18 CLC 06:91C1:69 64 ADC #$64 STに100を加算 06:91C3:8D 27 65 STA $6527 = #$14 ST 06:91C6:4C F2 91 JMP $91F2 06:91C9:C9 31 CMP #$31 7桁目が1か? 06:91CB:D0 0C BNE $91D9 06:91CD:AD 28 65 LDA $6528 = #$0A DF 06:91D0:18 CLC 06:91D1:69 64 ADC #$64 DFに100を加算 06:91D3:8D 28 65 STA $6528 = #$0A DF 06:91D6:4C F2 91 JMP $91F2 06:91D9:C9 32 CMP #$32 7桁目が2か? 06:91DB:D0 15 BNE $91F2 06:91DD:AD 27 65 LDA $6527 = #$14 ST 06:91E0:18 CLC 06:91E1:69 64 ADC #$64 STに100を加算 06:91E3:8D 27 65 STA $6527 = #$14 ST 06:91E6:AD 28 65 LDA $6528 = #$0A DF 06:91E9:18 CLC 06:91EA:69 64 ADC #$64 DFに100を加算 06:91EC:8D 28 65 STA $6528 = #$0A DF 06:91EF:4C F2 91 JMP $91F2 06:91F2:60 RTS 06:8409:20 22 94 JSR $9422 06:840C:20 4F 91 JSR $914F 06:840F:A5 24 LDA $0024 = #$01 06:8411:8D 3B 65 STA $653B = #$02 06:8414:C9 01 CMP #$01 06:8416:F0 09 BEQ $8421 06:8418:20 20 95 JSR $9520 06:841B:20 98 91 JSR $9198 06:841E:4C 24 84 JMP $8424 06:8421:20 F3 91 JSR $91F3 06:8424:20 5A 94 JSR $945A 06:8427:AD 29 65 LDA $6529 = #$09 2枚目種族 06:842A:C9 05 CMP #$05 06:842C:B0 06 BCS $8434 キャリーフラグならジャンプ(種族が5以上) 06:842E:20 90 90 JSR $9090 合体処理 06:8431:4C 41 84 JMP $8441 06:8434:C9 09 CMP #$09 06:8436:B0 06 BCS $843E キャリーフラグならジャンプ(種族が9) 06:8438:20 77 8F JSR $8F77 STアイテム、DFアイテム処理 06:843B:4C 41 84 JMP $8441 06:843E:20 71 8E JSR $8E71 HPアイテム処理 06:8441:20 A9 84 JSR $84A9 06:8444:AD 58 65 LDA $6558 = #$0A 1枚目ST2枚目 06:8447:C9 C7 CMP #$C7 06:8449:90 16 BCC $8461 06:844B:38 SEC 06:844C:AD 58 65 LDA $6558 = #$0A 1枚目ST2枚目 06:844F:E9 C7 SBC #$C7 06:8451:85 00 STA $0000 = #$00 06:8453:AD 66 65 LDA $6566 = #$00 06:8456:38 SEC 06:8457:E5 00 SBC $0000 = #$00 06:8459:8D 66 65 STA $6566 = #$00 06:845C:A9 C7 LDA #$C7 06:845E:8D 58 65 STA $6558 = #$0A 1枚目ST2枚目 06:8461:AD 59 65 LDA $6559 = #$0A 1枚目DF2枚目 06:8464:C9 C7 CMP #$C7 06:8466:90 16 BCC $847E 06:8468:38 SEC 06:8469:AD 59 65 LDA $6559 = #$0A 1枚目DF2枚目 06:846C:E9 C7 SBC #$C7 06:846E:85 00 STA $0000 = #$00 06:8470:AD 68 65 LDA $6568 = #$00 1枚目DF1枚目 06:8473:38 SEC 06:8474:E5 00 SBC $0000 = #$00 06:8476:8D 68 65 STA $6568 = #$00 1枚目DF1枚目 06:8479:A9 C7 LDA #$C7 06:847B:8D 59 65 STA $6559 = #$0A 06:847E:AD 57 65 LDA $6557 = #$00 1枚目HP2枚目上位 06:8481:C9 03 CMP #$03 06:8483:90 13 BCC $8498 06:8485:D0 07 BNE $848E 06:8487:AD 56 65 LDA $6556 = #$64 1枚目HP下位 06:848A:C9 E7 CMP #$E7 06:848C:90 0A BCC $8498 06:848E:A9 03 LDA #$03 06:8490:8D 57 65 STA $6557 = #$00 1枚目HP上位 06:8493:A9 E7 LDA #$E7 06:8495:8D 56 65 STA $6556 = #$64 1枚目HP下位 06:8498:20 9C 84 JSR $849C 06:849B:60 RTS 06:849C:AD 56 65 LDA $6556 = #$00 06:849F:8D 61 65 STA $6561 = #$00 06:84A2:AD 57 65 LDA $6557 = #$00 06:84A5:8D 62 65 STA $6562 = #$00 HP保存 06:84A8:60 RTS 06:84A9:AD 27 65 LDA $6527 = #$0A ST保存 06:84AC:8D 66 65 STA $6566 = #$00 06:84AF:AD 28 65 LDA $6528 = #$0A DF保存 06:84B2:8D 68 65 STA $6568 = #$00 06:84B5:60 RTS STアイテム、DFアイテム(5,6,7,8) 06:8F77:AD 5B 65 LDA $655B = #$07 1枚目職業 06:8F7A:C9 07 CMP #$07 06:8F7C:90 03 BCC $8F81 7より下なら使用可 06:8F7E:4C F0 8F JMP $8FF0 装備不可 06:8F81:AD 2A 65 LDA $652A = #$07 STアイテムの種類 06:8F84:C9 01 CMP #$01 06:8F86:90 2C BCC $8FB4 STアイテムの種類が1より小 06:8F88:C9 07 CMP #$07 06:8F8A:B0 08 BCS $8F94 STアイテムの種類が7以上 06:8F8C:CD 5B 65 CMP $655B = #$07 06:8F8F:F0 23 BEQ $8FB4 職業=1枚目職業 06:8F91:4C F0 8F JMP $8FF0 装備不可 06:8F94:C9 08 CMP #$08 06:8F96:B0 0A BCS $8FA2 STアイテムの種類が8以上 06:8F98:AD 5B 65 LDA $655B = #$07 1枚目職業 06:8F9B:C9 04 CMP #$04 06:8F9D:90 15 BCC $8FB4 1枚目職業が4より小 06:8F9F:4C F0 8F JMP $8FF0 装備不可 06:8FA2:C9 09 CMP #$09 06:8FA4:B0 09 BCS $8FAF 9以上 06:8FA6:AD 5B 65 LDA $655B = #$07 1枚目職業 06:8FA9:C9 03 CMP #$03 06:8FAB:90 43 BCC $8FF0 1枚目職業が3より小 装備不可 06:8FAD:B0 05 BCS $8FB4 3以上 06:8FAF:AD 5B 65 LDA $655B = #$07 06:8FB2:D0 3C BNE $8FF0 1枚目職業=0のとき 装備不可 ST/DFアイテム 06:8FB4:AD 29 65 LDA $6529 = #$00 2枚目種族 06:8FB7:C9 05 CMP #$05 06:8FB9:D0 08 BNE $8FC3 2枚目の種族=5(STアイテム)のとき 06:8FBB:A9 07 LDA #$07 06:8FBD:8D 6A 65 STA $656A = #$02 06:8FC0:4C CC 8F JMP $8FCC 06:8FC3:C9 06 CMP #$06 06:8FC5:D0 0E BNE $8FD5 2枚目の種族=6(STアイテム)のとき 06:8FC7:A9 03 LDA #$03 06:8FC9:8D 6A 65 STA $656A = #$02 06:8FCC:20 F6 8F JSR $8FF6 STアイテム処理 06:8FCF:20 78 90 JSR $9078 STアイテム処理 06:8FD2:4C F5 8F JMP $8FF5 06:8FD5:C9 07 CMP #$07 2枚目の種族=7(DFアイテム)のとき 06:8FD7:D0 08 BNE $8FE1 06:8FD9:A9 08 LDA #$08 06:8FDB:8D 6A 65 STA $656A = #$02 06:8FDE:4C EA 8F JMP $8FEA 06:8FE1:C9 08 CMP #$08 06:8FE3:D0 10 BNE $8FF5 2枚目の種族=8(DFアイテム)のとき 06:8FE5:A9 04 LDA #$04 06:8FE7:8D 6A 65 STA $656A = #$02 06:8FEA:20 37 90 JSR $9037 DFアイテム処理へ 06:8FED:4C F5 8F JMP $8FF5 06:8FF0:A9 CA LDA #$CA 06:8FF2:8D 0A 65 STA $650A = #$00 06:8FF5:60 RTS STアイテム系列の処理 06:8FF6:AD 2F 65 LDA $652F = #$00 06:8FF9:C9 1F CMP #$1F STアイテムの特殊能力が31のとき 06:8FFB:D0 18 BNE $9015 06:8FFD:A5 30 LDA $0030 = #$83 06:8FFF:10 14 BPL $9015 ::特殊能力作動 06:9001:38 SEC 06:9002:AD 58 65 LDA $6558 = #$00 1枚目ST 06:9005:ED 27 65 SBC $6527 = #$0A 06:9008:8D 58 65 STA $6558 = #$00 1枚目ST=1枚目ST-2枚目ST 06:900B:10 12 BPL $901F ネガティブフラグならジャンプ 06:900D:A9 00 LDA #$00 06:900F:8D 58 65 STA $6558 = #$00 ST=0に 06:9012:4C 1F 90 JMP $901F ::特殊能力なし 06:9015:18 CLC 06:9016:AD 27 65 LDA $6527 = #$0A 2枚目ST 06:9019:6D 58 65 ADC $6558 = #$00 1枚目ST 06:901C:8D 58 65 STA $6558 = #$00 1枚目ST=1枚目ST+2枚目ST 06:901F:AD 27 65 LDA $6527 = #$0A 2枚目ST 06:9022:8D 32 65 STA $6532 = #$00 2枚目STを保存 06:9025:A9 00 LDA #$00 06:9027:8D 25 65 STA $6525 = #$35 06:902A:8D 26 65 STA $6526 = #$01 06:902D:8D 28 65 STA $6528 = #$0A 06:9030:8D 2E 65 STA $652E = #$0A 06:9033:8D 2D 65 STA $652D = #$05 06:9036:60 RTS 06:9078:A9 75 LDA #$75 06:907A:85 18 STA $0018 = #$00 06:907C:A9 0D LDA #$0D 06:907E:85 1C STA $001C = #$53 06:9080:20 F3 94 JSR $94F3 06:9083:A5 24 LDA $0024 = #$03 06:9085:F0 03 BEQ $908A 06:9087:4C 8F 90 JMP $908F 24が渡されるが意味はあるのか? 06:908A:A9 09 LDA #$09 06:908C:8D 6A 65 STA $656A = #$02 656A=09 06:908F:60 RTS 06:94F3:A6 18 LDX $0018 = #$00 06:94F5:A0 00 LDY #$00 06:94F7:BD 00 80 LDA $8000,X @ $80FC = #$AD 06:94FA:D9 0B 65 CMP $650B,Y @ $650B = #$31 06:94FD:D0 0B BNE $950A 06:94FF:E8 INX 06:9500:C8 INY 06:9501:C4 1C CPY $001C = #$53 06:9503:90 F2 BCC $94F7 06:9505:A9 00 LDA #$00 06:9507:4C 0C 95 JMP $950C 06:950A:A9 01 LDA #$01 06:950C:85 24 STA $0024 = #$03 06:950E:60 RTS DFアイテム系列の処理 06:9037:AD 2F 65 LDA $652F = #$00 06:903A:C9 20 CMP #$20 DFアイテムの特殊能力が32のとき 06:903C:D0 18 BNE $9056 06:903E:A5 30 LDA $0030 = #$83 06:9040:10 14 BPL $9056 ::特殊能力作動 06:9042:38 SEC 06:9043:AD 59 65 LDA $6559 = #$0A 06:9046:ED 28 65 SBC $6528 = #$0A 06:9049:8D 59 65 STA $6559 = #$0A 1枚目DF=1枚目DF-2枚目DF 06:904C:10 12 BPL $9060 06:904E:A9 00 LDA #$00 06:9050:8D 59 65 STA $6559 = #$0A 1枚目DF=0に 06:9053:4C 60 90 JMP $9060 ::特殊能力なし 06:9056:18 CLC 06:9057:AD 28 65 LDA $6528 = #$0A 2枚目DF 06:905A:6D 59 65 ADC $6559 = #$0A 1枚目DF 06:905D:8D 59 65 STA $6559 = #$0A 1枚目DF=1枚目DF+2枚目DF 06:9060:AD 28 65 LDA $6528 = #$0A 2枚目DF 06:9063:8D 33 65 STA $6533 = #$00 2枚目DFを保存 06:9066:A9 00 LDA #$00 06:9068:8D 25 65 STA $6525 = #$35 06:906B:8D 26 65 STA $6526 = #$01 06:906E:8D 27 65 STA $6527 = #$0A 06:9071:8D 2E 65 STA $652E = #$0A 06:9074:8D 2D 65 STA $652D = #$05 06:9077:60 RTS HPアイテム系列の処理 06:8E71:AD 2A 65 LDA $652A = #$09 職業(HPアイテムの種類) 06:8E74:F0 3B BEQ $8EB1 HPアイテム=0ならジャンプ 06:8E76:C9 05 CMP #$05 06:8E78:B0 0F BCS $8E89 5以上 06:8E7A:CD 5B 65 CMP $655B = #$07 1枚目職業 06:8E7D:F0 32 BEQ $8EB1 1枚目職業=HPアイテムの種類(0〜4)ならジャンプ 06:8E7F:AD 5B 65 LDA $655B = #$07 1枚目職業 06:8E82:C9 09 CMP #$09 06:8E84:F0 2B BEQ $8EB1 1枚目職業=9ならジャンプ 06:8E86:4C 1A 8F JMP $8F1A 06:8E89:C9 07 CMP #$07 06:8E8B:90 2A BCC $8EB7 7より下(情報カード) 06:8E8D:C9 08 CMP #$08 06:8E8F:90 3D BCC $8ECE 8より下(薬草アップ) 06:8E91:C9 09 CMP #$09 06:8E93:B0 0E BCS $8EA3 9以上(MP(9)アップ) ::MPアップ(8) 06:8E95:AD 5B 65 LDA $655B = #$07 1枚目職業(MPアップ8は職業7か9へ使用可能) 06:8E98:C9 07 CMP #$07 06:8E9A:F0 58 BEQ $8EF4 7か 06:8E9C:C9 09 CMP #$09 06:8E9E:F0 54 BEQ $8EF4 9か 06:8EA0:4C 1A 8F JMP $8F1A ::MPアップ(9) 06:8EA3:AD 5B 65 LDA $655B = #$07 1枚目職業(MPアップ9は職業8か9へ使用可能) 06:8EA6:C9 08 CMP #$08 8か 06:8EA8:F0 4A BEQ $8EF4 06:8EAA:C9 09 CMP #$09 9か 06:8EAC:F0 46 BEQ $8EF4 06:8EAE:4C 1A 8F JMP $8F1A 06:8EB1:20 20 8F JSR $8F20 06:8EB4:4C 1F 8F JMP $8F1F ::情報カード 06:8EB7:A9 00 LDA #$00 06:8EB9:8D 25 65 STA $6525 = #$D1 2枚目HP下位 06:8EBC:8D 26 65 STA $6526 = #$00 2枚目HP上位 06:8EBF:8D 27 65 STA $6527 = #$14 2枚目ST 06:8EC2:8D 28 65 STA $6528 = #$0A 2枚目DF 06:8EC5:8D 2E 65 STA $652E = #$0A 2枚目MP 06:8EC8:8D 2D 65 STA $652D = #$05 2枚目PP 06:8ECB:4C 1A 8F JMP $8F1A ::薬草アップ 06:8ECE:AD 27 65 LDA $6527 = #$14 2枚目ST(PPはSTのとこの値による) 06:8ED1:8D 2D 65 STA $652D = #$05 2枚目PP 06:8ED4:18 CLC 06:8ED5:6D 5E 65 ADC $655E = #$05 1枚目PP(普通にPPを加算) 06:8ED8:8D 5E 65 STA $655E = #$05 1枚目PP 06:8EDB:A9 06 LDA #$06 06:8EDD:8D 6A 65 STA $656A = #$00 アイテムのグラフィック種類? 656A=06 06:8EE0:A9 00 LDA #$00 06:8EE2:8D 25 65 STA $6525 = #$D1 2枚目HP下位 06:8EE5:8D 26 65 STA $6526 = #$00 2枚目HP上位 06:8EE8:8D 27 65 STA $6527 = #$14 2枚目ST 06:8EEB:8D 28 65 STA $6528 = #$0A 2枚目DF 06:8EEE:8D 2E 65 STA $652E = #$0A 2枚目MP 06:8EF1:4C 1F 8F JMP $8F1F ::MPアップ 06:8EF4:AD 28 65 LDA $6528 = #$0A 2枚目DF(MPはDFのとこの値による) 06:8EF7:8D 2E 65 STA $652E = #$0A 2枚目MP 06:8EFA:18 CLC 06:8EFB:6D 5F 65 ADC $655F = #$0A 1枚目MP(普通にMPを加算) 06:8EFE:8D 5F 65 STA $655F = #$0A 1枚目MP 06:8F01:A9 05 LDA #$05 06:8F03:8D 6A 65 STA $656A = #$00 アイテムのグラフィック種類? 656A=05 06:8F06:A9 00 LDA #$00 06:8F08:8D 25 65 STA $6525 = #$D1 2枚目HP下位 06:8F0B:8D 26 65 STA $6526 = #$00 2枚目HP上位 06:8F0E:8D 27 65 STA $6527 = #$14 2枚目ST 06:8F11:8D 28 65 STA $6528 = #$0A 2枚目DF 06:8F14:8D 2D 65 STA $652D = #$05 2枚目MP 06:8F17:4C 1F 8F JMP $8F1F 06:8F1A:A9 CA LDA #$CA 06:8F1C:8D 0A 65 STA $650A = #$CA 命中率判定? 06:8F1F:60 RTS ::HP系アップ処理 06:8F20:AD 2F 65 LDA $652F = #$1D 2枚目の特殊能力 06:8F23:C9 1E CMP #$1E 06:8F25:F0 02 BEQ $8F29 30か? 06:8F27:D0 27 BNE $8F50 30以外 06:8F29:A5 30 LDA $0030 = #$AA 乱数 06:8F2B:10 23 BPL $8F50 ネガティブフラグがクリアされている時にブランチ ::特殊能力30作動 06:8F2D:38 SEC 06:8F2E:AD 56 65 LDA $6556 = #$64 1枚目HP下位 06:8F31:ED 25 65 SBC $6525 = #$D1 2枚目HP下位 06:8F34:8D 56 65 STA $6556 = #$64 1枚目HP下位 HP=1枚目HP-2枚目HP 06:8F37:AD 57 65 LDA $6557 = #$00 1枚目HP上位 06:8F3A:ED 26 65 SBC $6526 = #$00 2枚目HP上位 06:8F3D:8D 57 65 STA $6557 = #$00 1枚目HP上位 HP=1枚目HP-2枚目HP 06:8F40:10 21 BPL $8F63 ネガティブフラグがクリアされている時にブランチ 06:8F42:A9 00 LDA #$00 06:8F44:8D 56 65 STA $6556 = #$64 1枚目HP下位 HP=00 06:8F47:8D 57 65 STA $6557 = #$00 1枚目HP上位 06:8F4A:8D 58 65 STA $6558 = #$0A 1枚目ST ST=00 06:8F4D:4C 63 8F JMP $8F63 ::特殊能力なし 06:8F50:AD 25 65 LDA $6525 = #$D1 2枚目HP下位 06:8F53:18 CLC 06:8F54:6D 56 65 ADC $6556 = #$64 1枚目HP下位 HP下位を加算 06:8F57:8D 56 65 STA $6556 = #$64 1枚目HP下位 06:8F5A:AD 26 65 LDA $6526 = #$00 2枚目HP上位 HP上位を加算 06:8F5D:6D 57 65 ADC $6557 = #$00 1枚目HP上位 06:8F60:8D 57 65 STA $6557 = #$00 1枚目HP上位 06:8F63:A9 02 LDA #$02 06:8F65:8D 6A 65 STA $656A = #$00 アイテムのグラフィック種類? 656A=2 06:8F68:A9 00 LDA #$00 06:8F6A:8D 27 65 STA $6527 = #$14 1枚目ST 06:8F6D:8D 28 65 STA $6528 = #$0A 1枚目DF 06:8F70:8D 2E 65 STA $652E = #$0A 1枚目MP 06:8F73:8D 2D 65 STA $652D = #$05 1枚目PP 06:8F76:60 RTS 合体処理 06:9090:A2 07 LDX #$07 06:9092:BD 0B 65 LDA $650B,X @ $6512 = #$39 7桁目 8 9 10 11 12 06:9095:DD 3C 65 CMP $653C,X @ $6543 = #$30 7桁目 8 9 10 11 12 06:9098:D0 07 BNE $90A1 どれかが不一致なら合体可 06:909A:E8 INX X=X+1 06:909B:E0 0D CPX #$0D X-0D 06:909D:90 F3 BCC $9092 X=0Dより下なら一致処理を続ける 06:909F:B0 0B BCS $90AC X=0D以上なら合体不可 06:90A1:20 B2 90 JSR $90B2 合体 06:90A4:A9 01 LDA #$01 06:90A6:8D 6A 65 STA $656A = #$02 656A=1 06:90A9:4C B1 90 JMP $90B1 06:90AC:A9 CA LDA #$CA 06:90AE:8D 0A 65 STA $650A = #$00 命中率判定? 650A=CA 06:90B1:60 RTS 06:90B2:AD 25 65 LDA $6525 = #$35 06:90B5:18 CLC 06:90B6:6D 56 65 ADC $6556 = #$00 06:90B9:8D 56 65 STA $6556 = #$00 06:90BC:AD 26 65 LDA $6526 = #$01 06:90BF:6D 57 65 ADC $6557 = #$00 06:90C2:8D 57 65 STA $6557 = #$00 06:90C5:AD 27 65 LDA $6527 = #$0A HP 06:90C8:18 CLC 06:90C9:6D 58 65 ADC $6558 = #$00 06:90CC:8D 58 65 STA $6558 = #$00 06:90CF:AD 28 65 LDA $6528 = #$0A ST 06:90D2:18 CLC 06:90D3:6D 59 65 ADC $6559 = #$0A 06:90D6:8D 59 65 STA $6559 = #$0A DF 06:90D9:A9 00 LDA #$00 06:90DB:8D 2B 65 STA $652B = #$00 06:90DE:8D 2D 65 STA $652D = #$05 06:90E1:8D 2E 65 STA $652E = #$0A 06:90E4:60 RTS