Skip to content
Lawrence Wu edited this page Sep 11, 2015 · 7 revisions

Arakula's Reverse Engineered Soarer's Converter (ARESC) is a confidential reverse engineered version of Soarer's famous PS/2/AT/XT signal Converter. It was created by Arakula on Deskthority after the long absence of Soarer made it pertinent to reverse engineer the binary to add more features.

Current Extra Features

  • It has compile flags for the Pro Micro and other ATMEL chips, and can be modified to support new platforms.
  • It can use the second LED on a Pro Micro clone to blink whenever a key stroke comes in from the keyboard.

Proposed Features

  • Fn Lock support. This way, you can either double tap it twice, or set it like num lock to change the layers for an extended period of time. Important for 60% keyboards without numpads or cursor keys.
  • Layer LEDs - For more than just Caps Lock LEDs.
  • NRF wireless module or Bluetooth EZkey.
  • ADB protocol support, for converting ADB keyboards. Though it might be better to work with the existing one from Hasu.

Possible Improvements

These improvements were proposed by Arakula. Basically, we want to migrate the core features of Soarer's Converter to other firmwares.

  • Add the core logic to Hasu's tmk build tree. That's basically a complete rewrite, which only mimics the following characteristics of the original:
    • use Soarer's USB device ID and protocol that handles transfer of EPROM data (e.g. Keyboard Matrix) and status information/updates from/to the PC
    • use that EPROM data to act on key information already processed by tmk
  • While using the rest (LUFA, PS/2 and/or matrix handling and translation to HID key codes) from tmk. This might take quite some time, but I think it's a safer route.
  • Another, probably better option is to use Xwhatit's IBM Capsense Controller as a base for Model M/XT/AT, which actually operates a matrix (which is what I really want), and has a GUI to configure it. Also it's GPLv3. It's easier to give it an extension that supports PS/2/AT signals than it is to do it the other way around.

Legal Implications

It is important to understand why proprietary software is such an evil: it forces everyone who touches it to abide by dictatorial confidentiality rules. Apparently, in Germany it is valid to reverse engineer binaries, but it may be illegal to share the source code. Since Soarer never made his source code open and is unable to speak further on this matter, we are forced to abide by his wishes and keep it closed-source.

I've discussed the OSS of the firmware a number of times with Soarer, and it has been clear that it was not yet his intention to open it, though it was likely a future option.
Decompiling his firmware, modifying and redistributing it is not a polite, nor particularly legal thing in many countries. I'd suggest that you retain your personal copy until such time as the source is actually released, and apply and then fork from there.
There are many dead binaries, as well as art and literature in the world which is covered by current copyright, and thus inaccessible legally. This is rationally for my own desire to see such laws changed - but as Soarer has only been away briefly, it really isn't relevant at all here, and for this reason I would instead ask that you respect his intentions for as long as possible. - dfj

Binary Patching

One method that ROM modders use to get around the poor design of software copyright law is to utilize binary patching. This way, you only distribute an xdelta, that the user applies to a legally obtained binary.

If you have changes that you very much need to share, then expressing them as a binary patch might be one option, depending on what license Soarer uses for the distribution of his binary.
If you can automate the process of generating such a patch from your sources, and a copy of Soarer's binary, then it might be viable for you to open your own source more easily as well - hopefully he would stop you quickly and provide some way to ease the pain.
- dfj

So thus, we can actually continue developing ARESC, but anyone we share it with must have a strict NDA, and our releases will only be xdeltas.

Chinese Wall Development

That said, Arakula adds another layer to the process, as is standard in reverse engineering teams: I have no knowledge of the actual source code, so I simply create an open-source GPLv3 drop-in replacement inspired from the source code he pieced together.

For extra safety, I will only support the new Teensy 3.0/LC. This is a better target since they are cheaper. And at least I have the benefit of a fresh start, unlike AVR programmers that are set in their ways.

Source

BA Logo

Bibliotheca Anonoma

Arakula's Reverse Engineered Soarer's Converter (ARESC)

Clone this wiki locally