Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 612940
Collapse All | Expand All

(-)a/src/MMU_timing.h (-2 / +2 lines)
Lines 155-162 Link Here
155
	enum { ASSOCIATIVITY = 1 << ASSOCIATIVESHIFT };
155
	enum { ASSOCIATIVITY = 1 << ASSOCIATIVESHIFT };
156
	enum { BLOCKSIZE = 1 << BLOCKSIZESHIFT };
156
	enum { BLOCKSIZE = 1 << BLOCKSIZESHIFT };
157
	enum { TAGSHIFT = SIZESHIFT - ASSOCIATIVESHIFT };
157
	enum { TAGSHIFT = SIZESHIFT - ASSOCIATIVESHIFT };
158
	enum { TAGMASK = (u32)(~0 << TAGSHIFT) };
158
	enum { TAGMASK = (u32)(~0u << TAGSHIFT) };
159
	enum { BLOCKMASK = ((u32)~0 >> (32 - TAGSHIFT)) & (u32)(~0 << BLOCKSIZESHIFT) };
159
	enum { BLOCKMASK = ((u32)~0u >> (32 - TAGSHIFT)) & (u32)(~0u << BLOCKSIZESHIFT) };
160
	enum { WORDSIZE = sizeof(u32) };
160
	enum { WORDSIZE = sizeof(u32) };
161
	enum { WORDSPERBLOCK = (1 << BLOCKSIZESHIFT) / WORDSIZE };
161
	enum { WORDSPERBLOCK = (1 << BLOCKSIZESHIFT) / WORDSIZE };
162
	enum { DATAPERWORD = WORDSIZE * ASSOCIATIVITY };
162
	enum { DATAPERWORD = WORDSIZE * ASSOCIATIVITY };
(-)a/src/SPU.cpp (-57 / +57 lines)
Lines 468-477 Link Here
468
								| (thischan.format << 5)
468
								| (thischan.format << 5)
469
								| ((thischan.status == CHANSTAT_PLAY)?0x80:0)
469
								| ((thischan.status == CHANSTAT_PLAY)?0x80:0)
470
								);
470
								);
471
			case 0x8: return *(u8*)(thischan.timer + 0);
471
			case 0x8: return *((u8*)&thischan.timer + 0);
472
			case 0x9: return *(u8*)(thischan.timer + 1);
472
			case 0x9: return *((u8*)&thischan.timer + 1);
473
			case 0xA: return *(u8*)(thischan.loopstart + 0);
473
			case 0xA: return *((u8*)&thischan.loopstart + 0);
474
			case 0xB: return *(u8*)(thischan.loopstart + 1);
474
			case 0xB: return *((u8*)&thischan.loopstart + 1);
475
		}
475
		}
476
		return 0;
476
		return 0;
477
	}
477
	}
Lines 488-495 Link Here
488
							);
488
							);
489
489
490
		//SOUNDBIAS
490
		//SOUNDBIAS
491
		case 0x504: return *(u8*)(regs.soundbias + 0);
491
		case 0x504: return *((u8*)&regs.soundbias + 0);
492
		case 0x505: return *(u8*)(regs.soundbias + 1);
492
		case 0x505: return *((u8*)&regs.soundbias + 1);
493
	
493
	
494
		//SNDCAP0CNT/SNDCAP1CNT
494
		//SNDCAP0CNT/SNDCAP1CNT
495
		case 0x508:
495
		case 0x508:
Lines 504-527 Link Here
504
		}	
504
		}	
505
505
506
		//SNDCAP0DAD
506
		//SNDCAP0DAD
507
		case 0x510: return *(u8*)(regs.cap[0].dad + 0);
507
		case 0x510: return *((u8*)&regs.cap[0].dad + 0);
508
		case 0x511: return *(u8*)(regs.cap[0].dad + 1);
508
		case 0x511: return *((u8*)&regs.cap[0].dad + 1);
509
		case 0x512: return *(u8*)(regs.cap[0].dad + 2);
