Replace '&&' with '&' where bitwise AND is expected.

This fixes compilation warnings when using GCC/Clang.
Improve formatting along the way.
This commit is contained in:
Maxim Poliakovski 2019-07-02 14:18:41 +02:00
parent 3325529c2e
commit 9c0c1da53f
5 changed files with 61 additions and 61 deletions

View File

@ -150,7 +150,7 @@ void ppc_expection_handler(uint32_t exception_type, uint32_t handle_args){
printf("MSR VALUE: %x \n Exception Type: %x", ppc_state.ppc_msr, exception_type);
//Check ROM Exception Prefix
if (ppc_state.ppc_msr && 0x40){
if (ppc_state.ppc_msr & 0x40){
ppc_next_instruction_address |= 0xFFF00000;
}
else{

View File

@ -637,7 +637,7 @@ void ppc_fcmpo(){
if ((db_test_a == snan) || (db_test_b == snan)){
ppc_state.ppc_fpscr |= 0x1000000;
if (ppc_state.ppc_fpscr && 0x80){
if (ppc_state.ppc_fpscr & 0x80){
ppc_state.ppc_fpscr |= 0x80000;
}
}

View File

@ -111,7 +111,7 @@ void msr_status_update(){
void ibat_update(){
uint8_t tlb_place = 0;
uint32_t ref_area = 0;
bool msr_pr = ppc_state.ppc_msr && 4000; //This is for problem mode; make sure that supervisor mode does not touch this!
bool msr_pr = ppc_state.ppc_msr & 4000; //This is for problem mode; make sure that supervisor mode does not touch this!
for (int bat_srch = 528; bat_srch < 535; bat_srch += 2){
ref_area = ((ppc_state.ppc_spr[bat_srch] & 0x1FFC) > 0) ? ((ppc_state.ppc_spr[bat_srch] & 0x1FFC) << 16): 131072;
bepi_chk|= (ppc_effective_address & 0xFFFE0000) & ~ref_area;
@ -132,7 +132,7 @@ void ibat_update(){
void dbat_update(){
uint8_t tlb_place = 0;
uint32_t ref_area = 0;
bool msr_pr = ppc_state.ppc_msr && 4000; //This is for problem mode; make sure that supervisor mode does not touch this!
bool msr_pr = ppc_state.ppc_msr & 4000; //This is for problem mode; make sure that supervisor mode does not touch this!
for (int bat_srch = 536; bat_srch < 543; bat_srch += 2){
ref_area = (ppc_state.ppc_spr[bat_srch] & 0x1FFC) > 0? ((ppc_state.ppc_spr[bat_srch] & 0x1FFC) << 16): 131072;
bepi_chk|= (ppc_effective_address & 0xFFFE0000) & ~ref_area;
@ -334,7 +334,7 @@ void primary_hash_check(uint32_t vpid_known){
check_vpid = (check_vpid >> 7) & 0xFFFFFF;
if ((check_vpid >> 31) && 0x01){
if ((check_vpid >> 31) & 0x01){
if (vpid_known == check_vpid){
hash_found = true;
pteg_answer |= grab_pteg1_ptr[pte_word1++] << 24;
@ -376,7 +376,7 @@ void secondary_hash_check(uint32_t vpid_known){
check_vpid = (check_vpid >> 7) & 0xFFFFFF;
if ((check_vpid >> 31) && 0x01){
if ((check_vpid >> 31) & 0x01){
if (vpid_known == check_vpid){
hash_found = true;
pteg_answer |= grab_pteg2_ptr[pte_word2++] << 24;
@ -444,7 +444,7 @@ void address_quickinsert_translate(uint32_t address_grab, uint32_t value_insert,
pteg_to_go = 1;
for (uint32_t grab_loop = 0; grab_loop < 4; grab_loop++){
if ((dbat_array_map[grab_loop][0] >> 1) && 0x1){
if ((dbat_array_map[grab_loop][0] >> 1) & 0x1){
min_val = dbat_array_map[grab_loop][1];
max_val = dbat_array_map[grab_loop][2];
if ((address_grab >= min_val) && (address_grab < max_val) && (max_val != 0)){
@ -666,7 +666,7 @@ void address_quickgrab_translate(uint32_t address_grab, uint32_t value_extract,
pteg_to_go = 1;
for (uint32_t grab_loop = 0; grab_loop < 4; grab_loop++){
if (dbat_array_map[grab_loop][0] && 0x1){
if (dbat_array_map[grab_loop][0] & 0x1){
min_val = dbat_array_map[grab_loop][1];
max_val = dbat_array_map[grab_loop][2];
if ((address_grab >= min_val) && (address_grab <= max_val) && (max_val != 0)){
@ -870,7 +870,7 @@ void quickinstruction_translate(uint32_t address_grab){
pteg_to_go = 1;
for (uint32_t grab_loop = 0; grab_loop < 4; grab_loop++){
if (ibat_array_map[grab_loop][0] && 0x1){
if (ibat_array_map[grab_loop][0] & 0x1){
min_val = ibat_array_map[grab_loop][1];
max_val = ibat_array_map[grab_loop][2];
if ((address_grab >= min_val) && (address_grab <= max_val) && (max_val != 0)){

View File

@ -188,7 +188,7 @@ void ppc_setsoov(uint32_t a, uint32_t b){
ppc_state.ppc_spr[1] &= 0xBFFFFFFF;
}
if (((a64b + b64b) < 0x80000000) || (ppc_state.ppc_spr[1] && 0x40000000)){
if (((a64b + b64b) < 0x80000000) || (ppc_state.ppc_spr[1] & 0x40000000)){
ppc_state.ppc_spr[1] |= 0x80000000;
}
else{
@ -384,7 +384,7 @@ void ppc_addcodot(){
void ppc_adde(){
ppc_grab_regsdab();
uint32_t grab_xer = ppc_state.ppc_spr[1] && 0x20000000;
uint32_t grab_xer = ppc_state.ppc_spr[1] & 0x20000000;
ppc_result_d = ppc_result_a + ppc_result_b + grab_xer;
if (((grab_xer != 0) && (grab_xer > (~(ppc_result_b + ppc_result_a)))) || (ppc_result_d > ~ppc_result_a)){
ppc_state.ppc_spr[1] |= 0x20000000;
@ -397,7 +397,7 @@ void ppc_adde(){
void ppc_addedot(){
ppc_grab_regsdab();
uint32_t grab_xer = ppc_state.ppc_spr[1] && 0x20000000;
uint32_t grab_xer = ppc_state.ppc_spr[1] & 0x20000000;
ppc_result_d = ppc_result_a + ppc_result_b + grab_xer;
ppc_changecrf0(ppc_result_d);
if (((ppc_result_b + grab_xer) < ppc_result_b) || (ppc_result_d < ppc_result_a)){
@ -411,7 +411,7 @@ void ppc_addedot(){
void ppc_addeo(){
ppc_grab_regsdab();
uint32_t grab_xer = ppc_state.ppc_spr[1] && 0x20000000;
uint32_t grab_xer = ppc_state.ppc_spr[1] & 0x20000000;
ppc_setsoov(ppc_result_a, ppc_result_b + grab_xer);
ppc_result_d = ppc_result_a + ppc_result_b + grab_xer;
if (((ppc_result_b + grab_xer) < ppc_result_b) || (ppc_result_d < ppc_result_a)){
@ -425,7 +425,7 @@ void ppc_addeo(){
void ppc_addeodot(){
ppc_grab_regsdab();
uint32_t grab_xer = ppc_state.ppc_spr[1] && 0x20000000;
uint32_t grab_xer = ppc_state.ppc_spr[1] & 0x20000000;
ppc_setsoov(ppc_result_a, ppc_result_b + grab_xer);
ppc_result_d = ppc_result_a + ppc_result_b + grab_xer;
if (((ppc_result_b + grab_xer) < ppc_result_b) || (ppc_result_d < ppc_result_a)){
@ -440,7 +440,7 @@ void ppc_addeodot(){
void ppc_addme(){
ppc_grab_regsda();
uint32_t grab_xer = ppc_state.ppc_spr[1] && 0x20000000;
uint32_t grab_xer = ppc_state.ppc_spr[1] & 0x20000000;
ppc_result_d = ppc_result_a + grab_xer - 1;
if ((grab_xer - 1) > ~ppc_result_a){
ppc_state.ppc_spr[1] |= 0x20000000;
@ -453,7 +453,7 @@ void ppc_addme(){
void ppc_addmedot(){
ppc_grab_regsda();
uint32_t grab_xer = ppc_state.ppc_spr[1] && 0x20000000;
uint32_t grab_xer = ppc_state.ppc_spr[1] & 0x20000000;
ppc_result_d = ppc_result_a + grab_xer - 1;
if ((grab_xer - 1) > ~ppc_result_a){
ppc_state.ppc_spr[1] |= 0x20000000;
@ -467,7 +467,7 @@ void ppc_addmedot(){
void ppc_addmeo(){
ppc_grab_regsda();
uint32_t grab_xer = ppc_state.ppc_spr[1] && 0x20000000;
uint32_t grab_xer = ppc_state.ppc_spr[1] & 0x20000000;
ppc_setsoov(ppc_result_a, grab_xer);
ppc_result_d = ppc_result_a + grab_xer - 1;
if ((grab_xer - 1) > ~ppc_result_a){
@ -481,7 +481,7 @@ void ppc_addmeo(){
void ppc_addmeodot(){
ppc_grab_regsda();
uint32_t grab_xer = (ppc_state.ppc_spr[1] && 0x20000000);
uint32_t grab_xer = (ppc_state.ppc_spr[1] & 0x20000000);
ppc_setsoov(ppc_result_a, grab_xer);
ppc_result_d = ppc_result_a + grab_xer - 1;
ppc_changecrf0(ppc_result_d);
@ -496,7 +496,7 @@ void ppc_addmeodot(){
void ppc_addze(){
ppc_grab_regsda();
uint32_t grab_xer = (ppc_state.ppc_spr[1] && 0x20000000);
uint32_t grab_xer = (ppc_state.ppc_spr[1] & 0x20000000);
ppc_result_d = ppc_result_a + grab_xer;
if (grab_xer > ~ppc_result_a){
ppc_state.ppc_spr[1] |= 0x20000000;
@ -509,7 +509,7 @@ void ppc_addze(){
void ppc_addzedot(){
ppc_grab_regsda();
uint32_t grab_xer = (ppc_state.ppc_spr[1] && 0x20000000);
uint32_t grab_xer = (ppc_state.ppc_spr[1] & 0x20000000);
ppc_result_d = ppc_result_a + grab_xer;
if (grab_xer > ~ppc_result_a){
ppc_state.ppc_spr[1] |= 0x20000000;
@ -523,7 +523,7 @@ void ppc_addzedot(){
void ppc_addzeo(){
ppc_grab_regsda();
uint32_t grab_xer = (ppc_state.ppc_spr[1] && 0x20000000);
uint32_t grab_xer = (ppc_state.ppc_spr[1] & 0x20000000);
ppc_setsoov(ppc_result_a, grab_xer);
ppc_result_d = ppc_result_a + grab_xer;
if (grab_xer > ~ppc_result_a){
@ -537,7 +537,7 @@ void ppc_addzeo(){
void ppc_addzeodot(){
ppc_grab_regsda();
uint32_t grab_xer = (ppc_state.ppc_spr[1] && 0x20000000);
uint32_t grab_xer = (ppc_state.ppc_spr[1] & 0x20000000);
ppc_setsoov(ppc_result_a, grab_xer);
ppc_result_d = ppc_result_a + grab_xer;
if (grab_xer > ~ppc_result_a){
@ -657,9 +657,9 @@ void ppc_subfic(){
void ppc_subfe(){
ppc_grab_regsdab();
uint32_t grab_xer = (ppc_state.ppc_spr[1] && 0x20000000);
uint32_t grab_xer = (ppc_state.ppc_spr[1] & 0x20000000);
not_this = ~ppc_result_a;
ppc_result_d = not_this + ppc_result_b + (ppc_state.ppc_spr[1] && 0x20000000);
ppc_result_d = not_this + ppc_result_b + (ppc_state.ppc_spr[1] & 0x20000000);
if (ppc_result_d < (not_this + grab_xer)){
ppc_state.ppc_spr[1] |= 0x20000000;
}
@ -672,7 +672,7 @@ void ppc_subfe(){
void ppc_subfedot(){
ppc_grab_regsdab();
uint32_t grab_xer = (ppc_state.ppc_spr[1] && 0x20000000);
uint32_t grab_xer = (ppc_state.ppc_spr[1] & 0x20000000);
not_this = ~ppc_result_a;
ppc_result_d = not_this + ppc_result_b + grab_xer;
if (ppc_result_d < (not_this + grab_xer)){
@ -690,7 +690,7 @@ void ppc_subfedot(){
void ppc_subfme(){
ppc_grab_regsda();
not_this = ~ppc_result_a;
uint32_t grab_xer = (ppc_state.ppc_spr[1] && 0x20000000);
uint32_t grab_xer = (ppc_state.ppc_spr[1] & 0x20000000);
ppc_result_d = not_this + grab_xer - 1;
if (ppc_result_a || grab_xer){
ppc_state.ppc_spr[1] |= 0x20000000;
@ -705,7 +705,7 @@ void ppc_subfme(){
void ppc_subfmedot(){
ppc_grab_regsda();
not_this = ~ppc_result_a;
uint32_t grab_xer = (ppc_state.ppc_spr[1] && 0x20000000);
uint32_t grab_xer = (ppc_state.ppc_spr[1] & 0x20000000);
ppc_result_d = not_this + grab_xer - 1;
if (ppc_result_d < (not_this + grab_xer)){
ppc_state.ppc_spr[1] |= 0x20000000;
@ -721,28 +721,28 @@ void ppc_subfmedot(){
void ppc_subfze(){
ppc_grab_regsda();
not_this = ~ppc_result_a;
ppc_result_d = not_this + (ppc_state.ppc_spr[1] && 0x20000000);
ppc_result_d = not_this + (ppc_state.ppc_spr[1] & 0x20000000);
if (ppc_result_d < not_this){
ppc_state.ppc_spr[1] |= 0x20000000;
}
else{
ppc_state.ppc_spr[1] &= 0xDFFFFFFF;
}
ppc_carry(ppc_result_a, (ppc_state.ppc_spr[1] && 0x20000000));
ppc_carry(ppc_result_a, (ppc_state.ppc_spr[1] & 0x20000000));
ppc_store_result_regd();
}
void ppc_subfzedot(){
ppc_grab_regsda();
not_this = ~ppc_result_a;
ppc_result_d = not_this + (ppc_state.ppc_spr[1] && 0x20000000);
ppc_result_d = not_this + (ppc_state.ppc_spr[1] & 0x20000000);
if (ppc_result_d < not_this){
ppc_state.ppc_spr[1] |= 0x20000000;
}
else{
ppc_state.ppc_spr[1] &= 0xDFFFFFFF;
}
ppc_carry(ppc_result_a, (ppc_state.ppc_spr[1] && 0x20000000));
ppc_carry(ppc_result_a, (ppc_state.ppc_spr[1] & 0x20000000));
ppc_changecrf0(ppc_result_d);
ppc_store_result_regd();
}
@ -1221,7 +1221,7 @@ void ppc_mfcr(){
}
void ppc_mtsr(){
if ((ppc_state.ppc_msr && 0x4000) == 0){
if ((ppc_state.ppc_msr & 0x4000) == 0){
reg_s = (ppc_cur_instruction >> 21) & 31;
grab_sr = (ppc_cur_instruction >> 16) & 15;
ppc_state.ppc_sr[grab_sr] = ppc_state.ppc_gpr[reg_s];
@ -1229,7 +1229,7 @@ void ppc_mtsr(){
}
void ppc_mtsrin(){
if ((ppc_state.ppc_msr && 0x4000) == 0){
if ((ppc_state.ppc_msr & 0x4000) == 0){
ppc_grab_regssb();
grab_sr = ppc_result_b & 15;
ppc_state.ppc_sr[grab_sr] = ppc_result_d;
@ -1237,7 +1237,7 @@ void ppc_mtsrin(){
}
void ppc_mfsr(){
if ((ppc_state.ppc_msr && 0x4000) == 0){
if ((ppc_state.ppc_msr & 0x4000) == 0){
reg_d = (ppc_cur_instruction >> 21) & 31;
grab_sr = (ppc_cur_instruction >> 16) & 15;
ppc_state.ppc_gpr[reg_d] = ppc_state.ppc_sr[grab_sr];
@ -1246,7 +1246,7 @@ void ppc_mfsr(){
}
void ppc_mfsrin(){
if ((ppc_state.ppc_msr && 0x4000) == 0){
if ((ppc_state.ppc_msr & 0x4000) == 0){
ppc_grab_regssb();
grab_sr = ppc_result_b & 15;
ppc_state.ppc_gpr[reg_d] = ppc_state.ppc_sr[grab_sr];
@ -1255,7 +1255,7 @@ void ppc_mfsrin(){
}
void ppc_mfmsr(){
if ((ppc_state.ppc_msr && 0x4000) == 0){
if ((ppc_state.ppc_msr & 0x4000) == 0){
reg_d = (ppc_cur_instruction >> 21) & 31;
ppc_state.ppc_gpr[reg_d] = ppc_state.ppc_msr;
ppc_store_result_regd();
@ -1340,14 +1340,14 @@ void ppc_mtcrf(){
ppc_grab_regssa();
crm = ((ppc_cur_instruction >> 12) & 255);
//check this
cr_mask += ((crm && 128))? 0xF0000000 : 0x00000000;
cr_mask += ((crm && 64))? 0x0F000000 : 0x00000000;
cr_mask += ((crm && 32))? 0x00F00000 : 0x00000000;
cr_mask += ((crm && 16))? 0x000F0000 : 0x00000000;
cr_mask += ((crm && 8))? 0x0000F000 : 0x00000000;
cr_mask += ((crm && 4))? 0x00000F00 : 0x00000000;
cr_mask += ((crm && 2))? 0x000000F0 : 0x00000000;
cr_mask += ((crm && 1))? 0x0000000F : 0x00000000;
cr_mask += (crm & 128) ? 0xF0000000 : 0x00000000;
cr_mask += (crm & 64) ? 0x0F000000 : 0x00000000;
cr_mask += (crm & 32) ? 0x00F00000 : 0x00000000;
cr_mask += (crm & 16) ? 0x000F0000 : 0x00000000;
cr_mask += (crm & 8) ? 0x0000F000 : 0x00000000;
cr_mask += (crm & 4) ? 0x00000F00 : 0x00000000;
cr_mask += (crm & 2) ? 0x000000F0 : 0x00000000;
cr_mask += (crm & 1) ? 0x0000000F : 0x00000000;
ppc_state.ppc_cr = (ppc_result_d & cr_mask) | (ppc_state.ppc_cr & ~(cr_mask));
}
@ -1723,11 +1723,11 @@ void ppc_tw(){
reg_a = (ppc_cur_instruction >> 11) & 31;
reg_b = (ppc_cur_instruction >> 16) & 31;
ppc_to = (ppc_cur_instruction >> 21) & 31;
if ((((int32_t)ppc_state.ppc_gpr[reg_a] < (int32_t)ppc_state.ppc_gpr[reg_b]) & (ppc_to && 0x10)) || \
(((int32_t)ppc_state.ppc_gpr[reg_a] > (int32_t)ppc_state.ppc_gpr[reg_b]) & (ppc_to && 0x08)) || \
(((int32_t)ppc_state.ppc_gpr[reg_a] == (int32_t)ppc_state.ppc_gpr[reg_b]) & (ppc_to && 0x04)) || \
((ppc_state.ppc_gpr[reg_a] < ppc_state.ppc_gpr[reg_b]) & (ppc_to && 0x02)) || \
((ppc_state.ppc_gpr[reg_a] > ppc_state.ppc_gpr[reg_b]) & (ppc_to && 0x01))){
if ((((int32_t)ppc_state.ppc_gpr[reg_a] < (int32_t)ppc_state.ppc_gpr[reg_b]) & (ppc_to & 0x10)) || \
(((int32_t)ppc_state.ppc_gpr[reg_a] > (int32_t)ppc_state.ppc_gpr[reg_b]) & (ppc_to & 0x08)) || \
(((int32_t)ppc_state.ppc_gpr[reg_a] == (int32_t)ppc_state.ppc_gpr[reg_b]) & (ppc_to & 0x04)) || \
((ppc_state.ppc_gpr[reg_a] < ppc_state.ppc_gpr[reg_b]) & (ppc_to & 0x02)) || \
((ppc_state.ppc_gpr[reg_a] > ppc_state.ppc_gpr[reg_b]) & (ppc_to & 0x01))){
ppc_expection_handler(0x0700, 0x20000);
}
}
@ -1736,11 +1736,11 @@ void ppc_twi(){
simm = (int32_t)((int16_t)((ppc_cur_instruction) & 65535));
reg_b = (ppc_cur_instruction >> 16) & 31;
ppc_to = (ppc_cur_instruction >> 21) & 31;
if ((((int32_t)ppc_state.ppc_gpr[reg_a] < simm) & (ppc_to && 0x10)) || \
(((int32_t)ppc_state.ppc_gpr[reg_a] > simm) & (ppc_to && 0x08)) || \
(((int32_t)ppc_state.ppc_gpr[reg_a] == simm) & (ppc_to && 0x04)) || \
((ppc_state.ppc_gpr[reg_a] < (uint32_t)simm) & (ppc_to && 0x02)) || \
((ppc_state.ppc_gpr[reg_a] > (uint32_t)simm) & (ppc_to && 0x01))){
if ((((int32_t)ppc_state.ppc_gpr[reg_a] < simm) & (ppc_to & 0x10)) || \
(((int32_t)ppc_state.ppc_gpr[reg_a] > simm) & (ppc_to & 0x08)) || \
(((int32_t)ppc_state.ppc_gpr[reg_a] == simm) & (ppc_to & 0x04)) || \
((ppc_state.ppc_gpr[reg_a] < (uint32_t)simm) & (ppc_to & 0x02)) || \
((ppc_state.ppc_gpr[reg_a] > (uint32_t)simm) & (ppc_to & 0x01))){
ppc_expection_handler(0x0700, 0x20000);
}
}
@ -1897,11 +1897,11 @@ void ppc_stwcx(){
ppc_effective_address = (reg_a == 0)?ppc_result_b:(ppc_result_a + ppc_result_b);
if (ppc_state.ppc_reserve){
address_quickinsert_translate(ppc_effective_address, ppc_result_d, 4);
ppc_state.ppc_cr |= (ppc_state.ppc_spr[1] && 0x80000000)?0x30000000:0x20000000;
ppc_state.ppc_cr |= (ppc_state.ppc_spr[1] & 0x80000000) ? 0x30000000 : 0x20000000;
ppc_state.ppc_reserve = false;
}
else{
ppc_state.ppc_cr |= (ppc_state.ppc_spr[1] && 0x80000000)?0x10000000:0;
ppc_state.ppc_cr |= (ppc_state.ppc_spr[1] & 0x80000000) ? 0x10000000 : 0;
}
}
@ -2044,7 +2044,7 @@ void ppc_lha(){
ppc_effective_address = (reg_a == 0)?grab_d:(uint32_t)(ppc_result_a + grab_d);
address_quickgrab_translate(ppc_effective_address, ppc_result_d, 2);
uint16_t go_this = (uint16_t)return_value;
if (go_this && 0x8000){
if (go_this & 0x8000){
ppc_result_d = 0xFFFF0000 | (uint32_t)return_value;
ppc_store_result_regd();
}
@ -2061,7 +2061,7 @@ void ppc_lhau(){
ppc_effective_address = (reg_a == 0)?grab_d:(uint32_t)(ppc_result_a + grab_d);
address_quickgrab_translate(ppc_effective_address, ppc_result_d, 2);
uint16_t go_this = (uint16_t)return_value;
if (go_this && 0x8000){
if (go_this & 0x8000){
ppc_result_d = 0xFFFF0000 | (uint32_t)return_value;
ppc_store_result_regd();
}
@ -2079,7 +2079,7 @@ void ppc_lhaux(){
ppc_effective_address = (reg_a == 0)?ppc_result_b:(ppc_result_a + ppc_result_b);
address_quickgrab_translate(ppc_effective_address, ppc_result_d, 2);
uint16_t go_this = (uint16_t)return_value;
if (go_this && 0x8000){
if (go_this & 0x8000){
ppc_result_d = 0xFFFF0000 | (uint32_t)return_value;
ppc_store_result_regd();
}
@ -2097,7 +2097,7 @@ void ppc_lhax(){
ppc_effective_address = (reg_a == 0)?ppc_result_b:(ppc_result_a + ppc_result_b);
address_quickgrab_translate(ppc_effective_address, ppc_result_d, 2);
uint16_t go_this = (uint16_t)return_value;
if (go_this && 0x8000){
if (go_this & 0x8000){
ppc_result_d = 0xFFFF0000 | (uint32_t)return_value;
ppc_store_result_regd();
}

View File

@ -27,7 +27,7 @@ bool via_cuda_signal_read;
bool via_cuda_signal_write;
void via_ifr_update(){
if ((machine_iocontrolmem_mem[VIACUDA_IFR] && 127) && (machine_iocontrolmem_mem[VIACUDA_IER] && 127)){
if ((machine_iocontrolmem_mem[VIACUDA_IFR] & 127) && (machine_iocontrolmem_mem[VIACUDA_IER] & 127)){
machine_iocontrolmem_mem[VIACUDA_IFR] |= 128;
}
else{