*
*   This Is A Custom Routine Written by ME! Even Though Its Been Dissassmbled
*   It Extracts The FILE_ID.DIZ from DMS files In A Quick Method
*



         xdef     _hunt_it
         SECTION  segment0,CODE

_hunt_it:
         movem.l  d1-d7/a1-a6,-(a7)
         tst.l    (a0)
         movea.l  a0,a1
         beq.l    L10
L1       move.b   (a0)+,d0
         cmpi.b   #$0a,d0
         beq.l    L2
         bra.l    L1

         dc.b     $2c,$08

L2       move.b   #$00,-$0001(a0)
         move.l   a1,d6
         movea.l  #L12,a1
         move.l   #$00000000,d0
         dc.b     $2c,$78,$00,$04
                           ;  movea.l  ($0004).w,a6
         jsr      -$0228(a6)
         tst.l    d0
         beq.l    L9
         move.l   d0,L14
         move.l   #$00000000,d0
         movea.l  #L13,a1
         dc.b     $2c,$78,$00,$04
                           ;  movea.l  ($0004).w,a6
         jsr      -$0228(a6)
         tst.l    d0
         beq.l    L9
         move.l   d0,L15
         move.l   d6,d1
         move.l   #-$00000001,d2
         movea.l  L14,a6
         jsr      -$0054(a6)
         tst.l    d0
         beq.l    L10
         move.l   d0,L17
         move.l   d0,d1
         movea.l  L14,a6
         jsr      -$017a(a6)
         tst.l    d0
         beq.l    L11
         move.l   d0,L16
         move.l   L17,d1
         movea.l  L14,a6
         jsr      -$005a(a6)
         move.l   L16,d1
         move.l   #-$00000001,d2
         moveq    #$01,d3
         movea.l  L14,a6
         jsr      -$0042(a6)
         movea.l  #L19,a2
L3       move.l   L16,d1
         moveq    #-$08,d2
         moveq    #$00,d3
         movea.l  L14,a6
         jsr      -$0042(a6)
         bsr.l    L8
         move.l   (a2)+,d1
         cmpi.l   #$00005705,d1
         bne.l    L3
         move.l   L16,d1
         moveq    #-$08,d2
         moveq    #$00,d3
         movea.l  L14,a6
         jsr      -$0042(a6)
         bsr.l    L8
         move.l   (a2)+,d1
         cmpi.l   #$57055705,d1
         bne.l    L3
         move.l   L16,d1
         moveq    #-$08,d2
         moveq    #$00,d3
         movea.l  L14,a6
         jsr      -$0042(a6)
         bsr.l    L8
         move.l   (a2)+,d1
         cmpi.l   #$0000ffff,d1
         bne.l    L3
         move.l   L16,d1
         move.l   #-$00000230,d2
         moveq    #$00,d3
         movea.l  L14,a6
         jsr      -$0042(a6)
L4       move.l   L16,d1
         movea.l  L14,a6
         jsr      -$0132(a6)
         cmpi.b   #$54,d0
         bne.l    L4
         move.l   L16,d1
         movea.l  L14,a6
         jsr      -$0132(a6)
         cmpi.b   #$52,d0
         bne.l    L4
         move.l   L16,d1
         movea.l  L14,a6
         jsr      -$0132(a6)
         cmpi.b   #$00,d0
         bne.l    L4
         move.l   L16,d1
         movea.l  L14,a6
         jsr      -$0132(a6)
         cmpi.b   #$50,d0
         bne.l    L4
         move.l   L16,d1
         move.l   #$00000010,d2
         moveq    #$00,d3
         movea.l  L14,a6
         jsr      -$0042(a6)
         movea.l  #L19,a4
L5       move.l   L16,d1
         movea.l  L14,a6
         jsr      -$0132(a6)
         cmpi.b   #-$01,d0
         beq.l    L6
         move.b   d0,(a4)+
         bra.l    L5

L6       move.b   #$00,(a4)+
         movea.l  L14,a6
         jsr      -$003c(a6)
         move.l   d0,L18
         movea.l  #L19,a3
         move.l   #L19,d2
         move.l   L18,d1
         moveq    #-$01,d3
L7       addq.l   #$1,d3
         tst.b    (a3)+
         bne.l    L7
         movea.l  L14,a6
         jsr      -$0030(a6)
         movea.l  L15,a6
         jsr      -$0060(a6)
         move.l   L16,d1
         movea.l  L14,a6
         jsr      -$0024(a6)
         movea.l  L14,a1
         dc.b     $2c,$78,$00,$04
                           ;  movea.l  ($0004).w,a6
         jsr      -$019e(a6)
         movea.l  L15,a1
         dc.b     $2c,$78,$00,$04
                           ;  movea.l  ($0004).w,a6
         jsr      -$019e(a6)
         movem.l  (a7)+,d1-d7/a1-a6
         rts      

