52Fermer54
VasiliyFamiliyaLe 01/10/2019 à 07:39
01F884: 1039 0010 FD98 move.b $10fd98.l, D0 ; D0=P1_REPEAT value 01F88A: 8039 0010 FD9E or.b $10fd9e.l, D0 ; D0=P1_REPEAT value|P2_REPEAT value 01F890: 0240 00F0 andi.w #$f0, D0 ; D0=(P1_REPEAT value|P2_REPEAT value)&#$f0 01F894: 6700 003C beq $1f8d2 ; if (P1_REPEAT value|P2_REPEAT value)&#$f0=0 => neither P1 A/B/C/D buttons nor P2 A/B/C/D buttons is pressed then end the subroutine 01F898: 4A03 tst.b D3 01F89A: 6600 000C bne $1f8a8 ; if D3!=0 then skip next 2 steps 01F89E: 4EB9 0001 F8D4 jsr $1f8d4.l 01F8A4: 6000 002C bra $1f8d2 01F8A8: 0C03 0001 cmpi.b #$1, D3 01F8AC: 6600 000C bne $1f8ba ; if D3!=1 then skip next 2 steps 01F8B0: 4EB9 0001 F8F6 jsr $1f8f6.l 01F8B6: 6000 001A bra $1f8d2 01F8BA: 0C02 0010 cmpi.b #$10, D2 01F8BE: 6600 000C bne $1f8cc ; if D2!=#$10 then skip next 2 steps 01F8C2: 4EB9 0001 F92C jsr $1f92c.l 01F8C8: 6000 0008 bra $1f8d2 01F8CC: 4EB9 0001 F982 jsr $1f982.l 01F8D2: 4E75 rts01F8D4: 0800 0004 btst #$4, D0 01F8D8: 6700 001A beq $1f8f4 ; if 5th bit of ((P1_REPEAT value|P2_REPEAT value)&#$f0) value=0 then end the subroutine 01F8DC: 422D 8D12 clr.b (-$72ee,A5) ; else [A5-$72ee] value=0 01F8E0: 062D 0001 8D13 addi.b #$1, (-$72ed,A5) ; [A5-$72ed] value+1 01F8E6: 0C2D 000D 8D13 cmpi.b #$d, (-$72ed,A5) 01F8EC: 6600 0006 bne $1f8f4 ; if old [A5-$72ed] value+1!=#$d then end the subroutine 01F8F0: 422D 8D13 clr.b (-$72ed,A5) ; else [A5-$72ed]=0 01F8F4: 4E75 rts01F8F6: 0800 0004 btst #$4, D0 01F8FA: 6700 0008 beq $1f904 ; if 5th bit of ((P1_REPEAT value|P2_REPEAT value)&#$f0) value=0 then skip next step 01F8FE: 062D 0001 8D12 addi.b #$1, (-$72ee,A5) ; else [A5-$72ee]+1 01F904: 7000 moveq #$0, D0 ; D0=0 01F906: 102D 8D13 move.b (-$72ed,A5), D0 ; D0=[A5-$72ed] value 01F90A: 41F9 0002 427C lea $2427c.l, A0 ; A0=[$2427c] 01F910: E548 lsl.w #2, D0 ; D0=[A5-$72ed] value<<2 01F912: 2070 0000 movea.l (A0,D0.w), A0 ; A0=[$2427c+([A5-$72ed] value<<2)] 01F916: 7000 moveq #$0, D0 ; D0=0 01F918: 102D 8D12 move.b (-$72ee,A5), D0 ; D0=[A5-$72ee] value 01F91C: E548 lsl.w #2, D0 ; D0=[A5-$72ee] value<<2 01F91E: 2030 0000 move.l (A0,D0.w), D0 ; D0=[($2427c+([A5-$72ed] value<<2))+([A5-$72ee] value<<2)] value 01F922: 6600 0006 bne $1f92a ; if [($2427c+([A5-$72ed] value<<2))+([A5-$72ee] value<<2)] value!=0 then skip next step 01F926: 422D 8D12 clr.b (-$72ee,A5) ; else [A5-$72ee] value=0 01F92A: 4E75 rts01F92C: 7200 moveq #$0, D1 ; D1=0 01F92E: 122D 8D13 move.b (-$72ed,A5), D1 ; D1=[A5-$72ed] value 01F932: 41F9 0002 427C lea $2427c.l, A0 ; A0=[$2427c] 01F938: E549 lsl.w #2, D1 ; D1=[A5-$72ed] value<<2 01F93A: 2070 1000 movea.l (A0,D1.w), A0 ; A0=[$2427c+([A5-$72ed] value<<2)] 01F93E: 7200 moveq #$0, D1 ; D1=0 01F940: 122D 8D12 move.b (-$72ee,A5), D1 ; D1=[A5-$72ee] value 01F944: E549 lsl.w #2, D1 ; D1=[A5-$72ee] value<<2 01F946: 2230 1000 move.l (A0,D1.w), D1 ; D1=[($2427c+([A5-$72ed] value<<2))+([A5-$72ee] value<<2)] value 01F94A: 0281 7FFF FFFF andi.l #$7fffffff, D1 ; D1=[($2427c+([A5-$72ed] value<<2))+([A5-$72ee] value<<2)] value&#$7fffffff 01F950: 2041 movea.l D1, A0 ; A0=[[($2427c+([A5-$72ed] value<<2))+([A5-$72ee] value<<2)] value&#$7fffffff] 01F952: 7200 moveq #$0, D1 ; D1=0 01F954: 122D 8D11 move.b (-$72ef,A5), D1 ; D1=[A5-$72ef] value 01F958: 0401 0002 subi.b #$2, D1 ; D1=[A5-$72ef] value-2 01F95C: E549 lsl.w #2, D1 ; D1=([A5-$72ef] value-2)<<2 01F95E: D0C1 adda.w D1, A0 ; A0=[([($2427c+([A5-$72ed] value<<2))+([A5-$72ee] value<<2)] value&#$7fffffff)+(([A5-$72ef] value-2)<<2)] 01F960: 5448 addq.w #2, A0 ; A0=[([($2427c+([A5-$72ed] value<<2))+([A5-$72ee] value<<2)] value&#$7fffffff)+(([A5-$72ef] value-2)<<2)+2] 01F962: D1FC 0000 0000 adda.l #$0, A0 ; A0=[([($2427c+([A5-$72ed] value<<2))+([A5-$72ee] value<<2)] value&#$7fffffff)+(([A5-$72ef] value-2)<<2)+2] 01F968: 0800 0004 btst #$4, D0 01F96C: 6700 0006 beq $1f974 ; if 5th bit of ((P1_REPEAT value|P2_REPEAT value)&#$f0) value=0 then skip next step 01F970: 0410 0001 subi.b #$1, (A0) ; else [([($2427c+([A5-$72ed] value<<2))+([A5-$72ee] value<<2)] value&#$7fffffff)+(([A5-$72ef] value-2)<<2)+2] value-1 01F974: 0800 0005 btst #$5, D0 01F978: 6700 0006 beq $1f980 ; if 6th bit of ((P1_REPEAT value|P2_REPEAT value)&#$f0) value=0 then end the subroutine 01F97C: 0610 0001 addi.b #$1, (A0) ; else [([($2427c+([A5-$72ed] value<<2))+([A5-$72ee] value<<2)] value&#$7fffffff)+(([A5-$72ef] value-2)<<2)+2] value+1 01F980: 4E75 rts01F982: 0800 0004 btst #$4, D0 01F986: 6700 0052 beq $1f9da ; if 5th bit of ((P1_REPEAT value|P2_REPEAT value)&#$f0) value=0 then end the subroutine 01F98A: 206D 8A0A movea.l (-$75f6,A5), A0 ; else A0=[[A5-$75f6] value] 01F98E: 7200 moveq #$0, D1 ; D1=0 01F990: 122D 8D13 move.b (-$72ed,A5), D1 ; D1=[A5-$72ed] value 01F994: 41F9 0002 427C lea $2427c.l, A0 ; A0=[$2427c] 01F99A: E549 lsl.w #2, D1 ; D1=[A5-$72ed] value<<2 01F99C: 2070 1000 movea.l (A0,D1.w), A0 ; A0=[$2427c+([A5-$72ed] value<<2)] 01F9A0: 7200 moveq #$0, D1 ; D1=0 01F9A2: 122D 8D12 move.b (-$72ee,A5), D1 ; D1=[A5-$72ee] value 01F9A6: E549 lsl.w #2, D1 ; D1=[A5-$72ee] value<<2 01F9A8: 2230 1000 move.l (A0,D1.w), D1 ; D1=[($2427c+([A5-$72ed] value<<2))+([A5-$72ee] value<<2)] value 01F9AC: 0281 7FFF FFFF andi.l #$7fffffff, D1 ; D1=[($2427c+([A5-$72ed] value<<2))+([A5-$72ee] value<<2)] value&#$7fffffff 01F9B2: 2041 movea.l D1, A0 ; A0=[[($2427c+([A5-$72ed] value<<2))+([A5-$72ee] value<<2)] value&#$7fffffff] 01F9B4: 7200 moveq #$0, D1 ; D1=0 01F9B6: 122D 8D11 move.b (-$72ef,A5), D1 ; D1=[A5-$72ef] value 01F9BA: 0401 0002 subi.b #$2, D1 ; D1=[A5-$72ef] value-2 01F9BE: E549 lsl.w #2, D1 ; D1=([A5-$72ef] value-2)<<2 01F9C0: D0C1 adda.w D1, A0 ; A0=[([($2427c+([A5-$72ed] value<<2))+([A5-$72ee] value<<2)] value&#$7fffffff)+(([A5-$72ef] value-2)<<2)] 01F9C2: 3210 move.w (A0), D1 ; D1=[([($2427c+([A5-$72ed] value<<2))+([A5-$72ee] value<<2)] value&#$7fffffff)+(([A5-$72ef] value-2)<<2)] value 01F9C4: D1FC 0000 0000 adda.l #$0, A0 ; A0=[([($2427c+([A5-$72ed] value<<2))+([A5-$72ee] value<<2)] value&#$7fffffff)+(([A5-$72ef] value-2)<<2)] 01F9CA: 363C 8000 move.w #$8000, D3 ; D3=#$8000 01F9CE: 7400 moveq #$0, D2 ; D2=0 01F9D0: 142D 8D10 move.b (-$72f0,A5), D2 ; D2=[A5-$72f0] value 01F9D4: E46B lsr.w D2, D3 ; D3=#$8000>>[A5-$72f0] value 01F9D6: B741 eor.w D3, D1 ; D1=[([($2427c+([A5-$72ed] value<<2))+([A5-$72ee] value<<2)] value&#$7fffffff)+(([A5-$72ef] value-2)<<2)] value^(#$8000>>[A5-$72f0] value) 01F9D8: 3081 move.w D1, (A0) ; [([($2427c+([A5-$72ed] value<<2))+([A5-$72ee] value<<2)] value&#$7fffffff)+(([A5-$72ef] value-2)<<2)] value=[([($2427c+([A5-$72ed] value<<2))+([A5-$72ee] value<<2)] value&#$7fffffff)+(([A5-$72ef] value-2)<<2)] value^(#$8000>>[A5-$72f0] value) 01F9DA: 4E75 rts