Previous 199869 Revisions Next

r20694 Sunday 3rd February, 2013 at 12:33:34 UTC by Nathan Woods
[COCO3] Mapped several IO reads to the floating bus (bug #05135)
[src/mess/video]gime.c

trunk/src/mess/video/gime.c
r20693r20694
661661      case 0x20:
662662         data = read_palette_register(offset);
663663         break;
664
665      default:
666         data = read_floating_bus();
667         break;
664668   }
665669
666670   return data;
r20693r20694
679683   UINT8 result;
680684   switch(offset)
681685   {
682      case 2: /* Read pending IRQs */
686      case 2: // read pending IRQs
683687         result = m_irq;
684688         if (result != 0x00)
685689         {
r20693r20694
688692         }
689693         break;
690694
691      case 3: /* Read pending FIRQs */
695      case 3: // read pending FIRQs
692696         result = m_firq;
693697         if (result != 0x00)
694698         {
r20693r20694
697701         }
698702         break;
699703
700      case 4: /* Timer MSB/LSB; these arn't readable */
701      case 5:
702         /* JK tells me that these values are indeterminate; and $7E appears
703          * to be the value most commonly returned
704          */
705         result = 0x7E;
704      case 14:
705      case 15:
706         // these (I guess) are readable (Mametesters bug #05135)
707         result = m_gime_registers[offset];
706708         break;
707709
708710      default:
709         result = m_gime_registers[offset];
711         // the others are not readable; read floating bus (Mametesters bug #05135)
712         result = read_floating_bus();
710713         break;
711714   }
712715   return result;
r20693r20694
720723
721724ATTR_FORCE_INLINE UINT8 gime_base_device::read_mmu_register(offs_t offset)
722725{
723   return (m_mmu[offset & 0x0F] & 0x3F);
726   return (m_mmu[offset & 0x0F] & 0x3F) | (read_floating_bus() & 0xC0);
724727}
725728
726729

Previous 199869 Revisions Next


© 1997-2024 The MAME Team