The goal of Effectus project is to make it compatible with Action! programming language as close as possible. A program was compiled with Free Pascal Compiler version 2.6.4 on both Windows (i386-win32) and Linux platform. Linux version was compiled and tested by greblus.
examples\ folder includes some demonstration programs to show what Effectus currently is capable to do. The runtime library consists of several supporting libraries. Besides runtime.asm there are several others, implemented in your programs whenever needed. Maintaining the compatibily with Action! will be of HIGH priority. 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 in the same directory as the Effectus executable program.
Effectus compiles and produces MADS assembly language source code and binary files for executing on real 8-bit Atari or software emulator. Current version of MADS cross-compiler used is 1.9.8. Resulting source code can be further edited and modified by you depending on your needs. You can configure Effectus to set MADS and Effectus source code and binary code folder, program starting address, extensions, etc. by using config.ini file or typing parameters in the console.
I have to thank the author of MADS, Tebe, who helped me with many important
suggestions to improve the code. Special thanks also to other people (mainly from
AtariAge and atarionline.pl forums) for the additional help by testing and
finding bugs in Effectus, plus providing new test examples. They are:
greblus, Cosi, w1k, Kaz,
ascrnet, dwhyte, devwebcl, twh/f2,
TXG/MNX and all others not listed here.
AtariAge and Kaz's atarionline.pl forum topics discussing the project:
- AtariAge topic Effectus - New Atari cross-compiler (Alpha stage)
- Atarionline.pl topic Sztuczki w Action!
You are welcome to check Effectus forum to discuss its functionality or anything else!
The name Effectus comes from Latin word for quot;execution".
Features and limitations
Supported Action! procedures and functions
Click here for brief list of supported Action! commands!
Supported Action! global system variables
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
This program is free and open source 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.