Previous 15994 Revisions Next

r9891 Sunday 2nd January, 2011 at 20:44:05 UTC by MooglyGuy
[N64] Turned on MIPS3_COMPATIBLE_OPTIONS in the N64's MIPS3 DRC, fixes polystorm issues in many games. [Harmony]
[src/mame/machine]n64.c

src/mame/machine/n64.c
r9890r9891
5757
5858WRITE32_HANDLER( n64_mi_reg_w )
5959{
60   //printf("MI %08x %08x\n", offset, data);
6061   switch (offset)
6162   {
6263      case 0x00/4:      // MI_INIT_MODE_REG
r9890r9891
277278
278279WRITE32_HANDLER( n64_rdram_reg_w )
279280{
281   //printf("RD %08x %08x\n", offset, data);
282
280283    switch (offset)
281284    {
282285        case 0x00/4:            // RDRAM_CONFIG_REG / RDRAM_DEVICE_TYPE_REG
r9890r9891
509512
510513WRITE32_DEVICE_HANDLER( n64_sp_reg_w )
511514{
515   //printf("SP %08x %08x\n", offset, data);
516
512517   if ((offset & 0x10000) == 0)
513518   {
514519      switch (offset & 0xffff)
r9890r9891
760765
761766WRITE32_DEVICE_HANDLER( n64_dp_reg_w )
762767{
768   //printf("DP %08x %08x\n", offset, data);
769
763770   _n64_state *state = device->machine->driver_data<_n64_state>();
764771
765772   //printf("%08x: %08x\n", offset, data);
r9890r9891
923930{
924931   _n64_state *state = space->machine->driver_data<_n64_state>();
925932
933   //printf("VI %08x %08x\n", offset, data);
926934   switch (offset)
927935   {
928936      case 0x00/4:      // VI_CONTROL_REG
r9890r9891
11791187{
11801188//  UINT16 *ram = (UINT16*)rdram;
11811189
1190   //printf("AI %08x %08x\n", offset, data);
11821191    switch (offset)
11831192    {
11841193        case 0x00/4:        // AI_DRAM_ADDR_REG
11851194//          mame_printf_debug("ai_dram_addr = %08X at %08X\n", data, cpu_get_pc(space->cpu));
1186            ai_dram_addr = data & 0xffffff;
1195            ai_dram_addr = data & 0xfffff8;
11871196            break;
11881197
11891198        case 0x04/4:        // AI_LEN_REG
11901199//          mame_printf_debug("ai_len = %08X at %08X\n", data, cpu_get_pc(space->cpu));
1191            ai_len = data & 0x3ffff;        // Hardware v2.0 has 18 bits, v1.0 has 15 bits
1200            ai_len = data & 0x3fff8;        // Hardware v2.0 has 18 bits, v1.0 has 15 bits
11921201            audio_fifo_push(space->machine, ai_dram_addr, ai_len);
11931202            break;
11941203
r9890r9891
12821291
12831292WRITE32_HANDLER( n64_pi_reg_w )
12841293{
1294   //printf("PI %08x %08x\n", offset, data);
1295
12851296   switch (offset)
12861297   {
12871298      case 0x00/4:      // PI_DRAM_ADDR_REG
r9890r9891
14621473WRITE32_HANDLER( n64_ri_reg_w )
14631474{
14641475    //printf( "n64_ri_reg_w: 0x%02x/4 = %08x (%08x)\n", offset << 2, data, mem_mask );
1476   //printf("RI %08x %08x\n", offset, data);
14651477   switch (offset)
14661478   {
14671479        case 0x00/4: // RI_MODE_REG
r9890r9891
19381950
19391951WRITE32_HANDLER( n64_si_reg_w )
19401952{
1953   //printf("SI %08x %08x\n", offset, data);
1954
19411955   switch (offset)
19421956   {
19431957      case 0x00/4:      // SI_DRAM_ADDR_REG
r9890r9891
20162030
20172031MACHINE_START( n64 )
20182032{
2019   mips3drc_set_options(machine->device("maincpu"), MIPS3DRC_FASTEST_OPTIONS + MIPS3DRC_STRICT_VERIFY);
2033   mips3drc_set_options(machine->device("maincpu"), MIPS3DRC_COMPATIBLE_OPTIONS);
20202034
20212035   /* configure fast RAM regions for DRC */
20222036   mips3drc_add_fastram(machine->device("maincpu"), 0x00000000, 0x007fffff, FALSE, rdram);

Previous 15994 Revisions Next


© 1998-2018 The MESS Team