@TSK
No i wrote a code optimizer, and conversion rotines
https://github.com/khval/mplayer-amiga ... /master/src/amigaos/asm.chttps://github.com/khval/mplayer-amiga ... /master/src/amigaos/asm.hI think its scale factor, I need have look at code again I think.
on line 61 it inserts muls, using register 1.
question now is where is register 1 one set.
my guess its done in start of the code.
#define dRT (RT == 1 ? 0 : RT),(RT == 1 ? 0 : RT)
dRT replaces register 1 with register 0,
PowerPC normal takes 3 arguments,
normally format is
INSTRUCTION DST,INDEX,SRC
or
INSTRUCTION REG1,REG2,REG3
maybe the last part of dRT is wrong, maybe it should have been a index. but we need to lookup etch individual powerpc instruction to see, sadly I did not make comment in .h file, anyway as long as loaded and saved in same location it should not be a problem.
#define m_muls(a,b,c) ( 0xEC000032 | (a<<21) | (b<<16) | (c<<6) )
Look at this macro I wonder if Multiplications might be hardcoded into macro it self.
Edited by LiveForIt on 2018/1/6 15:52:09
Edited by LiveForIt on 2018/1/7 8:49:44
Edited by LiveForIt on 2018/1/7 8:55:38
Edited by LiveForIt on 2018/1/7 8:56:59
Edited by LiveForIt on 2018/1/7 8:57:42
Edited by LiveForIt on 2018/1/7 8:59:32
Edited by LiveForIt on 2018/1/7 9:01:29
Edited by LiveForIt on 2018/1/7 9:05:08
Edited by LiveForIt on 2018/1/7 9:06:23
Edited by LiveForIt on 2018/1/7 9:08:03