- --
Viewing Issue Advanced Details
ID | Category [?] | Severity [?] | Reproducibility | Date Submitted | Last Update |
---|---|---|---|---|---|
08160 | DIP/Input | Trivial | N/A | Dec 21, 2021, 06:08 | Jan 1, 2022, 20:11 |
Tester | GoldS_TCRF | View Status | Public | Platform | MAME (Official Binary) |
Assigned To | Steve Coomber | Resolution | Fixed | OS | Windows 10/11 (64-bit) |
Status [?] | Resolved | Driver | |||
Version | 0.238 | Fixed in Version | 0.240 | Build | 64-bit |
Fixed in Git Commit | 4d89e7c | Github Pull Request # | #9040 | ||
Summary | 08160: sbm, sbmj: Dip switch information for both the US and JP sets. | ||||
Description |
The following text details dip switch information for both the US and JP sets. (Both sets) Dip Switches 2-3 + 2-4 Modifies the power of the player's punch by a set amount. Table is at 0x0A614: DIP 00: 0000 ;+00 DIP 01: FFFB ;-05 DIP 10: 0005 :+05 DIP 11: 000A :+10 For example, if the player had an initial power of 200t and Dip Switches 2-3 and 2-4 were both set, the power would be increased to 210t. This bonus (or penalty) is applied before the game floors the punch power at 1t and before it caps the punch power at 300t. So, if in MAME, you hold Pad Photosensors 1 and 2 and then immediately hit Pad Photosensor 3, you'll still get a punch power of 300t even if Dip Switch 2-3 was set and Dip Switch 2-4 wasn't. Just for reference, the initial power of the player's punch is calculated by taking 24000 and dividing it by the timer at 105048 in RAM. This is performed in the subroutine at 0x0A5B0 in the main CPU. (JP set only) Dip Switches 1-3 + 1-4 This is labelled as "Coinage", but this is actually Coin A in the JP set. Because both the US and JP sets are using the same input data, the values are also incorrect. The correct coinage for the JP set is as follows: 00: 1 Coin/ 1 Credit 01: 1 Coin/ 2 Credits 10: 2 Coins/1 Credit 11: 3 Coins/1 Credit Dip Switches 1-5 + 1-6 This is the coinage for Coin B. Exact same settings as Coin A. (US set only - These are all related to how the game awards tickets) Dip Switch 1-1 When flipped, disables the ticket feature altogether. Dip Switch 1-2 When flipped, disables the round completion ticket bonus. Dip Switches 2-5 + 2-6 Controls the power divider. The game calculates the base ticket total by taking the total power of the player's three punches and then dividing it by one of four values in the table at 0x7FFC0: DIP 00: 50 DIP 01: 40 DIP 10: 80 DIP 11: 120 For example, if the player got a combined total of 640t power and dip switch 2-6 was set but 2-5 was not, they'll have a base of 8 tickets. Dip Switches 2-7 + 2-8 Controls the value of the round completion ticket bonus. Each round has its own ticket table: The first value is for 00, the second is for 01, third for 10, fourth for 11: 7FFC8: 0001 0002 0003 0002 #ROUND 1 BONUS TABLE - 01 / 02 / 03 / 02 7FFD0: 0002 0004 0004 0004 #ROUND 2 BONUS TABLE - 02 / 04 / 04 / 04 7FFD8: 0003 0006 0005 0008 #ROUND 3 BONUS TABLE - 03 / 06 / 05 / 08 7FFE0: 0004 0008 0006 0010 #ROUND 4 BONUS TABLE - 04 / 08 / 06 / 16 7FFE8: 0005 000A 0007 0020 #ROUND 5 BONUS TABLE - 05 / 10 / 07 / 32 For example, if the player beat round 4 and dip switch 2-7 was set but 2-8 was not, they'd have a bonus of 8 tickets. |
||||
Steps To Reproduce | |||||
Additional Information | |||||
Github Commit | |||||
Flags | |||||
Regression Version | |||||
Affected Sets / Systems | sbm, sbmj | ||||
Attached Files
|
|||||
Relationships
There are no relationship linked to this issue. |
Notes
5
No.19584
Steve Coomber Tester
Dec 22, 2021, 16:04
|
Thanks for the detailed log. The coinage on the US set is actually on DIP switches 1-5 + 1-6. So for the JP set, did you mean Coin A is using 1-5 + 1-6 and Coin B is using 1-7 + 1-8 ? |
---|---|
No.19586
GoldS_TCRF Tester
Dec 23, 2021, 01:13
edited on: Dec 23, 2021, 01:14 |
Yes, the US set uses 1-5 + 1-6 for both Coin A and Coin B, while the JP set uses 1-5 + 1-6 for Coin A and 1-7 + 1-8 for Coin B. There's code at 0x083D6 that sets RAM address 104F30 to the combined value of 1-7 and 1-8 if the value of the dip switches was non-zero and was less than current Coinage (e.g. The game was set to 3 coins / 1 credit and, Dip Switch 1-8 was was set, 104F30 will be set to 2) and the game's region flag at 0x7FFFE was set to US (0x0002). The only subroutines that read RAM address 104F30 are at 0x08318 and 0x08338, but neither of them are called during the game. So dip switches 1-7 and 1-8 end up doing nothing in the US set. |
No.19587
Steve Coomber Tester
Dec 23, 2021, 12:09
|
Thanks GoldS_TCRF. I can confirm that the DIP switches behave as you have advised and I have put in a pull request to resolve this. |
No.19599
cuavas Administrator
Dec 25, 2021, 16:24
|
The change made six DIP switches disappear for sbmj and needed to be reverted. |
No.19600
Steve Coomber Tester
Dec 25, 2021, 19:51
|
Submitted another PR that makes the six unknown DIP switches visible |