Yes, the patch should be applied in Linux and then the new file compiled to windows. Just wait a few days and with the new version the windows one also will be there.
Worth mentioning is an android port of fusion, spectacol, which hopefully will also provide compatibility of the keyboard with tv boxes, tablets and mobile phones..
So if I want to use Fuse with it I need to have Linux?
No. At the download page there are also links for win32 binaries. Just download the file named fuse-x.x.x.win32.zip or *win32-setup.exe and run it as a normal windows file
I tried using various versions and even found the patch file they were talking about that adds support for the keyboard but could not get it to work. I could get Fuse installed easily but could not figure out how to apply the patch. The file ended in .patch or something. Is that a Linux thing? Anyway, I could not get the keyboard to work with Fuse. I am not sure what I am doing wrong.
Heh, the Windows download links were there all along. Sourceforge layout has always confused me. :)
The patch contains the changes to the source code, which you're supposed to apply, then rebuild the whole thing. If you're not a software engineer you won't have a clue. As I said, custom builds are non trivial. I know Linux, but I have no idea how to do it on Windows.
I think you need to wait for all this to shake out and the RZXS patch to work its way into the main FUSE builds. Rest assured it will do what you're hoping when it gets there. :)
@Klepto, are you able to test that Windows Fuse build? 2 keys don't work for me, but it could be my virtual machine based set up. Another test would be useful.
* Am having internet problems. I was barely able to post this. They are not coming to fix it until Monday either. I have been trying to download the beta version and the web site keeps timing out. It is probably due to my barely functional internet.
Simplifying somewhat, Fuse for Linux has two user interface modes. The "GTK" one is for regular desktop use, much like the Windows one. It does not appear to support full screen, although you can make the window 3x larger.
The "SDL" mode doesn't have the features of GTK mode (eg. no external menu in the window) but it does have full screen mode. I've always assumed "SDL" mode is for arcade cabinets and other such dedicated environments.
I always use the windowed mode. I appreciate it ruins the immersive experience, but since I have multiple monitors that's never going to be totally convincing anyway. :)
Worth mentioning is an android port of fusion, spectacol, which hopefully will also provide compatibility of the keyboard with tv boxes, tablets and mobile phones..
Sorry, to bring this up again, but does this have support for the Recreated ZX Spectrum yet or not? Are there any other Android emulators that do? As far as I know the only Windows emulator to support the keyboard is Fuse, which is a shame.
Worth mentioning is an android port of fusion, spectacol, which hopefully will also provide compatibility of the keyboard with tv boxes, tablets and mobile phones..
Sorry, to bring this up again, but does this have support for the Recreated ZX Spectrum yet or not? Are there any other Android emulators that do? As far as I know the only Windows emulator to support the keyboard is Fuse, which is a shame.
Currently working on a Spud implementation as well, got to say the Recreated keyboard layout is a pile of crude...
Worth mentioning is an android port of fusion, spectacol, which hopefully will also provide compatibility of the keyboard with tv boxes, tablets and mobile phones..
Sorry, to bring this up again, but does this have support for the Recreated ZX Spectrum yet or not? Are there any other Android emulators that do? As far as I know the only Windows emulator to support the keyboard is Fuse, which is a shame.
Currently working on a Spud implementation as well, got to say the Recreated keyboard layout is a pile of crude...
I am no programmer but it sounds to me like they made it as awkward to use as possible, so that users have to use their online crappy emulator thing, which of course did not work out. At least physically it seems to be well made. I am grateful that we do have talented coders in the Spectrum scene to try and work this out.
I am no programmer but it sounds to me like they made it as awkward to use as possible, so that users have to use their online crappy emulator thing, which of course did not work out.
Far more likely they used the cheapest off-the-shelf components they could find that are just a pain to use, and spent as little as possible on the development of the firmware for them.
I am no programmer but it sounds to me like they made it as awkward to use as possible, so that users have to use their online crappy emulator thing, which of course did not work out.
Far more likely they used the cheapest off-the-shelf components they could find that are just a pain to use, and spent as little as possible on the development of the firmware for them.
I am no programmer but it sounds to me like they made it as awkward to use as possible, so that users have to use their online crappy emulator thing, which of course did not work out.
Far more likely they used the cheapest off-the-shelf components they could find that are just a pain to use, and spent as little as possible on the development of the firmware for them.
You got that right!!!!!
What's a problem you're seeing? It looks perfectly reasonable to me. Pressing a key generates an input event, and releasing it generates a different event. Thus the client software can tell when a key goes down and back up again. All keys produce 2 different events for press and release. I can't think off the top of my head how it could be made any simpler.
I see no reason to criticise the RZXS hardware. That's the bit of their project they go absolutely spot on IMHO.
Worth mentioning is an android port of fusion, spectacol...
Sorry, to bring this up again, but does this have support for the Recreated ZX Spectrum yet or not?
Not yet, but since it is a port of fuse it will support it once the official fuse compatible version comes out, which should happen any time now, and an upgrade released. I talked about spectacol since it requires minimum programming from its developer. Other emulators would require more work to be compatible.
I am no programmer but it sounds to me like they made it as awkward to use as possible, so that users have to use their online crappy emulator thing, which of course did not work out.
Far more likely they used the cheapest off-the-shelf components they could find that are just a pain to use, and spent as little as possible on the development of the firmware for them.
You got that right!!!!!
You got that wrong.
Normally a Bluetooth keyboard only reports pressed keys, it doesn't report if the key is still pressed or when it's released. This is not enough for playing games. Elite's workaround was reporting the correct code for each key pressed, and reporting a different unused symbol for each key released. Therefore emulators supporting this keyboard must understand these symbols and handle them accordingly.
I have criticized Elite for lots of problems in this project. This is not one of them.
I am no programmer but it sounds to me like they made it as awkward to use as possible, so that users have to use their online crappy emulator thing, which of course did not work out.
Far more likely they used the cheapest off-the-shelf components they could find that are just a pain to use, and spent as little as possible on the development of the firmware for them.
You got that right!!!!!
You got that wrong.
Normally a Bluetooth keyboard only reports pressed keys, it doesn't report if the key is still pressed or when it's released. This is not enough for playing games. Elite's workaround was reporting the correct code for each key pressed, and reporting a different unused symbol for each key released. Therefore emulators supporting this keyboard must understand these symbols and handle them accordingly.
I have criticized Elite for lots of problems in this project. This is not one of them.
For anyone who plays around with Arduinos, or likes a to do a little hardware tinkering in general, I've been working on a semi hardware solution, you can read about at http://zx81keyboardadventure.blogspot.com/2016/10/arduino-liberates-recreated-zx-spectrum.html. All that is needed is an Arduino Leonardo and a USB host shield to get this up and running quickly. The project is ongoing, but all the necessities are working right now.
This provides a PC Windows / Linux / Raspberry Pi option and the Recreated Spectrum keyboard works pretty perfectly with what I've posted so far. This is not a solution for Bluetooth however.
Having read several pages of your blog, I feel I must be being dumb. You don't actually seem to state what your gadget actually does or why I should want it. You use vague statements like "Rip out the internals, grab an Adruino or other micro-controller and retrofit for purpose" or "...it's the emulator 'layer' that has usage issues." The best statement of intent I think I found was "Come up with an external hardware solution to adjust the key codes sent back to the host computer." Even your post here just says "'I've been working on a semi hardware solution." Solution to what?
Sorry, I don't mean to be obtuse, but could you state what problem you're going about solving?
I wanted to use the Elite keyboard in Emulators and as a PS2 keyboard. The keyboard does not work with Emulators correctly without a) either being directly supported by an emulator; Only Fuse supports the Keyboard at the moment. b) Some other external solution.
This is a external device that dosen't rely on Emulator support, and suited my needs and requirements to use the Recreated Spectrum to its fullest. The blog posts are simply there to help anybody else do the same should they wish to.
Being Arduino / Micro controller based, the device, if you can call it that is 3 parts hardware and 1 part software. The software when loaded / compiled onto a Leonardo and USB shield acts as a keyboard controller.
Simply, plug the computer into the Arduino Leonardo, plug the keyboard into the USB host shield (which is mounted on top of the Leonardo). Then use the Recreated Spectrum Keyboard as either a PS2 device or mode switch it to emulation mode using the hot keys "CAPS SHIFT" + "SYMBOL SHIFT" + "ENTER".
All keys will now work as intended in all Spectrum Emulators without needing any direct support for the Keyboard.
At it's most basic design (as it is now) all the required parts can be bought for next to nothing from Chinese sellers on Ebay, put together in 5 minutes. (Or a bit longer if you've never played around with Ardunios before).
So the problem is that the "normal" keyboard mode of the RZXS (mode "B") ostensibly generates all the right keyboard codes to work with any application, including an emulator, but in practice doesn't. It generates codes which work with PC applications, but it doesn't generate the weirder codes which the Spectrum needs - like what happens when you press CAPS and SYM Shift together. Thus a Windows text editor application would work, but a Spectrum emulator application nearly-will-but-won't. Additionally, while the RZXS mode "A" generates a complete set of key-down and key-up events, they are unique to the device and understood by nothing except Fuse at the moment.
Your solution is to put an Arduino device in the physical keyboard path and have it capture those unique mode "B" key events and translate them, on the fly, into key press signals which a Spectrum emulator application would understand.
Worth mentioning is an android port of fusion, spectacol, which hopefully will also provide compatibility of the keyboard with tv boxes, tablets and mobile phones..
Sorry, to bring this up again, but does this have support for the Recreated ZX Spectrum yet or not? Are there any other Android emulators that do? As far as I know the only Windows emulator to support the keyboard is Fuse, which is a shame.
Yeh, and Android is 60 Hz which completely ruins emulated UK computers, jerky scrolling.
Your solution is to put an Arduino device in the physical keyboard path and have it capture those unique mode "B" key events and translate them, on the fly, into key press signals which a Spectrum emulator application would understand.
Got it, thanks. :)
Exactly, except it's capturing and interpreting from Mode "A". Strangely it's Mode "B" that doesn't present the full range of key presses required.
Comments
Great. Thanks for your help.
Heh, the Windows download links were there all along. Sourceforge layout has always confused me. :)
The patch contains the changes to the source code, which you're supposed to apply, then rebuild the whole thing. If you're not a software engineer you won't have a clue. As I said, custom builds are non trivial. I know Linux, but I have no idea how to do it on Windows.
I think you need to wait for all this to shake out and the RZXS patch to work its way into the main FUSE builds. Rest assured it will do what you're hoping when it gets there. :)
https://sourceforge.net/p/fuse-emulator/patches/358/
* Am having internet problems. I was barely able to post this. They are not coming to fix it until Monday either. I have been trying to download the beta version and the web site keeps timing out. It is probably due to my barely functional internet.
Thank you for testing. Unfortunately, Fuse for Windows doesn't support (yet) full-screen.
That is a shame, it kind of ruins the experience. Does Fuse for Linux support full screen?
The "SDL" mode doesn't have the features of GTK mode (eg. no external menu in the window) but it does have full screen mode. I've always assumed "SDL" mode is for arcade cabinets and other such dedicated environments.
I always use the windowed mode. I appreciate it ruins the immersive experience, but since I have multiple monitors that's never going to be totally convincing anyway. :)
Sorry, to bring this up again, but does this have support for the Recreated ZX Spectrum yet or not? Are there any other Android emulators that do? As far as I know the only Windows emulator to support the keyboard is Fuse, which is a shame.
I am no programmer but it sounds to me like they made it as awkward to use as possible, so that users have to use their online crappy emulator thing, which of course did not work out. At least physically it seems to be well made. I am grateful that we do have talented coders in the Spectrum scene to try and work this out.
Far more likely they used the cheapest off-the-shelf components they could find that are just a pain to use, and spent as little as possible on the development of the firmware for them.
What's a problem you're seeing? It looks perfectly reasonable to me. Pressing a key generates an input event, and releasing it generates a different event. Thus the client software can tell when a key goes down and back up again. All keys produce 2 different events for press and release. I can't think off the top of my head how it could be made any simpler.
I see no reason to criticise the RZXS hardware. That's the bit of their project they go absolutely spot on IMHO.
Not yet, but since it is a port of fuse it will support it once the official fuse compatible version comes out, which should happen any time now, and an upgrade released. I talked about spectacol since it requires minimum programming from its developer. Other emulators would require more work to be compatible.
You got that wrong.
Normally a Bluetooth keyboard only reports pressed keys, it doesn't report if the key is still pressed or when it's released. This is not enough for playing games. Elite's workaround was reporting the correct code for each key pressed, and reporting a different unused symbol for each key released. Therefore emulators supporting this keyboard must understand these symbols and handle them accordingly.
I have criticized Elite for lots of problems in this project. This is not one of them.
I'm damned sure there was a better solution.
This provides a PC Windows / Linux / Raspberry Pi option and the Recreated Spectrum keyboard works pretty perfectly with what I've posted so far. This is not a solution for Bluetooth however.
Sorry, I don't mean to be obtuse, but could you state what problem you're going about solving?
This is a external device that dosen't rely on Emulator support, and suited my needs and requirements to use the Recreated Spectrum to its fullest. The blog posts are simply there to help anybody else do the same should they wish to.
Being Arduino / Micro controller based, the device, if you can call it that is 3 parts hardware and 1 part software. The software when loaded / compiled onto a Leonardo and USB shield acts as a keyboard controller.
Simply, plug the computer into the Arduino Leonardo, plug the keyboard into the USB host shield (which is mounted on top of the Leonardo). Then use the Recreated Spectrum Keyboard as either a PS2 device or mode switch it to emulation mode using the hot keys "CAPS SHIFT" + "SYMBOL SHIFT" + "ENTER".
All keys will now work as intended in all Spectrum Emulators without needing any direct support for the Keyboard.
At it's most basic design (as it is now) all the required parts can be bought for next to nothing from Chinese sellers on Ebay, put together in 5 minutes. (Or a bit longer if you've never played around with Ardunios before).
So the problem is that the "normal" keyboard mode of the RZXS (mode "B") ostensibly generates all the right keyboard codes to work with any application, including an emulator, but in practice doesn't. It generates codes which work with PC applications, but it doesn't generate the weirder codes which the Spectrum needs - like what happens when you press CAPS and SYM Shift together. Thus a Windows text editor application would work, but a Spectrum emulator application nearly-will-but-won't. Additionally, while the RZXS mode "A" generates a complete set of key-down and key-up events, they are unique to the device and understood by nothing except Fuse at the moment.
Your solution is to put an Arduino device in the physical keyboard path and have it capture those unique mode "B" key events and translate them, on the fly, into key press signals which a Spectrum emulator application would understand.
Got it, thanks. :)
Yeh, and Android is 60 Hz which completely ruins emulated UK computers, jerky scrolling.
Exactly, except it's capturing and interpreting from Mode "A". Strangely it's Mode "B" that doesn't present the full range of key presses required.
I've uploaded a video of it in action:
https://www.amazon.co.uk/The-Recreated-Sinclair-ZX-Spectrum/dp/B00SXCJYYA/ref=aag_m_pw_dp?ie=UTF8&m=A25WPMOCMNBNW8
Compare
https://www.amazon.co.uk/gp/offer-listing/B00SXCJYYA/ref=sr_1_1_olp?s=videogames&ie=UTF8&qid=1475740248&sr=1-1&keywords=the+recreated+spectrum