branches/alto2/src/emu/cpu/alto2/alto2.c
| r26202 | r26203 | |
| 961 | 961 | // decode constant PROMs to const data |
| 962 | 962 | m_const_data = prom_load(pl_const, memregion("const_proms")->base(), 1, 4); |
| 963 | 963 | |
| 964 | for (UINT32 offs = 0; offs < 256; offs++) { |
| 965 | UINT16 cdata = m_const->read_word(m_const->address_to_byte(offs)); |
| 966 | printf("%04o: %06o\n", offs, cdata); |
| 967 | } |
| 968 | |
| 964 | 969 | m_disp_a38 = prom_load(&pl_displ_a38, memregion("displ_a38")->base()); |
| 965 | 970 | m_disp_a63 = prom_load(&pl_displ_a63, memregion("displ_a63")->base()); |
| 966 | 971 | m_disp_a66 = prom_load(&pl_displ_a66, memregion("displ_a66")->base()); |
| r26202 | r26203 | |
| 2690 | 2695 | */ |
| 2691 | 2696 | if (!do_bs || bs >= 4) { |
| 2692 | 2697 | int addr = 8 * m_rsel + bs; |
| 2693 | | UINT16 data = m_const->read_dword(m_const->address_to_byte(addr)); |
| 2694 | | LOG((LOG_CPU,2," %#o; BUS &= CONST[%03o]\n", data, addr)); |
| 2698 | // There is something going wrong with using: |
| 2699 | // m_const->read_word(m_const->address_to_byte(addr)); |
| 2700 | // because for addr=0160 it returns const[0161] instead of const[0160] |
| 2701 | // For now fall back to reading the const data from the byte array |
| 2702 | UINT16 data = m_const_data[2*addr+0] | (m_const_data[2*addr+1] << 8); |
| 2695 | 2703 | m_bus &= data; |
| 2704 | LOG((LOG_CPU,2," %#o; BUS &= %#o CONST[%03o]\n", m_bus, data, addr)); |
| 2696 | 2705 | } |
| 2697 | 2706 | |
| 2698 | 2707 | /* |