Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Shuttle Voyage and Thief in Garden Won't Start #13

Open
coolfox89 opened this issue Sep 21, 2023 · 13 comments
Open

Shuttle Voyage and Thief in Garden Won't Start #13

coolfox89 opened this issue Sep 21, 2023 · 13 comments
Labels
bug Something isn't working

Comments

@coolfox89
Copy link

Version (or build number)

0.2.0

Platform (Pocket or MiSTer)

MiSTer

Steps to reproduce

Shuttle Voyage and Thief in Garden won't start. I cannot get past the first screen. I attached short video clips of the problem I'm experiencing. This issue happens every time I boot up the games. I press buttons and nothing happens.

Shuttle.Voyage.MOV
Thief.in.Garden.MOV

Expected Behavior

I was expecting the games to start playing after pressing select just how other working games do.

Actual Behavior

The games are stuck on the start screen.

Additional Context

The games won't start and play.

@coolfox89 coolfox89 added the bug Something isn't working label Sep 21, 2023
@agg23
Copy link
Owner

agg23 commented Sep 21, 2023

Thanks for the report. I can confirm this. Interestingly enough, this was one of the ROMs I had available for testing, so apparently I just missed it.

I probably know the general issue, but am unsure how to fix it. I'll have to look into it.

@coolfox89
Copy link
Author

Okay, let me know if you find a fix for these two games.

@espiox
Copy link

espiox commented Oct 8, 2023

I'm seeing this on Pocket too. Not sure if this is related, but these are the two games that have a built-in calculator.

@agg23
Copy link
Owner

agg23 commented Oct 8, 2023

these are the two games that have a built-in calculator.

Oh... I should have checked this. I have no way of supporting the keypad, so those GnW titles that use it are not supported.

@espiox
Copy link

espiox commented Oct 8, 2023

As far as I know the keypad part isn’t actually needed to play the game, can those buttons just be ignored/excluded? Testing in MAME, the only buttons needed to play the game are MODE (to start), then Up, Down and Forward/A. Right now it's cycling the hours as if the up button is stuck down for some reason.

@agg23
Copy link
Owner

agg23 commented Oct 8, 2023

The up button is on a input line that is marked "FAKE" in MAME. I don't know what it does, and therefore my tools don't know what it does. It is most likely failing for that reason. This "FAKE" line is only used in two hardware configurations: Shuttle Voyage, and a SM511 Star Trek game.

@espiox
Copy link

espiox commented Oct 8, 2023

I at least got the game to start by mapping a button as “select” in the manifest.json. Now when I boot it, I can start by pressing the Left shoulder button a few times to cycle to Game A.

@aminch
Copy link

aminch commented Jan 13, 2024

The LCD emulator that was made for the Nintendo Mario/Zelda Game and Watch devices supports Shuttle Voyage, perhaps you can uncover what the FAKE part is in mame from their implementation?

https://github.com/bzhxx/game-and-watch-retro-go

@espiox
Copy link

espiox commented Jan 23, 2024

