

"Sounds great! But, how do you configure FPGAs?" Without a doubt there are other cool, interesting, and useful ways that FPGAs can be used to create fun and original gaming devices in the works and more waiting to be explored! Better yet, the reconfigurable nature of FPGAs means they can switch between different functions or possibly perform multiple functions at one time!

They have been used to create low-latency video upscalers or line multipliers that allow old, original hardware to be played on modern high-resolution displays in a way that not only looks great, but feels responsive. They have been used to create powerful flashcarts for consoles that support memory mappers, enhancement co-processors, or other on-cart logic.

They have been used to create one-to-one recreations of a variety classic gaming hardware, often adding new features or modern upgrades. What do FPGAs have to do with gaming?!"įPGAs provide incredible flexibility for digital electronics design and engineering, including gaming hardware. However, unlike ASICs, FPGAs are designed to be fully or partially reconfigurable, making FPGAs a kind of digital electronics 'shapeshifter' with the ability to change design and functionality via reconfiguration. FPGAs, like application-specific integrated circuits (ASICs), are typically designed and customized to perform a variety of specific, often complex tasks. So it might be not worth implementing this at the Arm side.A field-programmable gate array (FPGA) is an integrated circuit (IC or 'chip') that is designed to be configured after manufacturing. And I might perfectly understand that the use of special controllers or peripherals is very limited. I do agree that is not such a big deal anyway. If you limit the connections at the core level, you won't be able to "emulate" any of those peripherals. But there were many other peripherals that connected to the joystick ports that didn't have such limitation. The standard joystick were the old, regular, 2600 style joysticks that can't never assert opposite switches at the same time. But, as I said, ideally it shouldn't be done at the core level because the platform hardware doesn't really have such limitation, only the joysticks did. Of course that it's not too difficult to implement this at the core. I've made implementation preventing diagonal events in some arcades - it's not that hard and completely independent. MiSTer already provides good enough and independent from implementation flexibility of input. It's easy to implement inside the core and don't move this specific thing to ARM. Some arcades with joysticks using + in the case preventing diagonal move, but it's limited by few arcades. Sorgelig wrote:This is very specific to the core. But only the core knows if joysticks might allow two switches simultaneously (diagonal movement) as long as they are not on the opposite directions, or if only one switch at a time is expected to be asserted. Only the app knows what kind of controller is currently connected and the app also receives all the events, press and release, while the core just receives a "state". Ideally it might need some cooperation between the core and the MiSTer app. The limitation was on the regular old joysticks that would never assert two switches in opposite directions. But I am bit reluctant to implement this at the core level since the hardware logic does allow it, and it was even used sometimes (e.g, some primitive protection dongles). It is of course possible to prevent the conflict at the core.
MISTER RETRO REGISTRATION SOFTWARE
Some software might get confused if conflicting switches are asserted. Have been implemented something like that? It might be a good idea. Sorgelig wrote:I have idea to add menu option preventing simultaneous button presses to improve game experience.
