home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Assembler / dse-src6.dms / in.adf / DMZ.LZH / PRG9.1 < prev    next >
Encoding:
Text File  |  1999-10-02  |  1.6 KB  |  71 lines

  1. ALLOCMEM:    EQU    -198
  2. FREEMEM:    EQU    -210
  3. OPENLIB:    EQU    -408
  4. MEMF_CHIP:    EQU    $10002
  5.  
  6. START:        MOVEM.L    D0-D7/A0-A6,-(SP)
  7.  
  8.         MOVE.L    $4.W,A6            ; Läs execbase
  9.         MOVE.L    #COPSIZE,D0
  10.         MOVE.L    #MEMF_CHIP,D1
  11.         JSR    ALLOCMEM(A6)        ; Allokera ChipMem
  12.         MOVE.L    D0,NEWCOPPER        ; till coppern
  13.         BEQ.S    ALLOCERROR        ; Fel vid allokering?
  14.  
  15.         MOVE.L    D0,A0
  16.         LEA.L    COPPERLIST(PC),A1
  17.         MOVE.W    #COPSIZE-1,D7
  18. MOVECOPPER:    MOVE.B    (A1)+,(A0)+        ; Flytta copper till
  19.         DBF    D7,MOVECOPPER        ; ledigt ChipMem
  20.  
  21.         LEA.L    GFXNAME(PC),A1
  22.         JSR    OPENLIB(A6)        ; Öppna gfx.library
  23.         TST.L    D0            ; Error?
  24.         BEQ.S    GFXERROR
  25.  
  26.         MOVE.L    D0,A0            ; A0 = gfxbase
  27.         MOVE.L    $26(A0),OLDCOPPER    ; Läs gammal copper
  28.         MOVE.L    NEWCOPPER(PC),$DFF080    ; Ändra till vår
  29.  
  30. MAIN:        BTST    #6,$BFE001        ; Musknapp?
  31.         BNE.S    MAIN
  32.  
  33. EXIT:        MOVE.L    OLDCOPPER(PC),$DFF080    ; Lägg tillbaka
  34. GFXERROR:    MOVE.L    NEWCOPPER(PC),A1    ; gammal copper
  35.         MOVE.L    #COPSIZE,D0
  36.         JSR    FREEMEM(A6)
  37. ALLOCERROR:    MOVEM.L    (SP)+,D0-D7/A0-A6
  38.         RTS
  39.  
  40. COPPERLIST:    DC.W    $0100,$0000        ; Stäng av bitplan
  41.         DC.W    $0180,$0000        ; Svart bakgrund
  42.  
  43. BAR:        DC.W    $4007,$FFFE        ; Vänta på rad $40
  44.         DC.W    $0180,$0CCC        ; Grå bakgrund
  45.         DC.W    $4107,$FFFE        ; Vänta på rad $41
  46.         DC.W    $0180,$0FFF        ; Vit bakgrund
  47.         DC.W    $4207,$FFFE        ; etc.
  48.         DC.W    $0180,$0EEE
  49.         DC.W    $4307,$FFFE
  50.         DC.W    $0180,$0CCC
  51.         DC.W    $4407,$FFFE
  52.         DC.W    $0180,$0AAA
  53.         DC.W    $4507,$FFFE
  54.         DC.W    $0180,$0888
  55.         DC.W    $4607,$FFFE
  56.         DC.W    $0180,$0666
  57.         DC.W    $4707,$FFFE
  58.         DC.W    $0180,$0444
  59.  
  60.         DC.W    $4807,$FFFE        ; Vänta på rad $48
  61.         DC.W    $0180,$0000        ; Svart bakgrund
  62.  
  63.         DC.W    $FFFF,$FFFE        ; Avsluta coppern
  64. COPEND:
  65. COPSIZE:    EQU    COPEND-COPPERLIST
  66.  
  67. GFXNAME:    DC.B    'graphics.library',0
  68. EVEN
  69. OLDCOPPER:    DC.L    0
  70. NEWCOPPER:    DC.L    0
  71.