home *** CD-ROM | disk | FTP | other *** search
/ Esprit de Apple Corps / EDAC-2.iso / Graphics / Apps / Programs / SuperMagic3 / s320.asm next >
Encoding:
Assembly Source File  |  1991-12-08  |  20.3 KB  |  1,089 lines

  1. *------------------------------------------------------
  2. *
  3. * *** Super Magic 320 Demo ***
  4. *
  5. * This program is written by Lim Thye Chean to
  6. * demonstrate the capability of Super Magic 320,
  7. * the library routines to release the full power of
  8. * 320 x 200 Super Hires.
  9. *
  10. *------------------------------------------------------
  11.  
  12.  
  13.          mcopy sm.macros
  14.  
  15.          copy sm.header
  16.  
  17.  
  18. *------------------------------------------------------
  19. *
  20. * Variables
  21. *
  22.  
  23. T1       gequ  $0
  24. T2       gequ  $2
  25.  
  26. GX       gequ  $10
  27. GY       gequ  $12
  28. SX       gequ  $14
  29. SY       gequ  $16
  30. OldGX    gequ  $18
  31. OldGY    gequ  $1A
  32. OldSX    gequ  $1C
  33. OldSY    gequ  $1E
  34. GXDir    gequ  $20
  35. GYDir    gequ  $22
  36. SXDir    gequ  $24
  37. SYDir    gequ  $26
  38. LoveX    gequ  $30
  39. LoveY    gequ  $32
  40. OldLoveX gequ  $34
  41. OldLoveY gequ  $36
  42. LoveSpd  gequ  $38
  43. TextClr  gequ  $40
  44. TextCDir gequ  $42
  45. MsgCount gequ  $46
  46. ShineCnt gequ  $48
  47. Palette  gequ  $4A
  48.  
  49. *------------------------------------------------------
  50. *
  51. * Main Program
  52. *
  53.  
  54. Main     start
  55.          using MainData
  56.          using SMData
  57.  
  58. *
  59. * Initializing data
  60. *
  61.  
  62.          st2   #150,GX                  Set up 'G', 'S' and heart shapes
  63.          st2   #102,GY
  64.          st2   #160,SX
  65.          st2   #103,SY
  66.          stz   LoveX
  67.          st2   #30,LoveY
  68.          stz   LoveSpd
  69.  
  70.          st2   #1,(GXDir,GYDir)
  71.          stz   SXDir
  72.          stz   SYDir
  73.  
  74.          stz   TextCDir
  75.  
  76.          startUp
  77.  
  78. *
  79. * Setup stars
  80. *
  81.  
  82.          ldx   #78
  83.          ldy   #4
  84.          clc
  85.  
  86. SS1      tya
  87.          sta   StarX,x
  88.          adc   #8
  89.          sta   StarX-2,x
  90.          adc   #8
  91.          tay
  92.  
  93.          lda   #0
  94.          sta   StarClr,x
  95.          sta   StarClr-2,x
  96.  
  97.          lda   #3
  98.          sta   StarMove,x
  99.          lda   #5
  100.          sta   StarMove-2,x
  101.  
  102.          lda   #25
  103.          sta   StarTop,x
  104.          inc   a
  105.          sta   StarTop-2,x
  106.  
  107.          dex
  108.          dex
  109.          dex
  110.          dex
  111.          bpl   SS1
  112.  
  113. *
  114. * Introduction screen
  115. *
  116.  
  117.          setColour #0,#7,#0
  118.  
  119.          stz   T1
  120.  
  121.          ldx   #6
  122.  
  123. IS1      inc   T1
  124.          setColour #1,T1,#0
  125.  
  126.          dex
  127.          bne   IS1
  128.          st2   #65,Y
  129.  
  130. IS2      setPalette #1,Y                     Draw background
  131.          inc   Y
  132.          lda   Y
  133.          cmp   #200
  134.          bcc   IS2
  135.  
  136.          st2   #65,Y
  137.          st2   #$1111,Colour
  138.          st2   #1,T1
  139.  
  140. IS3      ldx   #0
  141.  
  142. IS4      plotHorLine #0,#319,Y,Colour
  143.  
  144.          inc   Y
  145.          inx
  146.          cpx   T1
  147.          bcc   IS4
  148.  
  149.          lda   Colour
  150.          clc
  151.          adc   #$1111
  152.          cmp   #$7777
  153.          bcc   IS5
  154.  
  155.          lda   #$1111
  156. IS5      sta   Colour
  157.  
  158.          inc   T1
  159.          lda   T1
  160.          cmp   #16
  161.          bcc   IS3
  162.  
  163.          centrePrint #32,#Intro,#Red,pt='no'
  164.  
  165.          ldy   #0
  166.  
  167.          clc
  168.  
  169.          ldx   #$D
  170.  
  171. IS6      delay #30000
  172.  
  173.          tya
  174.          adc   #$100
  175.          tay
  176.  
  177.          setColour #0,#7
  178.  
  179.          dex
  180.          bne   IS6
  181.  
  182.          delay
  183.  
  184. *
  185. * Display title
  186. *
  187.  
  188.          stz   T1
  189.  
  190.          ldx   #0
  191.          ldy   #11
  192.  
  193. DT1      delay #30000
  194.  
  195.          cpx   #$80
  196.          bcs   DT2
  197.          stx   RGB
  198.          setColour #1,#1,RGB
  199.  
  200. DT2      cpx   #$90
  201.          bcs   DT3
  202.          stx   RGB
  203.          setColour #1,#2,RGB
  204.  
  205. DT3      cpx   #$A0
  206.          bcs   DT4
  207.          stx   RGB
  208.          setColour #1,#3,RGB
  209.  
  210. DT4      cpx   #$B0
  211.          bcs   DT5
  212.          stx   RGB
  213.          setColour #1,#4,RGB
  214.  
  215. DT5      cpx   #$A0
  216.          bcs   DT6
  217.          stx   RGB
  218.          setColour #1,#5,RGB
  219.  
  220. DT6      cpx   #$90
  221.          bcs   DT7
  222.          stx   RGB
  223.          setColour #1,#6,RGB
  224.  
  225. DT7      txa
  226.          clc
  227.          adc   #$10
  228.          tax
  229.  
  230.          dey
  231.          beq   PlayMs
  232.          brl   DT1
  233.  
  234. *
  235. * Play Music
  236. *
  237.  
  238. PlayMs   startMusicTool                 Start music tool
  239.  
  240.          loadMusic #Song                Load song 'ToolBox'
  241.  
  242.          playMusic #True                Play song continuously
  243.  
  244. *
  245. * Change Palettes
  246. *
  247.  
  248.          ldx   #100
  249.  
  250. CS1      cycleRight #1,#1,#6
  251.          delay #18000
  252.  
  253.          dex
  254.          bne   CS1
  255.  
  256.          st2   #65,Y
  257.  
  258. CS2      plotHorLine #0,#319,Y,#Black
  259.          delay #500
  260.  
  261.          inc   Y
  262.          lda   Y
  263.          cmp   #200
  264.          bcc   CS2
  265.  
  266.          setAllPalette0
  267.  
  268.          delay
  269.  
  270.          centrePrint #120,#Credit1,#Green,pt='no'
  271.  
  272.          delay
  273.          delay
  274.          delay
  275.  
  276.          centrePrint #150,#Credit2,#Blue,pt='no'
  277.  
  278.          ldx   #10
  279.  
  280. CS3      delay
  281.          dex
  282.          bne   CS3
  283.  
  284.          clearScreen
  285.  
  286.          st2   #7,Y
  287.  
  288. CS4      setPalette #1,Y               Set the title message to a palette
  289.          inc   Y                          for fade in/out effect
  290.          lda   Y
  291.          cmp   #17
  292.          bcc   CS4
  293.  
  294.          setColour #2,#4,#$33F          Set the name to different palette
  295.          setColour #2,#15,#$F00           to produce shading effect
  296.          setPalette #2,#187
  297.  
  298.          setColour #3,#4,#$66F
  299.          setColour #3,#15,#$F20
  300.          setPalette #3,#188
  301.  
  302.          setColour #4,#4,#$88F
  303.          setColour #4,#15,#$F40
  304.          setPalette #4,#189
  305.  
  306.          setColour #5,#4,#$AAF
  307.          setColour #5,#15,#$F60
  308.          setPalette #5,#190
  309.  
  310.          setColour #6,#4,#$88F
  311.          setColour #6,#15,#$F80
  312.          setPalette #6,#191
  313.  
  314.          setColour #7,#4,#$66F
  315.          setColour #7,#15,#$FA0
  316.          setPalette #7,#192
  317.  
  318.          setColour #8,#4,#$33F
  319.          setColour #8,#15,#$FC0
  320.          setPalette #8,#193
  321.  
  322. *
  323. * Draw background
  324. *
  325.  
  326.          setColour #0,#8,#$F44          Change the colour in standard palette
  327.          setColour #0,#9,#$F88            for the love to shine
  328.          setColour #0,#10,#$F44
  329.  
  330.          setColour #0,#1,#$BF           Change the colour in standard palette
  331.          setColour #0,#$D,#$999           for the colour of the stars
  332.  
  333.          st2   #10,ShineCnt
  334.  
  335.          plotHorLine #0,#319,#0,#Blue   Draw messge board
  336.          plotHorLine #0,#319,#24,#Blue
  337.  
  338.          plotHorLine #0,#319,#1,#LBlue
  339.          plotHorLine #0,#319,#23,#LBlue
  340.  
  341.          plotHorLine #0,#319,#2,#White
  342.          plotHorLine #0,#319,#22,#White
  343.  
  344.          st2   #Blue,Colour
  345.  
  346.          clearArea #182,#199,pt='no'    Draw name bar
  347.          plotVerLine #0,#182,#199,#LBlue
  348.          plotVerLine #319,#182,#199,#LBlue
  349.  
  350.          st2   #22,Y1
  351.          st2   #181,Y2
  352.  
  353.          centrePrint #187,#Name,#White,pt='no',ol='yes'
  354.  
  355.          st2   #200,T1
  356.  
  357. DB1      shadowOff
  358.  
  359.          eraseShape OldLoveX,OldLoveY,#20,#16,LoveBgrd,pt='no'
  360.  
  361.          jsr   RotStar
  362.  
  363.          plotShape LoveX,LoveY,#20,#16,Love,LoveMask,LoveBgrd,pt='no'
  364.  
  365.          shadowOn
  366.  
  367.          jsr   ShowLove
  368.          jsr   ShowStar
  369.  
  370.          lda   KeyBrd
  371.          and   #$FF
  372.          cmp   #155
  373.          bne   DS2
  374.          brl   Bye
  375.  
  376. DS2      jsr   MoveLove
  377.          jsr   MoveStar
  378.          delay #1400
  379.  
  380.          dec   T1
  381.          beq   PrintMsg
  382.          brl   DB1
  383.  
  384. *
  385. * Print message
  386. *
  387.  
  388. PrintMsg stz   MsgCount
  389.  
  390.          st2   #0,KeyStrb
  391.  
  392. PM1      stz   Colour
  393.  
  394.          clearArea #7,#16,pt='no'
  395.  
  396.          lda   MsgCount
  397.          bne   P1
  398.          inc   MsgCount
  399.  
  400.          ldx   #50
  401.  
  402. Wait     jsr   Animate
  403.          dex
  404.          bne   Wait
  405.  
  406.          gradientFill #1,#GYellow
  407.  
  408.          lda   #Msg1
  409.          brl   Cycle
  410.  
  411. P1       cmp   #1
  412.          bne   P2
  413.          inc   MsgCount
  414.  
  415.          gradientFill #1,#GGreen
  416.  
  417.          lda   #Msg2
  418.          brl   Cycle
  419.  
  420. P2       cmp   #2
  421.          bne   P3
  422.          inc   MsgCount
  423.  
  424.          gradientFill #1,#GRed
  425.  
  426.          lda   #Msg3
  427.          brl   Cycle
  428.  
  429. P3       cmp   #3
  430.          bne   P4
  431.          inc   MsgCount
  432.  
  433.          gradientFill #1,#GGreen
  434.  
  435.          lda   #Msg4
  436.          brl   Cycle
  437.  
  438. P4       cmp   #4
  439.          bne   P5
  440.          inc   MsgCount
  441.  
  442.          gradientFill #1,#GRed
  443.  
  444.          lda   #Msg5
  445.          brl   Cycle
  446.  
  447. P5       cmp   #5
  448.          bne   P6
  449.          inc   MsgCount
  450.  
  451.          ldy   #60
  452.          lda   #Msg6
  453.          brl   Scroll
  454.  
  455. P6       cmp   #6
  456.          bne   P7
  457.          inc   MsgCount
  458.  
  459.          ldy   #24
  460.          lda   #Msg7
  461.          brl   Scroll
  462.  
  463. P7       cmp   #7
  464.          bne   P8
  465.          inc   MsgCount
  466.  
  467.          ldy   #88
  468.          lda   #Msg8
  469.          brl   Scroll
  470.  
  471. P8       cmp   #8
  472.          bne   P9
  473.          inc   MsgCount
  474.  
  475.          ldy   #28
  476.          lda   #Msg9
  477.          brl   Scroll
  478.  
  479. P9       stz   MsgCount
  480.  
  481.          ldy   #36
  482.          lda   #Msg10
  483.          brl   Scroll
  484.  
  485. *
  486. * Colour cycle message
  487. *
  488.  
  489. Cycle    sta   Message
  490.  
  491.          ldx   #14
  492.  
  493. Fade     cycleRight #1
  494.          jsr   Animate
  495.          dex
  496.          bne   Fade
  497.  
  498.          centrePrint #9,Message,#White,pt='no'
  499.  
  500.          ldx   #14
  501.  
  502. C1       cycleLeft #1
  503.          jsr   Animate
  504.          dex
  505.          bne   C1
  506.  
  507.          ldx   #111
  508.  
  509. Wait1    jsr   Animate
  510.          dex
  511.          bne   Wait1
  512.  
  513.          ldx   #14
  514.  
  515. C2       cycleRight #1
  516.          jsr   Animate
  517.          dex
  518.          bne   C2
  519.  
  520.          brl   PM1
  521.  
  522. *
  523. * Scroll text
  524. *
  525.  
  526. Scroll   sta   Message
  527.  
  528.          gradientFill #1,#GCyan
  529.  
  530.          sty   T1
  531.  
  532.          ldx   #312
  533.  
  534. S1       jsr   Animate
  535.  
  536.          stx   X
  537.          st2   #White,Colour
  538.  
  539.          phx
  540.  
  541.          print X,#9,Message,#White,pt='no',yc='no'
  542.  
  543.          plx
  544.  
  545.          jsr   Animate
  546.  
  547.          dex
  548.          dex
  549.          cpx   T1
  550.          bcc   S2
  551.          brl   S1
  552.  
  553. S2       ldx   #85
  554.  
  555. S3       jsr   Animate
  556.          dex
  557.          bne   S3
  558.  
  559.          ldx   #14
  560.  
  561. S4       cycleRight #1
  562.          jsr   Animate
  563.          dex
  564.          bne   S4
  565.  
  566.          brl   PM1
  567.  
  568.          end
  569.  
  570. *------------------------------------------------------
  571. *
  572. * Animate stars, GS shapes and heart
  573. *
  574.  
  575. Animate  start
  576.          using MainData
  577.          using SMData
  578.  
  579.          phx
  580.          phy
  581.  
  582.          shadowOff
  583.  
  584.          eraseShape OldLoveX,OldLoveY,#20,#16,LoveBgrd,pt='no'
  585.          eraseShape OldGX,OldGY,#20,#21,GBackgrd,pt='no'
  586.          eraseShape OldSX,OldSY,#20,#21,pt='no'
  587.  
  588.          jsr   RotStar
  589.  
  590.          plotShape SX,SY,#20,#21,S,Smask,pt='no'
  591.          plotShape GX,GY,#20,#21,G,GMask,GBackgrd,pt='no'
  592.          plotShape LoveX,LoveY,#20,#16,Love,LoveMask,LoveBgrd,pt='no'
  593.  
  594.          shadowOn
  595.  
  596.          ShowFullShape GX,GY,#20,#21,pt='no'
  597.          ShowFullShape SX,SY,#20,#21,pt='no'
  598.  
  599.          jsr   ShowLove
  600.          jsr   ShowStar
  601.  
  602.          jsr   MoveGS
  603.          jsr   MoveLove
  604.          jsr   MoveStar
  605.  
  606.          lda   KeyBrd
  607.          and   #$FF
  608.          cmp   #155
  609.          beq   Bye
  610.  
  611. Done     ply
  612.          plx
  613.  
  614.          rts
  615.  
  616.          end
  617.  
  618. *------------------------------------------------------
  619. *
  620. * Quit program
  621. *
  622.  
  623. Bye      start
  624.  
  625.          st2   #0,KeyStrb
  626.  
  627.          stopMusic                      Stop the song
  628.          shutDownMusicTool              Shut down music tool
  629.  
  630.          shutDown                       Shut down
  631.  
  632.          end
  633.  
  634. *------------------------------------------------------
  635. *
  636. * Rotate stars
  637. *
  638.  
  639. RotStar  start
  640.          using MainData
  641.  
  642.          ldx   #78
  643.  
  644. RS1      erasePixelFast "StarX,x","OldStarY,x"
  645.          plotPixel "StarX,x","StarY,x","StarClr,x"
  646.  
  647.          dex
  648.          dex
  649.          bpl   RS1
  650.  
  651.          rts
  652.  
  653.          end
  654.  
  655. *
  656. * Display stars
  657. *
  658.  
  659. ShowStar start
  660.          using MainData
  661.  
  662.          ldx   #78
  663.  
  664. SS1      showPixel "StarX,x","OldStarY,x"
  665.          showPixel "StarX,x","StarY,x"
  666.  
  667.          dex
  668.          dex
  669.          bpl   SS1
  670.  
  671.          rts
  672.  
  673.          end
  674.  
  675. *
  676. * Move stars
  677. *
  678.  
  679. MoveStar start
  680.          using MainData
  681.          using SMData
  682.  
  683.          ldx   #78
  684.  
  685. MS1      lda   StarY,x
  686.          sta   OldStarY,x
  687.          clc
  688.          adc   StarMove,x
  689.          cmp   #181
  690.          bcc   MS4
  691.  
  692.          ldy   #2
  693.          stz   T2
  694.  
  695.          random                         Reposition the stars, and randomize
  696.          bmi   MS2                        the stars movement
  697.  
  698.          iny
  699.          st2   #4,T2
  700.  
  701. MS2      tya
  702.          sta   StarMove,x
  703.  
  704.          ldy   T2
  705.          lda   ClrTable,y
  706.          tay
  707.  
  708.          random
  709.          bmi   MS3
  710.  
  711.          ldy   T2
  712.          lda   ClrTable+2,y
  713.          tay
  714.  
  715. MS3      tya
  716.          sta   StarClr,x
  717.  
  718.          lda   StarTop,x
  719.  
  720. MS4      sta   StarY,x
  721.          dex
  722.          dex
  723.          bpl   MS1
  724.  
  725.          rts
  726.  
  727.          end
  728.  
  729. *------------------------------------------------------
  730. *
  731. * Move GS shape
  732. *
  733.  
  734. MoveGS   start
  735.          using MainData
  736.  
  737. MoveG    st2   GX,OldGX                 Move 'G'
  738.          st2   GY,OldGY
  739.  
  740.          lda   GXDir
  741.          beq   MG1
  742.  
  743.          dec   GX
  744.          dec   GX
  745.          lda   GX
  746.          cmp   #4
  747.          bcs   MG2
  748.          stz   GXDir
  749.          bra   MG2
  750.  
  751. MG1      inc   GX
  752.          inc   GX
  753.          lda   GX
  754.          cmp   #300
  755.          bcc   MG2
  756.          inc   GXDir
  757.  
  758. MG2      lda   GYDir
  759.          beq   MG3
  760.  
  761.          dec   GY
  762.          dec   GY
  763.          lda   GY
  764.          cmp   #27
  765.          bcs   MoveS
  766.          stz   GYDir
  767.          bra   MoveS
  768.  
  769. MG3      inc   GY
  770.          inc   GY
  771.          lda   GY
  772.          cmp   #160
  773.          bcc   MoveS
  774.          inc   GYDir
  775.  
  776. MoveS    st2   SX,OldSX                 Move 'S'
  777.          st2   SY,OldSY
  778.  
  779.          lda   SXDir
  780.          beq   MS1
  781.  
  782.          dec   SX
  783.          dec   SX
  784.          lda   SX
  785.          cmp   #4
  786.          bcs   MS2
  787.          stz   SXDir
  788.          bra   MS2
  789.  
  790. MS1      inc   SX
  791.          inc   SX
  792.          lda   SX
  793.          cmp   #300
  794.          bcc   MS2
  795.          inc   SXDir
  796.  
  797. MS2      lda   SYDir
  798.          beq   MS3
  799.  
  800.          dec   SY
  801.          lda   SY
  802.          cmp   #26
  803.          bcs   Done
  804.          stz   SYDir
  805.          bra   Done
  806.  
  807. MS3      inc   SY
  808.          lda   SY
  809.          cmp   #160
  810.          bcc   Done
  811.          inc   SYDir
  812.  
  813. Done     rts
  814.  
  815.          end
  816.  
  817. *------------------------------------------------------
  818. *
  819. * Animate heart
  820. *
  821.  
  822. *
  823. * Show heart
  824. *
  825.  
  826. ShowLove start
  827.          using MainData
  828.  
  829.          ShowShape OldLoveX,OldLoveY,#20,#16,pt='no'
  830.          ShowShape LoveX,LoveY,#20,#16,pt='no'
  831.  
  832.          dec   ShineCnt
  833.          bne   Done
  834.          st2   #10,ShineCnt
  835.  
  836.          cycleLeft #0,#7,#10            Glow the heart
  837.  
  838.          jsr   CycName                  Colour cycle the name
  839.  
  840. Done     rts
  841.  
  842.          end
  843.  
  844. *
  845. * Move heart
  846. *
  847.  
  848. MoveLove start
  849.          using MainData
  850.  
  851.          st2   LoveX,OldLoveX
  852.          st2   LoveY,OldLoveY
  853.  
  854.          inc   LoveX
  855.          inc   LoveX
  856.          lda   LoveX
  857.          cmp   #322
  858.          bcc   ML1
  859.          stz   LoveX
  860.  
  861. ML1      clc
  862.          lda   LoveY
  863.          adc   LoveSpd
  864.          sta   LoveY
  865.  
  866.          lda   LoveY
  867.          cmp   #162
  868.          bcc   ML2
  869.  
  870.          lda   ShineCnt
  871.          lsr   a
  872.          bcs   Done
  873.  
  874.          sec
  875.          lda   #0
  876.          sbc   LoveSpd
  877.          sta   LoveSpd
  878.          rts
  879.  
  880. ML2      lda   ShineCnt
  881.          lsr   a
  882.          bcs   Done
  883.  
  884.          inc   LoveSpd
  885.  
  886. Done     rts
  887.  
  888.          end
  889.  
  890. *------------------------------------------------------
  891. *
  892. * Colour cycle the name
  893. *
  894.  
  895. CycName  start
  896.  
  897.          getColour #2,#15
  898.          pha
  899.  
  900.          ldx   #3
  901.  
  902. CN1      stx   Palette
  903.          getColour Palette,#15
  904.          dec   Palette
  905.          setColour Palette,#15
  906.  
  907.          inx
  908.          cpx   #9
  909.          bcc   CN1
  910.  
  911.          pla
  912.          sta   RGB
  913.          setColour #8,#15,RGB
  914.  
  915.          rts
  916.  
  917.          end
  918.  
  919.  
  920. *------------------------------------------------------
  921. *
  922. * Main program data
  923. *
  924.  
  925. MainData data
  926.  
  927. Song     str   'Music/Toolbox'
  928.  
  929. Intro    dc    c'Super Magic Demo',h'00'
  930. Credit1  dc    c'Graphics by Lim Thye Chean',h'00'
  931. Credit2  dc    c'Music (ToolBox) by FTA',h'00'
  932. Msg1     dc    c'Lim Thye Chean, the GS Lover',h'00'
  933. Msg2     dc    c'proudly presents...',h'00'
  934. Msg3     dc    c'SUPER MAGIC 3',h'00'
  935. Msg4     dc    c'Release the power of your GS',h'00'
  936. Msg5     dc    c'Apple II Forever',h'00'
  937. Msg6     dc    c'Introducing Super Magic 3 ',h'00'
  938. Msg7     dc    c'The graphics and animation library ',h'00'
  939. Msg8     dc    c'for the rest of us ',h'00'
  940. Msg9     dc    c'If you like this cool little demo ',h'00'
  941. Msg10    dc    c'You can write one yourself now! ',h'00'
  942.  
  943. Name     dc    c'LIM THYE CHEAN (1991)',h'00'
  944.  
  945. G        dc    h'000FFFFFFFFFFFFFFE00'
  946.          dc    h'00444444444444444FE0'
  947.          dc    h'044444444444444444E0'
  948.          dc    h'044444444444444444F0'
  949.          dc    h'044444444444444444F0'
  950.          dc    h'0BBBBF00000000BBBBF0'
  951.          dc    h'0BBBBF00000000000000'
  952.          dc    h'0BBBBF00000000000000'
  953.          dc    h'0BBBBF00000000000000'
  954.          dc    h'0EEEEF0000FFFFFFFFF0'
  955.          dc    h'0EEEEF0000EEEEEEEEF0'
  956.          dc    h'0EEEEF0000EEEEEEEEF0'
  957.          dc    h'0EEEEE0000EEEEEEEEF0'
  958.          dc    h'02222E000022222222F0'
  959.          dc    h'02222E000000002222F0'
  960.          dc    h'02222E000000002222F0'
  961.          dc    h'022222EEEEEEE22222E0'
  962.          dc    h'066666666666666666E0'
  963.          dc    h'06666666666666666610'
  964.          dc    h'00666666666666666600'
  965.          dc    h'00066666666666666000'
  966.  
  967. GMask    dc    h'FFF000000000000000FF'
  968.          dc    h'FF00000000000000000F'
  969.          dc    h'F000000000000000000F'
  970.          dc    h'F000000000000000000F'
  971.          dc    h'F000000000000000000F'
  972.          dc    h'F00000FFFFFFFF00000F'
  973.          dc    h'F00000FFFFFFFFFFFFFF'
  974.          dc    h'F00000FFFFFFFFFFFFFF'
  975.          dc    h'F00000FFFFFFFFFFFFFF'
  976.          dc    h'F00000FFFF000000000F'
  977.          dc    h'F00000FFFF000000000F'
  978.          dc    h'F00000FFFF000000000F'
  979.          dc    h'F00000FFFF000000000F'
  980.          dc    h'F00000FFFF000000000F'
  981.          dc    h'F00000FFFFFFFF00000F'
  982.          dc    h'F00000FFFFFFFF00000F'
  983.          dc    h'F000000000000000000F'
  984.          dc    h'F000000000000000000F'
  985.          dc    h'F000000000000000000F'
  986.          dc    h'FF0000000000000000FF'
  987.          dc    h'FFF00000000000000FFF'
  988.  
  989. GBackGrd ds    210
  990.  
  991. S        dc    h'000FFFFFFFFFFFFFFE00'
  992.          dc    h'00444444444444444FE0'
  993.          dc    h'044444444444444444E0'
  994.          dc    h'044444444444444444F0'
  995.          dc    h'044444444444444444F0'
  996.          dc    h'0BBBBF00000000BBBBF0'
  997.          dc    h'0BBBBE00000000000000'
  998.          dc    h'0BBBBB10000000000000'
  999.          dc    h'0BBBBBBBBBBBBBBBE100'
  1000.          dc    h'0EEEEEEEEEEEEEEEEF10'
  1001.          dc    h'0EEEEEEEEEEEEEEEEEF0'
  1002.          dc    h'01EEEEEEEEEEEEEEEEE0'
  1003.          dc    h'001EEEEEEEEEEEEEEEF0'
  1004.          dc    h'000000000000002222F0'
  1005.          dc    h'0EEEEE000000002222F0'
  1006.          dc    h'02222E000000002222F0'
  1007.          dc    h'022222EEEEEEEE2222F0'
  1008.          dc    h'066666666666666666F0'
  1009.          dc    h'066666666666666666E0'
  1010.          dc    h'00666666666666666600'
  1011.          dc    h'00066666666666666000'
  1012.  
  1013. SMask    dc    h'FFF000000000000000FF'
  1014.          dc    h'FF00000000000000000F'
  1015.          dc    h'F000000000000000000F'
  1016.          dc    h'F000000000000000000F'
  1017.          dc    h'F000000000000000000F'
  1018.          dc    h'F00000FFFFFFFF00000F'
  1019.          dc    h'F00000FFFFFFFFFFFFFF'
  1020.          dc    h'F000000FFFFFFFFFFFFF'
  1021.          dc    h'F00000000000000000FF'
  1022.          dc    h'F000000000000000000F'
  1023.          dc    h'F000000000000000000F'
  1024.          dc    h'F000000000000000000F'
  1025.          dc    h'FF00000000000000000F'
  1026.          dc    h'FFFFFFFFFFFFFF00000F'
  1027.          dc    h'F00000FFFFFFFF00000F'
  1028.          dc    h'F00000FFFFFFFF00000F'
  1029.          dc    h'F000000000000000000F'
  1030.          dc    h'F000000000000000000F'
  1031.          dc    h'F000000000000000000F'
  1032.          dc    h'FF0000000000000000FF'
  1033.          dc    h'FFF00000000000000FFF'
  1034.  
  1035. Love     dc    h'00077770000007777000'
  1036.          dc    h'07FF777700007FF77770'
  1037.          dc    h'7F7777777777F7777777'
  1038.          dc    h'77777777777777777777'
  1039.          dc    h'77777777777777777777'
  1040.          dc    h'77777777777777777777'
  1041.          dc    h'77777777777777777777'
  1042.          dc    h'77777777777777777777'
  1043.          dc    h'07777777777777777770'
  1044.          dc    h'07777777777777777770'
  1045.          dc    h'00777777777777777700'
  1046.          dc    h'00077777777777777000'
  1047.          dc    h'00007777777777770000'
  1048.          dc    h'00000777777777700000'
  1049.          dc    h'00000007777770000000'
  1050.          dc    h'00000000777700000000'
  1051.  
  1052. LoveMask dc    h'FFF0000FFFFFF0000FFF'
  1053.          dc    h'F0000000FFFF0000000F'
  1054.          dc    h'00000000000000000000'
  1055.          dc    h'00000000000000000000'
  1056.          dc    h'00000000000000000000'
  1057.          dc    h'00000000000000000000'
  1058.          dc    h'00000000000000000000'
  1059.          dc    h'00000000000000000000'
  1060.          dc    h'F000000000000000000F'
  1061.          dc    h'F000000000000000000F'
  1062.          dc    h'FF0000000000000000FF'
  1063.          dc    h'FFF00000000000000FFF'
  1064.          dc    h'FFFF000000000000FFFF'
  1065.          dc    h'FFFFF0000000000FFFFF'
  1066.          dc    h'FFFFFFF000000FFFFFFF'
  1067.          dc    h'FFFFFFFF0000FFFFFFFF'
  1068.  
  1069. LoveBGrd ds    160
  1070.  
  1071. StarX    ds    80
  1072. StarY    dc    h'61002E0059005100980021003B0058003F007B00'
  1073.          dc    h'320043008F007100620036008D002C0042005A00'
  1074.          dc    h'28002300510068009900580084003A0073004100'
  1075.          dc    h'9900390034005600780090001F00230045006700'
  1076. OldStarY dc    h'61002E0059005100980021003B0058003F007B00'
  1077.          dc    h'320043008F007100620036008D002C0042005A00'
  1078.          dc    h'28002300510068009900580084003A0073004100'
  1079.          dc    h'9900390034005600780090001F00230045006700'
  1080. StarTop  ds    80
  1081. StarMove ds    80
  1082. StarClr  ds    80
  1083.  
  1084. ClrTable dc    h'4444DDDDFFFF1111'
  1085.  
  1086.          end
  1087.  
  1088.          append SM.lib
  1089.