509
		case 0x512: return *((u8*)&regs.cap[0].dad + 2);
510
		case 0x513: return *(u8*)(regs.cap[0].dad + 3);
510
		case 0x513: return *((u8*)&regs.cap[0].dad + 3);
511
511
512
		//SNDCAP0LEN
512
		//SNDCAP0LEN
513
		case 0x514: return *(u8*)(regs.cap[0].len + 0);
513
		case 0x514: return *((u8*)&regs.cap[0].len + 0);
514
		case 0x515: return *(u8*)(regs.cap[0].len + 1);
514
		case 0x515: return *((u8*)&regs.cap[0].len + 1);
515
515
516
		//SNDCAP1DAD
516
		//SNDCAP1DAD
517
		case 0x518: return *(u8*)(regs.cap[1].dad + 0);
517
		case 0x518: return *((u8*)&regs.cap[1].dad + 0);
518
		case 0x519: return *(u8*)(regs.cap[1].dad + 1);
518
		case 0x519: return *((u8*)&regs.cap[1].dad + 1);
519
		case 0x51A: return *(u8*)(regs.cap[1].dad + 2);
519
		case 0x51A: return *((u8*)&regs.cap[1].dad + 2);
520
		case 0x51B: return *(u8*)(regs.cap[1].dad + 3);
520
		case 0x51B: return *((u8*)&regs.cap[1].dad + 3);
521
521
522
		//SNDCAP1LEN
522
		//SNDCAP1LEN
523
		case 0x51C: return *(u8*)(regs.cap[1].len + 0);
523
		case 0x51C: return *((u8*)&regs.cap[1].len + 0);
524
		case 0x51D: return *(u8*)(regs.cap[1].len + 1);
524
		case 0x51D: return *((u8*)&regs.cap[1].len + 1);
525
	} //switch on address
525
	} //switch on address
526
526
527
	return 0;
527
	return 0;
Lines 584-598 Link Here
584
		}	
584
		}	
585
585
586
		//SNDCAP0DAD
586
		//SNDCAP0DAD
587
		case 0x510: return *(u16*)(regs.cap[0].dad + 0);
587
		case 0x510: return *((u16*)&regs.cap[0].dad + 0);
588
		case 0x512: return *(u16*)(regs.cap[0].dad + 1);
588
		case 0x512: return *((u16*)&regs.cap[0].dad + 1);
589
589
590
		//SNDCAP0LEN
590
		//SNDCAP0LEN
591
		case 0x514: return regs.cap[0].len;
591
		case 0x514: return regs.cap[0].len;
592
592
593
		//SNDCAP1DAD
593
		//SNDCAP1DAD
594
		case 0x518: return *(u16*)(regs.cap[1].dad + 0);
594
		case 0x518: return *((u16*)&regs.cap[1].dad + 0);
595
		case 0x51A: return *(u16*)(regs.cap[1].dad + 1);
595
		case 0x51A: return *((u16*)&regs.cap[1].dad + 1);
596
596
597
		//SNDCAP1LEN
597
		//SNDCAP1LEN
598
		case 0x51C: return regs.cap[1].len;
598
		case 0x51C: return regs.cap[1].len;
Lines 768-786 Link Here
768
				thischan.keyon = (val >> 7) & 0x01;
768
				thischan.keyon = (val >> 7) & 0x01;
769
				KeyProbe(chan_num);
769
				KeyProbe(chan_num);
770
				break;
770
				break;
771
			case 0x4: *(u8*)(thischan.addr + 0) = (val & 0xFC); break;
771
			case 0x4: *((u8*)&thischan.addr + 0) = (val & 0xFC); break;
772
			case 0x5: *(u8*)(thischan.addr + 1) = val; break;
772
			case 0x5: *((u8*)&thischan.addr + 1) = val; break;
773
			case 0x6: *(u8*)(thischan.addr + 2) = val; break;
