home *** CD-ROM | disk | FTP | other *** search
- ********************************************
- *** Scroll Routine ***
- *** Copyright 1989 by Joakim Hallberg ***
- *** MASTERMIND OF SIGMA ***
- ********************************************
-
- ExecBase: equ 4
-
- move.l ExecBase,A6 ;This will open the
- lea.l GfxName,A1 ;graphics library
- moveq #0,D0
- jsr -552(a6)
- move.l D0,GfxBase
- beq OpenErr ;There was an error, quit!
-
- move.l GfxBase,A0 ;Shift to the new
- add.l #$32,A0 ;copper
- move.w #$0080,$DFF096
- move.l (A0),OldCopper ;Save this so we can get it back
- move.l #Copper,(A0) ;when finished
- move.w #$8080,$DFF096
-
- * Scroll Routine *
-
- scroll:
- move.b $dff006,d0
- cmp.b #$ff,d0
- bne scroll
- move.w poke+2,d0 ;Move screen
- swap d0 ;1 pixel up
- move.w poke+6,d0 ;
- add.l #40,d0 ;
- move.w d0,poke+6 ;
- swap d0 ;
- move.w d0,poke+2 ;
-
- andi.b #64,$bfe001 ;Check mousebutton
- beq CloseAll ;Pressed, free up everything we've used
- bra scroll
-
- CloseAll:
-
- move.l GfxBase,A0 ;Shift back to the old
- add.l #$32,A0 ;copper
- move.w #$0080,$DFF096
- move.l OldCopper,(A0)
- move.w #$8080,$DFF096
-
- CloseGrap:
- move.l execbase,A6 ;Close the graphics library
- move.l GfxBase,A1
- jsr -414(a6)
-
- OpenErr:
- moveq #0,d0
- rts
-
- * Copperlist *
-
- copper:
- dc.w $0100,$1200 ;Number of bitplanes
- dc.w $008e,$1f81 ;Size of screen
- dc.w $0090,$2ec1 ;
- dc.w $0092,$38 ;
- dc.w $0094,$d0 ;
- dc.w $0108,$0000 ;Moduls
- dc.w $010a,$0000 ;
- poke:
- dc.w $00e0,$0000 ;Here's the screen
- dc.w $00e2,$0000 ;That we are changing at
- dc.w $0182,$0000 ;Set writecolour to black
- dc.w $0180,$0000 ;Set background colour to black
-
- dc.w $7501,$ff00 ;
- dc.w $0182,$0001 ;
- dc.w $7601,$ff00 ;
- dc.w $0182,$0002 ;
- dc.w $7701,$ff00 ;
- dc.w $0182,$0003 ;
- dc.w $7801,$ff00 ;
- dc.w $0182,$0004 ;
- dc.w $7901,$ff00 ;
- dc.w $0182,$0005 ;
- dc.w $7a01,$ff00 ;
- dc.w $0182,$0006 ;
- dc.w $7b01,$ff00 ;
- dc.w $0182,$0007 ;
- dc.w $7c01,$ff00 ;
- dc.w $0182,$0008 ;
- dc.w $7d01,$ff00 ;
- dc.w $0182,$0009 ;
- dc.w $7e01,$ff00 ;
- dc.w $0182,$000a ;
- dc.w $7f01,$ff00 ;
- dc.w $0182,$000b ;
- dc.w $8001,$ff00 ;
- dc.w $0182,$000c ;
- dc.w $8101,$ff00 ;
- dc.w $0182,$000d ;
- dc.w $8201,$ff00 ;
- dc.w $0182,$000e ;
- dc.w $8301,$ff00 ;
- dc.w $0182,$000f ;
-
- dc.w $a801,$ff00 ;Wait for line 168
- dc.w $0180,$0f00 ;Change BG to red
- dc.w $a901,$ff00 ;Wait for line 169
- dc.w $0180,$0000 ;Change BG to black
-
- dc.w $cd01,$ff00 ;
- dc.w $0182,$000e ;
- dc.w $ce01,$ff00 ;
- dc.w $0182,$000d ;
- dc.w $cf01,$ff00 ;
- dc.w $0182,$000c ;
- dc.w $d001,$ff00 ;
- dc.w $0182,$000b ;
- dc.w $d101,$ff00 ;
- dc.w $0182,$000a ;
- dc.w $d201,$ff00 ;
- dc.w $0182,$0009 ;
- dc.w $d301,$ff00 ;
- dc.w $0182,$0008 ;
- dc.w $d401,$ff00 ;
- dc.w $0182,$0007 ;
- dc.w $d501,$ff00 ;
- dc.w $0182,$0006 ;
- dc.w $d601,$ff00 ;
- dc.w $0182,$0005 ;
- dc.w $d701,$ff00 ;
- dc.w $0182,$0004 ;
- dc.w $d801,$ff00 ;
- dc.w $0182,$0003 ;
- dc.w $d901,$ff00 ;
- dc.w $0182,$0002 ;
- dc.w $da01,$ff00 ;
- dc.w $0182,$0001 ;
- dc.w $db01,$ff00 ;
- dc.w $0182,$0000 ;
-
- dc.w $ffff,$fffe ;Copperend
-
- GfxName: DC.B 'graphics.library',0
- even
-
- OldCopper: DC.L 1
- GfxBase: DC.L 1