- --
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
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. |
---|---|
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. |
No.22087
Robbbert Senior Tester
May 3, 2024, 11:11
|
Closed as requested. |