Bregalad wrote:
I'm unsure about the name of the adressing mode because they are confusing.
Which is why I usually call them (d,x) and (d),y after how they appear in WDC's 65C816 opcode matrix. (I learned 6502 assembly on an Apple IIGS.)
Quote:
But you should retain the following :
lda [BlahBlah,X]
Will have the effect to load what is in the pointer found by adding the adress of [BlahBlah] and X, so X helps to determine wich pointer you use.
This instruction is usefull if you have several consecutives pointers in Z-Page RAM. However, you have to manually increment each pointer if they point to a table (wich they are likely to do).
I don't think I have ever used this addressing mode. But last night I brainstormed about places to use this, and then it hit me: it'd be ideal for fetching the pattern bytestream in a music playback engine. Here, the pointers would be stored at base+0, base+4, base+8, base+12, and base+16, for each of the 2A03's five channels.