ElectroPortis for OSX 64bit

ElectroPortis for OSX: ElectroPortis (see ElectroPortis on GitHub) is a port/decompilation of the original ElectroPaint (ElectroPaint is a US trademark owned by Tristram Visual, a sole proprietorship operating in California (info@tristram.com, www.tristram.com)) to Windows32. The awsome work of decompilatian and adaption to windows has been done by Mark Laws.

About the 64bit port to OSX

The original decompiled source uses C as a kind of macro assembler. The code is hard to understand and is nearly impossible to distinguish pointers and data. So porting from 32bit to 64bit seemed nearly impossible.

The main idea of the port was to replace all floats with doubles, so that all offsets can be multiplied by 2. That sounds simple but it is not, since the code uses doubles at some places. I cleaned the source by hand while I tried figuring out what else to do. So the ep code is cleaned in structure by hand (if statements, blocks, some unused stack pointer assignments). I replaced all usage of 32bit registers to use 64bit regs, increased the mallocs, converted the shifts from 2 to 3 and float regs are no longer used. The conversions can be found in the source as I included the original lines as a comment when a line has been changed. To do this I wrote a parser/converter in Java that "understands" parts of the code.

What helped best while doing the conversion? Red wine.


VERSION 1.1: added multi-monitor support

LICENSE: you may freely distribute ElectroPortis as long as it is unchanged.

Binary only (1.1)

Source and Binary (1.1)