Previous 199869 Revisions Next

r24657 Friday 2nd August, 2013 at 13:51:26 UTC by Michael Zapf
(MESS) ti99: Safety check for special cartridges (nw)
[src/mess/machine/ti99]gromport.c

trunk/src/mess/machine/ti99/gromport.c
r24656r24657
15221522   {
15231523      if ((offset & 0x1000)==0x0000)
15241524      {
1525         *value = m_rom_ptr[offset & 0x0fff];
1525         if (m_rom_ptr!=NULL)    // Super-Minimem seems to have no ROM
1526         {
1527            *value = m_rom_ptr[offset & 0x0fff];
1528         }
15261529      }
15271530      else
15281531      {
r24656r24657
18611864     rxbv555 (repeating reset on Master Title Screen)
18621865     superxb (lockup, fix: add RAM at 7c00)
18631866
1867  Super-MiniMemory is also included here. We assume a RAM area at addresses
1868  7000-7fff for this cartridge.
1869
18641870******************************************************************************/
18651871
18661872READ8Z_MEMBER(ti99_gromemu_cartridge::readz)
r24656r24657
18691875      gromemureadz(space, offset, value, mem_mask);
18701876   else
18711877   {
1878      if (m_ram_ptr != NULL)
1879      {
1880         // Variant of the cartridge which emulates MiniMemory. We don't introduce
1881         // another type for this single cartridge.
1882         if ((offset & 0x1fff)==0x1000) {
1883            *value = m_ram_ptr[offset & 0x0fff];
1884            return;
1885         }
1886      }
1887
18721888      if (m_rom_ptr == NULL) return;
18731889      if (m_rom_page==0)
18741890      {
r24656r24657
18881904      gromemuwrite(space, offset, data, mem_mask);
18891905
18901906   else {
1907      if (m_ram_ptr != NULL)
1908      {
1909         // Lines for Super-Minimem; see above
1910         if ((offset & 0x1fff)==0x1000) {
1911            m_ram_ptr[offset & 0x0fff] = data;
1912         }
1913         return; // no paging
1914      }
1915
18911916      m_rom_page = (offset >> 1) & 1;
18921917   }
18931918}

Previous 199869 Revisions Next


© 1997-2024 The MAME Team