diff -Nru base0111/src/drivers/8080bw.c w0111/src/drivers/8080bw.c --- base0111/src/drivers/8080bw.c 2006-10-06 20:13:15.000000000 +1300 +++ w0111/src/drivers/8080bw.c 2006-12-11 18:59:50.000000000 +1300 @@ -3434,7 +3434,7 @@ case 0x5ffc: return 0; } logerror("unknown port 0 read @ %x\n",activecpu_get_pc()); - return rand(); + return mame_rand(Machine); } static ADDRESS_MAP_START( indianbt_port, ADDRESS_SPACE_IO, 8 ) diff -Nru base0111/src/drivers/ace.c w0111/src/drivers/ace.c --- base0111/src/drivers/ace.c 2006-09-13 03:00:34.000000000 +1200 +++ w0111/src/drivers/ace.c 2006-12-11 18:59:50.000000000 +1300 @@ -138,7 +138,7 @@ static READ8_HANDLER( unk_r ) { - return rand()&0xff; + return mame_rand(Machine)&0xff; } diff -Nru base0111/src/drivers/airbustr.c w0111/src/drivers/airbustr.c --- base0111/src/drivers/airbustr.c 2006-09-14 05:56:35.000000000 +1200 +++ w0111/src/drivers/airbustr.c 2006-12-11 18:59:50.000000000 +1300 @@ -264,7 +264,7 @@ /* Reading eff4, F0 times must yield at most 80-1 consecutive equal values */ case 0xff4: - return rand(); + return mame_rand(Machine); default: return devram[offset]; diff -Nru base0111/src/drivers/atarigx2.c w0111/src/drivers/atarigx2.c --- base0111/src/drivers/atarigx2.c 2006-02-21 06:32:38.000000000 +1300 +++ w0111/src/drivers/atarigx2.c 2006-12-11 18:59:50.000000000 +1300 @@ -1146,7 +1146,7 @@ if (lookup_table[i][0] == 0xffffffff) { if (last_write_offset*2 >= 0x700 && last_write_offset*2 < 0x720) - result = rand() << 16; + result = mame_rand(Machine) << 16; else result = 0xffff << 16; logerror("%06X:Unhandled protection R@%04X = %04X\n", activecpu_get_previouspc(), offset, result); diff -Nru base0111/src/drivers/backfire.c w0111/src/drivers/backfire.c --- base0111/src/drivers/backfire.c 2006-10-17 05:29:39.000000000 +1300 +++ w0111/src/drivers/backfire.c 2006-12-11 18:59:50.000000000 +1300 @@ -233,7 +233,7 @@ static READ32_HANDLER(backfire_eeprom_r) { /* some kind of screen indicator? checked by backfira set before it will boot */ - int backfire_screen = rand()&1; + int backfire_screen = mame_rand(Machine)&1; return ((EEPROM_read_bit()<<24) | readinputport(0) | (readinputport(3)<<16)) ^ (backfire_screen << 26) ; } diff -Nru base0111/src/drivers/bigfghtr.c w0111/src/drivers/bigfghtr.c --- base0111/src/drivers/bigfghtr.c 2006-09-12 05:52:43.000000000 +1200 +++ w0111/src/drivers/bigfghtr.c 2006-12-11 18:59:50.000000000 +1300 @@ -313,7 +313,7 @@ if(read_latch) { read_latch=0; - return rand(); + return mame_rand(Machine); } break; diff -Nru base0111/src/drivers/blmbycar.c w0111/src/drivers/blmbycar.c --- base0111/src/drivers/blmbycar.c 2006-03-01 06:39:15.000000000 +1300 +++ w0111/src/drivers/blmbycar.c 2006-12-11 18:59:50.000000000 +1300 @@ -93,7 +93,7 @@ static READ16_HANDLER( blmbycar_pot_wheel_r ) { return ((pot_wheel & 0x80) ? 0x04 : 0) | - (rand() & 0x08); + (mame_rand(Machine) & 0x08); } diff -Nru base0111/src/drivers/ddrible.c w0111/src/drivers/ddrible.c --- base0111/src/drivers/ddrible.c 2006-07-11 14:20:23.000000000 +1200 +++ w0111/src/drivers/ddrible.c 2006-12-11 18:59:50.000000000 +1300 @@ -90,7 +90,7 @@ static READ8_HANDLER( ddrible_vlm5030_busy_r ) { - return rand(); /* patch */ + return mame_rand(Machine); /* patch */ if (VLM5030_BSY()) return 1; else return 0; } diff -Nru base0111/src/drivers/deco32.c w0111/src/drivers/deco32.c --- base0111/src/drivers/deco32.c 2006-09-27 02:33:44.000000000 +1200 +++ w0111/src/drivers/deco32.c 2006-12-11 18:59:50.000000000 +1300 @@ -376,7 +376,7 @@ //logerror("%08x:Read gun %d\n",activecpu_get_pc(),offset); //return ((rand()%0xffff)<<16) | rand()%0xffff; if (offset) /* Mirror of player 1 and player 2 fire buttons */ - return readinputport(5) | ((rand()%0xff)<<16); + return readinputport(5) | ((mame_rand(Machine)%0xff)<<16); return readinputport(4) | readinputport(6) | (readinputport(6)<<16) | (readinputport(6)<<24); //((rand()%0xff)<<16); } diff -Nru base0111/src/drivers/deco_mlc.c w0111/src/drivers/deco_mlc.c --- base0111/src/drivers/deco_mlc.c 2006-09-14 05:56:35.000000000 +1200 +++ w0111/src/drivers/deco_mlc.c 2006-12-11 18:59:50.000000000 +1300 @@ -125,7 +125,7 @@ // if (offset==0) // return readinputport(0); //0xffffffff; // logerror("%08x: Test2_r %d\n",activecpu_get_pc(),offset); - return rand(); //0xffffffff; + return mame_rand(Machine); //0xffffffff; } static READ32_HANDLER(test3_r) diff -Nru base0111/src/drivers/ertictac.c w0111/src/drivers/ertictac.c --- base0111/src/drivers/ertictac.c 2006-09-14 05:56:35.000000000 +1200 +++ w0111/src/drivers/ertictac.c 2006-12-11 18:59:50.000000000 +1300 @@ -98,7 +98,7 @@ static READ32_HANDLER(IRQRQB_r) { - return rand()&IRQMSKB; /* hack 0x20 - controls, 0x02 - ?sound? */ + return mame_rand(Machine)&IRQMSKB; /* hack 0x20 - controls, 0x02 - ?sound? */ } static READ32_HANDLER(IRQMSKB_r) diff -Nru base0111/src/drivers/fitfight.c w0111/src/drivers/fitfight.c --- base0111/src/drivers/fitfight.c 2006-10-17 05:29:39.000000000 +1300 +++ w0111/src/drivers/fitfight.c 2006-12-11 18:59:50.000000000 +1300 @@ -228,19 +228,19 @@ static READ8_HANDLER(snd_porta_r) { //mame_printf_debug("PA R @%x\n",activecpu_get_pc()); - return rand(); + return mame_rand(Machine); } static READ8_HANDLER(snd_portb_r) { //mame_printf_debug("PB R @%x\n",activecpu_get_pc()); - return rand(); + return mame_rand(Machine); } static READ8_HANDLER(snd_portc_r) { //mame_printf_debug("PC R @%x\n",activecpu_get_pc()); - return rand(); + return mame_rand(Machine); } static WRITE8_HANDLER(snd_porta_w) diff -Nru base0111/src/drivers/fortecar.c w0111/src/drivers/fortecar.c --- base0111/src/drivers/fortecar.c 2006-06-29 17:18:26.000000000 +1200 +++ w0111/src/drivers/fortecar.c 2006-12-11 18:59:50.000000000 +1300 @@ -32,7 +32,7 @@ READ8_HANDLER( fortecar_read62 ) { - return rand(); + return mame_rand(Machine); } static ADDRESS_MAP_START( fortecar_ports, ADDRESS_SPACE_IO, 8 ) diff -Nru base0111/src/drivers/gladiatr.c w0111/src/drivers/gladiatr.c --- base0111/src/drivers/gladiatr.c 2006-05-18 19:00:44.000000000 +1200 +++ w0111/src/drivers/gladiatr.c 2006-12-11 18:59:50.000000000 +1300 @@ -361,9 +361,9 @@ static WRITE8_HANDLER(qx3_w){ } -static READ8_HANDLER(qx2_r){ return rand(); } +static READ8_HANDLER(qx2_r){ return mame_rand(Machine); } -static READ8_HANDLER(qx3_r){ return rand()&0xf; } +static READ8_HANDLER(qx3_r){ return mame_rand(Machine)&0xf; } static READ8_HANDLER(qx0_r) { @@ -654,7 +654,7 @@ static READ8_HANDLER(f1_r) { - return rand(); + return mame_rand(Machine); } static struct YM2203interface ppking_ym2203_interface = diff -Nru base0111/src/drivers/gunpey.c w0111/src/drivers/gunpey.c --- base0111/src/drivers/gunpey.c 2006-06-29 17:18:26.000000000 +1200 +++ w0111/src/drivers/gunpey.c 2006-12-11 18:59:50.000000000 +1300 @@ -73,7 +73,7 @@ // 40,41,44 = ? // 4a = flags? if(offset==0xc9 )//|| offset==0x40 || offset==0x41 || offset==0x44) - return rand(); + return mame_rand(Machine); return unkram[offset]; } diff -Nru base0111/src/drivers/hshavoc.c w0111/src/drivers/hshavoc.c --- base0111/src/drivers/hshavoc.c 2006-09-11 14:31:12.000000000 +1200 +++ w0111/src/drivers/hshavoc.c 2006-12-11 18:59:50.000000000 +1300 @@ -200,7 +200,7 @@ static READ16_HANDLER( vdp_fake_r ) { - return rand(); + return mame_rand(Machine); } static DRIVER_INIT(genesis) diff -Nru base0111/src/drivers/itech32.c w0111/src/drivers/itech32.c --- base0111/src/drivers/itech32.c 2006-09-22 17:23:42.000000000 +1200 +++ w0111/src/drivers/itech32.c 2006-12-11 18:59:50.000000000 +1300 @@ -796,7 +796,7 @@ mame_fread(file, main_ram, main_ram_size); else for (i = 0x80; i < main_ram_size; i++) - ((UINT8 *)main_ram)[i] = rand(); + ((UINT8 *)main_ram)[i] = mame_rand(Machine); } @@ -810,7 +810,7 @@ mame_fread(file, nvram, nvram_size); else for (i = 0; i < nvram_size; i++) - ((UINT8 *)nvram)[i] = rand(); + ((UINT8 *)nvram)[i] = mame_rand(Machine); } static NVRAM_HANDLER( gt3dt ) diff -Nru base0111/src/drivers/itech8.c w0111/src/drivers/itech8.c --- base0111/src/drivers/itech8.c 2006-08-13 12:34:17.000000000 +1200 +++ w0111/src/drivers/itech8.c 2006-12-11 18:59:50.000000000 +1300 @@ -912,7 +912,7 @@ mame_fread(file, main_ram, main_ram_size); else for (i = 0; i < main_ram_size; i++) - main_ram[i] = rand(); + main_ram[i] = mame_rand(Machine); } diff -Nru base0111/src/drivers/kopunch.c w0111/src/drivers/kopunch.c --- base0111/src/drivers/kopunch.c 2006-07-28 06:05:11.000000000 +1200 +++ w0111/src/drivers/kopunch.c 2006-12-11 18:59:50.000000000 +1300 @@ -36,9 +36,9 @@ { /* port 31 + low 3 bits of port 32 contain the punch strength */ if (offset == 0) - return rand(); + return mame_rand(Machine); else - return (rand() & 0x07) | input_port_1_r(0); + return (mame_rand(Machine) & 0x07) | input_port_1_r(0); } static WRITE8_HANDLER( kopunch_lamp_w ) diff -Nru base0111/src/drivers/legionna.c w0111/src/drivers/legionna.c --- base0111/src/drivers/legionna.c 2006-09-14 05:56:35.000000000 +1200 +++ w0111/src/drivers/legionna.c 2006-12-11 18:59:50.000000000 +1300 @@ -181,25 +181,25 @@ case (0x470/2): /* read PC $110a, could be some sort of control word: sometimes a bit is changed then it's poked back in... */ - return (rand() &0xffff); + return (mame_rand(Machine) &0xffff); case (0x582/2): /* read PC $3594 */ - return (rand() &0xffff); + return (mame_rand(Machine) &0xffff); case (0x584/2): /* read PC $3588 */ - return (rand() &0xffff); + return (mame_rand(Machine) &0xffff); case (0x586/2): /* read PC $35a0 */ - return (rand() &0xffff); + return (mame_rand(Machine) &0xffff); case (0x588/2): /* read PC $3580 */ - return (rand() &0xffff); + return (mame_rand(Machine) &0xffff); case (0x5b0/2): /* bit 15 is branched on a few times in the $3300 area */ - return (rand() &0xffff); + return (mame_rand(Machine) &0xffff); case (0x5b4/2): /* read and stored in ram before +0x5b0 bit 15 tested */ - return (rand() &0xffff); + return (mame_rand(Machine) &0xffff); /* Non-protection reads */ @@ -304,28 +304,28 @@ /* Protection is not understood */ case (0x580/2): /* read PC $1a9e */ - return (rand() &0xffff); + return (mame_rand(Machine) &0xffff); case (0x582/2): /* read PC $1ab2 */ - return (rand() &0xffff); + return (mame_rand(Machine) &0xffff); case (0x584/2): /* read PC $1aa6 */ - return (rand() &0xffff); + return (mame_rand(Machine) &0xffff); case (0x590/2): /* read PC $8622 */ - return (rand() &0xffff); + return (mame_rand(Machine) &0xffff); case (0x592/2): /* read PC $85ee */ - return (rand() &0xffff); + return (mame_rand(Machine) &0xffff); case (0x594/2): /* read PC $85be */ - return (rand() &0xffff); + return (mame_rand(Machine) &0xffff); case (0x5b0/2): /* bit 15 is branched on a few times in the $1938 area */ - return (rand() &0xffff); + return (mame_rand(Machine) &0xffff); case (0x5b4/2): /* read at $1932 and stored in ram before +0x5b0 bit 15 tested */ - return (rand() &0xffff); + return (mame_rand(Machine) &0xffff); /* Non-protection reads */ diff -Nru base0111/src/drivers/metro.c w0111/src/drivers/metro.c --- base0111/src/drivers/metro.c 2006-09-11 14:31:12.000000000 +1200 +++ w0111/src/drivers/metro.c 2006-12-11 18:59:50.000000000 +1300 @@ -4586,7 +4586,7 @@ metro_vram_1 = RAM + (0x20000/2) * 1; metro_vram_2 = RAM + (0x20000/2) * 2; for (i = 0;i < (0x20000*3)/2;i++) - RAM[i] = rand(); + RAM[i] = mame_rand(Machine); init_metro(machine); } diff -Nru base0111/src/drivers/nwk-tr.c w0111/src/drivers/nwk-tr.c --- base0111/src/drivers/nwk-tr.c 2006-11-26 12:39:05.000000000 +1300 +++ w0111/src/drivers/nwk-tr.c 2006-12-11 19:30:25.000000000 +1300 @@ -484,8 +484,8 @@ switch (offset) { - case 0x54/4: return rand() << 16; break; - case 0x5c/4: return rand() << 16 | rand(); break; + case 0x54/4: return mame_rand(Machine) << 16; break; + case 0x5c/4: return mame_rand(Machine) << 16 | mame_rand(Machine); break; } return K001604_reg[chip][offset]; diff -Nru base0111/src/drivers/nycaptor.c w0111/src/drivers/nycaptor.c --- base0111/src/drivers/nycaptor.c 2006-05-06 03:13:39.000000000 +1200 +++ w0111/src/drivers/nycaptor.c 2006-12-11 18:59:50.000000000 +1300 @@ -453,7 +453,7 @@ static READ8_HANDLER(cyclshtg_mcu_status_r1) { - return rand(); + return mame_rand(Machine); } static WRITE8_HANDLER( cyclshtg_generic_control_w ) @@ -531,7 +531,7 @@ static READ8_HANDLER(unk_r) { - return rand(); + return mame_rand(Machine); } static ADDRESS_MAP_START( bronx_readmem, ADDRESS_SPACE_PROGRAM, 8 ) diff -Nru base0111/src/drivers/othldrby.c w0111/src/drivers/othldrby.c --- base0111/src/drivers/othldrby.c 2006-10-27 05:08:43.000000000 +1300 +++ w0111/src/drivers/othldrby.c 2006-12-11 18:59:50.000000000 +1300 @@ -39,7 +39,7 @@ static READ16_HANDLER( pap ) { - return rand(); + return mame_rand(Machine); } diff -Nru base0111/src/drivers/pacman.c w0111/src/drivers/pacman.c --- base0111/src/drivers/pacman.c 2006-10-27 04:44:14.000000000 +1300 +++ w0111/src/drivers/pacman.c 2006-12-11 18:59:50.000000000 +1300 @@ -531,7 +531,7 @@ { /* The return value determines what the mystery item is. Each bit corresponds to a question mark */ - return rand() & 0x0f; + return mame_rand(Machine) & 0x0f; } diff -Nru base0111/src/drivers/seta2.c w0111/src/drivers/seta2.c --- base0111/src/drivers/seta2.c 2006-07-28 06:05:11.000000000 +1200 +++ w0111/src/drivers/seta2.c 2006-12-11 18:59:50.000000000 +1300 @@ -444,7 +444,7 @@ READ16_HANDLER( pzlbowl_coins_r ) { - return readinputport(4) | (rand() & 0x80 ); + return readinputport(4) | (mame_rand(Machine) & 0x80 ); } WRITE16_HANDLER( pzlbowl_coin_counter_w ) diff -Nru base0111/src/drivers/shanghai.c w0111/src/drivers/shanghai.c --- base0111/src/drivers/shanghai.c 2006-09-13 03:00:34.000000000 +1200 +++ w0111/src/drivers/shanghai.c 2006-12-11 18:59:50.000000000 +1300 @@ -828,7 +828,7 @@ static READ8_HANDLER(shanghai_rand_r) { - return rand(); + return mame_rand(Machine); } static READ8_HANDLER( kothello_HD63484_status_r ) diff -Nru base0111/src/drivers/spcforce.c w0111/src/drivers/spcforce.c --- base0111/src/drivers/spcforce.c 2006-09-14 05:56:35.000000000 +1200 +++ w0111/src/drivers/spcforce.c 2006-12-11 18:59:50.000000000 +1300 @@ -68,7 +68,7 @@ static READ8_HANDLER( spcforce_t0_r ) { /* SN76496 status according to Al - not supported by MAME?? */ - return rand() & 1; + return mame_rand(Machine) & 1; } diff -Nru base0111/src/drivers/strnskil.c w0111/src/drivers/strnskil.c --- base0111/src/drivers/strnskil.c 2006-05-06 03:13:39.000000000 +1200 +++ w0111/src/drivers/strnskil.c 2006-12-11 18:59:50.000000000 +1300 @@ -53,7 +53,7 @@ case 0x6066: res = 0xa5; break; case 0x60dc: res = 0x20; break; /* bits 0-3 unknown */ case 0x615d: res = 0x30; break; /* bits 0-3 unknown */ - case 0x61b9: res = 0x60|(rand()&0x0f); break; /* bits 0-3 unknown */ + case 0x61b9: res = 0x60|(mame_rand(Machine)&0x0f); break; /* bits 0-3 unknown */ case 0x6219: res = 0x77; break; case 0x626c: res = 0xb4; break; default: res = 0xff; break; diff -Nru base0111/src/drivers/superqix.c w0111/src/drivers/superqix.c --- base0111/src/drivers/superqix.c 2006-03-01 06:39:15.000000000 +1300 +++ w0111/src/drivers/superqix.c 2006-12-11 18:59:50.000000000 +1300 @@ -483,7 +483,7 @@ { // logerror("%04x: ay_port_a_r\n",activecpu_get_pc()); /* bits 76------ MCU status bits */ - return (rand()&0xc0)|readinputport(3); + return (mame_rand(Machine)&0xc0)|readinputport(3); } diff -Nru base0111/src/drivers/suprgolf.c w0111/src/drivers/suprgolf.c --- base0111/src/drivers/suprgolf.c 2006-10-17 05:29:39.000000000 +1300 +++ w0111/src/drivers/suprgolf.c 2006-12-11 18:59:50.000000000 +1300 @@ -92,7 +92,7 @@ READ8_HANDLER( suprgolf_random ) { - return rand(); + return mame_rand(Machine); } static ADDRESS_MAP_START( io_map, ADDRESS_SPACE_IO, 8 ) diff -Nru base0111/src/drivers/taito_z.c w0111/src/drivers/taito_z.c --- base0111/src/drivers/taito_z.c 2006-10-27 05:08:43.000000000 +1300 +++ w0111/src/drivers/taito_z.c 2006-12-11 18:59:50.000000000 +1300 @@ -1296,7 +1296,7 @@ switch (offset) { case 0x0: - return (rand() &0xff); /* motor status ?? */ + return (mame_rand(Machine) &0xff); /* motor status ?? */ case 0x101: return 0x55; /* motor cpu status ? */ diff -Nru base0111/src/drivers/tetrisp2.c w0111/src/drivers/tetrisp2.c --- base0111/src/drivers/tetrisp2.c 2006-09-11 14:31:12.000000000 +1200 +++ w0111/src/drivers/tetrisp2.c 2006-12-11 18:59:50.000000000 +1300 @@ -230,8 +230,8 @@ static READ16_HANDLER( tetrisp2_ip_1_word_r ) { return ( readinputportbytag("IN1") & 0xfcff ) | - ( rand() & ~0xfcff ) | - ( 1 << (8 + (rand()&1)) ); + ( mame_rand(Machine) & ~0xfcff ) | + ( 1 << (8 + (mame_rand(Machine)&1)) ); } diff -Nru base0111/src/drivers/tmnt.c w0111/src/drivers/tmnt.c --- base0111/src/drivers/tmnt.c 2006-09-11 14:31:12.000000000 +1200 +++ w0111/src/drivers/tmnt.c 2006-12-11 18:59:50.000000000 +1300 @@ -371,7 +371,7 @@ /* 0xffffff, and returning 0 causes the game to mess up - locking up in a */ /* loop where the ball is continuously bouncing from the basket. Returning */ /* a random number seems to prevent that. */ - return rand(); + return mame_rand(Machine); } diff -Nru base0111/src/drivers/topshoot.c w0111/src/drivers/topshoot.c --- base0111/src/drivers/topshoot.c 2006-02-23 04:33:55.000000000 +1300 +++ w0111/src/drivers/topshoot.c 2006-12-11 18:59:50.000000000 +1300 @@ -293,7 +293,7 @@ static READ16_HANDLER( vdp_fake_r ) { - return rand(); + return mame_rand(Machine); } DRIVER_INIT(topshoot) diff -Nru base0111/src/drivers/topspeed.c w0111/src/drivers/topspeed.c --- base0111/src/drivers/topspeed.c 2006-03-01 06:39:15.000000000 +1300 +++ w0111/src/drivers/topspeed.c 2006-12-11 18:59:50.000000000 +1300 @@ -334,7 +334,7 @@ switch (offset) { case 0x0: - return (rand() &0xff); /* motor status ?? */ + return (mame_rand(Machine) &0xff); /* motor status ?? */ case 0x101: return 0x55; /* motor cpu status ? */ diff -Nru base0111/src/drivers/ttchamp.c w0111/src/drivers/ttchamp.c --- base0111/src/drivers/ttchamp.c 2006-09-14 05:56:35.000000000 +1200 +++ w0111/src/drivers/ttchamp.c 2006-12-11 18:59:50.000000000 +1300 @@ -134,7 +134,7 @@ static READ8_HANDLER( peno_rand2 ) { - return rand(); + return mame_rand(Machine); } static ADDRESS_MAP_START( ttchamp_map, ADDRESS_SPACE_PROGRAM, 8 ) diff -Nru base0111/src/drivers/wldarrow.c w0111/src/drivers/wldarrow.c --- base0111/src/drivers/wldarrow.c 2006-03-01 06:39:15.000000000 +1300 +++ w0111/src/drivers/wldarrow.c 2006-12-11 18:59:50.000000000 +1300 @@ -84,7 +84,7 @@ static READ8_HANDLER( unk_r ) { - return (rand()&0xf)|(input_port_2_r(0)&0xf0)|0x80; + return (mame_rand(Machine)&0xf)|(input_port_2_r(0)&0xf0)|0x80; } diff -Nru base0111/src/machine/ajax.c w0111/src/machine/ajax.c --- base0111/src/machine/ajax.c 2006-02-21 06:32:38.000000000 +1300 +++ w0111/src/machine/ajax.c 2006-12-11 18:59:50.000000000 +1300 @@ -113,7 +113,7 @@ switch ((offset & 0x01c0) >> 6){ case 0x00: /* ??? */ - data = rand(); + data = mame_rand(Machine); break; case 0x04: /* 2P inputs */ data = readinputport(5); diff -Nru base0111/src/machine/balsente.c w0111/src/machine/balsente.c --- base0111/src/machine/balsente.c 2006-03-01 06:39:15.000000000 +1300 +++ w0111/src/machine/balsente.c 2006-12-11 18:59:50.000000000 +1300 @@ -298,7 +298,7 @@ else { while (count--) - *buffer++ = rand() & 0x1000; + *buffer++ = mame_rand(Machine) & 0x1000; } /* remember the noise position */ diff -Nru base0111/src/machine/bublbobl.c w0111/src/machine/bublbobl.c --- base0111/src/machine/bublbobl.c 2006-09-12 05:52:43.000000000 +1200 +++ w0111/src/machine/bublbobl.c 2006-12-11 18:59:50.000000000 +1300 @@ -294,7 +294,7 @@ if (offset == 0) return ic43_a << 4; else - return rand() & 0xff; + return mame_rand(Machine) & 0xff; } WRITE8_HANDLER( boblbobl_ic43_a_w ) diff -Nru base0111/src/machine/generic.c w0111/src/machine/generic.c --- base0111/src/machine/generic.c 2006-11-10 05:25:40.000000000 +1300 +++ w0111/src/machine/generic.c 2006-12-11 18:59:50.000000000 +1300 @@ -358,7 +358,7 @@ { UINT8 *nvram = nvram_select(); for (i = 0; i < generic_nvram_size; i++) - nvram[i] = rand(); + nvram[i] = mame_rand(Machine); } } diff -Nru base0111/src/machine/midwayic.c w0111/src/machine/midwayic.c --- base0111/src/machine/midwayic.c 2006-10-27 05:08:43.000000000 +1300 +++ w0111/src/machine/midwayic.c 2006-12-11 18:59:50.000000000 +1300 @@ -127,8 +127,8 @@ serial_digit[7] = (serial_number / 10) % 10; serial_digit[8] = (serial_number / 1) % 10; - serial.data[12] = rand() & 0xff; - serial.data[13] = rand() & 0xff; + serial.data[12] = mame_rand(Machine) & 0xff; + serial.data[13] = mame_rand(Machine) & 0xff; serial.data[14] = 0; /* ??? */ serial.data[15] = 0; /* ??? */ diff -Nru base0111/src/machine/rainbow.c w0111/src/machine/rainbow.c --- base0111/src/machine/rainbow.c 2006-02-22 18:48:42.000000000 +1300 +++ w0111/src/machine/rainbow.c 2006-12-11 18:59:50.000000000 +1300 @@ -714,7 +714,7 @@ static void request_goalin_data(void) { - int n = rand() % 15; + int n = mame_rand(Machine) % 15; CRAM[1][0x14B] = 0x00; /* x coordinates */ CRAM[1][0x14D] = 0x10; diff -Nru base0111/src/machine/stactics.c w0111/src/machine/stactics.c --- base0111/src/machine/stactics.c 2005-04-18 14:06:38.000000000 +1200 +++ w0111/src/machine/stactics.c 2006-12-11 18:59:50.000000000 +1300 @@ -29,7 +29,7 @@ READ8_HANDLER( stactics_port_2_r ) { - return (input_port_2_r(0)&0xf0)+(stactics_vblank_count&0x08)+(rand()%8); + return (input_port_2_r(0)&0xf0)+(stactics_vblank_count&0x08)+(mame_rand(Machine)%8); } READ8_HANDLER( stactics_port_3_r ) diff -Nru base0111/src/romload.c w0111/src/romload.c --- base0111/src/romload.c 2006-11-14 15:35:16.000000000 +1300 +++ w0111/src/romload.c 2006-12-11 18:59:50.000000000 +1300 @@ -229,7 +229,7 @@ static void fill_random(UINT8 *base, UINT32 length) { while (length--) - *base++ = rand(); + *base++ = mame_rand(Machine); } diff -Nru base0111/src/sndhrdw/cinemat.c w0111/src/sndhrdw/cinemat.c --- base0111/src/sndhrdw/cinemat.c 2006-09-11 15:01:54.000000000 +1200 +++ w0111/src/sndhrdw/cinemat.c 2006-12-11 18:59:50.000000000 +1300 @@ -160,11 +160,11 @@ { /* Explosion - rising edge */ if (SOUNDVAL_RISING_EDGE(0x01)) - sample_start(0, (rand() & 1) ? 0 : 6, 0); + sample_start(0, (mame_rand(Machine) & 1) ? 0 : 6, 0); /* Fire sound - rising edge */ if (SOUNDVAL_RISING_EDGE(0x02)) - sample_start(1, (rand() & 1) ? 1 : 7, 0); + sample_start(1, (mame_rand(Machine) & 1) ? 1 : 7, 0); /* Player 1 thrust - 0=on, 1=off */ if (SOUNDVAL_FALLING_EDGE(0x04)) diff -Nru base0111/src/sndhrdw/exidy.c w0111/src/sndhrdw/exidy.c --- base0111/src/sndhrdw/exidy.c 2006-11-19 20:52:38.000000000 +1300 +++ w0111/src/sndhrdw/exidy.c 2006-12-11 18:59:50.000000000 +1300 @@ -236,7 +236,7 @@ for (i = 0; i < clocks * 2; i++) { /* keep a history of the last few noise samples */ - history = (history << 1) | (rand() & 1); + history = (history << 1) | (mame_rand(Machine) & 1); /* if we clocked 0->1, that will serve as an external clock */ if ((history & 0x03) == 0x01) diff -Nru base0111/src/sndhrdw/jaguar.c w0111/src/sndhrdw/jaguar.c --- base0111/src/sndhrdw/jaguar.c 2005-12-16 06:21:01.000000000 +1300 +++ w0111/src/sndhrdw/jaguar.c 2006-12-11 18:59:50.000000000 +1300 @@ -260,13 +260,13 @@ jaguar_wave_rom[0x200 + i] = (int)(32767. * sin(2.0 * M_PI * (double)i / (double)0x80)); /* F1DA00 = traingle wave with noise */ - jaguar_wave_rom[0x280 + i] = jaguar_wave_rom[0x000 + i] * (rand() % 32768) / 32768; + jaguar_wave_rom[0x280 + i] = jaguar_wave_rom[0x000 + i] * (mame_rand(Machine) % 32768) / 32768; /* F1DC00 = spike */ jaguar_wave_rom[0x300 + i] = (i == 0x40) ? 32767 : 0; /* F1DE00 = white noise */ - jaguar_wave_rom[0x380 + i] = rand() % 32768; + jaguar_wave_rom[0x380 + i] = mame_rand(Machine) % 32768; } #if ENABLE_SPEEDUP_HACKS diff -Nru base0111/src/sound/astrocde.c w0111/src/sound/astrocde.c --- base0111/src/sound/astrocde.c 2006-11-19 20:52:38.000000000 +1300 +++ w0111/src/sound/astrocde.c 2006-12-11 18:59:50.000000000 +1300 @@ -83,7 +83,7 @@ if (chip->current_count_N == 0) { - chip->randbyte = rand() & 0xff; + chip->randbyte = mame_rand(Machine) & 0xff; } chip->current_size_V = 32768*chip->vibrato_speed/chip->div_by_N_factor; @@ -113,7 +113,7 @@ if (chip->noise_am) { - chip->randbit = rand() & 1; + chip->randbit = mame_rand(Machine) & 1; data = data + chip->randbit*chip->vol_noise4; } diff -Nru base0111/src/sound/c6280.c w0111/src/sound/c6280.c --- base0111/src/sound/c6280.c 2006-11-19 20:52:38.000000000 +1300 +++ w0111/src/sound/c6280.c 2006-12-11 18:59:50.000000000 +1300 @@ -269,7 +269,7 @@ p->channel[ch].noise_counter += step; if(p->channel[ch].noise_counter >= 0x800) { - data = (rand() & 1) ? 0x1F : 0; + data = (mame_rand(Machine) & 1) ? 0x1F : 0; } p->channel[ch].noise_counter &= 0x7FF; buffer[0][i] += (INT16)(vll * (data - 16)); diff -Nru base0111/src/sound/disc_wav.c w0111/src/sound/disc_wav.c --- base0111/src/sound/disc_wav.c 2006-05-25 17:06:42.000000000 +1200 +++ w0111/src/sound/disc_wav.c 2006-12-11 18:59:50.000000000 +1300 @@ -495,7 +495,7 @@ /* Only sample noise on rollover to next cycle */ if(context->phase>(2.0*M_PI)) { - int newval=rand() & 0x7fff; + int newval=mame_rand(Machine) & 0x7fff; node->output=DSS_NOISE__AMP*(1-(newval/16384.0)); /* Add DC Bias component */ diff -Nru base0111/src/sound/scsplfo.c w0111/src/sound/scsplfo.c --- base0111/src/sound/scsplfo.c 2005-08-30 05:13:20.000000000 +1200 +++ w0111/src/sound/scsplfo.c 2006-12-11 18:59:50.000000000 +1300 @@ -83,7 +83,7 @@ //noise //a=lfo_noise[i]; - a=rand()&0xff; + a=mame_rand(Machine)&0xff; p=128-a; ALFO_NOI[i]=a; PLFO_NOI[i]=p; diff -Nru base0111/src/sound/tms5220.c w0111/src/sound/tms5220.c --- base0111/src/sound/tms5220.c 2006-10-17 05:29:39.000000000 +1300 +++ w0111/src/sound/tms5220.c 2006-12-11 18:59:50.000000000 +1300 @@ -625,7 +625,7 @@ else if (tms->old_pitch == 0) { /* generate unvoiced samples here */ - tms->randbit = (rand() % 2) * 2 - 1; + tms->randbit = (mame_rand(Machine) % 2) * 2 - 1; current_val = (tms->randbit * tms->current_energy) / 4; } else diff -Nru base0111/src/sound/vlm5030.c w0111/src/sound/vlm5030.c --- base0111/src/sound/vlm5030.c 2006-11-19 20:52:38.000000000 +1300 +++ w0111/src/sound/vlm5030.c 2006-12-11 18:59:50.000000000 +1300 @@ -368,7 +368,7 @@ } else if (chip->old_pitch <= 1) { /* generate unvoiced samples here */ - current_val = (rand()&1) ? chip->current_energy : -chip->current_energy; + current_val = (mame_rand(Machine)&1) ? chip->current_energy : -chip->current_energy; } else { diff -Nru base0111/src/vidhrdw/40love.c w0111/src/vidhrdw/40love.c --- base0111/src/vidhrdw/40love.c 2006-09-13 03:00:34.000000000 +1200 +++ w0111/src/vidhrdw/40love.c 2006-12-11 18:59:50.000000000 +1300 @@ -287,7 +287,7 @@ color = (spriteram[offs+2] & 0x07) + 0x08; if (spriteram[offs+2] & 0xe0) - color = rand()&0xf; + color = mame_rand(Machine)&0xf; drawgfx(bitmap,Machine->gfx[1], code, @@ -316,7 +316,7 @@ color = (spriteram_2[offs+2] & 0x07) + 0x08; if (spriteram_2[offs+2] & 0xe0) - color = rand()&0xf; + color = mame_rand(Machine)&0xf; drawgfx(bitmap,Machine->gfx[1], code, diff -Nru base0111/src/vidhrdw/atarirle.c w0111/src/vidhrdw/atarirle.c --- base0111/src/vidhrdw/atarirle.c 2006-08-13 12:34:17.000000000 +1200 +++ w0111/src/vidhrdw/atarirle.c 2006-12-11 18:59:50.000000000 +1300 @@ -877,13 +877,13 @@ for (ty = sy; ty <= ey; ty++) { - plot_pixel(bitmap1, sx, ty, rand() & 0xff); - plot_pixel(bitmap1, ex, ty, rand() & 0xff); + plot_pixel(bitmap1, sx, ty, mame_rand(Machine) & 0xff); + plot_pixel(bitmap1, ex, ty, mame_rand(Machine) & 0xff); } for (tx = sx; tx <= ex; tx++) { - plot_pixel(bitmap1, tx, sy, rand() & 0xff); - plot_pixel(bitmap1, tx, ey, rand() & 0xff); + plot_pixel(bitmap1, tx, sy, mame_rand(Machine) & 0xff); + plot_pixel(bitmap1, tx, ey, mame_rand(Machine) & 0xff); } } while (0); fprintf(stderr, " Sprite: c=%04X l=%04X h=%d X=%4d (o=%4d w=%3d) Y=%4d (o=%4d h=%d) s=%04X\n", diff -Nru base0111/src/vidhrdw/crshrace.c w0111/src/vidhrdw/crshrace.c --- base0111/src/vidhrdw/crshrace.c 2006-09-12 05:52:43.000000000 +1200 +++ w0111/src/vidhrdw/crshrace.c 2006-12-11 18:59:50.000000000 +1300 @@ -139,7 +139,7 @@ zoomx = 16 - zoomtable[zoomx]/8; zoomy = 16 - zoomtable[zoomy]/8; - if (buffered_spriteram16[attr_start + 2] & 0x20ff) color = rand(); + if (buffered_spriteram16[attr_start + 2] & 0x20ff) color = mame_rand(Machine); for (y = 0;y <= ysize;y++) { diff -Nru base0111/src/vidhrdw/darkmist.c w0111/src/vidhrdw/darkmist.c --- base0111/src/vidhrdw/darkmist.c 2006-09-14 05:56:35.000000000 +1200 +++ w0111/src/vidhrdw/darkmist.c 2006-12-11 18:59:50.000000000 +1300 @@ -198,7 +198,7 @@ palette=((spriteram[i+1])>>1)&0xf; if(spriteram[i+1]&0x1) - palette=rand()&15; + palette=mame_rand(Machine)&15; palette+=32; diff -Nru base0111/src/vidhrdw/dkong.c w0111/src/vidhrdw/dkong.c --- base0111/src/vidhrdw/dkong.c 2006-11-26 12:39:05.000000000 +1300 +++ w0111/src/vidhrdw/dkong.c 2006-12-11 18:59:50.000000000 +1300 @@ -319,7 +319,7 @@ { if (table[counter] & 0x80) /* star */ { - if (rand() & 1) /* noise coming from sound board */ + if (mame_rand(Machine) & 1) /* noise coming from sound board */ plot_pixel(bitmap,x,y,Machine->pens[256]); } else if (grid_on) /* radar */ diff -Nru base0111/src/vidhrdw/f1gp.c w0111/src/vidhrdw/f1gp.c --- base0111/src/vidhrdw/f1gp.c 2006-09-12 05:52:43.000000000 +1200 +++ w0111/src/vidhrdw/f1gp.c 2006-12-11 18:59:50.000000000 +1300 @@ -357,7 +357,7 @@ zoomx = 32 - zoomx; zoomy = 32 - zoomy; - if (f1gp2_spritelist[attr_start + 2] & 0x20ff) color = rand(); + if (f1gp2_spritelist[attr_start + 2] & 0x20ff) color = mame_rand(Machine); for (y = 0;y <= ysize;y++) { diff -Nru base0111/src/vidhrdw/galpani2.c w0111/src/vidhrdw/galpani2.c --- base0111/src/vidhrdw/galpani2.c 2006-09-14 05:56:35.000000000 +1200 +++ w0111/src/vidhrdw/galpani2.c 2006-12-11 18:59:50.000000000 +1300 @@ -36,7 +36,7 @@ { \ switch (offset * 2) \ { \ - case 0x16: return rand() & 1; \ + case 0x16: return mame_rand(Machine) & 1; \ default: \ logerror("CPU #0 PC %06X : Warning, bg8 #%d screen reg %04X read\n",activecpu_get_pc(),_n_,offset*2); \ } \ diff -Nru base0111/src/vidhrdw/macrossp.c w0111/src/vidhrdw/macrossp.c --- base0111/src/vidhrdw/macrossp.c 2006-09-12 05:52:43.000000000 +1200 +++ w0111/src/vidhrdw/macrossp.c 2006-12-11 18:59:50.000000000 +1300 @@ -43,7 +43,7 @@ break; default: - color = rand() & 7; + color = mame_rand(Machine) & 7; break; } @@ -78,7 +78,7 @@ break; default: - color = rand() & 7; + color = mame_rand(Machine) & 7; break; } @@ -113,7 +113,7 @@ break; default: - color = rand() & 7; + color = mame_rand(Machine) & 7; break; } @@ -236,7 +236,7 @@ break; default: - col = rand(); + col = mame_rand(Machine); break; } diff -Nru base0111/src/vidhrdw/sbugger.c w0111/src/vidhrdw/sbugger.c --- base0111/src/vidhrdw/sbugger.c 2006-09-13 03:00:34.000000000 +1200 +++ w0111/src/vidhrdw/sbugger.c 2006-12-11 18:59:50.000000000 +1300 @@ -53,9 +53,9 @@ for (i = 0;i < 256;i++) { - int r = rand()|0x80; - int g = rand()|0x80; - int b = rand()|0x80; + int r = mame_rand(Machine)|0x80; + int g = mame_rand(Machine)|0x80; + int b = mame_rand(Machine)|0x80; if (i == 0) r = g = b = 0; palette_set_color(machine,i*2+1,r,g,b); diff -Nru base0111/src/vidhrdw/seta2.c w0111/src/vidhrdw/seta2.c --- base0111/src/vidhrdw/seta2.c 2006-09-11 15:01:54.000000000 +1200 +++ w0111/src/vidhrdw/seta2.c 2006-12-11 18:59:50.000000000 +1300 @@ -190,7 +190,7 @@ { default: popmessage("unknown gfxset %x",(num & 0x0700)>>8); - gfx = rand()&3; break; + gfx = mame_rand(Machine)&3; break; case 0x0700: // 8bpp tiles (76543210) gfx = 3; break; case 0x0600: // 6bpp tiles (--543210) (myangel sliding blocks test) diff -Nru base0111/src/vidhrdw/stvvdp1.c w0111/src/vidhrdw/stvvdp1.c --- base0111/src/vidhrdw/stvvdp1.c 2006-11-17 16:47:32.000000000 +1300 +++ w0111/src/vidhrdw/stvvdp1.c 2006-12-11 18:59:50.000000000 +1300 @@ -982,7 +982,7 @@ transmask = 0xffff; break; default: // other settings illegal - pix = rand(); + pix = mame_rand(Machine); mode = 0; transmask = 0xff; } diff -Nru base0111/src/vidhrdw/vector.c w0111/src/vidhrdw/vector.c --- base0111/src/vidhrdw/vector.c 2006-08-18 05:31:07.000000000 +1200 +++ w0111/src/vidhrdw/vector.c 2006-12-11 18:59:50.000000000 +1300 @@ -205,7 +205,7 @@ if (flicker && (intensity > 0)) { - intensity += (intensity * (0x80-(rand()&0xff)) * flicker)>>16; + intensity += (intensity * (0x80-(mame_rand(Machine)&0xff)) * flicker)>>16; if (intensity < 0) intensity = 0; if (intensity > 0xff)