Viewing Issue Advanced Details
|ID||Category [?]||Severity [?]||Reproducibility||Date Submitted||Last Update|
|08663||Misc.||Minor||Always||Jun 16, 2023, 01:57||Jun 24, 2023, 22:32|
|Tester||Balthier||View Status||Public||Platform||MAME (Official Binary)|
|Assigned To||hap||Resolution||Fixed||OS||Windows 10/11 (64-bit)|
|Version||0.255||Fixed in Version||0.256||Build||64-bit|
|Fixed in Git Commit||c1ceb6e||Github Pull Request #|
|Summary||08663: All sets in namcos1.cpp: Coin counters increase at each boot up even though credits are not being added|
|Description||When running any game on the namcos1.cpp driver, the coin counters numbers in the machine's cfg file will increase by 3 on each start up even though credits are not being added by the user.|
|Steps To Reproduce||
1. run any game on the namcos1.cpp driver ( http://adb.arcadeitalia.net/lista_mame.php?game_sourcefile=namcos1.cpp ).
2. let the game run for a little bit, just don't add any credits.
3. exit the game, go to your cfg directory and examine the game's cfg file. The coin counter numbers should be at 3 now.
4. run the same game and repeat step 2.
5. repeat step 3, and the counters will now be at 6.
Here's the splatter.cfg as an example:
<?xml version="1.0"?> <!-- This file is autogenerated; comments and unknown tags will be stripped --> <mameconfig version="10"> <system name="splatter"> <counters> <coins index="0" number="3" /> <coins index="1" number="3" /> </counters> </system> </mameconfig>
Not all of the games add 3 credits to the counters at each start. A handful only add 1 or 2 (berabohm for example).
I traced this all the way back to mame 0.142 where it first started. 0.141 and prior are okay.
|Affected Sets / Systems||All sets in namcos1.cpp|
|There are no relationship linked to this issue.|
Jun 16, 2023, 08:00
Probably tri-state (high impedance) related in cpu/m6800/m6801.cpp.
I don't think this is right:
m_out_port_func(0, (m_port_data & m_port_ddr) | (m_port_ddr ^ 0xff), m_port_ddr);
and more likely should be something like:
m_out_port_func(0, (m_port_data & m_port_ddr) | (~m_port_ddr & m_tristate_port_func()), m_port_ddr);
Jun 16, 2023, 13:38
|The reason the output drive state is passed to the port output handler is so that whatever’s attached to it can so something special if necessary for lines that aren’t being driven. Adding an extra callback complicates the device and adds overhead for all users.|
Jun 16, 2023, 14:34
|Sure, I suppose it can be done that way.|
Jun 16, 2023, 15:26
edited on: Jun 16, 2023, 15:27
|That was fast, gentlemen. Thank you. I'll be rechecking this one on the next release in 2 weeks but I have faith that it is resolved for now.|
Jun 24, 2023, 19:47
|Fixed Git Commit link --> https://github.com/mamedev/mame/commit/c1ceb6e016763537c5109cc76fe5d1b4ae72fdb3|