0ldsk00l / nestopia

Cross-platform Nestopia emulator core with a GUI
http://0ldsk00l.ca/nestopia
GNU General Public License v2.0
690 stars 167 forks source link

Way to force-connect devices to expansion ports #306

Open beyondlimits opened 5 years ago

beyondlimits commented 5 years ago

Study and Game 32-in-1 (sha1: 017e9d6f8c37c4842b29986f3217a85a4893e4a1) makes use of Subor keyboard, but neither Nestopia properly recognizes it nor there is a way to force it as input. Therefore I can't use the BASIC interpreter.

Older versions of Nestopia (Windows) allowed to connect various devices to expansion port from the main menu.

rdanbrook commented 5 years ago

When you say "neither Nestopia" which ports are you referring to? Legacy win32, cross-platform, libretro? I have done nothing to add this feature to the cross-platform of libretro ports; so are you saying the win32 one is broken when it previously worked?

beyondlimits commented 5 years ago

I'm currently on Linux. Previously I checked out Nestopia (was that 1.40?) on Windows and it had a lot of useful functions in main menu and configuration dialog.

https://github.com/0ldsk00l/nestopia/blob/426df65/source/win32/language/language.rc

Probably the feature got neglected during porting Nestopia to Linux.

I took a look into NstDatabase.xml and in fact that cart is registered on line 17821 (the crc and sha1 being the checksums of headerless files):

<game>
    <peripherals>
        <device type="suborkeyboard" />
    </peripherals>
    <cartridge system="Famicom" dump="unknown" crc="ABB2F974" sha1="C073CD6389E373CBB3433F81196ECE4D09C33BEF">
        <board mapper="39">
            <prg size="1024k" />
            <vram size="8k" />
            <wram size="8k" />
            <pad h="1" v="0" />
        </board>
    </cartridge>
</game>

Despite that, Nestopia doesn't seem to match the keyboard and still provides shortcut keys instead (F for fullscreen, F12 for reset etc.).

BTW, the mapper of that cart indicated by file header is 58.

rdanbrook commented 5 years ago

Yes, I need to figure out a way to implement keyboard input into the newer ports. I am thinking maybe a mode switch will be necessary: press a certain button to be in Subor keyboard mode, press it again to return to normal inputs.

rdanbrook commented 4 months ago

This is done since the input rewrite. Well, half done anyway. You can connect any device you want manually now, but the Subor keyboard isn't supported (yet).