| |
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. |
| |
HCL
Registered: Feb 2003 Posts: 728 |
I always thought DYSP is short for Different Y Sideborder-Sprite Position, but then i recon some d0dz use it for sprite stuff without sideborder timing :(.
btw. he means DYGP! g is very close to b on the keyboard. G is for Graphix. |
| |
Soren
Registered: Dec 2001 Posts: 547 |
Dirty Yeast-Butt Pumping ?
|
| |
Testa Account closed
Registered: Oct 2004 Posts: 197 |
Dirty Yankee Butt Plug if you ask me... i hope Bush is not mad at me now.... (i think Bush needs protection for the rest of his live) i think he must try to make a dycp in a cave in Irak with a butt plug in his you know what i mean...
|
| |
Moloch
Registered: Jan 2002 Posts: 2928 |
No, please, explain your dirty fantasy further.
DYBP was a common US demo term years ago, Different Y Bit Position
|
| |
Codey
Registered: Oct 2005 Posts: 79 |
dybp represented a different y-position every two bits wide (4 per char), while dypp was for every eight bits (8 per char). at least in the ntsc world.
dybp was more efficient and visually looked just as good in my opinion. some of those 1x1 dypp scrollers were almost impossible to read due the text being stretched out so much. |
| |
Clarence
Registered: Mar 2004 Posts: 121 |
@Cruzer, I have found the Triangle demo with the (first?) DYSP abbreviation. :)
PhotonDYSP |
| |
Moloch
Registered: Jan 2002 Posts: 2928 |
Quote: dybp represented a different y-position every two bits wide (4 per char), while dypp was for every eight bits (8 per char). at least in the ntsc world.
dybp was more efficient and visually looked just as good in my opinion. some of those 1x1 dypp scrollers were almost impossible to read due the text being stretched out so much.
Yes, quite true about the impossible to read scrolltext.
|
| |
Testa Account closed
Registered: Oct 2004 Posts: 197 |
once i coded a scroll with different y pos each 2 bits..
i had the idea to make this one as big as posible, so i made it 3 chars high so you can use a 3x3 charset... ofcourse i needs to much rastertime to make it 40 chars wide so my scroller was 20 chars wide and disappears behind some graphics (sprites).. it's some time ago i cant remember if the routine uses one or two frames to update.. but i think two...(25 fps) nice to code on a rainy sunday midday...
|
| |
Graham Account closed
Registered: Dec 2002 Posts: 990 |
Quoting Clarence@Cruzer, I have found the Triangle demo with the (first?) DYSP abbreviation. :)
PhotonDYSP
Yeps, 'Photon DYSP' introduced the term but it didn't actually do what it said it did. The first real DYSP was this demo:
Real D.Y.S.P./Triton
|
| |
Codey
Registered: Oct 2005 Posts: 79 |
Quote: Quoting Clarence@Cruzer, I have found the Triangle demo with the (first?) DYSP abbreviation. :)
PhotonDYSP
Yeps, 'Photon DYSP' introduced the term but it didn't actually do what it said it did. The first real DYSP was this demo:
Real D.Y.S.P./Triton
actually, The Larch 3 has a pretty nice sized 1x1 side border dypp (the demo refers to it as a dypp) which is controllable with the joystick. considering the speed it runs at, i always assumed the chars were pre plotted at every unique position in the sin wave. imo, this is one the best technical demos ever being it was released in 1989. |
| |
Cruzer
Registered: Dec 2001 Posts: 1048 |
It's animated.
And if a DYSP isn't in sideborder but only over rastersplits, what do you call it? Pretty sure I've seen routines like that, which were referred to as DYSPs.
|
| |
TNT Account closed
Registered: Oct 2004 Posts: 189 |
Quote: It's animated.
And if a DYSP isn't in sideborder but only over rastersplits, what do you call it? Pretty sure I've seen routines like that, which were referred to as DYSPs.
D.Y.S.P.I.D.C.E. for example. |
| |
tlr
Registered: Sep 2003 Posts: 1790 |
Quote: D.Y.S.P.I.D.C.E. for example.
and this: 6566+
(predates the term DYSP though)
|
| |
Cruzer
Registered: Dec 2001 Posts: 1048 |
Finally got to check out the linked demos. Quite interesting, don't remember having seen any of them before. I always love it when someone claims to have done something "impossible", but cheats, and someone else responds by doing it properly. Total pwnage, as the kids say.
|
| |
Warnock
Registered: Sep 2007 Posts: 28 |
Thanks Oswald. I tried the previously posted routine, which I had downloaded before. There were a few problems with the code. The data tables had to be re-aligned to
fit turbo assembler. The entire source was in capital letters. (ha ha) The scrolltext is limited to 64 bytes in length. I'll try Oswald's source posted here. I hope it's a little more user-friendly.
DYBP - is a blit plotting version of the dycp. More detailed.
|
| |
Cruzer
Registered: Dec 2001 Posts: 1048 |
DYPPINATOR ftw
|