home *** CD-ROM | disk | FTP | other *** search
/ No Fragments Archive 10: Diskmags / nf_archive_10.iso / MAGS / ST_PLUS / STP14.MSA / EXTRAS_PI1_BOOT.S < prev    next >
Encoding:
Text File  |  1997-02-27  |  2.9 KB  |  108 lines

  1. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2. ; Picture Bootsector by Michael G. Gray, 1994
  3. ; Disassembled, prettied and (slightly) optimised by Steven Moore - Tabs 8
  4.  
  5.     opt    l0,d-,o+
  6.  
  7.     bra.s    bootsec
  8.     ds.b    $38
  9.  
  10. bootsec bsr    waitvbl           wait for next vbl
  11.     moveq    #7,d0            ] clear palette
  12.     lea    $FFFF8240.w,a0        ]
  13. paltlp    move.l    #$FFFFFFFF,(a0)+    ]
  14.     dbf    d0,paltlp        ]
  15.  
  16.     pea    text(pc)        ] print text
  17.     move.w    #9,-(sp)        ]
  18.     trap    #1            ]
  19.     addq.l    #6,sp            ]
  20.  
  21.     movea.l $44E.w,a0        ] bend text... quite a clever
  22.     moveq    #22,d0            ] effect really. see what it
  23. loop1    moveq    #79,d1            ] does to the font
  24. loop2    move.w    (a0),d2         ]
  25.     lsr.w    #1,d2            ]
  26.     move.w    d2,(a0)         ]
  27.     lea    8(a0),a0        ]
  28.     dbf    d1,loop2        ]
  29.     lea    $280(a0),a0        ]
  30.     dbf    d0,loop1        ]
  31.  
  32.     move.w    #$777,$FFFF8242.w    ] fade in text
  33.     move.w    #6,d0            ]
  34. fadelp    move.w    d0,-(sp)        ]
  35.     bsr    waitvbl         ]
  36.     subi.w    #$110,$FFFF8242.w    ]
  37.     bsr.s    waitvbl         ]
  38.     move.w    (sp)+,d0        ]
  39.     dbf    d0,fadelp        ]
  40.  
  41.     clr.w    -(sp)            ] load file
  42.     pea    fname(pc)        ]
  43.     move.w    #$3D,-(sp)        ]
  44.     trap    #1            ]
  45.     addq.l    #8,sp            ]
  46.     movea.l $44E.w,a0        ]
  47.     lea    -$7E00(a0),a5        ] note: the file is loaded below
  48.     move.w    d0,-(sp)        ] the screen memory (-$7E00 bytes
  49.     move.l    a5,-(sp)        ] below the screen, to be precise).
  50.     move.l    #$7D22,-(sp)        ] only interested in 32034 bytes
  51.     move.w    d0,-(sp)        ] (forget the last 2 if present)
  52.     move.w    #$3F,-(sp)        ]
  53.     trap    #1            ]
  54.     adda.l    #$C,sp            ]
  55.     move.w    #$3E,-(sp)        ]
  56.     trap    #1            ]
  57.     addq.l    #4,sp            ]
  58.  
  59.     moveq    #6,d0            ] fade the text down again
  60.     lea    $FFFF8244.w,a0        ]
  61. fade2lp movem.w d0/a0,-(sp)        ]
  62.     bsr.s    waitvbl         ]
  63.     bsr.s    waitvbl         ]
  64.     addi.w    #$110,$FFFF8242.w    ]
  65.     movem.w (sp)+,d0/a0        ]
  66.     clr.l    (a0)+            ]
  67.     dbf    d0,fade2lp        ]
  68.  
  69.     move.w    #8000-1,d0        ] copy loaded picture to screen
  70.     movea.l $44E.w,a1        ]
  71.     lea    -$7DDE(a1),a0        ]
  72. scrlp    move.l    (a0)+,(a1)+        ]
  73.     dbf    d0,scrlp        ]
  74.     move.l    a0,-(sp)        ]
  75.     bsr.s    waitvbl         ]
  76.     movea.l (sp)+,a0        ]
  77.  
  78.     movem.l 2(a5),d0-d7        ] copy palette
  79.     movem.l d0-d7,$FFFF8240.w    ]
  80.  
  81. waitvbl move.w    #$25,-(sp)        wait for next vertical blank
  82.     trap    #14
  83.     addq.l    #2,sp
  84.     rts                and exit...
  85.  
  86. ;;;;;; Text ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  87. ; You can change this... the 27,"Y",32+y,32+x sequences set cursor coords..
  88. ; Note that the y is stated before the x...you have 40 columns.
  89. ; (Don't make it too big!)
  90. ;    dc.b    ...whatever...                (e.g., STOS equivalent!)
  91.  
  92. text    dc.b    27,"b",1                pen 1
  93.     dc.b    27,"Y",32+4,32+13            locate 13,4
  94.     dc.b    "Banana Software"            print "Banana Soft.."
  95.     dc.b    27,"Y",32+5,32+13            locate 13,5
  96.     dc.b    "---------------"            print "-----------.."
  97.     dc.b    27,"Y",32+7,32+15            locate 15,7
  98.     dc.b    "Virus Free"                print "Virus Free"
  99.     dc.b    27,"Y",32+11,32+9            locate 9,11
  100.     dc.b    "Written by M.G.Gray '94"        print "Written by .."
  101.     dc.b    0                    end
  102.  
  103. ;;;;;; Filename ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  104. fname    dc.b    "A:\BOOT_PIC.PI1",0
  105.  
  106. ;;;;;; That's all folks! ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  107.  
  108.