home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Almathera Ten Pack 4: Demo 1
/
almathera_demo1.bin
/
sourcecode
/
dexion
/
rogers.s
< prev
next >
Wrap
Text File
|
1995-03-17
|
7KB
|
309 lines
scr=$7a000
struc=$7d000
rastport=struc+100
setupsystem:
bsr getgfx
bsr cleanitdown
move.w #8000-1 ,d0
move.l #scr ,a0
slet: move.b #0 ,(a0)+
dbra d0 ,slet
move.l #scr ,a0
move.l a0 ,struc+8
move.l #struc ,a0
moveq #1 ,d0
move.l #320 ,d1
move.l #200 ,d2
move.l gfxbase ,a6
jsr -390(a6)
move.l #rastport ,a1
jsr -198(a6)
move.l #struc,rastport+4
move.l #copper0,newcop
bsr changecop
;--DEMO
move=-240
draw=-246
setapen=-342
move.l #rastport,a1
;/////// my demo!!! ///////
demo:
move.l #end,d3
move.l #text,d2
sub.l #1,d3
move.l d2,textpos
oloop:
move.l #6,d2
move.l #charset,a2
move.l textpos,a4
clr.l d0
move.b (a4),d0
;--SPECIAL FUNCTIONS--
cmp.b #'s',d0
beq changesize
cmp.b #'n',d0
beq newline
cmp.b #' ',d0
beq space
cmp.b #'l',d0
beq scroll
cmp.b #'c',d0
beq changec
sub #33,d0
mulu #28,d0
add d0,a2
add.l #1,textpos
iloop:
clr.l d0
clr.l d1
move.b (a2)+,d0
mulu sz,d0
add x,d0
move.b (a2)+,d1
mulu sz,d1
add y,d1
jsr move(a6)
move.b (a2)+,d0
mulu sz,d0
add x,d0
move.b (a2)+,d1
mulu sz,d1
add y,d1
jsr draw(a6)
dbra d2,iloop
canc:
clr.l d0
move.w sz,d0
mulu #4,d0
add d0,x
cancel:
cmp.l textpos,d3
bge oloop
rts
cls:
move.l #7999,d0
move.l #scr,a0
cls1:
move.b #0,(a0)+
dbra d0,cls1
rts
wait:
move.l #0,d1
w0:
move.l #$ffff,d0
w1:
dbra d0,w1
dbra d1,w0
rts
;/////// my demo's over. //
copper0:dc.w $0100,$1200
dc.w $008e,$2c81
dc.w $0090,$f4c1
dc.w $0092,$38
dc.w $0094,$d0
dc.w $0108,$0000
dc.w $010a,$0000
dc.w $00e0,$0007
dc.w $00e2,$a000
dc.w $0180,$00f
dc.w $0182,$ff0
dc.w $ffff,$fffe
;*** gfx ***
gfxbase: dc.l 0
gfxname: dc.b 'graphics.library',0,0
getgfx:
move.l 4 ,a6
move.l #gfxname,a1
jsr -408(a6)
move.l d0 ,gfxbase
rts
;*** change copper list ***
newcop: dc.l 0
;***
changecop:
move.l gfxbase ,a0
move.l newcop ,50(a0)
rts
;*********
forbid =-132
oldcopper: dc.l 0
cleanitdown:
move.l 4,a6
jsr -132(a6)
rts
charset:
dc.b 1,0,1,2,1,3,1,3,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0;!
dc.b 1,0,1,1,2,0,2,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0;"
dc.b 1,0,1,3,2,0,2,3,0,1,3,1,0,2,3,2,1,0,1,0,1,0,1,0,1,0,1,0;#
dc.b 0,0,3,0,0,0,0,2,1,0,1,3,0,2,3,2,3,2,3,3,0,3,3,3,2,0,2,3;$
dc.b 0,3,3,0,0,0,0,0,3,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;%
dc.b 0,0,0,3,0,0,2,3,2,0,2,3,3,0,3,1,0,0,0,0,0,0,0,0,0,0,0,0;&
dc.b 1,0,1,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0;'
dc.b 1,0,0,1,0,1,0,2,0,2,1,3,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0;(
dc.b 2,0,3,1,3,1,3,2,3,2,2,3,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0;)
dc.b 1,0,3,0,0,2,1,0,1,0,1,3,0,2,3,2,0,2,0,3,1,0,1,0,1,0,1,0;AF
dc.b 0,0,2,0,0,0,0,1,1,0,1,1,0,1,2,1,1,1,1,2,2,1,2,2,0,2,2,2;SS
dc.b 1,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2;,
dc.b 0,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2;-
dc.b 1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,3;.
dc.b 0,3,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0;/
dc.b 0,0,3,0,3,0,3,3,0,3,3,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0;0
dc.b 1,0,1,3,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0;1
dc.b 0,0,3,0,3,0,3,2,0,2,3,2,0,2,0,3,0,3,3,3,0,0,0,0,0,0,0,0;2
dc.b 0,0,3,0,3,0,3,3,0,3,3,3,1,2,3,2,0,0,0,0,0,0,0,0,0,0,0,0;3
dc.b 0,0,0,2,0,2,3,2,3,0,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;4
dc.b 0,0,3,0,0,0,0,2,0,2,3,2,3,2,3,3,0,3,3,3,0,0,0,0,0,0,0,0;5
dc.b 0,0,3,0,0,0,0,3,0,2,3,2,3,2,3,3,0,3,3,3,0,0,0,0,0,0,0,0;6
dc.b 0,0,3,0,0,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;7
dc.b 0,0,3,0,3,0,3,3,0,0,0,3,0,2,3,2,0,3,3,3,0,0,0,0,0,0,0,0;8
dc.b 0,0,3,0,0,0,0,2,0,2,3,2,3,0,3,3,0,0,0,0,0,0,0,0,0,0,0,0;9
dc.b 1,0,1,0,1,3,1,3,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0;:
dc.b 0,1,1,3,1,3,3,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1;Amiga
dc.b 3,0,0,2,0,2,3,3,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0;>
dc.b 0,1,3,1,0,2,3,2,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1;=
dc.b 0,0,3,2,0,3,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;>
dc.b 0,0,3,0,3,0,3,1,0,1,3,1,0,1,0,2,0,2,3,2,1,3,2,3,0,0,0,0;?
dc.b 0,0,3,3,1,0,3,2,0,1,2,3,0,3,3,0,0,2,2,0,1,3,3,1,0,0,0,0;XX
dc.b 0,0,3,0,0,0,0,3,3,0,3,3,0,2,3,2,0,0,0,0,0,0,0,0,0,0,0,0;A
dc.b 0,0,0,3,0,0,3,0,3,0,3,1,3,1,2,1,2,1,3,2,3,2,3,3,0,3,3,3;B
dc.b 0,0,3,0,0,0,0,3,0,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;C
dc.b 0,0,2,0,2,0,3,1,3,1,3,2,3,2,2,3,0,3,2,3,0,0,0,3,0,0,0,0;D
dc.b 0,0,3,0,0,0,0,3,0,2,2,2,0,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0;E
dc.b 0,0,3,0,0,0,0,3,0,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;F
dc.b 0,0,3,0,0,0,0,3,0,3,3,3,3,2,1,2,3,2,3,3,0,0,0,0,0,0,0,0;G
dc.b 0,0,0,3,0,2,3,2,3,0,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;H
dc.b 1,0,1,3,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0;I
dc.b 3,0,3,3,3,3,0,3,0,3,0,2,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0;J
dc.b 0,0,0,3,0,2,3,0,0,2,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;K
dc.b 0,0,0,3,0,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;L
dc.b 0,0,0,3,0,0,1,1,1,1,3,0,3,0,3,3,0,0,0,0,0,0,0,0,0,0,0,0;M
dc.b 0,0,0,3,0,0,3,3,3,0,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;N
dc.b 0,0,3,0,3,0,3,3,3,3,0,3,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0;O
dc.b 0,0,3,0,3,0,3,2,0,0,0,3,0,2,3,2,0,0,0,0,0,0,0,0,0,0,0,0;P
dc.b 0,0,3,0,3,0,3,3,0,0,0,3,0,3,3,3,2,2,3,3,0,0,0,0,0,0,0,0;Q
dc.b 0,0,3,0,0,0,0,3,0,2,3,2,3,0,3,2,0,2,3,3,0,0,0,0,0,0,0,0;R
dc.b 0,0,3,0,0,0,0,2,0,2,3,2,3,2,3,3,0,3,3,3,0,0,0,0,0,0,0,0;S
dc.b 0,0,3,0,1,0,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;T
dc.b 0,0,0,3,0,3,3,3,3,0,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;U
dc.b 0,0,1,3,1,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;V
dc.b 0,0,0,3,0,3,1,2,1,2,3,3,3,0,3,3,0,0,0,0,0,0,0,0,0,0,0,0;W
dc.b 0,0,3,3,3,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;X
dc.b 0,0,1,2,0,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;Y
dc.b 0,0,3,0,0,3,3,0,0,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;Z
dc.b 0,0,3,0,0,0,0,3,0,2,3,2,1,0,1,3,1,3,3,3,0,0,0,0,0,0,0,0;Æ
dc.b 0,0,3,0,0,0,0,3,0,3,3,0,3,0,3,3,0,3,3,3,0,0,0,0,0,0,0,0;Ø
dc.b 0,1,3,1,2,0,1,0,0,2,3,2,3,1,3,3,0,1,0,3,1,0,1,0,1,0,1,0;Å
sz:
dc.w 2
x:
dc.w 0
y:
dc.w 0
textpos: dc.l 0
changesize:
clr.l d0
addi #1,a4
move.b (a4),d0
move.w d0,sz
addi.l #2,textpos
jmp cancel
newline:
clr.l d4
move.w sz,d4
mulu #4,d4
addi.w d4,y
move.w #0,x
addi.l #1,textpos
jmp cancel
space:
addi.l #1,textpos
jmp canc
scroll:
move.w #0,x
add.l #1,textpos
clr.l d6
move.w sz,d6
mulu #2,d6
sub #1,d6
move.l #7921,d0
oloopsc:
move.l #scr,a4
move.l a4,a5
add.l #80,a5
sub.l #2,d0
move.l d0,d5
iloopsc:
move.b (a5)+,(a4)+
dbra d5,iloopsc
move.l #scr,a4
add.l #7920,a4
move.l #79,d1
loopsc2:
move.b #0,(a4)+
dbra d1,loopsc2
move.l #$ff,d1
wloopsc:
dbra d1,wloopsc
dbra d6,oloopsc
jmp cancel
changec:
addi.l #1,textpos
move.l textpos,a5
clr.l d0
move.b (a5),d0
move.w d0,x
addi.l #1,textpos
move.l textpos,a5
clr.l d0
move.b (a5),d0
move.w d0,y
addi.l #1,textpos
jmp cancel
text:
dc.b 'c',0,100,'s',8,'ROGER!'
dc.b 'c',1,101,'s',8,'ROGER!lllllllll'
dc.b 'c',0,0,'s',2,'HERE IS YOUR DISK.nHERE IS YOUR DEMO.'
dc.b 'c',0,8,' ----'
dc.b 'c',0,8,' IIIIn'
dc.b ' !! MY !!'
end: