home *** CD-ROM | disk | FTP | other *** search
/ Compendium Deluxe 1 / LSD Compendium Deluxe 1.iso / a / programming / assembly / dotmorph.lha / cover.S next >
Encoding:
Text File  |  1990-09-13  |  5.7 KB  |  269 lines

  1.     section lame,code_c
  2.  
  3. execbase=6
  4.  
  5. begin:
  6.     MOVEM.L    D0-D7/A0-A6,-(SP)
  7.     MOVE.L    execbase,A6
  8.  
  9.     MOVE.L    #$000086F0/4,D2
  10.     LEA    FIELD,A3
  11.     MOVE.L    #$30000,D0
  12.     MOVE.L    D0,A6
  13.     MOVE.L  D0,A0
  14. LOOP:   MOVE.L  #0,(A0)+
  15.     DBF    D2,LOOP
  16.  
  17.     ADD.L    #$00003064,D0
  18.     MOVE.L    D0,D3
  19.     MOVE.L    D0,A0
  20.     ADD.L    #$00000100,D0
  21.     MOVE.L    D0,D4
  22.     MOVE.L    #$3F,D1
  23.     LEA    DAT,A1
  24.     LEA    $0080(A0),A2
  25.  
  26.     MOVE.L    A2,A4
  27.     LEA    $0080(A2),A5
  28. S3C:    MOVE.B    (A1)+,D0
  29.     MOVE.B    D0,(A0)+
  30.     MOVE.B    D0,-(A4)
  31.     NOT.B    D0
  32.     MOVE.B    D0,(A2)+
  33.     MOVE.B    D0,-(A5)
  34.     DBRA    D1,S3C
  35.     MOVE.L    D3,$0012(A3)
  36.     MOVE.L    D4,6(A3)
  37.     LEA    $00DFF000,A5
  38.     MOVE.W    #$8000,D1
  39.     MOVE.W    2(A5),D0
  40.     OR.W    D1,D0
  41.     MOVE.W    D0,$0010(A3)
  42.     MOVE.W    $001C(A5),D0
  43.     OR.W    D1,D0
  44.     MOVE.W    D0,14(A3)
  45.     MOVE.W    #$7FFF,$0096(A5)
  46.     MOVE.W    #$7FFF,$009A(A5)
  47.     MOVE.W    #$2C71,$008E(A5)
  48.     MOVE.W    #$2CD1,$0090(A5)
  49.     MOVE.W    #$0030,$0092(A5)
  50.     MOVE.W    #$00D8,$0094(A5)
  51.     MOVE.W    #$1200,$0100(A5)
  52.     MOVE.W    #4,$0108(A5)
  53.     CLR.W    $0102(A5)
  54.     MOVE.W    #$8300,$0096(A5)
  55.     MOVE.L    $0000006C,10(A3)
  56.     LEA    S22E,A0
  57.     MOVE.L    A0,$0000006C
  58.     CLR.W    $0180(A5)
  59.     MOVE.W    #$0AAA,$0182(A5)
  60.     MOVE.B    #$FF,$00BFD400
  61.     MOVE.B    #$11,$00BFDE00
  62.     MOVE.L    $0012(A3),A4
  63.     MOVE.L    #$16,D6
  64.     MOVE.W    #$C020,$009A(A5)
  65.  
  66. GOON:
  67.     MOVEM.L    D0-D7/A0-A6,-(A7)
  68.     bsr    textausgabe
  69.     MOVEM.L    (A7)+,D0-D7/A0-A6
  70.  
  71.     LEA    COVER,A0
  72.     MOVE.L    6(A3),A2
  73.     MOVE.W    #$03E8,D7
  74. SEC:    MOVE.L    #0,D2
  75.     MOVE.L    #$4,D3
  76.     MOVE.L    #$71,D1
  77. SF2:    MOVE.L    #$15f,D4
  78.     MOVE.W    #$0000,A1
  79. SF8:    MOVE.W    D2,D5
  80.     MOVE.W    D2,D0
  81.     AND.W    #7,D5
  82.     EOR.W    #7,D5
  83.     LSR.W    #3,D0
  84.     BTST    D5,0(A0,D0.W)
  85.     BEQ.S    S14E
  86.     MOVE.B    $00BFD400,D5
  87.     AND.W    #$00FF,D5
  88.     MOVE.B    0(A4,D5.W),D0
  89.     LSL.W    #8,D0
  90.     EXT.L    D0
  91.     LSL.L    #2,D0
  92.     MOVE.L    D0,12(A2)
  93.     MOVE.W    D1,8(A2)
  94.     MOVE.W    A1,4(A2)
  95.     ADD.W    6(A5),D5
  96.     AND.W    #$00FF,D5
  97.     MOVE.B    0(A4,D5.W),D0
  98.     LSL.W    #8,D0
  99.     EXT.L    D0
  100.     LSL.L    #2,D0
  101.     MOVE.L    D0,$0010(A2)
  102.     MOVE.W    #$0032,$0014(A2)
  103.     ADD.L    D6,A2
  104.     SUBQ.W    #1,D7
  105.     BEQ.S    S15E
  106. S14E:    ADDQ.W    #1,A1
  107.     ADDQ.W    #1,D2
  108.     DBRA    D4,SF8
  109.     ADDQ.W    #1,D1
  110.     DBRA    D3,SF2
  111.     BRA.L    SEC
  112.  
  113. S15E:    MOVE.L    #7,D3
  114.     CLR.W    (A3)
  115.     MOVE.W    #$01F4,2(A3)
  116. S168:    MOVE.L    6(A3),A2
  117.     MOVE.W    #$03E7,D7
  118. S170:    MOVE.W    (A2),D4
  119.     MOVE.W    2(A2),D5
  120.     MOVE.L    4(A2),D0
  121.     MOVE.L    8(A2),D1
  122.     TST.W    $0014(A2)
  123.     BNE.S    S1A0
  124.     ADD.L    12(A2),D0
  125.     ADD.L    $0010(A2),D1
  126.     ADD.L   #316*6,$0010(A2)
  127.     BCLR    D4,0(A6,D5.W)
  128.     CMP.L    #$01600000,D0
  129.     BCC.S    S1A0
  130.     CMP.L    #$01000000,D1
  131.     BCS.S    S1A4
  132. S1A0:    SUBQ.W    #1,$0014(A2)
  133. S1A4:    MOVE.L    D0,4(A2)
  134.     MOVE.L    D1,8(A2)
  135.     SWAP    D0
  136.     SWAP    D1
  137.     TST.W    $0014(A2)
  138.     BMI.S    S1D2
  139.     MOVE.W    D1,D2
  140.     ADD.W    D1,D1
  141.     ADD.W    D2,D1
  142.     LSL.W    #4,D1
  143.     MOVE.W    D0,D2
  144.     LSR.W    #3,D2
  145.     ADD.W    D2,D1
  146.     AND.W    D3,D0
  147.     EOR.W    D3,D0
  148.     MOVE.W    D0,(A2)
  149.     MOVE.W    D1,2(A2)
  150.     BSET    D0,0(A6,D1.W)
  151. S1D2:    ADD.L    D6,A2
  152.     TST.W    (A3)
  153.     DBNE    D7,S170
  154.     BEQ.S    S168
  155.  
  156.     SUB.W    #1,counter
  157.     BNE.L    GOON
  158.     MOVE.W    #$7FFF,D0
  159.     MOVE.W    D0,$0096(A5)
  160.     MOVE.W    $0010(A3),$0096(A5)
  161.     MOVE.W    D0,$009A(A5)
  162.     MOVE.W    D0,$009C(A5)
  163.     MOVE.L    10(A3),$0000006C
  164.     MOVE.W    14(A3),$009A(A5)
  165.     MOVEM.L    (SP)+,D0-D7/A0-A6
  166.  
  167.     MOVE.L    #0,D0
  168.     RTS    
  169.  
  170. S22E:    MOVE.L    A6,$00E0(A5)
  171.     SUBQ.W    #1,2(A3)
  172.     BEQ.S    S242
  173.     CMP.W    #1,counter
  174.     BNE    S244
  175.     BTST    #6,$00BFE001
  176.     BNE.S    S244
  177. S242:    ADDQ.W    #1,(A3)
  178. S244:    MOVE.W    #$0020,$009C(A5)
  179.     RTE    
  180.  
  181. textausgabe:
  182.               move.l     textpointer,a0
  183.               lea     cover+1,a1
  184.               move.l #0,d6
  185. text1:        move.l #42,d0
  186. text2:        move.b  (a0)+,d1
  187.               bsr     letter
  188.               addq.l  #1,a1
  189.               dbra    d0,text2
  190.               add.l   #$000000DC+24,a1
  191.               dbra    d6,text1
  192.           move.l  a0,textpointer
  193.               rts     
  194. letter: 
  195.               move.l #-5,d2
  196.               lea     chars,a2
  197.               lea     font,a3
  198. letterloop:
  199.               addq.l  #5,d2
  200.               cmp.b   (a2)+,d1
  201.               bne     letterloop
  202.               add.l   d2,a3
  203.               move.l #4,d2
  204. letterloop2:
  205.               move.b  (a3)+,(a1)
  206.               add.l   #$00000028+4,a1
  207.               dbra    d2,letterloop2
  208.               sub.l   #$000000DC,a1
  209.               rts     
  210.  
  211. counter:      dc.w 4
  212. dma:          dc.w 0
  213. intena:          dc.w 0 
  214. textpointer:  dc.l text
  215. grafname:     dc.b "graphics.library",0
  216. dosname:      dc.b "dos.library",0
  217. chars:          dc.b "abcdefghijklmnopqrstuvwxyz0123456789!: -'.<>",0
  218.  
  219. text:
  220.     dc.b    "          b l a c k   p o i n t            "
  221.     dc.b    "            we hate piranhas               "
  222.     dc.b    "            trax in 17.9.1990              "
  223.     dc.b    " greetings to <no order>:   all contacts   "
  224.     dc.b    0
  225.     even
  226.  
  227.  
  228. font:
  229.     DC.W    $7F03,$7F63,$637F,$037E,$637F,$7F00,$6060,$7F7E
  230.     DC.W    $0363,$637E,$7F00,$7860,$7F7F,$0078,$6060,$7F00
  231.     DC.W    $6361,$7F63,$637F,$6363,$7E18,$1818,$7E1F,$0606
  232.     DC.W    $667E,$6366,$7C66,$6360,$6060,$637F,$6377,$7F6B
  233.     DC.W    $6373,$7B6F,$6763,$7F03,$6363,$7F7E,$067E,$6060
  234.     DC.W    $7F03,$6367,$7F7F,$037F,$6663,$7F00,$7F03,$7FFF
  235.     DC.W    $1818,$1818,$6363,$6363,$7F63,$6363,$361C,$636B
  236.     DC.W    $7F77,$6363,$3E1C,$3E63,$6363,$7F03,$7F7F,$071C
  237.     DC.W    $707F,$7F67,$6B73,$7F38,$1818,$187E,$7F03,$7F60
  238.     DC.W    $7F7F,$030F,$037F,$6066,$7F06,$067F,$607F,$037F
  239.     DC.W    $7F60,$7F63,$7F7F,$060C,$0C0C,$7F63,$7F63,$7F7F
  240.     DC.W    $607F,$0303,$3838,$3800,$3800,$3800,$3800,$0000
  241.     DC.W    $0000,$0000,$00FF,$0000,$2020,$0000,$0000,$0000
  242.     DC.W    $0606,$1830,$6030,$1818,$0C06,$0C18
  243.  
  244.  
  245.  
  246. FIELD:    blk.l 8
  247.  
  248. DAT:
  249.  
  250.     DC.W    $2030,$7A14,$F234,$E0AC,$2CD8,$E02C,$A7F0,$8064
  251.     DC.W    $F134,$3639,$3B3E,$4143,$4649,$4B4E,$5052,$5557
  252.     DC.W    $595B,$5E60,$6264,$6667,$696B,$6C6E,$7071,$7274
  253.     DC.W    $7576,$7778,$797A,$7B7B,$7C7D,$7D7E,$7E7E,$7E7E
  254.  
  255. COVER:    
  256.     DC.W    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  257.     DC.W    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  258.     DC.W    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  259.     DC.W    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  260.     DC.W    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  261.     DC.W    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  262.     DC.W    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  263.     DC.W    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  264.     DC.W    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  265.     DC.W    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  266.     DC.W    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  267.     DC.W    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  268. END:
  269.