You should read what the post says. It`s going to be ported, its not ported already >_<.
Here are the changes since 0.86 (couldn`t find any older), partly translated with a crappy web based translator.
0.92
-Fix in the prototype of functions that return a pointer
-unload_map optimized
-Added NULL check in bitmap_get
-Fixed support for fli/flc files
-Executables have icons again.
-Fixed crashes due to font unloads. Now if a font is unloaded while being used, text which uses it is deleted safely.
-Fixed SUBSTR function behaviour.
-Added the following functions:
CD_NUMTRACKS(cdnumber) – Returns the number of available tracks in the specified CD.
CD_CURRTRACK(cdnumber) – Returns the number of the current track.
-Added invalid parameters check in CD functions.
-Fixed shift right and shift left operations to support the different SIGNED/UNSIGNED data types.
-Reimplemented fixed point operations, improving performance and precision. This affects to commands such as ADVANCE and mode7 functions.
-Fixed ADVANCE function: sometimes, if the distance was less than 1 it didn't advance.
-Fixed and completed animated bitmaps support.
-Fixed screen refresh in operations that refresh blendops
-Fixed screen refresh when refreshing, loading or doing any operation over palettes.
-Some more fixes related to screen refresh.
-Fixed some operations related to fade.
-Fixed some critical errors and some functions which made the program crash now make use of the error return.
-Fixed return values of the GET_REAL_POINT function when the control point was not defined.
-Fixed lack of refresh when the size of a region is modified
-PUT_SCREEN does not make the program fall down if an unexisting map is used.
-Rewriten and fixed FILTER and BLUR functions.
-GRAYSCALE does not make the program crash when using a map with depth different from 16bpp.
-Added the MEMCMP function (pointer addr1, pointer addr2, int size) to compare memory areas. The function returns 0 if they are equal and any other value if they are different.
-Fixed initializations in instance_new and fixed instance_duplicate logic, which affected CLONE function and caused random crashes.
-Added the following commands to the debug window: KILLALL, WEAKUPALL, SLEEPALL, FREEZEALL.
-Fixed creation, erasing and moving of draw primitives. Sometimes appeared previously deleted draws and some draws were deleted when they should not.
0.89d
-Fixed the blend substractive formula.
-Fixed functions MKDIR and CD.
-Fixed Alt+W in debug mode when the program goes fullscreen using the variable full_screen.
-Fixed the maps rotation and scalation.
-Now when you press Alt+X in debug mode, you exit immediately.
0.89b
-Fixed the prototyping of Processes/Functions.
-Several corrections in the scroll mechanism.
-Function "move_scroll()" enabled.
-Fixed the file opening in Windows Vista.
0.89a
-Fixed the compilation of pointers to structures.
-Fix when in debug's console you want to show: IDProcess.Variable[ Index ]
-Fixed some aesthetic aspects in debug's console (help colores and other things), that were eliminated by error.
0.89
-Fixed and fully functional the stub scheme.
-There is no limit now to the size of png loading and saving.
-Fixed a bug when saving strings in files.
-New debug's console variable : "FILES" that shows the number of open files in use.
-New identifier "DECLARE" that let us declare prototypes of Functions/Processes with their variables, before using them.
0.88d
-Them are not necessary, but for a matter of clarity: LOAD_FPL UNLOAD_FGC UNLOAD_FBM
-You can change the size of debug's console using : CONSOLE_LINES and CONSOLE_COLUMNS.
-Now the debug's console freezes all fenix processing and updating.
-The instruction "DEBUG;" freezes inmediatly the program execution, there is no wait to the next frame.
-The message "Failed to open message file: msg/en.msg" was eliminated
0.88a
-Added to the debug's console, support to variable assignment to the remaining data types, except POINTER, STRUCT, ARRAY.
-The strings in debug's console can use double quotes ( " ), or simple quotes ( ' )
-The name of the scale filters Constants have been changed to:
SCALE_NONE - Deactivates the scale.
SCALE_SCALE2X - Actual scale filter 2x (Also you can activate it using the flag in the variable "graph_mode" like allways or using variable SCALE_MODE = SCALE_NONE)
SCALE_HQ2X - 2x scale with hq2x filter (better quality, less performance)
SCALE_SCANLINE2X - 2x scale with scanline filter
SCALE_NORMAL2X or SCALE_NOFILTER - 2x scale without filter
0.88
-Fixed the bug about graphics flickering caused by problems in the change of the Z in version 0.87e.
-Eliminated the use of MessageBox because critical errors with the interpreter (fxi) in Windows; caused by problems with the last SDL version. Now the output goes to stderr.txt.
-New Scale Filters : scale2x, hq2x, scanline2x, normal2x
-To support this there is a new global variable named "scale_mode",
The simple set of this variable realizes the scale.
The possible values are :
SCALE_NOFILTER - Deactivates the scale.
SCALE_SCALE2X - Actual scale filter 2x (Also you can activate it using the flag in the variable "graph_mode" like allways)
SCALE_HQ2X - 2x scale with hq2x filter (better quality, less performance)
SCALE_SCANLINE2X - 2x scale with scanline filter
SCALE_NORMAL2X - 2x scale without filter
NOTE: If scale is activated (setting the new variable or using the flag in "graph_mode"), you can change the filters changing the new variable without the need to use set_mode.
-Support up to 32 joysticks (deppending on OS)
-To the known functions, there has been added the next ones:
GET_JOY_BUTTON(joystick, buttom)
GET_JOY_POSITION(joystick, axis)
JOY_BUTTONS(joystick)
JOY_AXES(joystick)
0.87e
-Fixed an error related to priority in processes introduced in Fenix 0.84b (less priority value caused the process to execute earlier)
-Now, if Z changes, the process is taken into account in the next redraw.
-Enabled scale2x in MAC and Linux-PPC
-Fixed an error in mode 7 initialization when starting an already used mode7
-Changed configure.in to include X11 lib when it is available.
-Added MMX support but disabled for causing less performance to the standar with no MMX and crashes in the process for no apparent reason.
0.87d
-New Function : RESERVE_CHANNELS(NChannels)
Where NChannels is the number of channels to reserve (From 0)
Returns the amount of reserved channels ( -1 if Error)
-Fix in destroy_instances that makes that when you kill a son process with sons; They (the sons), don't relate good with his "new" big brother.
-Fix some debug messages and fatal errors.
-Some things were moved and ubicated in his correct place.
-Now the debug console can be invokated in the next frame using the statement "DEBUG" in to the source code.
-Now the console can block any process.
-Add new debug commands.
-There is a new console variable DEBUG that lets you enable and disable the debug's log.
0.87c
-The whole instance elimination system was rewritten, due to bad reconstruction in the structures. Some more bugs in the instances module.
-Signals are active in the same frame.
-These constants were added:
OS_BSD
STATUS_DEAD
STATUS_KILLED
STATUS_RUNNING
STATUS_SLEEPING
STATUS_FROZEN
STATUS_WAITING
-Fixed a bug in map/fpg download.
-Modification and fixes for debugging options.
0.87b
-2 new functions added:
PLAY_WAV(wav pointer, number of loops (-1 infinite loops)[, channel (-1 any channel)])
GET_TIMER(), returns a timer counter with millisecond precision.
-Fixed function move_window.
0.87a
-File cleaning.
0.87
-Now debug compilation is back again.
0.86g
-Rewrite of the fix to the strings freeing in the return of a function call.
-Dcb structure change was undone, but now that some optional info is saved, the dcb number was changed.
-Now freeing supports strings, string array and STRUCTS with strings.
0.86f
-Fix in freeing of strings using local functions(not instances).
-New version of dcb with storing of private variable type (arguments included).
-Unneeded code of public variables in local functions was eliminated.
-Now static strings are loaded from the dcb with a use counter at 0 and with reserved flag, so that they are now discarded(something very internal).
0.86e
-Fix of the order of code instructions (sysprocs.h, temporary change). It failed earlier on when DLLs with many functions were loaded.
-In Compile_varspace, the paramaters collision1 and collision2 were removed, the collision was added as an array, so it becomes possible to include X spaces of collision.
-The idea of "public" (local) variables per process. This makes it so that local variables for a single specific process can be defined and not for all the processes.
-Declaration LOCAL, PUBLIC and you DEPRIVE YOU, in any order inside a Process and inside the body of the program.
-Name of process is incorporated like type of data. This serves for referring to public variables (and local), inside a process of a specific type. It is necessary to be able to use the new functionality of public variables. The type of data finally finishes being an "int" to maintain compatibility.
-Compatibility with global LOCALITIES is maintained. Common local variables for all processes can be defined and other localities by process.
-Functions prototypes redefinition in pathfind.c because of a conflict with functions in C
-Enable functions MMX in GNUC
-New format of dcb, it makes use of sizeof of the structures utilized (earlier on a very problematic added size was used) and is added the sections of public data.
-Some memory freement because of certain errors in runtime functions
-The configuration is normalised, it's corrected and a backup for the windows version is made
-Cleaning in compilation, the folder "obj" was added, where the binaries are compiled or and the binary are left in the folder "bin"
-More debug information
-a clausule PUBLICS is added in the debug console
-several improvements in the code
-Other smaller bugs, that at present I do not remember...
<0.86e
-Fix in the instruction code order(sysprocs.h, temporal change). Fix in the loading hangs of dlls with many functions.
-Compile_varspace, collision1 and collision2 parameters where eliminated, collision as array added, so that in this way you can include X collision spaces.
-Concept of "public" variables (locals) by process. This makes possible that you can define local variables for only a determined process and not for all the processes.
-LOCAL, PUBLIC and PRIVATE, in any order inside a process and into the program body.
-The process name is now incorporated as data type. This is used to reference public variables (and locals), within a process of specific type. It is necessary so that the new public variables functionality can be used. The data type finally ends being an "int" to keep compatibility.
-It is kept the compatibility with LOCAL global. there can be defined local variables common to all the processes and other locals by process.
-Prototype function redefinition in pathfind.c by conflict with C functions.
-Enabled MMX functions in GNUC.
-New dcb format, now sizeof is used in structures(before sizeof was made by hand and was very problematic), added public data sections.
-Some memory fixes added because of certain errors with runtime functions.
-configure updates and fixes, now it's got windows support.
-Compilation cleaning, obj folder added, where ".o" files are compiled and binaries are left in bin folder.
-More debug information.
-PUBLICS clausule added in debug console.