jotego / jtbin

Binary files for MiSTerFPGA, Pocket and other platforms
https://patreon.com/jotego
246 stars 69 forks source link

Street Fighter MRA base setting is wrong #290

Closed gyurco closed 2 years ago

gyurco commented 2 years ago

It should be 16, not 32 e.g.

diff --git a/mra/Street Fighter (US, set 1).mra b/mra/Street Fighter (US, set 1).mra
index d98a57e3..f87b7218 100644
--- a/mra/Street Fighter (US, set 1).mra        
+++ b/mra/Street Fighter (US, set 1).mra        
@@ -131,7 +131,7 @@
     <rom index="1">
         <part>00</part>
     </rom>
-    <switches page_id="1" page_name="Switches" base="32" default="FF,DF,F5,02">
+    <switches page_id="1" page_name="Switches" base="16" default="FF,DF,F5,02">
         <!-- DSW1 -->
         <dip name="Coin A" bits="0,2" ids="4/1,3/1,2/1,1/6,1/4,1/3,1/2,1/1"/>
         <dip name="Coin B" bits="3,5" ids="4/1,3/1,2/1,1/6,1/4,1/3,1/2,1/1"/>

Same for the alternatives.

atrac17 commented 2 years ago

It has four banks of dips (DSW 1 - 4). That would be 32? Unused dipswitches are removed. I don't see the issue?

    <switches page_id="1" page_name="Switches" base="32" default="FF,DF,F5,02">
        <!-- DSW1 -->
        <dip name="Coin A" bits="0,2" ids="4/1,3/1,2/1,1/6,1/4,1/3,1/2,1/1"/>
        <dip name="Coin B" bits="3,5" ids="4/1,3/1,2/1,1/6,1/4,1/3,1/2,1/1"/>
        <!-- DSW2 -->
        <dip name="Flip Screen" bits="8" ids="On,Off"/>
        <dip name="Attract Music" bits="9" ids="Off,On"/>
        <dip name="Speed" bits="12" ids="Slow,Normal"/>
        <dip name="Demo Sounds" bits="13" ids="On,Off"/>
        <dip name="Screen Stop" bits="14" ids="On,Off"/>
        <dip name="Service Mode" bits="15" ids="On,Off"/>
        <!-- DSW3 -->
        <dip name="Cont." bits="16,18" ids="None,1st Stage Max,2nd Stage Max,3rd Stage Max,4th Stage Max,5th Stage Max"/>
        <dip name="Time" bits="19,20" ids="250,150,100"/>
        <dip name="Difficulty" bits="21,22" ids="Very Difficult,Difficult,Easy,Normal"/>
        <!-- DSW4 -->
        <dip name="Buy-In" bits="23,25" ids="None,1st Stage Max,2nd Stage Max,3rd Stage Max,4th Stage Max,5th Stage Max"/>
        <dip name="Countries" bits="26" ids="4,2"/>
gyurco commented 2 years ago

The "base" setting is only for the MRA utility to apply appropriate shift to dip bits (MiST doesn't have separate DIP and STATUS words, so a subset of the STATUS bits are used for the DIPs). e.g. Coin A will be status[34:32] with base="32" and status[18:16] with base="16". Not relevant for MiSTer.

atrac17 commented 2 years ago

Okay, I'll fix it. That's not very clear; now I need to check any other MRA I've updated or written.