Skip to content

Commit

Permalink
barcrest: Refactored MPU4 machine configuration. [O. Galibert, James …
Browse files Browse the repository at this point in the history
…Wallace, AJR, Vas Crabb] (#10345)

* Added hopper support and DUART-based hoppers.
* Set YM crystal to match PCB.
* Fixed some Dutch reel/input setups so that sets boot
* Moved a some more sets to appropriate source files.
* Disable coin lock logic for now - it probably needs per-machine code.
* Removed an identical clone set - game clearly boots as 'Atlantis', not Triple Dice'.
* Fixed a few more reel setups.
* Allow m4madhse to boot based on AJR's research.
* Changed m4matdr to a 6-reel setup, allowing it to pass the reel check before encountering another error.
* Turned the reel templates into simple methods, and moved the config templates to where they're used.
* mpu4mod4yam.cpp: Split out YM2413 configuration from parent class, and hooked up the YM2413 using address maps.
* Confirmed that m4nnww2__hx5 is a bad dump.
* mpu4.cpp: Removed palette device from base class.
* Cleaned up some more, removing m_mod_number parameter, unnecessary headers and some unused configurations.
* mpu4.cpp: Continued moving methods down into derived classes.
* Set up reels/lamps/hoppers/LEDs as traits.
* Got m4luckwb to boot and moved it out of the "unsorted" file.
* machine/roc10937.cpp: Ignore transitions on SCLK while POC is active, and don't reset input line states on POC.
* Identified m4cbing sound chip, move it to new configuration, and made it boot.
* mpu4redpoint.cpp: Actually renamed the stuff in this driver.
* Improved m4blkgda ROM loading.
  • Loading branch information
cuavas committed Sep 27, 2022
1 parent 5e34011 commit 7d086ad
Show file tree
Hide file tree
Showing 23 changed files with 3,657 additions and 3,850 deletions.
10 changes: 7 additions & 3 deletions src/devices/machine/roc10937.cpp
Expand Up @@ -146,6 +146,10 @@ void rocvfd_device::device_start()
m_brightness = std::make_unique<output_finder<1> >(*this, "vfdduty%u", unsigned(m_port_val));
m_brightness->resolve();

m_sclk = 0;
m_data = 0;
m_por = 1;

save_item(NAME(m_cursor_pos));
save_item(NAME(m_window_size));
save_item(NAME(m_shift_count));
Expand All @@ -155,6 +159,7 @@ void rocvfd_device::device_start()
save_item(NAME(m_count));
save_item(NAME(m_sclk));
save_item(NAME(m_data));
save_item(NAME(m_por));
save_item(NAME(m_duty));
save_item(NAME(m_disp));
}
Expand All @@ -169,8 +174,6 @@ void rocvfd_device::device_reset()
m_count=0;
m_duty=31;
m_disp = 0;
m_sclk = 0;
m_data = 0;

std::fill(std::begin(m_chars), std::end(m_chars), 0);
std::fill(std::begin(*m_outputs), std::end(*m_outputs), 0);
Expand Down Expand Up @@ -214,6 +217,7 @@ WRITE_LINE_MEMBER( rocvfd_device::por )
{
reset();
}
m_por = state;
}


Expand All @@ -222,7 +226,7 @@ void rocvfd_device::shift_clock(int state)
if (m_sclk != state)
{
//Clock data on FALLING edge
if (!m_sclk)
if (!m_sclk && m_por)
{
m_shift_data <<= 1;

Expand Down
1 change: 1 addition & 0 deletions src/devices/machine/roc10937.h
Expand Up @@ -42,6 +42,7 @@ class rocvfd_device : public device_t
int m_duty;
int m_disp;
int m_sclk;
int m_por;
uint8_t m_cursor;
uint32_t m_chars[16];

Expand Down
1 change: 1 addition & 0 deletions src/mame/arcade.flt
Expand Up @@ -138,6 +138,7 @@ barcrest/mpu4mod2sw.cpp
barcrest/mpu4mod4oki.cpp
barcrest/mpu4mod4yam.cpp
barcrest/mpu4plasma.cpp
barcrest/mpu4redpoint.cpp
barcrest/mpu4union.cpp
barcrest/mpu4unsorted.cpp
barcrest/mpu4vid.cpp
Expand Down

0 comments on commit 7d086ad

Please sign in to comment.