home *** CD-ROM | disk | FTP | other *** search
- ALLOCMEM: EQU -198
- FREEMEM: EQU -210
- OPENLIB: EQU -408
- MEMF_CHIP: EQU $10002
-
- START: MOVEM.L D0-D7/A0-A6,-(SP)
-
- MOVE.L $4.W,A6 ; Läs execbase
- MOVE.L #COPSIZE,D0
- MOVE.L #MEMF_CHIP,D1
- JSR ALLOCMEM(A6) ; Allokera ChipMem
- MOVE.L D0,NEWCOPPER ; till coppern
- BEQ.S ALLOCERROR ; Fel vid allokering?
-
- MOVE.L D0,A0
- LEA.L COPPERLIST(PC),A1
- MOVE.W #COPSIZE-1,D7
- MOVECOPPER: MOVE.B (A1)+,(A0)+ ; Flytta copper till
- DBF D7,MOVECOPPER ; ledigt ChipMem
-
- LEA.L GFXNAME(PC),A1
- JSR OPENLIB(A6) ; Öppna gfx.library
- TST.L D0 ; Error?
- BEQ.S GFXERROR
-
- MOVE.L D0,A0 ; A0 = gfxbase
- MOVE.L $26(A0),OLDCOPPER ; Läs gammal copper
- MOVE.L NEWCOPPER(PC),$DFF080 ; Ändra till vår
-
- MAIN: BTST #6,$BFE001 ; Musknapp?
- BNE.S MAIN
-
- EXIT: MOVE.L OLDCOPPER(PC),$DFF080 ; Lägg tillbaka
- GFXERROR: MOVE.L NEWCOPPER(PC),A1 ; gammal copper
- MOVE.L #COPSIZE,D0
- JSR FREEMEM(A6)
- ALLOCERROR: MOVEM.L (SP)+,D0-D7/A0-A6
- RTS
-
- COPPERLIST: DC.W $0100,$0000 ; Stäng av bitplan
- DC.W $0180,$0000 ; Svart bakgrund
-
- BAR: DC.W $4007,$FFFE ; Vänta på rad $40
- DC.W $0180,$0CCC ; Grå bakgrund
- DC.W $4107,$FFFE ; Vänta på rad $41
- DC.W $0180,$0FFF ; Vit bakgrund
- DC.W $4207,$FFFE ; etc.
- DC.W $0180,$0EEE
- DC.W $4307,$FFFE
- DC.W $0180,$0CCC
- DC.W $4407,$FFFE
- DC.W $0180,$0AAA
- DC.W $4507,$FFFE
- DC.W $0180,$0888
- DC.W $4607,$FFFE
- DC.W $0180,$0666
- DC.W $4707,$FFFE
- DC.W $0180,$0444
-
- DC.W $4807,$FFFE ; Vänta på rad $48
- DC.W $0180,$0000 ; Svart bakgrund
-
- DC.W $FFFF,$FFFE ; Avsluta coppern
- COPEND:
- COPSIZE: EQU COPEND-COPPERLIST
-
- GFXNAME: DC.B 'graphics.library',0
- EVEN
- OLDCOPPER: DC.L 0
- NEWCOPPER: DC.L 0