; Text(rp,string,count)(a1,a0,d0) Text: movem.l D2-D7/A2-A5,-(A7) tst.w D0 beq.w JL_0_574 ;exit move.l (A1),D1 beq.b 7$ movea.l D1,A5 ; LockLayerRom move.l a0,d2 move.l a6,d3 lea $48(A5),A0 movea.l gb_ExecBase(a6),A6 jsr _LVOObtainSemaphore(A6) movea.l d3,a6 movea.l d2,a0 ; 7$: movem.l D0/A0-A1,-(A7) bsr.w JL_0_B28 movem.l (A7)+,d7/a3-a4 lea -$68(A7),A7 movea.l A7,A5 move.b #$1,$18(A5) movem.w D0-D2,$6(A5) movea.l $34(A4),A2 move.l (A4),D3 beq.b 9$ movea.l D3,A0 tst.l $24(A0) bne.b 9$ move.w $24(A4),D4 add.w $10(A0),D4 sub.w $2C(A0),D4 move.w $26(A4),D5 add.w $12(A0),D5 sub.w $2E(A0),D5 move.w D4,D6 add.w D2,D4 add.w D1,D6 sub.w $1A(A2),D5 movea.w D5,A1 adda.w $14(A2),A1 addq.l #8,A0 8$: move.l (A0),D3 beq.w JL_0_55E movea.l D3,A0 cmp.w $14(A0),D4 bgt.b 8$ cmp.w $10(A0),D6 blt.b 8$ cmp.w $16(A0),D5 bgt.b 8$ cmpa.w $12(A0),A1 blt.b 8$ tst.l $8(A0) beq.b 9$ tst.l $C(A0) beq.b 8$ 9$: move.w $14(A2),D6 beq.w JL_0_55E move.w D1,D3 sub.w D2,D3 beq.w JL_0_55E moveq.l #$00,D5 move.l $E(A2),D1 beq.w JL_0_1DC movea.l D1,A0 cmpi.w #$4E1B,(A0) bne.w JL_0_1DC cmpa.l $4(A0),A2 bne.w JL_0_1DC btst #$1,$2(A0) beq.w JL_0_1DC tst.w $40(A4) bne.w JL_0_1DC move.b $38(A4),D5 andi.b #$7,D5 bne.w JL_0_1DC addq.w #8,D3 bsr.b JL_0_1BC tst.l D1 beq.b FJL_0_19C move.l A1,$48(A5) btst #6,_custom+dmaconr beq.w JL_0_21A move.w #$8400,_custom+dmacon .wait: btst #6,_custom+dmaconr bne.b .wait move.w #$0400,_custom+dmacon .exit: bra.w JL_0_21A cnop 0,4 FJL_0_19C: subq.w #1,D7 beq.w JL_0_566 11$: subq.l #2,A7 move.b (A3)+,(A7) movea.l A7,A0 movea.l A4,A1 moveq.l #$01,D0 bsr.w Text addq.l #2,A7 dbf D7,11$ bra.w JL_0_566 cnop 0,4 JL_0_1BC: lsr.w #4,D3 add.w D3,D3 move.w D3,$18(A5) move.w D6,D0 mulu D3,D0 move.l D0,$14(A5) moveq.l #0,D1 bsr.w JL_0_C14 move.l D0,D1 movea.l D1,A1 move.l A1,$20(A5) rtS cnop 0,4 JL_0_1DC: add.w #$4F,D3 add.w $1A(A2),D3 btst #$6,$16(A2) bne.w JL_0_5BC JL_0_1EE: bsr.b JL_0_1BC tst.l D1 beq.b FJL_0_19C sub.w $1A(A2),D2 move.w D2,D0 asr.w #4,D0 add.w D0,D0 neg.w D0 lea $4(A1,D0.W),A0 move.l A0,$48(A5) tst.b D5 beq.w JL_0_2BC move.w D6,D0 mulu D3,D0 bsr.w JL_0_CA8 movea.l $48(A5),A1 JL_0_21A: movem.l A2/A4-A6,-(A7) move.w D6,D2 subq.w #1,D2 move.w D2,D0 and.w #$7,D0 move.b L_0_270(PC,D0.W),D0 lea JL_0_27C(PC,D0.W),A6 lsr.w #3,D2 subq.w #1,D7 move.b $21(A2),D6 move.w $26(A2),D4 move.b $20(A2),D1 movea.l $28(A2),A4 movea.l $22(A2),A2 movea.l A1,A5 JL_0_24A: moveq.l #$00,D5 move.b (A3)+,D5 cmp.b D6,D5 bhi.b 17$ sub.b D1,D5 bcc.b 18$ 17$: move.b D6,D5 sub.b D1,D5 addq.w #1,D5 18$: add.w D5,D5 add.w D5,D5 move.w $0(A4,D5.W),D0 lsr.w #3,D0 lea $0(A2,D0.W),A1 movea.l A5,A0 move.w D2,D0 19$: jmp (A6) cnop 0,4 L_0_270: dc.b "*$" dc.b $1E,$18,$12,$0C dc.b $06,$00 JL_0_278: adda.w D4,A1 adda.w D3,A0 JL_0_27C: move.b (A1),(A0) adda.w D4,A1 adda.w D3,A0 move.b (A1),(A0) adda.w D4,A1 adda.w D3,A0 move.b (A1),(A0) adda.w D4,A1 adda.w D3,A0 move.b (A1),(A0) adda.w D4,A1 adda.w D3,A0 move.b (A1),(A0) adda.w D4,A1 adda.w D3,A0 move.b (A1),(A0) adda.w D4,A1 adda.w D3,A0 move.b (A1),(A0) adda.w D4,A1 adda.w D3,A0 move.b (A1),(A0) dbf D0,JL_0_278 addq.w #1,A5 dbf D7,JL_0_24A movem.l (A7)+,a2/a4-a6 bra.w JL_0_41A cnop 0,4 JL_0_2BC: move.w D6,D0 mulu D3,D0 bsr.w JL_0_CA8 move.w D7,(A5) move.l A3,$2(A5) clr.w $6(A5) 24$: moveq.l #$00,D5 movea.l $2(A5),A0 move.b (A0)+,D5 move.l A0,$2(A5) cmp.b $21(A2),D5 bhi.b 25$ sub.b $20(A2),D5 bcc.b 26$ 25$: move.b $21(A2),D5 sub.b $20(A2),D5 addq.w #1,D5 26$: add.w D5,D5 move.w $6(A5),D3 move.l $30(A2),D0 beq.b 27$ movea.l D0,A0 add.w $0(A0,D5.W),D3 27$: move.w D3,D7 move.l $2C(A2),D0 bne.b 28$ add.w $18(A2),D3 bra.b 29$ cnop 0,4 28$: movea.l D0,A0 add.w $0(A0,D5.W),D3 29$: add.w $40(A4),D3 move.w D3,$6(A5) add.w D5,D5 movea.l $28(A2),A0 move.l $0(A0,D5.W),D0 move.w D0,D5 beq.w 39$ swap D0 move.w D0,D3 and.w #$F,D3 lsr.w #4,D0 add.w D0,D0 movea.l $22(A2),A1 adda.w D0,A1 movea.w $26(A2),A3 move.w $14(A2),D6 move.w D5,D0 subq.w #1,D0 and.w #$F,D0 add.w D0,D0 lea L_0_C5C(PC),A0 move.w $0(A0,D0.W),D4 swap D4 clr.w D4 lsr.l D3,D4 move.w D7,D0 andi.w #$F,D7 asr.w #4,D0 add.w D0,D0 movea.l $48(A5),A0 adda.w D0,A0 movea.w $18(A5),A2 cmpi.w #$10,D5 bls.b 34$ move.l #$FFFF0000,D2 lsr.l D3,D2 sub.w #$11,D5 lsr.w #4,D5 move.w D5,D0 add.w D0,D0 addq.w #2,D0 suba.w D0,A2 suba.w D0,A3 sub.w D7,D3 bge.b 33$ neg.w D3 bra.b 31$ cnop 0,4 30$: move.l (A1),D0 and.l D2,D0 lsr.l D3,D0 or.l D0,(A0) addq.l #2,A1 addq.l #2,A0 dbf D1,30$ move.l (A1),D0 and.l D4,D0 lsr.l D3,D0 or.l D0,(A0) adda.w A3,A1 adda.w A2,A0 31$: move.w D5,D1 dbf D6,30$ bra.b 39$ cnop 0,4 32$: move.l (A1),D0 and.l D2,D0 lsl.l D3,D0 or.l D0,(A0) addq.l #2,A1 addq.l #2,A0 dbf D1,32$ move.l (A1),D0 and.l D4,D0 lsl.l D3,D0 or.l D0,(A0) adda.w A3,A1 adda.w A2,A0 33$: move.w D5,D1 dbf D6,32$ bra.b 39$ cnop 0,4 34$: sub.w D7,D3 bge.b 38$ neg.w D3 bra.b 36$ cnop 0,4 35$: move.l (A1),D0 and.l D4,D0 lsr.l D3,D0 or.l D0,(A0) adda.w A3,A1 adda.w A2,A0 36$: dbf D6,35$ bra.b 39$ cnop 0,4 37$: move.l (A1),D0 and.l D4,D0 lsl.l D3,D0 or.l D0,(A0) adda.w A3,A1 adda.w A2,A0 38$: dbf D6,37$ 39$: movea.l $34(A4),A2 subq.w #1,(A5) bne.w 24$ JL_0_41A: btst #$1,$38(A4) beq.b 43$ move.w $1C(A2),D1 cmpi.w #$10,D1 bgt.b 42$ movea.l $20(A5),A0 move.l $14(A5),D0 lsr.l #1,D0 subq.l #2,D0 moveq.l #$00,D3 move.w (A0)+,D3 41$: swap D3 move.l D3,D2 lsr.l D1,D2 moveq.l #$00,D3 move.w (A0)+,D3 or.l D2,-$4(A0) dbf D0,41$ bra.b 43$ cnop 0,4 42$: movem.l D2-D7/A2,-(A7) lea $18(A5),A0 movea.l A0,A1 moveq.l #$00,D0 move.w D1,D2 moveq.l #$00,D1 moveq.l #$00,D3 move.w (A0),D4 lsl.w #3,D4 sub.w D2,D4 move.w $14(A2),D5 move.w #$00E5,D6 moveq.l #$01,D7 suba.l A2,A2 jsr _LVOBltBitMap(A6) movem.l (A7)+,D2-D7/A2 43$: btst #$2,$38(A4) beq.w 50$ movea.l $20(A5),A0 move.w $1A(A2),D0 move.w D0,D6 addq.w #1,D0 mulu $18(A5),D0 adda.l D0,A0 movea.l A0,A1 addq.w #1,D6 move.w $14(A2),D5 sub.w D6,D5 blt.b 50$ moveq.l #$01,D1 move.w $18(A5),D7 lsr.w #1,D7 subq.w #1,D7 move.w D7,-(A7) bra.b 46$ cnop 0,4 44$: move.w (A7),D7 addq.w #1,D1 move.w D1,D2 lsr.w #1,D2 move.w D2,D3 andi.w #$F,D2 lsr.w #4,D3 add.w D3,D3 45$: move.l $0(A0,D3.W),D0 lsl.l D2,D0 swap D0 move.w D0,(A0)+ dbf D7,45$ 46$: dbf D5,44$ moveq.l #-$01,D1 bra.b 49$ cnop 0,4 47$: move.w (A7),D7 addq.w #1,D1 move.w D1,D2 lsr.w #1,D2 move.w D2,D3 andi.w #$F,D2 lsr.w #4,D3 add.w D3,D3 neg.w D3 48$: move.l -$4(A1,D3.W),D0 lsr.l D2,D0 move.w D0,-(A1) dbf D7,48$ 49$: dbf D6,47$ addq.l #2,A7 50$: btst #$0,$38(A4) beq.b 51$ movea.l $20(A5),A0 move.w $1A(A2),D0 addq.w #1,D0 cmp.w $14(A2),D0 bge.b 51$ mulu $18(A5),D0 adda.l D0,A0 movea.l A0,A1 bsr.w JL_0_57C 51$: movea.l $48(A5),A0 movea.l A4,A1 move.w $A(A5),D0 move.w $18(A5),D1 move.w $24(A4),D2 add.w D0,D2 move.w $26(A4),D3 sub.w $1A(A2),D3 move.w $8(A5),D4 sub.w D0,D4 move.w $14(A2),D5 jsr _LVOBltTemplate(A6) move.l $14(A5),D0 btst #6,_custom+dmaconr beq.b .exit move.w #$8400,_custom+dmacon .wait: btst #6,_custom+dmaconr bne.b .wait move.w #$0400,_custom+dmacon .exit: movea.l $20(A5),A1 bsr.w JL_0_C84 JL_0_55E: move.w $6(A5),D0 add.w D0,$24(A4) JL_0_566: lea $68(A7),A7 move.l (A4),D0 beq.b JL_0_574 movea.l D0,A5 ; UnlockLayerRom move.l a0,d2 move.l a6,d3 lea $48(A5),A0 movea.l gb_ExecBase(a6),a6 bsr.w ReleaseSemaphore movea.l d3,a6 movea.l d2,a0 ; JL_0_574: movem.l (A7)+,D2-D7/A2-A5 rtS cnop 0,4 JL_0_57C: move.w $18(A5),D4 lsr.w #1,D4 subq.w #1,D4 move.l (A0),D0 move.l D0,D1 swap D1 lsr.w #1,D1 bra.b 57$ cnop 0,4 56$: or.w D3,(A1)+ move.l D0,D1 addq.l #2,A0 move.l (A0),D0 lsr.l #1,D1 57$: move.l D0,D2 add.l D2,D2 swap D2 move.l D0,D3 swap D3 or.w D2,D3 or.w D1,D3 not.w D3 dbf D4,56$ btst #$10,D0 bne.b 58$ bset #$0,D3 58$: or.w D3,(A1)+ rtS cnop 0,4 JL_0_5BC: moveq.l #$00,D4 movea.l $4(A4),A0 move.b $5(A0),D4 moveq.l #$00,D1 move.b $36(A2),D1 btst #$0,$35(A2) beq.b 60$ move.b $37(A2),D0 cmp.b $39(A2),D0 bhi.b 60$ cmp.b $38(A2),D0 bcc.b 61$ 60$: cmp.b D1,D4 bge.b 61$ move.b D4,D1 61$: move.w D1,$C(A5) cmp.b D1,D4 bge.b 62$ move.b D1,D4 62$: move.w D3,D0 lsr.w #4,D0 add.w D0,D0 move.w D0,$18(A5) move.w D0,$40(A5) mulu D6,D0 move.l D0,$14(A5) move.w D4,$1C(A5) beq.w JL_0_1EE move.w D4,$44(A5) clr.w $1E(A5) clr.w $46(A5) move.w D6,$1A(A5) move.w D6,$42(A5) moveq.l #$07,D5 lea $20(A5),A0 63$: clr.l (A0)+ dbf D5,63$ move.w D4,D5 subq.w #1,D5 move.l A6,-(A7) movea.l $1A4(A6),A6 64$: move.l $14(A5),D0 moveq.l #$00,D1 jsr _LVOAllocMem(A6) move.w D5,D1 add.w D1,D1 add.w D1,D1 move.l D0,$20(A5,D1.W) beq.b 66$ movea.l D0,A1 move.l $14(A5),D0 bsr.w JL_0_CA8 dbf D5,64$ move.l $14(A5),D0 moveq.l #0,D1 jsr _LVOAllocMem(A6) move.l D0,D1 moveq.l #7,D0 lea $48(A5),A0 65$: move.l D1,(A0)+ dbeq D0,65$ bne.b 69$ 66$: btst #6,_custom+dmaconr beq.b .exit move.w #$8400,_custom+dmacon .wait: btst #6,_custom+dmaconr bne.b .wait move.w #$0400,_custom+dmacon .exit: moveq.l #7,D5 67$: move.w D5,D1 add.w D1,D1 add.w D1,D1 move.l $20(A5,D1.W),D0 beq.b 68$ movea.l D0,A1 move.l $14(A5),D0 jsr _LVOFreeMem(A6) 68$: dbf D5,67$ move.l (A7)+,a6 moveq.l #$00,D5 bra.w JL_0_1EE cnop 0,4 69$: movea.l (a7)+,a6 move.w D2,D0 neg.w D0 asr.w #4,D0 add.w D0,D0 addq.w #2,D0 move.w D0,$E(A5) move.w D7,(A5) move.l A3,$2(A5) clr.w $6(A5) btst #6,_custom+dmaconr beq.b 70$ move.w #$8400,_custom+dmacon .wait2: btst #6,_custom+dmaconr bne.b .wait2 move.w #$0400,_custom+dmacon 70$: movea.l $2(A5),A0 moveq.l #0,d2 move.b (A0)+,D2 move.l A0,$2(A5) cmp.b $21(A2),D2 bhi.b 71$ sub.b $20(A2),D2 bcc.b 72$ 71$: move.b $21(A2),D2 sub.b $20(A2),D2 addq.w #1,D2 72$: add.w D2,D2 move.w $6(A5),D1 move.l $30(A2),D0 beq.b 73$ movea.l D0,A0 add.w $0(A0,D2.W),D1 73$: move.w D1,D3 move.l $2C(A2),D0 bne.b 74$ add.w $18(A2),D3 bra.b 75$ cnop 0,4 74$: movea.l D0,A0 add.w $0(A0,D2.W),D3 75$: add.w $40(A4),D3 move.w D3,$6(A5) move.w D1,D0 andi.w #$F,D1 asr.w #4,D0 add.w D0,D0 add.w $E(A5),D0 move.w D0,$10(A5) add.w D2,D2 movea.l $28(A2),A0 move.l $0(A0,D2.W),D0 move.w D0,D7 beq.w 87$ swap D0 move.w D0,D6 and.w #$F,D6 lsr.w #4,D0 add.w D0,D0 move.w D0,$12(A5) move.w D7,D0 subq.w #1,D7 lsr.w #4,D7 subq.w #1,D0 and.w #$F,D0 add.w D0,D0 lea L_0_C5C(PC),A0 move.w $0(A0,D0.W),D5 swap D5 clr.w D5 lsr.l D6,D5 moveq.l #-$01,D4 not.w D4 lsr.l D6,D4 move.w $C(A5),D3 move.l A4,-(A7) lea $20(A5),A3 lea $40(A2),A4 sub.w D1,D6 bge.w 85$ neg.w D6 bra.b 80$ cnop 0,4 76$: movea.l (A4)+,A0 adda.w $12(A5),A0 movea.l (A3)+,A1 adda.w $10(A5),A1 77$: move.w D7,D1 movem.l A0-A1,-(A7) bra.b 79$ cnop 0,4 78$: move.l (A0),D0 and.l D4,D0 lsr.l D6,D0 or.l D0,(A1) addq.l #2,A1 addq.l #2,A0 79$: dbf D1,78$ move.l (A0),D0 and.l D5,D0 lsr.l D6,D0 or.l D0,(A1) movem.l (a7)+,a0-a1 adda.w $26(A2),A0 adda.w $18(A5),A1 dbf D2,77$ 80$: move.w $14(A2),D2 subq.w #1,D2 dbf D3,76$ bra.b 86$ cnop 0,4 81$: movea.l (A4)+,A0 adda.w $12(A5),A0 movea.l (A3)+,A1 adda.w $10(A5),A1 82$: move.w D7,D1 movem.l A0-A1,-(A7) bra.b 84$ cnop 0,4 83$: move.l (A0),D0 and.l D4,D0 lsl.l D6,D0 or.l D0,(A1) addq.l #2,A1 addq.l #2,A0 84$: dbf D1,83$ move.l (A0),D0 and.l D5,D0 lsl.l D6,D0 or.l D0,(A1) movem.l (a7)+,a0-a1 adda.w $26(A2),A0 adda.w $18(A5),A1 dbf D2,82$ 85$: move.w $14(A2),D2 subq.w #1,D2 dbf D3,81$ 86$: movea.l (A7)+,A4 87$: subq.w #1,(A5) bne.w 70$ btst #$1,$38(A4) beq.b 88$ lea $18(A5),A0 moveq.l #$00,D0 moveq.l #$00,D1 movea.l A0,A1 move.w $1C(A2),D2 moveq.l #$00,D3 move.w $18(A5),D4 lsl.w #3,D4 sub.w D2,D4 move.w $14(A2),D5 moveq.l #-$16,D6 moveq.l #-$01,D7 movea.l D0,A2 jsr _LVOBltBitMap(A6) movea.l $34(A4),A2 88$: btst #$2,$38(A4) beq.w 96$ move.w $14(A2),D3 move.w $1A(A2),D5 sub.w D3,D5 bge.w 96$ moveq.l #$00,D0 move.w $18(A5),D0 addq.w #2,D0 move.l D0,-(A7) moveq.l #0,D1 bsr.w JL_0_C14 movea.l D0,A2 move.w D5,D0 neg.w D0 lsr.w #1,D0 bcc.b 89$ moveq.l #2,D5 bra.b 90$ cnop 0,4 89$: moveq.l #1,D5 90$: moveq.l #0,D2 move.w $18(A5),D4 lsl.w #3,D4 sub.w D0,D4 moveq.l #-1,D7 91$: sub.w D5,D3 bpl.b 92$ addq.w #1,D3 bmi.b 95$ moveq.l #1,D5 92$: cmp.w D0,D2 beq.b 94$ move.w D3,D1 movem.w D0/D2/D4,-(A7) moveq.l #-$40,D6 lea $18(A5),A0 movea.l A0,A1 jsr _LVOBltBitMap(A6) cmp.w (A7),D2 blt.b 93$ move.w D2,D4 beq.b 93$ moveq.l #$00,D0 moveq.l #$00,D1 moveq.l #$00,D2 moveq.l #$00,D6 lea $18(A5),A0 movea.l A0,A1 jsr _LVOBltBitMap(A6) 93$: movem.w (A7)+,D0/D2/D4 94$: addq.w #1,D2 subq.w #1,D4 moveq.l #$02,D5 bra.b 91$ cnop 0,4 95$: btst #6,_custom+dmaconr beq.b .exit3 move.w #$8400,_custom+dmacon .wait3: btst #6,_custom+dmaconr bne.b .wait3 move.w #$0400,_custom+dmacon .exit3: move.l (A7)+,D0 movea.l A2,A1 bsr.w JL_0_C84 movea.l $34(A4),A2 96$: btst #$0,$35(A2) beq.w 97$ move.b $37(A2),D7 cmp.b $39(A2),D7 bhi.w 97$ cmp.b $38(A2),D7 bcs.w 97$ moveq.l #-$01,D0 clr.w D0 movea.l $4(A4),A0 move.b $5(A0),D1 rol.l D1,D0 and.b $19(A4),D0 cmp.b D0,D7 beq.b 97$ movea.l $48(A5),A1 move.l $14(A5),D0 bsr.w JL_0_CA8 lea $18(A5),A0 moveq.l #$00,D0 moveq.l #$00,D1 lea $40(A5),A1 moveq.l #$00,D2 moveq.l #$00,D3 moveq.l #$00,D4 move.w $18(A5),D4 lsl.l #3,D4 moveq.l #$00,D5 move.w $1A(A5),D5 moveq.l #-$46,D6 move.b $37(A2),D7 jsr _LVOBltBitMap(A6) lea $18(A5),A0 moveq.l #$00,D0 moveq.l #$00,D1 lea $40(A5),A1 moveq.l #-$16,D6 not.b D7 jsr _LVOBltBitMap(A6) lea $40(A5),A0 moveq.l #0,D0 moveq.l #0,D1 lea $18(A5),A1 moveq.l #-$46,D6 move.b $19(A4),D7 jsr _LVOBltBitMap(A6) lea $40(A5),A0 moveq.l #0,D0 moveq.l #0,D1 lea $18(A5),A1 moveq.l #-$76,D6 not.b D7 jsr _LVOBltBitMap(A6) 97$: btst #0,$38(A4) beq.w 105$ bsr.w JL_0_AC0 moveq.l #0,D0 move.w $18(A5),D0 move.l D0,D7 moveq.l #0,D1 bsr.w JL_0_C14 movea.l D0,A3 move.l D7,D0 movea.l A3,A1 bsr.w JL_0_CA8 movea.l $48(A5),A0 move.w $1A(A2),D6 addq.w #1,D6 cmp.w $14(A2),D6 bge.b 104$ mulu $18(A5),D6 adda.l D6,A0 movea.l A3,A1 bsr.w JL_0_57C lea $20(A5),A2 moveq.l #0,D5 move.b $1D(A5),D5 moveq.l #0,D4 move.b $19(A4),D4 bra.b 103$ cnop 0,4 98$: movea.l A3,A0 movea.l (A2)+,A1 adda.l D6,A1 move.w $18(A5),D3 lsr.w #1,D3 lsr.w #1,D4 bcc.b 100$ bra.b 102$ cnop 0,4 99$: move.w (A0)+,D0 not.w D0 and.w D0,(A1)+ 100$: dbf D3,99$ bra.b 103$ cnop 0,4 101$: move.w (A0)+,D0 or.w D0,(A1)+ 102$: dbf D3,101$ 103$: dbf D5,98$ 104$: move.l D7,D0 movea.l A3,A1 bsr.w JL_0_C84 movea.l $34(A4),A2 105$: btst #$2,$1C(A4) beq.b 106$ lea $18(A5),A0 movea.l A0,A1 moveq.l #0,D0 moveq.l #0,D1 moveq.l #0,D2 moveq.l #0,D3 move.w $18(A5),D4 lsl.l #3,D4 move.w $1A(A5),D5 moveq.l #$3A,D6 moveq.l #-1,D7 jsr _LVOBltBitMap(A6) 106$: move.b $1C(A4),D0 and.b #$3,D0 bne.b 107$ bsr.b JL_0_AC0 bsr.w JL_0_AF4 lea $40(A5),A0 moveq.l #$2A,D6 jsr _LVOBltBitMapRastPort(A6) 107$: bsr.w JL_0_AF4 lea $18(A5),A0 moveq.l #0,D6 move.b $1C(A4),D6 and.b #$3,D6 move.b L_0_ABC(PC,D6.W),D6 jsr _LVOBltBitMapRastPort(A6) move.l $14(A5),D0 movea.l $48(A5),A1 move.l A6,-(A7) movea.l $1A4(A6),A6 jsr _LVOFreeMem(A6) moveq.l #7,D5 108$: move.w D5,D1 add.w D1,D1 add.w D1,D1 move.l $20(A5,D1.W),D0 beq.b 109$ movea.l D0,A1 move.l $14(A5),D0 jsr _LVOFreeMem(A6) 109$: dbf D5,108$ movea.l (A7)+,a6 bra.w JL_0_55E cnop 0,4 L_0_ABC: ;minterms dc.b $EA dc.b $CA dc.b $6a dc.b $5a JL_0_AC0: movea.l $48(A5),A1 move.l $14(A5),D0 bsr.w JL_0_CA8 lea $18(A5),A0 moveq.l #$00,D0 moveq.l #$00,D1 lea $40(A5),A1 moveq.l #0,D2 moveq.l #0,D3 moveq.l #0,D4 move.w $18(A5),D4 lsl.l #3,D4 moveq.l #$00,D5 move.w $1A(A5),D5 moveq.l #-$16,D6 moveq.l #-1,D7 jmp _LVOBltBitMap(A6) cnop 0,4 JL_0_AF4: movea.l A4,A1 move.w $E(A5),D0 lsl.w #3,D0 move.w $A(A5),D6 add.w D6,D0 ext.l D0 moveq.l #0,D1 move.w $24(A4),D2 add.w D6,D2 ext.l D2 move.w $26(A4),D3 sub.w $1A(A2),D3 ext.l D3 move.w $8(A5),D4 sub.w D6,D4 ext.l D4 move.w $14(A2),D5 ext.l D5 rtS cnop 0,4 JL_0_B28: move.b $38(A1),D4 swap D4 move.w $40(A1),D4 movea.l $34(A1),A1 movea.l $E(A1),A3 bne.b 114$ btst #$1,$2(A3) bne.w 123$ 114$: btst #$2,$2(A3) bne.w 124$ move.w D0,D3 moveq.l #0,D0 moveq.l #0,D1 moveq.l #0,D2 movea.l $2C(A1),A3 movea.l $30(A1),A4 movea.l $28(A1),A5 bra.b 122$ cnop 0,4 115$: clr.w D5 move.b (A0)+,D5 cmpi.w #$20FF,$20(A1) beq.b 117$ cmp.b $21(A1),D5 bhi.b 116$ sub.b $20(A1),D5 bcc.b 118$ 116$: move.b $21(A1),D5 sub.b $20(A1),D5 addq.w #1,D5 bra.b 118$ cnop 0,4 117$: sub.b #$20,D5 bcs.b 116$ 118$: add.w D5,D5 add.w $0(A4,D5.W),D0 cmp.w D0,D2 ble.b 119$ move.w D0,D2 119$: move.w D0,D6 add.w $0(A3,D5.W),D0 add.w D4,D0 add.w D5,D5 add.w $2(A5,D5.W),D6 cmp.w D6,D1 bge.b 120$ move.w D6,D1 120$: cmp.w D0,D1 bge.b 121$ move.w D0,D1 bra.b 122$ cnop 0,4 121$: cmp.w D0,D2 ble.b 122$ move.w D0,D2 122$: dbf D3,115$ bra.b 125$ cnop 0,4 123$: lsl.w #3,D0 move.w D0,D1 moveq.l #$00,D2 bra.b 125$ cnop 0,4 124$: moveq.l #$00,D2 move.w $18(A1),D3 add.w D4,D3 bmi.b 128$ mulu D3,D0 move.w D0,D1 tst.w D4 bpl.b 125$ sub.w D4,D1 125$: btst #$11,D4 beq.b 126$ add.w $1C(A1),D1 126$: btst #$12,D4 beq.b 127$ move.w $1A(A1),D5 move.w $14(A1),D6 sub.w D5,D6 addq.w #1,D6 lsr.w #1,D5 lsr.w #1,D6 add.w D5,D1 sub.w D6,D2 127$: rtS cnop 0,4 128$: moveq.l #0,D0 moveq.l #0,D1 rts cnop 0,4 JL_0_C14: cmpi.l #$1000,D0 ; if we need more than 4096 bytes of buffer bgt.b ft130 ; alloc a new buffer movea.l FTextSwap(pc),a0 ; bset #0,(A0) ; or buffer is already in use bne.b ft130 ; alloc a new buffer move.l FTextMem(pc),D0 ; else use pre-allocated buffer rtS cnop 0,4 ft130: movem.l D2/A6,-(A7) movea.l gb_ExecBase(A6),A6 move.l D0,D2 jsr _LVOAllocMem(A6) tst.l D0 bne.b ft132 ; ok buffer allocated, return cmpi.l #$1000,D2 ; if there is not enough memory bgt.b ft132 ; and we need more than 4096 bytes of buffer, return(0) movea.l FTextSwap(pc),a0 131$: bset #0,(A0) ; else wait for pre-allocated buffer to become free bne.b 131$ ; and use it move.l FTextMem(pc),D0 ft132: move.l (A7)+,D2 move.l (A7)+,A6 rtS cnop 0,4 L_0_C5C: dc.b $80,$00,$C0,$00 dc.b $E0,$00,$F0,$00 dc.b $F8,$00,$FC,$00 dc.b $FE,$00,$FF,$00 dc.b $FF,$80,$FF,$C0 dc.b $FF,$E0,$FF,$F0 dc.b $FF,$F8,$FF,$FC dc.b $FF,$FE,$FF,$FF JL_0_C84: movea.l FTextMem(PC),A0 cmpa.l A0,A1 beq.b 138$ move.l A1,D1 beq.b 137$ move.l A6,-(A7) movea.l gb_ExecBase(A6),A6 jsr _LVOFreeMem(A6) movea.l (A7)+,A6 137$: rtS cnop 0,4 138$: movea.l FTextSwap(pc),a0 clr.l (A0) rtS cnop 0,4 JL_0_CA8: movea.l D2,A0 lsr.l #1,D0 beq.b JL_0_D1C move.l A1,D2 moveq.l #$00,D1 lsr.l #2,D2 lea (D2.L*4),A1 bcc.b 140$ addq.l #2,A1 move.w D1,(A1)+ subq.l #1,D0 beq.b JL_0_D1C 140$: moveq.l #$10,D2 cmp.l D2,D0 blt.b 142$ 141$: move.l D1,(A1)+ move.l D1,(A1)+ move.l D1,(A1)+ move.l D1,(A1)+ move.l D1,(A1)+ move.l D1,(A1)+ move.l D1,(A1)+ sub.l D2,D0 move.l D1,(A1)+ cmp.l D2,D0 bge.b 141$ 142$: move.b L_0_CE8(PC,D0.L),D0 jmp L_0_CE8(PC,D0.L) cnop 0,4 L_0_CE8: dc.b .1e-L_0_CE8 dc.b .32-L_0_CE8 dc.b .1c-L_0_CE8 dc.b .30-L_0_CE8 dc.b .1a-L_0_CE8 dc.b .2e-L_0_CE8 dc.b .18-L_0_CE8 dc.b .2c-L_0_CE8 dc.b .16-L_0_CE8 dc.b .2a-L_0_CE8 dc.b .14-L_0_CE8 dc.b .28-L_0_CE8 dc.b .12-L_0_CE8 dc.b .26-L_0_CE8 dc.b .10-L_0_CE8 dc.b .24-L_0_CE8 .10: move.l D1,(A1)+ .12: move.l D1,(A1)+ .14: move.l D1,(A1)+ .16: move.l D1,(A1)+ .18: move.l D1,(A1)+ .1a: move.l D1,(A1)+ .1c: move.l D1,(A1) .1e: move.l A0,D2 rtS cnop 0,4 .24: move.l D1,(A1)+ .26: move.l D1,(A1)+ .28: move.l D1,(A1)+ .2a: move.l D1,(A1)+ .2c: move.l D1,(A1)+ .2e: move.l D1,(A1)+ .30: move.l D1,(A1)+ .32: move.w D1,(A1) JL_0_D1C: move.l A0,D2 rtS cnop 0,4 FTextMem: ds.l 1 FTextSwap: ds.l 1