I finally sat down and looked into it and got both of these games working. Here's how to set them up in the manifest.json, if anyone else needs that info:

    "trshutvoy": {
        "device": {
            "cpu": "sm510",
            "screen": {
                "type": "single",
                "width": 1496,
                "height": 1080
            }
        },
        "portMap": {
            "ports": [
                {
                    "type": "s",
                    "index": 0,
                    "bitmap": [
                        {
                            "action": "keypad",
                            "activeLow": false
                        },
                        {
                            "action": "keypad",
                            "activeLow": false
                        },
                        {
                            "action": "keypad",
                            "activeLow": false
                        },
                        {
                            "action": "keypad",
                            "activeLow": false
                        }
                    ]
                },
                {
                    "type": "s",
                    "index": 1,
                    "bitmap": [
                        {
                            "action": "keypad",
                            "activeLow": false
                        },
                        {
                            "action": "keypad",
                            "activeLow": false
                        },
                        {
                            "action": "keypad",
                            "activeLow": false
                        },
                        {
                            "action": "keypad",
                            "activeLow": false
                        }
                    ]
                },
                {
                    "type": "s",
                    "index": 2,
                    "bitmap": [
                        {
                            "action": "keypad",
                            "activeLow": false
                        },
                        {
                            "action": "keypad",
                            "activeLow": false
                        },
                        {
                            "action": "keypad",
                            "activeLow": false
                        },
                        {
                            "action": "keypad",
                            "activeLow": false
                        }
                    ]
                },
                {
                    "type": "s",
                    "index": 3,
                    "bitmap": [
                        {
                            "action": "keypad",
                            "activeLow": false
                        },
                        {
                            "action": "keypad",
                            "activeLow": false
                        },
                        {
                            "action": "keypad",
                            "activeLow": false
                        },
                        {
                            "action": "keypad",
                            "activeLow": false
                        }
                    ]
                },
                {
                    "type": "s",
                    "index": 4,
                    "bitmap": [
                        {
                            "action": "keypad",
                            "activeLow": false
                        },
                        {
                            "action": "keypad",
                            "activeLow": false
                        },
                        {
                            "action": "keypad",
                            "activeLow": false
                        },
                        {
                            "action": "unused",
                            "activeLow": false
                        }
                    ]
                },
                {
                    "type": "s",
                    "index": 6,
                    "bitmap": [
                        {
                            "action": "joyUp",
                            "activeLow": false
                        },
                        {
                            "action": "joyDown",
                            "activeLow": false
                        },
                        {
                            "action": "unused",
                            "activeLow": false
                        },
                        {
                            "action": "button2",
                            "activeLow": false
                        }
                    ]
                },
                {
                    "type": "s",
                    "index": 7,
                    "bitmap": [
                        {
                            "action": "start1",
                            "activeLow": false
                        },
                        null,
                        null,
                        null
                    ]
                },
                {
                    "type": "acl",
                    "bit": {
                        "action": "service1",
                        "activeLow": false
                    }
                },
                {
                    "type": "acl",
                    "bit": {
                        "action": "service2",
                        "activeLow": false
                    }
                }
            ]
        },
        "metadata": {
            "year": "1983",
            "company": "Tronica",
            "name": "Shuttle Voyage"
        },
        "rom": {
            "rom": "0019_238e",
            "romHash": "7bb5eb30d569901dce52d777bc01c0979e4afa06"
        }
    },
    "tigarden": {
        "device": {
            "cpu": "sm510",
            "screen": {
                "type": "single",
                "width": 1515,
                "height": 1080
            }
        },
        "portMap": {
            "ports": [
                {
                    "type": "s",
                    "index": 0,
                    "bitmap": [
                        {
                            "action": "keypad",
                            "activeLow": false
                        },
                        {
                            "action": "keypad",
                            "activeLow": false
                        },
                        {
                            "action": "keypad",
                            "activeLow": false
                        },
                        {
                            "action": "keypad",
                            "activeLow": false
                        }
                    ]
                },
                {
                    "type": "s",
                    "index": 1,
                    "bitmap": [
                        {
                            "action": "keypad",
                            "activeLow": false
                        },
                        {
                            "action": "keypad",
                            "activeLow": false
                        },
                        {
                            "action": "keypad",
                            "activeLow": false
                        },
                        {
                            "action": "keypad",
                            "activeLow": false
                        }
                    ]
                },
                {
                    "type": "s",
                    "index": 2,
                    "bitmap": [
                        {
                            "action": "keypad",
                            "activeLow": false
                        },
                        {
                            "action": "keypad",
                            "activeLow": false
                        },
                        {
                            "action": "keypad",
                            "activeLow": false
                        },
                        {
                            "action": "keypad",
                            "activeLow": false
                        }
                    ]
                },
                {
                    "type": "s",
                    "index": 3,
                    "bitmap": [
                        {
                            "action": "keypad",
                            "activeLow": false
                        },
                        {
                            "action": "keypad",
                            "activeLow": false
                        },
                        {
                            "action": "keypad",
                            "activeLow": false
                        },
                        {
                            "action": "keypad",
                            "activeLow": false
                        }
                    ]
                },
                {
                    "type": "s",
                    "index": 4,
                    "bitmap": [
                        {
                            "action": "keypad",
                            "activeLow": false
                        },
                        {
                            "action": "keypad",
                            "activeLow": false
                        },
                        {
                            "action": "keypad",
                            "activeLow": false
                        },
                        {
                            "action": "unused",
                            "activeLow": false
                        }
                    ]
                },
                {
                    "type": "s",
                    "index": 6,
                    "bitmap": [
                        {
                            "action": "joyUp",
                            "activeLow": false
                        },
                        {
                            "action": "joyDown",
                            "activeLow": false
                        },
                        {
                            "action": "unused",
                            "activeLow": false
                        },
                        {
                            "action": "button2",
                            "activeLow": false
                        }
                    ]
                },
                {
                    "type": "s",
                    "index": 7,
                    "bitmap": [
                        {
                            "action": "start1",
                            "activeLow": false
                        },
                        null,
                        null,
                        null
                    ]
                },
                {
                    "type": "acl",
                    "bit": {
                        "action": "service1",
                        "activeLow": false
                    }
                },
                {
                    "type": "acl",
                    "bit": {
                        "action": "service2",
                        "activeLow": false
                    }
                }
            ]
        },
        "metadata": {
            "year": "1983",
            "company": "Tronica",
            "name": "Thief in Garden"
        },
        "rom": {
            "rom": "0019_238e",
            "romHash": "7bb5eb30d569901dce52d777bc01c0979e4afa06"
        }
    },

@agg23
Copy link
Owner

agg23 commented Jan 23, 2024

What did you change, and how did you figure out how to fix it?

@espiox
Copy link

espiox commented Jan 23, 2024

I just did some trial and error with the controls in manifest.json and landed on these changes:

Changed this:

                    "type": "s",
                    "index": 6,
                    "bitmap": [
                        {
                            "action": "custom",
                            "activeLow": true
                        },

to

                    "type": "s",
                    "index": 6,
                    "bitmap": [
                        {
                            "action": "joyUp",
                            "activeLow": false
                        },

and this:

                {
                    "type": "s",
                    "index": 7,
                    "bitmap": [
                        {
                            "action": "keypad",
                            "activeLow": false
                        },
                        null,
                        null,
                        null
                    ]
                },
                {
                    "type": "acl",
                    "bit": {
                        "action": "volumeDown",
                        "activeLow": false
                    }
                },
                {
                    "type": "acl",
                    "bit": {
                        "action": "volumeDown",
                        "activeLow": false
                    }
                }

to

                {
                    "type": "s",
                    "index": 7,
                    "bitmap": [
                        {
                            "action": "start1",
                            "activeLow": false
                        },
                        null,
                        null,
                        null
                    ]
                },
                {
                    "type": "acl",
                    "bit": {
                        "action": "service1",
                        "activeLow": false
                    }
                },
                {
                    "type": "acl",
                    "bit": {
                        "action": "service2",
                        "activeLow": false
                    }
                }

(I also switched button1 to button2, but that was just personal preference.)

@agg23
Copy link
Owner

agg23 commented Jan 23, 2024

That's odd. I wonder how those correspond to the MAME GnW definitions.

@aminch
Copy link

aminch commented Jan 23, 2024

I built a new rom for Shuttle Voyage and I can confirm it works correctly, thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants