Rockbox.org home
release
dev builds
extras
themes manual
wiki
device status forums
mailing lists
IRC bugs
patches
dev guide



Rockbox mail archive

Subject: Re: Various bug fixes and improvements - where to put?
From: [IDC]Dragon (idc-dragon_at_gmx.de)
Date: 2004-03-02


> The problem is with the
> syntax of the .align pseudo-instruction:
> ".align <n>" does not align to <n> bytes but to 2^<n> bytes,
> so the ".align 4" which is used there aligns to 16 bytes and not
> 4. For longword alignment ".align 2" must be used.

Ahh, oops!

> I _do_ actually use stores with immediate offsets! You have to
> obey the constraints of these inctructions:
>
> - the source register must always be r0
> - the offset can _only_ be positive (no sign extension) and very
> small.
> - with the inline assembler syntax, you have to give the offset
> already shifted according to data width, e.g. if you want to
> store a word 2 bytes ahead, you have to write
> "mov.w r0,@(2,r<n>)"
> If you use "mov.w r0,@(1,r<n>)" you get an assemble error.

Oh, I overlooked that it is r0 only for byte/word store. This is great, so
we can really get some more throughput into the ATA function.
(Under the assuption that the disk corruption issue gets resolved, sniff!)

> > For the LCD code, we can take out the interrupt disable (like
> > my comment says), I only put this in to be safe for the
>
> I know your comment, but I wanted to retain your safety measure.

I vote for taking it out, leaving just the comment. It's a bit paranoid, at
the wrong place.

Jörg

-- 
+++ NEU bei GMX und erstmalig in Deutschland: TÜV-geprüfter Virenschutz +++
100% Virenerkennung nach Wildlist. Infos: http://www.gmx.net/virenschutz

_______________________________________________ http://cool.haxx.se/mailman/listinfo/rockbox



Page was last modified "Jan 10 2012" The Rockbox Crew
aaa