L8       move.l   L16,d1
         movea.l  L14,a6
         jsr      -$0132(a6)
         move.b   d0,-(a2)
         move.l   L16,d1
         movea.l  L14,a6
         jsr      -$0132(a6)
         move.b   d0,-(a2)
         move.l   L16,d1
         movea.l  L14,a6
         jsr      -$0132(a6)
         move.b   d0,-(a2)
         move.l   L16,d1
         movea.l  L14,a6
         jsr      -$0132(a6)
         move.b   d0,-(a2)
         rts      

L9       movea.l  #$00000000,a0
         move.l   #-$00000001,d0
         movem.l  (a7)+,d1-d7/a1-a6
         rts      

L10      move.l   #$00000014,d0
         move.l   #$00000000,d1
         dc.b     $2c,$78,$00,$04
                           ;  movea.l  ($0004).w,a6
         jsr      -$00c6(a6)
         movea.l  d0,a1
         movea.l  a1,a5
         move.l   #$00000014,$0000(a1)
         move.l   #$00000000,$0004(a1)
         move.l   #L21,$0008(a1)
         move.l   #L22,$000c(a1)
         move.l   #L24,$0010(a1)
         suba.l   a0,a0
         suba.l   a2,a2
         movea.l  d1,a3
         move.l   d6,L20
         movea.l  #L20,a3
         movea.l  L15,a6
         jsr      -$024c(a6)
         movea.l  a5,a1
         move.l   #$00000014,d0
         dc.b     $2c,$78,$00,$04
                           ;  movea.l  ($0004).w,a6
         jsr      -$00d2(a6)
         movea.l  L14,a1
         dc.b     $2c,$78,$00,$04
                           ;  movea.l  ($0004).w,a6
         jsr      -$019e(a6)
         movea.l  L15,a1
         dc.b     $2c,$78,$00,$04
                           ;  movea.l  ($0004).w,a6
         jsr      -$019e(a6)
         movem.l  (a7)+,d1-d7/a1-a6
         rts      

L11      move.l   #$00000014,d0
         move.l   #$00000000,d1
         dc.b     $2c,$78,$00,$04
                           ;  movea.l  ($0004).w,a6
         jsr      -$00c6(a6)
         movea.l  d0,a1
         movea.l  a1,a5
         move.l   #$00000014,$0000(a1)
         move.l   #$00000000,$0004(a1)
         move.l   #L21,$0008(a1)
         move.l   #L23,$000c(a1)
         move.l   #L24,$0010(a1)
         suba.l   a0,a0
         suba.l   a2,a2
         movea.l  d1,a3
         move.l   d6,L20
         movea.l  #L20,a3
         movea.l  L15,a6
         jsr      -$024c(a6)
         movea.l  a5,a1
         move.l   #$00000014,d0
         dc.b     $2c,$78,$00,$04
                           ;  movea.l  ($0004).w,a6
         jsr      -$00d2(a6)
         move.l   L17,d1
         movea.l  L14,a6
         jsr      -$005a(a6)
         movea.l  L14,a1
         dc.b     $2c,$78,$00,$04
                           ;  movea.l  ($0004).w,a6
         jsr      -$019e(a6)
         movea.l  L15,a1
         dc.b     $2c,$78,$00,$04
                           ;  movea.l  ($0004).w,a6
         jsr      -$019e(a6)
         movem.l  (a7)+,d1-d7/a1-a6
         rts      

L12      dc.b     'dos.library',$00
L13      dc.b     'intuition.library',$00
L14      dcb.b    4,$00
L15      dcb.b    4,$00
L16      dcb.b    4,$00
L17      dcb.b    4,$00
L18      dcb.b    4,$00
L19      dcb.b    2000,$00
         dc.b     $77,$6f,$72,$6b,$3a,$74
         dc.b     $65,$73,$74,$2e,$64,$6d
         dc.b     $73,$00
L20      dc.b     $00,$00,$00,$00
L21      dc.b     'Hunt_DMS Problem',$00
L22      dc.b     'File %s'
         dc.b     $0a
         dc.b     'Not Found.',$00
L23      dc.b     'Unable To Open'
         dc.b     $0a,$25,$73,$00
L24      dc.b     $4f,$4b,$00,$01


         END

