Advertisement
Guest User

Merry XMas

a guest
Dec 23rd, 2012
783
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 77.55 KB | None | 0 0
  1. #define INCLUDE_STERN_SAM
  2. #ifdef INCLUDE_STERN_SAM
  3.  
  4. #include "driver.h"
  5. #include "core.h"
  6. #include "sim.h"
  7. #include "vpintf.h"
  8. #include "cpu/at91/at91.h"
  9. #include "sndbrd.h"
  10.  
  11. #include "defs.h"
  12.  
  13. // Defines
  14. #define SAM_DISPLAYSMOOTH 4
  15.  
  16. #define SAM_CPUFREQ 55000000
  17. #define SAM_IRQFREQ 4040
  18. #define WAVE_OUT_RATE 24242
  19. #define BUFFSIZE 262144
  20.  
  21. #define SAM_CPU 0
  22. #define SAM_ROMBANK0 1
  23.  
  24. #define SAM_NOMINI   0x00
  25. #define SAM_MINIDMD  0x01
  26. #define SAM_NOMINI2  0x02
  27. #define SAM_MINIDMD3 0x04
  28. #define SAM_NOMINI3  0x08
  29. #define SAM_NOMINI4  0x10
  30. #define SAM_NOMINI5  0x20
  31.  
  32. #define SAM_0COL 0x00
  33. #define SAM_2COL 0x02
  34. #define SAM_3COL 0x03
  35. #define SAM_8COL 0x08
  36.  
  37. // Variables
  38. struct {
  39.     int vblankCount;
  40.     UINT32 solenoids;
  41.     UINT32 solenoids2;
  42.     int diagnosticLed;
  43.     int col;
  44.     int zc;
  45.     data32_t ram1;
  46.     data32_t ram2;
  47.     INT16 samplebuf[BUFFSIZE];
  48.     INT16 lastsamp;
  49.     char unused2[2];
  50.     int sampout;
  51.     int sampnum;
  52.     int msu[6];
  53.     int powerswitch;
  54.     INT16 bank;
  55.     char minidata[226];
  56. } samlocals;
  57.  
  58. static data32_t *sam_reset_ram;
  59. static data32_t *sam_page0_ram;
  60. static data32_t *sam_cpu;
  61.  
  62. static int sam_bank[47];
  63.  
  64. static int sam_stream = 0;
  65.  
  66. //SAM Input Ports
  67. #define SAM_COMPORTS \
  68.   PORT_START /* 0 */ \
  69.     COREPORT_BITDEF(  0x0010, IPT_TILT,           KEYCODE_INSERT)  \
  70.     COREPORT_BIT   (  0x0020, "Slam Tilt",        KEYCODE_HOME)  \
  71.     COREPORT_BIT   (  0x0040, "Ticket Notch",     KEYCODE_K)  \
  72.     COREPORT_BIT   (  0x0080, "Dedicated Sw#20",  KEYCODE_L) \
  73.     COREPORT_BIT   (  0x0100, "Back",             KEYCODE_7) \
  74.     COREPORT_BIT   (  0x0200, "Minus",            KEYCODE_8) \
  75.     COREPORT_BIT   (  0x0400, "Plus",             KEYCODE_9) \
  76.     COREPORT_BIT   (  0x0800, "Select",           KEYCODE_0) \
  77.     COREPORT_BIT   (  0x8000, "Start Button",     KEYCODE_1) \
  78.     COREPORT_BIT   (  0x4000, "Tournament Start", KEYCODE_2) \
  79.     COREPORT_BITDEF(  0x0001, IPT_COIN1,          KEYCODE_3)  \
  80.     COREPORT_BITDEF(  0x0002, IPT_COIN2,          KEYCODE_4)  \
  81.     COREPORT_BITDEF(  0x0004, IPT_COIN3,          KEYCODE_5)  \
  82.     COREPORT_BITDEF(  0x0008, IPT_COIN4,          KEYCODE_6)  \
  83.     COREPORT_BITTOG(  0x1000, "Coin Door",        KEYCODE_END) \
  84.   PORT_START /* 1 */ \
  85.     COREPORT_DIPNAME( 0x001f, 0x0000, "Country") \
  86.       COREPORT_DIPSET(0x0000, "USA" ) \
  87.       COREPORT_DIPSET(0x000d, "Australia" ) \
  88.       COREPORT_DIPSET(0x0001, "Austria" ) \
  89.       COREPORT_DIPSET(0x0002, "Belgium" ) \
  90.       COREPORT_DIPSET(0x0003, "Canada 1" ) \
  91.       COREPORT_DIPSET(0x001a, "Canada 2" ) \
  92.       COREPORT_DIPSET(0x0013, "Chuck E. Cheese" ) \
  93.       COREPORT_DIPSET(0x0016, "Croatia" ) \
  94.       COREPORT_DIPSET(0x0009, "Denmark" ) \
  95.       COREPORT_DIPSET(0x0005, "Finland" ) \
  96.       COREPORT_DIPSET(0x0006, "France" ) \
  97.       COREPORT_DIPSET(0x0007, "Germany" ) \
  98.       COREPORT_DIPSET(0x000f, "Greece" ) \
  99.       COREPORT_DIPSET(0x0008, "Italy" ) \
  100.       COREPORT_DIPSET(0x001b, "Lithuania" ) \
  101.       COREPORT_DIPSET(0x0015, "Japan" ) \
  102.       COREPORT_DIPSET(0x0017, "Middle East" ) \
  103.       COREPORT_DIPSET(0x0004, "Netherlands" ) \
  104.       COREPORT_DIPSET(0x0010, "New Zealand" ) \
  105.       COREPORT_DIPSET(0x000a, "Norway" ) \
  106.       COREPORT_DIPSET(0x0011, "Portugal" ) \
  107.       COREPORT_DIPSET(0x0019, "Russia" ) \
  108.       COREPORT_DIPSET(0x0014, "South Africa" ) \
  109.       COREPORT_DIPSET(0x0012, "Spain" ) \
  110.       COREPORT_DIPSET(0x000b, "Sweden" ) \
  111.       COREPORT_DIPSET(0x000c, "Switzerland" ) \
  112.       COREPORT_DIPSET(0x0018, "Taiwan" ) \
  113.       COREPORT_DIPSET(0x000e, "U.K." ) \
  114.       COREPORT_DIPSET(0x001c, "Unknown (00011100)" ) \
  115.       COREPORT_DIPSET(0x001d, "Unknown (00011101)" ) \
  116.       COREPORT_DIPSET(0x001e, "Unknown (00011110)" ) \
  117.       COREPORT_DIPSET(0x001f, "Unknown (00011111)" ) \
  118.     COREPORT_DIPNAME( 0x0020, 0x0000, "Dip #6") \
  119.       COREPORT_DIPSET(0x0000, "0" ) \
  120.       COREPORT_DIPSET(0x0020, "1" ) \
  121.     COREPORT_DIPNAME( 0x0040, 0x0000, "Dip #7") \
  122.       COREPORT_DIPSET(0x0000, "0" ) \
  123.       COREPORT_DIPSET(0x0040, "1" ) \
  124.     COREPORT_DIPNAME( 0x0080, 0x0080, "Dip #8") \
  125.       COREPORT_DIPSET(0x0000, "1" ) \
  126.       COREPORT_DIPSET(0x0080, "0" )
  127.  
  128. #define SAM_INPUT_PORTS_START(name,balls) \
  129.   INPUT_PORTS_START(name) \
  130.     CORE_PORTS \
  131.     SIM_PORTS(balls) \
  132.     SAM_COMPORTS
  133.  
  134. #define SAM_INPUT_PORTS_END INPUT_PORTS_END
  135. #define SAM_COMINPORT       CORE_COREINPORT
  136.  
  137. //Sound Interface
  138. const struct sndbrdIntf samIntf = {
  139.     "SAM1", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, SNDBRD_NODATASYNC
  140. };
  141.  
  142. static void sam_sh_update(int num, INT16 *buffer, int length)
  143. {
  144.     int ii;
  145.  
  146.     ii = 0;
  147.     if ( length > 0 )
  148.     {
  149.         while ( samlocals.sampout != samlocals.sampnum && samlocals.sampnum >= 64 )
  150.         {
  151.             buffer[ii] = samlocals.samplebuf[samlocals.sampout];
  152.             samlocals.sampout = (samlocals.sampout + 1) % BUFFSIZE;
  153.             samlocals.lastsamp = buffer[ii++];
  154.             if ( ii >= length )
  155.                 return;
  156.         }
  157.         for ( ; ii < length; ++ii )
  158.             buffer[ii] = samlocals.lastsamp;
  159.     }
  160. }
  161.  
  162. int sam_sh_start(const struct MachineSound *msound)
  163. {
  164.     char stream_name[40];
  165.  
  166.     sprintf(stream_name, "%s", "SAM1");
  167.     sam_stream = stream_init(stream_name, 100, WAVE_OUT_RATE*2, 0, sam_sh_update);
  168.     return sam_stream < 0;
  169. }
  170.  
  171. void sam_sh_stop(void)
  172. {
  173. }
  174.  
  175. static struct CustomSound_interface samCustInt =
  176. {
  177.     sam_sh_start,
  178.     sam_sh_stop,
  179.     0,
  180. };
  181.  
  182. //Memory Reads
  183. //Complete - Needs cleanup
  184. static READ32_HANDLER(samswitch_r)
  185. {
  186.     data32_t data; // eax@1
  187.     int v5; // edi@1
  188.     int ii; // esi@1
  189.     int v7; // esi@6
  190.  
  191.     data = 0;
  192.     v5 = 0;
  193.     ii = 0;
  194.     while ( !((255 << (ii * 8)) & ~mem_mask) )
  195.     {
  196.         ii++;
  197.         if ( ii >= 4 )
  198.             goto LABEL_6;
  199.     }
  200.     v5 = ii;
  201. LABEL_6:
  202.     v7 = v5 + 4 * offset;
  203.     if ( v7 >= 0 && v7 <= 6)
  204.     {
  205.         switch ( v7 )
  206.         {
  207.             case 0:
  208.                 data = (coreGlobals.swMatrix[2 * samlocals.col + 1] | coreGlobals.swMatrix[2 * samlocals.col + 2] << 8) ^ 0xFFFF;
  209.                 break;
  210.             case 2:
  211.                 data = (coreGlobals.swMatrix[9] | ((core_swapNyb[coreGlobals.swMatrix[11] & 0xF] | (16 * core_swapNyb[coreGlobals.swMatrix[11] >> 4])) << 8)) ^ 0xFFFF;
  212.                 break;
  213.             case 4:
  214.                 if ( ~mem_mask == 0xFF00 )
  215.                     data = (core_getDip(0) ^ 0xFF) << 8;
  216.                 else
  217.                     data = (coreGlobals.swMatrix[0] | (core_getDip(0) << 8)) ^ 0xFFFF;
  218.                 break;
  219.             case 5:
  220.                 data = core_getDip(0) ^ 0xFF;
  221.                 break;
  222.             default:
  223.                 logerror("error");
  224.                 break;
  225.         }
  226.     }
  227.     if ( v7 == 0x80000 )
  228.         data = samlocals.bank;
  229.     return data << 8 * v5;
  230. }
  231.  
  232. static READ32_HANDLER(samxilinx_r)
  233. {
  234.     data32_t data = 0;
  235.     if(~mem_mask == 0xFF00)
  236.         // was ((6 | zc) << 2) | u1...   bits:   0 1 1 zc u1 u1
  237.         //                     works     bits:   0 0 0 zc u1 u1
  238.         //                                                u1 = solenoids have power - 1-32
  239.         //                                                   u1 = power switch
  240.         data = (( 0 << 3 ) | (samlocals.zc << 2) | (samlocals.powerswitch != 0 ? 3 : 0)) << 8;
  241.     else
  242.         return data;
  243.     return data;
  244. }
  245.  
  246. static READ32_HANDLER(samcpu_r)
  247. {
  248.     if ( offset < 0x4000 )
  249.         return sam_cpu[offset];
  250.     if ( offset != 0x4240
  251.         && offset != 0x4414
  252.         && offset != 0x441a
  253.         && offset != 0x4420
  254.         && offset != 0x4426)
  255.         return sam_cpu[offset];
  256.     return sam_cpu[offset];
  257.     switch( offset )
  258.     {
  259.         case 0x4414:
  260.         case 0x441a:
  261.         case 0x4420:
  262.         case 0x4426:
  263.             //sam_cpu[offset] = 0x00000001;
  264.             return sam_cpu[offset];
  265.        
  266.         case 0x4021:
  267.             //sam_cpu[offset] = 0x00000000;
  268.             return sam_cpu[offset];
  269.  
  270.         case 0x4022:
  271.             //sam_cpu[offset] = 0xFFFF0000;
  272.             return sam_cpu[offset];
  273.  
  274.         case 0x4035:
  275.             //sam_cpu[offset] = 0xFFFF0022;
  276.             return sam_cpu[offset];
  277.         //Language
  278.         case 0x4036:
  279.             //sam_cpu[offset] = 0xFFFE0100;
  280.             return sam_cpu[offset];
  281.         //Time?
  282.         case 0x4037:
  283.             //sam_cpu[offset] = 0x34352345;
  284.             return sam_cpu[offset];
  285.  
  286.         //Key pressed
  287.         case 0x4041:
  288.         case 0x408d:
  289.             logerror("Test");
  290.             break;
  291.  
  292.         //Should be 01
  293.         case 0x4240:
  294.             break;
  295.  
  296.         case 0x4402:
  297.             //sam_cpu[offset] = 0x00000001;
  298.             break;
  299.  
  300.         default:
  301.             //logerror("Test");
  302.             break;
  303.     }
  304.     return sam_cpu[offset];
  305. }
  306.  
  307. static MEMORY_READ32_START(sam_readmem)
  308.     { 0x00000000, 0x000FFFFF, MRA32_RAM },
  309.     { 0x00300000, 0x003FFFFF, MRA32_RAM },
  310.     { 0x01000000, 0x0107FFFF, MRA32_RAM },
  311.     { 0x01080000, 0x0109EFFF, MRA32_RAM },
  312.     { 0x0109F000, 0x010FFFFF, MRA32_RAM },
  313.     { 0x01100000, 0x011FFFFF, samswitch_r },
  314.     { 0x02000000, 0x020FFFFF, MRA32_RAM },
  315.     { 0x02100000, 0x0211FFFF, MRA32_RAM }, //samcpu_r },
  316.     { 0x02400024, 0x02400027, samxilinx_r },
  317.     { 0x03000000, 0x030000FF, MRA32_RAM },
  318.     { 0x04000000, 0x047FFFFF, MRA32_RAM },  //U44?
  319.     { 0x04800000, 0x04FFFFFF, MRA32_BANK1 },  //U45?
  320.     { 0x05000000, 0x057FFFFF, MRA32_RAM },
  321.     { 0x05800000, 0x05FFFFFF, MRA32_BANK1 },
  322.     { 0x06000000, 0x067FFFFF, MRA32_RAM },
  323.     { 0x06800000, 0x06FFFFFF, MRA32_BANK1 },
  324.     { 0x07000000, 0x077FFFFF, MRA32_RAM },
  325.     { 0x07800000, 0x07FFFFFF, MRA32_BANK1 },
  326. MEMORY_END
  327.  
  328. //Memory Writes
  329. static data32_t prev_data;
  330. static WRITE32_HANDLER(samxilinx_w)
  331. {
  332.     if(~mem_mask & 0xFFFF0000)
  333.         data >>= 16;
  334.     prev_data = data;
  335.     samlocals.samplebuf[samlocals.sampnum] = data;
  336.     samlocals.sampnum = (samlocals.sampnum + 1) % BUFFSIZE;
  337. }
  338.  
  339. static WRITE32_HANDLER(samdmdram_w)
  340. {
  341.     int ii = 0;
  342.    
  343.     if ( offset == 2 )
  344.     {
  345.         int result = data;
  346.         samlocals.col = 0;
  347.         do
  348.         {
  349.             if ( data & (1 << ii) )
  350.             samlocals.col += ii;
  351.             result >>= 1;
  352.             ii++;
  353.         }
  354.         while ( data >> ii );
  355.     }
  356.     else if ( offset == 8 )
  357.     {
  358.         if ( ~mem_mask & 0xFFFF0000 )
  359.             samlocals.ram2 = data >> 16;
  360.         else
  361.             samlocals.ram1 = data;
  362.     }
  363.     else if ( offset != 0x2AAA0 )
  364.         logerror("error");
  365. }
  366.  
  367. static int sam_led(UINT32 bank)
  368. {
  369.     int result;
  370.     int ii;
  371.  
  372.     result = 0;
  373.     ii = 0;
  374.     do
  375.     {
  376.         if ( bank & 1 )
  377.             result += ii;
  378.         bank >>= 1;
  379.         ii++;
  380.     }
  381.     while ( bank );
  382.     return result;
  383. }
  384.  
  385. static int led[] =
  386.     { 5, 8, 7, 6, 9, 1, 2, 3, 4, 0, 10, 11, 12, 13};
  387. static char byte_105E0AF8;
  388. static int dword_105E0B00;
  389. static int dword_105E0B04;
  390. static char byte_105E0AF9;
  391. static int dword_105E0AFC;
  392. static int dword_105E0AF4;
  393.  
  394. static WRITE32_HANDLER(sambank_w)
  395. {
  396.     int v24 = 0;
  397.     int v25 = 0;
  398.     int ram;
  399.     int bank;
  400.  
  401.     while ( !((0xFF << (v25 * 8)) & ~mem_mask) )
  402.     {
  403.         v25++;
  404.         if ( v25 >= 4 )
  405.             goto LABEL_6;
  406.     }
  407.     v24 = v25;
  408. LABEL_6:
  409.     ram = v24 + 4 * offset + 0x2400000;
  410.     bank = data >> 8 * v24;
  411.     if ( ram > 0x24000FF )
  412.     {
  413.         switch ( ram )
  414.         {
  415.             case 0x2500000:
  416.                 samlocals.diagnosticLed = (bank & 1) | samlocals.diagnosticLed & 2;
  417.                 break;
  418.             case 0x2580000:
  419.                 //was bank & 0x3
  420.                 cpu_setbank(SAM_ROMBANK0, memory_region(154) + ((bank & 0xf) << 23) );
  421.                 samlocals.bank = (bank & 0xf);
  422.                 break;
  423.             case 0x2F00000:
  424.                 if ( !bank )
  425.                     samlocals.diagnosticLed = samlocals.diagnosticLed & 1 | 2;
  426.                 break;
  427.             default:
  428.                 logerror("error");
  429.                 break;
  430.         }
  431.     }
  432.     else
  433.     {
  434.         switch ( ram - 0x2400020 )
  435.         {
  436.             int ii;
  437.             case 0:
  438.                 sam_bank[0]++;
  439.                 if ( sam_bank[0] == 1 )
  440.                 {
  441.                     samlocals.solenoids &= 0xFFFF00FF;
  442.                     for(ii = 0; ii <= 7; ii++)
  443.                     {
  444.                         if ( bank & (1<<ii) )
  445.                             sam_bank[14 + ii] = 0x19;
  446.                         if( sam_bank[14 + ii] > 0)
  447.                         {
  448.                             sam_bank[14 + ii]--;
  449.                             samlocals.solenoids |= ((sam_bank[14 + ii] > 0) << (8 + ii));
  450.                         }
  451.                     }
  452.                     //samlocals.solenoids |= (bank << 8);
  453.                 }
  454.                 return;
  455.             case 1:
  456.                 sam_bank[1]++;
  457.                 if ( sam_bank[1] == 1 )
  458.                 {
  459.                     samlocals.solenoids &= 0xFFFFFF00;
  460.                     for(ii = 0; ii <= 7; ii++)
  461.                     {
  462.                         if ( bank & (1<<ii) )
  463.                             sam_bank[6 + ii] = 0x19;
  464.                         if( sam_bank[6 + ii] > 0)
  465.                         {
  466.                             sam_bank[6 + ii]--;
  467.                             samlocals.solenoids |= ((sam_bank[6 + ii] > 0) << ii);
  468.                         }
  469.                     }
  470.                     //samlocals.solenoids |= bank;
  471.                 }
  472.                 return;
  473.             case 2:
  474.                 sam_bank[2]++;
  475.                 if ( sam_bank[2] == 1 )
  476.                 {
  477.                     samlocals.solenoids &= 0xFF00FFFF;
  478.                     for(ii = 0; ii <= 7; ii++)
  479.                     {
  480.                         if ( bank & (1<<ii) )
  481.                             sam_bank[22 + ii] = 0x19;
  482.                         if( sam_bank[22 + ii] > 0)
  483.                         {
  484.                             sam_bank[22 + ii]--;
  485.                             samlocals.solenoids |= ((sam_bank[22 + ii] > 0) << (16 + ii));
  486.                         }
  487.                     }
  488.                     //samlocals.solenoids |= (bank << 16);
  489.                 }
  490.                 return;
  491.             case 3:
  492.                 sam_bank[3]++;
  493.                 if ( sam_bank[3] == 1 )
  494.                 {
  495.                     samlocals.solenoids &= 0x00FFFFFF;
  496.                     for(ii = 0; ii <= 7; ii++)
  497.                     {
  498.                         if ( bank & (1<<ii) )
  499.                             sam_bank[30 + ii] = 0x19;
  500.                         if( sam_bank[30 + ii] > 0)
  501.                         {
  502.                             sam_bank[30 + ii]--;
  503.                             samlocals.solenoids |= ((sam_bank[30 + ii] > 0) << (24 + ii));
  504.                         }
  505.                     }
  506.                     //samlocals.solenoids |= (bank << 24);
  507.                 }
  508.                 return;
  509.             case 6:
  510.                 sam_bank[4]++;
  511.                 if ( sam_bank[4] == 1 && bank >= 0)
  512.                 {
  513.                     samlocals.solenoids2 &= 0xFFFFF00F;
  514.                     for(ii = 0; ii <= 7; ii++)
  515.                     {
  516.                         if ( bank & (1<<ii) )
  517.                             sam_bank[38 + ii] = 0x19;
  518.                         if( sam_bank[38 + ii] > 0)
  519.                         {
  520.                             sam_bank[38 + ii]--;
  521.                             samlocals.solenoids2 |= ((sam_bank[38 + ii] > 0) << (4 + ii));
  522.                         }
  523.                     }
  524.                     //samlocals.solenoids2 |= (bank << 4);
  525.                 }
  526.                 if ( core_gameData->hw.gameSpecific1 & 1 )
  527.                 {
  528.                     if ( dword_105E0B00 == 1 )
  529.                     {
  530.                         dword_105E0B04 = led[sam_led(bank & 0x7F | ((byte_105E0AF9 & 0x7F) << 7))];
  531.                     }
  532.                     else
  533.                     {
  534.                         if ( dword_105E0B00 > 1 )
  535.                             samlocals.minidata[16 * dword_105E0B04 + dword_105E0B00] = bank & 0x7F;
  536.                         if ( dword_105E0B00 >= 17 )
  537.                         {
  538. LABEL_157:
  539.                             if ( (~byte_105E0AF9 & bank) >= 0x80)
  540.                             {
  541.                                 byte_105E0AF9 = bank;
  542.                                 dword_105E0B00 = 0;
  543.                                 return;
  544.                             }
  545.                             goto LABEL_176;
  546.                         }
  547.                     }
  548.                     dword_105E0B00++;
  549.                     goto LABEL_157;
  550.                 }
  551.                 if ( core_gameData->hw.gameSpecific1 & 2 )
  552.                 {
  553.                     if ( (bank & ~byte_105E0AF9) < 0 )
  554.                     {
  555.                         dword_105E0B00 = 0;
  556.                         byte_105E0AF9 = bank;
  557.                         dword_105E0B04 = sam_led(bank & 3);
  558.                         return;
  559.                     }
  560.                     if ( dword_105E0B00 < 3 )
  561.                     {
  562.                         coreGlobals.tmpLampMatrix[dword_105E0B04 + dword_105E0B00 + 2 * dword_105E0B04 + 10] = bank & 0x7F;
  563.                         byte_105E0AF9 = bank;
  564.                         coreGlobals.lampMatrix[dword_105E0B04 + dword_105E0B00 + 2 * dword_105E0B04 + 10] = bank & 0x7F;
  565.                         dword_105E0B00++;
  566.                         return;
  567.                     }
  568.                 }
  569.                 if ( core_gameData->hw.gameSpecific1 & 4 )
  570.                 {
  571.                     int test;
  572.                     test = bank & ~byte_105E0AF9;
  573.                     if ( (test < 0x80) && (test >= 0) )
  574.                     {
  575.                         dword_105E0B00++;
  576.                     }
  577.                     else
  578.                     {
  579.                         dword_105E0AFC = dword_105E0AFC == 0;
  580.                         dword_105E0B00 = 0;
  581.                     }
  582.                     if ( dword_105E0AFC )
  583.                     {
  584.                         if ( dword_105E0B00 == 1 )
  585.                         {
  586.                             byte_105E0AF9 = bank;
  587.                             dword_105E0B04 = sam_led(bank & 0x1F);
  588.                             return;
  589.                         }
  590.                         if ( dword_105E0B00 > 1 && dword_105E0B00 < 7 )
  591.                         {
  592.                             byte_105E0AF9 = bank;
  593.                             samlocals.minidata[16 * dword_105E0B04 + dword_105E0B00] = bank & 0x7F;
  594.                             return;
  595.                         }
  596.                     }
  597.                     else
  598.                     {
  599.                         if ( dword_105E0B00 < 6 )
  600.                         {
  601.                             coreGlobals.tmpLampMatrix[dword_105E0B00 + 10] = bank & 0x7F;
  602.                             coreGlobals.lampMatrix[dword_105E0B00 + 10] = bank & 0x7F;
  603.                         }
  604.                     }
  605.                 }
  606. LABEL_176:
  607.                 byte_105E0AF9 = bank;
  608.                 break;
  609.             case 8:
  610.                 sam_bank[0] = 0;
  611.                 sam_bank[1] = 0;
  612.                 sam_bank[2] = 0;
  613.                 sam_bank[3] = 0;
  614.                 sam_bank[4] = 0;
  615.                 sam_bank[5] = 0;
  616.                 sam_bank[46]++;
  617.                 if ( sam_bank[46] == 2 )
  618.                     dword_105E0AF4 = sam_led(bank);
  619.                 return;
  620.             case 10:
  621.                 sam_bank[46] = 0;
  622.                 sam_bank[5]++;
  623.                 if ( sam_bank[5] == 1 )
  624.                     coreGlobals.tmpLampMatrix[dword_105E0AF4] = core_revbyte(bank);
  625.                 return;
  626.             case 11:
  627.                 if ( core_gameData->hw.gameSpecific1 & SAM_MINIDMD3 )
  628.                 {
  629.                     if ( (bank & ~byte_105E0AF8) & 8 )
  630.                         dword_105E0AFC = 0;
  631.                     else if ( (bank & ~byte_105E0AF8) & 0x10 )
  632.                         dword_105E0AFC = 1;
  633.                 }
  634.                 if ( core_gameData->hw.gameSpecific1 & SAM_NOMINI3 && ~bank & 0x08 )
  635.                     coreGlobals.lampMatrix[10] = coreGlobals.tmpLampMatrix[10] = core_revbyte(byte_105E0AF9);
  636.                 if ( core_gameData->hw.gameSpecific1 & SAM_NOMINI4 && ~bank & 0x10 )
  637.                     coreGlobals.lampMatrix[10] = coreGlobals.tmpLampMatrix[10] = core_revbyte(byte_105E0AF9);
  638.                 if ( core_gameData->hw.gameSpecific1 & SAM_NOMINI5 )
  639.                 {
  640.                     if ( ~bank & 0x08 )
  641.                         coreGlobals.lampMatrix[8] = coreGlobals.tmpLampMatrix[8] = core_revbyte(byte_105E0AF9);
  642.                     if ( ~bank & 0x10 )
  643.                         coreGlobals.lampMatrix[9] = coreGlobals.tmpLampMatrix[9] = core_revbyte(byte_105E0AF9);
  644.                     if ( ~bank & 0x20 )
  645.                         coreGlobals.lampMatrix[10] = coreGlobals.tmpLampMatrix[10] = core_revbyte(byte_105E0AF9);
  646.                     if ( ~bank & 0x40 )
  647.                         logerror("Test");
  648.                 }
  649.                 if ( (~bank & 0x40) && (byte_105E0AF9 & 3) )
  650.                     logerror("error");
  651.                 byte_105E0AF8 = bank;
  652.                 return;
  653.              default:
  654.                 logerror("error");
  655.         }
  656.     }
  657. }
  658.  
  659. static WRITE32_HANDLER(samcpu_w)
  660. {
  661.     switch( offset )
  662.     {
  663.         //clock??
  664.         case 0x4021:
  665.         case 0x4023:
  666.         case 0x4025:
  667.         case 0x4027:
  668.         case 0x4029:
  669.         case 0x402b:
  670.         case 0x402d:
  671.         case 0x402f:
  672.         case 0x4031:
  673.         case 0x4033:
  674.             sam_cpu[offset] = 0x00000000;
  675.             //logerror("Test");
  676.             return;
  677.         //clock??
  678.         case 0x4022:
  679.         case 0x4024:
  680.         case 0x4026:
  681.         case 0x4028:
  682.         case 0x402a:
  683.         case 0x402c:
  684.         case 0x402e:
  685.         case 0x4030:
  686.         case 0x4032:
  687.         case 0x4034:
  688.             sam_cpu[offset] = 0xFFFF0000;
  689.             //logerror("Test");
  690.             return;
  691.  
  692.         case 0x4037:
  693.             logerror("Test");
  694.             return;
  695.  
  696.         case 0x4041:
  697.         case 0x408d:
  698.             logerror("Test");
  699.             break;
  700.  
  701.         case 0x4672:
  702.         case 0x4674:
  703.             logerror("Test");
  704.             break;
  705.  
  706.         case 0x4634:
  707.         case 0x4636:
  708.             logerror("Test");
  709.             break;
  710.  
  711.         default:
  712.             logerror("Test");
  713.             break;
  714.     }
  715.     sam_cpu[offset] = (sam_cpu[offset] & mem_mask) | (data & ~mem_mask);
  716. }
  717.  
  718. static MEMORY_WRITE32_START(sam_writemem)
  719.     { 0x00000000, 0x000FFFFF, MWA32_RAM, &sam_page0_ram},  // Boot RAM
  720.     { 0x00300000, 0x003FFFFF, MWA32_RAM, &sam_reset_ram},  // Swapped RAM
  721.     { 0x01000000, 0x0107FFFF, MWA32_RAM },
  722.     { 0x01080000, 0x0109EFFF, MWA32_RAM },
  723.     { 0x0109F000, 0x010FFFFF, samxilinx_w },
  724.     { 0x01100000, 0x01FFFFFF, samdmdram_w },
  725.     { 0x02100000, 0x0211FFFF, MWA32_RAM, &sam_cpu },
  726.     { 0x02400000, 0x02FFFFFF, sambank_w },
  727.     { 0x03000000, 0x030000FF, MWA32_RAM },
  728.     { 0x04000000, 0x047FFFFF, MWA32_RAM },
  729.     { 0x04800000, 0x04FFFFFF, MWA32_RAM },
  730.     { 0x05000000, 0x057FFFFF, MWA32_RAM },
  731.     { 0x05800000, 0x05FFFFFF, MWA32_RAM },
  732.     { 0x06000000, 0x067FFFFF, MWA32_RAM },
  733.     { 0x06800000, 0x06FFFFFF, MWA32_RAM },
  734.     { 0x07000000, 0x077FFFFF, MWA32_RAM },
  735.     { 0x07800000, 0x07FFFFFF, MWA32_RAM },
  736. MEMORY_END
  737.  
  738. //Ports
  739. static READ32_HANDLER(sam_port_r)
  740. {
  741.     data32_t data;
  742.     data = 3072;
  743.     return data;
  744. }
  745.  
  746. static WRITE32_HANDLER(sam_port_w)
  747. {
  748.     double l_vol = 0.0;
  749.     double r_vol = 0.0;
  750.  
  751.     if ( data & 0x10 )
  752.     {
  753.         if ( samlocals.msu[5] >= 0 )
  754.         {
  755.             samlocals.msu[4] |= ((data >> 5) & 1) << samlocals.msu[5];
  756.             samlocals.msu[5]--;
  757.         }
  758.     }
  759.     if ( data & 8 )
  760.     {
  761.         switch ( samlocals.msu[4] >> 8 )
  762.         {
  763.             case 0x10:
  764.                 samlocals.msu[0] = samlocals.msu[4];
  765.                 break;
  766.             case 0x11:
  767.                 samlocals.msu[1] = samlocals.msu[4];
  768.                 break;
  769.             case 0x12:
  770.                 samlocals.msu[2] = samlocals.msu[3] = (samlocals.msu[4] & 1);
  771.                 break;
  772.         }
  773.         if (samlocals.msu[2] == 0 )
  774.             l_vol = (samlocals.msu[0] & 0x7F) * 0.78125;
  775.         if (samlocals.msu[3] == 0 )
  776.             r_vol = (samlocals.msu[0] & 0x7F) * 0.78125;
  777.         mixer_set_stereo_volume(0, l_vol, r_vol);
  778.         samlocals.msu[5] = 16;
  779.         samlocals.msu[4] = 0;
  780.     }
  781. }
  782.  
  783. static PORT_READ32_START(sam_readport)
  784.     { 0x00, 0xFF, sam_port_r },
  785. PORT_END
  786.  
  787. static PORT_WRITE32_START(sam_writeport)
  788.     { 0x00, 0xFF, sam_port_w },
  789. PORT_END
  790.  
  791. //Machine
  792. static MACHINE_INIT(sam) {
  793.     at91_set_ram_pointers(sam_reset_ram, sam_page0_ram);
  794. }
  795.  
  796. static MACHINE_RESET(sam) {
  797.     memset(&samlocals, 0, sizeof(samlocals));
  798.     samlocals.msu[5] = 16;
  799.     samlocals.powerswitch = 1;
  800. }
  801.  
  802. static SWITCH_UPDATE(sam) {
  803.     if (inports) {
  804.         // 1111      .... checking 0x000X and putting into column 9
  805.         CORE_SETKEYSW(inports[SAM_COMINPORT], 0xF, 9);
  806.  
  807.         // 1111 1111 .... checking 0x0XX0 and putting those into column 0
  808.         CORE_SETKEYSW(inports[SAM_COMINPORT]>>4, 0xFF, 0);
  809.  
  810.         // 1100 0000 .... checking 0x8000 and 0x4000 and setting switch column 2
  811.         CORE_SETKEYSW(inports[SAM_COMINPORT]>>8, 0xC0, 2);
  812.  
  813.         // 0x1000(coin door) >> 12
  814.         samlocals.powerswitch = ~(inports[SAM_COMINPORT]>>12) & 0x01;
  815.     }
  816. }
  817.  
  818. static INTERRUPT_GEN(sam_vblank) {
  819.     samlocals.vblankCount += 1;
  820.     memcpy(coreGlobals.lampMatrix, coreGlobals.tmpLampMatrix, 40);
  821.     if ((samlocals.vblankCount % SAM_DISPLAYSMOOTH) == 0) {
  822.         coreGlobals.diagnosticLed = samlocals.diagnosticLed;
  823.         samlocals.diagnosticLed = 0;
  824.     }
  825.     coreGlobals.solenoids = samlocals.solenoids;
  826.     coreGlobals.solenoids2 = samlocals.solenoids2;
  827.     core_updateSw(TRUE);
  828. }
  829.  
  830. static NVRAM_HANDLER(sam) {
  831.     core_nvram(file, read_or_write, sam_cpu, 0x20000, 0xff);
  832. }
  833.  
  834. static void sam_timer(int data)
  835. {
  836.     samlocals.zc = (samlocals.zc == 0);
  837. }
  838.  
  839. static INTERRUPT_GEN(sam_irq)
  840. {  
  841.     cpu_set_irq_line(SAM_CPU, 0, PULSE_LINE);
  842. }
  843.  
  844. static MACHINE_DRIVER_START(sam)
  845.     MDRV_IMPORT_FROM(PinMAME)
  846.     MDRV_SWITCH_UPDATE(sam)
  847.     MDRV_CPU_ADD(AT91, SAM_CPUFREQ)
  848.     MDRV_CPU_MEMORY(sam_readmem, sam_writemem)
  849.     MDRV_CPU_PORTS(sam_readport, sam_writeport)
  850.     MDRV_CPU_VBLANK_INT(sam_vblank, 1)
  851.     MDRV_CPU_PERIODIC_INT(sam_irq, SAM_IRQFREQ)
  852.     MDRV_CORE_INIT_RESET_STOP(sam, sam, NULL)
  853.     MDRV_DIPS(8)
  854.     MDRV_NVRAM_HANDLER(sam)
  855.     MDRV_TIMER_ADD(sam_timer, 143)
  856.     MDRV_SOUND_ADD(CUSTOM, samCustInt)
  857.     MDRV_DIAGNOSTIC_LEDH(2)
  858. MACHINE_DRIVER_END
  859.  
  860. static MACHINE_DRIVER_START(sam_fast)
  861.     MDRV_IMPORT_FROM(PinMAME)
  862.     MDRV_SWITCH_UPDATE(sam)
  863.     MDRV_CPU_ADD(AT91, SAM_CPUFREQ)
  864.     MDRV_CPU_MEMORY(sam_readmem, sam_writemem)
  865.     MDRV_CPU_PORTS(sam_readport, sam_writeport)
  866.     MDRV_CPU_VBLANK_INT(sam_vblank, 1)
  867.     MDRV_CPU_PERIODIC_INT(sam_irq, SAM_IRQFREQ)
  868.     MDRV_CORE_INIT_RESET_STOP(sam, sam, NULL)
  869.     MDRV_DIPS(8)
  870.     MDRV_NVRAM_HANDLER(sam)
  871.     MDRV_TIMER_ADD(sam_timer, 143)
  872.     MDRV_SOUND_ADD(CUSTOM, samCustInt)
  873.     MDRV_DIAGNOSTIC_LEDH(2)
  874. MACHINE_DRIVER_END
  875.  
  876. #define INITGAME(name, gen, disp, lampcol, hw) \
  877.     static core_tGameData name##GameData = { \
  878.         gen, disp, {FLIP_SW(FLIP_L) | FLIP_SOL(FLIP_L), 0, lampcol, 0, 0, 0, hw}}; \
  879.     static void init_##name(void) { core_gameData = &name##GameData; }
  880.  
  881. //Memory Regions
  882. #define SAM_CPU1REGION  REGION_CPU1
  883. #define SAM_CPU2REGION  REGION_CPU2
  884. #define SAM_ROMREGION   REGION_USER1
  885.  
  886. #define SAM_ROMLOAD_BOOT(name, n1, chk1, size) \
  887.   ROM_START(name) \
  888.     ROM_REGION(0x01FFFFFF, SAM_ROMREGION, 2) \
  889.       ROM_LOAD(n1, 0x00000000, size, chk1) \
  890.     ROM_REGION(0x05000000, SAM_CPU1REGION, SAM_CPU2REGION) \
  891.     ROM_COPY( SAM_ROMREGION, 0, 0x00000000, 0x00FFFFFF) \
  892.     ROM_COPY( SAM_ROMREGION, 0, 0x02000000, 0x00100000)
  893.  
  894. #define SAM_ROMLOAD(name, n1, chk1, size) \
  895.   ROM_START(name) \
  896.     ROM_REGION(0x03FFFFFF, SAM_ROMREGION, 2) \
  897.       ROM_LOAD(n1, 0x00000000, size, chk1) \
  898.     ROM_REGION(0x07000000, SAM_CPU1REGION, SAM_CPU2REGION) \
  899.     ROM_COPY( SAM_ROMREGION, 0, 0x00000000, 0x00FFFFFF) \
  900.     ROM_COPY( SAM_ROMREGION, 0, 0x04000000, 0x00800000) \
  901.     ROM_COPY( SAM_ROMREGION, 0, 0x04800000, 0x00800000) \
  902.     ROM_COPY( SAM_ROMREGION, 0, 0x05000000, 0x00800000) \
  903.     ROM_COPY( SAM_ROMREGION, 0, 0x05800000, 0x00800000) \
  904.     ROM_COPY( SAM_ROMREGION, 0, 0x06000000, 0x00800000) \
  905.     ROM_COPY( SAM_ROMREGION, 0, 0x06800000, 0x00800000)
  906.  
  907. #define SAM_ROMLOAD64(name, n1, chk1, size) \
  908.   ROM_START(name) \
  909.     ROM_REGION(0x04EFFFFF, SAM_ROMREGION, 2) \
  910.       ROM_LOAD(n1, 0x00000000, size, chk1) \
  911.     ROM_REGION(0x07700000, SAM_CPU1REGION, SAM_CPU2REGION) \
  912.     ROM_COPY( SAM_ROMREGION, 0, 0x00000000, 0x00FFFFFF) \
  913.     ROM_COPY( SAM_ROMREGION, 0, 0x04000000, 0x00800000) \
  914.     ROM_COPY( SAM_ROMREGION, 0, 0x04800000, 0x00800000) \
  915.     ROM_COPY( SAM_ROMREGION, 0, 0x05000000, 0x00800000) \
  916.     ROM_COPY( SAM_ROMREGION, 0, 0x05800000, 0x00800000) \
  917.     ROM_COPY( SAM_ROMREGION, 0, 0x06000000, 0x00800000) \
  918.     ROM_COPY( SAM_ROMREGION, 0, 0x06800000, 0x00800000) \
  919.     ROM_COPY( SAM_ROMREGION, 0, 0x07000000, 0x00700000)
  920.  
  921. #define SAM_ROMEND ROM_END
  922.  
  923. //Displays
  924. static UINT8 hew[16] =
  925.     { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15};
  926. //  { 0, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 15, 15};
  927. PINMAME_VIDEO_UPDATE(samdmd_update) {
  928.  
  929.     UINT8 *RAM1;
  930.     UINT8 *RAM2;
  931.  
  932.     UINT8 temp;
  933.  
  934.     int ii, jj;
  935.     tDMDDot dotCol = {{0}};
  936.  
  937.     for( ii = 1; ii <= 32; ii++ )
  938.     {
  939.         UINT8 *line = &dotCol[ii][0];
  940.         for( jj = 0; jj < 128; jj++ )
  941.         {
  942.             RAM1 = memory_region(129) + 0x1080000 + (samlocals.ram1 * 0x1000) + ((ii - 1)*128) + jj;
  943.             RAM2 = memory_region(129) + 0x1080000 + (samlocals.ram2 * 0x1000) + ((ii - 1)*128) + jj;
  944.             temp = *RAM1;
  945.             if ((*RAM1 & 0xF0) == 0xF0)
  946.                 temp = *RAM2;
  947.             *line = hew[temp] + 63;
  948.             *line++;
  949.         }
  950.     }
  951.  
  952.     video_update_core_dmd(bitmap, cliprect, dotCol, layout);
  953.     return 0;
  954. }
  955.  
  956. PINMAME_VIDEO_UPDATE(samminidmd_update) {
  957.     tDMDDot dotCol;
  958.     int ii,kk,bits;
  959.     int dmd_x = (layout->left-10)/7;
  960.     int dmd_y = (layout->top-34)/9;
  961.  
  962.     for (ii = 0, bits = 0x40; ii < 7; ii++, bits >>= 1)
  963.         for (kk = 0; kk < 5; kk++)
  964.             dotCol[ii+1][kk] = samlocals.minidata[(dmd_y * 0x50) + (kk << 4) + dmd_x + 2] & bits ? 3 : 0;
  965.  
  966.     for (ii = 0; ii < 5; ii++) {
  967.         bits = 0;
  968.         for (kk = 0; kk < 7; kk++)
  969.             bits = (bits<<2) | dotCol[kk+1][ii];
  970.         coreGlobals.drawSeg[5*dmd_x + 35*dmd_y + ii] = bits;
  971.     }
  972.  
  973.     if (!pmoptions.dmd_only)
  974.         video_update_core_dmd(bitmap, cliprect, dotCol, layout);
  975.     return 0;
  976. }
  977.  
  978. PINMAME_VIDEO_UPDATE(samminidmd2_update) {
  979.     tDMDDot dotCol;
  980.     int ii,jj,kk,bits;
  981.  
  982.     for (jj = 0; jj < 5; jj++)
  983.         for (ii = 0, bits = 0x40; ii < 7; ii++, bits >>= 1)
  984.             for (kk = 0; kk < 5; kk++)
  985.                 dotCol[kk+1][ii+(jj*7)] = samlocals.minidata[(kk << 4) + jj + 2] & bits ? 3 : 0;
  986.  
  987.     for (ii = 0; ii < 35; ii++) {
  988.         bits = 0;
  989.         for (kk = 0; kk < 5; kk++)
  990.             bits = (bits<<2) | dotCol[kk+1][ii];
  991.         coreGlobals.drawSeg[ii] = bits;
  992.     }
  993.  
  994.     if (!pmoptions.dmd_only)
  995.         video_update_core_dmd(bitmap, cliprect, dotCol, layout);
  996.     return 0;}
  997.  
  998. static struct core_dispLayout sam_dmd128x32[] = {
  999.     {0, 0, 32, 128, CORE_DMD|CORE_DMDNOAA, (void *)samdmd_update},
  1000.     {0}
  1001. };
  1002.  
  1003. static struct core_dispLayout sammini1_dmd128x32[] = {
  1004.     DISP_SEG_IMPORT(sam_dmd128x32),
  1005.     {34, 10, 7, 5, CORE_DMD|CORE_DMDNOAA, (void *)samminidmd_update},
  1006.     {34, 17, 7, 5, CORE_DMD|CORE_DMDNOAA, (void *)samminidmd_update},
  1007.     {34, 24, 7, 5, CORE_DMD|CORE_DMDNOAA, (void *)samminidmd_update},
  1008.     {34, 31, 7, 5, CORE_DMD|CORE_DMDNOAA, (void *)samminidmd_update},
  1009.     {34, 38, 7, 5, CORE_DMD|CORE_DMDNOAA, (void *)samminidmd_update},
  1010.     {34, 45, 7, 5, CORE_DMD|CORE_DMDNOAA, (void *)samminidmd_update},
  1011.     {34, 52, 7, 5, CORE_DMD|CORE_DMDNOAA, (void *)samminidmd_update},
  1012.     {43, 10, 7, 5, CORE_DMD|CORE_DMDNOAA, (void *)samminidmd_update},
  1013.     {43, 17, 7, 5, CORE_DMD|CORE_DMDNOAA, (void *)samminidmd_update},
  1014.     {43, 24, 7, 5, CORE_DMD|CORE_DMDNOAA, (void *)samminidmd_update},
  1015.     {43, 31, 7, 5, CORE_DMD|CORE_DMDNOAA, (void *)samminidmd_update},
  1016.     {43, 38, 7, 5, CORE_DMD|CORE_DMDNOAA, (void *)samminidmd_update},
  1017.     {43, 45, 7, 5, CORE_DMD|CORE_DMDNOAA, (void *)samminidmd_update},
  1018.     {43, 52, 7, 5, CORE_DMD|CORE_DMDNOAA, (void *)samminidmd_update},
  1019.     {0}
  1020. };
  1021.  
  1022. static struct core_dispLayout sammini2_dmd128x32[] = {
  1023.     DISP_SEG_IMPORT(sam_dmd128x32),
  1024.     {34, 10, 5, 35, CORE_DMD|CORE_DMDNOAA, (void *)samminidmd2_update},
  1025.     {0}
  1026. };
  1027.  
  1028. //Games
  1029. //Boot Flash - complete
  1030. INITGAME(sam1_flashb, GEN_SAM, sam_dmd128x32, SAM_2COL, SAM_NOMINI);
  1031.  
  1032. SAM_ROMLOAD_BOOT(sam1_flashb_0102, "boot_102.bin", CRC(92c93cba) SHA1(aed7ba2f988df8c95e2ad08f70409152d5caa49a), 0x00100000)
  1033. SAM_ROMEND
  1034. SAM_ROMLOAD_BOOT(sam1_flashb_0106, "boot_106.bin", CRC(fe7bcece) SHA1(775590bbd52c24950db86cc231566ba3780030d8), 0x000e8ac8)
  1035. SAM_ROMEND
  1036. SAM_ROMLOAD_BOOT(sam1_flashb_0210, "boot_210.bin", CRC(0f3fd4a4) SHA1(115d0b73c40fcdb2d202a0a9065472d216ca89e0), 0x000f0304)
  1037. SAM_ROMEND
  1038. SAM_ROMLOAD_BOOT(sam1_flashb_0230, "boot_230.bin", CRC(a4258c49) SHA1(d865edf7d1c6d2c922980dd192222dc24bc092a0), 0x000f0624)
  1039. SAM_ROMEND
  1040. SAM_ROMLOAD_BOOT(sam1_flashb_0310, "boot_310.bin", CRC(de017f82) SHA1(e4a9a818fa3f1754374cd00b52b8a087d6c442a9), 0x00100000)
  1041. SAM_ROMEND
  1042.  
  1043. SAM_INPUT_PORTS_START(sam1_flashb, 1) SAM_INPUT_PORTS_END
  1044.  
  1045. CORE_GAMEDEF(sam1_flashb, 0102, "S.A.M Boot Flash Update (V1.02)", 2006, "Stern", sam, 0)
  1046. CORE_CLONEDEF(sam1_flashb, 0106, 0102, "S.A.M System Flash Boot (V1.06)", 2006, "Stern", sam, 0)
  1047. CORE_CLONEDEF(sam1_flashb, 0210, 0102, "S.A.M System Flash Boot (V2.10)", 2007, "Stern", sam, 0)
  1048. CORE_CLONEDEF(sam1_flashb, 0230, 0102, "S.A.M System Flash Boot (V2.30)", 2007, "Stern", sam, 0)
  1049. CORE_CLONEDEF(sam1_flashb, 0310, 0102, "S.A.M System Flash Boot (V3.10)", 2008, "Stern", sam, 0)
  1050.  
  1051. //World Poker Tour - complete
  1052. INITGAME(wpt, GEN_SAM, sammini1_dmd128x32, SAM_2COL, SAM_MINIDMD);
  1053.  
  1054. SAM_ROMLOAD(wpt_103a, "wpt0103a.bin", CRC(cd5f80bc) SHA1(4aaab2bf6b744e1a3c3509dc9dd2416ff3320cdb), 0x019bb1dc)
  1055. SAM_ROMEND
  1056.  
  1057. SAM_ROMLOAD(wpt_105a, "wpt0105a.bin", CRC(51608819) SHA1(a14aa47bdbce1dc958504d866ac963b06cd93bef), 0x019bb198)
  1058. SAM_ROMEND
  1059.  
  1060. SAM_ROMLOAD(wpt_106a, "wpt0106a.bin", CRC(72fd2e58) SHA1(3e910b964d0dc67fd538c027b474b3587b216ce5), 0x019bb198)
  1061. SAM_ROMEND
  1062. SAM_ROMLOAD(wpt_106f, "wpt0106f.bin", CRC(efa3eeb9) SHA1(a5260511b6325917a9076bac6c92f1a8472142b8), 0x01aa3fdc)
  1063. SAM_ROMEND
  1064. SAM_ROMLOAD(wpt_106g, "wpt0106g.bin", CRC(9b486bc4) SHA1(c2c3c426201db99303131c5efb4275291ab721d7), 0x01a33de8)
  1065. SAM_ROMEND
  1066. SAM_ROMLOAD(wpt_106i, "wpt0106i.bin", CRC(177146f0) SHA1(279380fcc3924a8bb8e3002a66c317473d3fc773), 0x01b2c6ec)
  1067. SAM_ROMEND
  1068. SAM_ROMLOAD(wpt_106l, "wpt0106l.bin", CRC(e38034a1) SHA1(c391887a90f9387f86dc94e22bb7fca57c8e91be), 0x01c706d8)
  1069. SAM_ROMEND
  1070.  
  1071. SAM_ROMLOAD(wpt_108a, "wpt0108a.bin", CRC(bca1f1f7) SHA1(cba81c9645f91f4b0b62ec1eed514069248c19b7), 0x019bb198)
  1072. SAM_ROMEND
  1073. SAM_ROMLOAD(wpt_108f, "wpt0108f.bin", CRC(b1a8f235) SHA1(ea7b553f2340eb82c34f7e95f4dee6fdd3026f14), 0x01aa3fdc)
  1074. SAM_ROMEND
  1075. SAM_ROMLOAD(wpt_108g, "wpt0108g.bin", CRC(b77ccfae) SHA1(730de2c5e9fa85e25ce799577748c9cf7b83c5e0), 0x01a33de8)
  1076. SAM_ROMEND
  1077. SAM_ROMLOAD(wpt_108i, "wpt0108i.bin", CRC(748362f2) SHA1(174733a2d0f45c46dca8bc6d6bc35d39e36e465d), 0x01b2c6ec)
  1078. SAM_ROMEND
  1079. SAM_ROMLOAD(wpt_108l, "wpt0108l.bin", CRC(6440224a) SHA1(e1748f0204464d134c5f5083b5c12723186c0422), 0x01c706d8)
  1080. SAM_ROMEND
  1081.  
  1082. SAM_ROMLOAD(wpt_109a, "wpt0109a.bin", CRC(6702e90c) SHA1(5d208894ef293c8a7157ab27eac9a8bca012dc43), 0x019bb198)
  1083. SAM_ROMEND
  1084. SAM_ROMLOAD(wpt_109f, "wpt0109f.bin", CRC(44f64903) SHA1(f3bcb8acbc8a6cad6f8573f78de53ce8336e7879), 0x01aa3fdc)
  1085. SAM_ROMEND
  1086. SAM_ROMLOAD(wpt_109f2, "wpt0109f2.bin", CRC(656f3957) SHA1(8c68b00fe528f6467a9c34663bbaa9bc308fc971), 0x01aa3fdc)
  1087. SAM_ROMEND
  1088. SAM_ROMLOAD(wpt_109g, "wpt0109g.bin", CRC(0699b279) SHA1(e645361f02865aa5560a4bbae45e085df0c4ae22), 0x01a33de8)
  1089. SAM_ROMEND
  1090. SAM_ROMLOAD(wpt_109i, "wpt0109i.bin", CRC(87e5f39f) SHA1(9c79bb0f9ebb5f4f4b9ef959f56812a3fe2fda11), 0x01b2c6ec)
  1091. SAM_ROMEND
  1092. SAM_ROMLOAD(wpt_109l, "wpt0109l.bin", CRC(a724e6c4) SHA1(161c9e6319a305953ac169cdeceeca304ab582e6), 0x01c706d8)
  1093. SAM_ROMEND
  1094.  
  1095. SAM_ROMLOAD(wpt_111a, "wpt0111a.bin", CRC(423138a9) SHA1(8df7b9358cacb9399c7886b9905441dc727693a6), 0x019bb19c)
  1096. SAM_ROMEND
  1097. SAM_ROMLOAD(wpt_111af,"wpt0111af.bin", CRC(e3a53741) SHA1(395ffe5e25248504d61bb1c96b914e712e7360c3), 0x01a46cf0)
  1098. SAM_ROMEND
  1099. SAM_ROMLOAD(wpt_111ai, "wpt0111ai.bin", CRC(a1e819c5) SHA1(f4e2dc6473f31e7019495d0f37b9b60f2c252f70), 0x01a8c8b8)
  1100. SAM_ROMEND
  1101. SAM_ROMLOAD(wpt_111al, "wpt0111al.bin", CRC(fbe2e2cf) SHA1(ed837d6ecc1f312c84a2fd235ade86227c2df843), 0x01b2ebb0)
  1102. SAM_ROMEND
  1103. SAM_ROMLOAD(wpt_111f, "wpt0111f.bin", CRC(25573be5) SHA1(20a33f387fbf150adda835d2f91ec456077e4c41), 0x01aa3fe0)
  1104. SAM_ROMEND
  1105. SAM_ROMLOAD(wpt_111g, "wpt0111g.bin", CRC(96782b8e) SHA1(4b89f0d44894f0157397a65a93346e637d71c4f2), 0x01a33dec)
  1106. SAM_ROMEND
  1107. SAM_ROMLOAD(wpt_111gf, "wpt0111gf.bin", CRC(c1488680) SHA1(fc652273e55d32b0c6e8e12c8ece666edac42962), 0x01a74b80)
  1108. SAM_ROMEND
  1109. SAM_ROMLOAD(wpt_111i, "wpt0111i.bin", CRC(4d718e63) SHA1(3ae6cefd6f96a31634f1399d1ce5d2c60955a93c), 0x01b2c6f0)
  1110. SAM_ROMEND
  1111. SAM_ROMLOAD(wpt_111l, "wpt0111l.bin", CRC(61f4e257) SHA1(10b11e1340593c9555ff88b0ac971433583fbf13), 0x01c706dc)
  1112. SAM_ROMEND
  1113.  
  1114. SAM_ROMLOAD(wpt_112a, "wpt0112a.bin", CRC(b98b4bf9) SHA1(75257a2759978d5fc699f78e809543d1cc8c456b), 0x019bb1b0)
  1115. SAM_ROMEND
  1116. SAM_ROMLOAD(wpt_112af,"wpt0112af.bin", CRC(8fe1e3c8) SHA1(837bfc2cf7f4601f99d110428f5de5dd69d2186f), 0x01A46D04)
  1117. SAM_ROMEND
  1118. SAM_ROMLOAD(wpt_112ai, "wpt0112ai.bin", CRC(ac878dfb) SHA1(13db57c77f5d75e87b21d3cfd7aba5dcbcbef59b), 0x01A8C8CC)
  1119. SAM_ROMEND
  1120. SAM_ROMLOAD(wpt_112al, "wpt0112al.bin", CRC(2c0dc704) SHA1(d5735977463ee92d87aba3a41d368b92a76b2908), 0x011B2EBC4)
  1121. SAM_ROMEND
  1122. SAM_ROMLOAD(wpt_112f, "wpt0112f.bin", CRC(1f7e081c) SHA1(512d44353f619f974d98294c55378f5a1ab2d04b), 0x01AA3FF4)
  1123. SAM_ROMEND
  1124. SAM_ROMLOAD(wpt_112g, "wpt0112g.bin", CRC(2fbac57d) SHA1(fb19e7a4a5384fc8c91e166617dad29a47b2d8b0), 0x01A33E00)
  1125. SAM_ROMEND
  1126. SAM_ROMLOAD(wpt_112gf, "wpt0112gf.bin", CRC(a6b933b3) SHA1(72a36a427527c3c5cb455a74afbbb43f2bee6480), 0x01A74B94)
  1127. SAM_ROMEND
  1128. SAM_ROMLOAD(wpt_112i, "wpt0112i.bin", CRC(0ba02986) SHA1(db1cbe0611d40c334205d0a8b9f5c6147b259549), 0x01B2C704)
  1129. SAM_ROMEND
  1130. SAM_ROMLOAD(wpt_112l, "wpt0112l.bin", CRC(203c3a05) SHA1(6173f6a6110e2a226beb566371b2821b0a5b8609), 0x01C706F0)
  1131. SAM_ROMEND
  1132.  
  1133. SAM_ROMLOAD(wpt_140a, "wpt1400a.bin", CRC(4b287770) SHA1(e19b60a08de9067a2b4c4dd71783fc812b3c7648), 0x019BB1EC)
  1134. SAM_ROMEND
  1135. SAM_ROMLOAD(wpt_140af,"wpt1400af.bin", CRC(bed3e3f1) SHA1(43b9cd6deccc8e516e2f5e99295b751ccadbac29), 0x01A46D40)
  1136. SAM_ROMEND
  1137. SAM_ROMLOAD(wpt_140ai, "wpt1400ai.bin", CRC(12a62641) SHA1(680283a7493921904f7fe9fae10d965db839f986), 0x01A8C908)
  1138. SAM_ROMEND
  1139. SAM_ROMLOAD(wpt_140al, "wpt1400al.bin", CRC(2f06204b) SHA1(c7a0b645258dc1aca6a297641bc5cc10c255d5a7), 0x01B2EC00)
  1140. SAM_ROMEND
  1141. SAM_ROMLOAD(wpt_140f, "wpt1400f.bin", CRC(3c9ce123) SHA1(5e9f6c9e5d4cdba36b7eacc24b602ea4dde92514), 0x01AA4030)
  1142. SAM_ROMEND
  1143. SAM_ROMLOAD(wpt_140g, "wpt1400g.bin", CRC(5f8216da) SHA1(79b79acf7c457e6d70af458712bf946094d08d2a), 0x01A33E3C)
  1144. SAM_ROMEND
  1145. SAM_ROMLOAD(wpt_140gf, "wpt1400gf.bin", CRC(7be526fa) SHA1(a42e5c2c1fde9ab97d7dcfe64b8c0055372729f3), 0x01A74BD0)
  1146. SAM_ROMEND
  1147. SAM_ROMLOAD(wpt_140i, "wpt1400i.bin", CRC(9f19ed03) SHA1(4ef570be084b1e5196a19b7f516f621025c174bc), 0x01B2C740)
  1148. SAM_ROMEND
  1149. SAM_ROMLOAD(wpt_140l, "wpt1400l.bin", CRC(00eff09c) SHA1(847203d4d2ce8d11a5403374f2d5b6dda8458bc9), 0x01C7072C)
  1150. SAM_ROMEND
  1151.  
  1152. SAM_INPUT_PORTS_START(wpt, 1) SAM_INPUT_PORTS_END
  1153.  
  1154. CORE_GAMEDEF(wpt, 103a, "World Poker Tour (V1.03)", 2006, "Stern", sam, 0)
  1155.  
  1156. CORE_CLONEDEF(wpt, 105a, 103a, "World Poker Tour (V1.05)", 2006, "Stern", sam, 0)
  1157.  
  1158. CORE_CLONEDEF(wpt, 106a, 103a, "World Poker Tour (V1.06)", 2006, "Stern", sam, 0)
  1159. CORE_CLONEDEF(wpt, 106f, 103a, "World Poker Tour (V1.06) (French)", 2006, "Stern", sam, 0)
  1160. CORE_CLONEDEF(wpt, 106g, 103a, "World Poker Tour (V1.06) (German)", 2006, "Stern", sam, 0)
  1161. CORE_CLONEDEF(wpt, 106i, 103a, "World Poker Tour (V1.06) (Italian)", 2006, "Stern", sam, 0)
  1162. CORE_CLONEDEF(wpt, 106l, 103a, "World Poker Tour (V1.06) (Spanish)", 2006, "Stern", sam, 0)
  1163.  
  1164. CORE_CLONEDEF(wpt, 108a, 103a, "World Poker Tour (V1.08)", 2006, "Stern", sam, 0)
  1165. CORE_CLONEDEF(wpt, 108f, 103a, "World Poker Tour (V1.08) (French)", 2006, "Stern", sam, 0)
  1166. CORE_CLONEDEF(wpt, 108g, 103a, "World Poker Tour (V1.08) (German)", 2006, "Stern", sam, 0)
  1167. CORE_CLONEDEF(wpt, 108i, 103a, "World Poker Tour (V1.08) (Italian)", 2006, "Stern", sam, 0)
  1168. CORE_CLONEDEF(wpt, 108l, 103a, "World Poker Tour (V1.08) (Spanish)", 2006, "Stern", sam, 0)
  1169.  
  1170. CORE_CLONEDEF(wpt, 109a, 103a, "World Poker Tour (V1.09)", 2006, "Stern", sam, 0)
  1171. CORE_CLONEDEF(wpt, 109f, 103a, "World Poker Tour (V1.09) (French)", 2006, "Stern", sam, 0)
  1172. CORE_CLONEDEF(wpt, 109f2,103a, "World Poker Tour (V1.09-2) (French)", 2006, "Stern", sam, 0)
  1173. CORE_CLONEDEF(wpt, 109g, 103a, "World Poker Tour (V1.09) (German)", 2006, "Stern", sam, 0)
  1174. CORE_CLONEDEF(wpt, 109i, 103a, "World Poker Tour (V1.09) (Italian)", 2006, "Stern", sam, 0)
  1175. CORE_CLONEDEF(wpt, 109l, 103a, "World Poker Tour (V1.09) (Spanish)", 2006, "Stern", sam, 0)
  1176.  
  1177. CORE_CLONEDEF(wpt, 111a, 103a, "World Poker Tour (V1.11)", 2006, "Stern", sam, 0)
  1178. CORE_CLONEDEF(wpt, 111af, 103a, "World Poker Tour (V1.11) (English, French)", 2006, "Stern", sam, 0)
  1179. CORE_CLONEDEF(wpt, 111ai, 103a, "World Poker Tour (V1.11) (English, Italian)", 2006, "Stern", sam, 0)
  1180. CORE_CLONEDEF(wpt, 111al, 103a, "World Poker Tour (V1.11) (English, Spanish)", 2006, "Stern", sam, 0)
  1181. CORE_CLONEDEF(wpt, 111f, 103a, "World Poker Tour (V1.11) (French)", 2006, "Stern", sam, 0)
  1182. CORE_CLONEDEF(wpt, 111g, 103a, "World Poker Tour (V1.11) (German)", 2006, "Stern", sam, 0)
  1183. CORE_CLONEDEF(wpt, 111gf, 103a, "World Poker Tour (V1.11) (German, French)", 2006, "Stern", sam, 0)
  1184. CORE_CLONEDEF(wpt, 111i, 103a, "World Poker Tour (V1.11) (Italian)", 2006, "Stern", sam, 0)
  1185. CORE_CLONEDEF(wpt, 111l, 103a, "World Poker Tour (V1.11) (Spanish)", 2006, "Stern", sam, 0)
  1186.  
  1187. CORE_CLONEDEF(wpt, 112a, 103a, "World Poker Tour (V1.12)", 2006, "Stern", sam, 0)
  1188. CORE_CLONEDEF(wpt, 112af, 103a, "World Poker Tour (V1.12) (English, French)", 2006, "Stern", sam, 0)
  1189. CORE_CLONEDEF(wpt, 112ai, 103a, "World Poker Tour (V1.12) (English, Italian)", 2006, "Stern", sam, 0)
  1190. CORE_CLONEDEF(wpt, 112al, 103a, "World Poker Tour (V1.12) (English, Spanish)", 2006, "Stern", sam, 0)
  1191. CORE_CLONEDEF(wpt, 112f, 103a, "World Poker Tour (V1.12) (French)", 2006, "Stern", sam, 0)
  1192. CORE_CLONEDEF(wpt, 112g, 103a, "World Poker Tour (V1.12) (German)", 2006, "Stern", sam, 0)
  1193. CORE_CLONEDEF(wpt, 112gf, 103a, "World Poker Tour (V1.12) (German, French)", 2006, "Stern", sam, 0)
  1194. CORE_CLONEDEF(wpt, 112i, 103a, "World Poker Tour (V1.12) (Italian)", 2006, "Stern", sam, 0)
  1195. CORE_CLONEDEF(wpt, 112l, 103a, "World Poker Tour (V1.12) (Spanish)", 2006, "Stern", sam, 0)
  1196.  
  1197. CORE_CLONEDEF(wpt, 140a, 103a, "World Poker Tour (V14.00)", 2008, "Stern", sam, 0)
  1198. CORE_CLONEDEF(wpt, 140af, 103a, "World Poker Tour (V14.00) (English, French)", 2008, "Stern", sam, 0)
  1199. CORE_CLONEDEF(wpt, 140ai, 103a, "World Poker Tour (V14.00) (English, Italian)", 2008, "Stern", sam, 0)
  1200. CORE_CLONEDEF(wpt, 140al, 103a, "World Poker Tour (V14.00) (English, Spanish)", 2008, "Stern", sam, 0)
  1201. CORE_CLONEDEF(wpt, 140f, 103a, "World Poker Tour (V14.00) (French)", 2008, "Stern", sam, 0)
  1202. CORE_CLONEDEF(wpt, 140g, 103a, "World Poker Tour (V14.00) (German)", 2008, "Stern", sam, 0)
  1203. CORE_CLONEDEF(wpt, 140gf, 103a, "World Poker Tour (V14.00) (German, French)", 2008, "Stern", sam, 0)
  1204. CORE_CLONEDEF(wpt, 140i, 103a, "World Poker Tour (V14.00) (Italian)", 2008, "Stern", sam, 0)
  1205. CORE_CLONEDEF(wpt, 140l, 103a, "World Poker Tour (V14.00) (Spanish)", 2008, "Stern", sam, 0)
  1206.  
  1207. //Simpson's Kooky Carnival Redemption - good - complete
  1208. INITGAME(scarn9nj, GEN_SAM, sam_dmd128x32, SAM_2COL, SAM_NOMINI);
  1209. INITGAME(scarn103, GEN_SAM, sam_dmd128x32, SAM_2COL, SAM_NOMINI);
  1210. INITGAME(scarn, GEN_SAM, sam_dmd128x32, SAM_2COL, SAM_NOMINI);
  1211.  
  1212. SAM_ROMLOAD(scarn9nj, "scarn09nj.bin", CRC(3a9142e0) SHA1(57d75763fb52c891d1bb16e85ae170c38e6dd818), 0x0053B7CC)
  1213. SAM_ROMEND
  1214. SAM_ROMLOAD(scarn103, "scarn103.bin", CRC(69f5bb8a) SHA1(436db9872d5809c7ed5fe607c4167cdc0e1b5294), 0x0053A860)
  1215. SAM_ROMEND
  1216. SAM_ROMLOAD(scarn, "scarn105.bin", CRC(a09ffa33) SHA1(fab75f338a5d6c82632cd0804ddac1ab78466636), 0x0053DD14)
  1217. SAM_ROMEND
  1218.  
  1219. SAM_INPUT_PORTS_START(scarn9nj, 1) SAM_INPUT_PORTS_END
  1220. SAM_INPUT_PORTS_START(scarn103, 1) SAM_INPUT_PORTS_END
  1221. SAM_INPUT_PORTS_START(scarn, 1) SAM_INPUT_PORTS_END
  1222.  
  1223. CORE_GAMEDEFNV(scarn9nj, "Simpson's Kooky Carnival Redemption (V0.9) (New Jersey)", 2006, "Stern", sam, 0)
  1224. CORE_CLONEDEFNV(scarn103, scarn9nj, "Simpson's Kooky Carnival Redemption (V1.03)", 2006, "Stern", sam, 0)
  1225. CORE_CLONEDEFNV(scarn, scarn9nj, "Simpson's Kooky Carnival Redemption (V1.05)", 2006, "Stern", sam, 0)
  1226.  
  1227. //Family Guy - good - complete
  1228. INITGAME(fg, GEN_SAM, sam_dmd128x32, SAM_8COL, SAM_NOMINI2);
  1229.  
  1230. SAM_ROMLOAD(fg_300ai, "fg300ai.bin", CRC(e2cffa79) SHA1(59dff445118ed8a3a76b6e93950802d1fec87619), 0x01FC0290)
  1231. SAM_ROMEND
  1232.  
  1233. SAM_ROMLOAD(fg_400a, "fg400a.bin", CRC(af6c2dd4) SHA1(e3164e982c90a5300144e63e4a74dd225fe1b272), 0x013E789C)
  1234. SAM_ROMEND
  1235. SAM_ROMLOAD(fg_400ag, "fg400ag.bin", CRC(3b4ae199) SHA1(4ef674badce2c90334fa7a8b6b90c32dcabc2334), 0x01971684)
  1236. SAM_ROMEND
  1237.  
  1238. SAM_ROMLOAD(fg_700af, "fg700af.bin", CRC(bbeda480) SHA1(e312a3b24f1b69db9f88a5313db168d9f2a71450), 0x01A4D3D4)
  1239. SAM_ROMEND
  1240. SAM_ROMLOAD(fg_700al, "fg700al.bin", CRC(25288f43) SHA1(5a2ed2e0b264895938466ca1104ba4ed9be86b3a), 0x01BCE8F8)
  1241. SAM_ROMEND
  1242.  
  1243. SAM_ROMLOAD(fg_800al, "fg800al.bin", CRC(b74dc3bc) SHA1(b24bab06b9f451cf9f068c555d3f70ffdbf40da7), 0x01BC6CB4)
  1244. SAM_ROMEND
  1245.  
  1246. SAM_ROMLOAD(fg_1000af, "fg1000af.bin", CRC(27cabf5d) SHA1(dde359c1fed728c8f91901f5ce351b5adef399f3), 0x01CE5514)
  1247. SAM_ROMEND
  1248. SAM_ROMLOAD(fg_1000ag, "fg1000ag.bin", CRC(130e0bd6) SHA1(ced815270d419704d94d5acdc5335460a64484ae), 0x01C53678)
  1249. SAM_ROMEND
  1250. SAM_ROMLOAD(fg_1000ai, "fg1000ai.bin", CRC(2137e62a) SHA1(ac892d2536c5dde97194ffb69c74d0517000357a), 0x01D9F8B8)
  1251. SAM_ROMEND
  1252. SAM_ROMLOAD(fg_1000al, "fg1000al.bin", CRC(0f570f24) SHA1(8861bf3e6add7a5372d81199c135808d09b5e600), 0x01E5F448)
  1253. SAM_ROMEND
  1254.  
  1255. SAM_ROMLOAD(fg_1100af, "fg1100af.bin", CRC(31304627) SHA1(f36d6924f1f291f675f162ff056b6ea2f03f4351), 0x01CE5514)
  1256. SAM_ROMEND
  1257. SAM_ROMLOAD(fg_1100ag, "fg1100ag.bin", CRC(d2735578) SHA1(a38b8f690ffcdb96875d3c8293e6602d7142be11), 0x01C53678)
  1258. SAM_ROMEND
  1259. SAM_ROMLOAD(fg_1100ai, "fg1100ai.bin", CRC(4fa2c59e) SHA1(7fce5c1fd306eccc567ae7d155c782649c022074), 0x01D9F8B8)
  1260. SAM_ROMEND
  1261. SAM_ROMLOAD(fg_1100al, "fg1100al.bin", CRC(d9b724a8) SHA1(33ac12fd4bbed11e38ade68426547ed97612cbd3), 0x01E5F448)
  1262. SAM_ROMEND
  1263.  
  1264. SAM_ROMLOAD(fg_1200ai, "fg1200ai.bin", CRC(078b0c9a) SHA1(f1472d2c4a06d674bf652dd481cce5d6ca125e0c), 0x01D9F8B8)
  1265. SAM_ROMEND
  1266. SAM_ROMLOAD(fg_1200al, "fg1200al.bin", CRC(d10cff88) SHA1(e312a3b24f1b69db9f88a5313db168d9f2a71450), 0x01E5F448)
  1267. SAM_ROMEND
  1268. SAM_ROMLOAD(fg_1200af, "fg1200af.bin", CRC(ba6a3a2e) SHA1(78eb2e26abe00d7ce5fa998b6ec1381ac0f1db31), 0x01CE5514)
  1269. SAM_ROMEND
  1270. SAM_ROMLOAD(fg_1200ag, "fg1200ag.bin", CRC(d9734f94) SHA1(d56ddf5961e5ac4c3565f9d92d6fb7e0e0af4bcb), 0x01C53678)
  1271. SAM_ROMEND
  1272.  
  1273. SAM_INPUT_PORTS_START(fg, 1) SAM_INPUT_PORTS_END
  1274.  
  1275. CORE_GAMEDEF(fg, 300ai, "Family Guy (V3.00) (English, Italian)", 2007, "Stern", sam, 0)
  1276.  
  1277. CORE_CLONEDEF(fg, 400a, 300ai, "Family Guy (V4.00) (English)", 2007, "Stern", sam, 0)
  1278. CORE_CLONEDEF(fg, 400ag, 300ai, "Family Guy (V4.00) (English, German)", 2007, "Stern", sam, 0)
  1279.  
  1280. CORE_CLONEDEF(fg, 700af, 300ai, "Family Guy (V7.00) (English, French)", 2007, "Stern", sam, 0)
  1281. CORE_CLONEDEF(fg, 700al, 300ai, "Family Guy (V7.00) (English, Spanish)", 2007, "Stern", sam, 0)
  1282.  
  1283. CORE_CLONEDEF(fg, 800al, 300ai, "Family Guy (V8.00) (English, Spanish)", 2007, "Stern", sam, 0)
  1284.  
  1285. CORE_CLONEDEF(fg, 1000af, 300ai, "Family Guy (V10.00) (English, French)", 2007, "Stern", sam, 0)
  1286. CORE_CLONEDEF(fg, 1000ag, 300ai, "Family Guy (V10.00) (English, German)", 2007, "Stern", sam, 0)
  1287. CORE_CLONEDEF(fg, 1000ai, 300ai, "Family Guy (V10.00) (English, Italian)", 2007, "Stern", sam, 0)
  1288. CORE_CLONEDEF(fg, 1000al, 300ai, "Family Guy (V10.00) (English, Spanish)", 2007, "Stern", sam, 0)
  1289.  
  1290. CORE_CLONEDEF(fg, 1100af, 300ai, "Family Guy (V11.00) (English, French)", 2007, "Stern", sam, 0)
  1291. CORE_CLONEDEF(fg, 1100ag, 300ai, "Family Guy (V11.00) (English, German)", 2007, "Stern", sam, 0)
  1292. CORE_CLONEDEF(fg, 1100ai, 300ai, "Family Guy (V11.00) (English, Italian)", 2007, "Stern", sam, 0)
  1293. CORE_CLONEDEF(fg, 1100al, 300ai, "Family Guy (V11.00) (English, Spanish)", 2007, "Stern", sam, 0)
  1294.  
  1295. CORE_CLONEDEF(fg, 1200af, 300ai, "Family Guy (V12.00) (English, French)", 2008, "Stern", sam, 0)
  1296. CORE_CLONEDEF(fg, 1200ag, 300ai, "Family Guy (V12.00) (English, German)", 2008, "Stern", sam, 0)
  1297. CORE_CLONEDEF(fg, 1200ai, 300ai, "Family Guy (V12.00) (English, Italian)", 2008, "Stern", sam, 0)
  1298. CORE_CLONEDEF(fg, 1200al, 300ai, "Family Guy (V12.00) (English, Spanish)", 2008, "Stern", sam, 0)
  1299.  
  1300. //Pirates of the Caribbean - good - complete
  1301. INITGAME(potc, GEN_SAM, sam_dmd128x32, SAM_2COL, SAM_NOMINI);
  1302.  
  1303. SAM_ROMLOAD(potc_110af, "potc110af.bin", CRC(9d87bb49) SHA1(9db04259a0b2733d6f5966a2f3e0fc1c7002cef1), 0x01AC6550)
  1304. SAM_ROMEND
  1305. SAM_ROMLOAD(potc_110ai, "potc110ai.bin", CRC(027916d9) SHA1(0ddc0fa86da55ea0494f2095c838b41b53f568de), 0x01B178E8)
  1306. SAM_ROMEND
  1307. SAM_ROMLOAD(potc_110gf, "potc110gf.bin", CRC(ce29b69c) SHA1(ecc9ad8f77ab30538536631d513d25654f5a2f3c), 0x01B60464)
  1308. SAM_ROMEND
  1309.  
  1310. SAM_ROMLOAD(potc_111as, "potc111as.bin", CRC(09903169) SHA1(e284b1dc2642337633867bac9739fdda692acb2f), 0x01C829B4)
  1311. SAM_ROMEND
  1312.  
  1313. SAM_ROMLOAD(potc_113af, "potc113af.bin", CRC(1c52b3f5) SHA1(2079f06f1f1514614fa7cb240559b4e72925c70c), 0x01AC6550)
  1314. SAM_ROMEND
  1315. SAM_ROMLOAD(potc_113ai, "potc113ai.bin", CRC(e8b487d1) SHA1(037435b40347a8e1197876fbf7a79e03befa11f4), 0x01B178E8)
  1316. SAM_ROMEND
  1317. SAM_ROMLOAD(potc_113as, "potc113as.bin", CRC(2c819a02) SHA1(98a79b50e6c80bd58b2571fefc2f5f61030bc25d), 0x01C829B4)
  1318. SAM_ROMEND
  1319. SAM_ROMLOAD(potc_113gf, "potc113gf.bin", CRC(a508a2f8) SHA1(45e46af267c7caec86e4c92526c4cda85a1bb168), 0x01B60464)
  1320. SAM_ROMEND
  1321.  
  1322. SAM_ROMLOAD(potc_115af, "potc115af.bin", CRC(008e93b2) SHA1(5a272670cb3e5e59071500124a0086ef86e2b528), 0x01AC6564)
  1323. SAM_ROMEND
  1324. SAM_ROMLOAD(potc_115ai, "potc115ai.bin", CRC(88b66285) SHA1(1d65e4f7a31e51167b91f82d96c3951442b16264), 0x01B178FC)
  1325. SAM_ROMEND
  1326. SAM_ROMLOAD(potc_115as, "potc115as.bin", CRC(9c107d0e) SHA1(5213246ee78c6cc082b9f895b1d1abfa52016ede), 0x01C829C8)
  1327. SAM_ROMEND
  1328. SAM_ROMLOAD(potc_115gf, "potc115gf.bin", CRC(09a8454c) SHA1(1af420b314d339231d3b7772ffa44175a01ebd30), 0x01B60478)
  1329. SAM_ROMEND
  1330.  
  1331. SAM_ROMLOAD(potc_300af, "potc300af.bin", CRC(b6fc0c4b) SHA1(5c0d6b46dd6c4f14e03298500558f376ee342de0), 0x01AD2B40)
  1332. SAM_ROMEND
  1333. SAM_ROMLOAD(potc_300ai, "potc300ai.bin", CRC(2d3eb95e) SHA1(fea9409ffea3554ff0ec1c9ef6642465ec4120e7), 0x01B213A8)
  1334. SAM_ROMEND
  1335. SAM_ROMLOAD(potc_300as, "potc300as.bin", CRC(e5e7049d) SHA1(570125f9eb6d7a04ba97890095c15769f0e0dbd6), 0x01C88124)
  1336. SAM_ROMEND
  1337. SAM_ROMLOAD(potc_300gf, "potc300gf.bin", CRC(52772953) SHA1(e820ca5f347ab637bee07a9d7426058b9fd6557c), 0x01B67104)
  1338. SAM_ROMEND
  1339.  
  1340. SAM_ROMLOAD(potc_400af, "potc400af.bin", CRC(03cfed21) SHA1(947fff6bf3ed69cb346ae9f159e378902901033f), 0x01AD2B40)
  1341. SAM_ROMEND
  1342. SAM_ROMLOAD(potc_400ai, "potc400ai.bin", CRC(5382440b) SHA1(01d8258b98e256fc54565afd9915fd5079201973), 0x01B213A8)
  1343. SAM_ROMEND
  1344. SAM_ROMLOAD(potc_400as, "potc400as.bin", CRC(f739474d) SHA1(43bf3fbd23498e2cbeac3d87f5da727e7c05eb86), 0x01C88124)
  1345. SAM_ROMEND
  1346. SAM_ROMLOAD(potc_400gf, "potc400gf.bin", CRC(778d02e7) SHA1(6524e56ebf6c5c0effc4cb0521e3a463540ceac4), 0x01B67104)
  1347. SAM_ROMEND
  1348.  
  1349. SAM_ROMLOAD(potc_600af, "potc600af.bin", CRC(39a51873) SHA1(9597d356a3283c5a4e488a399196a51bf5ed16ca), 0x01AD2B40)
  1350. SAM_ROMEND
  1351. SAM_ROMLOAD(potc_600ai, "potc600ai.bin", CRC(2d7aebae) SHA1(9e383507d225859b4df276b21525f500ba98d600), 0x01B24CC8)
  1352. SAM_ROMEND
  1353. SAM_ROMLOAD(potc_600as, "potc600as.bin", CRC(5d5e1aaa) SHA1(9c7a416ae6587a86c8d2c6350621f09580226971), 0x01C92990)
  1354. SAM_ROMEND
  1355. SAM_ROMLOAD(potc_600gf, "potc600gf.bin", CRC(44eb2610) SHA1(ec1e1f7f2cd135942531e0e3f540afadb5d2f527), 0x01B67104)
  1356. SAM_ROMEND
  1357.  
  1358. SAM_INPUT_PORTS_START(potc, 1) SAM_INPUT_PORTS_END
  1359.  
  1360. CORE_GAMEDEF(potc, 110af, "Pirates of the Caribbean (V1.10) (English, French)", 2006, "Stern", sam, 0)
  1361. CORE_CLONEDEF(potc, 110ai, 110af, "Pirates of the Caribbean (V1.10) (English, Italian)", 2006, "Stern", sam, 0)
  1362. CORE_CLONEDEF(potc, 110gf, 110af, "Pirates of the Caribbean (V1.10) (German, French)", 2006, "Stern", sam, 0)
  1363.  
  1364. CORE_CLONEDEF(potc, 111as, 110af, "Pirates of the Caribbean (V1.11) (English, Spanish)", 2006, "Stern", sam, 0)
  1365.  
  1366. CORE_CLONEDEF(potc, 113af, 110af, "Pirates of the Caribbean (V1.13) (English, French)", 2006, "Stern", sam, 0)
  1367. CORE_CLONEDEF(potc, 113ai, 110af, "Pirates of the Caribbean (V1.13) (English, Italian)", 2006, "Stern", sam, 0)
  1368. CORE_CLONEDEF(potc, 113as, 110af, "Pirates of the Caribbean (V1.13) (English, Spanish)", 2006, "Stern", sam, 0)
  1369. CORE_CLONEDEF(potc, 113gf, 110af, "Pirates of the Caribbean (V1.13) (German, French)", 2006, "Stern", sam, 0)
  1370.  
  1371. CORE_CLONEDEF(potc, 115af, 110af, "Pirates of the Caribbean (V1.15) (English, French)", 2006, "Stern", sam, 0)
  1372. CORE_CLONEDEF(potc, 115ai, 110af, "Pirates of the Caribbean (V1.15) (English, Italian)", 2006, "Stern", sam, 0)
  1373. CORE_CLONEDEF(potc, 115as, 110af, "Pirates of the Caribbean (V1.15) (English, Spanish)", 2006, "Stern", sam, 0)
  1374. CORE_CLONEDEF(potc, 115gf, 110af, "Pirates of the Caribbean (V1.15) (German, French)", 2006, "Stern", sam, 0)
  1375.  
  1376. CORE_CLONEDEF(potc, 300af, 110af, "Pirates of the Caribbean (V3.00) (English, French)", 2007, "Stern", sam, 0)
  1377. CORE_CLONEDEF(potc, 300ai, 110af, "Pirates of the Caribbean (V3.00) (English, Italian)", 2007, "Stern", sam, 0)
  1378. CORE_CLONEDEF(potc, 300as, 110af, "Pirates of the Caribbean (V3.00) (English, Spanish)", 2007, "Stern", sam, 0)
  1379. CORE_CLONEDEF(potc, 300gf, 110af, "Pirates of the Caribbean (V3.00) (German, French)", 2007, "Stern", sam, 0)
  1380.  
  1381. CORE_CLONEDEF(potc, 400af, 110af, "Pirates of the Caribbean (V4.00) (English, French)", 2007, "Stern", sam, 0)
  1382. CORE_CLONEDEF(potc, 400ai, 110af, "Pirates of the Caribbean (V4.00) (English, Italian)", 2007, "Stern", sam, 0)
  1383. CORE_CLONEDEF(potc, 400as, 110af, "Pirates of the Caribbean (V4.00) (English, Spanish)", 2007, "Stern", sam, 0)
  1384. CORE_CLONEDEF(potc, 400gf, 110af, "Pirates of the Caribbean (V4.00) (German, French)", 2007, "Stern", sam, 0)
  1385.  
  1386. CORE_CLONEDEF(potc, 600af, 110af, "Pirates of the Caribbean (V6.0) (English, French)", 2008, "Stern", sam, 0)
  1387. CORE_CLONEDEF(potc, 600ai, 110af, "Pirates of the Caribbean (V6.0) (English, Italian)", 2008, "Stern", sam, 0)
  1388. CORE_CLONEDEF(potc, 600as, 110af, "Pirates of the Caribbean (V6.0) (English, Spanish)", 2008, "Stern", sam, 0)
  1389. CORE_CLONEDEF(potc, 600gf, 110af, "Pirates of the Caribbean (V6.0) (German, French)", 2008, "Stern", sam, 0)
  1390.  
  1391. //Spider-Man - good - complete
  1392. INITGAME(sman, GEN_SAM, sam_dmd128x32, SAM_2COL, SAM_NOMINI);
  1393.  
  1394. SAM_ROMLOAD(sman_130af, "sman130af.bin", CRC(6aa6a03a) SHA1(f56442e84b8789f49127bf4ba97dd05c77ea7c36), 0x017916C8)
  1395. SAM_ROMEND
  1396. SAM_ROMLOAD(sman_130ai, "sman130ai.bin", CRC(92aab158) SHA1(51662102da54e7e7c0f63689fffbf70653ee8f11), 0x017B7960)
  1397. SAM_ROMEND
  1398. SAM_ROMLOAD(sman_130al, "sman130al.bin", CRC(33004e72) SHA1(3bc30200945d896aefbff51c7b427595885a23c4), 0x0180AAA0)
  1399. SAM_ROMEND
  1400. SAM_ROMLOAD(sman_130gf, "sman130gf.bin", CRC(2838d2f3) SHA1(2192f1fbc393c5e0dcd59198d098bb2531d8b6de), 0x017AEC84)
  1401. SAM_ROMEND
  1402.  
  1403. SAM_ROMLOAD(sman_140, "sman140a.bin", CRC(48c2565d) SHA1(78f5d3242cfaa85fa0fd3937b6042f067dff535b), 0x016CE3C0)
  1404. SAM_ROMEND
  1405. SAM_ROMLOAD(sman_140af, "sman140af.bin", CRC(d181fa71) SHA1(66af219d9266b6b24e6857ad1a6b4fe539058052), 0x01A50398)
  1406. SAM_ROMEND
  1407. SAM_ROMLOAD(sman_140ai, "sman140ai.bin", CRC(0de6937e) SHA1(f2e60b545ef278e1b7981bf0a3dc2c622205e8e1), 0x01A70F78)
  1408. SAM_ROMEND
  1409. SAM_ROMLOAD(sman_140al, "sman140al.bin", CRC(fd372e14) SHA1(70f3e4d210a4da4b6122089c477b5b3f51d3593f), 0x01ADC768)
  1410. SAM_ROMEND
  1411. SAM_ROMLOAD(sman_140gf, "sman140gf.bin", CRC(f1124c86) SHA1(755f15dd566f86695c7143512d81e16af71c8853), 0x01A70F78)
  1412. SAM_ROMEND
  1413.  
  1414. SAM_ROMLOAD(sman_142, "sman142a.bin", CRC(307b0163) SHA1(015c8c86763c645b43bd71a3cdb8975fcd36a99f), 0x016E8D60)
  1415. SAM_ROMEND
  1416.  
  1417. SAM_ROMLOAD(sman_160, "sman160a.bin", CRC(05425962) SHA1(a37f61239a7116e5c14a345c288f781fa6248cf8), 0x01725778)
  1418. SAM_ROMEND
  1419. SAM_ROMLOAD(sman_160af, "sman160af.bin", CRC(d0b552e9) SHA1(2550baba3c4be5308779d502a2d2d01e1c2539ef), 0x01B0121C)
  1420. SAM_ROMEND
  1421. SAM_ROMLOAD(sman_160ai, "sman160ai.bin", CRC(b776f59b) SHA1(62600474b8a5e1e2d40319817505c8b5fd3df2fa), 0x01B26D28)
  1422. SAM_ROMEND
  1423. SAM_ROMLOAD(sman_160al, "sman160al.bin", CRC(776937d9) SHA1(631cadd665f895feac90c3cbc14eb8e321d19b4e), 0x01BB15BC)
  1424. SAM_ROMEND
  1425. SAM_ROMLOAD(sman_160gf, "sman160gf.bin", CRC(1498f877) SHA1(e625a7e683035665a0a1a97e5de0947628c3f7ea), 0x01B24430)
  1426. SAM_ROMEND
  1427.  
  1428. SAM_ROMLOAD(sman_170, "sman170a.bin", CRC(45c9e5f5) SHA1(8af3215ecc247186c83e235c60c3a2990364baad), 0x01877484)
  1429. SAM_ROMEND
  1430. SAM_ROMLOAD(sman_170af, "sman170af.bin", CRC(b38f3948) SHA1(8daae4bc8b1eaca2bd43198365474f5da09b4788), 0x01C6F32C)
  1431. SAM_ROMEND
  1432. SAM_ROMLOAD(sman_170ai, "sman170ai.bin", CRC(ba176624) SHA1(56c847995b5a3e2286e231c1d69f82cf5492cd5d), 0x01C90F74)
  1433. SAM_ROMEND
  1434. SAM_ROMLOAD(sman_170al, "sman170al.bin", CRC(0455f3a9) SHA1(134ff31605798989b396220f8580d1c079678084), 0x01D24E70)
  1435. SAM_ROMEND
  1436. SAM_ROMLOAD(sman_170gf, "sman170gf.bin", CRC(152aa803) SHA1(e18f9dcc5380126262cf1e32e99b6cc2c4aa23cb), 0x01C99C74)
  1437. SAM_ROMEND
  1438.  
  1439. SAM_ROMLOAD(sman_190, "sman190a.bin", CRC(7822a6d1) SHA1(6a21dfc44e8fa5e138fe6474c467ef6d6544d78c), 0x01652310)
  1440. SAM_ROMEND
  1441. SAM_ROMLOAD(sman_190af, "sman190af.bin", CRC(dac27fde) SHA1(93a236afc4be6514a8fc57e45eb5698bd999eef6), 0x018B5C34)
  1442. SAM_ROMEND
  1443. SAM_ROMLOAD(sman_190ai, "sman190ai.bin", CRC(95c769ac) SHA1(e713677fea9e28b2438a30bf5d81448d3ca140e4), 0x018CD02C)
  1444. SAM_ROMEND
  1445. SAM_ROMLOAD(sman_190al, "sman190al.bin", CRC(4df8168c) SHA1(8ebfda5378037c231075017713515a3681a0e38c), 0x01925DD0)
  1446. SAM_ROMEND
  1447. SAM_ROMLOAD(sman_190gf, "sman190gf.bin", CRC(a4a874a4) SHA1(1e46720462f1279c417d955c500e829e878ce31f), 0x018CD02C)
  1448. SAM_ROMEND
  1449.  
  1450. SAM_ROMLOAD(sman_192, "sman192a.bin", CRC(a44054fa) SHA1(a0910693d13cc61dba7a2bbe9185a24b33ef20ec), 0x01920870)
  1451. SAM_ROMEND
  1452. SAM_ROMLOAD(sman_192af, "sman192af.bin", CRC(c9f8a7dd) SHA1(e63e98965d08b8a645c92fb34ce7fc6e1ad05ddc), 0x01B81624)
  1453. SAM_ROMEND
  1454. SAM_ROMLOAD(sman_192ai, "sman192ai.bin", CRC(f02acad4) SHA1(da103d5ddbcbdcc19cca6c17b557dcc71942970a), 0x01B99F88)
  1455. SAM_ROMEND
  1456. SAM_ROMLOAD(sman_192al, "sman192al.bin", CRC(501f9986) SHA1(d93f973f9eddfd85903544f0ce49c1bf17b36eb9), 0x01BF19A0)
  1457. SAM_ROMEND
  1458. SAM_ROMLOAD(sman_192gf, "sman192gf.bin", CRC(32597e1d) SHA1(47a28cdba11b32661dbae95e3be1a41fc475fa5e), 0x01B9A1B4)
  1459. SAM_ROMEND
  1460.  
  1461. SAM_ROMLOAD(sman_200, "sman200a.bin", CRC(3b13348c) SHA1(4b5c6445d7805c0a39054bd51522751030b73162), 0x0168E8A8)
  1462. SAM_ROMEND
  1463.  
  1464. SAM_ROMLOAD(sman_210, "sman210a.bin", CRC(f983df18) SHA1(a0d46e1a58f016102773861a4f1b026755f776c8), 0x0168e8a8)
  1465. SAM_ROMEND
  1466. SAM_ROMLOAD(sman_210af, "sman210af.bin", CRC(2e86ac24) SHA1(aa223db6289a876e77080e16f29cbfc62183fa67), 0x019bb1dc)
  1467. SAM_ROMEND
  1468. SAM_ROMLOAD(sman_210ai, "sman210ai.bin", CRC(aadd1ea7) SHA1(a41b0067f7490c6df5d85e80b208c9993f806366), 0x019bb1dc)
  1469. SAM_ROMEND
  1470. SAM_ROMLOAD(sman_210al, "sman210al.bin", CRC(8c441caa) SHA1(e40ac748284f65de5c444ac89d3b02dd987facd0), 0x019bb1dc)
  1471. SAM_ROMEND
  1472. SAM_ROMLOAD(sman_210gf, "sman210gf.bin", CRC(2995cb97) SHA1(0093d3f20aebbf6129854757cc10aff63fc18a4a), 0x019bb1dc)
  1473. SAM_ROMEND
  1474.  
  1475. SAM_ROMLOAD(sman_220, "sman220a.bin", CRC(44f31e8e) SHA1(4c07d01c95c5fab1955b11e4f7c65f369a91dfd7), 0x018775B8)
  1476. SAM_ROMEND
  1477.  
  1478. SAM_ROMLOAD(sman_230, "sman230a.bin", CRC(a86f1768) SHA1(72662dcf05717d3b2b335077ceddabe562738468), 0x018775B8)
  1479. SAM_ROMEND
  1480.  
  1481. SAM_ROMLOAD(sman_240, "sman240a.bin", CRC(dc5ee57e) SHA1(7453db81b161cdbf7be690da15ea8a78e4a4e57d), 0x018775B8)
  1482. SAM_ROMEND
  1483.  
  1484. SAM_ROMLOAD(sman_260, "sman260a.bin", CRC(acfc813e) SHA1(bcbb0ec2bbfc55b1256c83b0300c0c38d15a3db1), 0x018775E0)
  1485. SAM_ROMEND
  1486.  
  1487. SAM_INPUT_PORTS_START(sman, 1) SAM_INPUT_PORTS_END
  1488.  
  1489. CORE_GAMEDEF(sman, 130af, "Spider-Man (V1.30) (English, French)", 2007, "Stern", sam, 0)
  1490. CORE_CLONEDEF(sman, 130ai, 130af, "Spider-Man (V1.30) (English, Italian)", 2007, "Stern", sam, 0)
  1491. CORE_CLONEDEF(sman, 130al, 130af, "Spider-Man (V1.30) (English, Spanish)", 2007, "Stern", sam, 0)
  1492. CORE_CLONEDEF(sman, 130gf, 130af, "Spider-Man (V1.30) (German, French)", 2007, "Stern", sam, 0)
  1493.  
  1494. CORE_CLONEDEF(sman, 140, 130af, "Spider-Man (V1.40)", 2007, "Stern", sam, 0)
  1495. CORE_CLONEDEF(sman, 140af, 130af, "Spider-Man (V1.40) (English, French)", 2007, "Stern", sam, 0)
  1496. CORE_CLONEDEF(sman, 140ai, 130af, "Spider-Man (V1.40) (English, Italian)", 2007, "Stern", sam, 0)
  1497. CORE_CLONEDEF(sman, 140al, 130af, "Spider-Man (V1.40) (English, Spanish)", 2007, "Stern", sam, 0)
  1498. CORE_CLONEDEF(sman, 140gf, 130af, "Spider-Man (V1.40) (German, French)", 2007, "Stern", sam, 0)
  1499.  
  1500. CORE_CLONEDEF(sman, 142, 130af, "Spider-Man (V1.42) BETA", 2007, "Stern", sam, 0)
  1501.  
  1502. CORE_CLONEDEF(sman, 160, 130af, "Spider-Man (V1.60)", 2007, "Stern", sam, 0)
  1503. CORE_CLONEDEF(sman, 160af, 130af, "Spider-Man (V1.60) (English, French)", 2007, "Stern", sam, 0)
  1504. CORE_CLONEDEF(sman, 160ai, 130af, "Spider-Man (V1.60) (English, Italian)", 2007, "Stern", sam, 0)
  1505. CORE_CLONEDEF(sman, 160al, 130af, "Spider-Man (V1.60) (English, Spanish)", 2007, "Stern", sam, 0)
  1506. CORE_CLONEDEF(sman, 160gf, 130af, "Spider-Man (V1.60) (German, French)", 2007, "Stern", sam, 0)
  1507.  
  1508. CORE_CLONEDEF(sman, 170, 130af, "Spider-Man (V1.70)", 2007, "Stern", sam, 0)
  1509. CORE_CLONEDEF(sman, 170af, 130af, "Spider-Man (V1.70) (English, French)", 2007, "Stern", sam, 0)
  1510. CORE_CLONEDEF(sman, 170ai, 130af, "Spider-Man (V1.70) (English, Italian)", 2007, "Stern", sam, 0)
  1511. CORE_CLONEDEF(sman, 170al, 130af, "Spider-Man (V1.70) (English, Spanish)", 2007, "Stern", sam, 0)
  1512. CORE_CLONEDEF(sman, 170gf, 130af, "Spider-Man (V1.70) (German, French)", 2007, "Stern", sam, 0)
  1513.  
  1514. CORE_CLONEDEF(sman, 190, 130af, "Spider-Man (V1.90)", 2007, "Stern", sam, 0)
  1515. CORE_CLONEDEF(sman, 190af, 130af, "Spider-Man (V1.90) (English, French)", 2007, "Stern", sam, 0)
  1516. CORE_CLONEDEF(sman, 190ai, 130af, "Spider-Man (V1.90) (English, Italian)", 2007, "Stern", sam, 0)
  1517. CORE_CLONEDEF(sman, 190al, 130af, "Spider-Man (V1.90) (English, Spanish)", 2007, "Stern", sam, 0)
  1518. CORE_CLONEDEF(sman, 190gf, 130af, "Spider-Man (V1.90) (German, French)", 2007, "Stern", sam, 0)
  1519.  
  1520. CORE_CLONEDEF(sman, 192, 130af, "Spider-Man (V1.92)", 2008, "Stern", sam, 0)
  1521. CORE_CLONEDEF(sman, 192af, 130af, "Spider-Man (V1.92) (English, French)", 2008, "Stern", sam, 0)
  1522. CORE_CLONEDEF(sman, 192ai, 130af, "Spider-Man (V1.92) (English, Italian)", 2008, "Stern", sam, 0)
  1523. CORE_CLONEDEF(sman, 192al, 130af, "Spider-Man (V1.92) (English, Spanish)", 2008, "Stern", sam, 0)
  1524. CORE_CLONEDEF(sman, 192gf, 130af, "Spider-Man (V1.92) (German, French)", 2008, "Stern", sam, 0)
  1525.  
  1526. CORE_CLONEDEF(sman, 200, 130af, "Spider-Man (V2.0)", 2008, "Stern", sam, 0)
  1527.  
  1528. CORE_CLONEDEF(sman, 210, 130af, "Spider-Man (V2.1)", 2008, "Stern", sam, 0)
  1529. CORE_CLONEDEF(sman, 210af, 130af, "Spider-Man (V2.1) (English, French)", 2008, "Stern", sam, 0)
  1530. CORE_CLONEDEF(sman, 210ai, 130af, "Spider-Man (V2.1) (English, Italian)", 2008, "Stern", sam, 0)
  1531. CORE_CLONEDEF(sman, 210al, 130af, "Spider-Man (V2.1) (English, Spanish)", 2008, "Stern", sam, 0)
  1532. CORE_CLONEDEF(sman, 210gf, 130af, "Spider-Man (V2.1) (German, French)", 2008, "Stern", sam, 0)
  1533.  
  1534. CORE_CLONEDEF(sman, 220, 130af, "Spider-Man (V2.2)", 2009, "Stern", sam, 0)
  1535.  
  1536. CORE_CLONEDEF(sman, 230, 130af, "Spider-Man (V2.3)", 2009, "Stern", sam, 0)
  1537.  
  1538. CORE_CLONEDEF(sman, 240, 130af, "Spider-Man (V2.4)", 2009, "Stern", sam, 0)
  1539.  
  1540. CORE_CLONEDEF(sman, 260, 130af, "Spider-Man (V2.6)", 2010, "Stern", sam, 0)
  1541.  
  1542. //Wheel Of Fortune - good - complete
  1543. INITGAME(wof, GEN_SAM, sammini2_dmd128x32, SAM_8COL, SAM_MINIDMD3);
  1544.  
  1545. SAM_ROMLOAD(wof_100, "wof0100a.bin", CRC(f3b80429) SHA1(ab1c9752ea74b5950b51aabc6dbca4f405705240), 0x01C7DF60)
  1546. SAM_ROMEND
  1547.  
  1548. SAM_ROMLOAD(wof_200, "wof0200a.bin", CRC(2e56b65f) SHA1(908662261548f4b80433d58359e9ff1013bf315b), 0x01C7DFD0)
  1549. SAM_ROMEND
  1550. SAM_ROMLOAD(wof_200f, "wof0200f.bin", CRC(d48d4885) SHA1(25cabea55f30d86b8d6398f94e1d180377c34de6), 0x01E76BA4)
  1551. SAM_ROMEND
  1552. SAM_ROMLOAD(wof_200g, "wof0200g.bin", CRC(81f61e6c) SHA1(395be7e0ccb9a806738fc6338b8e6dbea561986d), 0x01CDEC2C)
  1553. SAM_ROMEND
  1554. SAM_ROMLOAD(wof_200i, "wof0200i.bin", CRC(3e48eef7) SHA1(806a0313852405cd9913406201dd9e434b9b160a), 0x01D45EE8)
  1555. SAM_ROMEND
  1556.  
  1557. SAM_ROMLOAD(wof_300, "wof0300a.bin", CRC(7a8483b8) SHA1(e361eea5a01d6ba22782d34538edd05f3b068472), 0x01C7DFD0)
  1558. SAM_ROMEND
  1559. SAM_ROMLOAD(wof_300f, "wof0300f.bin", CRC(fd5c2bec) SHA1(77f6e4177df8a17f43198843f8a0a3cf5caf1704), 0x01E76BA4)
  1560. SAM_ROMEND
  1561. SAM_ROMLOAD(wof_300g, "wof0300g.bin", CRC(54b50069) SHA1(909b98a7f5fdfa0164c7dc52e9c830eecada2a64), 0x01CDEC2C)
  1562. SAM_ROMEND
  1563. SAM_ROMLOAD(wof_300i, "wof0300i.bin", CRC(7528800b) SHA1(d55024935861aa8895f9604e92f0d74cb2f3827d), 0x01D45EE8)
  1564. SAM_ROMEND
  1565. SAM_ROMLOAD(wof_300l, "wof0300l.bin", CRC(12e1b3a5) SHA1(6b62e40e7b124477dc8508e39722c3444d4b39a4), 0x01B080B0)
  1566. SAM_ROMEND
  1567.  
  1568. SAM_ROMLOAD(wof_400, "wof0400a.bin", CRC(974e6dd0) SHA1(ce4d7537e8f42ab6c3e84eac19688e2155115345), 0x01C7DFD0)
  1569. SAM_ROMEND
  1570. SAM_ROMLOAD(wof_400f, "wof0400f.bin", CRC(91a793c0) SHA1(6c390ab435dc20889bccfdd11bbfc411efd1e4f9), 0x01E76BA4)
  1571. SAM_ROMEND
  1572. SAM_ROMLOAD(wof_400g, "wof0400g.bin", CRC(ee97a6f3) SHA1(17a3093f7e5d052c23b669ee8717a21a80b61813), 0x01CDEC2C)
  1573. SAM_ROMEND
  1574. SAM_ROMLOAD(wof_400i, "wof0400i.bin", CRC(35053d2e) SHA1(3b8d176c7b34e7eaf20f9dcf27649841c5122609), 0x01D45EE8)
  1575. SAM_ROMEND
  1576.  
  1577. SAM_ROMLOAD(wof_401l, "wof0401l.bin", CRC(4db936f4) SHA1(4af1d4642529164cb5bc0b9adbc229b131098007), 0x01B080B0)
  1578. SAM_ROMEND
  1579.  
  1580. SAM_ROMLOAD(wof_500, "wof0500a.bin", CRC(6613e864) SHA1(b6e6dcfa782720e7d0ce36f8ea33a0d05763d6bd), 0x01C7DFD0)
  1581. SAM_ROMEND
  1582. SAM_ROMLOAD(wof_500f, "wof0500f.bin", CRC(3aef1035) SHA1(4fa0a40fea403beef0b3ce695ff52dec3d90f7bf), 0x01E76BA4)
  1583. SAM_ROMEND
  1584. SAM_ROMLOAD(wof_500g, "wof0500g.bin", CRC(658f8622) SHA1(31926717b5914f91b70eeba182eb219a4fd51299), 0x01CDEC2C)
  1585. SAM_ROMEND
  1586. SAM_ROMLOAD(wof_500i, "wof0500i.bin", CRC(27fb48bc) SHA1(9a9846c84a1fc543ec2236a28991d0cd70e86b52), 0x01D45EE8)
  1587. SAM_ROMEND
  1588. SAM_ROMLOAD(wof_500l, "wof0500l.bin", CRC(b8e09fcd) SHA1(522983ce75b24733a0827a2eeea3d44419c7998e), 0x01B080B0)
  1589. SAM_ROMEND
  1590.  
  1591. SAM_INPUT_PORTS_START(wof, 1) SAM_INPUT_PORTS_END
  1592.  
  1593. CORE_GAMEDEF(wof, 100, "Wheel of Fortune (V1.0)", 2007, "Stern", sam, 0)
  1594.  
  1595. CORE_CLONEDEF(wof, 200, 100, "Wheel of Fortune (V2.0)", 2007, "Stern", sam, 0)
  1596. CORE_CLONEDEF(wof, 200f, 100, "Wheel of Fortune (V2.0) (French)", 2007, "Stern", sam, 0)
  1597. CORE_CLONEDEF(wof, 200g, 100, "Wheel of Fortune (V2.0) (German)", 2007, "Stern", sam, 0)
  1598. CORE_CLONEDEF(wof, 200i, 100, "Wheel of Fortune (V2.0) (Italian)", 2007, "Stern", sam, 0)
  1599.  
  1600. CORE_CLONEDEF(wof, 300, 100, "Wheel of Fortune (V3.0)", 2007, "Stern", sam, 0)
  1601. CORE_CLONEDEF(wof, 300f, 100, "Wheel of Fortune (V3.0) (French)", 2007, "Stern", sam, 0)
  1602. CORE_CLONEDEF(wof, 300g, 100, "Wheel of Fortune (V3.0) (German)", 2007, "Stern", sam, 0)
  1603. CORE_CLONEDEF(wof, 300i, 100, "Wheel of Fortune (V3.0) (Italian)", 2007, "Stern", sam, 0)
  1604. CORE_CLONEDEF(wof, 300l, 100, "Wheel of Fortune (V3.0) (Spanish)", 2007, "Stern", sam, 0)
  1605.  
  1606. CORE_CLONEDEF(wof, 400, 100, "Wheel of Fortune (V4.0)", 2007, "Stern", sam, 0)
  1607. CORE_CLONEDEF(wof, 400f, 100, "Wheel of Fortune (V4.0) (French)", 2007, "Stern", sam, 0)
  1608. CORE_CLONEDEF(wof, 400g, 100, "Wheel of Fortune (V4.0) (German)", 2007, "Stern", sam, 0)
  1609. CORE_CLONEDEF(wof, 400i, 100, "Wheel of Fortune (V4.0) (Italian)", 2007, "Stern", sam, 0)
  1610.  
  1611. CORE_CLONEDEF(wof, 401l, 100, "Wheel of Fortune (V4.01) (Spanish)", 2007, "Stern", sam, 0)
  1612.  
  1613. CORE_CLONEDEF(wof, 500, 100, "Wheel of Fortune (V5.0)", 2007, "Stern", sam, 0)
  1614. CORE_CLONEDEF(wof, 500f, 100, "Wheel of Fortune (V5.0) (French)", 2007, "Stern", sam, 0)
  1615. CORE_CLONEDEF(wof, 500g, 100, "Wheel of Fortune (V5.0) (German)", 2007, "Stern", sam, 0)
  1616. CORE_CLONEDEF(wof, 500i, 100, "Wheel of Fortune (V5.0) (Italian)", 2007, "Stern", sam, 0)
  1617. CORE_CLONEDEF(wof, 500l, 100, "Wheel of Fortune (V5.0) (Spanish)", 2007, "Stern", sam, 0)
  1618.  
  1619. //Shrek - good - complete
  1620. INITGAME(shr, GEN_SAM, sam_dmd128x32, SAM_8COL, SAM_NOMINI2);
  1621.  
  1622. SAM_ROMLOAD(shr_130, "shr130.bin", CRC(0c4efde5) SHA1(58e156a43fef983d48f6676e8d65fb30d45f8ec3), 0x01BB0824)
  1623. SAM_ROMEND
  1624. SAM_ROMLOAD(shr_141, "shr141.bin", CRC(f4f847ce) SHA1(d28f9186bb04036e9ff56d540e70a50f0816051b), 0x01C55290)
  1625. SAM_ROMEND
  1626.  
  1627. SAM_INPUT_PORTS_START(shr, 1) SAM_INPUT_PORTS_END
  1628.  
  1629. CORE_GAMEDEF(shr, 130, "Shrek (V1.30)", 2008, "Stern", sam, 0)
  1630.  
  1631. CORE_CLONEDEF(shr, 141, 130, "Shrek (V1.41)", 2008, "Stern", sam, 0)
  1632.  
  1633. //Indiana Jones - good - bugged - complete
  1634. INITGAME(ij4, GEN_SAM, sam_dmd128x32, SAM_2COL, SAM_NOMINI);
  1635.  
  1636. SAM_ROMLOAD(ij4_113, "ij4_113.bin", CRC(aa2bdf3e) SHA1(71fd1c970fe589cec5124237684facaae92cbf09), 0x01C6D98C)
  1637. SAM_ROMEND
  1638. SAM_ROMLOAD(ij4_113f, "ij4_113f.bin", CRC(cb7b7c31) SHA1(3a2f718a9a533941c5476f8348dacf7e3523ddd0), 0x01C6D98C)
  1639. SAM_ROMEND
  1640. SAM_ROMLOAD(ij4_113g, "ij4_113g.bin", CRC(30a33bfd) SHA1(c37b6035c313cce85d325ab87039f5a872d28f5a), 0x01BFF3F4)
  1641. SAM_ROMEND
  1642. SAM_ROMLOAD(ij4_113i, "ij4_113i.bin", CRC(fcb37e0f) SHA1(7b23a56baa9985e2322aee954befa13dc2d55119), 0x01C81FA4)
  1643. SAM_ROMEND
  1644. SAM_ROMLOAD(ij4_113l, "ij4_113l.bin", CRC(e4ff8120) SHA1(f5537cf920633a621b4c7a740bfc07cefe3a99d0), 0x01D02988)
  1645. SAM_ROMEND
  1646.  
  1647. SAM_ROMLOAD(ij4_114, "ij4_114.bin", CRC(00e5b850) SHA1(3ad57120d11aff4ca8917dea28c2c26ae254e2b5), 0x01C6D9E4)
  1648. SAM_ROMEND
  1649. SAM_ROMLOAD(ij4_114f, "ij4_114f.bin", CRC(a7c2a5e4) SHA1(c0463b055096a3112a31680dc509f421c1a5c1cf), 0x01C6D9E4)
  1650. SAM_ROMEND
  1651. SAM_ROMLOAD(ij4_114g, "ij4_114g.bin", CRC(7176b0be) SHA1(505132887bca0fa9d6ca8597101357f26501a0ad), 0x01C34974)
  1652. SAM_ROMEND
  1653. SAM_ROMLOAD(ij4_114i, "ij4_114i.bin", CRC(dac0563e) SHA1(30dbaed1b1a180f7ca68a4caef469c2997bf0355), 0x01C875F8)
  1654. SAM_ROMEND
  1655. SAM_ROMLOAD(ij4_114l, "ij4_114l.bin", CRC(e9b3a81a) SHA1(574377e7a398083f3498d91640ad7dc5250acbd7), 0x01D0B290)
  1656. SAM_ROMEND
  1657.  
  1658. SAM_ROMLOAD(ij4_116, "ij4_116.bin", CRC(80293485) SHA1(043c857a8dfa79cb7ae876c55a10227bdff8e873), 0x01C6D9E4)
  1659. SAM_ROMEND
  1660. SAM_ROMLOAD(ij4_116f, "ij4_116f.bin", CRC(56821942) SHA1(484f4359b6d1ecb45c29bef7532a8136028504f4), 0x01C6D9E4)
  1661. SAM_ROMEND
  1662. SAM_ROMLOAD(ij4_116g, "ij4_116g.bin", CRC(2b7b81be) SHA1(a70ed07daec7f13165a0256bc011a72136e25210), 0x01C34974)
  1663. SAM_ROMEND
  1664. SAM_ROMLOAD(ij4_116i, "ij4_116i.bin", CRC(7b07c207) SHA1(67969e85cf96949f8b85d88acfb69be55f32ea52), 0x01C96B38)
  1665. SAM_ROMEND
  1666. SAM_ROMLOAD(ij4_116l, "ij4_116l.bin", CRC(833ae2fa) SHA1(cb931e473164ddfa2559f3a58f2fcac5d456dc96), 0x01D14FD8)
  1667. SAM_ROMEND
  1668.  
  1669. SAM_ROMLOAD(ij4_210, "ij4_210.bin", CRC(b96e6fd2) SHA1(f59cbdefc5ab6b21662981b3eb681fd8bd7ade54), 0x01C6D9E4)
  1670. SAM_ROMEND
  1671. SAM_ROMLOAD(ij4_210f, "ij4_210f.bin", CRC(d1d37248) SHA1(fd6819e0e86b83d658790ff30871596542f98c8e), 0x01C6D9E4)
  1672. SAM_ROMEND
  1673.  
  1674. SAM_INPUT_PORTS_START(ij4, 1) SAM_INPUT_PORTS_END
  1675.  
  1676. CORE_GAMEDEF(ij4, 113, "Indiana Jones (V1.13)", 2008, "Stern", sam, 0)
  1677. CORE_CLONEDEF(ij4, 113f, 113, "Indiana Jones (V1.13) (French)", 2008, "Stern", sam, 0)
  1678. CORE_CLONEDEF(ij4, 113g, 113, "Indiana Jones (V1.13) (German)", 2008, "Stern", sam, 0)
  1679. CORE_CLONEDEF(ij4, 113i, 113, "Indiana Jones (V1.13) (Italian)", 2008, "Stern", sam, 0)
  1680. CORE_CLONEDEF(ij4, 113l, 113, "Indiana Jones (V1.13) (Spanish)", 2008, "Stern", sam, 0)
  1681.  
  1682. CORE_CLONEDEF(ij4, 114, 113, "Indiana Jones (V1.14)", 2008, "Stern", sam, 0)
  1683. CORE_CLONEDEF(ij4, 114f, 113, "Indiana Jones (V1.14) (French)", 2008, "Stern", sam, 0)
  1684. CORE_CLONEDEF(ij4, 114g, 113, "Indiana Jones (V1.14) (German)", 2008, "Stern", sam, 0)
  1685. CORE_CLONEDEF(ij4, 114i, 113, "Indiana Jones (V1.14) (Italian)", 2008, "Stern", sam, 0)
  1686. CORE_CLONEDEF(ij4, 114l, 113, "Indiana Jones (V1.14) (Spanish)", 2008, "Stern", sam, 0)
  1687.  
  1688. CORE_CLONEDEF(ij4, 116, 113, "Indiana Jones (V1.16)", 2008, "Stern", sam, 0)
  1689. CORE_CLONEDEF(ij4, 116f, 113, "Indiana Jones (V1.16) (French)", 2008, "Stern", sam, 0)
  1690. CORE_CLONEDEF(ij4, 116g, 113, "Indiana Jones (V1.16) (German)", 2008, "Stern", sam, 0)
  1691. CORE_CLONEDEF(ij4, 116i, 113, "Indiana Jones (V1.16) (Italian)", 2008, "Stern", sam, 0)
  1692. CORE_CLONEDEF(ij4, 116l, 113, "Indiana Jones (V1.16) (Spanish)", 2008, "Stern", sam, 0)
  1693.  
  1694. CORE_CLONEDEF(ij4, 210, 113, "Indiana Jones (V2.1)", 2009, "Stern", sam, 0)
  1695. CORE_CLONEDEF(ij4, 210f, 113, "Indiana Jones (V2.1) (French)", 2009, "Stern", sam, 0)
  1696.  
  1697. //Batman: Dark Knight - good - complete
  1698. INITGAME(bdk, GEN_SAM, sam_dmd128x32, SAM_3COL, SAM_NOMINI3);
  1699.  
  1700. SAM_ROMLOAD(bdk_130, "bdk130.bin", CRC(83a32958) SHA1(0326891bc142c8b92bd4f6d29bd4301bacbed0e7), 0x01BA1E94)
  1701. SAM_ROMEND
  1702. SAM_ROMLOAD(bdk_150, "bdk150.bin", CRC(ed11b88c) SHA1(534224de597cbd3632b902397d945ab725e24912), 0x018EE5E8)
  1703. SAM_ROMEND
  1704. SAM_ROMLOAD(bdk_160, "bdk160.bin", CRC(5554ea47) SHA1(0ece4779ad9a3d6c8428306774e2bf36a20d680d), 0x01B02F70)
  1705. SAM_ROMEND
  1706. SAM_ROMLOAD(bdk_200, "bdk200.bin", CRC(07b716a9) SHA1(4cde06308bb967435c7c1bf078a2cda36088e3ec), 0x01B04378)
  1707. SAM_ROMEND
  1708. SAM_ROMLOAD(bdk_202, "bdk202.bin", CRC(6e415ce7) SHA1(30a3938817da20ccb87c7e878cdd8a13ada097ab), 0x01b96d94)
  1709. SAM_ROMEND
  1710. SAM_ROMLOAD(bdk_210, "bdk210.bin", CRC(ac84fef1) SHA1(bde3250f3d95a12a5f3b74ac9d11ba0bd331e9cd), 0x01B96D94)
  1711. SAM_ROMEND
  1712. SAM_ROMLOAD(bdk_294, "bdk294.bin", CRC(e087ec82) SHA1(aad2c43e6de9a520954eb50b6c824a138cd6f47f), 0x01C00844)
  1713. SAM_ROMEND
  1714.  
  1715. SAM_INPUT_PORTS_START(bdk, 1) SAM_INPUT_PORTS_END
  1716.  
  1717. CORE_GAMEDEF(bdk, 130, "Batman: Dark Knight (V1.3)", 2008, "Stern", sam, 0)
  1718. CORE_CLONEDEF(bdk, 150, 130, "Batman: Dark Knight (V1.5)", 2008, "Stern", sam, 0)
  1719. CORE_CLONEDEF(bdk, 160, 130, "Batman: Dark Knight (V1.6)", 2008, "Stern", sam, 0)
  1720. CORE_CLONEDEF(bdk, 200, 130, "Batman: Dark Knight (V2.0)", 2008, "Stern", sam, 0)
  1721. CORE_CLONEDEF(bdk, 202, 130, "Batman: Dark Knight (V2.02)", 2008, "Stern", sam, 0)
  1722. CORE_CLONEDEF(bdk, 210, 130, "Batman: Dark Knight (V2.1)", 2008, "Stern", sam, 0)
  1723. CORE_CLONEDEF(bdk, 294, 130, "Batman: Dark Knight (V2.94)", 2010, "Stern", sam, 0)
  1724.  
  1725. //C.S.I. - good - bugged
  1726. INITGAME(csi, GEN_SAM, sam_dmd128x32, SAM_3COL, SAM_NOMINI4);
  1727.  
  1728. SAM_ROMLOAD(csi_102, "csi102a.bin", CRC(770f4ab6) SHA1(7670022926fcf5bb8f8848374cf1a6237803100a), 0x01e21fc0)
  1729. SAM_ROMEND
  1730. SAM_ROMLOAD(csi_103, "csi103a.bin", CRC(371bc874) SHA1(547588b85b4d6e79123178db3f3e51354e8d2229 ), 0x01E61C88)
  1731. SAM_ROMEND
  1732. SAM_ROMLOAD(csi_104, "csi104a.bin", CRC(15694586) SHA1(3a6b70d43f9922d7a459e1dc4c235bcf03e7858e), 0x01e21fc0)
  1733. SAM_ROMEND
  1734. SAM_ROMLOAD(csi_200, "csi200a.bin", CRC(ecb25112) SHA1(385bede7955e06c1e1b7cd06e988a64b0e6ea54f), 0x01e21fc0)
  1735. SAM_ROMEND
  1736. SAM_ROMLOAD(csi_210, "csi210a.bin", CRC(afebb31f) SHA1(9b8179baa2f6e61852b57aaad9a28def0c014861), 0x01e21fc0)
  1737. SAM_ROMEND
  1738. SAM_ROMLOAD(csi_230, "csi230a.bin", CRC(c25ccc67) SHA1(51a21fca06db4b05bda2c7d5a09d655c97ba19c6), 0x01e21fc0)
  1739. SAM_ROMEND
  1740. SAM_ROMLOAD(csi_240, "csi240a.bin", CRC(2be97fa3) SHA1(5aa231bde81f7787cc06567c8b3d28c750588071), 0x01e21fc0)
  1741. SAM_ROMEND
  1742.  
  1743. SAM_INPUT_PORTS_START(csi, 1) SAM_INPUT_PORTS_END
  1744.  
  1745. CORE_GAMEDEF(csi, 102, "C.S.I. (V1.02)", 2008, "Stern", sam, 0)
  1746. CORE_CLONEDEF(csi, 103, 102, "C.S.I. (V1.03)", 2008, "Stern", sam, 0)
  1747. CORE_CLONEDEF(csi, 104, 102, "C.S.I. (V1.04)", 2008, "Stern", sam, 0)
  1748. CORE_CLONEDEF(csi, 200, 102, "C.S.I. (V2.0)", 2008, "Stern", sam, 0)
  1749. CORE_CLONEDEF(csi, 210, 102, "C.S.I. (V2.1)", 2009, "Stern", sam, 0)
  1750. CORE_CLONEDEF(csi, 230, 102, "C.S.I. (V2.3)", 2009, "Stern", sam, 0)
  1751. CORE_CLONEDEF(csi, 240, 102, "C.S.I. (V2.4)", 2009, "Stern", sam, 0)
  1752.  
  1753. //24 - ?? seems ok
  1754. INITGAME(twenty4, GEN_SAM, sam_dmd128x32, SAM_2COL, SAM_NOMINI);
  1755.  
  1756. SAM_ROMLOAD(twenty4_130, "24_130a.bin", CRC(955a5c12) SHA1(66e33fb438c831679aeb3ba68af7b4a3c59966ef), 0x01C08280)
  1757. SAM_ROMEND
  1758. SAM_ROMLOAD(twenty4_140, "24_140a.bin", CRC(bab92fb1) SHA1(07c8d9c28730411dd0f23d5960a223beb4c587b2), 0x01C08280)
  1759. SAM_ROMEND
  1760. SAM_ROMLOAD(twenty4_144, "24_144a.bin", CRC(29c47da0) SHA1(8d38e35a0df843a71cac6cd4dd6aa460347a208c), 0x01CA8E50)
  1761. SAM_ROMEND
  1762. SAM_ROMLOAD(twenty4_150, "24_150a.bin", CRC(9d7d87cc) SHA1(df6b2f60b87226fdda33bdbbe03ea87d690fc563), 0x01CA8E50)
  1763. SAM_ROMEND
  1764.  
  1765. SAM_INPUT_PORTS_START(twenty4, 1) SAM_INPUT_PORTS_END
  1766.  
  1767. CORE_GAMEDEF(twenty4, 130, "24 (V1.3)", 2009, "Stern", sam, 0)
  1768. CORE_CLONEDEF(twenty4, 140, 130, "24 (V1.4)", 2009, "Stern", sam, 0)
  1769. CORE_CLONEDEF(twenty4, 144, 130, "24 (V1.44)", 2009, "Stern", sam, 0)
  1770. CORE_CLONEDEF(twenty4, 150, 130, "24 (V1.5)", 2010, "Stern", sam, 0)
  1771.  
  1772. //NBA - ?? seems ok
  1773. INITGAME(nba, GEN_SAM, sam_dmd128x32, SAM_0COL, SAM_NOMINI);
  1774.  
  1775. SAM_ROMLOAD(nba_500, "nba500.bin", CRC(01b0c27a) SHA1(d7f4f6b24630b55559a48cde4475422905811106), 0x019112d0)
  1776. SAM_ROMEND
  1777. SAM_ROMLOAD(nba_600, "nba600.bin", CRC(af2fbcf4) SHA1(47df1992a1eb6c4cd5ec246912eab9f5636499a7), 0x019112d0)
  1778. SAM_ROMEND
  1779. SAM_ROMLOAD(nba_700, "nba700.bin", CRC(15ece43b) SHA1(90cc8b4c52a61da9701fcaba0a21144fe576eaf4), 0x019112d0)
  1780. SAM_ROMEND
  1781. SAM_ROMLOAD(nba_801, "nba801.bin", CRC(0f8b146e) SHA1(090d73a9bff0a0b0c17ced1557d5e63e5c986e95), 0x019112d0)
  1782. SAM_ROMEND
  1783. SAM_ROMLOAD(nba_802, "nba802.bin", CRC(ba681dac) SHA1(184f3315a54b1a5295b19222c718ac38fa60d340), 0x019112d0)
  1784. SAM_ROMEND
  1785.  
  1786. SAM_INPUT_PORTS_START(nba, 1) SAM_INPUT_PORTS_END
  1787.  
  1788. CORE_GAMEDEF(nba, 500, "NBA (V5.0)", 2009, "Stern", sam, 0)
  1789. CORE_CLONEDEF(nba, 600, 500, "NBA (V6.0)", 2009, "Stern", sam, 0)
  1790. CORE_CLONEDEF(nba, 700, 500, "NBA (V7.0)", 2009, "Stern", sam, 0)
  1791. CORE_CLONEDEF(nba, 801, 500, "NBA (V8.01)", 2009, "Stern", sam, 0)
  1792. CORE_CLONEDEF(nba, 802, 500, "NBA (V8.02)", 2009, "Stern", sam, 0)
  1793.  
  1794. //Big Buck Hunter Pro - ?? seems ok
  1795. INITGAME(bbh, GEN_SAM, sam_dmd128x32, SAM_2COL, SAM_NOMINI);
  1796.  
  1797. SAM_ROMLOAD(bbh_160, "bbh160.bin", CRC(75077f85) SHA1(c58a2ae5c1332390f0d1191ee8ff920ceec23352), 0x01BB8FA4)
  1798. SAM_ROMEND
  1799. SAM_ROMLOAD(bbh_170, "bbh170.bin", CRC(0c2d3e64) SHA1(9a71959c57b9a75028e21bce9ee03871f8914138), 0x01BB8FD0)
  1800. SAM_ROMEND
  1801.  
  1802. SAM_INPUT_PORTS_START(bbh, 1) SAM_INPUT_PORTS_END
  1803.  
  1804. CORE_GAMEDEF(bbh, 160, "Big Buck Hunter Pro (V1.6)", 2010, "Stern", sam, 0)
  1805. CORE_CLONEDEF(bbh, 170, 160, "Big Buck Hunter Pro (V1.7)", 2010, "Stern", sam, 0)
  1806.  
  1807. //Ironman 2 - ?? seems ok
  1808. INITGAME(im2, GEN_SAM, sam_dmd128x32, SAM_0COL, SAM_NOMINI);
  1809.  
  1810. SAM_ROMLOAD(im2_140, "im2_140.bin", CRC(9cbfd6ef) SHA1(904c058a00c268593a62988127f8a18d974eda5e), 0x01CB8870)
  1811. SAM_ROMEND
  1812. SAM_ROMLOAD(im2_160, "im2_160.bin", CRC(ed0dd2bb) SHA1(789b9dc5f5d97a86eb406f864f2785f371db6ca5), 0x01C1FD64)
  1813. SAM_ROMEND
  1814.  
  1815. SAM_INPUT_PORTS_START(im2, 1) SAM_INPUT_PORTS_END
  1816.  
  1817. CORE_GAMEDEF(im2, 140, "Ironman 2 (V1.4)", 2010, "Stern", sam, 0)
  1818. CORE_CLONEDEF(im2, 160, 140, "Ironman 2 (V1.6)", 2011, "Stern", sam, 0)
  1819.  
  1820. //Tron: Legacy - ?? seems ok
  1821. INITGAME(trn, GEN_SAM, sam_dmd128x32, SAM_3COL, SAM_NOMINI5);
  1822.  
  1823. SAM_ROMLOAD(trn_170, "trn170.bin", CRC(1f3b314d) SHA1(59df759539c02600d2579b4e59a184ac3db64020), 0x01F13C9C)
  1824. SAM_ROMEND
  1825. SAM_ROMLOAD(trn_140h, "trn140h.bin", CRC(7de92a4b) SHA1(87eb46e1564b8a913d6cc17a86b50828dd1273de), 0x01f286d8)
  1826. SAM_ROMEND
  1827.  
  1828. SAM_INPUT_PORTS_START(trn, 1) SAM_INPUT_PORTS_END
  1829.  
  1830. CORE_GAMEDEF(trn, 170, "Tron: Legacy Pro (V1.70)", 2011, "Stern", sam, 0)
  1831. CORE_CLONEDEF(trn, 140h, 170, "Tron: Legacy Limited Edition (V1.40)", 2011, "Stern", sam, 0)
  1832.  
  1833. //Transformers - ?? seems ok
  1834. INITGAME(tf, GEN_SAM, sam_dmd128x32, SAM_3COL, SAM_NOMINI4);
  1835.  
  1836. SAM_ROMLOAD(tf_140, "tf140.bin", CRC(b41c8d33) SHA1(e96462df7481759d5c29a192766f03334b2b4562), 0x01D0C800)
  1837. SAM_ROMEND
  1838. SAM_ROMLOAD(tf_170, "tf170.bin", CRC(cd8707e6) SHA1(847c37988bbc12e8200a6762c2851b610a0b849f), 0x0160ECF1)
  1839. SAM_ROMEND
  1840. SAM_ROMLOAD(tf_120h, "tf120h.bin", CRC(0f750246) SHA1(7ab3c9278f443511e5e7fcf062ffc9e8d1456396), 0x01eb1c4c)
  1841. SAM_ROMEND
  1842. SAM_ROMLOAD(tf_150h, "tf150h.bin", CRC(5cec6bfc) SHA1(30899241c2c0a9d42aa19fa3eb4180452bdaec91), 0x01760907)
  1843. SAM_ROMEND
  1844.  
  1845. SAM_INPUT_PORTS_START(tf, 1) SAM_INPUT_PORTS_END
  1846.  
  1847. CORE_GAMEDEF(tf, 140, "Transformers Pro (V1.40)", 2011, "Stern", sam, 0)
  1848. CORE_CLONEDEF(tf, 170, 140, "Transformers Pro (V1.70)", 2012, "Stern", sam, 0)
  1849. CORE_CLONEDEF(tf, 120h, 140, "Transformers Limited Edition (V1.20)", 2011, "Stern", sam, 0)
  1850. CORE_CLONEDEF(tf, 150h, 140, "Transformers Limited Edition (V1.50)", 2012, "Stern", sam, 0)
  1851.  
  1852. //Avatar - ?? Seems ok
  1853. INITGAME(avr, GEN_SAM, sam_dmd128x32, SAM_0COL, SAM_NOMINI);
  1854.  
  1855. SAM_ROMLOAD(avr_106, "avr106.bin", CRC(695799e5) SHA1(3e216fd4273adb7417294b3e648befd69350ab25), 0x01ED31B4)
  1856. SAM_ROMEND
  1857. SAM_ROMLOAD(avr_110, "avr110.bin", CRC(e28df0a8) SHA1(7bc42d329efcb59d71af1736d8881c14ce3f7e5e), 0x01D53CA4)
  1858. SAM_ROMEND
  1859. SAM_ROMLOAD(avr_120h, "avr120h.bin", CRC(85a55e02) SHA1(204d796c2cbc776c1305dabade6306527122a13e), 0x01D53CA4)
  1860. SAM_ROMEND
  1861.  
  1862. SAM_INPUT_PORTS_START(avr, 1) SAM_INPUT_PORTS_END
  1863.  
  1864. CORE_GAMEDEF(avr, 106, "Avatar Pro (V1.06)", 2011, "Stern", sam, 0)
  1865. CORE_CLONEDEF(avr, 110, 106, "Avatar Pro (V1.10)", 2011, "Stern", sam, 0)
  1866. CORE_CLONEDEF(avr, 120h, 106, "Avatar Limited/Premium Edition (V1.20)", 2011, "Stern", sam, 0)
  1867.  
  1868. //Rolling Stones - ?? Seems ok
  1869. INITGAME(rsn, GEN_SAM, sam_dmd128x32, SAM_0COL, SAM_NOMINI);
  1870.  
  1871. SAM_ROMLOAD(rsn_110, "rsn110.bin", CRC(f4aad67f) SHA1(f5dc335a2b9cc92b3da9a33e24cd0b155c6385aa), 0x01EB4FC4)
  1872. SAM_ROMEND
  1873. SAM_ROMLOAD(rsn_110h, "rsn110h.bin", CRC(f5122852) SHA1(b92461983d7a3b55ac8be4df4def1b4ca12327af), 0x01EB50CC)
  1874. SAM_ROMEND
  1875.  
  1876. SAM_INPUT_PORTS_START(rsn, 1) SAM_INPUT_PORTS_END
  1877.  
  1878. CORE_GAMEDEF(rsn, 110, "Rolling Stones Pro (V1.10)", 2011, "Stern", sam, 0)
  1879. CORE_CLONEDEF(rsn, 110h, 110, "Rolling Stones Limited/Premium Edition (V1.10)", 2011, "Stern", sam, 0)
  1880.  
  1881. //ACDC
  1882. INITGAME(acd, GEN_SAM, sam_dmd128x32, SAM_2COL, SAM_NOMINI);
  1883.  
  1884. SAM_ROMLOAD(acd_121, "acdc_121.bin", CRC(4f5f43e9) SHA1(19045e9cdb2522770013c24c6fed265009278dea), 0x03D8F40C)
  1885. SAM_ROMEND
  1886. SAM_ROMLOAD64(acd_130, "acdc_130.bin", CRC(da97014e) SHA1(f0a2684076008b0234c089fea8f95e4f3d8816dd), 0x040C4038)
  1887. SAM_ROMEND
  1888. SAM_ROMLOAD64(acd_140, "acdc_140.bin", CRC(43bbbf54) SHA1(33e3795ab850dfab1fd8b1b4f6364a696cc62aa9), 0x040C4038)
  1889. SAM_ROMEND
  1890. SAM_ROMLOAD64(acd_152, "acdc_152.bin", CRC(78cef38c) SHA1(656acabed2241587f512cdd53a095228d9642d1b), 0x04185458)
  1891. SAM_ROMEND
  1892. SAM_ROMLOAD64(acd_152h, "acdc_152h.bin", CRC(bbf6b303) SHA1(8f29a5e8b5503df59ec8a6039a36e78cf7d871a9), 0x0414A0E8)
  1893. SAM_ROMEND
  1894. SAM_ROMLOAD64(acd_160, "acdc_160.bin", CRC(6b98a14c) SHA1(a34841b1e136c9647c89f83e2bf59ecdccb2a0fb), 0x04E942C8)
  1895. SAM_ROMEND
  1896. SAM_ROMLOAD64(acd_160h, "acdc_160h.bin", CRC(733f15a4) SHA1(61e96ceac327387e84b8e24467aee2f5c0a8ce97), 0x04E942E0)
  1897. SAM_ROMEND
  1898. SAM_ROMLOAD64(acd_161, "acdc_161.bin", CRC(a0c27c59) SHA1(83d19fe6b344eb95866f7d5179b65ed26938b9da), 0x04E58B6C)
  1899. SAM_ROMEND
  1900. SAM_ROMLOAD64(acd_161h, "acdc_161h.bin", CRC(1c66055b) SHA1(f33e5bd5753acc90202565639b6a8d22d6380054), 0x04E58B6C)
  1901. SAM_ROMEND
  1902. SAM_INPUT_PORTS_START(acd, 1) SAM_INPUT_PORTS_END
  1903.  
  1904. CORE_GAMEDEF(acd, 121, "AC/DC Pro (V1.21)", 2012, "Stern", sam, 0)
  1905. CORE_CLONEDEF(acd, 130, 121, "AC/DC Pro (V1.30)", 2012, "Stern", sam, 0)
  1906. CORE_CLONEDEF(acd, 140, 121, "AC/DC Pro (V1.40)", 2012, "Stern", sam, 0)
  1907. CORE_CLONEDEF(acd, 152, 121, "AC/DC Pro (V1.52)", 2012, "Stern", sam, 0)
  1908. CORE_CLONEDEF(acd, 152h, 121, "AC/DC Limited Edition (V1.52)", 2012, "Stern", sam_fast, 0)
  1909. CORE_CLONEDEF(acd, 160, 121, "AC/DC Pro (V1.60)", 2012, "Stern", sam, 0)
  1910. CORE_CLONEDEF(acd, 160h, 121, "AC/DC Limited Edition (V1.60)", 2012, "Stern", sam, 0)
  1911. CORE_CLONEDEF(acd, 161, 121, "AC/DC Pro (V1.61)", 2012, "Stern", sam, 0)
  1912. CORE_CLONEDEF(acd, 161h, 121, "AC/DC Limited Edition (V1.61)", 2012, "Stern", sam, 0)
  1913.  
  1914. //X-Men
  1915. INITGAME(xmen, GEN_SAM, sam_dmd128x32, SAM_2COL, SAM_NOMINI);
  1916.  
  1917. SAM_ROMLOAD(xmen_102, "xmen_102.bin", CRC(5df923e4) SHA1(28f86abc792008aa816d93e91dcd9b62fd2d01ee), 0x01FB7DEC)
  1918. SAM_ROMEND
  1919. SAM_ROMLOAD(xmen_121h, "xmen_121h.bin", CRC(7029ce71) SHA1(c7559ed963e18eecb8115214a3e154874c214f89), 0x01FB7DEC)
  1920. SAM_ROMEND
  1921.  
  1922. SAM_INPUT_PORTS_START(xmen, 1) SAM_INPUT_PORTS_END
  1923.  
  1924. CORE_GAMEDEF(xmen, 102, "X-Men Pro (V1.02)", 2012, "Stern", sam, 0)
  1925. CORE_CLONEDEF(xmen, 121h, 102, "X-Men Limited Edition (V1.21)", 2012, "Stern", sam, 0)
  1926.  
  1927. #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement