Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
 Welcome to our latest new user nurd ! (Registered 2024-06-16) You are not logged in - nap
CSDb User Forums


Forums > CSDb Entries > Release id #172238 : Waves 16k
2018-12-09 10:09
Heaven
Account closed

Registered: Jul 2008
Posts: 102
Release id #172238 : Waves 16k

<Post edited by moderator on 11/12-2018 15:33>

                    ldx #0                  ;top = 0
                                            ;we use Xreg as top
loop_fractal_line   cpx #0
                    bpl @+                  ;if x<0 go to drawing
                    jmp exit_fractal_line
@                   lda sx2,x               ;dx = abs(sx2-sx1)
                    sec
                    sbc sx1,x
                    bcs @+
                    eor #$FF
                    adc #1
@                   cmp #2                  ;if dx<2 skip to plot point
                    bcs subdiv_fractal_line
                    ldy sx1,x
                    lda sy1,x
                    sta heights,y
                    dex
                    bne loop_fractal_line
                    beq loop_fractal_line
subdiv_fractal_line lsr                     ;ed = dx/4
                    lsr
                    sta edge_displacement
                    
                    lda sx2,x               ;sx2 = int((sx1+sx2)/2)
                    sta sx2+1,x             ;use it to copy to top+1
                    clc
                    adc sx1,x
                    lsr
                    sta sx2,x
                    sta sx1+1,x             ;copy to top+1 also
                    
                    lda sy2,x               ;sy2 = int((sy1+sy2)/2)
                    sta sy2+1,x             ;use it to copy to top+1
                    clc
                    adc sy1,x
                    lsr
                    sta sy2,x
                    
                    lda st2,x               ;st2 = st1+st2
                    sta st2+1,x             ;use it to copy to top+1
                    clc
                    adc st1,x
                    sta st2,x
                    sta st1+1,x             ;copy to top+1 also
                    
                    bvs @+                  ;if v<>0 skip displacement
                    bmi n_equal_1
                    lda sy2,x               ;n == 0
                    clc                     ;sy2 += ed
                    adc edge_displacement
                    sta sy2,x
                    jmp @+
n_equal_1           lda sy2,x               ;n == 1
                    sec                     ;sy2 -= ed
                    sbc edge_displacement
                    sta sy2,x

@                                           ;Copy new Y to top+1
                    lda sy2,x
                    sta sy1+1,x
                    
                    inx                     ;top += 1
                    jmp loop_fractal_line
exit_fractal_line

 
... 26 posts hidden. Click here to view all posts....
 
2018-12-12 08:23
Bitbreaker

Registered: Oct 2002
Posts: 501
I expect a c64 demo in two years that shows the effect as fast :-)
2018-12-12 16:12
Heaven
Account closed

Registered: Jul 2008
Posts: 102
actually i am now precalculating those "x fract" tables as in a non camera moving scenario all line length are fix...

so code will only do y1 to y2 displacement in realtime.
Previous - 1 | 2 | 3 | 4 - Next
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
E$G/hOKUtO fOrcE
Marco/DDM
Bieno/Commodore Plus
A3/AFL
Majikeyric
Mr. SID
Guests online: 106
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Mojo  (9.7)
4 Coma Light 13  (9.7)
5 Edge of Disgrace  (9.7)
6 Comaland 100%  (9.6)
7 No Bounds  (9.6)
8 Uncensored  (9.6)
9 Wonderland XIV  (9.6)
10 Aliens in Wonderland  (9.6)
Top onefile Demos
1 Layers  (9.6)
2 Cubic Dream  (9.6)
3 Party Elk 2  (9.6)
4 Copper Booze  (9.6)
5 Rainbow Connection  (9.5)
6 It's More Fun to Com..  (9.5)
7 Dawnfall V1.1  (9.5)
8 Daah, Those Acid Pil..  (9.5)
9 Birth of a Flower  (9.5)
10 Quadrants  (9.5)
Top Groups
1 Nostalgia  (9.4)
2 Oxyron  (9.3)
3 Booze Design  (9.3)
4 Censor Design  (9.3)
5 SHAPE  (9.3)
Top Diskmag Editors
1 Magic  (9.4)
2 Jazzcat  (9.4)
3 hedning  (9.2)
4 Elwix  (9.1)
5 Remix  (9.1)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.03 sec.