|
@@ -11,13 +11,13 @@ procedure ppchalt(); inline;
|
|
//procedure mfpvr(); inline;
|
|
//procedure mfpvr(); inline;
|
|
function mfpvr(): cint32; inline;
|
|
function mfpvr(): cint32; inline;
|
|
|
|
|
|
-procedure mfdcr(_rn: cuint); inline;
|
|
|
|
|
|
+function mfdcr(_rn: cuint): cuint32; inline;
|
|
procedure mtdcr(rn, val: cuint); inline;
|
|
procedure mtdcr(rn, val: cuint); inline;
|
|
-procedure mfmsr(); inline;
|
|
|
|
|
|
+function mfmsr(): cuint32; inline;
|
|
procedure mtmsr(val: cuint); inline;
|
|
procedure mtmsr(val: cuint); inline;
|
|
-procedure mfdec(); inline;
|
|
|
|
|
|
+function mfdec(): cuint32; inline;
|
|
procedure mtdec(_val: cuint); inline;
|
|
procedure mtdec(_val: cuint); inline;
|
|
-procedure mfspr(_rn: cuint); inline;
|
|
|
|
|
|
+function mfspr(_rn: cuint): cuint32; inline;
|
|
procedure mtspr(_rn, _val: cuint); inline;
|
|
procedure mtspr(_rn, _val: cuint); inline;
|
|
|
|
|
|
{$define mfwpar() := mfspr(WPAR)}
|
|
{$define mfwpar() := mfspr(WPAR)}
|
|
@@ -46,12 +46,12 @@ procedure mtspr(_rn, _val: cuint); inline;
|
|
{$define mfhid4() := mfspr(HID4)}
|
|
{$define mfhid4() := mfspr(HID4)}
|
|
{$define mthid4(_val) := mtspr(HID4,_val)}
|
|
{$define mthid4(_val) := mtspr(HID4,_val)}
|
|
|
|
|
|
-procedure __lhbrx(base, index: cuint32); inline;
|
|
|
|
|
|
+function __lhbrx(base, index: cuint32): cuint16; inline;
|
|
//procedure __lwbrx(base,index: cuint32); inline;
|
|
//procedure __lwbrx(base,index: cuint32); inline;
|
|
function __lwbrx(base,index: cuint32): cuint32; inline;
|
|
function __lwbrx(base,index: cuint32): cuint32; inline;
|
|
procedure __sthbrx(base,index,value: cuint32); inline;
|
|
procedure __sthbrx(base,index,value: cuint32); inline;
|
|
procedure __stwbrx(base,index,value: cuint32); inline;
|
|
procedure __stwbrx(base,index,value: cuint32); inline;
|
|
-procedure cntlzw(_val: cuint32); inline;
|
|
|
|
|
|
+function cntlzw(_val: cuint32): cuint32; inline;
|
|
procedure _CPU_MSR_GET( _msr_value: cuint32 ); inline;
|
|
procedure _CPU_MSR_GET( _msr_value: cuint32 ); inline;
|
|
procedure _CPU_MSR_SET( _msr_value: cuint32 ); inline;
|
|
procedure _CPU_MSR_SET( _msr_value: cuint32 ); inline;
|
|
procedure _CPU_ISR_Enable(); inline;
|
|
procedure _CPU_ISR_Enable(); inline;
|
|
@@ -118,13 +118,14 @@ begin
|
|
result := _rval;
|
|
result := _rval;
|
|
end;
|
|
end;
|
|
|
|
|
|
-procedure mfdcr(_rn: cuint); inline;
|
|
|
|
|
|
+function mfdcr(_rn: cuint): cuint32; inline;
|
|
var
|
|
var
|
|
_rval: cuint32;
|
|
_rval: cuint32;
|
|
begin
|
|
begin
|
|
asm
|
|
asm
|
|
// mfdcr r3,_rn // unrecognized opcode?
|
|
// mfdcr r3,_rn // unrecognized opcode?
|
|
end;
|
|
end;
|
|
|
|
+ result := _rval;
|
|
end;
|
|
end;
|
|
|
|
|
|
procedure mtdcr(rn, val: cuint); inline;
|
|
procedure mtdcr(rn, val: cuint); inline;
|
|
@@ -134,13 +135,14 @@ begin
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
|
|
-procedure mfmsr(); inline;
|
|
|
|
|
|
+function mfmsr(): cuint32; inline;
|
|
var
|
|
var
|
|
_rval: cuint32;
|
|
_rval: cuint32;
|
|
begin
|
|
begin
|
|
asm
|
|
asm
|
|
mfmsr r3
|
|
mfmsr r3
|
|
end;
|
|
end;
|
|
|
|
+ result := _rval;
|
|
end;
|
|
end;
|
|
|
|
|
|
procedure mtmsr(val: cuint); inline;
|
|
procedure mtmsr(val: cuint); inline;
|
|
@@ -150,7 +152,7 @@ begin
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
|
|
-procedure mfdec(); inline;
|
|
|
|
|
|
+function mfdec(): cuint32; inline;
|
|
var
|
|
var
|
|
_rval: cuint32;
|
|
_rval: cuint32;
|
|
begin
|
|
begin
|
|
@@ -158,6 +160,7 @@ begin
|
|
// mfdec r3 // unrecognized opcode?
|
|
// mfdec r3 // unrecognized opcode?
|
|
mfspr r3,22 // unrecognized opcode?
|
|
mfspr r3,22 // unrecognized opcode?
|
|
end;
|
|
end;
|
|
|
|
+ result := _rval;
|
|
end;
|
|
end;
|
|
|
|
|
|
procedure mtdec(_val: cuint); inline;
|
|
procedure mtdec(_val: cuint); inline;
|
|
@@ -168,13 +171,14 @@ begin
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
|
|
-procedure mfspr(_rn: cuint); inline;
|
|
|
|
|
|
+function mfspr(_rn: cuint): cuint32; inline;
|
|
var
|
|
var
|
|
_rval: cuint32 = 0;
|
|
_rval: cuint32 = 0;
|
|
begin
|
|
begin
|
|
asm
|
|
asm
|
|
mfspr r3,r4
|
|
mfspr r3,r4
|
|
end;
|
|
end;
|
|
|
|
+ result := _rval;
|
|
end;
|
|
end;
|
|
|
|
|
|
procedure mtspr(_rn, _val: cuint); inline;
|
|
procedure mtspr(_rn, _val: cuint); inline;
|
|
@@ -184,13 +188,14 @@ begin
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
|
|
-procedure __lhbrx(base, index: cuint32); inline;
|
|
|
|
|
|
+function __lhbrx(base, index: cuint32): cuint16; inline;
|
|
var
|
|
var
|
|
res: cuint16;
|
|
res: cuint16;
|
|
begin
|
|
begin
|
|
asm
|
|
asm
|
|
lhbrx r3,r4,r5
|
|
lhbrx r3,r4,r5
|
|
end;
|
|
end;
|
|
|
|
+ result := res;
|
|
end;
|
|
end;
|
|
|
|
|
|
//procedure __lwbrx(base,index: cuint32); inline;
|
|
//procedure __lwbrx(base,index: cuint32); inline;
|
|
@@ -218,13 +223,14 @@ begin
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
|
|
-procedure cntlzw(_val: cuint32); inline;
|
|
|
|
|
|
+function cntlzw(_val: cuint32): cuint32; inline;
|
|
var
|
|
var
|
|
_rval: cuint32;
|
|
_rval: cuint32;
|
|
begin
|
|
begin
|
|
asm
|
|
asm
|
|
cntlzw r3, r4
|
|
cntlzw r3, r4
|
|
end;
|
|
end;
|
|
|
|
+ result := _rval;
|
|
end;
|
|
end;
|
|
|
|
|
|
procedure _CPU_MSR_GET( _msr_value: cuint32 ); inline;
|
|
procedure _CPU_MSR_GET( _msr_value: cuint32 ); inline;
|
|
@@ -327,7 +333,7 @@ var
|
|
tmp: cuint16;
|
|
tmp: cuint16;
|
|
begin
|
|
begin
|
|
tmp := val;
|
|
tmp := val;
|
|
- __lhbrx(tmp,0); //??
|
|
|
|
|
|
+ result := __lhbrx(tmp,0); //??
|
|
end;
|
|
end;
|
|
|
|
|
|
function bswap32(val: cuint32): cuint32; inline;
|
|
function bswap32(val: cuint32): cuint32; inline;
|