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 > C64 Coding > Optimizing tricks
2012-03-14 08:52
Bitbreaker

Registered: Oct 2002
Posts: 508
Optimizing tricks

Hi folks,

I put together a few optimizing tricks for 6502, including a section about illegal opcodes. Anything else i could mention there? Especially the illegal opcode section could need some more examples and opcodes discussed i guess? Any mistakes?
http://www.codebase64.org/doku.php?id=base:advanced_optimizing

Bitbreaker
 
... 15 posts hidden. Click here to view all posts....
 
2012-03-14 14:11
Bitbreaker

Registered: Oct 2002
Posts: 508
Added the new examples, thanks for that!
the dcp could then also be used like:

-
    ...some code
    lda #end
    dcp counter
    bne -

instead of

-
    ...some code
    dec counter
    lda counter
    cmp #end (of course silly if this would be #$00)
    bne -
2012-03-14 20:37
Testa
Account closed

Registered: Oct 2004
Posts: 197
thanks for sharing at codebase... i learned a few new tricks!, always interesting how creative you can be with legal and illigal opcodes..
2012-03-14 21:45
Peiselulli

Registered: Oct 2006
Posts: 81
Perhaps too simple, but
	cmp #$80
	ror

for doing a arithmetic shift right.

2012-03-14 21:53
JackAsser

Registered: Jun 2002
Posts: 2014
Quote: Perhaps too simple, but
	cmp #$80
	ror

for doing a arithmetic shift right.



Yay, my favorite! :)
2012-03-15 08:20
Bitbreaker

Registered: Oct 2002
Posts: 508
i added the arithemtic shift right to the maths section some time ago ;-) can also be combined with the illegal opcode anc instead of cmp to force carry to be always clear afterwards.
2012-03-16 18:47
tlr

Registered: Sep 2003
Posts: 1790
Perhaps this?
  lda ptr
  cmp eptr
  lda ptr+1
  sbc eptr+1
  lda ptr+2
  sbc eptr+2
  bcc ptr_lt_eptr
ptr_ge_eptr:


2012-03-17 22:45
Peiselulli

Registered: Oct 2006
Posts: 81
I have also often used the following:
     lsr
     asr #3*2

instead of
     lsr
     lsr
     and #3

2012-03-19 10:10
Bitbreaker

Registered: Oct 2002
Posts: 508
@Peiselulli:
ah, short but nice. I guess i'll spend a subsection for shifting tricks then, and include also the arithmetic right shift in there.

@tlr:
Where's the trick? If it is about substituting a sbc by cmp to save a sec, that is handled already in the article :-)
2012-03-19 16:02
tlr

Registered: Sep 2003
Posts: 1790
Quoting Bitbreaker
@tlr:
Where's the trick? If it is about substituting a sbc by cmp to save a sec, that is handled already in the article :-)
Yes, although I consider it more like using sbc's to extend a cmp.

I guess it is a bit to rudimentary to be called a trick, but it's useful nevertheless. :)
2012-03-21 10:03
Bitbreaker

Registered: Oct 2002
Posts: 508
Okay, now added a section about shifting and by that mean also slipped into the subject of jumpcode (or how to name that?)
Previous - 1 | 2 | 3 - 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
Chesser/Blazon
Scrap/Genesis Project
Acidchild/Padua
AMB/Level 64
The Syndrom/TIA/Pret..
Wayne Kerr/Flashtro
zscs
grass/LETHARGY
New Design/Excess
Guests online: 91
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Mojo  (9.7)
4 Coma Light 13  (9.6)
5 Edge of Disgrace  (9.6)
6 What Is The Matrix 2  (9.6)
7 The Demo Coder  (9.6)
8 Uncensored  (9.6)
9 Comaland 100%  (9.6)
10 Wonderland XIV  (9.6)
Top onefile Demos
1 No Listen  (9.6)
2 Layers  (9.6)
3 Cubic Dream  (9.6)
4 Party Elk 2  (9.6)
5 Copper Booze  (9.6)
6 Dawnfall V1.1  (9.5)
7 Rainbow Connection  (9.5)
8 Onscreen 5k  (9.5)
9 Morph  (9.5)
10 Libertongo  (9.5)
Top Groups
1 Performers  (9.3)
2 Booze Design  (9.3)
3 Oxyron  (9.3)
4 Triad  (9.3)
5 Censor Design  (9.3)
Top Musicians
1 Rob Hubbard  (9.7)
2 Mutetus  (9.7)
3 Jeroen Tel  (9.7)
4 Linus  (9.6)
5 Stinsen  (9.6)

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