Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > CSDb Entries > Event id #2417 : First CSDb "Unintended OpCode coding challenge"
2015-10-11 07:18
Monte Carlos

Registered: Jun 2004
Posts: 351
Event id #2417 : First CSDb "Unintended OpCode coding challenge"

So here it is. The First CSDb "Unintended OpCode coding challenge" starts over.

First CSDb "Unintended OpCode Coding Challenge"

Please give some feedback about your interest in this compo.
For those who have been part of the discussion
http://csdb.dk/forums/?roomid=12&topicid=112819#112927
please let me know if you are in better agreement with the reworked rules than before.
However, there will not be a rule change anymore.
 
... 44 posts hidden. Click here to view all posts....
 
2015-10-21 06:36
Bitbreaker

Registered: Oct 2002
Posts: 501
If you want it comfortable, switch to Java.
2015-10-21 13:44
Rastah Bar

Registered: Oct 2012
Posts: 336
If you want to make it a subroutine, is this a good idea?
start:  lda zp2
        clc
        ldx #$60
        rol zp1
        rol zp2
        sbx #$00
        lda $c000,x
        sta start+2
        rts 


Where $c000, $c020, $c040, and $c060 contain $18,$38,$38,$18, respectively (opcode clc=$18, sec=$38).

First call: jsr init
Subsequent calls: jsr start

With RLA:
 
start:
        clc
        lda #$60
        rol zp1
        rla zp2
        tax
        lda $c000,x
        sta start
        rts


But I can imagine you want to call it for example 8 times in a row to generate an entire byte in which case the overhead of storing the state of the MLS generator can be much reduced.
2015-10-21 16:29
Oswald

Registered: Apr 2002
Posts: 5034
Quote: If you want it comfortable, switch to Java.

2015-10-22 09:30
Rastah Bar

Registered: Oct 2012
Posts: 336
Quoting Color Bar
If you want to make it a subroutine, is this a good idea?
start:  lda zp2
        clc
        ldx #$60
        rol zp1
        rol zp2
        sbx #$00
        lda $c000,x
        sta start+2
        rts 


Where $c000, $c020, $c040, and $c060 contain $18,$38,$38,$18, respectively (opcode clc=$18, sec=$38).

[/code]


Faster is:
init:  lda #seed1
       sta zp1
start: lda #seed2
       clc ; or sec depending on how you want to initialize
       rol zp1
       rol
       sta start+1
       tax
       lda $c000,x
       sta start+2
       rts


This requires a look up table with $18,$38 values for any value of A after the rol. This has the advantage that it is easier to generalize to other MLS orders, where you may have to EOR more than two bits. No UOC required :-(
2015-10-25 12:50
Monte Carlos

Registered: Jun 2004
Posts: 351
lax blabla,x (y)
sbx #..

should emulate cpx,y or cpx,x
2015-10-25 16:19
chatGPZ

Registered: Dec 2001
Posts: 11165
but since that destroys akku, you can just aswell use
txa
cmp bla,y 

:)
2015-10-25 21:17
Oswald

Registered: Apr 2002
Posts: 5034
yeah I wanted to keep A intact :)
2015-10-25 21:31
Rastah Bar

Registered: Oct 2012
Posts: 336
In the special case that 'bla' is on a page boundary (for example $1f00):

sty label+1
label:
cpx $1f00
2015-10-25 21:49
Oswald

Registered: Apr 2002
Posts: 5034
yup that would work, but probably also be slower or on par with what I wanted to optimize.
2015-10-26 18:34
Rastah Bar

Registered: Oct 2012
Posts: 336
Code optimization is hard ...
Previous - 1 | 2 | 3 | 4 | 5 | 6 - 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
Exile/Anubis
Doc Snyder/ONS
Scrap/Genesis Project
Rock/Finnish Gold
kbs/Pht/Lxt
Walt/Bonzai
t0m3000/HF^BOOM!^IBX
REBEL 1
Guests online: 74
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.6)
6 Uncensored  (9.6)
7 Comaland 100%  (9.6)
8 No Bounds  (9.6)
9 Aliens in Wonderland  (9.6)
10 Wonderland XIV  (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 Birth of a Flower  (9.5)
9 Daah, Those Acid Pil..  (9.5)
10 Morph  (9.5)
Top Groups
1 Nostalgia  (9.4)
2 Oxyron  (9.3)
3 Booze Design  (9.3)
4 Censor Design  (9.3)
5 Offence  (9.3)
Top Musicians
1 Rob Hubbard  (9.7)
2 Stinsen  (9.7)
3 Jeroen Tel  (9.6)
4 Linus  (9.6)
5 MacMagix  (9.6)

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