home *** CD-ROM | disk | FTP | other *** search
- *= $1000 ;startadr bei
- ;visass \ba $1000
- ;***************************************
- ;* sideborder sprites (w) by pit in 92 *
- ;***************************************
-
- sei ;irq sperren
- jsr sprites ;sprites setzen
- lda #$f9 ;raster-irq bei
- sta $d012 ;$f9
- lda #$01 ;nur raster-irq
- sta $d01a ;zulassen
- lda #$7d ;timer
- sta $dc0d ;setzen
- lda #<start ;irq-vektoren
- sta $0314 ;auf "start"
- lda #>start ;verbiegen
- sta $0315 ;
- cli ;irq freigeben
- rts ;ab ins basic
- ;---------------------------------------
- start lda #%00010011;up/down-border
- sta $d011 ;ausschalten
- lda $d021 ;farben
- sta $d020 ;setzen
- nop ;8 zyklen
- nop ;warten
- nop ;
- nop ;
- ldx #$31 ;
- ldy #$08 ;----------------
- rzyaus dey ;
- bne rzyaus ; raster
- conti nop ; zyklen
- nop ; ausgleich
- nop ;
- dec $d016 ;scroll-reg
- inc $d016 ;schalten
- nop ;
- nop ; raster
- nop ; zyklen
- nop ; ausgleich
- nop ;
- nop ;
- nop ; raster
- nop ; zyklen
- nop ; ausgleich
- nop ;
- bit $00 ;----------------
- dex ;
- bne conti ;
-
- lda #$00 ;raster-irq
- sta $d012 ;auf zeile $00
- lda #<ready ;und irq
- sta $0314 ;auf naechste
- ldy #>ready ;routine
- sty $0315 ;
-
- lda $d019 ;irr(irq req reg)
- sta $d019 ;loeschen
- jmp $ea31 ;und alter irq
- ;---------------------------------------
- ready lda #$1b ;up/down-borders
- sta $d011 ;anschalten
-
- lda #$f9 ;und raster-irq
- sta $d012 ;wieder auf $f9
-
- lda #<start ;irq wieder
- sta $0314 ;auf die alte
- ldy #>start ;routine
- sty $0315 ;verbiegen
- lda $d019 ;irr
- sta $d019 ;loeschen
- jmp $ea31 ;und alter irq
- ;---------------------------------------
- sprites ldx #$00 ;zaehler auf $00
- spr1 lda sprdates,x;spr-positionen
- sta $d000,x ;holen und in
- sta $d027,x ;pos+farb-reg
- inx ;schreiben
- cpx #$11 ;(msb-byte $d010)
- bne spr1 ;
- lda #$00 ;spriteblockpoint
- sta $07f8 ;auf $00 (zerop)
- sta $d021 ;
- lda #$ff ;alle sprites
- sta $d015 ;anschalten
- rts ;und zurueck
-
- ;------positions tabelle----------------
- sprdates .byte $01,$fa,$21,$fa;pos 0-7
- .byte $81,$fa,$a1,$fa
- .byte $c1,$fa,$e1,$fa
- .byte $41,$fa,$61,$fa
- .byte %11000000 ;msb
- ;---------------------------------------
-
-