Previous 199869 Revisions Next

r32552 Sunday 5th October, 2014 at 13:19:44 UTC by Fabio Priuli
(MESS) wswan.c: re-added internal header logging and automatic
rotation of vertical games. nw.
[hash]wscolor.xml wswan.xml
[src/emu/bus/wswan]rom.c slot.c slot.h

trunk/hash/wscolor.xml
r32551r32552
1212      <info name="alt_title" value="アナザヘヴン ~memory of those days~"/>
1313      <part name="cart" interface="wswan_cart">
1414         <feature name="slot" value="ws_eeprom" />
15         <feature name="rotated" value="yes" />
1516         <dataarea name="rom" size="4194304">
1617            <rom name="swj-ommc03.bin" size="4194304" crc="d7a0ab74" sha1="caf4a8de853ded732b2a72619acf2784eeceafc7" offset="000000" />
1718         </dataarea>
r32551r32552
190191      <info name="alt_title" value="デジタルモンスター カードゲーム バージョン ワンダースワンカラー"/>
191192      <part name="cart" interface="wswan_cart">
192193         <feature name="slot" value="ws_eeprom" />
194         <feature name="rotated" value="yes" />
193195         <dataarea name="rom" size="4194304">
194196            <rom name="swj-banc22.bin" size="4194304" crc="603cb5e6" sha1="ba16a0770f7a71dd49e2879799fd04a4f04f7e60" offset="000000" />
195197         </dataarea>
r32551r32552
639641      <info name="alt_title" value="グンペイEX"/>
640642      <part name="cart" interface="wswan_cart">
641643         <feature name="slot" value="ws_eeprom" />
644         <feature name="rotated" value="yes" />
642645         <dataarea name="rom" size="1048576">
643646            <rom name="swj-banc02.bin" size="1048576" crc="0c9cb12c" sha1="1eb729aa9ab0a7df6f8a3470a6fede59d7622d4a" offset="000000" />
644647         </dataarea>
r32551r32552
801804      <part name="cart" interface="wswan_cart">
802805         <feature name="slot" value="ws_sram" />
803806         <feature name="rtc" value="yes" />
807         <feature name="rotated" value="yes" />
804808         <dataarea name="rom" size="524288">
805809            <rom name="judgement silversword - rebirth edition (japan) (rev 4321).bin" size="524288" crc="60191872" sha1="657aea8377e207b9b5a182b13966a27f46633640" offset="000000" />
806810         </dataarea>
r32551r32552
818822      <part name="cart" interface="wswan_cart">
819823         <feature name="slot" value="ws_sram" />
820824         <feature name="rtc" value="yes" />
825         <feature name="rotated" value="yes" />
821826         <dataarea name="rom" size="524288">
822827            <rom name="judgement silversword - rebirth edition (japan) (rev sc21).bin" size="524288" crc="4fce380d" sha1="a1d910123b6be0b941f699ef70c745d16350d029" offset="000000" />
823828         </dataarea>
r32551r32552
872877      <info name="alt_title" value="くるパラ!"/>
873878      <part name="cart" interface="wswan_cart">
874879         <feature name="slot" value="ws_eeprom" />
880         <feature name="rotated" value="yes" />
875881         <dataarea name="rom" size="2097152">
876882            <rom name="swj-tmcc01.bin" size="2097152" crc="274719f5" sha1="9942d1b7d1c00126b9891e560e6a3e264f8fdc2e" offset="000000" />
877883         </dataarea>
r32551r32552
890896      <info name="alt_title" value="ラストアライブ"/>
891897      <part name="cart" interface="wswan_cart">
892898         <feature name="slot" value="ws_eeprom" />
899         <feature name="rotated" value="yes" />
893900         <dataarea name="rom" size="4194304">
894901            <rom name="swj-banc15.bin" size="4194304" crc="da4479bf" sha1="b019f41207e396d9fe3509dccdbe1cc6e7ac46bb" offset="000000" />
895902         </dataarea>
r32551r32552
962969      <info name="alt_title" value="サウンドコミック - 三毛猫ホームズ ゴーストパニック"/>
963970      <part name="cart" interface="wswan_cart">
964971         <feature name="slot" value="ws_eeprom" />
972         <feature name="rotated" value="yes" />
965973         <dataarea name="rom" size="4194304">
966974            <rom name="swj-kbsc02.bin" size="4194304" crc="d75effc2" sha1="2358701531e8a38419859cd70bf2fbbd967b6745" offset="000000" />
967975         </dataarea>
r32551r32552
14311439      <info name="alt_title" value="そろばんぐ"/>
14321440      <part name="cart" interface="wswan_cart">
14331441         <feature name="slot" value="ws_sram" />
1442         <feature name="rotated" value="yes" />
14341443         <dataarea name="rom" size="1048576">
14351444            <rom name="swj-kgtc09.bin" size="1048576" crc="0e467d97" sha1="983582fe8d18839df30b6d29fb75780a9e32f4ec" offset="000000" />
14361445         </dataarea>
r32551r32552
15161525      <info name="alt_title" value="テラーズ2"/>
15171526      <part name="cart" interface="wswan_cart">
15181527         <feature name="slot" value="ws_eeprom" />
1528         <feature name="rotated" value="yes" />
15191529         <dataarea name="rom" size="4194304">
15201530            <rom name="swj-banc05.bin" size="4194304" crc="9bd8f08c" sha1="9532113e14b03c95f034c015168e21273d42eff1" offset="000000" />
15211531         </dataarea>
r32551r32552
15341544      <info name="alt_title" value="テトリス"/>
15351545      <part name="cart" interface="wswan_cart">
15361546         <feature name="slot" value="ws_eeprom" />
1547         <feature name="rotated" value="yes" />
15371548         <dataarea name="rom" size="1048576">
15381549            <rom name="swj-vgdc01.bin" size="1048576" crc="7b0caea9" sha1="1a86403d7896d60fcb7a4c09367f5a976c7ea5a5" offset="000000" />
15391550         </dataarea>
r32551r32552
16061617      <info name="alt_title" value="ナムコワンダークラシック"/>
16071618      <part name="cart" interface="wswan_cart">
16081619         <feature name="slot" value="ws_sram" />
1620         <feature name="rotated" value="yes" />
16091621         <dataarea name="rom" size="4194304">
16101622            <rom name="swj-banc06.bin" size="4194304" crc="12f10b27" sha1="55b54944efd6e277fa7140925ed2457a8cfb40b8" offset="000000" />
16111623         </dataarea>
trunk/hash/wswan.xml
r32551r32552
6262      <info name="alt_title" value="ビートマニア for ワンダースワン"/>
6363      <part name="cart" interface="wswan_cart">
6464         <feature name="slot" value="ws_sram" />
65         <feature name="rotated" value="yes" />
6566         <dataarea name="rom" size="16777216">
6667            <rom name="swj-knm001.bin" size="16777216" crc="324622c9" sha1="544e76133fa53fc0ae5e00e3465b9cf634f14fd0" offset="000000" />
6768         </dataarea>
r32551r32552
9697      <info name="alt_title" value="クレイジー・クライマー"/>
9798      <part name="cart" interface="wswan_cart">
9899         <feature name="slot" value="ws_rom" />
100         <feature name="rotated" value="yes" />
99101         <dataarea name="rom" size="524288">
100102            <rom name="swj-nhb001.bin" size="524288" crc="c995274b" sha1="67a80b7fb00c3afe0ce9b0f8975c6d250a2cd49d" offset="000000" />
101103         </dataarea>
r32551r32552
361363      <info name="alt_title" value="たねをまく鳥 / boxart: D'sGarage21公募ゲーム たねをまく鳥 (D's Garage 21 Koubo Game - Tane o Maku Tori)"/>
362364      <part name="cart" interface="wswan_cart">
363365         <feature name="slot" value="ws_eeprom" />
366         <feature name="rotated" value="yes" />
364367         <dataarea name="rom" size="1048576">
365368            <rom name="swj-ban01e.bin" size="1048576" crc="b1caec06" sha1="83e190af2e25fbb3e93b1d5835c52fe6f1d279ce" offset="000000" />
366369         </dataarea>
r32551r32552
429432      <info name="alt_title" value="フィッシングフリークス バスライズ フォー ワンダースワン"/>
430433      <part name="cart" interface="wswan_cart">
431434         <feature name="slot" value="ws_sram" />
435         <feature name="rotated" value="yes" />
432436         <dataarea name="rom" size="1048576">
433437            <rom name="swj-bec004.bin" size="1048576" crc="a1fb16fc" sha1="f8f077da30f227f3793e97c7f1d656559f08b9d4" offset="000000" />
434438         </dataarea>
r32551r32552
544548      <info name="alt_title" value="機動戦士ガンダム エムエスバーサス"/>
545549      <part name="cart" interface="wswan_cart">
546550         <feature name="slot" value="ws_sram" />
551         <feature name="rotated" value="yes" />
547552         <dataarea name="rom" size="2097152">
548553            <rom name="swj-ban015.bin" size="2097152" crc="53b9fef8" sha1="2688ca67ac31ce3d5c3523b0e11cad55e70fa257" offset="000000" />
549554         </dataarea>
r32551r32552
561566      <info name="alt_title" value="グンペイ"/>
562567      <part name="cart" interface="wswan_cart">
563568         <feature name="slot" value="ws_eeprom" />
569         <feature name="rotated" value="yes" />
564570         <dataarea name="rom" size="1048576">
565571            <rom name="swj-ban010.bin" size="1048576" crc="a1656bbb" sha1="ee4b777f029bac9561e60c19407d08360e733822" offset="000000" />
566572         </dataarea>
r32551r32552
678684      <info name="alt_title" value="競馬予想支援ソフト 予想進化論"/>
679685      <part name="cart" interface="wswan_cart">
680686         <feature name="slot" value="ws_sram" />
687         <feature name="rotated" value="yes" />
681688         <dataarea name="rom" size="524288">
682689            <rom name="swj-mde001.bin" size="524288" crc="945fc213" sha1="461f87e6e301b0dbb6324d908d4ca7efd7518e20" offset="000000" />
683690         </dataarea>
r32551r32552
831838      <info name="alt_title" value="マジカルドロップ for ワンダースワン"/>
832839      <part name="cart" interface="wswan_cart">
833840         <feature name="slot" value="ws_rom" />
841         <feature name="rotated" value="yes" />
834842         <dataarea name="rom" size="1048576">
835843            <rom name="swj-dte002.bin" size="1048576" crc="637ada93" sha1="a25944969068ee495254f94c2c48dfffcb66ce8d" offset="000000" />
836844         </dataarea>
r32551r32552
948956      <info name="alt_title" value="ミングルマグネット"/>
949957      <part name="cart" interface="wswan_cart">
950958         <feature name="slot" value="ws_rom" />
959         <feature name="rotated" value="yes" />
951960         <dataarea name="rom" size="524288">
952961            <rom name="swj-hal002.bin" size="524288" crc="9baac7bb" sha1="c7230ef709f6ceaef9a220541c8cdc05c0cd549f" offset="000000" />
953962         </dataarea>
r32551r32552
11471156      <info name="alt_title" value="パズルボブル"/>
11481157      <part name="cart" interface="wswan_cart">
11491158         <feature name="slot" value="ws_eeprom" />
1159         <feature name="rotated" value="yes" />
11501160         <dataarea name="rom" size="524288">
11511161            <rom name="swj-sun003.bin" size="524288" crc="302499b9" sha1="5e7dabb66b0ca580481aa79ee8b8a5b0c6ce6592" offset="000000" />
11521162         </dataarea>
r32551r32552
11961206      <info name="alt_title" value="レインボーアイランド パティーズ☆パーティ!"/>
11971207      <part name="cart" interface="wswan_cart">
11981208         <feature name="slot" value="ws_sram" />
1209         <feature name="rotated" value="yes" />
11991210         <dataarea name="rom" size="2097152">
12001211            <rom name="swj-mgh003.bin" size="2097152" crc="8f8608ad" sha1="759deb79a3fc3befed705d7264e4b88adbadacc7" offset="000000" />
12011212         </dataarea>
r32551r32552
12131224      <info name="alt_title" value="リング インフィニティ"/>
12141225      <part name="cart" interface="wswan_cart">
12151226         <feature name="slot" value="ws_eeprom" />
1227         <feature name="rotated" value="yes" />
12161228         <dataarea name="rom" size="4194304">
12171229            <rom name="swj-kdk001.bin" size="4194304" crc="14adbd4b" sha1="9896d93c97381dc06b6f044de6c9bd112ca0c94b" offset="000000" />
12181230         </dataarea>
r32551r32552
14531465      <info name="alt_title" value="線脳 ミレニアム"/>
14541466      <part name="cart" interface="wswan_cart">
14551467         <feature name="slot" value="ws_eeprom" />
1468         <feature name="rotated" value="yes" />
14561469         <dataarea name="rom" size="1048576">
14571470            <rom name="swj-ban025.bin" size="1048576" crc="301436ac" sha1="708288e70b3186f6c0ef07acaef1b50fe6b7ab22" offset="000000" />
14581471         </dataarea>
r32551r32552
15361549      <info name="alt_title" value="スリザーリンク"/>
15371550      <part name="cart" interface="wswan_cart">
15381551         <feature name="slot" value="ws_eeprom" />
1552         <feature name="rotated" value="yes" />
15391553         <dataarea name="rom" size="524288">
15401554            <rom name="swj-ban029.bin" size="524288" crc="f00a0330" sha1="3e31beaca985ac5041c6e95e0d07f163168e190d" offset="000000" />
15411555         </dataarea>
r32551r32552
16801694      <info name="alt_title" value="テラーズ"/>
16811695      <part name="cart" interface="wswan_cart">
16821696         <feature name="slot" value="ws_sram" />
1697         <feature name="rotated" value="yes" />
16831698         <dataarea name="rom" size="4194304">
16841699            <rom name="swj-ban014.bin" size="4194304" crc="ef5b6b82" sha1="7148d750f12b5da9a0efd99f5a5a7ccadecbdf60" offset="000000" />
16851700         </dataarea>
r32551r32552
17311746      <info name="alt_title" value="東京魔人学園 符咒封録"/>
17321747      <part name="cart" interface="wswan_cart">
17331748         <feature name="slot" value="ws_sram" />
1749         <feature name="rotated" value="yes" />
17341750         <dataarea name="rom" size="8388608">
17351751            <rom name="swj-aae001.bin" size="8388608" crc="91117d1b" sha1="866c67737a4fbb5f09a0b13bbdb89397bcab1f55" offset="000000" />
17361752         </dataarea>
r32551r32552
17481764      <info name="alt_title" value="たれぱんだのぐんぺい"/>
17491765      <part name="cart" interface="wswan_cart">
17501766         <feature name="slot" value="ws_eeprom" />
1767         <feature name="rotated" value="yes" />
17511768         <dataarea name="rom" size="1048576">
17521769            <rom name="swj-ban01f.bin" size="1048576" crc="a5643aa3" sha1="9622c65c939f05a9dfae288919ec5bd15c348f14" offset="000000" />
17531770         </dataarea>
r32551r32552
18391856      <info name="alt_title" value="うずまき ~電視怪奇篇~"/>
18401857      <part name="cart" interface="wswan_cart">
18411858         <feature name="slot" value="ws_eeprom" />
1859         <feature name="rotated" value="yes" />
18421860         <dataarea name="rom" size="2097152">
18431861            <rom name="swj-omm001.bin" size="2097152" crc="812020ef" sha1="4c8166e0632bdb8c098d586a7b1522ed7b63b5f7" offset="000000" />
18441862         </dataarea>
trunk/src/emu/bus/wswan/rom.c
r32551r32552
8282   m_base20 = ((0xff & m_bank_mask) << 16) & (m_rom_size - 1);
8383   m_base30 = ((0xff & m_bank_mask) << 16) & (m_rom_size - 1);
8484   m_base40 = (((0xf0 & m_bank_mask) | 4) << 16) & (m_rom_size - 1);
85   printf("%x - %x - %x\n", m_base20, m_base30, m_base40);
8685
8786   memset(m_io_regs, 0, sizeof(m_io_regs));
8887
trunk/src/emu/bus/wswan/slot.c
r32551r32552
220220         battery_load(m_cart->get_nvram_base(), m_cart->get_nvram_size(), 0x00);
221221      }
222222
223      internal_header_logging(ROM, size);
223      internal_header_logging(ROM, ((size >> 16) - 1) << 16, size);
224224   }
225225
226226   return IMAGE_INIT_PASS;
r32551r32552
418418 Internal header logging
419419 -------------------------------------------------*/
420420
421void ws_cart_slot_device::internal_header_logging(UINT8 *ROM, UINT32 len)
421static const char *const sram_str[] = { "none", "64Kbit SRAM", "256Kbit SRAM", "512Kbit SRAM", "1Mbit SRAM", "2Mbit SRAM" };
422static const char *const eeprom_str[] = { "none", "1Kbit EEPROM", "16Kbit EEPROM", "Unknown", "Unknown", "8Kbit EEPROM" };
423static const char *const romsize_str[] = { "Unknown", "Unknown", "4Mbit", "8Mbit", "16Mbit", "Unknown", "32Mbit", "Unknown", "64Mbit", "128Mbit" };
424
425void ws_cart_slot_device::internal_header_logging(UINT8 *ROM, UINT32 offs, UINT32 len)
422426{
423#if 0
424   enum enum_sram { SRAM_NONE=0, SRAM_64K, SRAM_256K, SRAM_512K, SRAM_1M, SRAM_2M, EEPROM_1K, EEPROM_16K, EEPROM_8K, SRAM_UNKNOWN };
425   static const char *const wswan_sram_str[] = { "none", "64Kbit SRAM", "256Kbit SRAM", "512Kbit SRAM", "1Mbit SRAM", "2Mbit SRAM", "1Kbit EEPROM", "16Kbit EEPROM", "8Kbit EEPROM", "Unknown" };
426   static const int wswan_sram_size[] = { 0, 64*1024/8, 256*1024/8, 512*1024/8, 1024*1024/8, 2*1024*1024/8,  1024/8, 16*1024/8, 8*1024/8, 0 };
427   int sum = 0, banks = len / 0x10000;
428   UINT8 romsize, ramtype, ramsize;
429   romsize = ROM[offs + 0xfffa];
430   ramtype = (ROM[offs + 0xfffb] & 0xf0) ? 1 : 0;   // 1 = EEPROM, 0 = SRAM
431   ramsize = ramtype ? ((ROM[offs + 0xfffb] & 0xf0) >> 4) : (ROM[offs + 0xfffb] & 0x0f);
427432   
428   int sum = 0;
429   /* Spit out some info */
430   logerror("ROM DETAILS\n" );
431   logerror("\tDeveloper ID: %X\n", m_ROMMap[m_ROMBanks - 1][0xfff6]);
432   logerror("\tMinimum system: %s\n", m_ROMMap[m_ROMBanks - 1][0xfff7] ? "WonderSwan Color" : "WonderSwan");
433   logerror("\tCart ID: %X\n", m_ROMMap[m_ROMBanks - 1][0xfff8]);
434   logerror("\tROM size: %s\n", wswan_determine_romsize(m_ROMMap[m_ROMBanks - 1][0xfffa]));
435   logerror("\tSRAM size: %s\n", sram_str);
436   logerror("\tFeatures: %X\n", m_ROMMap[m_ROMBanks - 1][0xfffc]);
437   logerror("\tRTC: %s\n", m_ROMMap[m_ROMBanks - 1][0xfffd] ? "yes" : "no");
438   for (int i = 0; i < m_ROMBanks; i++)
439   {
440      int count;
441      for (count = 0; count < 0x10000; count++)
442      {
443         sum += m_ROMMap[i][count];
444      }
445   }
446   sum -= m_ROMMap[m_ROMBanks - 1][0xffff];
447   sum -= m_ROMMap[m_ROMBanks - 1][0xfffe];
448   sum &= 0xffff;
449   logerror("\tChecksum: %X%X (calculated: %04X)\n", m_ROMMap[m_ROMBanks - 1][0xffff], m_ROMMap[m_ROMBanks - 1][0xfffe], sum);
450433
451   const char* wswan_state::wswan_determine_sram(UINT8 data )
434   logerror( "ROM DETAILS\n" );
435   logerror( "===========\n\n" );
436   logerror("\tDeveloper ID: %X\n", ROM[offs + 0xfff6]);
437   logerror("\tMinimum system: %s\n", ROM[offs + 0xfff7] ? "WonderSwan Color" : "WonderSwan");
438   logerror("\tCart ID: %X\n", ROM[offs + 0xfff8]);
439   logerror("\tROM size: %s\n", romsize_str[romsize]);
440   if (ramtype)
441      logerror("\tEEPROM size: %s\n", (ramsize < 6) ? eeprom_str[ramsize] : "Unknown");
442   else
443      logerror("\tSRAM size: %s\n", (ramsize < 6) ? sram_str[ramsize] : "Unknown");
444   logerror("\tFeatures: %X\n", ROM[offs + 0xfffc]);
445   logerror("\tRTC: %s\n", ROM[offs + 0xfffd] ? "yes" : "no");
446   for (int i = 0; i < banks; i++)
452447   {
453      m_eeprom.write_enabled = 0;
454      m_eeprom.mode = SRAM_UNKNOWN;
455      switch( data )
448      for (int count = 0; count < 0x10000; count++)
456449      {
457         case 0x00: m_eeprom.mode = SRAM_NONE; break;
458         case 0x01: m_eeprom.mode = SRAM_64K; break;
459         case 0x02: m_eeprom.mode = SRAM_256K; break;
460         case 0x03: m_eeprom.mode = SRAM_1M; break;
461         case 0x04: m_eeprom.mode = SRAM_2M; break;
462         case 0x05: m_eeprom.mode = SRAM_512K; break;
463         case 0x10: m_eeprom.mode = EEPROM_1K; break;
464         case 0x20: m_eeprom.mode = EEPROM_16K; break;
465         case 0x50: m_eeprom.mode = EEPROM_8K; break;
450         sum += ROM[(i * 0x10000) + count];
466451      }
467      m_eeprom.size = wswan_sram_size[ m_eeprom.mode ];
468      return wswan_sram_str[ m_eeprom.mode ];
469452   }
470   
471   enum enum_romsize { ROM_4M=0, ROM_8M, ROM_16M, ROM_32M, ROM_64M, ROM_128M, ROM_UNKNOWN };
472   static const char *const wswan_romsize_str[] = {
473      "4Mbit", "8Mbit", "16Mbit", "32Mbit", "64Mbit", "128Mbit", "Unknown"
474   };
475   
476   const char* wswan_state::wswan_determine_romsize( UINT8 data )
477   {
478      switch( data )
479      {
480         case 0x02:  return wswan_romsize_str[ ROM_4M ];
481         case 0x03:  return wswan_romsize_str[ ROM_8M ];
482         case 0x04:  return wswan_romsize_str[ ROM_16M ];
483         case 0x06:  return wswan_romsize_str[ ROM_32M ];
484         case 0x08:  return wswan_romsize_str[ ROM_64M ];
485         case 0x09:  return wswan_romsize_str[ ROM_128M ];
486      }
487      return wswan_romsize_str[ ROM_UNKNOWN ];
488   }
489   
490#endif
453   sum -= ROM[offs + 0xffff];
454   sum -= ROM[offs + 0xfffe];
455   sum &= 0xffff;
456   logerror("\tChecksum: %.2X%.2X (calculated: %04X)\n", ROM[offs + 0xffff], ROM[offs + 0xfffe], sum);
491457}
trunk/src/emu/bus/wswan/slot.h
r32551r32552
7979   int get_type() { return m_type; }
8080   int get_is_rotated() { return m_cart->get_is_rotated(); }
8181   int get_cart_type(UINT8 *ROM, UINT32 len, UINT32 &nvram_len);
82   void internal_header_logging(UINT8 *ROM, UINT32 len);
82   void internal_header_logging(UINT8 *ROM, UINT32 offs, UINT32 len);
8383
8484   void save_nvram()   { if (m_cart && m_cart->get_nvram_size()) m_cart->save_nvram(); }
8585

Previous 199869 Revisions Next


© 1997-2024 The MAME Team