mirror of
https://github.com/holub/mame
synced 2025-05-21 13:18:56 +03:00
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:
parent
7d677a9153
commit
95670443c2
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -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
|
||||
|
@ -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 )
|
||||
|
@ -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" )
|
||||
|
@ -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
10028
src/mame/layout/sc4_dmd.lay
Normal file
File diff suppressed because it is too large
Load Diff
@ -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
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user