s1

The goal of Effectus project is to make it compatible with Action! programming language as close as possible. Windows (i386-win32) and Linux version of the program are available. Linux version has some issues which will be fixed in next versions. On Windows platform, a program was compiled with Free Pascal Compiler version 2.6.0 (i386). Linux version was compiled with Free Pascal Compiler version 2.4.0-2 and tested on Ubuntu 8.10 Linux distribution.

examples\ folder includes some demonstration programs to show what Effectus currently is capable to do. The runtime library supports many features. Your programs, besides runtime.asm, include other libraries as needed. Maintaining the compatibily with Action! will be of HIGH priority. Note! The implementation of runtime library routines can be changed, but the number and order of parameters should not be changed. This is one of the rules you must follow to successfully compile any Effectus program. Also, additional requirement for proper working of Effectus is having config.ini configuration file with proper settings in the same directory as the Effectus executable program, or alternatively, you can set all parameters from command line.

Effectus compiles and produces MADS assembly language source code and binary files for executing on real 8-bit Atari or software emulator. Version of MADS currently used and tested is 1.9.3. Source code can be further manually modified with the use of MADS for additional improvements. The restrictions mentioned above comply just to the stage when Effectus source code is compiling. You can set optional values for MADS and Effectus source code and binary code folder, program starting address, extensions, etc. in config.ini file or by using parameters in the console.

I have to thank the author of MADS, Tebe, who helped me with many important suggestions to improve the code. Thanks go also to Cosi, ascrnet, w1k, Kaz, ascrnet, dwhyte, devwebcl, twh/f2, TXG/MNX and others from AtariAge and atarionline.pl forums for the help and to my friend Sandor, who provided me with new domain name for Effectus, atari-effectus.net.

Special thanks go to Cosi, ascrnet and w1k for additional help with testing the program and finding bugs, AtariAge and Kaz's atarionline.pl forum topics discussing the project:
- http://www.atariage.com/forums/topic/112501-effectus-new-atari-cross-compiler-alpha-stage/page__st__25
- (http://atarionline.pl/forum/comments.php?DiscussionID=207&page=1#Item_0)

You are welcome to check Effectus forum to discuss its functionality or anything else!

The name Effectus comes from Latin word for "execution".


Features
(in some cases limited functionality)

Supported Action! procedures and functions

Click here for brief list of supported Action! commands!


Supported Action! global system variables

color, device


Add-on Action! procedures

Asm - This command allows you to directly write assembly language code as part of the the final MADS assembly language program


Rules (and current restrictions)

- Every command (statement) must be on separate line, except TYPE declaration, FOR and WHILE loops
- ARRAY declaration is adviced to be of type INT or CARD, because BYTE values are not handled properly yet
- PROCs and FUNCs parameters are limited to only one type
- Conditions are limited to one type (AND or OR)


Effectus release files and directories


License

This program is open source with source code available under terms that allow for modification and redistribution without having to pay me for using it. Only restriction is that you are not allowed to sell it to anyone or anywhere. I only ask you if you use the code for your own project, please don't use the name Effectus as the project name. All new findings, improvements and bug fixes are more than appreciated for including in this project. Thank you! The program is freeware.

Free Pascal (aka FPK Pascal)'s packages and runtime library come under a modified Library GNU Public License to allow the use of static libraries when creating applications. The compiler source itself comes under the GNU General Public License. The sources for both the compiler and runtime library are available; the complete compiler is written in Pascal.