View Single Post
Posts: 105 | Thanked: 1 time | Joined on Feb 2006
#14
hmm... no luck with pack(4). I have to say - I AM a bit rusty with the old c and pointers malarky. I have some fuzzy thinking in my brain after a long day's work and drive. And kids keeping me awake at night! Enough excuses.

Right, looking at a suspicious bit of code now. Here we go:

i8 *STScreen;
ui16 *scr = (ui16*) (STScreen + 160*y0 + LineStart);

/* Read the four ST planes. */
ui16 _one = *(scr++); ui16 four = GUINT16_FROM_BE(_one);
ui16 _two = *(scr++); ui16 three = GUINT16_FROM_BE(_two);
ui16 _three=*(scr++); ui16 two = GUINT16_FROM_BE(_three);
ui16 _four= *(scr++); ui16 one = GUINT16_FROM_BE(_four);

So... do you reckon that *(scr++) is behaving differently on the arm box than on the i86? e.g. *(scr++) is jumping too many or too few bytes forward I guess.

If so, could you recommend a replacement?