Previous 199869 Revisions Next

r23851 Friday 21st June, 2013 at 20:15:56 UTC by Michael Zapf
(MESS) ti99: Proper initialization of 32K mem (nw)
[src/mess/machine/ti99]datamux.c ti32kmem.c

trunk/src/mess/machine/ti99/ti32kmem.c
r23850r23851
5858   }
5959   if (access)
6060   {
61      if ((offset&1)!=1) *value = ~val;
62      else *value = val;
61      // There is no evidence for an inverted write on the even addresses;
62      // we assume that the FF00 byte sequence in this memory is a power-on
63      // artifact.
64
65      /* if ((offset&1)!=1) *value = ~val;
66      else */
67      *value = val;
6368   }
6469}
6570
6671WRITE8_MEMBER(ti_32k_expcard_device::write)
6772{
6873   UINT8 data1 = data;
69   if ((offset&1)!=1) data1 = ~data;
74   // if ((offset&1)!=1) data1 = ~data;
7075   switch((offset & 0xe000)>>13)
7176   {
7277   case 1:
r23850r23851
103108{
104109   m_ram_ptr = memregion(RAMREGION)->base();
105110   m_cru_base = 0;
111   // See above. Preset the memory with FF00
112   // ROM_FILL does not seem to allow filling with an alternating pattern
113   for (int i=0; i < 0x8000; i+=2)
114   {
115      m_ram_ptr[i] = (UINT8)0xff;
116   }
106117}
107118
108119ROM_START( ti_exp_32k )
trunk/src/mess/machine/ti99/datamux.c
r23850r23851
249249   m_use32k = (ioport("RAM")->read()==1);
250250
251251   // better use a region?
252   if (m_ram16b==NULL) m_ram16b = (UINT16*)malloc(32768);
252   if (m_ram16b==NULL)
253   {
254      m_ram16b = (UINT16*)malloc(32768);
255      memset(m_ram16b, 0, 32768);
256   }
253257
254258   // Now building the list of active devices at this databus multiplex.
255259   // We allow for turning off devices according to configuration switch settings.

Previous 199869 Revisions Next


© 1997-2024 The MAME Team