123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376 |
- ;
- ;
- ; *** 044 ART OF FIGT HERO cml ***
- ;
- ;
- XDEF HERO_STATE_DISP
- XDEF BONUS_LIFE
- XREF ?A5
- ;by HERO_PM
- XREF SPIRIT_RANK
- SECT HERO,,D
- ; INCLUDE GAME_SYM.INC
- INCLUDE NEO_GEO.INC
- INCLUDE LABEL.INC
- INCLUDE CML.INC
- INCLUDE MACRO.INC
- INCLUDE HFLAG.INC
- HERO_STATE_DISP:
- TST.B ST_DEMO_IN(A5)
- BNE HSD_BONUS
- TST.B IN_BONUS(A5)
- BNE HSD_BONUS
- TST.B HOW_TO_FLAG(A5)
- BNE.S HSD_BONUS
- BSR LIFE_DISP
- BSR SPIRIT_DISP
- RTS
- HSD_BONUS:
- RTS
- LD_BIT:
- DC.B 11B
- DC.B 10B
- DC.B 11B
- DC.B 01B
- DC.B 11B
- DC.B 10B
- DC.B 11B
- DC.B 01B
- BONUS_LIFE:
- MOVE.L A6,-(SP)
- LEA.L HERO1(A5),A6
- MESS_ON
- LEA.L LIFE_CH+1(PC),A1
- MOVE.L #LIFE_POS_BONUS,(A0)+
- MOVE.W #9600H,D4
- MOVEQ.L #0,D1
- MOVE.B HERO_LIFE(A6),D1
- JSR LIFE_DISP_001(PC)
- MOVE.L (SP)+,A6
- RTS
- LIFE_DISP:
- MOVEQ.L #111B,D0
- AND.W MAIN_COUNT+2(A5),D0
- MOVE.B LD_BIT(PC,D0.W),D0
- MOVE.W PLAYER_No+PLAYER_OFFSET(A6),D4
- BTST.L D4,D0
- BEQ LIFE_DISP_9
- MOVEQ.L #-1,D0
- MOVE.W HERO_LIFE_D(A6),D1
- CMP.W HERO_LIFE(A6),D1
- BEQ LIFE_DISP_9
- BHI.S LIFE_DISP_1
- MOVEQ.L #1,D0
- LIFE_DISP_1:
- ADD.W D0,D1
- MOVE.W D1,HERO_LIFE_D(A6)
- MESS_ON
- LEA.L LIFE_CH(PC),A1
- BSR LIFE_POS_SET
- LIFE_DISP_001:
- CLR.L (A0)+
- MOVEQ.L #1,D3
- SUBQ.W #2,D1
- BPL.S LIFE_DISP_2
- MOVEQ.L #0,D1
- LIFE_DISP_2:
- ADDQ.W #1,D1
- MOVEQ.L #00000111B,D2
- AND.W D1,D2
- ADD.W D2,D2
- LSR.W #3,D1
- BNE LIFE_DISP_3
- MOVE.W #010CH,(A0)+
- MOVE.B 0(A1,D2.W),D4
- MOVE.W D4,(A0)+
- BRA LIFE_DISP_6
- LIFE_DISP_3:
- MOVE.W #010CH,(A0)+
- MOVE.B (A1),D4
- MOVE.W D4,(A0)+
- ADDQ.W #1,D3
- SUBQ.W #1,D1
- BEQ LIFE_DISP_4
- MOVE.B D1,(A5)
- MOVE.W (A5),D0
- MOVE.B #0CH,D0
- MOVE.W D0,(A0)+
- MOVE.B 48(A1),D4
- MOVE.W D4,(A0)+
- ADD.W D1,D3
- LIFE_DISP_4:
- CMP.B LIFE_GAGE(A6),D3
- BNE LIFE_DISP_5
- MOVE.W #10CH,(A0)+
- MOVE.B 32(A1,D2.W),D4
- MOVE.W D4,(A0)+
- BRA LIFE_DISP_8
- LIFE_DISP_5:
- MOVE.W #10CH,(A0)+
- MOVE.B 16(A1,D2.W),D4
- MOVE.W D4,(A0)+
- LIFE_DISP_6:
- MOVE.B LIFE_GAGE(A6),D0
- SUB.B D3,D0
- SUBQ.B #1,D0
- BEQ.S LIFE_DISP_7
- MOVE.B D0,(A5)
- MOVE.W (A5),D0
- MOVE.B #0CH,D0
- MOVE.W D0,(A0)+
- MOVE.B 16(A1),D4
- MOVE.W D4,(A0)+
- LIFE_DISP_7:
- MOVE.W #10CH,(A0)+
- MOVE.B 32(A1),D4
- MOVE.W D4,(A0)+
- LIFE_DISP_8:
- CLR.W (A0)+
- MESS_OFF
- LIFE_DISP_9:
- RTS
- LIFE_POS_SET:
- TST.W D4
- BNE LIFE_POS_SET_1
- MOVE.L #LIFE_POS_P1,(A0)+
- MOVE.W #9500H,D4
- RTS
- LIFE_POS_SET_1:
- ADDQ.W #1,A1
- MOVE.L #LIFE_POS_P2,(A0)+
- MOVE.W #9600H,D4
- RTS
- LIFE_POS_P1:
- FIX_AUTO -20H
- FIX_ADRS 17,4
- FIX_END
- LIFE_POS_P2:
- FIX_AUTO 20H
- FIX_ADRS 22,4
- FIX_END
- LIFE_POS_BONUS:
- FIX_AUTO 20H
- FIX_ADRS 12,8
- FIX_END
- LIFE_CH:
- ;first 0-7
- DC.B 011H,011H 0 (top full)
- DC.B 018H,018H 1
- DC.B 017H,017H 2
- DC.B 016H,016H 3
- DC.B 015H,015H 4
- DC.B 014H,014H 5
- DC.B 013H,013H 6
- DC.B 012H,012H 7
- ;middle 0-7
- DC.B 010H,010H 0
- DC.B 00FH,00FH 1
- DC.B 00EH,00EH 2
- DC.B 00DH,00DH 3
- DC.B 00CH,00CH 4
- DC.B 00BH,00BH 5
- DC.B 00AH,00AH 6
- DC.B 009H,009H 7
- ;last 0-7
- DC.B 007H,007H 0
- DC.B 006H,006H 1
- DC.B 005H,005H 2
- DC.B 004H,004H 3
- DC.B 003H,003H 4
- DC.B 002H,002H 5
- DC.B 001H,001H 6
- DC.B 000H,000H 7
- ;middle full
- DC.B 008H,008H
- SPIRIT_DISP:
- MOVE.W PLAYER_No+PLAYER_OFFSET(A6),D4
- MOVEQ.L #-1,D0
- MOVEQ.L #0,D1
- MOVE.B HERO_SPIRIT_D(A6),D1
- CMP.B HERO_SPIRIT(A6),D1
- BEQ SPIRIT_DISP_9
- BHI.S SPIRIT_DISP_1
- MOVEQ.L #1,D0
- SPIRIT_DISP_1:
- ADD.W D0,D1
- MOVE.B D1,HERO_SPIRIT_D(A6)
- MESS_ON
- LEA.L SPIRIT_CH(PC),A1
- BSR SPIRIT_POS_SET
- BSR SPIRIT_COLOR_SET
- CLR.L (A0)+
- MOVEQ.L #1,D3
- SUBQ.W #2,D1
- BPL.S SPIRIT_DISP_2
- MOVEQ.L #0,D1
- SPIRIT_DISP_2:
- ADDQ.W #1,D1
- MOVEQ.L #00000111B,D2
- AND.W D1,D2
- ADD.W D2,D2
- LSR.W #3,D1
- BNE SPIRIT_DISP_3
- MOVE.W #010CH,(A0)+
- MOVE.B 0(A1,D2.W),D4
- MOVE.W D4,(A0)+
- BRA SPIRIT_DISP_6
- SPIRIT_DISP_3:
- MOVE.W #010CH,(A0)+
- MOVE.B (A1),D4
- MOVE.W D4,(A0)+
- ADDQ.W #1,D3
- SUBQ.W #1,D1
- BEQ SPIRIT_DISP_4
- MOVE.B D1,(A5)
- MOVE.W (A5),D0
- MOVE.B #0CH,D0
- MOVE.W D0,(A0)+
- MOVE.B 48(A1),D4
- MOVE.W D4,(A0)+
- ADD.W D1,D3
- SPIRIT_DISP_4:
- MOVE.W #10CH,(A0)+
- MOVE.B 16(A1,D2.W),D4
- MOVE.W D4,(A0)+
- SPIRIT_DISP_6:
- MOVEQ.L #16,D0
- SUB.B D3,D0
- BEQ.S SPIRIT_DISP_7
- MOVE.B D0,(A5)
- MOVE.W (A5),D0
- MOVE.B #0CH,D0
- MOVE.W D0,(A0)+
- MOVE.W #0FFH,(A0)+
- SPIRIT_DISP_7:
- CLR.W (A0)+
- MESS_OFF
- SPIRIT_DISP_9:
- RTS
- SPIRIT_POS_SET:
- TST.W D4
- BNE SPIRIT_POS_SET_1
- MOVE.L #SPIRIT_POS_P1,(A0)+
- MOVE.W #0F700H,D4
- RTS
- SPIRIT_POS_SET_1:
- ADDQ.W #1,A1
- MOVE.L #SPIRIT_POS_P2,(A0)+
- MOVE.W #0F800H,D4
- RTS
- SPIRIT_COLOR_SET:
- LEA.L SPIRIT_RANK(PC),A3
- CMP.B (A3),D1
- BCS.S SCS_1
- SUB.W #1000H,D4
- CMP.B 1(A3),D1
- BCS.S SCS_1
- SUB.W #1000H,D4
- SCS_1:
- RTS
- SPIRIT_POS_P1:
- FIX_AUTO -20H
- FIX_ADRS 17,5
- FIX_END
- SPIRIT_POS_P2:
- FIX_AUTO 20H
- FIX_ADRS 22,5
- FIX_END
- SPIRIT_CH:
- ;first 0-7
- DC.B 008H,008H 0 (top full)
- DC.B 010H,010H 1
- DC.B 00FH,00FH 2
- DC.B 00EH,00EH 3
- DC.B 00DH,00DH 4
- DC.B 00CH,00CH 5
- DC.B 00BH,00BH 6
- DC.B 00AH,00AH 7
- ;middle 0-7
- ; DC.B 008H,008H 0
- DC.B 01FH,01FH 0
- DC.B 007H,007H 1
- DC.B 006H,006H 2
- DC.B 005H,005H 3
- DC.B 004H,004H 4
- DC.B 003H,003H 5
- DC.B 002H,002H 6
- DC.B 001H,001H 7
- ;last 0-7
- DC.B 007H,007H 0
- DC.B 006H,006H 1
- DC.B 005H,005H 2
- DC.B 004H,004H 3
- DC.B 003H,003H 4
- DC.B 002H,002H 5
- DC.B 001H,001H 6
- DC.B 000H,000H 7
- ;middle full
- DC.B 008H,008H
- INCLUDE WORK.INC
|