mirror of
https://github.com/holub/mame
synced 2025-06-06 12:53:46 +03:00
Split the Williams System 11 Background Sound/Music board emulation off the 11C version into a subdevice, so the different mixing resistors used on the System 11C vs 11A/11B versions can be emulated. Switch Williams System 11A over to use the common Williams System 11 Background Sound/Music Board device. Add a device line to the Williams System 11 Background Sound/Music Board device for the incoming /RESET signal and hook it to the various drivers. [Lord Nightmare]
This commit is contained in:
parent
c3a77b9d73
commit
d1dafecad8
@ -10,7 +10,7 @@
|
|||||||
* The interface connector for this board is a 20 pin header J4 with the following pinout:
|
* The interface connector for this board is a 20 pin header J4 with the following pinout:
|
||||||
*
|
*
|
||||||
* +--------+
|
* +--------+
|
||||||
* GND | 1 2 | NC
|
* GND | 1 2 | NC
|
||||||
* PB0 | 3 4 | PB1
|
* PB0 | 3 4 | PB1
|
||||||
* PB2 | 5 6 | PB3
|
* PB2 | 5 6 | PB3
|
||||||
* PB4 | 7 8 | PB5
|
* PB4 | 7 8 | PB5
|
||||||
@ -28,7 +28,7 @@
|
|||||||
*
|
*
|
||||||
* The actual full pinout of the connector, from the System 11 end is:
|
* The actual full pinout of the connector, from the System 11 end is:
|
||||||
* +--------+
|
* +--------+
|
||||||
* GND | 1 2 | BLANKING
|
* GND | 1 2 | BLANKING
|
||||||
* MD0 | 3 4 | MD1
|
* MD0 | 3 4 | MD1
|
||||||
* MD2 | 5 6 | MD3
|
* MD2 | 5 6 | MD3
|
||||||
* MD4 | 7 8 | MD5
|
* MD4 | 7 8 | MD5
|
||||||
@ -85,7 +85,7 @@
|
|||||||
* sockets for 27c010 chips, instead of 28 pin sockets. Despite this, the board is fully backwards compatible
|
* sockets for 27c010 chips, instead of 28 pin sockets. Despite this, the board is fully backwards compatible
|
||||||
* with the D-11581-20xx, including the mixing resistors.
|
* with the D-11581-20xx, including the mixing resistors.
|
||||||
* The highest ROM address bit for all 3 roms (as shown in the High Impact Football schematics,
|
* The highest ROM address bit for all 3 roms (as shown in the High Impact Football schematics,
|
||||||
* but omitted from the prototype FunHouse Schematics) is driven by the rom banking register 0x7800 bit 4, which
|
* but omitted from the prototype FunHouse Schematics) is driven by the rom banking register 0x7800 bit 3, which
|
||||||
* is unused/unconnected on all other board revisions.
|
* is unused/unconnected on all other board revisions.
|
||||||
* The 32 pin EPROM socket pins 1(VPP), 31(/PGM), 32(VCC) and 30(NC) are all tied to VCC.
|
* The 32 pin EPROM socket pins 1(VPP), 31(/PGM), 32(VCC) and 30(NC) are all tied to VCC.
|
||||||
* Jumpers W2, W3, W10 and W11 act the same as they do on D-11581-20xx, just offset down in the socket by 2 pins.
|
* Jumpers W2, W3, W10 and W11 act the same as they do on D-11581-20xx, just offset down in the socket by 2 pins.
|
||||||
@ -196,10 +196,11 @@
|
|||||||
#include "sound/volt_reg.h"
|
#include "sound/volt_reg.h"
|
||||||
|
|
||||||
|
|
||||||
DEFINE_DEVICE_TYPE(S11C_BG, s11c_bg_device, "s11c_bg", "Williams System 11C Background Music")
|
DEFINE_DEVICE_TYPE(S11C_BG, s11c_bg_device, "s11c_bg", "Williams System 11C Background Music Board")
|
||||||
|
DEFINE_DEVICE_TYPE(S11_BG, s11_bg_device, "s11_bg", "Williams System 11 Background Music Board")
|
||||||
|
|
||||||
s11c_bg_device::s11c_bg_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
s11c_bg_device::s11c_bg_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||||
: device_t(mconfig, S11C_BG,tag,owner,clock)
|
: device_t(mconfig,S11C_BG,tag,owner,clock)
|
||||||
, device_mixer_interface(mconfig, *this)
|
, device_mixer_interface(mconfig, *this)
|
||||||
, m_cpu(*this, "bgcpu")
|
, m_cpu(*this, "bgcpu")
|
||||||
, m_ym2151(*this, "ym2151")
|
, m_ym2151(*this, "ym2151")
|
||||||
@ -209,6 +210,29 @@ s11c_bg_device::s11c_bg_device(const machine_config &mconfig, const char *tag, d
|
|||||||
, m_rom(*this, finder_base::DUMMY_TAG)
|
, m_rom(*this, finder_base::DUMMY_TAG)
|
||||||
, m_cb2_cb(*this)
|
, m_cb2_cb(*this)
|
||||||
, m_pb_cb(*this)
|
, m_pb_cb(*this)
|
||||||
|
, m_old_resetq_state(ASSERT_LINE)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
// constructor with overridable type for subclass
|
||||||
|
s11c_bg_device::s11c_bg_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
|
||||||
|
: device_t(mconfig,type,tag,owner,clock)
|
||||||
|
, device_mixer_interface(mconfig, *this)
|
||||||
|
, m_cpu(*this, "bgcpu")
|
||||||
|
, m_ym2151(*this, "ym2151")
|
||||||
|
, m_hc55516(*this, "hc55516_bg")
|
||||||
|
, m_pia40(*this, "pia40")
|
||||||
|
, m_cpubank(*this, "bgbank")
|
||||||
|
, m_rom(*this, finder_base::DUMMY_TAG)
|
||||||
|
, m_cb2_cb(*this)
|
||||||
|
, m_pb_cb(*this)
|
||||||
|
, m_old_resetq_state(ASSERT_LINE)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
// subclass definition
|
||||||
|
s11_bg_device::s11_bg_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||||
|
: s11c_bg_device(mconfig,S11_BG,tag,owner,clock)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -266,7 +290,17 @@ void s11c_bg_device::data_w(uint8_t data)
|
|||||||
m_pia40->portb_w(data);
|
m_pia40->portb_w(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
void s11c_bg_device::device_add_mconfig(machine_config &config)
|
WRITE_LINE_MEMBER( s11c_bg_device::resetq_w )
|
||||||
|
{
|
||||||
|
if ((m_old_resetq_state != CLEAR_LINE) && (state == CLEAR_LINE))
|
||||||
|
{
|
||||||
|
logerror("S11 bg device received reset request\n");
|
||||||
|
common_reset();
|
||||||
|
}
|
||||||
|
m_old_resetq_state = state;
|
||||||
|
}
|
||||||
|
|
||||||
|
void s11c_bg_device::s11_bg_core(machine_config &config)
|
||||||
{
|
{
|
||||||
MC6809E(config, m_cpu, XTAL(8'000'000) / 4); // MC68B09E
|
MC6809E(config, m_cpu, XTAL(8'000'000) / 4); // MC68B09E
|
||||||
m_cpu->set_addrmap(AS_PROGRAM, &s11c_bg_device::s11c_bg_map);
|
m_cpu->set_addrmap(AS_PROGRAM, &s11c_bg_device::s11c_bg_map);
|
||||||
@ -281,8 +315,6 @@ void s11c_bg_device::device_add_mconfig(machine_config &config)
|
|||||||
vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
|
vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
|
||||||
vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT);
|
vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT);
|
||||||
|
|
||||||
HC55516(config, m_hc55516, 0).add_route(ALL_OUTPUTS, *this, 0.6);
|
|
||||||
|
|
||||||
PIA6821(config, m_pia40, 0);
|
PIA6821(config, m_pia40, 0);
|
||||||
m_pia40->writepa_handler().set("dac", FUNC(dac_byte_interface::data_w));
|
m_pia40->writepa_handler().set("dac", FUNC(dac_byte_interface::data_w));
|
||||||
m_pia40->writepb_handler().set(FUNC(s11c_bg_device::pia40_pb_w));
|
m_pia40->writepb_handler().set(FUNC(s11c_bg_device::pia40_pb_w));
|
||||||
@ -292,6 +324,18 @@ void s11c_bg_device::device_add_mconfig(machine_config &config)
|
|||||||
m_pia40->irqb_handler().set_inputline(m_cpu, INPUT_LINE_NMI);
|
m_pia40->irqb_handler().set_inputline(m_cpu, INPUT_LINE_NMI);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void s11c_bg_device::device_add_mconfig(machine_config &config)
|
||||||
|
{
|
||||||
|
s11_bg_core(config);
|
||||||
|
HC55516(config, m_hc55516, 0).add_route(ALL_OUTPUTS, *this, 0.6); // cvsd is twice as loud on the sys11c version
|
||||||
|
}
|
||||||
|
|
||||||
|
void s11_bg_device::device_add_mconfig(machine_config &config)
|
||||||
|
{
|
||||||
|
s11_bg_core(config);
|
||||||
|
HC55516(config, m_hc55516, 0).add_route(ALL_OUTPUTS, *this, 0.3);
|
||||||
|
}
|
||||||
|
|
||||||
void s11c_bg_device::device_start()
|
void s11c_bg_device::device_start()
|
||||||
{
|
{
|
||||||
/* resolve lines */
|
/* resolve lines */
|
||||||
@ -299,7 +343,7 @@ void s11c_bg_device::device_start()
|
|||||||
m_pb_cb.resolve();
|
m_pb_cb.resolve();
|
||||||
}
|
}
|
||||||
|
|
||||||
void s11c_bg_device::device_reset()
|
void s11c_bg_device::common_reset()
|
||||||
{
|
{
|
||||||
m_cpubank->configure_entries(0, 16, &m_rom[0x0], 0x8000);
|
m_cpubank->configure_entries(0, 16, &m_rom[0x0], 0x8000);
|
||||||
m_cpubank->set_entry(0);
|
m_cpubank->set_entry(0);
|
||||||
@ -307,6 +351,11 @@ void s11c_bg_device::device_reset()
|
|||||||
m_cpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero);
|
m_cpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void s11c_bg_device::device_reset()
|
||||||
|
{
|
||||||
|
common_reset();
|
||||||
|
}
|
||||||
|
|
||||||
void s11c_bg_device::bg_cvsd_clock_set_w(uint8_t data)
|
void s11c_bg_device::bg_cvsd_clock_set_w(uint8_t data)
|
||||||
{
|
{
|
||||||
m_hc55516->clock_w(1);
|
m_hc55516->clock_w(1);
|
||||||
|
@ -23,12 +23,16 @@ public:
|
|||||||
// construction/destruction
|
// construction/destruction
|
||||||
s11c_bg_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
|
s11c_bg_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
|
||||||
|
|
||||||
|
// common config
|
||||||
|
void s11_bg_core(machine_config &config);
|
||||||
|
|
||||||
// note to keep synchronization working, the host machine should have synchronization timer expired delegates
|
// note to keep synchronization working, the host machine should have synchronization timer expired delegates
|
||||||
// before writing to the following 3 things:
|
// before writing to the following 3 things:
|
||||||
DECLARE_WRITE_LINE_MEMBER(extra_w); // external write to board CB2 (J4 pin 12), does anything actually do this?
|
DECLARE_WRITE_LINE_MEMBER(extra_w); // external write to board CB2 (J4 pin 12), does anything actually do this?
|
||||||
DECLARE_WRITE_LINE_MEMBER(ctrl_w); // external write to board CB1 (J4 pin 13)
|
DECLARE_WRITE_LINE_MEMBER(ctrl_w); // external write to board CB1 (J4 pin 13)
|
||||||
void data_w(uint8_t data); // external write to board data bus (J4 pins 3 thru 10 for D0-D7)
|
void data_w(uint8_t data); // external write to board data bus (J4 pins 3 thru 10 for D0-D7)
|
||||||
virtual void device_reset() override; // external write to board /RESET (J4 pin 18)
|
virtual void device_reset() override; // power up reset
|
||||||
|
DECLARE_WRITE_LINE_MEMBER(resetq_w); // external write to board /RESET (J4 pin 18)
|
||||||
|
|
||||||
// callbacks
|
// callbacks
|
||||||
auto cb2_cb() { return m_cb2_cb.bind(); }
|
auto cb2_cb() { return m_cb2_cb.bind(); }
|
||||||
@ -38,6 +42,9 @@ public:
|
|||||||
|
|
||||||
void s11c_bg_map(address_map &map);
|
void s11c_bg_map(address_map &map);
|
||||||
protected:
|
protected:
|
||||||
|
// constructor with overridable type for subclass
|
||||||
|
s11c_bg_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock = 0);
|
||||||
|
|
||||||
// overrides
|
// overrides
|
||||||
virtual void device_start() override;
|
virtual void device_start() override;
|
||||||
virtual void device_add_mconfig(machine_config &config) override;
|
virtual void device_add_mconfig(machine_config &config) override;
|
||||||
@ -45,7 +52,6 @@ protected:
|
|||||||
TIMER_CALLBACK_MEMBER(deferred_cb2_w);
|
TIMER_CALLBACK_MEMBER(deferred_cb2_w);
|
||||||
TIMER_CALLBACK_MEMBER(deferred_pb_w);
|
TIMER_CALLBACK_MEMBER(deferred_pb_w);
|
||||||
|
|
||||||
private:
|
|
||||||
required_device<cpu_device> m_cpu;
|
required_device<cpu_device> m_cpu;
|
||||||
required_device<ym2151_device> m_ym2151;
|
required_device<ym2151_device> m_ym2151;
|
||||||
required_device<hc55516_device> m_hc55516;
|
required_device<hc55516_device> m_hc55516;
|
||||||
@ -53,9 +59,12 @@ private:
|
|||||||
required_memory_bank m_cpubank;
|
required_memory_bank m_cpubank;
|
||||||
required_region_ptr<uint8_t> m_rom;
|
required_region_ptr<uint8_t> m_rom;
|
||||||
|
|
||||||
|
private:
|
||||||
devcb_write_line m_cb2_cb;
|
devcb_write_line m_cb2_cb;
|
||||||
devcb_write8 m_pb_cb;
|
devcb_write8 m_pb_cb;
|
||||||
|
|
||||||
|
void common_reset(); // common reset function used by both internal and external reset
|
||||||
|
uint8_t m_old_resetq_state;
|
||||||
DECLARE_WRITE_LINE_MEMBER(pia40_cb2_w);
|
DECLARE_WRITE_LINE_MEMBER(pia40_cb2_w);
|
||||||
void pia40_pb_w(uint8_t data);
|
void pia40_pb_w(uint8_t data);
|
||||||
|
|
||||||
@ -64,6 +73,15 @@ private:
|
|||||||
void bgbank_w(uint8_t data);
|
void bgbank_w(uint8_t data);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class s11_bg_device : public s11c_bg_device
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
s11_bg_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
|
||||||
|
protected:
|
||||||
|
virtual void device_add_mconfig(machine_config &config) override;
|
||||||
|
};
|
||||||
|
|
||||||
DECLARE_DEVICE_TYPE(S11C_BG, s11c_bg_device)
|
DECLARE_DEVICE_TYPE(S11C_BG, s11c_bg_device)
|
||||||
|
DECLARE_DEVICE_TYPE(S11_BG, s11_bg_device)
|
||||||
|
|
||||||
#endif // MAME_AUDIO_S11C_BG_H
|
#endif // MAME_AUDIO_S11C_BG_H
|
||||||
|
@ -52,15 +52,6 @@ void s11a_state::s11a_audio_map(address_map &map)
|
|||||||
map(0xc000, 0xffff).bankr("bank1");
|
map(0xc000, 0xffff).bankr("bank1");
|
||||||
}
|
}
|
||||||
|
|
||||||
void s11a_state::s11a_bg_map(address_map &map)
|
|
||||||
{
|
|
||||||
map(0x0000, 0x07ff).mirror(0x1800).ram();
|
|
||||||
map(0x2000, 0x2001).mirror(0x1ffe).rw(m_ym2151, FUNC(ym2151_device::read), FUNC(ym2151_device::write));
|
|
||||||
map(0x4000, 0x4003).mirror(0x1ffc).rw(m_pia40, FUNC(pia6821_device::read), FUNC(pia6821_device::write));
|
|
||||||
map(0x7800, 0x7800).mirror(0x07ff).w(FUNC(s11a_state::bgbank_w));
|
|
||||||
map(0x8000, 0xffff).bankr("bgbank");
|
|
||||||
}
|
|
||||||
|
|
||||||
static INPUT_PORTS_START( s11a )
|
static INPUT_PORTS_START( s11a )
|
||||||
PORT_START("SW.0")
|
PORT_START("SW.0")
|
||||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT ) // always plumb-bob tilt
|
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT ) // always plumb-bob tilt
|
||||||
@ -156,7 +147,6 @@ INPUT_PORTS_END
|
|||||||
MACHINE_RESET_MEMBER( s11a_state, s11a )
|
MACHINE_RESET_MEMBER( s11a_state, s11a )
|
||||||
{
|
{
|
||||||
MACHINE_RESET_CALL_MEMBER(s11);
|
MACHINE_RESET_CALL_MEMBER(s11);
|
||||||
membank("bgbank")->set_entry(0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void s11a_state::dig0_w(uint8_t data)
|
void s11a_state::dig0_w(uint8_t data)
|
||||||
@ -171,19 +161,8 @@ void s11a_state::dig0_w(uint8_t data)
|
|||||||
set_segment2(0);
|
set_segment2(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void s11a_state::bgbank_w(uint8_t data)
|
|
||||||
{
|
|
||||||
membank("bgbank")->set_entry(data & 0x03);
|
|
||||||
}
|
|
||||||
|
|
||||||
void s11a_state::init_s11a()
|
void s11a_state::init_s11a()
|
||||||
{
|
{
|
||||||
if (m_bgcpu)
|
|
||||||
{
|
|
||||||
uint8_t *BGROM = memregion("bgcpu")->base();
|
|
||||||
membank("bgbank")->configure_entries(0, 4, &BGROM[0x10000], 0x8000);
|
|
||||||
membank("bgbank")->set_entry(0);
|
|
||||||
}
|
|
||||||
s11_state::init_s11();
|
s11_state::init_s11();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -247,6 +226,7 @@ void s11a_state::s11a(machine_config &config)
|
|||||||
PIA6821(config, m_pia34, 0);
|
PIA6821(config, m_pia34, 0);
|
||||||
m_pia34->writepa_handler().set(FUNC(s11_state::pia34_pa_w));
|
m_pia34->writepa_handler().set(FUNC(s11_state::pia34_pa_w));
|
||||||
m_pia34->writepb_handler().set(FUNC(s11_state::pia34_pb_w));
|
m_pia34->writepb_handler().set(FUNC(s11_state::pia34_pb_w));
|
||||||
|
m_pia34->ca2_handler().set(m_bg, FUNC(s11c_bg_device::resetq_w));
|
||||||
m_pia34->cb2_handler().set(FUNC(s11_state::pia34_cb2_w));
|
m_pia34->cb2_handler().set(FUNC(s11_state::pia34_cb2_w));
|
||||||
m_pia34->irqa_handler().set(m_piairq, FUNC(input_merger_device::in_w<11>));
|
m_pia34->irqa_handler().set(m_piairq, FUNC(input_merger_device::in_w<11>));
|
||||||
m_pia34->irqb_handler().set(m_piairq, FUNC(input_merger_device::in_w<12>));
|
m_pia34->irqb_handler().set(m_piairq, FUNC(input_merger_device::in_w<12>));
|
||||||
@ -263,7 +243,6 @@ void s11a_state::s11a(machine_config &config)
|
|||||||
MC1408(config, "dac", 0).add_route(ALL_OUTPUTS, "speaker", 0.25);
|
MC1408(config, "dac", 0).add_route(ALL_OUTPUTS, "speaker", 0.25);
|
||||||
voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref"));
|
voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref"));
|
||||||
vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT);
|
vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT);
|
||||||
vref.add_route(0, "dac1", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "dac1", -1.0, DAC_VREF_NEG_INPUT);
|
|
||||||
|
|
||||||
SPEAKER(config, "speech").front_center();
|
SPEAKER(config, "speech").front_center();
|
||||||
HC55516(config, m_hc55516, 0).add_route(ALL_OUTPUTS, "speech", 0.50);
|
HC55516(config, m_hc55516, 0).add_route(ALL_OUTPUTS, "speech", 0.50);
|
||||||
@ -273,28 +252,18 @@ void s11a_state::s11a(machine_config &config)
|
|||||||
m_pias->set_port_a_input_overrides_output_mask(0xff);
|
m_pias->set_port_a_input_overrides_output_mask(0xff);
|
||||||
m_pias->writepa_handler().set(FUNC(s11_state::sound_w));
|
m_pias->writepa_handler().set(FUNC(s11_state::sound_w));
|
||||||
m_pias->writepb_handler().set("dac", FUNC(dac_byte_interface::data_w));
|
m_pias->writepb_handler().set("dac", FUNC(dac_byte_interface::data_w));
|
||||||
m_pias->cb2_handler().set(FUNC(s11_state::pia40_cb2_w));
|
m_pias->ca2_handler().set(m_hc55516, FUNC(hc55516_device::clock_w));
|
||||||
|
m_pias->cb2_handler().set(m_hc55516, FUNC(hc55516_device::digit_w));
|
||||||
m_pias->irqa_handler().set(m_audioirq, FUNC(input_merger_device::in_w<0>));
|
m_pias->irqa_handler().set(m_audioirq, FUNC(input_merger_device::in_w<0>));
|
||||||
m_pias->irqb_handler().set(m_audioirq, FUNC(input_merger_device::in_w<1>));
|
m_pias->irqb_handler().set(m_audioirq, FUNC(input_merger_device::in_w<1>));
|
||||||
|
|
||||||
/* Add the background music card */
|
/* Add the background music card */
|
||||||
MC6809E(config, m_bgcpu, XTAL(8'000'000) / 4); // MC68B09E
|
|
||||||
m_bgcpu->set_addrmap(AS_PROGRAM, &s11a_state::s11a_bg_map);
|
|
||||||
|
|
||||||
SPEAKER(config, "bg").front_center();
|
SPEAKER(config, "bg").front_center();
|
||||||
YM2151(config, m_ym2151, XTAL(3'579'545));
|
S11_BG(config, m_bg);
|
||||||
m_ym2151->irq_handler().set(FUNC(s11a_state::ym2151_irq_w));
|
m_bg->pb_cb().set(m_pia34, FUNC(pia6821_device::portb_w));
|
||||||
m_ym2151->add_route(ALL_OUTPUTS, "bg", 0.50);
|
m_bg->cb2_cb().set(m_pia34, FUNC(pia6821_device::cb1_w));
|
||||||
|
m_bg->set_romregion(m_bgcpu);
|
||||||
MC1408(config, "dac1", 0).add_route(ALL_OUTPUTS, "bg", 0.25);
|
m_bg->add_route(ALL_OUTPUTS, "bg", 1.0);
|
||||||
|
|
||||||
PIA6821(config, m_pia40, 0);
|
|
||||||
m_pia40->writepa_handler().set("dac1", FUNC(dac_byte_interface::data_w));
|
|
||||||
m_pia40->writepb_handler().set(FUNC(s11_state::pia40_pb_w));
|
|
||||||
m_pia40->ca2_handler().set(FUNC(s11_state::pias_ca2_w));
|
|
||||||
m_pia40->cb2_handler().set(FUNC(s11_state::pias_cb2_w));
|
|
||||||
m_pia40->irqa_handler().set_inputline(m_bgcpu, M6809_FIRQ_LINE);
|
|
||||||
m_pia40->irqb_handler().set_inputline(m_bgcpu, INPUT_LINE_NMI);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*------------------------
|
/*------------------------
|
||||||
@ -310,9 +279,15 @@ ROM_START(f14_p3)
|
|||||||
ROM_LOAD("f14_u21.l1", 0x18000, 0x8000, CRC(e412300c) SHA1(382d0cfa47abea295f0c7501bc0a010473e9d73b))
|
ROM_LOAD("f14_u21.l1", 0x18000, 0x8000, CRC(e412300c) SHA1(382d0cfa47abea295f0c7501bc0a010473e9d73b))
|
||||||
ROM_LOAD("f14_u22.l1", 0x10000, 0x8000, CRC(c9dd7496) SHA1(de3cb855d87033274cc912578b02d1593d2d69f9))
|
ROM_LOAD("f14_u22.l1", 0x10000, 0x8000, CRC(c9dd7496) SHA1(de3cb855d87033274cc912578b02d1593d2d69f9))
|
||||||
|
|
||||||
ROM_REGION(0x30000, "bgcpu", ROMREGION_ERASEFF)
|
ROM_REGION(0x80000, "bgcpu", ROMREGION_ERASEFF)
|
||||||
ROM_LOAD("f14_u4.l1", 0x10000, 0x8000, CRC(43ecaabf) SHA1(64b50dbff03cd556130d0cff47b951fdf37d397d))
|
ROM_LOAD("f14_u4.l1", 0x00000, 0x8000, CRC(43ecaabf) SHA1(64b50dbff03cd556130d0cff47b951fdf37d397d))
|
||||||
ROM_LOAD("f14_u19.l1", 0x18000, 0x8000, CRC(d0de4a7c) SHA1(46ecd5786653add47751cc56b38d9db7c4622377))
|
ROM_RELOAD(0x08000,0x8000)
|
||||||
|
ROM_RELOAD(0x10000,0x8000)
|
||||||
|
ROM_RELOAD(0x18000,0x8000)
|
||||||
|
ROM_LOAD("f14_u19.l1", 0x20000, 0x8000, CRC(d0de4a7c) SHA1(46ecd5786653add47751cc56b38d9db7c4622377))
|
||||||
|
ROM_RELOAD(0x28000,0x8000)
|
||||||
|
ROM_RELOAD(0x30000,0x8000)
|
||||||
|
ROM_RELOAD(0x38000,0x8000)
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
ROM_START(f14_p4)
|
ROM_START(f14_p4)
|
||||||
@ -324,9 +299,15 @@ ROM_START(f14_p4)
|
|||||||
ROM_LOAD("f14_u21.l1", 0x18000, 0x8000, CRC(e412300c) SHA1(382d0cfa47abea295f0c7501bc0a010473e9d73b))
|
ROM_LOAD("f14_u21.l1", 0x18000, 0x8000, CRC(e412300c) SHA1(382d0cfa47abea295f0c7501bc0a010473e9d73b))
|
||||||
ROM_LOAD("f14_u22.l1", 0x10000, 0x8000, CRC(c9dd7496) SHA1(de3cb855d87033274cc912578b02d1593d2d69f9))
|
ROM_LOAD("f14_u22.l1", 0x10000, 0x8000, CRC(c9dd7496) SHA1(de3cb855d87033274cc912578b02d1593d2d69f9))
|
||||||
|
|
||||||
ROM_REGION(0x30000, "bgcpu", ROMREGION_ERASEFF)
|
ROM_REGION(0x80000, "bgcpu", ROMREGION_ERASEFF)
|
||||||
ROM_LOAD("f14_u4.l1", 0x10000, 0x8000, CRC(43ecaabf) SHA1(64b50dbff03cd556130d0cff47b951fdf37d397d))
|
ROM_LOAD("f14_u4.l1", 0x00000, 0x8000, CRC(43ecaabf) SHA1(64b50dbff03cd556130d0cff47b951fdf37d397d))
|
||||||
ROM_LOAD("f14_u19.l1", 0x18000, 0x8000, CRC(d0de4a7c) SHA1(46ecd5786653add47751cc56b38d9db7c4622377))
|
ROM_RELOAD(0x08000,0x8000)
|
||||||
|
ROM_RELOAD(0x10000,0x8000)
|
||||||
|
ROM_RELOAD(0x18000,0x8000)
|
||||||
|
ROM_LOAD("f14_u19.l1", 0x20000, 0x8000, CRC(d0de4a7c) SHA1(46ecd5786653add47751cc56b38d9db7c4622377))
|
||||||
|
ROM_RELOAD(0x28000,0x8000)
|
||||||
|
ROM_RELOAD(0x30000,0x8000)
|
||||||
|
ROM_RELOAD(0x38000,0x8000)
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
ROM_START(f14_p5)
|
ROM_START(f14_p5)
|
||||||
@ -338,9 +319,15 @@ ROM_START(f14_p5)
|
|||||||
ROM_LOAD("f14_u21.l1", 0x18000, 0x8000, CRC(e412300c) SHA1(382d0cfa47abea295f0c7501bc0a010473e9d73b))
|
ROM_LOAD("f14_u21.l1", 0x18000, 0x8000, CRC(e412300c) SHA1(382d0cfa47abea295f0c7501bc0a010473e9d73b))
|
||||||
ROM_LOAD("f14_u22.l1", 0x10000, 0x8000, CRC(c9dd7496) SHA1(de3cb855d87033274cc912578b02d1593d2d69f9))
|
ROM_LOAD("f14_u22.l1", 0x10000, 0x8000, CRC(c9dd7496) SHA1(de3cb855d87033274cc912578b02d1593d2d69f9))
|
||||||
|
|
||||||
ROM_REGION(0x30000, "bgcpu", ROMREGION_ERASEFF)
|
ROM_REGION(0x80000, "bgcpu", ROMREGION_ERASEFF)
|
||||||
ROM_LOAD("f14_u4.l1", 0x10000, 0x8000, CRC(43ecaabf) SHA1(64b50dbff03cd556130d0cff47b951fdf37d397d))
|
ROM_LOAD("f14_u4.l1", 0x00000, 0x8000, CRC(43ecaabf) SHA1(64b50dbff03cd556130d0cff47b951fdf37d397d))
|
||||||
ROM_LOAD("f14_u19.l1", 0x18000, 0x8000, CRC(d0de4a7c) SHA1(46ecd5786653add47751cc56b38d9db7c4622377))
|
ROM_RELOAD(0x08000,0x8000)
|
||||||
|
ROM_RELOAD(0x10000,0x8000)
|
||||||
|
ROM_RELOAD(0x18000,0x8000)
|
||||||
|
ROM_LOAD("f14_u19.l1", 0x20000, 0x8000, CRC(d0de4a7c) SHA1(46ecd5786653add47751cc56b38d9db7c4622377))
|
||||||
|
ROM_RELOAD(0x28000,0x8000)
|
||||||
|
ROM_RELOAD(0x30000,0x8000)
|
||||||
|
ROM_RELOAD(0x38000,0x8000)
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
ROM_START(f14_l1)
|
ROM_START(f14_l1)
|
||||||
@ -352,9 +339,15 @@ ROM_START(f14_l1)
|
|||||||
ROM_LOAD("f14_u21.l1", 0x18000, 0x8000, CRC(e412300c) SHA1(382d0cfa47abea295f0c7501bc0a010473e9d73b))
|
ROM_LOAD("f14_u21.l1", 0x18000, 0x8000, CRC(e412300c) SHA1(382d0cfa47abea295f0c7501bc0a010473e9d73b))
|
||||||
ROM_LOAD("f14_u22.l1", 0x10000, 0x8000, CRC(c9dd7496) SHA1(de3cb855d87033274cc912578b02d1593d2d69f9))
|
ROM_LOAD("f14_u22.l1", 0x10000, 0x8000, CRC(c9dd7496) SHA1(de3cb855d87033274cc912578b02d1593d2d69f9))
|
||||||
|
|
||||||
ROM_REGION(0x30000, "bgcpu", ROMREGION_ERASEFF)
|
ROM_REGION(0x80000, "bgcpu", ROMREGION_ERASEFF)
|
||||||
ROM_LOAD("f14_u4.l1", 0x10000, 0x8000, CRC(43ecaabf) SHA1(64b50dbff03cd556130d0cff47b951fdf37d397d))
|
ROM_LOAD("f14_u4.l1", 0x00000, 0x8000, CRC(43ecaabf) SHA1(64b50dbff03cd556130d0cff47b951fdf37d397d))
|
||||||
ROM_LOAD("f14_u19.l1", 0x18000, 0x8000, CRC(d0de4a7c) SHA1(46ecd5786653add47751cc56b38d9db7c4622377))
|
ROM_RELOAD(0x08000,0x8000)
|
||||||
|
ROM_RELOAD(0x10000,0x8000)
|
||||||
|
ROM_RELOAD(0x18000,0x8000)
|
||||||
|
ROM_LOAD("f14_u19.l1", 0x20000, 0x8000, CRC(d0de4a7c) SHA1(46ecd5786653add47751cc56b38d9db7c4622377))
|
||||||
|
ROM_RELOAD(0x28000,0x8000)
|
||||||
|
ROM_RELOAD(0x30000,0x8000)
|
||||||
|
ROM_RELOAD(0x38000,0x8000)
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
/*--------------------
|
/*--------------------
|
||||||
@ -369,8 +362,11 @@ ROM_START(fire_l3)
|
|||||||
ROM_LOAD("fire_u21.l2", 0x18000, 0x8000, CRC(2edde0a4) SHA1(de292a340a3a06b0b996fc69fee73eb7bbfbbe64))
|
ROM_LOAD("fire_u21.l2", 0x18000, 0x8000, CRC(2edde0a4) SHA1(de292a340a3a06b0b996fc69fee73eb7bbfbbe64))
|
||||||
ROM_LOAD("fire_u22.l2", 0x10000, 0x8000, CRC(16145c97) SHA1(523e99df3907a2c843c6e27df4d16799c4136a46))
|
ROM_LOAD("fire_u22.l2", 0x10000, 0x8000, CRC(16145c97) SHA1(523e99df3907a2c843c6e27df4d16799c4136a46))
|
||||||
|
|
||||||
ROM_REGION(0x30000, "bgcpu", ROMREGION_ERASEFF)
|
ROM_REGION(0x80000, "bgcpu", ROMREGION_ERASEFF)
|
||||||
ROM_LOAD("fire_u4.l1", 0x10000, 0x8000, CRC(0e058918) SHA1(4d6bf2290141119174787f8dd653c47ea4c73693))
|
ROM_LOAD("fire_u4.l1", 0x00000, 0x8000, CRC(0e058918) SHA1(4d6bf2290141119174787f8dd653c47ea4c73693))
|
||||||
|
ROM_RELOAD(0x08000,0x8000)
|
||||||
|
ROM_RELOAD(0x10000,0x8000)
|
||||||
|
ROM_RELOAD(0x18000,0x8000)
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
ROM_START(fire_l2)
|
ROM_START(fire_l2)
|
||||||
@ -382,8 +378,11 @@ ROM_START(fire_l2)
|
|||||||
ROM_LOAD("fire_u21.l2", 0x18000, 0x8000, CRC(2edde0a4) SHA1(de292a340a3a06b0b996fc69fee73eb7bbfbbe64))
|
ROM_LOAD("fire_u21.l2", 0x18000, 0x8000, CRC(2edde0a4) SHA1(de292a340a3a06b0b996fc69fee73eb7bbfbbe64))
|
||||||
ROM_LOAD("fire_u22.l2", 0x10000, 0x8000, CRC(16145c97) SHA1(523e99df3907a2c843c6e27df4d16799c4136a46))
|
ROM_LOAD("fire_u22.l2", 0x10000, 0x8000, CRC(16145c97) SHA1(523e99df3907a2c843c6e27df4d16799c4136a46))
|
||||||
|
|
||||||
ROM_REGION(0x30000, "bgcpu", ROMREGION_ERASEFF)
|
ROM_REGION(0x80000, "bgcpu", ROMREGION_ERASEFF)
|
||||||
ROM_LOAD("fire_u4.l1", 0x10000, 0x8000, CRC(0e058918) SHA1(4d6bf2290141119174787f8dd653c47ea4c73693))
|
ROM_LOAD("fire_u4.l1", 0x00000, 0x8000, CRC(0e058918) SHA1(4d6bf2290141119174787f8dd653c47ea4c73693))
|
||||||
|
ROM_RELOAD(0x08000,0x8000)
|
||||||
|
ROM_RELOAD(0x10000,0x8000)
|
||||||
|
ROM_RELOAD(0x18000,0x8000)
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
/*--------------------------------------
|
/*--------------------------------------
|
||||||
@ -402,9 +401,15 @@ ROM_START(milln_l3)
|
|||||||
ROM_LOAD("mill_u21.l1", 0x18000, 0x8000, CRC(4cd1ee90) SHA1(4e24b96138ced16eff9036303ca6347e3423dbfc))
|
ROM_LOAD("mill_u21.l1", 0x18000, 0x8000, CRC(4cd1ee90) SHA1(4e24b96138ced16eff9036303ca6347e3423dbfc))
|
||||||
ROM_LOAD("mill_u22.l1", 0x10000, 0x8000, CRC(73735cfc) SHA1(f74c873a20990263e0d6b35609fc51c08c9f8e31))
|
ROM_LOAD("mill_u22.l1", 0x10000, 0x8000, CRC(73735cfc) SHA1(f74c873a20990263e0d6b35609fc51c08c9f8e31))
|
||||||
|
|
||||||
ROM_REGION(0x30000, "bgcpu", ROMREGION_ERASEFF)
|
ROM_REGION(0x80000, "bgcpu", ROMREGION_ERASEFF)
|
||||||
ROM_LOAD("mill_u4.l1", 0x10000, 0x8000, CRC(cf766506) SHA1(a6e4df19a513102abbce2653d4f72245f54407b1))
|
ROM_LOAD("mill_u4.l1", 0x00000, 0x8000, CRC(cf766506) SHA1(a6e4df19a513102abbce2653d4f72245f54407b1))
|
||||||
ROM_LOAD("mill_u19.l1", 0x18000, 0x8000, CRC(e073245a) SHA1(cbaddde6bb19292ace574a8329e18c97c2ee9763))
|
ROM_RELOAD(0x08000,0x8000)
|
||||||
|
ROM_RELOAD(0x10000,0x8000)
|
||||||
|
ROM_RELOAD(0x18000,0x8000)
|
||||||
|
ROM_LOAD("mill_u19.l1", 0x20000, 0x8000, CRC(e073245a) SHA1(cbaddde6bb19292ace574a8329e18c97c2ee9763))
|
||||||
|
ROM_RELOAD(0x28000,0x8000)
|
||||||
|
ROM_RELOAD(0x30000,0x8000)
|
||||||
|
ROM_RELOAD(0x38000,0x8000)
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
/*--------------------
|
/*--------------------
|
||||||
@ -419,9 +424,15 @@ ROM_START(pb_l5)
|
|||||||
ROM_LOAD("pbot_u21.l1", 0x18000, 0x8000, CRC(3eab88d9) SHA1(667e3b675e2ae8fec6a6faddb9b0dd5531d64f8f))
|
ROM_LOAD("pbot_u21.l1", 0x18000, 0x8000, CRC(3eab88d9) SHA1(667e3b675e2ae8fec6a6faddb9b0dd5531d64f8f))
|
||||||
ROM_LOAD("pbot_u22.l1", 0x10000, 0x8000, CRC(a2d2c9cb) SHA1(46437dc54538f1626caf41a2818ddcf8000c44e4))
|
ROM_LOAD("pbot_u22.l1", 0x10000, 0x8000, CRC(a2d2c9cb) SHA1(46437dc54538f1626caf41a2818ddcf8000c44e4))
|
||||||
|
|
||||||
ROM_REGION(0x30000, "bgcpu", ROMREGION_ERASEFF)
|
ROM_REGION(0x80000, "bgcpu", ROMREGION_ERASEFF)
|
||||||
ROM_LOAD("pbot_u4.l1", 0x10000, 0x8000, CRC(de5926bd) SHA1(3d111e27c5f0c8c0afc5fe5cc45bf77c12b69228))
|
ROM_LOAD("pbot_u4.l1", 0x00000, 0x8000, CRC(de5926bd) SHA1(3d111e27c5f0c8c0afc5fe5cc45bf77c12b69228))
|
||||||
ROM_LOAD("pbot_u19.l1", 0x18000, 0x8000, CRC(40eb4e9f) SHA1(07b0557b35599a2dd5aa66a306fbbe8f50eed998))
|
ROM_RELOAD(0x08000,0x8000)
|
||||||
|
ROM_RELOAD(0x10000,0x8000)
|
||||||
|
ROM_RELOAD(0x18000,0x8000)
|
||||||
|
ROM_LOAD("pbot_u19.l1", 0x20000, 0x8000, CRC(40eb4e9f) SHA1(07b0557b35599a2dd5aa66a306fbbe8f50eed998))
|
||||||
|
ROM_RELOAD(0x28000,0x8000)
|
||||||
|
ROM_RELOAD(0x30000,0x8000)
|
||||||
|
ROM_RELOAD(0x38000,0x8000)
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
ROM_START(pb_l1)
|
ROM_START(pb_l1)
|
||||||
@ -433,9 +444,15 @@ ROM_START(pb_l1)
|
|||||||
ROM_LOAD("pbot_u21.l1", 0x18000, 0x8000, CRC(3eab88d9) SHA1(667e3b675e2ae8fec6a6faddb9b0dd5531d64f8f))
|
ROM_LOAD("pbot_u21.l1", 0x18000, 0x8000, CRC(3eab88d9) SHA1(667e3b675e2ae8fec6a6faddb9b0dd5531d64f8f))
|
||||||
ROM_LOAD("pbot_u22.l1", 0x10000, 0x8000, CRC(a2d2c9cb) SHA1(46437dc54538f1626caf41a2818ddcf8000c44e4))
|
ROM_LOAD("pbot_u22.l1", 0x10000, 0x8000, CRC(a2d2c9cb) SHA1(46437dc54538f1626caf41a2818ddcf8000c44e4))
|
||||||
|
|
||||||
ROM_REGION(0x30000, "bgcpu", ROMREGION_ERASEFF)
|
ROM_REGION(0x80000, "bgcpu", ROMREGION_ERASEFF)
|
||||||
ROM_LOAD("pbot_u4.l1", 0x10000, 0x8000, CRC(de5926bd) SHA1(3d111e27c5f0c8c0afc5fe5cc45bf77c12b69228))
|
ROM_LOAD("pbot_u4.l1", 0x00000, 0x8000, CRC(de5926bd) SHA1(3d111e27c5f0c8c0afc5fe5cc45bf77c12b69228))
|
||||||
ROM_LOAD("pbot_u19.l1", 0x18000, 0x8000, CRC(40eb4e9f) SHA1(07b0557b35599a2dd5aa66a306fbbe8f50eed998))
|
ROM_RELOAD(0x08000,0x8000)
|
||||||
|
ROM_RELOAD(0x10000,0x8000)
|
||||||
|
ROM_RELOAD(0x18000,0x8000)
|
||||||
|
ROM_LOAD("pbot_u19.l1", 0x20000, 0x8000, CRC(40eb4e9f) SHA1(07b0557b35599a2dd5aa66a306fbbe8f50eed998))
|
||||||
|
ROM_RELOAD(0x28000,0x8000)
|
||||||
|
ROM_RELOAD(0x30000,0x8000)
|
||||||
|
ROM_RELOAD(0x38000,0x8000)
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
ROM_START(pb_l2)
|
ROM_START(pb_l2)
|
||||||
@ -447,9 +464,15 @@ ROM_START(pb_l2)
|
|||||||
ROM_LOAD("pbot_u21.l1", 0x18000, 0x8000, CRC(3eab88d9) SHA1(667e3b675e2ae8fec6a6faddb9b0dd5531d64f8f))
|
ROM_LOAD("pbot_u21.l1", 0x18000, 0x8000, CRC(3eab88d9) SHA1(667e3b675e2ae8fec6a6faddb9b0dd5531d64f8f))
|
||||||
ROM_LOAD("pbot_u22.l1", 0x10000, 0x8000, CRC(a2d2c9cb) SHA1(46437dc54538f1626caf41a2818ddcf8000c44e4))
|
ROM_LOAD("pbot_u22.l1", 0x10000, 0x8000, CRC(a2d2c9cb) SHA1(46437dc54538f1626caf41a2818ddcf8000c44e4))
|
||||||
|
|
||||||
ROM_REGION(0x30000, "bgcpu", ROMREGION_ERASEFF)
|
ROM_REGION(0x80000, "bgcpu", ROMREGION_ERASEFF)
|
||||||
ROM_LOAD("pbot_u4.l1", 0x10000, 0x8000, CRC(de5926bd) SHA1(3d111e27c5f0c8c0afc5fe5cc45bf77c12b69228))
|
ROM_LOAD("pbot_u4.l1", 0x00000, 0x8000, CRC(de5926bd) SHA1(3d111e27c5f0c8c0afc5fe5cc45bf77c12b69228))
|
||||||
ROM_LOAD("pbot_u19.l1", 0x18000, 0x8000, CRC(40eb4e9f) SHA1(07b0557b35599a2dd5aa66a306fbbe8f50eed998))
|
ROM_RELOAD(0x08000,0x8000)
|
||||||
|
ROM_RELOAD(0x10000,0x8000)
|
||||||
|
ROM_RELOAD(0x18000,0x8000)
|
||||||
|
ROM_LOAD("pbot_u19.l1", 0x20000, 0x8000, CRC(40eb4e9f) SHA1(07b0557b35599a2dd5aa66a306fbbe8f50eed998))
|
||||||
|
ROM_RELOAD(0x28000,0x8000)
|
||||||
|
ROM_RELOAD(0x30000,0x8000)
|
||||||
|
ROM_RELOAD(0x38000,0x8000)
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
ROM_START(pb_l3)
|
ROM_START(pb_l3)
|
||||||
@ -461,9 +484,15 @@ ROM_START(pb_l3)
|
|||||||
ROM_LOAD("pbot_u21.l1", 0x18000, 0x8000, CRC(3eab88d9) SHA1(667e3b675e2ae8fec6a6faddb9b0dd5531d64f8f))
|
ROM_LOAD("pbot_u21.l1", 0x18000, 0x8000, CRC(3eab88d9) SHA1(667e3b675e2ae8fec6a6faddb9b0dd5531d64f8f))
|
||||||
ROM_LOAD("pbot_u22.l1", 0x10000, 0x8000, CRC(a2d2c9cb) SHA1(46437dc54538f1626caf41a2818ddcf8000c44e4))
|
ROM_LOAD("pbot_u22.l1", 0x10000, 0x8000, CRC(a2d2c9cb) SHA1(46437dc54538f1626caf41a2818ddcf8000c44e4))
|
||||||
|
|
||||||
ROM_REGION(0x30000, "bgcpu", ROMREGION_ERASEFF)
|
ROM_REGION(0x80000, "bgcpu", ROMREGION_ERASEFF)
|
||||||
ROM_LOAD("pbot_u4.l1", 0x10000, 0x8000, CRC(de5926bd) SHA1(3d111e27c5f0c8c0afc5fe5cc45bf77c12b69228))
|
ROM_LOAD("pbot_u4.l1", 0x00000, 0x8000, CRC(de5926bd) SHA1(3d111e27c5f0c8c0afc5fe5cc45bf77c12b69228))
|
||||||
ROM_LOAD("pbot_u19.l1", 0x18000, 0x8000, CRC(40eb4e9f) SHA1(07b0557b35599a2dd5aa66a306fbbe8f50eed998))
|
ROM_RELOAD(0x08000,0x8000)
|
||||||
|
ROM_RELOAD(0x10000,0x8000)
|
||||||
|
ROM_RELOAD(0x18000,0x8000)
|
||||||
|
ROM_LOAD("pbot_u19.l1", 0x20000, 0x8000, CRC(40eb4e9f) SHA1(07b0557b35599a2dd5aa66a306fbbe8f50eed998))
|
||||||
|
ROM_RELOAD(0x28000,0x8000)
|
||||||
|
ROM_RELOAD(0x30000,0x8000)
|
||||||
|
ROM_RELOAD(0x38000,0x8000)
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
ROM_START(pb_p4)
|
ROM_START(pb_p4)
|
||||||
@ -475,9 +504,15 @@ ROM_START(pb_p4)
|
|||||||
ROM_LOAD("pbot_u21.l1", 0x18000, 0x8000, CRC(3eab88d9) SHA1(667e3b675e2ae8fec6a6faddb9b0dd5531d64f8f))
|
ROM_LOAD("pbot_u21.l1", 0x18000, 0x8000, CRC(3eab88d9) SHA1(667e3b675e2ae8fec6a6faddb9b0dd5531d64f8f))
|
||||||
ROM_LOAD("pbot_u22.l1", 0x10000, 0x8000, CRC(a2d2c9cb) SHA1(46437dc54538f1626caf41a2818ddcf8000c44e4))
|
ROM_LOAD("pbot_u22.l1", 0x10000, 0x8000, CRC(a2d2c9cb) SHA1(46437dc54538f1626caf41a2818ddcf8000c44e4))
|
||||||
|
|
||||||
ROM_REGION(0x30000, "bgcpu", ROMREGION_ERASEFF)
|
ROM_REGION(0x80000, "bgcpu", ROMREGION_ERASEFF)
|
||||||
ROM_LOAD("pbot_u4.l1", 0x10000, 0x8000, CRC(de5926bd) SHA1(3d111e27c5f0c8c0afc5fe5cc45bf77c12b69228))
|
ROM_LOAD("pbot_u4.l1", 0x00000, 0x8000, CRC(de5926bd) SHA1(3d111e27c5f0c8c0afc5fe5cc45bf77c12b69228))
|
||||||
ROM_LOAD("pbot_u19.l1", 0x18000, 0x8000, CRC(40eb4e9f) SHA1(07b0557b35599a2dd5aa66a306fbbe8f50eed998))
|
ROM_RELOAD(0x08000,0x8000)
|
||||||
|
ROM_RELOAD(0x10000,0x8000)
|
||||||
|
ROM_RELOAD(0x18000,0x8000)
|
||||||
|
ROM_LOAD("pbot_u19.l1", 0x20000, 0x8000, CRC(40eb4e9f) SHA1(07b0557b35599a2dd5aa66a306fbbe8f50eed998))
|
||||||
|
ROM_RELOAD(0x28000,0x8000)
|
||||||
|
ROM_RELOAD(0x30000,0x8000)
|
||||||
|
ROM_RELOAD(0x38000,0x8000)
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
GAME(1987, f14_l1, 0, s11a, s11a, s11a_state, init_s11a, ROT0, "Williams", "F-14 Tomcat (L-1)", MACHINE_IS_SKELETON_MECHANICAL)
|
GAME(1987, f14_l1, 0, s11a, s11a, s11a_state, init_s11a, ROT0, "Williams", "F-14 Tomcat (L-1)", MACHINE_IS_SKELETON_MECHANICAL)
|
||||||
|
@ -305,6 +305,7 @@ void s11b_state::s11b(machine_config &config)
|
|||||||
PIA6821(config, m_pia34, 0);
|
PIA6821(config, m_pia34, 0);
|
||||||
m_pia34->writepa_handler().set(FUNC(s11b_state::pia34_pa_w));
|
m_pia34->writepa_handler().set(FUNC(s11b_state::pia34_pa_w));
|
||||||
m_pia34->writepb_handler().set(FUNC(s11_state::pia34_pb_w));
|
m_pia34->writepb_handler().set(FUNC(s11_state::pia34_pb_w));
|
||||||
|
m_pia34->ca2_handler().set(m_bg, FUNC(s11c_bg_device::resetq_w));
|
||||||
m_pia34->cb2_handler().set(FUNC(s11_state::pia34_cb2_w));
|
m_pia34->cb2_handler().set(FUNC(s11_state::pia34_cb2_w));
|
||||||
m_pia34->irqa_handler().set(m_piairq, FUNC(input_merger_device::in_w<11>));
|
m_pia34->irqa_handler().set(m_piairq, FUNC(input_merger_device::in_w<11>));
|
||||||
m_pia34->irqb_handler().set(m_piairq, FUNC(input_merger_device::in_w<12>));
|
m_pia34->irqb_handler().set(m_piairq, FUNC(input_merger_device::in_w<12>));
|
||||||
@ -337,7 +338,7 @@ void s11b_state::s11b(machine_config &config)
|
|||||||
|
|
||||||
/* Add the background music card */
|
/* Add the background music card */
|
||||||
SPEAKER(config, "bg").front_center();
|
SPEAKER(config, "bg").front_center();
|
||||||
S11C_BG(config, m_bg);
|
S11_BG(config, m_bg);
|
||||||
m_bg->pb_cb().set(m_pia34, FUNC(pia6821_device::portb_w));
|
m_bg->pb_cb().set(m_pia34, FUNC(pia6821_device::portb_w));
|
||||||
m_bg->cb2_cb().set(m_pia34, FUNC(pia6821_device::cb1_w));
|
m_bg->cb2_cb().set(m_pia34, FUNC(pia6821_device::cb1_w));
|
||||||
m_bg->set_romregion(m_bgcpu);
|
m_bg->set_romregion(m_bgcpu);
|
||||||
|
@ -190,6 +190,7 @@ void s11c_state::s11c(machine_config &config)
|
|||||||
PIA6821(config, m_pia34, 0);
|
PIA6821(config, m_pia34, 0);
|
||||||
m_pia34->writepa_handler().set(FUNC(s11b_state::pia34_pa_w));
|
m_pia34->writepa_handler().set(FUNC(s11b_state::pia34_pa_w));
|
||||||
m_pia34->writepb_handler().set(FUNC(s11b_state::pia34_pb_w));
|
m_pia34->writepb_handler().set(FUNC(s11b_state::pia34_pb_w));
|
||||||
|
m_pia34->ca2_handler().set(m_bg, FUNC(s11c_bg_device::resetq_w));
|
||||||
m_pia34->cb2_handler().set(FUNC(s11b_state::pia34_cb2_w));
|
m_pia34->cb2_handler().set(FUNC(s11b_state::pia34_cb2_w));
|
||||||
m_pia34->irqa_handler().set(m_piairq, FUNC(input_merger_device::in_w<11>));
|
m_pia34->irqa_handler().set(m_piairq, FUNC(input_merger_device::in_w<11>));
|
||||||
m_pia34->irqb_handler().set(m_piairq, FUNC(input_merger_device::in_w<12>));
|
m_pia34->irqb_handler().set(m_piairq, FUNC(input_merger_device::in_w<12>));
|
||||||
@ -207,8 +208,10 @@ void s11c_state::s11c(machine_config &config)
|
|||||||
m_bg->add_route(ALL_OUTPUTS, "speaker", 1.0);
|
m_bg->add_route(ALL_OUTPUTS, "speaker", 1.0);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Unless otherwise noted, assume jumpers W2/W3 are set so W2 is shorted, W3 open (U4 and U19 are 27512)
|
// Unless otherwise noted, assume S11 Background Sound Board jumpers W2/W3 are
|
||||||
// and (assuming the board has W10/W11) W10/W11 are set so W10 is shorted, W11 open (U20 is 27512)
|
// set so W2 is shorted, W3 open (U4 and U19 are 27512) and (assuming the board
|
||||||
|
// installed has jumpers W10/W11) W10/W11 are set so W10 is shorted, W11 open
|
||||||
|
// (U20 is 27512)
|
||||||
/*--------------------
|
/*--------------------
|
||||||
/ Bugs Bunny Birthday Ball 11/90
|
/ Bugs Bunny Birthday Ball 11/90
|
||||||
/--------------------*/
|
/--------------------*/
|
||||||
|
Loading…
Reference in New Issue
Block a user