/* Scorpion 5 (Scorpion 5 Video Board) Skeleton Driver - For note keeping. This system is not emulated. */ #include "emu.h" #include "includes/bfm_ad5.h" extern int find_project_string(running_machine &machine, int addrxor, int mode); DRIVER_INIT_MEMBER(adder5_state,ad5) { // sc5 roms always start with SC5 UINT8 *src = machine().root_device().memregion( "maincpu" )->base(); // printf("%02x %02x %02x %02x\n", src[0], src[1], src[2], src[3]); if (((src[0] == 0x20) && (src[2] == 0x43)) || ((src[1] == 0x35) && (src[3] == 0x53))) { printf("Confirmed SC5 ROM\n"); } else { printf("NOT AN SC5 ROM!!!!!\n"); } // there is usually a string in the rom with identification info, often also saying which sound rom should be used! // find it. int found = find_project_string(machine(), 3, 0); if (!found) printf("Normal rom pair string not found, checking mismatched / missing rom string\n"); // help identify roms where one of the pair is missing too if (!found) { found = find_project_string(machine(), 3, 1); found = find_project_string(machine(), 3, 2); } if (!found) printf("No suitable string found\n"); } static ADDRESS_MAP_START( ad5_map, AS_PROGRAM, 32, adder5_state ) AM_RANGE(0x00000000, 0x00ffffff) AM_ROM AM_RANGE(0x01000000, 0x0100ffff) AM_RAM AM_RANGE(0x40000000, 0x40000fff) AM_RAM ADDRESS_MAP_END INPUT_PORTS_START( bfm_ad5 ) INPUT_PORTS_END INTERRUPT_GEN_MEMBER(adder5_state::ad5_fake_timer_int) { // this should be coming from the Timer / SIM modules of the Coldfire // machine().device("maincpu")->execute().set_input_line_and_vector(5, HOLD_LINE, 0x8c); } MACHINE_CONFIG_START( bfm_ad5, adder5_state ) MCFG_CPU_ADD("maincpu", MCF5206E, 40000000) /* MCF5206eFT */ MCFG_CPU_PROGRAM_MAP(ad5_map) MCFG_CPU_PERIODIC_INT_DRIVER(adder5_state, ad5_fake_timer_int, 1000) MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") /* unknown sound */ MACHINE_CONFIG_END