Many many thanks go to Georg Steger who
built the AROS
freetype2.library, diskfont.library and
aatext.exe for 68k AmigaOS binary
and made with his great work truetype font
usage possible (including AntiAliasing)
and helped me alot understand AROS to
compile without Linux
thanks of course to to the AROS Team that
develop a AmigaOS
Also thanks to the MOS Team who add fixes to
this libraries(maybe i forget some)
some c progs,some keymap files
support).texteditor and betterstring class
If you have questions or want help on AfA (I
like to get help)
don't hesitate to contact me under
AfA uses the same Licence Model as AROS.
Please note that you are using
AfA on your own risc. I will not be
responsible for any damage or data loss
caused by AfA to you.
Notice too the Copyright of the bitstream
Fonts Vera attached in this archive in fonts dir
++++++++++++++++++++ What is it ?
AfA OS is a way to use AROS source without
changes and compile them on every
AmigaOS based operating system.
What the hell is the reason of another OS ?
It is not dependent on Linux as a host
system. No AROS build system is needed.
So it can run and be build hosted on every
AmigaOS compatible system and
provides a compatible API to all systems.
The current project is developed under
AmiDevcpp (thanks to the Author for it), a windows Devcpp and
68k GCC 3.4 crosscompiler.
So currently it works on 68k systems
only.But maybe someone other do that for OS4 or MOS that coders
that want build for all Amiga Systems need
not stay on OS3.1 funcs or have much extra work
Because AfA runs hosted on AmigaOS, you can
continue to develop every closed source
AmigaOS by replacing various libraries with
the AROS libraries compliants.In MOS of course you need AFA libs
above listet not.
The host Amiga OS is with AFA degraded to do
things that MS-DOS was doing for Windows 3.11 - WinMe.
This way new API features introduced by AfA
can get a standard on all Amiga alike OSes.
And even more, it makes developing easy,
because only new started programs can use
the new library functions, depend on what
time ExpandLibrary() is called to check in the
new functions. So it is easy to check for
bugs/errors using testprograms,
but the rest of the system is using the old
It is easy to boot with or without the new
No original libraries in your LIBS:
directory need to be overwritten.
A left mousebutton hold during boot time
will prevent AfA to use the new libraries.
If this is too risky for you, you can start
AfA_OS_loader using the option MOUSESTART.
Then, the new libraries are only used when
you hold down the left mousebutton during boot
time. Or just start it later by
doubleclicking AfA_OS_Loader manually.
To be on the safe side, don't do a later
start when you defragment your harddrive or
do important diskoperations.
A later start has in theory a higher risc of
crashing the system.
++++++++++++++++++ I don't want to code,
read not much, bla bla - I want to use it!
For a complete list of the features, see the
- copy the dir AfA_OS_Libs to your sys:
Amigadrive Bootpartition.If you dont like it here
you can add too a assign AfA_OS: to your
directory where the AfA_OS_Libs are
- copy Libs:freetype2.library in your
- copy C:AfA_OS_Loader to your sys:fonts
- copy Fonts: to your sys:fonts directory.
If you want to have more fonts, use the Fonts
from AROS or MOS
- copy prefs: to your sys:prefs dir
To start it on boot time, insert
AfA_OS_Loader in your S:startup-sequence, short before IPrefs
It must be inserted after patching tools
like MCP or picasso96/cgx, because they patch the
AfA_OS Functions back.
If you start it with the parameter
MOUSESTART (must uppercase written), you must hold the
left mousebutton during boot time to load
the modules, instead of skipping them.
To see if all works well, start the
"TextBench" program found in this archive.
TTF antialiased speed is currently no
textrender record, it is not optimized,
see aatext source code, but I hope it is
fast enough to be usable even on a 060/50MHz.
WinUAE is not very fast on GFX actions.
On AMD64 3000+, 10 characters can be printed
about 7000 times per sec ( = 70 000 chars/sec).
Courier 15 text can be printed 9000 times
per sec ( = 90000 chars/sec).So aa and truetype is not much slower.
On both with larger text lines more
chars/sec are print
I am intrested to get 68k values of the
TextBench, please send them to me.
++++++++++++++++++ I want to code and help
to make more AROS libs available
Then download the AROS source code and AROS
includes. Put the AROS source code in
a directory called AROSsource and the
includes in AROSincludes. Start an existing project
(xxx.dev) in amidevcpp or look on the .dev
Here you see what settings are used and you
can create a makefile for your prefered compiler if you dont
want use amidev Cpp.If you find loading is
too slow of the projects then deactivate the class browser
for local and global include files.But
notice you get then less help on type completion.
Now save the existing project using "save
as" under the name of the new AROS lib you
want compile. For every AROS lib, you must
modify the libdefs_68k_afa.h to correct library names
and basetypes, and copy it to the sourcedir.
Sometimes, if you get compiler errors, you need
to add an include search path to the source
Now you can compile. See also
afa_os/include/aros/machine.h file the text.
Here you can choose if you want use AROS or
AmigaOS stubs, debug, log or something else.
Look also in the xxx_start.c files.Here is
the source code located, that is platform dependent
and initializing the library. Such a file
you must add for your library and the existing one must
The projects currently in need no
change-very less change in arossource. But if you find one
let me know or mail on AROS Mailinglist.
little changes are in graphics_init.c
gfxinit.This line you must remove now.
The rest of files you need are in the
archive.It is done that the first include search path search in the dir
afa_os/include and use if the file is found
here this file instead of arosinclude.
See also the include search order in amidev
projects.It is important that you dont change the order
another thing to understand is what the
AFA_system.library do.It hold in the positive lib space the preferences
struct which can acsess by prefs progs by
opening this lib.also it offers a pref load(filename)
and a prefs Save(filename) command.because
most lib have prefs setting this lib must start at first.
In future come in this libs all stuff and
funcs that is diffrent to AROS
Usefull funcs in arrossuport.c
sometimes you need wait that a module is
loaded.here AFA OS support WaitOpenLibrary.
This wait until a lib is load.There is the
ExpandLibrary command.this copy the funcs of a old library to new
libray with same name but with a lib
priority 1 above old.So this lib is then open by programs that start
You can choose pars for the lib pos size and
number of offsets the lib can have.
So every amigaos lib can grow as you like
New funcs are then set with the Macro
SETFUNC.Here you can choose which original functions you want replace
++++++++++++ Hm Whats that.Wy not use the
amiga library Format ???
Because the exe create the lib on runtime
you can easy develop no need to
copy libs to lib dir and reboot.Oh no it
dont boot,start from another partition change lib..
You can start another lib exe or add a
testprog in the libexe can single step this with garphical debugger
But a Limit is here.Amigaos have only 127
pri.You must reboot after 127 times the lib exe is start
Users have the advantage if see a problem of
a new program.They can easy boot by hold left
mousebutton and check fast if the problem
really come from AFA,remove modules and
hopefully write a report so that this can
fix soon and in the future that module can use