773
			case 0x6: *((u8*)&thischan.addr + 2) = val; break;
774
			case 0x7: *(u8*)(thischan.addr + 3) = (val & 0x07); break; //only 27 bits of this register are used
774
			case 0x7: *((u8*)&thischan.addr + 3) = (val & 0x07); break; //only 27 bits of this register are used
775
			case 0x8: *(u8*)(thischan.timer + 0) = val; adjust_channel_timer(&thischan); break;
775
			case 0x8: *((u8*)&thischan.timer + 0) = val; adjust_channel_timer(&thischan); break;
776
			case 0x9: *(u8*)(thischan.timer + 1) = val; adjust_channel_timer(&thischan); break;
776
			case 0x9: *((u8*)&thischan.timer + 1) = val; adjust_channel_timer(&thischan); break;
777
777
778
			case 0xA: *(u8*)(thischan.loopstart + 0) = val; break;
778
			case 0xA: *((u8*)&thischan.loopstart + 0) = val; break;
779
			case 0xB: *(u8*)(thischan.loopstart + 1) = val; break;
779
			case 0xB: *((u8*)&thischan.loopstart + 1) = val; break;
780
			case 0xC: *(u8*)(thischan.length + 0) = val; break;
780
			case 0xC: *((u8*)&thischan.length + 0) = val; break;
781
			case 0xD: *(u8*)(thischan.length + 1) = val; break;
781
			case 0xD: *((u8*)&thischan.length + 1) = val; break;
782
			case 0xE: *(u8*)(thischan.length + 2) = (val & 0x3F); break; //only 22 bits of this register are used
782
			case 0xE: *((u8*)&thischan.length + 2) = (val & 0x3F); break; //only 22 bits of this register are used
783
			case 0xF: *(u8*)(thischan.length + 3) = 0; break;
783
			case 0xF: *((u8*)&thischan.length + 3) = 0; break;
784
		} //switch on individual channel regs
784
		} //switch on individual channel regs
785
		return;
785
		return;
786
	}
786
	}
Lines 800-807 Link Here
800
		break;
800
		break;
801
		
801
		
802
		//SOUNDBIAS
802
		//SOUNDBIAS
803
		case 0x504: *(u8*)(regs.soundbias + 0) = val; break;
803
		case 0x504: *((u8*)&regs.soundbias + 0) = val; break;
804
		case 0x505: *(u8*)(regs.soundbias + 1) = (val & 0x03); break;
804
		case 0x505: *((u8*)&regs.soundbias + 1) = (val & 0x03); break;
805
805
806
		//SNDCAP0CNT/SNDCAP1CNT
806
		//SNDCAP0CNT/SNDCAP1CNT
807
		case 0x508:
807
		case 0x508:
Lines 818-841 Link Here
818
		}
818
		}
819
819
820
		//SNDCAP0DAD
820
		//SNDCAP0DAD
821
		case 0x510: *(u8*)(regs.cap[0].dad + 0) = (val & 0xFC); break;
821
		case 0x510: *((u8*)&regs.cap[0].dad + 0) = (val & 0xFC); break;
822
		case 0x511: *(u8*)(regs.cap[0].dad + 1) = val; break;
822
		case 0x511: *((u8*)&regs.cap[0].dad + 1) = val; break;
823
		case 0x512: *(u8*)(regs.cap[0].dad + 2) = val; break;
823
		case 0x512: *((u8*)&regs.cap[0].dad + 2) = val; break;
824
		case 0x513: *(u8*)(regs.cap[0].dad + 3) = (val & 0x07); break;
824
		case 0x513: *((u8*)&regs.cap[0].dad + 3) = (val & 0x07); break;
825
825
826
		//SNDCAP0LEN
826
		//SNDCAP0LEN
827
		case 0x514: *(u8*)(regs.cap[0].len + 0) = val; break;
827
		case 0x514: *((u8*)&regs.cap[0].len + 0) = val; break;
