Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
08854 Misc. Major Always Apr 13, 2024, 14:48 May 3, 2024, 11:11
Tester Headrush69 View Status Public Platform MAME (Official Binary)
Assigned To Resolution No change required OS Windows 10/11 (64-bit)
Status [?] Closed Driver
Version 0.258 Fixed in Version Build 64-bit
Fixed in Git Commit Github Pull Request #
Summary 08854: term2: Outputs stopped working
Description This is using the "windows" output style as needed by MAMEHooker and LEDBlinky.

Starting with version 0.258 outputs from rom term2 do not appear to work.
Version 0.257 works as expected.

Other roms (not variants of term2) with output support still work as expected.
Steps To Reproduce Start MAMEHooker or LEDBlinky to monitor the outputs from MAME. (Using windows outputs, not newer network method)
With a clean install of MAME 0.258 start term2 enabling windows outputs (mame.exe -output windows -window -v term2)
Additional Information Looking at the changelog for 0.258 I don't see any mention of changes to the midyunit driver, but comparing the source code of 0.257 and 0.258 there appears to be some significant changes (all related to outputs):

0.257 code (midyunit_m.cpp):

void midyunit_state::term2_sound_w(offs_t offset, uint16_t data)
{
/* Flash Lamp Output Data */
if ( ((data & 0x800) != 0x800) && ((data & 0x400) == 0x400 ) )
{
output().set_value("Left_Flash_1", data & 0x1);
output().set_value("Left_Flash_2", (data & 0x2) >> 1);
output().set_value("Left_Flash_3", (data & 0x4) >> 2);
output().set_value("Left_Flash_4", (data & 0x8) >> 3);
output().set_value("Right_Flash_1", (data & 0x10) >> 4);
output().set_value("Right_Flash_2", (data & 0x20) >> 5);
output().set_value("Right_Flash_3", (data & 0x40) >> 6);
output().set_value("Right_Flash_4", (data & 0x80) >> 7);
}

/* Gun Output Data */
if ( ((data & 0x800) == 0x800) && ((data & 0x400) != 0x400 ) )
{
output().set_value("Left_Gun_Recoil", data & 0x1);
output().set_value("Right_Gun_Recoil", (data & 0x2) >> 1);
output().set_value("Left_Gun_Green_Led", (~data & 0x20) >> 5);
output().set_value("Left_Gun_Red_Led", (~data & 0x10) >> 4);
output().set_value("Right_Gun_Green_Led", (~data & 0x80) >> 7);
output().set_value("Right_Gun_Red_Led", (~data & 0x40) >> 6);
}

=============================================
0.258 code (midyunit_m.cpp):

void midyunit_state::term2_sound_w(offs_t offset, uint16_t data)
{
/* Flash Lamp Output Data */
if ( ((data & 0x800) != 0x800) && ((data & 0x400) == 0x400 ) )
{
for (int i = 0; i < 4; i++)
m_left_flash[i] = BIT(data, i);
for (int i = 0; i < 4; i++)
m_right_flash[i] = BIT(data, i + 4);
}

/* Gun Output Data */
if ( ((data & 0x800) == 0x800) && ((data & 0x400) != 0x400 ) )
{
m_left_gun_recoil = BIT(data, 0);
m_right_gun_recoil = BIT(data, 1);
m_left_gun_green_led = BIT(~data, 5);
m_left_gun_red_led = BIT(~data, 4);
m_right_gun_green_led = BIT(~data, 7);
m_right_gun_red_led = BIT(~data, 6);
         }
...
void midyunit_state::machine_start()
{
m_left_flash.resolve();
m_right_flash.resolve();
m_left_gun_recoil.resolve();
m_right_gun_recoil.resolve();
m_left_gun_green_led.resolve();
m_left_gun_red_led.resolve();
m_right_gun_green_led.resolve();
m_right_gun_red_led.resolve();
}
Github Commit
Flags
Regression Version
Affected Sets / Systems term2
Attached Files
 
Relationships
There are no relationship linked to this issue.
Notes
3
User avatar
No.22084
Osso
Moderator
May 2, 2024, 17:06
Sorry, but using -output console the output is the same (apart that 0.257 output all the leds as 0 at start) between current GIT and 0.257 in a -str 60 run with precalibrated guns, so I don't know what could be going wrong.
User avatar
No.22086
Headrush69
Tester
May 3, 2024, 10:20
Osso you are correct.

It appears previous versions listed all the possible outputs on startup but since those code changes in 0.258, MAME doesn't display each output type until it's first occurrence in game.

This issue can be closed since it isn't really a bug. Thanks.
User avatar
No.22087
Robbbert
Senior Tester
May 3, 2024, 11:11
Closed as requested.