Previous 199869 Revisions Next

r21641 Wednesday 6th March, 2013 at 15:32:01 UTC by Fabio Priuli
added a missing open bus case... nw.
[src/mame/machine]snes.c

trunk/src/mame/machine/snes.c
r21640r21641
689689      value = state->snes_r_io(space, address);
690690   else if (address < 0x8000)
691691   {
692      logerror("(PC=%06x) snes_r_bank1: Unmapped external chip read: %04x\n",space.device().safe_pc(),address);
692      logerror("(PC=%06x) snes_r_bank1: Unmapped external chip read: %04x\n", space.device().safe_pc(), address);
693693      value = snes_open_bus_r(space, 0);                              /* Reserved */
694694   }
695695   else
r21640r21641
720720      }
721721      else
722722      {
723         logerror( "(PC=%06x) snes_r_bank2: Unmapped external chip read: %04x\n",space.device().safe_pc(),address );
723         logerror("(PC=%06x) snes_r_bank2: Unmapped external chip read: %04x\n", space.device().safe_pc(), address );
724724         value = snes_open_bus_r(space, 0);
725725      }
726726   }
r21640r21641
739739
740740   if (state->m_cart[0].mode & 5)  /* Mode 20 & 22 */
741741   {
742      if ((address < 0x8000) && (state->m_cart[0].mode == SNES_MODE_20))
742      if (address < 0x8000 && state->m_cart[0].mode == SNES_MODE_20)
743743         value = snes_open_bus_r(space, 0);                          /* Reserved */
744744      else
745745         value = snes_ram[0x400000 + offset];    //ROM
r21640r21641
763763         value = snes_ram[0x600000 + offset];    //ROM
764764      else
765765      {
766         logerror("(PC=%06x) snes_r_bank4: Unmapped external chip read: %04x\n",space.device().safe_pc(),address);
766         logerror("(PC=%06x) snes_r_bank4: Unmapped external chip read: %04x\n", space.device().safe_pc(), address);
767767         value = snes_open_bus_r(space, 0);                          /* Reserved */
768768      }
769769   }
r21640r21641
780780   UINT8 value;
781781   UINT16 address = offset & 0xffff;
782782
783   if ((state->m_cart[0].mode & 5) && (address < 0x8000))     /* Mode 20 & 22 */
783   if (state->m_cart[0].mode & 5 && address < 0x8000)     /* Mode 20 & 22 */
784784   {
785785      if (state->m_cart[0].m_nvram_size > 0x8000)
786786      {
r21640r21641
796796      }
797797      else
798798      {
799         logerror("(PC=%06x) snes_r_bank5: Unmapped external chip read: %04x\n",space.device().safe_pc(),address);
799         logerror("(PC=%06x) snes_r_bank5: Unmapped external chip read: %04x\n", space.device().safe_pc(), address);
800800         value = snes_open_bus_r(space, 0);                              /* Reserved */
801801      }
802802   }
r21640r21641
844844            int mask = state->m_cart[0].m_nvram_size - 1;   /* Limit SRAM size to what's actually present */
845845            value = state->m_cart[0].m_nvram[offset & mask];
846846         }
847         else
848         {
849            logerror("(PC=%06x) snes_r_bank7: Unmapped external chip read: %04x\n", space.device().safe_pc(), address);
850            value = snes_open_bus_r(space, 0);                              /* Reserved */
851         }
847852      }
848853   }
849854   else
r21640r21641
864869   else if (address < 0x6000)                      /* I/O */
865870      state->snes_w_io(space, address, data);
866871   else if (address < 0x8000)
867      logerror("snes_w_bank1: Attempt to write to reserved address: %x = %02x\n", offset, data);
872      logerror("(PC=%06x) snes_w_bank1: Attempt to write to reserved address: %x = %02x\n", space.device().safe_pc(), offset, data);
868873   else
869      logerror( "(PC=%06x) Attempt to write to ROM address: %X\n",space.device().safe_pc(),offset );
874      logerror("(PC=%06x) Attempt to write to ROM address: %X\n", space.device().safe_pc(), offset);
870875}
871876
872877/* 0x300000 - 0x3fffff */
r21640r21641
889894         state->m_cart[0].m_nvram[(offset - 0x6000) & mask] = data;
890895      }
891896      else
892         logerror("snes_w_bank2: Attempt to write to reserved address: %X = %02x\n", offset + 0x300000, data);
897         logerror("(PC=%06x) snes_w_bank2: Attempt to write to reserved address: %X = %02x\n", space.device().safe_pc(), offset + 0x300000, data);
893898   }
894899   else
895      logerror("(PC=%06x) Attempt to write to ROM address: %X\n",space.device().safe_pc(),offset + 0x300000);
900      logerror("(PC=%06x) Attempt to write to ROM address: %X\n", space.device().safe_pc(), offset + 0x300000);
896901}
897902
898903/* 0x600000 - 0x6fffff */
r21640r21641
904909   if (state->m_cart[0].mode & 5)                 /* Mode 20 & 22 */
905910   {
906911      if (address >= 0x8000)
907         logerror("(PC=%06x) Attempt to write to ROM address: %X\n",space.device().safe_pc(),offset + 0x600000);
912         logerror("(PC=%06x) Attempt to write to ROM address: %X\n", space.device().safe_pc(), offset + 0x600000);
908913      else
909         logerror("snes_w_bank4: Attempt to write to reserved address: %X = %02x\n", offset + 0x600000, data);
914         logerror("(PC=%06x) snes_w_bank4: Attempt to write to reserved address: %X = %02x\n", space.device().safe_pc(), offset + 0x600000, data);
910915   }
911916   else if (state->m_cart[0].mode & 0x0a)
912      logerror("(PC=%06x) Attempt to write to ROM address: %X\n",space.device().safe_pc(),offset + 0x600000);
917      logerror("(PC=%06x) Attempt to write to ROM address: %X\n", space.device().safe_pc(), offset + 0x600000);
913918}
914919
915920/* 0x700000 - 0x7dffff */
r21640r21641
918923   snes_state *state = space.machine().driver_data<snes_state>();
919924   UINT16 address = offset & 0xffff;
920925
921   if ((state->m_cart[0].mode & 5) && (address < 0x8000)       /* Mode 20 & 22 */
926   if (state->m_cart[0].mode & 5 && address < 0x8000)       /* Mode 20 & 22 */
922927   {
923928      if (state->m_cart[0].m_nvram_size > 0x8000)
924929      {
r21640r21641
933938         state->m_cart[0].m_nvram[offset & mask] = data;
934939      }
935940      else
936         logerror("snes_w_bank5: Attempt to write to reserved address: %X = %02x\n", offset + 0x700000, data);
941         logerror("(PC=%06x) snes_w_bank5: Attempt to write to reserved address: %X = %02x\n", space.device().safe_pc(), offset + 0x700000, data);
937942   }
938   else if (state->m_cart[0].mode & 0x0a)
939      logerror("(PC=%06x) Attempt to write to ROM address: %X\n",space.device().safe_pc(),offset + 0x700000);
943   else
944      logerror("(PC=%06x) Attempt to write to ROM address: %X\n", space.device().safe_pc(), offset + 0x700000);
940945}
941946
942947
r21640r21641
946951   if ((offset & 0xffff) < 0x8000)
947952      space.write_byte(offset, data);
948953   else
949      logerror("(PC=%06x) Attempt to write to ROM address: %X\n",space.device().safe_pc(),offset + 0x800000);
954      logerror("(PC=%06x) Attempt to write to ROM address: %X\n", space.device().safe_pc(), offset + 0x800000);
950955}
951956
952957
r21640r21641
975980            return;
976981         }
977982      }
978      logerror("(PC=%06x) snes_w_bank7: Attempt to write to ROM address: %X = %02x\n",space.device().safe_pc(),offset + 0xc00000, data);
983      else
984         logerror("(PC=%06x) snes_w_bank7: Attempt to write to ROM address: %X = %02x\n", space.device().safe_pc(), offset + 0xc00000, data);
979985   }
980986   else if (state->m_cart[0].mode & 0x0a)
981      logerror("(PC=%06x) Attempt to write to ROM address: %X\n",space.device().safe_pc(),offset + 0xc00000);
987      logerror("(PC=%06x) Attempt to write to ROM address: %X\n", space.device().safe_pc(), offset + 0xc00000);
982988}
983989
984990

Previous 199869 Revisions Next


© 1997-2024 The MAME Team