[Coco] 6809 Q [Mark Mc]

CoCoList for Color Computer Enthusiasts coco at maltedmedia.com
Thu May 15 12:31:26 EDT 2014


Just don't forget the Y register is somehow slower than X. There is an
extra byte for loading and storing using Y.

Luis Felipe Antoniosi
retrocanada76 at gmail.com



On Thu, May 15, 2014 at 12:24 PM, CoCoList for Color Computer Enthusiasts <
coco at maltedmedia.com> wrote:

> >From Johann Klasek:
>
> On Thu, May 15, 2014 at 11:44:13AM -0400, CoCoList for Color Computer
> Enthusiasts wrote:
> > Well the 6809 is a beast but it does not have this particular addressing
> > mode.
> >
> > You can do this:
> >
> > LDA [8,Y]
> >
> > But it's not the same. It will compose the address  8 + Y and the
> contents
> > of this address is loaded into A.
>
> Right, the imaginary addressing mode would be [8],Y ...
>
> The programing paradigma is completly different.
> The 6502 zeropage can be regarded as 128 16 bit register array.
> For a 6809 style you have to "cache" these registers into
> X, Y, U, S
>
> often code snippets consists of
>
> ...
> STA 8
> ...
> STA 9
> ...
>
>
> LDA (8),Y
> INY/DEY
>
> or
>
> LDA (8),Y
> STA (10),Y
> INY/DEY
>
> followed by some condition to check high byte overflow and probably
> branch back to complete the loop ...
>
> 6809ish:
>
> LDY 08
> LDX 10
>
> LDA ,Y+
> (STA ,X+)
>
> condition could be
>
> CMPY ...
> or
> CMPX ...
>
>
> > > What I'm doing atm is the following:
> > >
> > > LDY *8
> > > LDA B,Y
> > >
> > > ...and in this case, B is the 8-bit offset. Note that I've also
> reversed
> > > the bytes stored at $8,$9 w.r.t. the 6502.
>
> How is B treated? Like Y above, in a loop or something like a unrolled
> loop or structure access a-like?
>
> > > This is used a *LOT* in Lode Runner, so I thought I'd ask if there was
> a
> > > 'better' (shorter) way. [..]
>
> No wonder this is heavy used - this addressing mode is the basic memory
> access with a variable address.
>
> I think this is the best for a near 1:1 translation.
> In case you want more you have to consider much more of the context
> rather then the direct "peephole" translation.
>
>
>
> --
> Johann Klasek
> The dragon on my side: http://klasek.at/hc/dragon/
>
> --
> Coco mailing list
> Coco at maltedmedia.com
> http://five.pairlist.net/mailman/listinfo/coco
>



More information about the Coco mailing list