828
		case 0x515: *(u8*)(regs.cap[0].len + 1) = val; break;
828
		case 0x515: *((u8*)&regs.cap[0].len + 1) = val; break;
829
829
830
		//SNDCAP1DAD
830
		//SNDCAP1DAD
831
		case 0x518: *(u8*)(regs.cap[1].dad + 0) = (val & 0xFC); break;
831
		case 0x518: *((u8*)&regs.cap[1].dad + 0) = (val & 0xFC); break;
832
		case 0x519: *(u8*)(regs.cap[1].dad + 1) = val; break;
832
		case 0x519: *((u8*)&regs.cap[1].dad + 1) = val; break;
833
		case 0x51A: *(u8*)(regs.cap[1].dad + 2) = val; break;
833
		case 0x51A: *((u8*)&regs.cap[1].dad + 2) = val; break;
834
		case 0x51B: *(u8*)(regs.cap[1].dad + 3) = (val & 0x07); break;
834
		case 0x51B: *((u8*)&regs.cap[1].dad + 3) = (val & 0x07); break;
835
835
836
		//SNDCAP1LEN
836
		//SNDCAP1LEN
837
		case 0x51C: *(u8*)(regs.cap[1].len + 0) = val; break;
837
		case 0x51C: *((u8*)&regs.cap[1].len + 0) = val; break;
838
		case 0x51D: *(u8*)(regs.cap[1].len + 1) = val; break;
838
		case 0x51D: *((u8*)&regs.cap[1].len + 1) = val; break;
839
	} //switch on address
839
	} //switch on address
840
}
840
}
841
841
Lines 864-875 Link Here
864
				thischan.keyon = (val >> 15) & 0x1;
864
				thischan.keyon = (val >> 15) & 0x1;
865
				KeyProbe(chan_num);
865
				KeyProbe(chan_num);
866
				break;
866
				break;
867
			case 0x4: *(u16*)(thischan.addr + 0) = (val & 0xFFFC); break;
867
			case 0x4: *((u16*)&thischan.addr + 0) = (val & 0xFFFC); break;
868
			case 0x6: *(u16*)(thischan.addr + 1) = (val & 0x07FF); break;
868
			case 0x6: *((u16*)&thischan.addr + 1) = (val & 0x07FF); break;
869
			case 0x8: thischan.timer = val; adjust_channel_timer(&thischan); break;
869
			case 0x8: thischan.timer = val; adjust_channel_timer(&thischan); break;
870
			case 0xA: thischan.loopstart = val; break;
870
			case 0xA: thischan.loopstart = val; break;
871
			case 0xC: *(u16*)(thischan.length + 0) = val; break;
871
			case 0xC: *((u16*)&thischan.length + 0) = val; break;
872
			case 0xE: *(u16*)(thischan.length + 1) = (val & 0x003F); break; //only 22 bits of this register are used
872
			case 0xE: *((u16*)&thischan.length + 1) = (val & 0x003F); break; //only 22 bits of this register are used
873
		} //switch on individual channel regs
873
		} //switch on individual channel regs
874
		return;
874
		return;
875
	}
875
	}
Lines 911-925 Link Here
911
		}
911
		}
912
912
913
		//SNDCAP0DAD
913
		//SNDCAP0DAD
914
		case 0x510: *(u16*)(regs.cap[0].dad + 0) = (val & 0xFFFC); break;
914
		case 0x510: *((u16*)&regs.cap[0].dad + 0) = (val & 0xFFFC); break;
915
		case 0x512: *(u16*)(regs.cap[0].dad + 1) = (val & 0x7FFF); break;
915
		case 0x512: *((u16*)&regs.cap[0].dad + 1) = (val & 0x7FFF); break;
916
916
917
		//SNDCAP0LEN
917
		//SNDCAP0LEN
918
		case 0x514: regs.cap[0].len = val; break;
918
		case 0x514: regs.cap[0].len = val; break;
919
919
920
		//SNDCAP1DAD
