Previous 199869 Revisions Next

r18185 Friday 28th September, 2012 at 04:41:55 UTC by Fabio Priuli
(MESS) vboy.c: simplified SRAM handling with softlists. no whatsnew.
[hash]vboy.xml
[src/mess/drivers]vboy.c

trunk/hash/vboy.xml
r18184r18185
6565      <publisher>Nintendo</publisher>
6666      <info name="serial" value="VUE-VVGE-USA"/>
6767      <info name="release" value="199511xx"/>
68      <sharedfeat name="eeprom" value="Yes"/>
6968      <part name="cart" interface="vboy_cart">
7069         <dataarea name="rom" size="2097152">
7170            <rom name="golf (usa).bin" size="2097152" crc="2199af41" sha1="23ce3c174789cdd306497d86cb2c4e76ba8b06e5" offset="000000" />
7271         </dataarea>
72         <dataarea name="eeprom" size="0x10000">
73         </dataarea>
7374      </part>
7475   </software>
7576
r18184r18185
278279      <publisher>Nintendo</publisher>
279280      <info name="serial" value="VUE-VTBJ-JPN, VUE-VTBJ-USA"/>
280281      <info name="release" value="19950721 (JPN), 19950814 (USA)"/>
281      <sharedfeat name="eeprom" value="Yes"/>
282282      <part name="cart" interface="vboy_cart">
283283         <dataarea name="rom" size="2097152">
284284            <rom name="teleroboxer (japan, usa).bin" size="1048576" crc="36103000" sha1="c59e020f9674774c5cbc022317ebba0eb1d744f7" offset="000000" />
285285            <rom size="1048576" offset="0x100000" loadflag="reload" />
286286         </dataarea>
287         <dataarea name="eeprom" size="0x10000">
288         </dataarea>
287289      </part>
288290   </software>
289291
r18184r18185
326328      <publisher>Pack-In-Video</publisher>
327329      <info name="serial" value="VUE-VVFJ-JPN"/>
328330      <info name="release" value="19951016"/>
329      <sharedfeat name="eeprom" value="Yes"/>
330331      <part name="cart" interface="vboy_cart">
331332         <dataarea name="rom" size="2097152">
332333            <rom name="virtual fishing (japan).bin" size="1048576" crc="526cc969" sha1="583b409b7215159219d08e789db46140062095f2" offset="000000" />
333334            <rom size="1048576" offset="0x100000" loadflag="reload" />
334335         </dataarea>
336         <dataarea name="eeprom" size="0x10000">
337         </dataarea>
335338      </part>
336339   </software>
337340
r18184r18185
372375      <publisher>T&amp;E Soft</publisher>
373376      <info name="serial" value="VUE-VVGJ-JPN"/>
374377      <info name="release" value="19950811"/>
375      <sharedfeat name="eeprom" value="Yes"/>
376378      <part name="cart" interface="vboy_cart">
377379         <dataarea name="rom" size="2097152">
378380            <rom name="t&amp;e virtual golf (japan).bin" size="2097152" crc="6ba07915" sha1="c595285d42c69f14b2b418c1edfbe4a7f9a624b6" offset="000000" />
379381         </dataarea>
382         <dataarea name="eeprom" size="0x10000">
383         </dataarea>
380384      </part>
381385   </software>
382386
r18184r18185
449453      <publisher>Nintendo</publisher>
450454      <info name="serial" value="VUE-VWCJ-JPN, VUE-VWCJ-USA"/>
451455      <info name="release" value="19951201 (JPN), 199511xx (USA)"/>
452      <sharedfeat name="eeprom" value="Yes"/>
453456      <part name="cart" interface="vboy_cart">
454457         <dataarea name="rom" size="2097152">
455458            <rom name="virtual boy wario land (japan, usa).bin" size="2097152" crc="133e9372" sha1="274c328fbd904f20e69172ab826bf8f94ced1bdb" offset="000000" />
456459         </dataarea>
460         <dataarea name="eeprom" size="0x10000">
461         </dataarea>
457462      </part>
458463   </software>
459464
r18184r18185
464469      <publisher>Ocean</publisher>
465470      <info name="serial" value="VUE-VWEE-USA"/>
466471      <info name="release" value="19951221"/>
467      <sharedfeat name="eeprom" value="No"/>
468472      <part name="cart" interface="vboy_cart">
469473         <dataarea name="rom" size="2097152">
470474            <rom name="waterworld (usa).bin" size="2097152" crc="82a95e51" sha1="dcc46484bd0acab0ac1ea178f425a0f5ccfb8dc2" offset="000000" />
trunk/src/mess/drivers/vboy.c
r18184r18185
13341334   GFXDECODE_ENTRY( "pcg",     0x00000, vboy_pcg_8x8,      0, 1 )
13351335GFXDECODE_END
13361336
1337struct vboy_pcb
1338{
1339   const char              *pcb_name;
1340   int                     pcb_id;
1341};
1342
13431337READ32_MEMBER(vboy_state::sram_r)
13441338{
13451339   return m_vboy_sram[offset];
r18184r18185
13501344   COMBINE_DATA(&m_vboy_sram[offset]);
13511345}
13521346
1353#define VBOY_CHIP_NONE 0
1354#define   VBOY_CHIP_SRAM 1
13551347
1356static const vboy_pcb pcb_list[] =
1357{
1358   {"No",    VBOY_CHIP_NONE},
1359   {"Yes",   VBOY_CHIP_SRAM}
1360};
1361
1362
1363static int vboy_get_pcb_id(const char *pcb)
1364{
1365   int   i;
1366
1367   for (i = 0; i < ARRAY_LENGTH(pcb_list); i++)
1368   {
1369      if (!mame_stricmp(pcb_list[i].pcb_name, pcb))
1370         return pcb_list[i].pcb_id;
1371   }
1372
1373   return 0;
1374}
1375
1376
13771348static DEVICE_IMAGE_LOAD( vboy_cart )
13781349{
13791350   vboy_state *state = image.device().machine().driver_data<vboy_state>();
r18184r18185
13891360   }
13901361   else
13911362   {
1392      const char *pcb_name;
13931363      cart_size = image.get_software_region_length("rom");
13941364      memcpy(ROM, image.get_software_region("rom"), cart_size);
13951365
1396      pcb_name = image.get_feature("eeprom");
1397      if (pcb_name == NULL)
1398         chip = 0;
1399      else
1400         chip = vboy_get_pcb_id(pcb_name);
1401
1366      UINT8 *tmp_eeprom = image.get_software_region("eeprom");
1367      if (tmp_eeprom)
1368         chip = 1;
14021369   }
14031370
1404   if(chip & VBOY_CHIP_SRAM)
1371   if (chip)
14051372   {
14061373      state->m_nvptr = (UINT8 *)&state->m_vboy_sram;
14071374

Previous 199869 Revisions Next


© 1997-2024 The MAME Team