branches/alto2/src/emu/cpu/alto2/alto2.c
| r26253 | r26254 | |
| 1250 | 1250 | *reinterpret_cast<UINT32 *>(m_ucode_cram + offset * 4) = data; |
| 1251 | 1251 | } |
| 1252 | 1252 | |
| 1253 | | #define RD_CROM(addr) crom_r(space(AS_0), addr, 0xffffffff) |
| 1254 | | #define RD_CRAM(addr) cram_r(space(AS_0), addr, 0xffffffff) |
| 1255 | | #define WR_CRAM(addr,data) cram_w(space(AS_0), addr, data) |
| 1253 | //! direct read access to the microcode CROM |
| 1254 | #define RD_CROM(addr) (*reinterpret_cast<UINT32 *>(m_ucode_crom + addr * 4)) |
| 1255 | //! direct read access to the microcode CRAM |
| 1256 | #define RD_CRAM(addr) (*reinterpret_cast<UINT32 *>(m_ucode_cram + addr * 4)) |
| 1257 | //! direct write access to the microcode CRAM |
| 1258 | #define WR_CRAM(addr,data) do { \ |
| 1259 | *reinterpret_cast<UINT32 *>(m_ucode_cram + addr * 4) = data; \ |
| 1260 | } while (0) |
| 1256 | 1261 | |
| 1257 | 1262 | //! read constants PROM |
| 1258 | 1263 | READ16_MEMBER ( alto2_cpu_device::const_r ) |
| r26253 | r26254 | |
| 2191 | 2196 | LOG((LOG_CPU,0," rdram: ROM [%05o] ", addr)); |
| 2192 | 2197 | } else { |
| 2193 | 2198 | /* read RAM 0,1,2 */ |
| 2194 | | addr = ALTO2_UCODE_RAM_BASE + bank * ALTO2_UCODE_PAGE_SIZE + wordaddr; |
| 2199 | addr = bank * ALTO2_UCODE_PAGE_SIZE + wordaddr; |
| 2195 | 2200 | LOG((LOG_CPU,0," rdram: RAM%d [%04o] ", bank, wordaddr)); |
| 2196 | 2201 | } |
| 2197 | 2202 | |
| 2198 | | if (addr >= ALTO2_UCODE_SIZE) { |
| 2203 | if (ALTO2_UCODE_RAM_BASE + addr >= ALTO2_UCODE_SIZE) { |
| 2199 | 2204 | val = 0177777; /* ??? */ |
| 2200 | 2205 | LOG((LOG_CPU,0,"invalid address (%06o)\n", val)); |
| 2201 | 2206 | return; |
| r26253 | r26254 | |
| 2230 | 2235 | m_wrtram_flag = 0; |
| 2231 | 2236 | |
| 2232 | 2237 | /* write RAM 0,1,2 */ |
| 2233 | | addr = ALTO2_UCODE_RAM_BASE + bank * ALTO2_UCODE_PAGE_SIZE + wordaddr; |
| 2238 | addr = bank * ALTO2_UCODE_PAGE_SIZE + wordaddr; |
| 2234 | 2239 | LOG((LOG_CPU,0," wrtram: RAM%d [%04o] upper:%06o lower:%06o", bank, wordaddr, m_m, m_alu)); |
| 2235 | | if (addr >= ALTO2_UCODE_SIZE) { |
| 2240 | if (ALTO2_UCODE_RAM_BASE + addr >= ALTO2_UCODE_SIZE) { |
| 2236 | 2241 | LOG((LOG_CPU,0," invalid address\n")); |
| 2237 | 2242 | return; |
| 2238 | 2243 | } |