home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
No Fragments Archive 10: Diskmags
/
nf_archive_10.iso
/
MAGS
/
ST_PLUS
/
STP14.MSA
/
EXTRAS_STP_BOOT.S
< prev
next >
Wrap
Text File
|
1997-02-27
|
4KB
|
100 lines
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Graphic bootsector - Steven Moore 1996 - (Tab width is 8)
opt l0,d-,o+ Devpac options; turn off symbols.
bra.s bootsec ] This bit is important for the
ds.b $38 ] BOOTINST.PRG program. Ignore.
bootsec clr.b $FFFF8260.w Kick the machine into low res
lea $FFFF8240.w,a0 Address of palette into a0
move.l #$0FFF0FFF,(a0) ] Set the entire palette
move.w #$FFF,30(a0) ] to white...
pea text(pc) ] Display the text on the screen
move.w #9,-(sp) ]
trap #1 ]
addq.l #6,sp ]
lea graphic(pc),a0 ] Copy 32x32 logo: a0->graphic data
move.l $44E.w,a1 ] a1->screen
lea (160*68)+(8*9)(a1),a1 ] The '68' is the y-position of the
moveq #31,d0 ] logo on the screen
loop move.w (a0)+,(a1) ] Copy...
addq.l #8,a1 ] ...
move.w (a0)+,(a1) ] ...
lea 160-8(a1),a1 ] ...
dbra d0,loop ] and loop around.
bsr.s waitvbl Wait for the next vertical blank
lea $FFFF8240.w,a4 a4->Palette
move.w #$777,d4 Start with white
bra.s intolp and into a truly lovely loop
fadelp subi.w #$111,d4 construct! (Work it out for
beq.s bye yourself - tip, it doesn't start
intolp move.w d4,(a4) at the beginning...)
bsr.s waitvbl
bsr.s waitvbl
bra.s fadelp
bye move.l #$00000FFF,(a4) ] ensure the palette is
move.w #$FFF,30(a4) ] white on black,
; fall through into waitvbl, when
; it returns it goes back to TOS...
waitvbl move.w #$25,-(sp) Wait for next vertical blank
trap #14
addq.l #2,sp
rts and exit...
;;;;;; Graphic data, 1 plane, in binary (!) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
graphic dc.l %01111111111111111111111111111110 Yep, this is it: the ST+
dc.l %11000000000000000000000000000011 logo, actually how I drew
dc.l %10000111110101111111111010000001 it. 1s are white, 0s are
dc.l %10001101011010000110100000000001 black...
dc.l %10011010101101000110100000000001
dc.l %10110100000110100110100000000001
dc.l %10111000000000000110100000000001
dc.l %10110100000000000110100000000001
dc.l %10111000000000000110100000000001
dc.l %10110100000000000110100001000001
dc.l %10111000000000000110100011000001
dc.l %10110100000000000110100011000001
dc.l %10011010000000000110100011000001
dc.l %10001101000000000110100011000001
dc.l %10000110100000000110100011000001
dc.l %10000011010000000110000011000001
dc.l %10000001101000000110111111111101
dc.l %10000000110100000110000011000001
dc.l %10000000011010000110100011000001
dc.l %10000000001101000110100011000001
dc.l %10000000000110100110100011000001
dc.l %10000000000011010110100011000001
dc.l %10000000000011100110100011000001
dc.l %10000000000011010110100010000001
dc.l %10000000000011100110100000000001
dc.l %10000000000011010110100000000001
dc.l %10110100000110100110100000000001
dc.l %10011010001101000110100000000001
dc.l %10001101011010000110100000000001
dc.l %10000111110100000110100000000001
dc.l %11000000000000000000000000000011
dc.l %01111111111111111111111111111110 That's the logo done
text dc.b 27,"E" VT52: Clear screen
dc.b 27,"b",1 VT52: Foreground colour 1
dc.b 27,"Y",32+13,32+16 VT52: Set cursor pos to (16,13)
dc.b "Issue xx" First bit of text
dc.b 27,"Y",32+16,32+8 VT52: Set cursor pos to (8,16)
dc.b "This disk is Virus Free!" Second bit of text
dc.b 27,"b",15 VT52: Foreground colour 15
dc.b 0 and finish.
;;;;;; That's all folks ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;