trunk/src/mame/drivers/bfm_sc2.c
| r19482 | r19483 | |
| 2187 | 2187 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) |
| 2188 | 2188 | MACHINE_CONFIG_END |
| 2189 | 2189 | |
| 2190 | |
| 2191 | |
| 2192 | int sc2_find_project_string(running_machine &machine ) |
| 2193 | { |
| 2194 | // search for the title |
| 2195 | const int strlength = 14; |
| 2196 | char title_string[] = "PROJECT NUMBER"; |
| 2197 | UINT8 *src = machine.root_device().memregion( "maincpu" )->base(); |
| 2198 | int size = machine.root_device().memregion( "maincpu" )->bytes(); |
| 2199 | |
| 2200 | for (int i=0;i<size-strlength;i++) |
| 2201 | { |
| 2202 | int j; |
| 2203 | int found = 1; |
| 2204 | for (j=0;j<strlength;j+=1) |
| 2205 | { |
| 2206 | UINT8 rom = src[(i+j)]; |
| 2207 | UINT8 chr = title_string[j]; |
| 2208 | |
| 2209 | if (rom != chr) |
| 2210 | { |
| 2211 | found = 0; |
| 2212 | break; |
| 2213 | } |
| 2214 | } |
| 2215 | |
| 2216 | if (found!=0) |
| 2217 | { |
| 2218 | |
| 2219 | int end=0; |
| 2220 | int count = 0; |
| 2221 | int blankcount = 0; |
| 2222 | printf("ID String @ %08x\n", i); |
| 2223 | |
| 2224 | while (!end) |
| 2225 | { |
| 2226 | UINT8 rom; |
| 2227 | int addr; |
| 2228 | |
| 2229 | addr = (i+count); |
| 2230 | |
| 2231 | if (addr<size) |
| 2232 | { |
| 2233 | rom = src[addr]; |
| 2234 | |
| 2235 | if ((rom>=0x20) && (rom<0x7f)) |
| 2236 | { |
| 2237 | printf("%c", rom); |
| 2238 | blankcount = 0; |
| 2239 | } |
| 2240 | else |
| 2241 | { |
| 2242 | blankcount++; |
| 2243 | if (blankcount<10) printf(" "); |
| 2244 | } |
| 2245 | |
| 2246 | count++; |
| 2247 | } |
| 2248 | else |
| 2249 | end = 1; |
| 2250 | |
| 2251 | if (count>=0x100) |
| 2252 | end = 1; |
| 2253 | } |
| 2254 | printf("\n"); |
| 2255 | |
| 2256 | return 1; |
| 2257 | } |
| 2258 | } |
| 2259 | |
| 2260 | return 0; |
| 2261 | } |
| 2262 | |
| 2263 | |
| 2190 | 2264 | static void sc2_common_init(running_machine &machine, int decrypt) |
| 2191 | 2265 | { |
| 2192 | 2266 | bfm_sc2_state *state = machine.driver_data<bfm_sc2_state>(); |
| r19482 | r19483 | |
| 3809 | 3883 | Scorpion2_SetSwitchState(machine(),6,2, 0); |
| 3810 | 3884 | Scorpion2_SetSwitchState(machine(),6,3, 1); |
| 3811 | 3885 | |
| 3886 | sc2_find_project_string(machine()); |
| 3812 | 3887 | } |
| 3813 | 3888 | |
| 3814 | 3889 | DRIVER_INIT_MEMBER(bfm_sc2_state,drwho_common) |
| 3815 | 3890 | { |
| 3816 | | |
| 3817 | 3891 | MechMtr_config(machine(),8); |
| 3818 | 3892 | |
| 3819 | 3893 | m_has_hopper = 0; |
| r19482 | r19483 | |
| 3826 | 3900 | Scorpion2_SetSwitchState(machine(),7,1, 0); /* 20P High Level Switch */ |
| 3827 | 3901 | Scorpion2_SetSwitchState(machine(),7,2, 0); /* Token Front High Level Switch */ |
| 3828 | 3902 | Scorpion2_SetSwitchState(machine(),7,3, 0); /* Token Rear High Level Switch */ |
| 3903 | |
| 3904 | sc2_find_project_string(machine()); |
| 3829 | 3905 | } |
| 3830 | 3906 | |
| 3831 | 3907 | DRIVER_INIT_MEMBER(bfm_sc2_state,drwho) |
| r19482 | r19483 | |
| 3845 | 3921 | { |
| 3846 | 3922 | sc2awp_common_init(machine(),6, 1); |
| 3847 | 3923 | MechMtr_config(machine(),5); |
| 3924 | sc2_find_project_string(machine()); |
| 3848 | 3925 | } |
| 3849 | 3926 | |
| 3850 | 3927 | DRIVER_INIT_MEMBER(bfm_sc2_state,cpeno1) |
| r19482 | r19483 | |
| 3889 | 3966 | m_sc2_door_state = 0x31; |
| 3890 | 3967 | |
| 3891 | 3968 | m_has_hopper = 0; |
| 3969 | sc2_find_project_string(machine()); |
| 3892 | 3970 | } |
| 3893 | 3971 | |
| 3894 | 3972 | DRIVER_INIT_MEMBER(bfm_sc2_state,ofah) |
| r19482 | r19483 | |
| 3906 | 3984 | Scorpion2_SetSwitchState(machine(),6,3,1); |
| 3907 | 3985 | |
| 3908 | 3986 | MechMtr_config(machine(),3); |
| 3909 | | |
| 3987 | sc2_find_project_string(machine()); |
| 3910 | 3988 | } |
| 3911 | 3989 | |
| 3912 | 3990 | DRIVER_INIT_MEMBER(bfm_sc2_state,prom) |
| r19482 | r19483 | |
| 3924 | 4002 | Scorpion2_SetSwitchState(machine(),6,3,1); |
| 3925 | 4003 | |
| 3926 | 4004 | MechMtr_config(machine(),3); |
| 3927 | | |
| 4005 | sc2_find_project_string(machine()); |
| 3928 | 4006 | } |
| 3929 | 4007 | |
| 3930 | 4008 | DRIVER_INIT_MEMBER(bfm_sc2_state,bfmcgslm) |
| r19482 | r19483 | |
| 3932 | 4010 | sc2awp_common_init(machine(),6, 1); |
| 3933 | 4011 | MechMtr_config(machine(),8); |
| 3934 | 4012 | m_has_hopper = 0; |
| 4013 | sc2_find_project_string(machine()); |
| 3935 | 4014 | } |
| 3936 | 4015 | |
| 3937 | 4016 | DRIVER_INIT_MEMBER(bfm_sc2_state,luvjub) |
| r19482 | r19483 | |
| 3958 | 4037 | Scorpion2_SetSwitchState(machine(),7,1,0); |
| 3959 | 4038 | Scorpion2_SetSwitchState(machine(),7,2,0); |
| 3960 | 4039 | Scorpion2_SetSwitchState(machine(),7,3,0); |
| 4040 | sc2_find_project_string(machine()); |
| 3961 | 4041 | } |
| 3962 | 4042 | |
| 3963 | 4043 | |
| r19482 | r19483 | |
| 7975 | 8055 | GAME( 199?, sc2cops5 , sc2cops , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Cops 'n' Robbers (Bellfruit) (set 6) (Scorpion 2/3)", GAME_FLAGS) |
| 7976 | 8056 | |
| 7977 | 8057 | //Shows Nudge Now animation on bootup - using right ROMS? |
| 8058 | // PROJECT NUMBER 6622 BINGO COPS N ROBBERS #8/#10 ALL CASH GAME No 95-750-814 - 9-JUL-1996 17:08:15 |
| 7978 | 8059 | GAME( 199?, sc2copsc , sc2cops , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Casino Cops 'n' Robbers (Bellfruit) (set 1) (Scorpion 2/3)", GAME_FLAGS) |
| 8060 | // PROJECT NUMBER 6622 BINGO COPS N ROBBERS #8/#10 ALL CASH GAME No 95-751-814 - 9-JUL-1996 17:08:15 |
| 7979 | 8061 | GAME( 199?, sc2copscp , sc2cops , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Casino Cops 'n' Robbers (Bellfruit) (set 1, Protocol) (Scorpion 2/3)", GAME_FLAGS) |
| 8062 | // PROJECT NUMBER 6622 BINGO COPS N ROBBERS SWITCHABLE BINGO/ARCADE GAME No 95-750-816 - 9-JUL-1996 17:12:33 |
| 7980 | 8063 | GAME( 199?, sc2copsc1 , sc2cops , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Casino Cops 'n' Robbers (Bellfruit) (set 2) (Scorpion 2/3)", GAME_FLAGS) |
| 8064 | // PROJECT NUMBER 6622 BINGO COPS N ROBBERS SWITCHABLE BINGO/ARCADE GAME No 95-751-816 - 9-JUL-1996 17:12:33 (sc2copsc1p / sc2copsc2 are the same set with different matrix rom??) |
| 7981 | 8065 | GAME( 199?, sc2copsc1p , sc2cops , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Casino Cops 'n' Robbers (Bellfruit) (set 2, Protocol) (Scorpion 2/3)", GAME_FLAGS) |
| 7982 | 8066 | GAME( 199?, sc2copsc2 , sc2cops , scorpion2_dm01 , drwho , bfm_sc2_state, ofah , 0, "BFM", "Casino Cops 'n' Robbers (Bellfruit) (set 3) (Scorpion 2/3)", GAME_FLAGS) |
| 7983 | 8067 | |