home *** CD-ROM | disk | FTP | other *** search
/ Supremacy 2 / Supremacy-2.iso / Pompey / PP_031.MSA / AUTOMATI.ON / SOURCE / 3F42SUP.S < prev    next >
Text File  |  1985-11-20  |  5KB  |  303 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        nop
  57. next1        cmpi.w     #$3d,(a1)
  58.         bne.s     notopen
  59.         move.l     $2(a1),a1
  60.         cmpi.b     #$3a,$1(a1)
  61.         bne.s     n1a
  62.         addq.l     #2,a1
  63. n1a        cmpi.b     #$5c,(a1)
  64.         bne.s     open
  65.         addq.l     #1,a1
  66. open        movem.l     reg,a0-a6/d0-d7
  67. bye        dc.w     $4ef9
  68. tr1        dc.l     $0
  69. loadit        dc.l     $0
  70. notopen        cmpi.w  #$42,(a1)
  71.         beq    finsiz
  72.         cmpi.w     #$3f,(a1)
  73.         bne.s     open
  74.         move.l     $8(a1),loadit
  75.         move.l $2(a7),ex3f
  76.         move.l #cls,$2(a7)
  77.         bra.s open
  78. siz2        dc.l 0
  79. cls        movem.l d0-d7/a0-a6,-(sp)
  80.         move.l d0,siz2
  81.         pea close
  82.         move.w #$26,-(sp)
  83.         trap #14
  84.         addq.l #6,sp
  85.         movem.l (a7)+,d0-d7/a0-a6
  86.         move.l siz2,d0
  87.         dc.w $4ef9
  88. ex3f        dc.l 0
  89. flg        dc.w 0
  90. close        move.l loadit,a1
  91.         cmp.w #$ffff,flg
  92.         beq ret
  93.         cmp.b #$4c,(a1)
  94.         bne ret
  95.         cmp.b #$53,$1(a1)
  96.         bne ret
  97.         cmp.b #$44,$2(a1)
  98.         bne ret
  99.         cmp.b #$21,$3(a1)
  100.         bne ret
  101.         move.l $4(a1),siz2
  102. gg        sub.l #$20,a1
  103.         lea     savdat(pc),a0
  104.         moveq.l     #$1f,d0
  105. kk        move.b     (a1)+,(a0)+
  106.         dbf     d0,kk
  107.         move.l loadit,a0
  108.         move.l a0,a1
  109.         sub.l #$20,a1
  110.         move.l a7,stksav
  111.         lea stkk(PC),A7
  112.         move.l $8(a0),d0
  113.         addq.l #4,d0
  114. xc        move.b (a0)+,(a1)+
  115.         subq.l #1,d0
  116.         cmp.l #0,d0
  117.         bne.s xc
  118.         move.l    loadit,a0
  119.         move.l a0,a1
  120.         sub.l    #$20,a0
  121.         bsr    DEPACK
  122.         move.l loadit,a0
  123.         sub.l    #$20,a0
  124.         lea    savdat(pc),a1
  125.         moveq.l    #$1f,d0
  126. kk2        move.b    (a1)+,(a0)+
  127.         dbf    d0,kk2
  128.         move.l stksav,a7
  129. ret        rts
  130. reg        dc.l $0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0,$0
  131. savdat        dc.l $0,$0,$0,$0,$0,$0,$0,$0
  132. crunpos        dc.l 0
  133. eight        dc.l 0,0
  134. han        dc.w 0
  135. finsiz        cmp.w #2,$8(a1)
  136.         bne open
  137.         move.l $2(a7),end
  138.         move.w $6(a1),han
  139.         move.l #getsiz,$2(a7)
  140.         bra open
  141. getsiz        movem.l a0-a6/d1-d7,-(sp)
  142.         clr.w -(sp)
  143.         move.w han,-(sp)
  144.         clr.l -(sp)
  145.         move.w #$42,-(sp)
  146.         move.l d0,siz42
  147.         trap #1
  148.         lea $a(a7),a7
  149.         move.w #$ffff,flg
  150.         pea eight
  151.         move.l #8,-(sp)
  152.         move.w han,-(sp)
  153.         move.w #$3f,-(sp)
  154.         trap #1
  155.         lea $c(a7),a7
  156.         lea eight(pc),a0
  157.         cmp.l #$4c534421,(a0)
  158.         bne.s lki
  159.         move.l $4(a0),siz42
  160. lki        move.l siz42,d0
  161.         movem.l (a7)+,a0-a6/d1-d7
  162.         clr.w flg
  163.         dc.w $4ef9
  164. end        dc.l 0
  165. siz42        dc.l 0
  166. DEPACK        adda.l #4,a0
  167.         move.w $ff8240,-(sp)
  168.         move.l a0,crunpos
  169.         move.l (a0)+,d5
  170.         adda.l d5,a1
  171.         adda.l (a0),a0
  172.         subq.l #4,a0
  173.         tst.w -(a0)
  174.         bpl.s L_1
  175.         subq.l #1,a0
  176. L_1        move.b -(a0),d0
  177. L_2        lsl.b #1,d0
  178.         bne.s L_3
  179.         MOVE.B    -(A0),D0
  180.         ROXL.B    #1,D0
  181. L_3        BCC.S    L_10
  182.         CLR.W    D1
  183.         LSL.B    #1,D0
  184.         BNE.S    L_4
  185.         MOVE.B    -(A0),D0
  186.         ROXL.B    #1,D0
  187. L_4        BCC.S    L_9
  188.         LEA    NUMS(PC),A3
  189.         MOVEQ    #3,D3
  190. L_5        CLR.W    D1
  191.         MOVE.B    0(A3,D3.W),D2
  192.         EXT.W    D2
  193.         MOVEQ    #-1,D4
  194.         LSL.W    D2,D4
  195.         NOT.W    D4
  196.         SUBQ.W    #1,D2
  197. L_6        LSL.B    #1,D0
  198.         BNE.S    L_7
  199.         MOVE.B    -(A0),D0
  200.         ROXL.B    #1,D0
  201. L_7        ROXL.W    #1,D1
  202.         DBF    D2,L_6
  203.         TST.W    D3
  204.         BEQ.S    L_8
  205.         CMP.W    D1,D4
  206.         DBNE    D3,L_5
  207. L_8        MOVE.B    4(A3,D3.W),D2
  208.         EXT.W    D2
  209.         ADD.W    D2,D1
  210.         BRA    L_9
  211.  
  212. NUMS        DC.B    $0A,$03,$02,$02,$0E,$07,$04,$01
  213.  
  214. L_9        MOVE.B    -(A0),-(A1)
  215.         MOVE.W    d0,$FFFF8240
  216.         DBF    D1,L_9
  217. L_10        MOVE.L    crunpos,A3
  218.         ADDQ.L    #$8,A3
  219.         CMPA.L    A3,A0
  220.         BLE    BYENOW
  221.         LEA    NUMS2(PC),A3
  222.         MOVEQ    #3,D2
  223. L_11        LSL.B    #1,D0
  224.         BNE.S    L_12
  225.         MOVE.B    -(A0),D0
  226.         ROXL.B    #1,D0
  227. L_12        BCC.S    L_13
  228.         DBF    D2,L_11
  229. L_13        CLR.W    D1
  230.         ADDQ.W    #1,D2
  231.         MOVE.B    0(A3,D2.W),D3
  232.         BEQ.S    L_16
  233.         EXT.W    D3
  234.         SUBQ.W    #1,D3
  235. L_14        LSL.B    #1,D0
  236.         BNE.S    L_15
  237.         MOVE.B    -(A0),D0
  238.         ROXL.B    #1,D0
  239. L_15        ROXL.W    #1,D1
  240.         DBF    D3,L_14
  241. L_16        MOVE.B    5(A3,D2.W),D3
  242.         EXT.W    D3
  243.         ADD.W    D3,D1
  244.         BRA    L_161
  245.  
  246. NUMS2        DC.B    $0A,$02,$01,$00,$00,$0A,$06,$04,$03,$02
  247.  
  248. L_161        CMPI.W    #2,D1
  249.         BEQ.S    L_22
  250.         LEA    NUMS3(PC),A3
  251.         MOVEQ    #1,D3
  252. L_17        LSL.B    #1,D0
  253.         BNE.S    L_18
  254.         MOVE.B    -(A0),D0
  255.         ROXL.B    #1,D0
  256. L_18        BCC.S    L_19
  257.         DBF    D3,L_17
  258. L_19        ADDQ.W    #1,D3
  259.         CLR.W    D2
  260.         MOVE.B    0(A3,D3.W),D4
  261.         EXT.W    D4
  262. L_20        LSL.B    #1,D0
  263.         BNE.S    L_21
  264.         MOVE.B    -(A0),D0
  265.         ROXL.B    #1,D0
  266. L_21        ROXL.W    #1,D2
  267.         DBF    D4,L_20
  268.         LSL.W    #1,D3
  269.         ADD.W    4(A3,D3.W),D2
  270.         BRA.S    L_26
  271.  
  272. NUMS3        DC.B    $0B,$04,$07,$00,$01,$20,$00,$00
  273.         DC.B    $00,$20,$00,$00
  274.  
  275. L_22        CLR.W    D2
  276.         MOVEQ    #5,D3
  277.         CLR.W    D4
  278.         LSL.b    #1,D0
  279.         BNE.S    L_23
  280.         MOVE.B    -(A0),D0
  281.         ROXL.B    #1,D0
  282. L_23        BCC.S    L_24
  283.         MOVEQ    #8,D3
  284.         MOVEQ    #$40,D4
  285. L_24        LSL.B    #1,D0
  286.         BNE.S    L_25
  287.         MOVE.B    -(A0),D0
  288.         ROXL.B    #1,D0
  289. L_25        ROXL.W    #1,D2
  290.         DBF    D3,L_24
  291.         ADD.W    D4,D2
  292. L_26        LEA    0(A1,D2.W),A2
  293.         EXT.L    D1
  294.         ADDA.L    D1,A2
  295.         SUBQ.W    #1,D1
  296. L_27        MOVE.B    -(A2),-(A1)
  297.         DBF    D1,L_27
  298.         BRA    L_2
  299. BYENOW        move.w (a7)+,$ff8240
  300.         RTS
  301. stksav        dc.l 0
  302. gam        dc.b "FILE.DAT",0
  303. text        dc.b "HANK PRESENTS . . .",0