home *** CD-ROM | disk | FTP | other *** search
/ Supremacy 2 / Supremacy-2.iso / Pompey / PP_031.MSA / AUTOMATI.ON / SOURCE / 3F.S next >
Text File  |  1985-11-20  |  5KB  |  259 lines

  1.         opt c+,d-
  2.  
  3. ;SET TABS TO 10 FOR DISASSEMBLY
  4.  
  5.     
  6. main    MOVEA.L    4(A7),A5
  7.     move.l $c(a5),d0
  8.     add.l $14(a5),d0
  9.     add.l $1c(a5),d0
  10.     add.l #$100,d0
  11.     move.l d0,-(sp)
  12.     move.l a5,-(sp)
  13.     move.l #$4a0000,-(sp)
  14.     trap #1
  15.     lea $c(a7),a7
  16. CHEAT    CLR.L    -(A7)
  17.     MOVE.W    #$20,-(A7)
  18.     TRAP    #$01
  19.     ADDQ.L    #6,A7
  20.     LEA    SUPERLNG(PC),A6
  21.     MOVE.L    D0,(A6)
  22.     MOVE.L    $84,tr1
  23.     MOVE.L    #T1,$84
  24.     MOVE.L    SUPERLNG(PC),-(A7)
  25.     MOVE.W    #$20,-(A7)
  26.     TRAP    #$01
  27.     ADDQ.L    #6,A7
  28.     clr.w -(sp)
  29.     pea $ffffffff
  30.     move.l (a7),-(sp)
  31.     move.w #5,-(sp)
  32.     trap #14
  33.     lea $c(a7),a7
  34.     pea text
  35.     move.w #9,-(sp)
  36.     trap #1
  37. stkk    clr.l $60000
  38.     pea $60000
  39.     move.l (a7),-(sp)
  40.     move.l #gam,-(sp)
  41.     move.l #$4b0000,-(sp)
  42.     trap #1
  43.     lea $10(a7),a7
  44.     clr.w -(sp)
  45.     trap #1
  46. SUPERLNG    DC.L    0
  47.  
  48.  
  49. T1        movem.l    a0-a6/d0-d7,reg
  50.         movea.l    a7,a1
  51.         addq.l     #6,a1
  52.         move.w     (a7),d0
  53.         btst     #$d,d0
  54.         bne.s     ok1
  55.         move.l     usp,a1
  56. ok1        cmpi.w     #$3d,(a1)
  57.         bne.s     notopen
  58. open        movem.l     reg,a0-a6/d0-d7
  59. bye        dc.w     $4ef9
  60. tr1        dc.l     $0
  61. loadit        dc.l     $0
  62. notopen        cmpi.w     #$3f,(a1)
  63.         bne.s     open
  64.         move.l #$2ffff,$4(a1)
  65.         move.l     $8(a1),loadit
  66.         move.l $2(a7),ex3f
  67.         move.l #cls,$2(a7)
  68.         bra.s open
  69. siz2        dc.l 0
  70. cls        movem.l d0-d7/a0-a6,-(sp)
  71.         move.l d0,siz2
  72.         pea close
  73.         move.w #$26,-(sp)
  74.         trap #14
  75.         addq.l #6,sp
  76.         movem.l (a7)+,d0-d7/a0-a6
  77.         move.l siz2,d0
  78.         dc.w $4ef9
  79. ex3f        dc.l 0
  80. close        move.l loadit,a1
  81.         cmp.b #$4c,(a1)
  82.         bne ret
  83.         cmp.b #$53,$1(a1)
  84.         bne ret
  85.         cmp.b #$44,$2(a1)
  86.         bne ret
  87.         cmp.b #$21,$3(a1)
  88.         bne ret
  89.         move.l $4(a1),siz2
  90. gg        sub.l #$20,a1
  91.         lea     savdat(pc),a0
  92.         moveq.l     #$1f,d0
  93. kk        move.b     (a1)+,(a0)+
  94.         dbf     d0,kk
  95.         move.l loadit,a0
  96.         move.l a0,a1
  97.         sub.l #$20,a1
  98.         move.l a7,stksav
  99.         lea stkk(PC),A7
  100.         move.l $8(a0),d0
  101.         addq.l #4,d0
  102. xc        move.b (a0)+,(a1)+
  103.         subq.l #1,d0
  104.         cmp.l #0,d0
  105.         bne.s xc
  106.         move.l    loadit,a0
  107.         move.l a0,a1
  108.         sub.l    #$20,a0
  109.         bsr    DEPACK
  110.         move.l loadit,a0
  111.         sub.l    #$20,a0
  112.         lea    savdat(pc),a1
  113.         moveq.l    #$1f,d0
  114. kk2        move.b    (a1)+,(a0)+
  115.         dbf    d0,kk2
  116.         move.l stksav,a7
  117. ret        rts
  118. reg        dc.l $0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0
  119. savdat        dc.l $0,$0,$0,$0,$0,$0,$0,$0
  120. crunpos        dc.l 0
  121. siz42        dc.l 0
  122. DEPACK        adda.l #4,a0
  123.         move.w $ff8240,-(sp)
  124.         move.l a0,crunpos
  125.         move.l (a0)+,d5
  126.         adda.l d5,a1
  127.         adda.l (a0),a0
  128.         subq.l #4,a0
  129.         tst.w -(a0)
  130.         bpl.s L_1
  131.         subq.l #1,a0
  132. L_1        move.b -(a0),d0
  133. L_2        lsl.b #1,d0
  134.         bne.s L_3
  135.         MOVE.B    -(A0),D0
  136.         ROXL.B    #1,D0
  137. L_3        BCC.S    L_10
  138.         CLR.W    D1
  139.         LSL.B    #1,D0
  140.         BNE.S    L_4
  141.         MOVE.B    -(A0),D0
  142.         ROXL.B    #1,D0
  143. L_4        BCC.S    L_9
  144.         LEA    NUMS(PC),A3
  145.         MOVEQ    #3,D3
  146. L_5        CLR.W    D1
  147.         MOVE.B    0(A3,D3.W),D2
  148.         EXT.W    D2
  149.         MOVEQ    #-1,D4
  150.         LSL.W    D2,D4
  151.         NOT.W    D4
  152.         SUBQ.W    #1,D2
  153. L_6        LSL.B    #1,D0
  154.         BNE.S    L_7
  155.         MOVE.B    -(A0),D0
  156.         ROXL.B    #1,D0
  157. L_7        ROXL.W    #1,D1
  158.         DBF    D2,L_6
  159.         TST.W    D3
  160.         BEQ.S    L_8
  161.         CMP.W    D1,D4
  162.         DBNE    D3,L_5
  163. L_8        MOVE.B    4(A3,D3.W),D2
  164.         EXT.W    D2
  165.         ADD.W    D2,D1
  166.         BRA    L_9
  167.  
  168. NUMS        DC.B    $0A,$03,$02,$02,$0E,$07,$04,$01
  169.  
  170. L_9        MOVE.B    -(A0),-(A1)
  171.         MOVE.W    d0,$FFFF8240
  172.         DBF    D1,L_9
  173. L_10        MOVE.L    crunpos,A3
  174.         ADDQ.L    #$8,A3
  175.         CMPA.L    A3,A0
  176.         BLE    BYENOW
  177.         LEA    NUMS2(PC),A3
  178.         MOVEQ    #3,D2
  179. L_11        LSL.B    #1,D0
  180.         BNE.S    L_12
  181.         MOVE.B    -(A0),D0
  182.         ROXL.B    #1,D0
  183. L_12        BCC.S    L_13
  184.         DBF    D2,L_11
  185. L_13        CLR.W    D1
  186.         ADDQ.W    #1,D2
  187.         MOVE.B    0(A3,D2.W),D3
  188.         BEQ.S    L_16
  189.         EXT.W    D3
  190.         SUBQ.W    #1,D3
  191. L_14        LSL.B    #1,D0
  192.         BNE.S    L_15
  193.         MOVE.B    -(A0),D0
  194.         ROXL.B    #1,D0
  195. L_15        ROXL.W    #1,D1
  196.         DBF    D3,L_14
  197. L_16        MOVE.B    5(A3,D2.W),D3
  198.         EXT.W    D3
  199.         ADD.W    D3,D1
  200.         BRA    L_161
  201.  
  202. NUMS2        DC.B    $0A,$02,$01,$00,$00,$0A,$06,$04,$03,$02
  203.  
  204. L_161        CMPI.W    #2,D1
  205.         BEQ.S    L_22
  206.         LEA    NUMS3(PC),A3
  207.         MOVEQ    #1,D3
  208. L_17        LSL.B    #1,D0
  209.         BNE.S    L_18
  210.         MOVE.B    -(A0),D0
  211.         ROXL.B    #1,D0
  212. L_18        BCC.S    L_19
  213.         DBF    D3,L_17
  214. L_19        ADDQ.W    #1,D3
  215.         CLR.W    D2
  216.         MOVE.B    0(A3,D3.W),D4
  217.         EXT.W    D4
  218. L_20        LSL.B    #1,D0
  219.         BNE.S    L_21
  220.         MOVE.B    -(A0),D0
  221.         ROXL.B    #1,D0
  222. L_21        ROXL.W    #1,D2
  223.         DBF    D4,L_20
  224.         LSL.W    #1,D3
  225.         ADD.W    4(A3,D3.W),D2
  226.         BRA.S    L_26
  227.  
  228. NUMS3        DC.B    $0B,$04,$07,$00,$01,$20,$00,$00
  229.         DC.B    $00,$20,$00,$00
  230.  
  231. L_22        CLR.W    D2
  232.         MOVEQ    #5,D3
  233.         CLR.W    D4
  234.         LSL.b    #1,D0
  235.         BNE.S    L_23
  236.         MOVE.B    -(A0),D0
  237.         ROXL.B    #1,D0
  238. L_23        BCC.S    L_24
  239.         MOVEQ    #8,D3
  240.         MOVEQ    #$40,D4
  241. L_24        LSL.B    #1,D0
  242.         BNE.S    L_25
  243.         MOVE.B    -(A0),D0
  244.         ROXL.B    #1,D0
  245. L_25        ROXL.W    #1,D2
  246.         DBF    D3,L_24
  247.         ADD.W    D4,D2
  248. L_26        LEA    0(A1,D2.W),A2
  249.         EXT.L    D1
  250.         ADDA.L    D1,A2
  251.         SUBQ.W    #1,D1
  252. L_27        MOVE.B    -(A2),-(A1)
  253.         DBF    D1,L_27
  254.         BRA    L_2
  255. BYENOW        move.w (a7)+,$ff8240
  256.         RTS
  257. stksav        dc.l 0
  258. gam        dc.b "levmain.dat",0
  259. text        dc.b "VAPOUR PRESENTS . . .",0