Placed some handlers for the DM01 board into bfm_sc4 - once we can confirm more games are on the hardware, this can move into the main driver. [James Wallace)

This commit is contained in:
Scott Stone 2012-05-22 15:12:32 +00:00
parent 7d677a9153
commit 95670443c2
6 changed files with 10114 additions and 18 deletions

1
.gitattributes vendored
View File

@ -4106,6 +4106,7 @@ src/mame/layout/roundup5.lay svneol=native#text/plain
src/mame/layout/royalcrd.lay svneol=native#text/plain
src/mame/layout/saiyukip.lay svneol=native#text/plain
src/mame/layout/sbrkout.lay svneol=native#text/plain
src/mame/layout/sc4_dmd.lay svneol=native#text/plain
src/mame/layout/sderby.lay svneol=native#text/plain
src/mame/layout/sgsafari.lay svneol=native#text/plain
src/mame/layout/sharkpy.lay svneol=native#text/plain

View File

@ -10,6 +10,8 @@
This file contains the set lists only, for the actual hardware
emulation see bfm_sc4h.c
However, the handlers for DMD are currently here, because we only
have it hooked up for one game, there must be more.
note: default Jackpot keys are set to whatever value the game
@ -20,6 +22,7 @@
#include "emu.h"
#include "includes/bfm_sc45.h"
#include "video/bfm_dm01.h"
bool compare_mbus(UINT16* rom)
@ -5345,6 +5348,9 @@ ROM_START( sc4fcc )
ROM_LOAD16_BYTE( "club-firecracker_std_ac_varss.hi", 0x00000, 0x080000, CRC(0bbab14f) SHA1(97e5d7d0f57c81232a06f89b486b2833f0ec8640) )
ROM_LOAD16_BYTE( "club-firecracker_std_ac_varss.lo", 0x00001, 0x080000, CRC(b543a3ad) SHA1(42f1c69adcbf7acc48dad98085f3f9e3a69f3342) )
sc_fcc_others
sc_fcc_matrix
ROM_END
ROM_START( sc4fcca )
@ -5352,6 +5358,9 @@ ROM_START( sc4fcca )
ROM_LOAD16_BYTE( "club-firecracker_dat_ac_67pss.hi", 0x00000, 0x080000, CRC(f62d7c6b) SHA1(a8e680074880f33313fe4ad6805d70910a4d8a48) )
ROM_LOAD16_BYTE( "club-firecracker_dat_ac_67pss.lo", 0x00001, 0x080000, CRC(cd7ccd11) SHA1(47f7b89a2b27966de21eb08845108e7da2542227) )
sc_fcc_others
sc_fcc_matrix
ROM_END
ROM_START( sc4fccb )
@ -5359,6 +5368,8 @@ ROM_START( sc4fccb )
ROM_LOAD16_BYTE( "club-firecracker_dat_ac_varss.hi", 0x00000, 0x080000, CRC(5e736802) SHA1(6cd0800ab8a96f057080c857c8ae696da71f58bd) )
ROM_LOAD16_BYTE( "club-firecracker_dat_ac_varss.lo", 0x00001, 0x080000, CRC(479efeef) SHA1(9115b184c14cc1fb1cdda0db0f6d39b396d424c9) )
sc_fcc_others
sc_fcc_matrix
ROM_END
ROM_START( sc4fccc )
@ -5366,6 +5377,8 @@ ROM_START( sc4fccc )
ROM_LOAD16_BYTE( "club-firecracker_std_ac_67pss.hi", 0x00000, 0x080000, CRC(6b2e08d5) SHA1(11a870bae9881df116727c942e724320557fac83) )
ROM_LOAD16_BYTE( "club-firecracker_std_ac_67pss.lo", 0x00001, 0x080000, CRC(09315677) SHA1(bd9421275331707e1ad24d7d248b8dddb1bf75ee) )
sc_fcc_others
sc_fcc_matrix
ROM_END
@ -24016,11 +24029,39 @@ GAME( 200?, sc4fpitck ,sc4fpitc, sc4, sc4, sc4, ROT0, "BFM","Fever Pitch (Bellfr
GAME( 200?, sc4fevnx ,0, sc4, sc4, sc4, ROT0, "BFM","Fever The Next (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL ) // Not English
GAME( 200?, sc4fevnxa ,sc4fevnx, sc4, sc4, sc4, ROT0, "BFM","Fever The Next (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL ) // Not English
const stepper_interface* sc4fcc_reel_configs[6] =
{
&starpoint_interface_200step_reel,
&starpoint_interface_200step_reel,
&starpoint_interface_200step_reel,
0,
0,
0,
};
static void bfmdm01_busy(running_machine &machine, int state)
{
// Must tie back to inputs somehow!
}
static const bfmdm01_interface dm01_interface =
{
bfmdm01_busy
};
static DRIVER_INIT( sc4fcc )
{
sc4_state *state = machine.driver_data<sc4_state>();
BFM_dm01_config(machine, &dm01_interface);
DRIVER_INIT_CALL( sc4mbus );
state->m_reel_setup = sc4fcc_reel_configs;
}
// PR6835 FIRE CRACKER PR6835 FIRE SOUNDS11
GAME( 200?, sc4fcc ,0, sc4, sc4, sc4, ROT0, "BFM","Firecracker Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
GAME( 200?, sc4fcca ,sc4fcc, sc4, sc4, sc4, ROT0, "BFM","Firecracker Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
GAME( 200?, sc4fccb ,sc4fcc, sc4, sc4, sc4, ROT0, "BFM","Firecracker Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
GAME( 200?, sc4fccc ,sc4fcc, sc4, sc4, sc4, ROT0, "BFM","Firecracker Club (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
GAME( 200?, sc4fcc ,0, sc4dmd, sc4, sc4fcc, ROT0, "BFM","Firecracker Club (Bellfruit) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )
GAME( 200?, sc4fcca ,sc4fcc, sc4dmd, sc4, sc4fcc, ROT0, "BFM","Firecracker Club (Bellfruit) (Scorpion 4) (set 2)", GAME_IS_SKELETON_MECHANICAL )
GAME( 200?, sc4fccb ,sc4fcc, sc4dmd, sc4, sc4fcc, ROT0, "BFM","Firecracker Club (Bellfruit) (Scorpion 4) (set 3)", GAME_IS_SKELETON_MECHANICAL )
GAME( 200?, sc4fccc ,sc4fcc, sc4dmd, sc4, sc4fcc, ROT0, "BFM","Firecracker Club (Bellfruit) (Scorpion 4) (set 4)", GAME_IS_SKELETON_MECHANICAL )
// PR2082 FIRE POWER FPOW SOUNDS FIRE POWER
GAME( 200?, sc4fire ,0, sc4, sc4, sc4, ROT0, "Mazooma","Firepower (Mazooma) (Scorpion 4) (set 1)", GAME_IS_SKELETON_MECHANICAL )

View File

@ -39,6 +39,11 @@
#include "bfm_sc4.lh"
#include "machine/bfm_bd1.h"
#include "video/awpvid.h"
//DMD01
#include "video/bfm_dm01.h"
#include "cpu/m6809/m6809.h"
#include "sc4_dmd.lh"
UINT8 read_input_matrix(running_machine &machine, int row)
{
@ -483,8 +488,15 @@ void bfm_sc4_write_serial_vfd(running_machine &machine, bool cs, bool clock, boo
if ( state->vfd_ser_count == 8 )
{
state->vfd_ser_count = 0;
BFM_BD1_newdata(0, state->vfd_ser_value);
BFM_BD1_draw(0);
if (machine.device("matrix"))
{
BFM_dm01_writedata(machine,state->vfd_ser_value);
}
else
{
BFM_BD1_newdata(0, state->vfd_ser_value);
BFM_BD1_draw(0);
}
}
}
state->vfd_old_clock = clock;
@ -659,10 +671,10 @@ void bfm_sc4_duart_irq_handler(device_t *device, int state, UINT8 vector)
// triggers after reel tests on luckb, at the start on dnd...
// not sure this is right, causes some games to crash
logerror("bfm_sc4_duart_irq_handler\n");
if (state == ASSERT_LINE)
{
m68307_licr2_interrupt((legacy_cpu_device*)device->machine().device("maincpu"));
}
if (state == ASSERT_LINE)
{
m68307_licr2_interrupt((legacy_cpu_device*)device->machine().device("maincpu"));
}
};
void bfm_sc4_duart_tx(device_t *device, int channel, UINT8 data)
@ -712,10 +724,10 @@ static const duart68681_config bfm_sc4_duart68681_config =
void m68307_duart_irq_handler(device_t *device, int state, UINT8 vector)
{
logerror("m68307_duart_irq_handler\n");
if (state == ASSERT_LINE)
{
m68307_serial_interrupt((legacy_cpu_device*)device->machine().device("maincpu"), vector);
}
if (state == ASSERT_LINE)
{
m68307_serial_interrupt((legacy_cpu_device*)device->machine().device("maincpu"), vector);
}
};
void m68307_duart_tx(device_t *device, int channel, UINT8 data)
@ -795,7 +807,15 @@ MACHINE_CONFIG_DERIVED_CLASS( sc4_adder4, sc4, sc4_adder4_state )
MCFG_MACHINE_START( adder4 )
MACHINE_CONFIG_END
MACHINE_CONFIG_DERIVED_CLASS( sc4dmd, sc4, sc4_state )
/* video hardware */
MCFG_DEFAULT_LAYOUT(layout_sc4_dmd)
MCFG_CPU_ADD("matrix", M6809, 2000000 ) /* matrix board 6809 CPU at 2 Mhz ?? I don't know the exact freq.*/
MCFG_CPU_PROGRAM_MAP(bfm_dm01_memmap)
MCFG_CPU_PERIODIC_INT(bfm_dm01_vbl, 1500 ) /* generate 1500 NMI's per second ?? what is the exact freq?? */
MCFG_MACHINE_START( sc4 )
MACHINE_CONFIG_END
INPUT_PORTS_START( sc4_base )
PORT_START("IN-0")
PORT_DIPNAME( 0x01, 0x00, "IN-0:0" )

View File

@ -77,6 +77,8 @@ public:
MACHINE_CONFIG_EXTERN( sc4 );
MACHINE_CONFIG_EXTERN( sc4_adder4 );
MACHINE_CONFIG_EXTERN( sc4dmd );
INPUT_PORTS_EXTERN( sc4_base );
#define SC4_JACKPOT_KEY_SETTINGS \
@ -2432,8 +2434,10 @@ INPUT_PORTS_EXTERN( sc4_base );
ROM_LOAD( "95004103.lo", 0x000000, 0x080000, CRC(9926f103) SHA1(f29a0d25eebd0a0990cd165116b425b795ed62e0) ) \
ROM_LOAD( "95004104.hi", 0x080000, 0x080000, CRC(bec75a23) SHA1(cdf895081ebf3afb52d5bfaab29f713800c85fc9) ) \
\
ROM_REGION( 0x400000, "other", ROMREGION_ERASE00 ) \
ROM_LOAD( "club-firecracker_mtx_ass.bin", 0x0000, 0x010000, CRC(c23ffee9) SHA1(b4f2542e8ed0b282a439e523baa6cd43c5b2cb50) ) /* DMD01 */ \
#define sc_fcc_matrix \
ROM_REGION( 0x200000, "matrix", ROMREGION_ERASEFF )\
ROM_LOAD( "club-firecracker_mtx_ass.bin", 0x0000, 0x010000, CRC(c23ffee9) SHA1(b4f2542e8ed0b282a439e523baa6cd43c5b2cb50) )\
#define sc_frsu_others \
ROM_REGION( 0x400000, "ymz", ROMREGION_ERASE00 ) \

10028
src/mame/layout/sc4_dmd.lay Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1958,9 +1958,11 @@ $(DRIVERS)/bfm_sc2.o: $(LAYOUT)/bfm_sc2.lh \
$(LAYOUT)/sltblgpo.lh \
$(LAYOUT)/sltblgtk.lh
$(DRIVERS)/bfm_sc4.o: $(LAYOUT)/bfm_sc4.lh
$(DRIVERS)/bfm_sc4.o: $(LAYOUT)/bfm_sc4.lh \
$(LAYOUT)/sc4_dmd.lh
$(DRIVERS)/bfm_sc4h.o: $(LAYOUT)/bfm_sc4.lh
$(DRIVERS)/bfm_sc4h.o: $(LAYOUT)/bfm_sc4.lh \
$(LAYOUT)/sc4_dmd.lh
$(DRIVERS)/blockade.o: $(LAYOUT)/blockade.lh