home *** CD-ROM | disk | FTP | other *** search
- **** Sprite Demo ****
- **** © March 1989 by ****
- **** Joakim Hallberg ****
- **** Mastermind of Sigma ****
-
- ;Konstanter
-
- custom: equ $dff000
- bplcon0: equ $100
- bplcon1: equ $102
- bplcon2: equ $104
- bpl1mod: equ $108
- ddfstrt: equ $092
- ddfstop: equ $094
- diwstrt: equ $08e
- diwstop: equ $090
- vposr: equ $004
- color00: equ $180
- color01: equ $182
- color17: equ $1a2
- color18: equ $1a4
- color19: equ $1a6
- color21: equ $1aa
- color22: equ $1ac
- color23: equ $1ae
- cop1lc: equ $080
- copjmp1: equ $088
- execbase: equ 4
-
- move.l execbase,a6
- lea.l gfxname,a1
- moveq #0,d0
- jsr -552(a6)
- move.l d0,gfxbase
- beq openerr
-
- lea custom,a0
- move.w #$1200,bplcon0(a0)
- move.w #$0000,bpl1mod(a0)
- move.w #$0000,bplcon1(a0)
- move.w #$0024,bplcon2(a0)
- move.w #$0025,ddfstrt(a0)
- move.w #$00d0,ddfstop(a0)
- move.w #$1f18,diwstrt(a0)
- move.w #$00d8,diwstop(a0)
-
- move.w #$0000,color00(a0)
- move.w #$0000,color01(a0)
- move.w #$0aaa,color17(a0)
- move.w #$0777,color18(a0)
- move.w #$0777,color19(a0)
- move.w #$0fff,color21(a0)
- move.w #$0fff,color22(a0)
- move.w #$0fff,color23(a0)
-
- move.l #$25000,a1
- lea sprite,a2
- sprloop:
- move.l (a2),(a1)+
- cmp.l #$00000000,(a2)+
- bne sprloop
-
- move.l #$25100,a1
- lea sprite2,a2
- spr2loop:
- move.l (a2),(a1)+
- cmp.l #$00000000,(a2)+
- bne spr2loop
-
- move.l #$25200,a1
- lea sprite3,a2
- spr3loop:
- move.l (a2),(a1)+
- cmp.l #$00000000,(a2)+
- bne spr3loop
-
- move.l #$00000000,$30000
-
- move.l #$21000,a1
- move.w #2000,d0
- floop:
- move.l #$00000000,(a1)+
- subq.w #1,d0
- bne floop
-
- move.l gfxbase,a0
- add.l #$32,a0
- move.w #$0080,$dff096
- move.l (a0),oldcopper
- move.l #copperl,(a0)
- move.w #$83a0,$dff096
-
- main:
- jsr compare1(pc)
- jsr loop
- jsr compare2(pc)
- jsr loop
- jsr compare3(pc)
- jsr loop
- andi.b #64,$bfe001
- bne main
-
- jmp closeall
-
- loop:
- lea $25101,a1
- jsr vloop2(pc)
- jsr vloop2(pc)
- lea $25201,a2
- jsr vloop3(pc)
- jsr vloop3(pc)
- jsr vloop3(pc)
- lea $25001,a0
- jsr vloop(pc)
- lea $25109,a1
- jsr vloop2(pc)
- jsr vloop2(pc)
- lea $25209,a2
- jsr vloop3(pc)
- jsr vloop3(pc)
- jsr vloop3(pc)
- lea $25009,a0
- jsr vloop(pc)
- lea $25111,a1
- jsr vloop2(pc)
- jsr vloop2(pc)
- lea $25211,a2
- jsr vloop3(pc)
- jsr vloop3(pc)
- jsr vloop3(pc)
- lea $25011,a0
- jsr vloop(pc)
- lea $25119,a1
- jsr vloop2(pc)
- jsr vloop2(pc)
- lea $25219,a2
- jsr vloop3(pc)
- jsr vloop3(pc)
- jsr vloop3(pc)
- lea $25019,a0
- jsr vloop(pc)
- lea $25121,a1
- jsr vloop2(pc)
- jsr vloop2(pc)
- lea $25221,a2
- jsr vloop3(pc)
- jsr vloop3(pc)
- jsr vloop3(pc)
- lea $25021,a0
- jsr vloop(pc)
- lea $25129,a1
- jsr vloop2(pc)
- jsr vloop2(pc)
- lea $25229,a2
- jsr vloop3(pc)
- jsr vloop3(pc)
- jsr vloop3(pc)
- lea $25029,a0
- jsr vloop(pc)
- rts
-
- closeall:
-
- move.l gfxbase,a0
- add.l #$32,a0
- move.w #$0080,$dff096
- move.l oldcopper,(a0)
- move.w #$8080,$dff096
-
- CloseGrap:
- move.l execbase,a6
- move.l gfxbase,a1
- jsr -414(a6)
-
- openerr:
- moveq #0,d0
- rts
-
- copperl:
- dc.w $00e0,$0002
- dc.w $00e2,$1000
- dc.w $0120,$0002
- dc.w $0122,$5000
- dc.w $0124,$0002
- dc.w $0126,$5100
- dc.w $0128,$0002
- dc.w $012a,$5200
- dc.w $012c,$0003
- dc.w $012e,$0000
- dc.w $0130,$0003
- dc.w $0132,$0000
- dc.w $0134,$0003
- dc.w $0136,$0000
- dc.w $0138,$0003
- dc.w $013a,$0000
- dc.w $013c,$0003
- dc.w $013e,$0000
- dc.w $180,$000
- dc.w $1e01,$fffe
- dc.w $180,$fff
- dc.w $1f01,$fffe
- dc.w $180,$eee
- dc.w $2001,$fffe
- dc.w $180,$ddd
- dc.w $2101,$fffe
- dc.w $180,$ccc
- dc.w $2201,$fffe
- dc.w $180,$bbb
- dc.w $2301,$fffe
- dc.w $180,$aaa
- dc.w $2401,$fffe
- dc.w $180,$999
- dc.w $2501,$fffe
- dc.w $180,$888
- dc.w $2601,$fffe
- dc.w $180,$777
- dc.w $2701,$fffe
- dc.w $180,$666
- dc.w $2801,$fffe
- dc.w $180,$555
- dc.w $2901,$fffe
- dc.w $180,$444
- dc.w $2a01,$fffe
- dc.w $180,$333
- dc.w $2b01,$fffe
- dc.w $180,$222
- dc.w $2c01,$fffe
- dc.w $180,$111
- dc.w $2d01,$fffe
- dc.w $180,$000
- dc.w $6901,$fffe
- dc.w $180,$111
- dc.w $6a01,$fffe
- dc.w $180,$222
- dc.w $6b01,$fffe
- dc.w $180,$333
- dc.w $6c01,$fffe
- dc.w $180,$444
- dc.w $6d01,$fffe
- dc.w $180,$555
- dc.w $6e01,$fffe
- dc.w $180,$666
- dc.w $6f01,$fffe
- dc.w $180,$777
- dc.w $7001,$fffe
- dc.w $180,$888
- dc.w $7101,$fffe
- dc.w $180,$999
- dc.w $7201,$fffe
- dc.w $180,$aaa
- dc.w $7301,$fffe
- dc.w $180,$bbb
- dc.w $7401,$fffe
- dc.w $180,$ccc
- dc.w $7501,$fffe
- dc.w $180,$ddd
- dc.w $7601,$fffe
- dc.w $180,$eee
- dc.w $7701,$fffe
- dc.w $180,$fff
- dc.w $7801,$fffe
- dc.w $180,$eee
- dc.w $7901,$fffe
- dc.w $180,$ddd
- dc.w $7a01,$fffe
- dc.w $180,$ccc
- dc.w $7b01,$fffe
- dc.w $180,$bbb
- dc.w $7c01,$fffe
- dc.w $180,$aaa
- dc.w $7d01,$fffe
- dc.w $180,$999
- dc.w $7e01,$fffe
- dc.w $180,$888
- dc.w $7f01,$fffe
- dc.w $180,$777
- dc.w $8001,$fffe
- dc.w $180,$666
- dc.w $8101,$fffe
- dc.w $180,$555
- dc.w $8201,$fffe
- dc.w $180,$444
- dc.w $8301,$fffe
- dc.w $180,$333
- dc.w $8401,$fffe
- dc.w $180,$222
- dc.w $8501,$fffe
- dc.w $180,$111
- dc.w $8601,$fffe
- dc.w $180,$000
- dc.w $f101,$fffe
- dc.w $180,$110
- dc.w $f201,$fffe
- dc.w $180,$220
- dc.w $f301,$fffe
- dc.w $180,$330
- dc.w $f401,$fffe
- dc.w $180,$440
- dc.w $f501,$fffe
- dc.w $180,$550
- dc.w $f601,$fffe
- dc.w $180,$660
- dc.w $f701,$fffe
- dc.w $180,$770
- dc.w $f801,$fffe
- dc.w $180,$880
- dc.w $f901,$fffe
- dc.w $180,$990
- dc.w $fa01,$fffe
- dc.w $180,$aa0
- dc.w $fb01,$fffe
- dc.w $180,$bb0
- dc.w $fc01,$fffe
- dc.w $180,$cc0
- dc.w $fd01,$fffe
- dc.w $180,$dd0
- dc.w $fe01,$fffe
- dc.w $180,$ee0
- dc.w $ff01,$fffe
- dc.w $180,$ff0
- dc.w $ffff,$fffe
-
- sprite:
- dc.w $2d60,$2e00
- dc.w $0000,$1000
- dc.w $3d40,$3e00
- dc.w $0000,$1000
- dc.w $48ee,$4900
- dc.w $0000,$1000
- dc.w $599d,$5a00
- dc.w $0000,$1000
- dc.w $6262,$6300
- dc.w $0000,$1000
- dc.w $6704,$6800
- dc.w $0000,$1000
- dc.w $0000,$0000
-
- sprite2:
- dc.w $2e70,$2f00
- dc.w $0001,$0000
- dc.w $3a42,$3b00
- dc.w $0001,$0000
- dc.w $40ee,$4100
- dc.w $0001,$0000
- dc.w $529f,$5300
- dc.w $0001,$0000
- dc.w $5e40,$5f00
- dc.w $0001,$0000
- dc.w $6500,$6600
- dc.w $0001,$0000
- dc.w $0000,$0000
-
- sprite3:
- dc.w $2f80,$3000
- dc.w $0001,$0000
- dc.w $3652,$3700
- dc.w $0001,$0000
- dc.w $40ee,$4100
- dc.w $0001,$0000
- dc.w $50ff,$5100
- dc.w $0001,$0000
- dc.w $5a80,$5b00
- dc.w $0001,$0000
- dc.w $6200,$6300
- dc.w $0001,$0000
- dc.w $0000,$0000
-
- vloop:
- move.b (a0),d0
- add.b #1,d0
- move.b d0,(a0)
- rts
-
- vloop2:
- move.b (a1),d2
- add.b #1,d2
- move.b d2,(a1)
- rts
-
- vloop3:
- move.b (a2),d3
- add.b #1,d3
- move.b d3,(a2)
- rts
-
- compare1:
- move.b $dff006,d0
- cmp.b #$d0,d0
- bne compare1
- rts
-
- compare2:
- move.b $dff006,d0
- cmp.b #$d3,d0
- bne compare2
- rts
-
- compare3:
- move.b $dff006,d0
- cmp.b #$d7,d0
- bne compare3
- rts
-
- compare4:
- move.b $dff006,d0
- cmp.b #$e7,d0
- bne compare4
- rts
-
- compare5:
- move.b $dff006,d0
- cmp.b #$ff,d0
- bne compare5
- rts
-
- tloop:
- move.w #3,d1
- ause:
- jsr vloop2(pc)
- dbf d1,ause
- rts
-
- dmacon: dc.w 0
- gfxbase: dc.l 1
- oldcopper: dc.l 1
-
- gfxname: dc.b 'graphics.library',0
-