test: lea $30004,a0 sub.l a1,a1 bsr _init lp MOVE.L $DFF004,D0 AND.L #$1FF00,D0 CMP.L #$08000,D0 BNE.S lp lea $30000,a0 sub.l a1,a1 bsr _play BTST #6,$BFE001 BNE.S lp bsr _stop RTS ***************************************************************** * * * P4 Replayroutine 1.0 * * ripped by ZEG and reassembled by Vampire * * ...both of the famous 'PseudoDOS Group' !! * * * ***************************************************************** _init move.l $10(a0),d2 beq.s reloc move.l a0,a2 ini_lp cmp.w #-1,(a2)+ bne.s ini_lp sub.l a0,a2 move.l 4(a0),d2 sub.l a2,d2 reloc LEA table_b(PC),A3 MOVE.L A0,$0020(A3) MOVE.L A0,D0 sub.l d2,4(a0) ADD.L D0,4(A0) sub.l d2,8(a0) ADD.L D0,8(A0) sub.l d2,$c(a0) add.l $c(a0),d2 ADD.L D0,$C(A0) MOVE.L A1,D0 BEQ.B reloc1 MOVE.L A1,$000C(A0) reloc1 MOVE.L $000C(A0),D0 MOVEQ #0,D1 MOVE.B 2(A0),D1 ; get nr of samples SUBQ.W #1,D1 LEA $0010(A0),A1 reloc2 sub.l d2,(a1) ADD.L D0,(A1) ; reloc sampleadr sub.l d2,6(a1) ADD.L D0,6(A1) ; reloc loopadr LEA $0010(A1),A1 DBRA D1,reloc2 LEA temp1(PC),A1 MOVEQ #$0014,D0 clr1 CLR.W (A1)+ DBRA D0,clr1 LEA temp2(PC),A1 MOVEQ #$0014,D0 clr2 CLR.W (A1)+ DBRA D0,clr2 LEA temp3(PC),A1 MOVEQ #$0014,D0 clr3 CLR.W (A1)+ DBRA D0,clr3 LEA temp4(PC),A1 MOVEQ #$0014,D0 clr4 CLR.W (A1)+ DBRA D0,clr4 MOVEA.L 8(A0),A1 MOVE.L A1,$0014(A3) MOVEQ #0,D1 MOVE.W (A1)+,D1 ADD.L 4(A0),D1 MOVE.L D1,-$0090(A3) MOVEQ #0,D1 MOVE.W (A1)+,D1 ADD.L 4(A0),D1 MOVE.L D1,-$0064(A3) MOVEQ #0,D1 MOVE.W (A1)+,D1 ADD.L 4(A0),D1 MOVE.L D1,-$0038(A3) MOVEQ #0,D1 MOVE.W (A1)+,D1 ADD.L 4(A0),D1 MOVE.L D1,-$000C(A3) MOVE.L A1,$000C(A3) MOVE.L 4(A0),$0018(A3) LEA irq3(PC),A0 MOVE.L A0,$001C(A3) MOVE.W #$003F,4(A3) MOVE.W #6,6(A3) MOVE.W #5,8(A3) CLR.W $000A(A3) CLR.L $0010(A3) CLR.W (A3) MOVE.B #$003F,$00BFDD00.L MOVE.B #-$007F,$00BFDD00.L MOVE.B #-$0069,$00BFD400.L MOVE.B #1,$00BFD500.L MOVE.B #-$0070,$00BFDE00.L MOVE.W #$6000,$00DFF09C.L MOVE.W #-$6000,$00DFF09A.L MOVE.L $0078.W,$0024(A3) ORI.B #2,$00BFE001.L MOVE.W #$000F,$00DFF096.L MOVEQ #0,D0 LEA irq2(PC),A0 MOVE.L A0,$0078.W CLR.W $00DFF0A8.L CLR.W $00DFF0B8.L CLR.W $00DFF0C8.L CLR.W $00DFF0D8.L RTS initirq MOVE.B #$003F,$00BFDD00.L MOVE.B #-$007F,$00BFDD00.L MOVE.B #-$0069,$00BFD400.L MOVE.B #1,$00BFD500.L MOVE.B #-$0070,$00BFDE00.L RTS _stop CLR.W $00DFF0A8.L CLR.W $00DFF0B8.L CLR.W $00DFF0C8.L CLR.W $00DFF0D8.L MOVE.L oldirq(PC),$0078.W RTS _play LEA table_b(PC),A3 MOVEQ #$002C,D6 MOVEQ #$0010,D7 MOVE.W (A3),D4 ADDQ.W #1,D4 CMP.W speed(PC),D4 BEQ.W testnew LEA temp1(PC),A5 LEA $00DFF0A0.L,A4 MOVE.W D4,(A3) MOVEQ #3,D5 playeffect_lp TST.W $001E(A5) BEQ.W exit_eff MOVEQ #$000F,D0 AND.W (A5),D0 ADD.W D0,D0 MOVE.W bratab(PC,D0.W),D0 JMP bratab(PC,D0.W) bratab DC.W $65C DC.W $66C DC.W $690 DC.W $61C DC.W $A68 DC.W $5F6 DC.W $A42 DC.W $AA6 DC.W $F4 DC.W $65C DC.W $5C6 DC.W $65C DC.W $65C DC.W $65C DC.W $20 DC.W $65C L_1f0 MOVE.B 2(A5),D0 ANDI.B #-$0010,D0 CMPI.W #$0090,D0 BEQ.B L_25E CMPI.W #$00C0,D0 BEQ.B L_246 CMPI.W #$00D0,D0 BNE.W exit_eff MOVEQ #$000F,D0 AND.B 2(A5),D0 CMP.W (A3),D0 BNE.W exit_eff MOVE.W $002A(A5),D0 ORI.W #-$8000,D0 OR.W D0,2(A3) MOVEA.L 4(A5),A1 MOVE.L (A1)+,(A4) MOVE.W (A1),4(A4) BSR.W initirq MOVE.B #-$006F,$00BFDE00.L LEA irq1(PC),A1 MOVE.L A1,$0078.W BRA.W exit_eff L_246 MOVEQ #$000F,D0 AND.B 2(A5),D0 CMP.W (A3),D0 BNE.W exit_eff CLR.W 8(A4) CLR.W $000E(A5) BRA.W exit_eff L_25E SUBQ.W #1,$001A(A5) BNE.W exit_eff MOVE.W $002A(A5),D0 MOVE.W D0,$00DFF096.L ORI.W #-$8000,D0 OR.W D0,2(A3) MOVEA.L 4(A5),A1 MOVE.L (A1)+,(A4) MOVE.W (A1),4(A4) BSR.W initirq MOVE.B #-$006F,$00BFDE00.L LEA irq1(PC),A1 MOVE.L A1,$0078.W MOVEQ #$000F,D0 AND.B 2(A5),D0 MOVE.W D0,$001A(A5) BRA.W exit_eff arptab DC.W 1 DC.W $200 DC.W $102 DC.W 1 DC.W $200 DC.W $102 DC.W 1 DC.W $200 DC.W $102 DC.W 1 DC.W $200 DC.W $102 DC.W 1 DC.W $200 DC.W $102 DC.W 1 arpeggio MOVE.W (A3),D0 MOVE.B arptab(PC,D0.W),D0 BEQ.B L_2DA BTST #0,D0 BNE.B L_2DE MOVEQ #$000F,D0 AND.B 2(A5),D0 BRA.B L_2E6 L_2DA MOVEQ #0,D0 BRA.B L_2E6 L_2DE MOVEQ #0,D0 MOVE.B 2(A5),D0 LSR.B #4,D0 L_2E6 ADD.W D0,D0 ADD.W $001C(A5),D0 MOVE.W peritab(PC,D0.W),6(A4) BRA.W exit_eff peritab DC.L $3580358 DC.L $32802FA DC.L $2D002A6 DC.L $280025C DC.L $23A021A DC.L $1FC01E0 DC.L $1C501AC DC.L $194017D DC.L $1680153 DC.L $140012E DC.L $11D010D DC.L $FE00F0 DC.L $E200D6 DC.L $CA00BE DC.L $B400AA DC.L $A00097 DC.L $8F0087 DC.L $7F0078 DC.L $710352 DC.L $3520322 DC.L $2F502CB DC.L $2A2027D DC.L $2590237 DC.L $21701F9 DC.L $1DD01C2 DC.L $1A90191 DC.L $17B0165 DC.L $151013E DC.L $12C011C DC.L $10C00FD DC.L $EF00E1 DC.L $D500C9 DC.L $BD00B3 DC.L $A9009F DC.L $96008E DC.L $86007E DC.L $770071 DC.L $34C034C DC.L $31C02F0 DC.L $2C5029E DC.L $2780255 DC.L $2330214 DC.L $1F601DA DC.L $1BF01A6 DC.L $18E0178 DC.L $163014F DC.L $13C012A DC.L $11A010A DC.L $FB00ED DC.L $E000D3 DC.L $C700BC DC.L $B100A7 DC.L $9E0095 DC.L $8D0085 DC.L $7D0076 DC.L $700346 DC.L $3460317 DC.L $2EA02C0 DC.L $2990274 DC.L $250022F DC.L $21001F2 DC.L $1D601BC DC.L $1A3018B DC.L $1750160 DC.L $14C013A DC.L $1280118 DC.L $10800F9 DC.L $EB00DE DC.L $D100C6 DC.L $BB00B0 DC.L $A6009D DC.L $94008C DC.L $84007D DC.L $76006F DC.L $3400340 DC.L $31102E5 DC.L $2BB0294 DC.L $26F024C DC.L $22B020C DC.L $1EF01D3 DC.L $1B901A0 DC.L $1880172 DC.L $15E014A DC.L $1380126 DC.L $1160106 DC.L $F700E9 DC.L $DC00D0 DC.L $C400B9 DC.L $AF00A5 DC.L $9C0093 DC.L $8B0083 DC.L $7C0075 DC.L $6E033A DC.L $33A030B DC.L $2E002B6 DC.L $28F026B DC.L $2480227 DC.L $20801EB DC.L $1CF01B5 DC.L $19D0186 DC.L $170015B DC.L $1480135 DC.L $1240114 DC.L $10400F5 DC.L $E800DB DC.L $CE00C3 DC.L $B800AE DC.L $A4009B DC.L $92008A DC.L $82007B DC.L $74006D DC.L $3340334 DC.L $30602DA DC.L $2B1028B DC.L $2660244 DC.L $2230204 DC.L $1E701CC DC.L $1B2019A DC.L $183016D DC.L $1590145 DC.L $1330122 DC.L $1120102 DC.L $F400E6 DC.L $D900CD DC.L $C100B7 DC.L $AC00A3 DC.L $9A0091 DC.L $890081 DC.L $7A0073 DC.L $6D032E DC.L $32E0300 DC.L $2D502AC DC.L $2860262 DC.L $23F021F DC.L $20101E4 DC.L $1C901AF DC.L $1970180 DC.L $16B0156 DC.L $1430131 DC.L $1200110 DC.L $10000F2 DC.L $E400D8 DC.L $CC00C0 DC.L $B500AB DC.L $A10098 DC.L $900088 DC.L $800079 DC.L $72006C DC.L $38B038B DC.L $3580328 DC.L $2FA02D0 DC.L $2A60280 DC.L $25C023A DC.L $21A01FC DC.L $1E001C5 DC.L $1AC0194 DC.L $17D0168 DC.L $1530140 DC.L $12E011D DC.L $10D00FE DC.L $F000E2 DC.L $D600CA DC.L $BE00B4 DC.L $AA00A0 DC.L $97008F DC.L $87007F DC.L $780384 DC.L $3840352 DC.L $32202F5 DC.L $2CB02A3 DC.L $27C0259 DC.L $2370217 DC.L $1F901DD DC.L $1C201A9 DC.L $191017B DC.L $1650151 DC.L $13E012C DC.L $11C010C DC.L $FD00EE DC.L $E100D4 DC.L $C800BD DC.L $B300A9 DC.L $9F0096 DC.L $8E0086 DC.L $7E0077 DC.L $37E037E DC.L $34C031C DC.L $2F002C5 DC.L $29E0278 DC.L $2550233 DC.L $21401F6 DC.L $1DA01BF DC.L $1A6018E DC.L $1780163 DC.L $14F013C DC.L $12A011A DC.L $10A00FB DC.L $ED00DF DC.L $D300C7 DC.L $BC00B1 DC.L $A7009E DC.L $95008D DC.L $85007D DC.L $760377 DC.L $3770346 DC.L $31702EA DC.L $2C00299 DC.L $2740250 DC.L $22F0210 DC.L $1F201D6 DC.L $1BC01A3 DC.L $18B0175 DC.L $160014C DC.L $13A0128 DC.L $1180108 DC.L $F900EB DC.L $DE00D1 DC.L $C600BB DC.L $B000A6 DC.L $9D0094 DC.L $8C0084 DC.L $7D0076 DC.L $3710371 DC.L $3400311 DC.L $2E502BB DC.L $294026F DC.L $24C022B DC.L $20C01EE DC.L $1D301B9 DC.L $1A00188 DC.L $172015E DC.L $14A0138 DC.L $1260116 DC.L $10600F7 DC.L $E900DC DC.L $D000C4 DC.L $B900AF DC.L $A5009C DC.L $93008B DC.L $83007B DC.L $75036B DC.L $36B033A DC.L $30B02E0 DC.L $2B6028F DC.L $26B0248 DC.L $2270208 DC.L $1EB01CF DC.L $1B5019D DC.L $1860170 DC.L $15B0148 DC.L $1350124 DC.L $1140104 DC.L $F500E8 DC.L $DB00CE DC.L $C300B8 DC.L $AE00A4 DC.L $9B0092 DC.L $8A0082 DC.L $7B0074 DC.L $3640364 DC.L $3340306 DC.L $2DA02B1 DC.L $28B0266 DC.L $2440223 DC.L $20401E7 DC.L $1CC01B2 DC.L $19A0183 DC.L $16D0159 DC.L $1450133 DC.L $1220112 DC.L $10200F4 DC.L $E600D9 DC.L $CD00C1 DC.L $B700AC DC.L $A3009A DC.L $910089 DC.L $81007A DC.L $73035E DC.L $35E032E DC.L $30002D5 DC.L $2AC0286 DC.L $262023F DC.L $21F0201 DC.L $1E401C9 DC.L $1AF0197 DC.L $180016B DC.L $1560143 DC.L $1310120 DC.L $1100100 DC.L $F200E4 DC.L $D800CB DC.L $C000B5 DC.L $AB00A1 DC.L $980090 DC.L $880080 DC.L $790072 L_796 MOVE.B 2(A5),D0 SUB.B D0,$000F(A5) BPL.B L_7AC CLR.W $000E(A5) CLR.W 8(A4) BRA.W exit_eff L_7AC MOVEQ #$0040,D0 CMP.W $000E(A5),D0 BGE.B L_7BE MOVE.W D0,$000E(A5) MOVE.W D0,8(A4) BRA.B exit_eff L_7BE MOVE.W $000E(A5),8(A4) BRA.B exit_eff MOVE.B 2(A5),D0 SUB.B D0,$000F(A5) BPL.B L_7DA CLR.W $000E(A5) CLR.W 8(A4) BRA.B L_7EC L_7DA MOVEQ #$0040,D0 CMP.W $000E(A5),D0 BGE.B L_7E6 MOVE.W D0,$000E(A5) L_7E6 MOVE.W $000E(A5),8(A4) L_7EC MOVE.W $0012(A5),D0 BEQ.B exit_eff MOVE.W $0014(A5),D1 CMP.W $0010(A5),D0 BLT.B L_814 ADD.W D1,$0010(A5) CMP.W $0010(A5),D0 BGT.B L_826 MOVE.W D0,$0010(A5) CLR.W $0012(A5) MOVE.W D0,6(A4) BRA.B exit_eff L_814 SUB.W D1,$0010(A5) CMP.W $0010(A5),D0 BLT.B L_826 MOVE.W D0,$0010(A5) CLR.W $0012(A5) L_826 MOVE.W $0010(A5),6(A4) exit_eff ADDA.W D6,A5 ADDA.W D7,A4 DBRA D5,playeffect_lp CMP.W underspeed(PC),D4 BEQ.B L_888 RTS L_83c MOVEQ #0,D0 MOVE.B 2(A5),D0 SUB.W D0,$0010(A5) MOVEQ #$0071,D0 CMP.W $0010(A5),D0 BLE.B L_858 MOVE.W D0,$0010(A5) MOVE.W D0,6(A4) BRA.B exit_eff L_858 MOVE.W $0010(A5),6(A4) BRA.B exit_eff L_860 MOVEQ #0,D0 MOVE.B 2(A5),D0 ADD.W D0,$0010(A5) CMPI.W #$0358,$0010(A5) BLE.B L_880 MOVE.W #$0358,D0 MOVE.W D0,$0010(A5) MOVE.W D0,6(A4) BRA.B exit_eff L_880 MOVE.W $0010(A5),6(A4) BRA.B exit_eff L_888 TST.W $0010(A3) BEQ.B L_894 SUBQ.W #1,$0010(A3) RTS L_894 LEA temp1(PC),A5 MOVEA.L L_1234(PC),A0 MOVEA.L L_122C(PC),A4 MOVEQ #3,D5 L_8A2 TST.B 3(A5) BEQ.B L_8C0 BMI.B L_8BA SUBQ.B #1,3(A5) CLR.W $001E(A5) ADDA.W D6,A5 DBRA D5,L_8A2 BRA.B L_916 L_8BA ADDQ.B #1,3(A5) BRA.B L_8F6 L_8C0 TST.B $0029(A5) BEQ.B L_8D6 SUBQ.B #1,$0029(A5) ADDQ.L #4,$0024(A5) MOVEA.L $0024(A5),A2 MOVE.L (A2),(A5) BRA.B L_8F6 L_8D6 MOVEA.L $0020(A5),A2 TST.B (A2) BMI.B L_8E2 MOVE.L (A2),(A5) BRA.B L_8F2 L_8E2 MOVE.W (A2)+,$0028(A5) MOVE.W (A2),D0 LEA (A4,D0.W),A2 MOVE.L (A2),(A5) MOVE.L A2,$0024(A5) L_8F2 ADDQ.L #4,$0020(A5) L_8F6 MOVE.W (A5),D0 ST $001E(A5) ANDI.W #$01F0,D0 BEQ.B L_910 LEA (A0,D0.W),A1 MOVE.L A1,4(A5) MOVE.L $000C(A1),$000C(A5) L_910 ADDA.W D6,A5 DBRA D5,L_8A2 L_916 SUBQ.W #1,4(A3) BPL.B L_958 MOVE.W #$003F,4(A3) MOVEA.L $000C(A3),A1 MOVE.W (A1)+,D0 BPL.B L_930 MOVEA.L L_1228(PC),A1 MOVE.W (A1)+,D0 L_930 LEA (A4,D0.W),A2 MOVE.L A2,-$0090(A3) MOVE.W (A1)+,D0 LEA (A4,D0.W),A2 MOVE.L A2,-$0064(A3) MOVE.W (A1)+,D0 LEA (A4,D0.W),A2 MOVE.L A2,-$0038(A3) MOVE.W (A1)+,D0 ADDA.W D0,A4 MOVE.L A4,-$000C(A3) MOVE.L A1,$000C(A3) L_958 RTS testnew CLR.W (A3) TST.W $0012(A3) BEQ.B playnew SUBQ.W #1,$0012(A3) RTS playnew LEA temp1(PC),A5 LEA $00DFF0A0.L,A4 LEA peritab(PC),A2 BSR.W initirq MOVE.B #-$006F,$00BFDE00.L LEA irq1(PC),A1 MOVE.L A1,$0078.W MOVE.W #-$8000,D4 MOVEQ #3,D5 playvoc_lp TST.W $001E(A5) BEQ.B plv_lpc MOVEQ #$000F,D1 AND.W (A5),D1 SUBQ.W #3,D1 BEQ.B plv_1 SUBQ.W #2,D1 BEQ.B plv_2 MOVEQ #$007E,D0 AND.B (A5),D0 BEQ.B dobra2 CLR.B $0017(A5) ADD.W $000C(A5),D0 MOVE.W D0,$001C(A5) MOVE.W (A2,D0.W),$0010(A5) MOVE.W $002A(A5),D0 MOVE.W D0,$00DFF096.L EOR.W D0,D4 SUBQ.W #4,D1 BEQ.B plv_setloop MOVEA.L 4(A5),A1 MOVE.L (A1)+,(A4) MOVE.W (A1),4(A4) dobra2 MOVEQ #$000F,D0 AND.W (A5),D0 LEA bratab2(PC),A1 ADD.W D0,D0 ADDA.W (A1,D0.W),A1 JMP (A1) plv_1 MOVE.B 2(A5),D0 BEQ.B plv_2 MOVE.B D0,$0015(A5) plv_2 MOVEQ #$007E,D0 AND.B (A5),D0 BEQ.B plv_lpc ADD.W $000C(A5),D0 MOVE.W D0,$001C(A5) MOVE.W (A2,D0.W),$0012(A5) plv_lpc MOVE.W $0010(A5),6(A4) MOVE.W $000E(A5),8(A4) ADDA.W D6,A5 ADDA.W D7,A4 DBRA D5,playvoc_lp MOVE.W D4,2(A3) RTS plv_setloop MOVEQ #0,D1 MOVE.B 2(A5),D1 LSL.W #8,D1 MOVEA.L 4(A5),A1 MOVE.L (A1)+,D0 ADD.L D1,D0 MOVE.L D0,(A4) ASR.W #1,D1 MOVE.W (A1),D0 SUB.W D1,D0 BPL.B plv_setlp2 MOVE.L -4(A1),(A4) MOVEQ #1,D0 plv_setlp2 MOVE.W D0,4(A4) BRA.B plv_lpc L_a42 MOVE.B 2(A5),$000F(A5) BRA.B plv_lpc L_a4a MOVEQ #0,D0 MOVE.B 2(A5),D0 ASL.W #2,D0 ADD.L L_1228(PC),D0 MOVE.L D0,$000C(A3) MOVE.W #$003F,4(A3) MOVEA.L $000C(A3),A1 MOVEA.L L_122C(PC),A2 MOVE.W (A1)+,D0 BPL.B L_A72 MOVEA.L L_1228(PC),A1 MOVE.W (A1)+,D0 L_A72 MOVEM.W (A1)+,D1-D3 MOVE.L A1,$000C(A3) LEA (A2,D0.W),A1 MOVE.L A1,-$0090(A3) LEA (A2,D1.W),A1 MOVE.L A1,-$0064(A3) LEA (A2,D2.W),A1 MOVE.L A1,-$0038(A3) ADDA.W D3,A2 MOVE.L A2,-$000C(A3) BRA.W plv_lpc L_a9c MOVE.B 2(A5),D0 BEQ.W plv_lpc MOVE.B D0,D1 MOVE.B $0016(A5),D2 ANDI.B #$000F,D0 BEQ.B L_AB6 ANDI.B #-$0010,D2 OR.B D0,D2 L_AB6 ANDI.B #-$0010,D1 BEQ.B L_AC2 ANDI.B #$000F,D2 OR.B D1,D2 L_AC2 MOVE.B D2,$0016(A5) BRA.W plv_lpc L_aca MOVE.B 2(A5),D0 BEQ.W plv_lpc MOVE.B D0,D1 MOVE.B $0018(A5),D2 MOVEQ #$000F,D3 AND.B D3,D0 BEQ.B L_AE4 ANDI.B #-$0010,D2 OR.B D0,D2 L_AE4 ANDI.B #-$0010,D1 BEQ.B L_AEE AND.B D3,D2 OR.B D1,D2 L_AEE MOVE.B D2,$0018(A5) BRA.W plv_lpc L_af6 MOVE.B 2(A5),D0 ANDI.B #-$0010,D0 LSR.W #3,D0 MOVE.W bratab3(PC,D0.W),D0 JMP bratab3(PC,D0.W) bratab3 DC.W $20 DC.W $36 DC.W $52 DC.W -$106 DC.W -$106 DC.W $8C DC.W -$106 DC.W -$106 DC.W -$106 DC.W $9E DC.W $70 DC.W $AC DC.W -$106 DC.W $C2 DC.W $CC DC.W -$106 L_b28 MOVE.B 2(A5),D0 ANDI.B #-3,$00BFE001.L OR.B D0,$00BFE001.L BRA.W plv_lpc L_b3e MOVEQ #$000F,D0 AND.B 2(A5),D0 SUB.W D0,$0010(A5) MOVEQ #$0071,D0 CMP.W $0010(A5),D0 BLE.W plv_lpc MOVE.W D0,$0010(A5) BRA.W plv_lpc L_B5a MOVEQ #$000F,D0 AND.B 2(A5),D0 ADD.W D0,$0010(A5) CMPI.W #$0358,$0010(A5) BLE.W plv_lpc MOVE.W #$0358,$0010(A5) BRA.W plv_lpc L_b78 MOVEQ #$000F,D0 AND.B 2(A5),D0 ADD.W D0,$000E(A5) MOVEQ #$0040,D0 CMP.W $000E(A5),D0 BGE.W plv_lpc MOVE.W D0,$000E(A5) BRA.W plv_lpc L_B94 MOVEQ #$000F,D0 AND.B 2(A5),D0 MULU #$004A,D0 MOVE.W D0,$000C(A5) BRA.W plv_lpc L_ba6 MOVEQ #$000F,D0 AND.B 2(A5),D0 MOVE.W D0,$001A(A5) BRA.W plv_lpc L_bb4 MOVEQ #$000F,D0 AND.B 2(A5),D0 SUB.W D0,$000E(A5) BPL.W plv_lpc CLR.W $000E(A5) BRA.W plv_lpc L_bca MOVE.W $002A(A5),D0 EOR.W D0,D4 BRA.W plv_lpc L_bd4 MOVEQ #$000F,D0 AND.B 2(A5),D0 MOVE.W D0,$0010(A3) MOVE.W D0,$0012(A3) BRA.W plv_lpc L_be6 MOVE.B 2(A5),D0 CMPI.B #1,D0 BNE.B L_C00 MOVE.B D0,7(A3) MOVE.B D0,9(A3) ST $000A(A3) BRA.W plv_lpc L_C00 MOVE.B D0,7(A3) SUBQ.B #1,D0 MOVE.B D0,9(A3) CLR.W $000A(A3) BRA.W plv_lpc L_c12 MOVE.B 2(A5),D0 SUB.B D0,$000F(A5) BPL.B L_C26 CLR.W $000E(A5) CLR.W 8(A4) BRA.B L_C38 L_C26 MOVEQ #$0040,D0 CMP.W $000E(A5),D0 BGE.B L_C32 MOVE.W D0,$000E(A5) L_C32 MOVE.W $000E(A5),8(A4) L_C38 MOVEQ #$000F,D0 AND.B $0016(A5),D0 LSL.W #6,D0 MOVE.B $0017(A5),D1 LSR.W #1,D1 ANDI.W #$003E,D1 ADD.W D1,D0 MOVE.W L_CC0(PC,D0.W),D2 MOVE.W $0010(A5),D0 TST.B $0017(A5) BMI.B L_C5E ADD.W D2,D0 BRA.B L_C60 L_C5E SUB.W D2,D0 L_C60 MOVE.W D0,6(A4) MOVE.B $0016(A5),D0 LSR.B #2,D0 ANDI.W #$003C,D0 ADD.B D0,$0017(A5) BRA.W exit_eff L_c76 MOVEQ #$000F,D0 AND.B $0018(A5),D0 LSL.W #6,D0 MOVE.B $0019(A5),D1 LSR.W #1,D1 ANDI.W #$003E,D1 ADD.W D1,D0 MOVE.W L_CC0(PC,D0.W),D2 MOVE.W $000E(A5),D0 TST.B $0019(A5) BMI.B L_CA4 ADD.W D2,D0 CMPI.W #$0040,D0 BLE.B L_CAA MOVEQ #$0040,D0 BRA.B L_CAA L_CA4 SUB.W D2,D0 BPL.B L_CAA MOVEQ #0,D0 L_CAA MOVE.W D0,8(A4) MOVE.B $0018(A5),D0 LSR.B #2,D0 ANDI.W #$003C,D0 ADD.B D0,$0019(A5) BRA.W exit_eff L_CC0 DC.L 0 DC.L 0 DC.L 0 DC.L 0 DC.L 0 DC.L 0 DC.L 0 DC.L 0 DC.L 0 DC.L 0 DC.L 0 DC.L 0 DC.L 0 DC.L 0 DC.L 0 DC.L 0 DC.L 0 DC.L 0 DC.L 0 DC.L $10001 DC.L $10001 DC.L $10001 DC.L $10001 DC.L $10001 DC.L $10001 DC.L $10001 DC.L $10001 DC.L $10001 DC.L $10001 DC.L $10000 DC.L 0 DC.L 0 DC.L 0 DC.L 1 DC.L $10001 DC.L $20002 DC.L $20003 DC.L $30003 DC.L $30003 DC.L $30003 DC.L $30003 DC.L $30003 DC.L $30003 DC.L $30003 DC.L $20002 DC.L $20001 DC.L $10001 DC.L 0 DC.L 0 DC.L $10001 DC.L $20002 DC.L $30003 DC.L $40004 DC.L $40005 DC.L $50005 DC.L $50005 DC.L $50005 DC.L $50005 DC.L $50005 DC.L $40004 DC.L $40003 DC.L $30002 DC.L $20001 DC.L $10000 DC.L 0 DC.L $10002 DC.L $30003 DC.L $40005 DC.L $50006 DC.L $60007 DC.L $70007 DC.L $70007 DC.L $70007 DC.L $70007 DC.L $70007 DC.L $60006 DC.L $50005 DC.L $40003 DC.L $30002 DC.L $10000 DC.L 0 DC.L $10002 DC.L $30004 DC.L $50006 DC.L $70007 DC.L $80008 DC.L $90009 DC.L $90009 DC.L $90009 DC.L $90009 DC.L $90008 DC.L $80007 DC.L $70006 DC.L $50004 DC.L $30002 DC.L $10000 DC.L 1 DC.L $20003 DC.L $40005 DC.L $60007 DC.L $80009 DC.L $9000A DC.L $B000B DC.L $B000B DC.L $B000B DC.L $B000B DC.L $B000A DC.L $90009 DC.L $80007 DC.L $60005 DC.L $40003 DC.L $20001 DC.L 1 DC.L $20004 DC.L $50006 DC.L $70008 DC.L $9000A DC.L $B000C DC.L $C000D DC.L $D000D DC.L $D000D DC.L $D000D DC.L $C000C DC.L $B000A DC.L $90008 DC.L $70006 DC.L $50004 DC.L $20001 DC.L 1 DC.L $30004 DC.L $60007 DC.L $8000A DC.L $B000C DC.L $D000E DC.L $E000F DC.L $F000F DC.L $F000F DC.L $F000F DC.L $E000E DC.L $D000C DC.L $B000A DC.L $80007 DC.L $60004 DC.L $30001 DC.L 1 DC.L $30005 DC.L $60008 DC.L $9000B DC.L $C000D DC.L $E000F DC.L $100011 DC.L $110011 DC.L $110011 DC.L $110011 DC.L $10000F DC.L $E000D DC.L $C000B DC.L $90008 DC.L $60005 DC.L $30001 DC.L 1 DC.L $30005 DC.L $70009 DC.L $B000C DC.L $E000F DC.L $100011 DC.L $120013 DC.L $130013 DC.L $130013 DC.L $130013 DC.L $120011 DC.L $10000F DC.L $E000C DC.L $B0009 DC.L $70005 DC.L $30001 DC.L 2 DC.L $40006 DC.L $8000A DC.L $C000D DC.L $F0010 DC.L $120013 DC.L $140014 DC.L $150015 DC.L $150015 DC.L $150014 DC.L $140013 DC.L $120010 DC.L $F000D DC.L $C000A DC.L $80006 DC.L $40002 DC.L 2 DC.L $40006 DC.L $9000B DC.L $D000F DC.L $100012 DC.L $130015 DC.L $160016 DC.L $170017 DC.L $170017 DC.L $170016 DC.L $160015 DC.L $130012 DC.L $10000F DC.L $D000B DC.L $90006 DC.L $40002 DC.L 2 DC.L $40007 DC.L $9000C DC.L $E0010 DC.L $120014 DC.L $150016 DC.L $170018 DC.L $190019 DC.L $190019 DC.L $190018 DC.L $170016 DC.L $150014 DC.L $120010 DC.L $E000C DC.L $90007 DC.L $40002 DC.L 2 DC.L $50008 DC.L $A000D DC.L $F0011 DC.L $130015 DC.L $170018 DC.L $19001A DC.L $1B001B DC.L $1B001B DC.L $1B001A DC.L $190018 DC.L $170015 DC.L $130011 DC.L $F000D DC.L $A0008 DC.L $50002 DC.L 2 DC.L $50008 DC.L $B000E DC.L $100012 DC.L $150017 DC.L $18001A DC.L $1B001C DC.L $1D001D DC.L $1D001D DC.L $1D001C DC.L $1B001A DC.L $180017 DC.L $150012 DC.L $10000E DC.L $B0008 DC.L $50002 bratab2 DC.W -$6BE DC.W -$6BE DC.W -$6BE DC.W -$6BE DC.W -$624 DC.W -$6BE DC.W -$6BE DC.W -$5F6 DC.W -$6BE DC.W -$6BE DC.W -$6BE DC.W -$676 DC.W -$67E DC.W -$666 DC.W -$5CA DC.W -$4DA irq1 MOVE.W dmamask(PC),$00DFF096.L MOVE.L irq3adr(PC),$0078.W TST.B $00BFDD00.L irq2 MOVE.W #$2000,$00DFF09C.L RTE irq3 MOVEM.L D0/A0-A1,-(A7) LEA $00DFF0A0.L,A1 MOVE.W dmamask(PC),D0 MOVEA.L voc1(PC),A0 MOVE.L 6(A0),(A1) MOVE.W $000A(A0),4(A1) MOVEA.L voc2(PC),A0 MOVE.L 6(A0),$0010(A1) MOVE.W $000A(A0),$0014(A1) MOVEA.L voc3(PC),A0 MOVE.L 6(A0),$0020(A1) MOVE.W $000A(A0),$0024(A1) MOVEA.L voc4(PC),A0 MOVE.L 6(A0),$0030(A1) MOVE.W $000A(A0),$0034(A1) TST.B $00BFDD00.L MOVE.B #-$0080,$00BFDE00.L MOVE.W #$2000,-4(A1) MOVEM.L (A7)+,D0/A0-A1 RTE temp1 DC.L 0 voc1 DC.L 0 DC.L 0 DC.L 0 DC.L 0 DC.L 0 DC.L 0 DC.L 0 DC.L 0 DC.L 0 DC.L 1 temp2 DC.L 0 voc2 DC.L 0 DC.L 0 DC.L 0 DC.L 0 DC.L 0 DC.L 0 DC.L 0 DC.L 0 DC.L 0 DC.L 2 temp3 DC.L 0 voc3 DC.L 0 DC.L 0 DC.L 0 DC.L 0 DC.L 0 DC.L 0 DC.L 0 DC.L 0 DC.L 0 DC.L 4 temp4 DC.L 0 voc4 DC.L 0 DC.L 0 DC.L 0 DC.L 0 DC.L 0 DC.L 0 DC.L 0 DC.L 0 DC.L 0 DC.L 8 table_b DC.W 0 dmamask DC.W -$8000 DC.W $3F speed DC.W 6 underspeed DC.W 5 DC.W 0 DC.W 0 DC.W 0 DC.W 0 DC.W 0 L_1228 DC.L 0 L_122C DC.L 0 irq3adr DC.L 0 L_1234 DC.L 0 oldirq DC.L 0 DC.L -1 DC.L $FFFF DC.L -$10000 DC.L -1 DC.L $FFFF DC.L -$10000 DC.L -1 DC.L $FFFF DC.L -$10000 DC.L -1 DC.L $FFFF DC.L -$10000 DC.L -1 DC.L $FFFF DC.L -$10000 DC.L -1 DC.L $FFFF DC.L -$10000 DC.L -1 DC.L $FFFF DC.L -$10000 DC.L -1 DC.L $FFFF DC.L -$10000 DC.L -1 DC.L $FFFF DC.L -$10000 DC.L -1 DC.L $FFFF DC.L -$10000 DC.L -1 DC.L $FFFF DC.L -$10000 DC.L -1 DC.L $FFFF DC.L -$10000 DC.L -1 DC.L $FFFF DC.L -$10000 DC.L -1 DC.L $FFFF DC.L -$10000 DC.L -1 DC.L $FFFF DC.L -$10000 DC.L -1 DC.L $FFFF DC.L -$10000 DC.L $30000 END .