dev builds
themes manual
device status forums
mailing lists
IRC bugs
dev guide

Rockbox mail archive

Subject: Re: Various bug fixes and improvements - where to put?
From: [IDC]Dragon (
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.


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


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