home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er 1993 March
/
64er_Magazin_93-03_1993_Markt__Technik_de_Side_B.d64
/
2pxl-fpp.src
< prev
next >
Wrap
Text File
|
2022-10-26
|
7KB
|
288 lines
*= $2100
;
; **** externe spruenge ****
;
eea7e = $ea7e
;
; **** felder ****
;
f2300 = $2300
f2308 = $2308
f2310 = $2310
f2320 = $2320
f232e = $232e
f2340 = $2340
f2350 = $2350
f4028 = $4028
f40c0 = $40c0
f4140 = $4140
f4141 = $4141
f4180 = $4180
f4181 = $4181
f4428 = $4428
f4828 = $4828
f4c28 = $4c28
f5028 = $5028
f5428 = $5428
f5828 = $5828
f6140 = $6140
f6141 = $6141
f6180 = $6180
f6181 = $6181
fd000 = $d000
fd001 = $d001
;
; **** absolute adressen ****
;
aa9 = $a9
af8 = $f8
af9 = $f9
a0314 = $0314
a0315 = $0315
ad010 = $d010
ad011 = $d011
ad012 = $d012
ad015 = $d015
ad016 = $d016
ad017 = $d017
ad018 = $d018
ad019 = $d019
ad01a = $d01a
ad020 = $d020
ad021 = $d021
adc0e = $dc0e
add00 = $dd00
;
; **** pointer ****
;
pb1 = $b1
pea = $ea
pf8 = $f8
;
; **** programm ****
;
;
sei ;start
ldx #$00
i2103 lda #$ff ;1.pixel %11111111
sta f4140,x
sta f4180,x
sta f6141,x
sta f6181,x
lda #$55 ;2.pixel %01010101
sta f4141,x
sta f4181,x
sta f6140,x ;pixel 3-8 nicht
sta f6180,x ; noetig
txa
clc
adc #$08
tax
bne i2103
;---------------------------------------
lda #$f8 ;setzen der
ldx #$43 ; spritepointer
sta af8 ;auf $40c0
stx af9
ldx #$00
i2130 ldy #$07 ;7 bildschirme
lda #$03
i2134 sta (pf8),y
dey
bpl i2134
lda af9
clc
adc #$04
sta af9
inx
cpx #$07
bne i2130
;---------------------------------------
ldx #$3f ;sprite-inhalt
lda #$c3
i2149 sta f40c0,x
dex
bpl i2149
;---------------------------------------
lda #$ff
sta ad015
sta ad017
lda #$58
ldx #$00
i215b sta fd000,x
clc
adc #$18
tay
lda #$3c
sta fd001,x
tya
inx
inx
cpx #$10
bne i215b
lda #$80
sta ad010
;---------------------------------------
sta ad020
sta ad021
lda #$96 ;bildschirm auf
sta add00 ;$4000-$8000 schalten
;---------------------------------------
ldx #$0f
i2180 lda f2268,x ;setzen der farben
sta f22a8,x ;5 mal
sta f22b8,x ;da zum auslesen
sta f22c8,x ;mind. $58 byte
sta f22d8,x ;benoetigt
sta f22e8,x ;werden
sta f22f8,x
dex
bpl i2180
ldx #$07
i219a lda f22a0,x
sta f2300,x
sta f2308,x
sta f2310,x
dex
bpl i219a
;---------------------------------------
ldx #$0d
i21ab lda f2288,x ;kopieren
sta f2320,x ;von $d018-werten
sta f232e,x
dex
bpl i21ab
;---------------------------------------
ldx #$0f
i21b9 lda f2278,x
sta f2340,x ;kopieren
sta f2350,x ;von $d016-werten
dex
bpl i21b9
;---------------------------------------
lda #$01 ;irq-routine
sta ad01a ;initialisieren
lda #$00
sta adc0e
lda #$3a
sta ad012
lda #$1b
sta ad011
lda #$e7
ldx #$21
sta a0314
stx a0315
cli
;---------------------------------------
i21e4 jmp i21e4 ;endlos
;---------------------------------------
ldy #$05 ;irq-routine-start
i21e9 dey ;austimen
bne i21e9
lda #$a5
;---------------------------------------
ldx #$00
i21f0 lda f2300,x ;aus tabelle
sta ad011 ;$d011 setzen
lda aa9
lda f2320,x ;aus tabelle
sta ad018 ;$d018 setzen
lda f2340,x ;aus tabelle
sta ad016 ;$d016 setzen
;---------------------------------------
ldy #$01 ;verzoegerung
i2206 dey ;bis zur naechsten
bne i2206 ;rasterzeile
lda (pb1),y ;eine schon
inx ;"uebersprungen"!
cpx #$15 ;alle 42 raster-
bne i21f0 ;zeilen vorbei
;---------------------------------------
ldy #$03 ;verzoegerung
i2212 dey ;damit $d011
bne i2212 ;nicht zu frueh
lda (pea,x) ;gesetzt wird
;---------------------------------------
lda #$7b ;bildschirm
sta ad011 ;aus
;---------------------------------------
ldx #$00 ;tabelle
a221f = *+1 ;rotieren
ldy #$1a
i2220 lda f22a8,y
sta f4028,x
lda f22a9,y
sta f4428,x
lda f22aa,y
sta f4828,x
lda f22ab,y
sta f4c28,x
lda f22ac,y
sta f5028,x
lda f22ad,y
sta f5428,x
lda f22ae,y
sta f5828,x
iny
inx
cpx #$28
bne i2220
inc a221f
lda a221f
cmp #$30
bne i225f
lda #$00
sta a221f
i225f inc ad019
jmp eea7e ;irq-ausgang
brk
brk
brk
;---------------------------------------
f2268 .byte $09,$92,$28,$8a;farb
.byte $af,$f7,$71,$11;tabelle
.byte $17,$7f,$fa,$a8
.byte $82,$29,$90,$00
f2278 .byte $c0,$c1,$c2,$c3;tabelle
.byte $c4,$c5,$c6,$c7;fuer
.byte $c7,$c6,$c5,$c4;$d016
.byte $c3,$c2,$c1,$c0
f2288 .byte $00,$10,$20,$30;tabelle
.byte $40,$50,$60,$68;fuer
.byte $58,$48,$38,$28;$d018
.byte $18,$08,$00,$00
.byte $3c,$3e,$38,$3a;tabelle
.byte $3c,$3e,$38,$3a;fuer
f22a0 .byte $3c,$3e,$38,$3a;$d011
.byte $3c,$3e,$38,$3a
f22a8 .byte $09
f22a9 .byte $92
f22aa .byte $28
f22ab .byte $8a
f22ac .byte $af
f22ad .byte $f7
f22ae .byte $71,$11,$17,$7f
.byte $fa,$a8,$82,$29
.byte $90,$00
f22b8 .byte $09,$92,$28,$8a
.byte $af,$f7,$71,$11
.byte $17,$7f,$fa,$a8
.byte $82,$29,$90,$00
f22c8 .byte $09,$92,$28,$8a
.byte $af,$f7,$71,$11
.byte $17,$7f,$fa,$a8
.byte $82,$29,$90,$00
f22d8 .byte $09,$92,$28,$8a
.byte $af,$f7,$71,$11
.byte $17,$7f,$fa,$a8
.byte $82,$29,$90,$00
f22e8 .byte $09,$92,$28,$8a
.byte $af,$f7,$71,$11
.byte $17,$7f,$fa,$a8
.byte $82,$29,$90,$00
f22f8 .byte $09,$92,$28,$8a
.byte $af,$f7,$71,$11