trunk/src/mess/machine/ti99/gromport.c
| r24656 | r24657 | |
| 1522 | 1522 | { |
| 1523 | 1523 | if ((offset & 0x1000)==0x0000) |
| 1524 | 1524 | { |
| 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 | } |
| 1526 | 1529 | } |
| 1527 | 1530 | else |
| 1528 | 1531 | { |
| r24656 | r24657 | |
| 1861 | 1864 | rxbv555 (repeating reset on Master Title Screen) |
| 1862 | 1865 | superxb (lockup, fix: add RAM at 7c00) |
| 1863 | 1866 | |
| 1867 | Super-MiniMemory is also included here. We assume a RAM area at addresses |
| 1868 | 7000-7fff for this cartridge. |
| 1869 | |
| 1864 | 1870 | ******************************************************************************/ |
| 1865 | 1871 | |
| 1866 | 1872 | READ8Z_MEMBER(ti99_gromemu_cartridge::readz) |
| r24656 | r24657 | |
| 1869 | 1875 | gromemureadz(space, offset, value, mem_mask); |
| 1870 | 1876 | else |
| 1871 | 1877 | { |
| 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 | |
| 1872 | 1888 | if (m_rom_ptr == NULL) return; |
| 1873 | 1889 | if (m_rom_page==0) |
| 1874 | 1890 | { |
| r24656 | r24657 | |
| 1888 | 1904 | gromemuwrite(space, offset, data, mem_mask); |
| 1889 | 1905 | |
| 1890 | 1906 | 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 | |
| 1891 | 1916 | m_rom_page = (offset >> 1) & 1; |
| 1892 | 1917 | } |
| 1893 | 1918 | } |