Previous 199869 Revisions Next

r26203 Saturday 16th November, 2013 at 18:26:15 UTC by Jürgen Buchmüller
Now the micro code reads the first page to memory. There's something wrong with the memory region address to byte address conversion.
[/branches/alto2/src/emu/cpu/alto2]alto2.c

branches/alto2/src/emu/cpu/alto2/alto2.c
r26202r26203
961961   // decode constant PROMs to const data
962962   m_const_data = prom_load(pl_const, memregion("const_proms")->base(), 1, 4);
963963
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
964969   m_disp_a38 = prom_load(&pl_displ_a38, memregion("displ_a38")->base());
965970   m_disp_a63 = prom_load(&pl_displ_a63, memregion("displ_a63")->base());
966971   m_disp_a66 = prom_load(&pl_displ_a66, memregion("displ_a66")->base());
r26202r26203
26902695       */
26912696      if (!do_bs || bs >= 4) {
26922697         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);
26952703         m_bus &= data;
2704         LOG((LOG_CPU,2,"   %#o; BUS &= %#o CONST[%03o]\n", m_bus, data, addr));
26962705      }
26972706
26982707      /*

Previous 199869 Revisions Next


© 1997-2024 The MAME Team