Previous 199869 Revisions Next

r21307 Friday 22nd February, 2013 at 10:57:44 UTC by Michael Zapf
ti99: Added member variable initializations. (nw)
[src/mess/machine/ti99]gromport.c gromport.h

trunk/src/mess/machine/ti99/gromport.c
r21306r21307
963963   m_ram_ptr = memregion(GKRACKER_NVRAM_TAG)->base();
964964   m_grom_ptr = memregion(GKRACKER_ROM_TAG)->base();
965965   m_cartridge = NULL;
966   m_grom_address = 0; // for the GROM emulation
967966   for (int i=1; i < 6; i++) m_gk_switch[i] = 0;
968967   m_gromport = static_cast<gromport_device*>(owner());
969968}
r21306r21307
975974   m_gk_switch[3] = ioport(GKSWITCH3_TAG)->read();
976975   m_gk_switch[4] = ioport(GKSWITCH4_TAG)->read();
977976   m_gk_switch[5] = ioport(GKSWITCH5_TAG)->read();
977   m_grom_address = 0; // for the GROM emulation
978   m_ram_page = 0;
979   m_waddr_LSB = false;
978980}
979981
980982static MACHINE_CONFIG_FRAGMENT( gkracker_slot )
r21306r21307
10971099   memory_region *regr;
10981100   memory_region *regr2;
10991101
1102   // Initialize some values.
1103   m_pcb->m_rom_page = 0;
1104   m_pcb->m_rom_ptr = NULL;
1105   m_pcb->m_rom2_ptr = NULL;
1106   m_pcb->m_ram_size = 0;
1107   m_pcb->m_ram_ptr = NULL;
1108   m_pcb->m_ram_page = 0;
1109
1110   for (int i=0; i < 5; i++) m_pcb->m_grom[i] = NULL;
1111
11001112   m_pcb->m_grom_size = m_softlist? get_software_region_length("grom_socket") : m_rpk->get_resource_length("grom_socket");
11011113   if (VERBOSE>6) LOG("gromport: grom_socket.size=0x%04x\n", m_pcb->m_grom_size);
11021114
r21306r21307
11061118      grom_ptr = m_softlist? get_software_region("grom_socket") : (UINT8*)m_rpk->get_contents_of_socket("grom_socket");
11071119      memcpy(regg->base(), grom_ptr, m_pcb->m_grom_size);
11081120      m_pcb->m_grom_ptr = regg->base();   // for gromemu
1121      m_pcb->m_grom_address = 0;          // for gromemu
11091122
11101123      // Find the GROMs and keep their pointers
11111124      m_pcb->set_grom_pointer(0, subdevice(GROM3_TAG));
r21306r21307
11221135      regr = memregion(CARTROM_TAG);
11231136      m_pcb->m_rom_ptr = m_softlist? get_software_region("rom_socket") : (UINT8*)m_rpk->get_contents_of_socket("rom_socket");
11241137      memcpy(regr->base(), m_pcb->m_rom_ptr, m_pcb->m_rom_size);
1138      // Set both pointers to the same region for now
1139      m_pcb->m_rom_ptr = m_pcb->m_rom2_ptr = regr->base();
11251140   }
11261141
11271142   rom2_length = m_softlist? get_software_region_length("rom2_socket") : m_rpk->get_resource_length("rom2_socket");
r21306r21307
11311146      regr2 = memregion(CARTROM2_TAG);
11321147      m_pcb->m_rom2_ptr = m_softlist? get_software_region("rom2_socket") : (UINT8*)m_rpk->get_contents_of_socket("rom2_socket");
11331148      memcpy(regr2->base(), m_pcb->m_rom2_ptr, rom2_length);
1149      m_pcb->m_rom2_ptr = regr2->base();
11341150   }
11351151
11361152   // NVRAM cartridges are not supported by softlists (we need to find a way to load the nvram contents first)
trunk/src/mess/machine/ti99/gromport.h
r21306r21307
191191   int     m_active_slot;
192192   int     m_fixed_slot;
193193   int     m_next_free_slot;
194   int     m_numcart;
195194   ti99_cartridge_device*  m_cartridge[NUMBER_OF_CARTRIDGE_SLOTS];
196195
197196   void    set_slot(int slotnumber);
r21306r21307
276275   UINT8*              m_rom_ptr;
277276   UINT8*              m_rom2_ptr;
278277   UINT8*              m_ram_ptr;
279   UINT8*              m_grom_ptr; // for gromemu
280
278   int                 m_rom_page;     // for some cartridge types
279   UINT8*              m_grom_ptr;     // for gromemu
280   int                 m_grom_address; // for gromemu
281   int                 m_ram_page;     // for super
281282private:
282283};
283284
r21306r21307
297298   ~ti99_paged_cartridge() { };
298299   DECLARE_READ8Z_MEMBER(readz);
299300   DECLARE_WRITE8_MEMBER(write);
300
301private:
302   int     m_rom_page;
303301};
304302
305303/********************** Mini Memory ***********************************/
r21306r21307
322320   DECLARE_WRITE8_MEMBER(write);
323321   void    crureadz(offs_t offset, UINT8 *value);
324322   void    cruwrite(offs_t offset, UINT8 data);
325
326private:
327   int     m_ram_page;
328323};
329324
330325/************************* MBX  ***************************************/
r21306r21307
335330   ~ti99_mbx_cartridge() { };
336331   DECLARE_READ8Z_MEMBER(readz);
337332   DECLARE_WRITE8_MEMBER(write);
338private:
339   int     m_rom_page;
340333};
341334
342335/********************** Paged 379i ************************************/
r21306r21307
349342   DECLARE_WRITE8_MEMBER(write);
350343private:
351344   int     get_paged379i_bank(int rompage);
352   int     m_rom_page;
353345};
354346
355347/********************** Paged CRU  ************************************/
r21306r21307
362354   DECLARE_WRITE8_MEMBER(write);
363355   void    crureadz(offs_t offset, UINT8 *value);
364356   void    cruwrite(offs_t offset, UINT8 data);
365private:
366   int     m_rom_page;
367357};
368358
369359/********************** GROM emulation cartridge  ************************************/
r21306r21307
371361class ti99_gromemu_cartridge : public ti99_cartridge_pcb
372362{
373363public:
364   ti99_gromemu_cartridge() {  m_grom_address = 0; }
374365   ~ti99_gromemu_cartridge() { };
375366   DECLARE_READ8Z_MEMBER(readz);
376367   DECLARE_WRITE8_MEMBER(write);
377368   DECLARE_READ8Z_MEMBER(gromemureadz);
378369   DECLARE_WRITE8_MEMBER(gromemuwrite);
379370private:
380   int     m_rom_page;
381   int     m_grom_address;
382371   bool    m_waddr_LSB;
383372};
384373

Previous 199869 Revisions Next


© 1997-2024 The MAME Team