mirror of
https://github.com/holub/mame
synced 2025-10-07 01:16:22 +03:00
aces1.cpp: minor documentation update (nw)
This commit is contained in:
parent
4a602c8888
commit
a3fb983706
@ -1,7 +1,7 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:David Haywood
|
||||
/*
|
||||
Ace System 1 Hardware
|
||||
Ace System One Hardware
|
||||
Fruit Machines
|
||||
|
||||
skeleton driver!
|
||||
@ -14,9 +14,13 @@ lots of reads from 0xe000 at the start
|
||||
JPM style Reel MCU? Certainly reel data seems to be muxed together in a weird way
|
||||
|
||||
Hardware overview
|
||||
- Z80
|
||||
- Z80 (Z8400AB1)
|
||||
- 8 MHz XTAL
|
||||
- 3 x TMP8255
|
||||
- 2 x 8 dip-switches banks
|
||||
- 2 timed interrupts (IRQ and NMI) (can be reset)
|
||||
- AY8910 for sound
|
||||
- TC5517CPL-20
|
||||
|
||||
|
||||
- some of the roms appear to have been merged to larger files, or there are two versions of the board?
|
||||
@ -52,10 +56,7 @@ public:
|
||||
aces1_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_reel0(*this, "reel0"),
|
||||
m_reel1(*this, "reel1"),
|
||||
m_reel2(*this, "reel2"),
|
||||
m_reel3(*this, "reel3"),
|
||||
m_reel(*this, "reel%u", 0U),
|
||||
m_io_ports(*this, {"IO1", "IO2", "IO3", "IO4", "IO5", "IO6", "IO7", "IO8"}),
|
||||
m_lamps(*this, "lamp%u", 0U),
|
||||
m_digits(*this, "digit%u", 0U)
|
||||
@ -177,10 +178,10 @@ private:
|
||||
m_reel_phase[reel] = ((m_reel_phase[reel] + sense + 8) % 8);
|
||||
switch (reel)
|
||||
{
|
||||
case 0: m_reel0->update(phases[m_reel_phase[reel]]); break;
|
||||
case 1: m_reel1->update(phases[m_reel_phase[reel]]); break;
|
||||
case 2: m_reel2->update(phases[m_reel_phase[reel]]); break;
|
||||
case 3: m_reel3->update(phases[m_reel_phase[reel]]); break;
|
||||
case 0: m_reel[0]->update(phases[m_reel_phase[reel]]); break;
|
||||
case 1: m_reel[1]->update(phases[m_reel_phase[reel]]); break;
|
||||
case 2: m_reel[2]->update(phases[m_reel_phase[reel]]); break;
|
||||
case 3: m_reel[3]->update(phases[m_reel_phase[reel]]); break;
|
||||
}
|
||||
m_reel_clock[reel] = clock;
|
||||
if ( m_reel_phase[reel] % 4 ==0)
|
||||
@ -229,10 +230,7 @@ private:
|
||||
|
||||
// devices
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<stepper_device> m_reel0;
|
||||
required_device<stepper_device> m_reel1;
|
||||
required_device<stepper_device> m_reel2;
|
||||
required_device<stepper_device> m_reel3;
|
||||
required_device_array<stepper_device, 4> m_reel;
|
||||
required_ioport_array<8> m_io_ports;
|
||||
output_finder<128> m_lamps;
|
||||
output_finder<16> m_digits;
|
||||
@ -272,6 +270,14 @@ void aces1_state::machine_start()
|
||||
m_aces1_nmi_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(aces1_state::m_aces1_nmi_timer_callback),this), nullptr);
|
||||
m_digits.resolve();
|
||||
m_lamps.resolve();
|
||||
|
||||
save_item(NAME(m_input_strobe));
|
||||
save_item(NAME(m_lamp_strobe));
|
||||
save_item(NAME(m_led_strobe));
|
||||
save_item(NAME(m_reel_clock));
|
||||
save_item(NAME(m_reel_phase));
|
||||
save_item(NAME(m_reel_count));
|
||||
save_item(NAME(m_optic_pattern));
|
||||
}
|
||||
|
||||
void aces1_state::machine_reset()
|
||||
@ -446,7 +452,7 @@ INPUT_PORTS_END
|
||||
|
||||
MACHINE_CONFIG_START(aces1_state::aces1)
|
||||
|
||||
MCFG_DEVICE_ADD("maincpu", Z80, 4000000) /* ?? Mhz */
|
||||
MCFG_DEVICE_ADD(m_maincpu, Z80, XTAL(8'000'000) / 2 ) /* XTAL verified, divisor not */
|
||||
MCFG_DEVICE_PROGRAM_MAP(aces1_map)
|
||||
MCFG_DEVICE_IO_MAP(aces1_portmap)
|
||||
|
||||
@ -474,19 +480,19 @@ MACHINE_CONFIG_START(aces1_state::aces1)
|
||||
SPEAKER(config, "mono").front_center();
|
||||
|
||||
// 0xadf0 - Dips, Sound
|
||||
MCFG_DEVICE_ADD("aysnd", AY8910, 1500000) /* ?? MHz */
|
||||
MCFG_DEVICE_ADD("aysnd", AY8910, XTAL(8'000'000) / 8) /* XTAL verified, divisor not */
|
||||
MCFG_AY8910_PORT_A_READ_CB(IOPORT("DSWA"))
|
||||
MCFG_AY8910_PORT_B_READ_CB(IOPORT("DSWB"))
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
|
||||
|
||||
/* steppers */
|
||||
MCFG_STARPOINT_48STEP_ADD("reel0")
|
||||
MCFG_STARPOINT_48STEP_ADD(m_reel[0])
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(*this, aces1_state, reel0_optic_cb))
|
||||
MCFG_STARPOINT_48STEP_ADD("reel1")
|
||||
MCFG_STARPOINT_48STEP_ADD(m_reel[1])
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(*this, aces1_state, reel1_optic_cb))
|
||||
MCFG_STARPOINT_48STEP_ADD("reel2")
|
||||
MCFG_STARPOINT_48STEP_ADD(m_reel[2])
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(*this, aces1_state, reel2_optic_cb))
|
||||
MCFG_STARPOINT_48STEP_ADD("reel3")
|
||||
MCFG_STARPOINT_48STEP_ADD(m_reel[3])
|
||||
MCFG_STEPPER_OPTIC_CALLBACK(WRITELINE(*this, aces1_state, reel3_optic_cb))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
@ -845,7 +851,7 @@ ROM_START( ac1hideha )
|
||||
ROM_LOAD( "hh563p4r", 0x0000, 0x8000, CRC(c82aabb1) SHA1(6a94cbae10edc544117a6bc5849ac8c9ad80a333) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( ac1unk )
|
||||
ROM_START( ac1unk ) // System One, Race AGO182, (c) Race Electronics 1983
|
||||
ROM_REGION( 0x8000, "maincpu", 0 )
|
||||
ROM_LOAD( "system_one_prom1_2764.bin", 0x0000, 0x2000, CRC(ea532fe4) SHA1(8b77d9e8fad0cd022c8386c509ad2ecbc7032d90) )
|
||||
ROM_LOAD( "system_one_prom2_2764.bin", 0x2000, 0x2000, CRC(729599b7) SHA1(da9aedc50a281cb6626a4c03fc06e5dd62b4edd1) )
|
||||
|
Loading…
Reference in New Issue
Block a user