920
		//SNDCAP1DAD
921
		case 0x518: *(u16*)(regs.cap[1].dad + 0) = (val & 0xFFFC); break;
921
		case 0x518: *((u16*)&regs.cap[1].dad + 0) = (val & 0xFFFC); break;
922
		case 0x51A: *(u16*)(regs.cap[1].dad + 1) = (val & 0x7FFF); break;
922
		case 0x51A: *((u16*)&regs.cap[1].dad + 1) = (val & 0x7FFF); break;
923
923
924
		//SNDCAP1LEN
924
		//SNDCAP1LEN
925
		case 0x51C: regs.cap[1].len = val; break;
925
		case 0x51C: regs.cap[1].len = val; break;
(-)a/src/ctrlssdl.cpp (-2 / +2 lines)
Lines 200-206 Link Here
200
          break;
200
          break;
201
        case SDL_JOYAXISMOTION:
201
        case SDL_JOYAXISMOTION:
202
          /* Dead zone of 50% */
202
          /* Dead zone of 50% */
203
          if( (abs(event.jaxis.value) >> 14) != 0 )
203
          if( (std::abs((int)event.jaxis.value) >> 14) != 0 )
204
            {
204
            {
205
              key = ((event.jaxis.which & 15) << 12) | JOY_AXIS << 8 | ((event.jaxis.axis & 127) << 1);
205
              key = ((event.jaxis.which & 15) << 12) | JOY_AXIS << 8 | ((event.jaxis.axis & 127) << 1);
206
              if (event.jaxis.value > 0) {
206
              if (event.jaxis.value > 0) {
Lines 370-376 Link Here
370
         Note: button constants have a 1bit offset. */
370
         Note: button constants have a 1bit offset. */
371
    case SDL_JOYAXISMOTION:
371
    case SDL_JOYAXISMOTION:
372
      key_code = ((event->jaxis.which & 15) << 12) | JOY_AXIS << 8 | ((event->jaxis.axis & 127) << 1);
372
      key_code = ((event->jaxis.which & 15) << 12) | JOY_AXIS << 8 | ((event->jaxis.axis & 127) << 1);
373
      if( (abs(event->jaxis.value) >> 14) != 0 )
373
      if( (std::abs((int)event->jaxis.value) >> 14) != 0 )
374
        {
374
        {
375
          if (event->jaxis.value > 0)
375
          if (event->jaxis.value > 0)
376
            key_code |= 1;
376
            key_code |= 1;
(-)a/src/rasterize.cpp (-1 / +1 lines)
Lines 1698-1704 Link Here
1698
	{
1698
	{
1699
		for(unsigned int i = 0; i < rasterizerCores; i++)
1699
		for(unsigned int i = 0; i < rasterizerCores; i++)
1700
		{
1700
		{
1701
			rasterizerUnitTask[i].execute(&execRasterizerUnit, (void *)i);
1701
			rasterizerUnitTask[i].execute(&execRasterizerUnit, (void *)(intptr_t)i);
1702
		}
1702
		}
1703
	}
1703
	}
1704
	else
1704
	else
(-)a/src/wifi.cpp (-2 / +2 lines)
Lines 314-322 Link Here
314
314
315
#if (WIFI_LOGGING_LEVEL >= 1)
315
#if (WIFI_LOGGING_LEVEL >= 1)
316
	#if WIFI_LOG_USE_LOGC
316
	#if WIFI_LOG_USE_LOGC
317
		#define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) LOGC(8, "WIFI: "__VA_ARGS__);
317
		#define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) LOGC(8, "WIFI: " __VA_ARGS__);
318
	#else
318
	#else
319
		#define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) printf("WIFI: "__VA_ARGS__);
319
		#define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) printf("WIFI: " __VA_ARGS__);
320
	#endif
320
	#endif
321
#else
321
#else
322
#define WIFI_LOG(level, ...) {}
322
#define WIFI_LOG(level, ...) {}

Return to bug 612940