| |
Warnock
Registered: Sep 2007 Posts: 28 |
DYCP and DYBP
Can someone post the sorce for these two routine? You can
explain how it works in theory all day and I still won't get the message. I need to see the routine in action. That's how I learned the various scrolling routines I have to date. I had a double dycp routine but my library was lost during my move to Va back in 1996.
Thanks,
Warnock/Style
P.S. - Seems my group is too busy to help me out.
Grrrrrrrrr. |
|
| |
Shadow Account closed
Registered: Apr 2002 Posts: 355 |
DYCP explanation and example source can be found here:
http://www.antimon.org/dl/c64/code/dycp.txt
DYBP I've never heard of, you sure you don't mean DYPP? |
| |
Warnock
Registered: Sep 2007 Posts: 28 |
It's a modified version of the DYCP. Thanks for the info. I believe I tried this before, but I'll try it again. |
| |
Testa Account closed
Registered: Oct 2004 Posts: 197 |
are you really searching for a dycp routine? it is so easy
lda #1
jsr #e536
ldy #0 ;matrix
sty $0400
iny
sty $0428
iny
sty $0450
iny
sty $0478
iny
sty $04a0
iny
sty $04c8
sei ;set up interupt
lda #1
sta $d01a
lda #<irq
sta $0314
lda #>irq
sta $0315
lda #$7f
sta $dc0d
lda $dc0d
cli
jmp *
irq
lda #$30
sta $d012
lda #$80
cmp $d012
bne *-3
clear
ldx #0 ;clear before new position
lda #$00
sta $2000,y
sta $2001,y
sta $2002,y
sta $2003,y
sta $2004,y
sam
ldy sinus ;a sinus table lowest value #0 highest #42
char = $3800
store a charset at $3800!
sty clear+1
ldx #1*8 ;select char
lda char,x
sta $2000,y
lda char+1
sta $2001,y
lda char+2
sta $2002,y
lda char+3
sta $2003,y
lda char+4
sta $2004,y
inc sam+1
lda $dc01 ;hit space to end
cmp #$ef
beq assem
inc $d019
jmp $ea81
assem
jmp $9600
bye!
mcd
|
| |
Testa Account closed
Registered: Oct 2004 Posts: 197 |
oh shit i forgot to set $d018 at $19 (screen at $0400 and charset at $2000) ...
later
|
| |
Cruzer
Registered: Dec 2001 Posts: 1048 |
DYCP = Different Y Char Pos
DYPP = Different Y Pixel Pos
DYSP = Different Y Sprite Pos
DYBP = Different Y Bob? Pos
As far as I recall, the group who came up wit the DYCP term did it as a joke, but it sure caught on.
|
| |
Oswald
Registered: Apr 2002 Posts: 5094 |
*= $1000
;dycp scroller in 256 bytes
;lousy coding & comments by:
;oswald of resource
;(cruzer: it wasnt hard at all
;but i ran out of mem when
;i wanted to add some cosmetics
;:)
freq = $04
sinmove = $f0
szoveg = $a1a0 ;text at rom
sin = $1f00
sinptrs = $1e00
cset = $3000
sei ;copy charset
lda #$33 ;from rom
sta $01
ldx #$00
copy lda $d800,x
sta $3000,x
dex
bne copy
lda #$37
sta $01
lda #$04 ;set up screen
sta $ff
stx $fe
txa
lp2 ldy #0
lp
sta ($fe),y
adc #6
iny
cpy #40
bne lp
lda #$28
jsr add
inx
txa
cmp #$06
bne lp2
lda #24
sta 53272
;---------------------------------------
again2 ldx #7
stx $fb
stx 53270
lda #0 ;clear @
mkspc sta cset,x ;to make it a
dex ;space
bpl mkspc
again lda #$00 ;reset counters
sta $fe
sta $fc
lda #$20
sta $ff
lda sinmove
sta $fa
mainloop
lda $fa
clc
adc #freq ;get sine offset
sta $fa
tay
lda sin,y
pha
tay
lda #$00 ;clear char
ldx #$0b
clr sta ($fe),y
iny
dex
bpl clr
pla
clc
adc #$02
tay
ldx $fc
text lda szoveg,x ;get text
asl a
asl a
asl a
tax
lda #$06
sta $fd
copychr lda cset,x ;draw char
sta ($fe),y
inx
iny
dec $fd
bpl copychr
lda #48 ;move 2 next
jsr add ;column
inc $fc
lda $fc
cmp #40
bne mainloop
lda #$68
cmp $d012
bne *-3
lda sinmove
clc
adc #$02
sta sinmove
ldx $fb
stx 53270
dec $fb
bpl again
;clc ;fix flicker
adc #freq ;when moving 8
sta sinmove ;pixel each char
inc text+1
bne *+5
inc text+2
jmp again2
add clc ;saves sum bytes
adc $fe
sta $fe
bcc *+4
inc $ff
rts
|
| |
Clarence
Registered: Mar 2004 Posts: 121 |
Cruzer, little correction, the 'S' in DYSP stands for 'Sideborder'.
Btw, never heard of a DYBP before. |
| |
Fungus
Registered: Sep 2002 Posts: 686 |
he means DYPP.
DYBP = different Y bit plotter
|
| |
Cruzer
Registered: Dec 2001 Posts: 1048 |
Clarence: Different Y Sideborder Position? So the two sideborders have different Y positions? Wow :)
|
| |
Clarence
Registered: Mar 2004 Posts: 121 |
Cruzer, yes it's strange, but true. I thought S stands for Sprite for a long time as well, until I found that very old demo explaining it. If I find that demo again I will post a link, don't remember now.
Btw, the d.y.c.p. abbreviation was introduced by d.y.c.p./jewels demo. |
... 16 posts hidden. Click here to view all posts.... |
Previous - 1 | 2 | 3 - Next |