home *** CD-ROM | disk | FTP | other *** search
-
- ScreenX = 46
- Stars=100
- StarCol=$ffd
- StarBPL=$65000
-
-
- StarField:
- lea StarX,a0
- lea StarY,a1
- lea StarSp,a2
- move.w #Stars-1,d0
- StarF1: jsr StarFDel
- move.w (a2),d4
- sub.w d4,(a0)
- bpl StarF2
- move.w #319,(a0)
- StarF3: move.w $dff006,d1
- move.w $bfe800,d2
- eor.w d1,d2
- and.w #$ff,d2
- cmp.w #180,d2
- bge StarF3
- move.w d2,(a1)
- move.w $dff006,d1
- move.w $bfe800,d2
- eor.w d1,d2
- and.w #7,d2
- add.w #1,d2
- move.w d2,(a2)
- StarF2:
- jsr StarFSet
- dbra d0,StarF1
- rts
-
- StarFDel:
- move.w (a0),d1
- move.w (a1),d2
- lea StarBPL,a3
- mulu #ScreenX,d2
- lsr.w #3,d1
- add.w d1,d2
- add.l d2,a3
- move.w (a0),d1
- eor.b #7,d1
- and.w #7,d1
- bclr d1,(a3)
- rts
-
- StarFSet:
- move.w (a0),d1
- move.w (a1)+,d2
- move.w (a2)+,d3
- lea StarBPL,a3
- mulu #ScreenX,d2
- lsr.w #3,d1
- add.w d1,d2
- add.l d2,a3
- move.w (a0)+,d1
- eor.b #7,d1
- and.w #7,d1
- bset d1,(a3)
- rts
-
- StarX: blk.w Stars
- Stary: blk.w Stars
- StarSp: blk.w Stars
-
- InitStarField:
- move.w #3*Stars-1,d1
- lea StarX,a0
- StarFieldsu: move.w $dff006,d0
- move.w $bfe800,d2
- eor.w d2,d0
- add.w d1,d0
- and.w #319,d0
- bset #0,d0
- move.w d0,(a0)+
- dbra d1,StarFieldsu
- rts