home *** CD-ROM | disk | FTP | other *** search
/ 64'er 1992 April / 64er_Magazin_92-04_1992_Markt__Technik_de_Side_A.d64 / sideborder.seq < prev    next >
Encoding:
Text File  |  1992-01-01  |  3.1 KB  |  100 lines

  1.          *= $1000      ;startadr bei
  2.                        ;visass \ba $1000
  3. ;***************************************
  4. ;* sideborder sprites (w) by pit in 92 *
  5. ;***************************************
  6.  
  7.          sei           ;irq sperren
  8.          jsr sprites   ;sprites setzen
  9.          lda #$f9      ;raster-irq bei
  10.          sta $d012     ;$f9
  11.          lda #$01      ;nur raster-irq
  12.          sta $d01a     ;zulassen
  13.          lda #$7d      ;timer
  14.          sta $dc0d     ;setzen
  15.          lda #<start   ;irq-vektoren
  16.          sta $0314     ;auf "start"
  17.          lda #>start   ;verbiegen
  18.          sta $0315     ;
  19.          cli           ;irq freigeben
  20.          rts           ;ab ins basic
  21. ;---------------------------------------
  22. start    lda #%00010011;up/down-border
  23.          sta $d011     ;ausschalten
  24.          lda $d021     ;farben
  25.          sta $d020     ;setzen
  26.          nop           ;8 zyklen
  27.          nop           ;warten
  28.          nop           ;
  29.          nop           ;
  30.          ldx #$31      ;
  31.          ldy #$08      ;----------------
  32. rzyaus   dey           ;
  33.          bne rzyaus    ; raster
  34. conti    nop           ;    zyklen
  35.          nop           ;       ausgleich
  36.          nop           ;
  37.          dec $d016     ;scroll-reg
  38.          inc $d016     ;schalten
  39.          nop           ;
  40.          nop           ; raster
  41.          nop           ;    zyklen
  42.          nop           ;       ausgleich
  43.          nop           ;
  44.          nop           ;
  45.          nop           ; raster
  46.          nop           ;    zyklen
  47.          nop           ;       ausgleich
  48.          nop           ;
  49.          bit $00       ;----------------
  50.          dex           ;
  51.          bne conti     ;
  52.  
  53.          lda #$00      ;raster-irq
  54.          sta $d012     ;auf zeile $00
  55.          lda #<ready   ;und irq
  56.          sta $0314     ;auf naechste
  57.          ldy #>ready   ;routine
  58.          sty $0315     ;
  59.  
  60.          lda $d019     ;irr(irq req reg)
  61.          sta $d019     ;loeschen
  62.          jmp $ea31     ;und alter irq
  63. ;---------------------------------------
  64. ready    lda #$1b      ;up/down-borders
  65.          sta $d011     ;anschalten
  66.  
  67.          lda #$f9      ;und raster-irq
  68.          sta $d012     ;wieder auf $f9
  69.  
  70.          lda #<start   ;irq wieder
  71.          sta $0314     ;auf die alte
  72.          ldy #>start   ;routine
  73.          sty $0315     ;verbiegen
  74.          lda $d019     ;irr
  75.          sta $d019     ;loeschen
  76.          jmp $ea31     ;und alter irq
  77. ;---------------------------------------
  78. sprites  ldx #$00      ;zaehler auf $00
  79. spr1     lda sprdates,x;spr-positionen
  80.          sta $d000,x   ;holen und in
  81.          sta $d027,x   ;pos+farb-reg
  82.          inx           ;schreiben
  83.          cpx #$11      ;(msb-byte $d010)
  84.          bne spr1      ;
  85.          lda #$00      ;spriteblockpoint
  86.          sta $07f8     ;auf $00 (zerop)
  87.          sta $d021     ;
  88.          lda #$ff      ;alle sprites
  89.          sta $d015     ;anschalten
  90.          rts           ;und zurueck
  91.  
  92. ;------positions tabelle----------------
  93. sprdates .byte $01,$fa,$21,$fa;pos 0-7
  94.          .byte $81,$fa,$a1,$fa
  95.          .byte $c1,$fa,$e1,$fa
  96.          .byte $41,$fa,$61,$fa
  97.          .byte %11000000  ;msb
  98. ;---------------------------------------
  99.  
  100.